@plusscommunities/pluss-core-app 8.0.0 → 8.0.1-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 (320) hide show
  1. package/dist/module/actions/FollowerActions.js +4 -4
  2. package/dist/module/actions/FollowerActions.js.map +1 -1
  3. package/dist/module/actions/MediaActions.js +1 -1
  4. package/dist/module/actions/MediaActions.js.map +1 -1
  5. package/dist/module/actions/ResidentActions.js +1 -1
  6. package/dist/module/actions/ResidentActions.js.map +1 -1
  7. package/dist/module/actions/UserActions.js +1 -1
  8. package/dist/module/actions/UserActions.js.map +1 -1
  9. package/dist/module/actions/UserSettingsActions.js +1 -1
  10. package/dist/module/actions/UserSettingsActions.js.map +1 -1
  11. package/dist/module/actions/index.js +5 -5
  12. package/dist/module/actions/index.js.map +1 -1
  13. package/dist/module/actions/types.js +16 -16
  14. package/dist/module/actions/types.js.map +1 -1
  15. package/dist/module/apis/analyticsActions.js +5 -5
  16. package/dist/module/apis/analyticsActions.js.map +1 -1
  17. package/dist/module/apis/contactActions.js +6 -6
  18. package/dist/module/apis/contactActions.js.map +1 -1
  19. package/dist/module/apis/eventActions.js +28 -28
  20. package/dist/module/apis/eventActions.js.map +1 -1
  21. package/dist/module/apis/fileActions.js +15 -15
  22. package/dist/module/apis/fileActions.js.map +1 -1
  23. package/dist/module/apis/followerActions.js +8 -8
  24. package/dist/module/apis/followerActions.js.map +1 -1
  25. package/dist/module/apis/index.js +12 -12
  26. package/dist/module/apis/index.js.map +1 -1
  27. package/dist/module/apis/notificationActions.js +17 -17
  28. package/dist/module/apis/notificationActions.js.map +1 -1
  29. package/dist/module/apis/profileActions.js +4 -4
  30. package/dist/module/apis/profileActions.js.map +1 -1
  31. package/dist/module/apis/reactionActions.js +15 -15
  32. package/dist/module/apis/reactionActions.js.map +1 -1
  33. package/dist/module/apis/settingActions.js +6 -6
  34. package/dist/module/apis/settingActions.js.map +1 -1
  35. package/dist/module/apis/stringActions.js +8 -8
  36. package/dist/module/apis/stringActions.js.map +1 -1
  37. package/dist/module/apis/typeActions.js +4 -4
  38. package/dist/module/apis/typeActions.js.map +1 -1
  39. package/dist/module/apis/userActions.js +8 -8
  40. package/dist/module/apis/userActions.js.map +1 -1
  41. package/dist/module/assets/icons/fontawesome/fa-brands-400.ttf +0 -0
  42. package/dist/module/assets/icons/fontawesome/fa-light-300.ttf +0 -0
  43. package/dist/module/assets/icons/fontawesome/fa-regular-400.ttf +0 -0
  44. package/dist/module/assets/icons/fontawesome/fa-solid-900.ttf +0 -0
  45. package/dist/module/assets/icons/fontawesome/fa-thin-100.ttf +0 -0
  46. package/dist/module/assets/icons/fontawesome/fa7-glyphmap.json +4205 -0
  47. package/dist/module/colours.js +26 -29
  48. package/dist/module/colours.js.map +1 -1
  49. package/dist/module/components/AddButton.js +8 -8
  50. package/dist/module/components/AddButton.js.map +1 -1
  51. package/dist/module/components/AddToCalendarButton.js +30 -29
  52. package/dist/module/components/AddToCalendarButton.js.map +1 -1
  53. package/dist/module/components/Attachment.js +10 -9
  54. package/dist/module/components/Attachment.js.map +1 -1
  55. package/dist/module/components/AudienceSelectorLauncher.js +11 -11
  56. package/dist/module/components/AudienceSelectorLauncher.js.map +1 -1
  57. package/dist/module/components/AudienceSelectorPage.js +45 -44
  58. package/dist/module/components/AudienceSelectorPage.js.map +1 -1
  59. package/dist/module/components/AutoOffsetImage.js +13 -13
  60. package/dist/module/components/AutoOffsetImage.js.map +1 -1
  61. package/dist/module/components/BackButton.js +10 -10
  62. package/dist/module/components/BackButton.js.map +1 -1
  63. package/dist/module/components/CalendarPopup.js +21 -21
  64. package/dist/module/components/CalendarPopup.js.map +1 -1
  65. package/dist/module/components/CategoryTabs.js +30 -29
  66. package/dist/module/components/CategoryTabs.js.map +1 -1
  67. package/dist/module/components/CommentReply.js +43 -37
  68. package/dist/module/components/CommentReply.js.map +1 -1
  69. package/dist/module/components/CommentSection.js +74 -74
  70. package/dist/module/components/CommentSection.js.map +1 -1
  71. package/dist/module/components/ConfirmPopup.js +21 -20
  72. package/dist/module/components/ConfirmPopup.js.map +1 -1
  73. package/dist/module/components/ConfirmationPopup.js +11 -11
  74. package/dist/module/components/ConfirmationPopup.js.map +1 -1
  75. package/dist/module/components/DocumentUploader.js +50 -50
  76. package/dist/module/components/DocumentUploader.js.map +1 -1
  77. package/dist/module/components/DropDownItem.js +14 -13
  78. package/dist/module/components/DropDownItem.js.map +1 -1
  79. package/dist/module/components/DropDownMenu.js +5 -5
  80. package/dist/module/components/DropDownMenu.js.map +1 -1
  81. package/dist/module/components/EmptyStateMain.js +10 -9
  82. package/dist/module/components/EmptyStateMain.js.map +1 -1
  83. package/dist/module/components/EmptyStateWidget.js +7 -6
  84. package/dist/module/components/EmptyStateWidget.js.map +1 -1
  85. package/dist/module/components/FontScaleButton.js +5 -4
  86. package/dist/module/components/FontScaleButton.js.map +1 -1
  87. package/dist/module/components/FontScalePopup.js +11 -10
  88. package/dist/module/components/FontScalePopup.js.map +1 -1
  89. package/dist/module/components/Forbidden.js +13 -13
  90. package/dist/module/components/Forbidden.js.map +1 -1
  91. package/dist/module/components/FormCard.js +4 -4
  92. package/dist/module/components/FormCard.js.map +1 -1
  93. package/dist/module/components/FormCardSection.js +20 -18
  94. package/dist/module/components/FormCardSection.js.map +1 -1
  95. package/dist/module/components/FormCardSectionOptionLauncher.js +13 -12
  96. package/dist/module/components/FormCardSectionOptionLauncher.js.map +1 -1
  97. package/dist/module/components/FormattedText.js +18 -16
  98. package/dist/module/components/FormattedText.js.map +1 -1
  99. package/dist/module/components/GenericInput.js +24 -21
  100. package/dist/module/components/GenericInput.js.map +1 -1
  101. package/dist/module/components/GenericInputSection.js +27 -26
  102. package/dist/module/components/GenericInputSection.js.map +1 -1
  103. package/dist/module/components/Header.js +70 -69
  104. package/dist/module/components/Header.js.map +1 -1
  105. package/dist/module/components/Icon.js +109 -0
  106. package/dist/module/components/Icon.js.map +1 -0
  107. package/dist/module/components/ImagePopup.js +211 -73
  108. package/dist/module/components/ImagePopup.js.map +1 -1
  109. package/dist/module/components/ImageUploadProgress.js +10 -9
  110. package/dist/module/components/ImageUploadProgress.js.map +1 -1
  111. package/dist/module/components/ImageUploader.js +116 -96
  112. package/dist/module/components/ImageUploader.js.map +1 -1
  113. package/dist/module/components/InlineButton.js +9 -8
  114. package/dist/module/components/InlineButton.js.map +1 -1
  115. package/dist/module/components/Input.js +28 -26
  116. package/dist/module/components/Input.js.map +1 -1
  117. package/dist/module/components/LoadingCircles.js +20 -20
  118. package/dist/module/components/LoadingCircles.js.map +1 -1
  119. package/dist/module/components/LoadingIndicator.js +11 -11
  120. package/dist/module/components/LoadingIndicator.js.map +1 -1
  121. package/dist/module/components/LoadingStateWidget.js +5 -5
  122. package/dist/module/components/LoadingStateWidget.js.map +1 -1
  123. package/dist/module/components/MediaPlayer.js +31 -31
  124. package/dist/module/components/MediaPlayer.js.map +1 -1
  125. package/dist/module/components/MiddlePopup.js +17 -11
  126. package/dist/module/components/MiddlePopup.js.map +1 -1
  127. package/dist/module/components/PDFPopup.js +52 -39
  128. package/dist/module/components/PDFPopup.js.map +1 -1
  129. package/dist/module/components/PlussChat.js +168 -149
  130. package/dist/module/components/PlussChat.js.map +1 -1
  131. package/dist/module/components/PlussChatMessage.js +42 -42
  132. package/dist/module/components/PlussChatMessage.js.map +1 -1
  133. package/dist/module/components/PlussChatTime.js +18 -17
  134. package/dist/module/components/PlussChatTime.js.map +1 -1
  135. package/dist/module/components/Popup.js +20 -19
  136. package/dist/module/components/Popup.js.map +1 -1
  137. package/dist/module/components/PopupMenu.js +15 -14
  138. package/dist/module/components/PopupMenu.js.map +1 -1
  139. package/dist/module/components/PositionedImage.js +20 -20
  140. package/dist/module/components/PositionedImage.js.map +1 -1
  141. package/dist/module/components/ProfilePic.js +10 -10
  142. package/dist/module/components/ProfilePic.js.map +1 -1
  143. package/dist/module/components/RadioButton.js +10 -9
  144. package/dist/module/components/RadioButton.js.map +1 -1
  145. package/dist/module/components/Reaction.js +18 -17
  146. package/dist/module/components/Reaction.js.map +1 -1
  147. package/dist/module/components/Reactions.js +7 -7
  148. package/dist/module/components/Reactions.js.map +1 -1
  149. package/dist/module/components/SharingTools.js +78 -43
  150. package/dist/module/components/SharingTools.js.map +1 -1
  151. package/dist/module/components/Spinner.js +5 -5
  152. package/dist/module/components/Spinner.js.map +1 -1
  153. package/dist/module/components/StickyFooter.js +6 -6
  154. package/dist/module/components/StickyFooter.js.map +1 -1
  155. package/dist/module/components/Text.js +57 -0
  156. package/dist/module/components/Text.js.map +1 -0
  157. package/dist/module/components/TickIcon.js +6 -6
  158. package/dist/module/components/TickIcon.js.map +1 -1
  159. package/dist/module/components/Toggle.js +10 -9
  160. package/dist/module/components/Toggle.js.map +1 -1
  161. package/dist/module/components/TouchableSearchBar.js +18 -17
  162. package/dist/module/components/TouchableSearchBar.js.map +1 -1
  163. package/dist/module/components/UserListPopup.js +20 -19
  164. package/dist/module/components/UserListPopup.js.map +1 -1
  165. package/dist/module/components/UserListing.js +41 -40
  166. package/dist/module/components/UserListing.js.map +1 -1
  167. package/dist/module/components/VideoPopup.js +20 -20
  168. package/dist/module/components/VideoPopup.js.map +1 -1
  169. package/dist/module/components/WarningPopup.js +21 -20
  170. package/dist/module/components/WarningPopup.js.map +1 -1
  171. package/dist/module/components/expo-image-picker-multiple/ImageBrowser.js +13 -13
  172. package/dist/module/components/expo-image-picker-multiple/ImageBrowser.js.map +1 -1
  173. package/dist/module/components/expo-image-picker-multiple/ImageTile.js +24 -23
  174. package/dist/module/components/expo-image-picker-multiple/ImageTile.js.map +1 -1
  175. package/dist/module/components/index.js +59 -58
  176. package/dist/module/components/index.js.map +1 -1
  177. package/dist/module/components/react-native-expo-image-cropper/ExpoImageManipulator.js +94 -64
  178. package/dist/module/components/react-native-expo-image-cropper/ExpoImageManipulator.js.map +1 -1
  179. package/dist/module/components/react-native-expo-image-cropper/ImageCropOverlay.js +64 -64
  180. package/dist/module/components/react-native-expo-image-cropper/ImageCropOverlay.js.map +1 -1
  181. package/dist/module/config.js +15 -10
  182. package/dist/module/config.js.map +1 -1
  183. package/dist/module/constants.js +3 -4
  184. package/dist/module/constants.js.map +1 -1
  185. package/dist/module/helper.js +83 -82
  186. package/dist/module/helper.js.map +1 -1
  187. package/dist/module/index.js +12 -12
  188. package/dist/module/index.js.map +1 -1
  189. package/dist/module/js/images/detectFaces.js +11 -10
  190. package/dist/module/js/images/detectFaces.js.map +1 -1
  191. package/dist/module/js/images/findLandmarkRange.js +8 -8
  192. package/dist/module/js/images/findLandmarkRange.js.map +1 -1
  193. package/dist/module/js/images/getScaledOffset.js.map +1 -1
  194. package/dist/module/js/site/getSiteLevelFromState.js +2 -2
  195. package/dist/module/js/site/getSiteLevelFromState.js.map +1 -1
  196. package/dist/module/js/site/isTVEnabled.js +2 -2
  197. package/dist/module/js/site/isTVEnabled.js.map +1 -1
  198. package/dist/module/session.js +6 -6
  199. package/dist/module/session.js.map +1 -1
  200. package/dist/module/styles.js +17 -17
  201. package/dist/module/styles.js.map +1 -1
  202. package/dist/module/withNavigationFocus.js +30 -0
  203. package/dist/module/withNavigationFocus.js.map +1 -0
  204. package/package.json +71 -68
  205. package/src/actions/FollowerActions.js +36 -32
  206. package/src/actions/MediaActions.js +25 -20
  207. package/src/actions/ResidentActions.js +26 -21
  208. package/src/actions/UserActions.js +22 -22
  209. package/src/actions/UserSettingsActions.js +11 -11
  210. package/src/actions/index.js +5 -5
  211. package/src/actions/types.js +16 -16
  212. package/src/apis/analyticsActions.js +17 -17
  213. package/src/apis/contactActions.js +20 -20
  214. package/src/apis/eventActions.js +153 -144
  215. package/src/apis/fileActions.js +96 -86
  216. package/src/apis/followerActions.js +29 -29
  217. package/src/apis/index.js +12 -12
  218. package/src/apis/notificationActions.js +44 -44
  219. package/src/apis/profileActions.js +8 -8
  220. package/src/apis/reactionActions.js +81 -73
  221. package/src/apis/settingActions.js +15 -15
  222. package/src/apis/stringActions.js +29 -25
  223. package/src/apis/typeActions.js +10 -10
  224. package/src/apis/userActions.js +93 -93
  225. package/src/assets/icons/fontawesome/fa-brands-400.ttf +0 -0
  226. package/src/assets/icons/fontawesome/fa-light-300.ttf +0 -0
  227. package/src/assets/icons/fontawesome/fa-regular-400.ttf +0 -0
  228. package/src/assets/icons/fontawesome/fa-solid-900.ttf +0 -0
  229. package/src/assets/icons/fontawesome/fa-thin-100.ttf +0 -0
  230. package/src/assets/icons/fontawesome/fa7-glyphmap.json +4205 -0
  231. package/src/colours.js +116 -96
  232. package/src/components/AddButton.js +32 -27
  233. package/src/components/AddToCalendarButton.js +236 -202
  234. package/src/components/Attachment.js +59 -36
  235. package/src/components/AudienceSelectorLauncher.js +52 -48
  236. package/src/components/AudienceSelectorPage.js +353 -311
  237. package/src/components/AutoOffsetImage.js +237 -196
  238. package/src/components/BackButton.js +57 -41
  239. package/src/components/CalendarPopup.js +127 -97
  240. package/src/components/CategoryTabs.js +208 -163
  241. package/src/components/CommentReply.js +370 -309
  242. package/src/components/CommentSection.js +974 -781
  243. package/src/components/ConfirmPopup.js +141 -110
  244. package/src/components/ConfirmationPopup.js +80 -69
  245. package/src/components/DocumentUploader.js +245 -215
  246. package/src/components/DropDownItem.js +70 -60
  247. package/src/components/DropDownMenu.js +31 -27
  248. package/src/components/EmptyStateMain.js +51 -44
  249. package/src/components/EmptyStateWidget.js +47 -38
  250. package/src/components/FontScaleButton.js +29 -25
  251. package/src/components/FontScalePopup.js +67 -56
  252. package/src/components/Forbidden.js +48 -46
  253. package/src/components/FormCard.js +21 -17
  254. package/src/components/FormCardSection.js +284 -233
  255. package/src/components/FormCardSectionOptionLauncher.js +72 -46
  256. package/src/components/FormattedText.js +128 -111
  257. package/src/components/GenericInput.js +168 -136
  258. package/src/components/GenericInputSection.js +209 -161
  259. package/src/components/Header.js +620 -474
  260. package/src/components/Icon.js +119 -0
  261. package/src/components/ImagePopup.js +425 -221
  262. package/src/components/ImageUploadProgress.js +49 -41
  263. package/src/components/ImageUploader.js +968 -797
  264. package/src/components/InlineButton.js +79 -69
  265. package/src/components/Input.js +190 -156
  266. package/src/components/LoadingCircles.js +233 -233
  267. package/src/components/LoadingIndicator.js +87 -76
  268. package/src/components/LoadingStateWidget.js +47 -37
  269. package/src/components/MediaPlayer.js +416 -387
  270. package/src/components/MiddlePopup.js +62 -33
  271. package/src/components/PDFPopup.js +212 -159
  272. package/src/components/PlussChat.js +1224 -1025
  273. package/src/components/PlussChatMessage.js +329 -298
  274. package/src/components/PlussChatTime.js +57 -53
  275. package/src/components/Popup.js +138 -116
  276. package/src/components/PopupMenu.js +140 -110
  277. package/src/components/PositionedImage.js +281 -237
  278. package/src/components/ProfilePic.js +122 -113
  279. package/src/components/RadioButton.js +76 -52
  280. package/src/components/Reaction.js +134 -96
  281. package/src/components/Reactions.js +65 -63
  282. package/src/components/SharingTools.js +185 -134
  283. package/src/components/Spinner.js +13 -13
  284. package/src/components/StickyFooter.js +36 -26
  285. package/src/components/Text.js +62 -0
  286. package/src/components/TickIcon.js +20 -20
  287. package/src/components/Toggle.js +74 -73
  288. package/src/components/TouchableSearchBar.js +68 -50
  289. package/src/components/UserListPopup.js +161 -124
  290. package/src/components/UserListing.js +273 -238
  291. package/src/components/VideoPopup.js +110 -96
  292. package/src/components/WarningPopup.js +92 -71
  293. package/src/components/expo-image-picker-multiple/ImageBrowser.js +288 -256
  294. package/src/components/expo-image-picker-multiple/ImageTile.js +108 -84
  295. package/src/components/index.js +59 -58
  296. package/src/components/react-native-expo-image-cropper/ExpoImageManipulator.js +444 -359
  297. package/src/components/react-native-expo-image-cropper/ImageCropOverlay.js +420 -324
  298. package/src/config.js +26 -21
  299. package/src/constants.js +8 -10
  300. package/src/helper.js +469 -438
  301. package/src/index.js +24 -12
  302. package/src/js/images/detectFaces.js +28 -21
  303. package/src/js/images/findLandmarkRange.js +97 -90
  304. package/src/js/images/getScaledOffset.js +80 -75
  305. package/src/js/site/getSiteLevelFromState.js +26 -26
  306. package/src/js/site/isTVEnabled.js +10 -10
  307. package/src/session.js +32 -32
  308. package/src/styles.js +61 -61
  309. package/src/withNavigationFocus.js +28 -0
  310. package/dist/module/components/TextStyle.js +0 -45
  311. package/dist/module/components/TextStyle.js.map +0 -1
  312. package/dist/module/fonts/index.js +0 -2
  313. package/dist/module/fonts/index.js.map +0 -1
  314. package/dist/module/fonts/pluss60-icons.js +0 -5
  315. package/dist/module/fonts/pluss60-icons.js.map +0 -1
  316. package/dist/module/fonts/pluss60-icons.json +0 -1097
  317. package/src/components/TextStyle.js +0 -48
  318. package/src/fonts/index.js +0 -1
  319. package/src/fonts/pluss60-icons.js +0 -7
  320. package/src/fonts/pluss60-icons.json +0 -1097
@@ -1,19 +1,20 @@
1
1
  function _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; }
2
2
  function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : i + ""; }
3
3
  function _toPrimitive(t, r) { if ("object" != typeof t || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != typeof i) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
4
- import React, { Component } from 'react';
5
- import { connect } from 'react-redux';
6
- import _ from 'lodash';
7
- import { TouchableOpacity, View, ScrollView, Text, StyleSheet } from 'react-native';
8
- import { Icon } from '@rneui/themed';
9
- import { Services } from '../config';
10
- import { FormCard } from './FormCard';
11
- import { FormCardSection } from './FormCardSection';
12
- import { InlineButton } from './InlineButton';
13
- import Header from './Header';
14
- import { Spinner } from './Spinner';
15
- import { TEXT_DARK, COLOUR_GREEN, BG_GREY, INACTIVE_BUTTON, TEXT_LIGHT, getMainBrandingColourFromState } from '../colours';
16
- import { typeActions, profileActions } from '../apis';
4
+ import React, { Component } from "react";
5
+ import { Text } from "@plusscommunities/pluss-core-app/components";
6
+ import { connect } from "react-redux";
7
+ import _ from "lodash";
8
+ import { TouchableOpacity, View, ScrollView, StyleSheet } from "react-native";
9
+ import { Icon } from "@rneui/themed";
10
+ import { Services } from "../config";
11
+ import { FormCard } from "./FormCard";
12
+ import { FormCardSection } from "./FormCardSection";
13
+ import { InlineButton } from "./InlineButton";
14
+ import Header from "./Header";
15
+ import { Spinner } from "./Spinner";
16
+ import { TEXT_DARK, COLOUR_GREEN, BG_GREY, INACTIVE_BUTTON, TEXT_LIGHT, getMainBrandingColourFromState } from "../colours";
17
+ import { typeActions, profileActions } from "../apis";
17
18
  class AudienceSelectorPage extends Component {
18
19
  constructor(props) {
19
20
  super(props);
@@ -29,7 +30,7 @@ class AudienceSelectorPage extends Component {
29
30
  combinedList: this.getAvailableAudienceTags()
30
31
  });
31
32
  } catch (error) {
32
- console.error('loading types error', error);
33
+ console.error("loading types error", error);
33
34
  this.setState({
34
35
  loading: false
35
36
  });
@@ -73,7 +74,7 @@ class AudienceSelectorPage extends Component {
73
74
  const categoryTags = categories.map(c => {
74
75
  const Id = `category_${c.key}`;
75
76
  return {
76
- AudienceType: 'Category',
77
+ AudienceType: "Category",
77
78
  AudienceTypeSelection: c.key,
78
79
  Id,
79
80
  Title: c.name,
@@ -83,7 +84,7 @@ class AudienceSelectorPage extends Component {
83
84
  const userTypeTags = types.map(t => {
84
85
  const Id = `userType_${t.typeName}`;
85
86
  return {
86
- AudienceType: 'UserType',
87
+ AudienceType: "UserType",
87
88
  AudienceTypeSelection: t.typeName,
88
89
  Id,
89
90
  Title: `User Type: ${t.displayName}`,
@@ -93,7 +94,7 @@ class AudienceSelectorPage extends Component {
93
94
  const userTagTags = tags.map(t => {
94
95
  const Id = `userTag_${t.Id}`;
95
96
  return {
96
- AudienceType: 'UserTags',
97
+ AudienceType: "UserTags",
97
98
  AudienceTypeSelection: t.Id,
98
99
  Id,
99
100
  Title: `User Tag: ${t.Title}`,
@@ -134,7 +135,7 @@ class AudienceSelectorPage extends Component {
134
135
  } = this.state;
135
136
  const selected = combinedList.filter(i => i.Selected);
136
137
  if (selected && selected.length > 0) {
137
- this.props.onChange('Custom', selected);
138
+ this.props.onChange("Custom", selected);
138
139
  } else {
139
140
  this.props.onChange(null, null);
140
141
  }
@@ -144,14 +145,14 @@ class AudienceSelectorPage extends Component {
144
145
  this.state = {
145
146
  loading: false,
146
147
  categories: [{
147
- name: 'All Primary Users',
148
- key: 'resident'
148
+ name: "All Primary Users",
149
+ key: "resident"
149
150
  }, {
150
- name: 'All Staff Users',
151
- key: 'staff'
151
+ name: "All Staff Users",
152
+ key: "staff"
152
153
  }, {
153
- name: 'All Linked Users',
154
- key: 'family'
154
+ name: "All Linked Users",
155
+ key: "family"
155
156
  }],
156
157
  types: [],
157
158
  tags: [],
@@ -190,7 +191,7 @@ class AudienceSelectorPage extends Component {
190
191
  if (loading) return null;
191
192
  return /*#__PURE__*/React.createElement(FormCard, {
192
193
  style: styles.selectAllContainer
193
- }, this.renderOption('All Users', allSelected, this.onSelectAll, null, false));
194
+ }, this.renderOption("All Users", allSelected, this.onSelectAll, null, false));
194
195
  }
195
196
  renderSelection() {
196
197
  const {
@@ -199,7 +200,7 @@ class AudienceSelectorPage extends Component {
199
200
  seeAll
200
201
  } = this.state;
201
202
  if (loading) return null;
202
- const selectedText = combinedList.filter(i => i.Selected).map(i => i.Title).join(', ');
203
+ const selectedText = combinedList.filter(i => i.Selected).map(i => i.Title).join(", ");
203
204
  const hasSelected = !_.isEmpty(selectedText);
204
205
  return /*#__PURE__*/React.createElement(View, {
205
206
  style: styles.selectionContainer
@@ -211,7 +212,7 @@ class AudienceSelectorPage extends Component {
211
212
  onPress: this.onSeeAll
212
213
  }, /*#__PURE__*/React.createElement(Text, {
213
214
  style: styles.seeAllButton
214
- }, seeAll ? 'See less' : 'See all')) : null), hasSelected ? /*#__PURE__*/React.createElement(Text, {
215
+ }, seeAll ? "See less" : "See all")) : null), hasSelected ? /*#__PURE__*/React.createElement(Text, {
215
216
  style: styles.selectionText,
216
217
  numberOfLines: seeAll ? null : 1
217
218
  }, `Current selection: ${selectedText}`) : null);
@@ -223,7 +224,7 @@ class AudienceSelectorPage extends Component {
223
224
  style: styles.tipText
224
225
  }, /*#__PURE__*/React.createElement(Text, {
225
226
  style: {
226
- fontFamily: 'sf-semibold'
227
+ fontFamily: "sf-semibold"
227
228
  }
228
229
  }, "Tip: "), "Group your users using User Tags from your website Community Manager"));
229
230
  }
@@ -261,14 +262,14 @@ class AudienceSelectorPage extends Component {
261
262
  }, /*#__PURE__*/React.createElement(Header, {
262
263
  leftIcon: "angle-left",
263
264
  onPressLeft: this.onPressBack,
264
- text: 'Select Audience'
265
+ text: "Select Audience"
265
266
  }), this.renderSelectAll(), this.renderSelection(), this.renderAvailableAudiences(), this.renderButtons());
266
267
  }
267
268
  }
268
269
  const styles = StyleSheet.create({
269
270
  container: {
270
271
  flex: 1,
271
- position: 'relative',
272
+ position: "relative",
272
273
  backgroundColor: BG_GREY
273
274
  },
274
275
  selectAllContainer: {
@@ -278,23 +279,23 @@ const styles = StyleSheet.create({
278
279
  padding: 20
279
280
  },
280
281
  selectionContainerInner: {
281
- flexDirection: 'row',
282
- justifyContent: 'space-between'
282
+ flexDirection: "row",
283
+ justifyContent: "space-between"
283
284
  },
284
285
  selectionTitle: {
285
- fontFamily: 'sf-bold',
286
+ fontFamily: "sf-bold",
286
287
  fontSize: 14,
287
288
  color: TEXT_DARK
288
289
  },
289
290
  selectionText: {
290
- fontFamily: 'sf-bold',
291
+ fontFamily: "sf-bold",
291
292
  fontSize: 14,
292
293
  color: TEXT_DARK,
293
294
  marginTop: 10
294
295
  },
295
296
  seeAllButton: {
296
297
  marginLeft: 10,
297
- fontFamily: 'sf-bold',
298
+ fontFamily: "sf-bold",
298
299
  fontSize: 14,
299
300
  color: TEXT_LIGHT
300
301
  },
@@ -303,36 +304,36 @@ const styles = StyleSheet.create({
303
304
  },
304
305
  availabelScrollContent: {
305
306
  flexGrow: 1,
306
- justifyContent: 'space-between',
307
- flexDirection: 'column'
307
+ justifyContent: "space-between",
308
+ flexDirection: "column"
308
309
  },
309
310
  tipContainer: {
310
311
  padding: 10
311
312
  },
312
313
  tipText: {
313
314
  fontSize: 14,
314
- fontFamily: 'sf-regular',
315
+ fontFamily: "sf-regular",
315
316
  color: TEXT_DARK
316
317
  },
317
318
  labelContainer: {
318
- flexDirection: 'row',
319
- justifyContent: 'space-between'
319
+ flexDirection: "row",
320
+ justifyContent: "space-between"
320
321
  },
321
322
  labelText: {
322
- fontFamily: 'sf-medium',
323
+ fontFamily: "sf-medium",
323
324
  fontSize: 16,
324
325
  color: TEXT_DARK
325
326
  },
326
327
  description: {
327
328
  marginTop: 5,
328
329
  fontSize: 14,
329
- fontFamily: 'sf-regular',
330
+ fontFamily: "sf-regular",
330
331
  color: TEXT_DARK
331
332
  },
332
333
  doneButtonContainer: {
333
- backgroundColor: '#fff',
334
+ backgroundColor: "#fff",
334
335
  marginTop: 1,
335
- flexDirection: 'row',
336
+ flexDirection: "row",
336
337
  paddingTop: 10,
337
338
  paddingBottom: 20
338
339
  },
@@ -1 +1 @@
1
- {"version":3,"names":["React","Component","connect","_","TouchableOpacity","View","ScrollView","Text","StyleSheet","Icon","Services","FormCard","FormCardSection","InlineButton","Header","Spinner","TEXT_DARK","COLOUR_GREEN","BG_GREY","INACTIVE_BUTTON","TEXT_LIGHT","getMainBrandingColourFromState","typeActions","profileActions","AudienceSelectorPage","constructor","props","_defineProperty","setState","loading","getUserTypes","getUserTags","combinedList","getAvailableAudienceTags","error","console","data","site","forEach","e","name","category","toUpperCase","substring","displayName","key","typeName","types","getUserTagsBySite","Title","Id","tags","categories","state","audienceTypeSelection","categoryTags","map","c","AudienceType","AudienceTypeSelection","Selected","some","i","userTypeTags","t","userTagTags","navigation","goBack","newList","seeAll","option","selected","find","onChange","filter","length","renderOption","label","onSelect","hasUnderline","createElement","onPress","hasContent","style","styles","labelContainer","labelText","type","iconStyle","color","fontSize","renderSelectAll","allSelected","selectAllContainer","onSelectAll","renderSelection","selectedText","join","hasSelected","isEmpty","selectionContainer","selectionContainerInner","selectionTitle","onSeeAll","seeAllButton","selectionText","numberOfLines","renderTips","tipContainer","tipText","fontFamily","renderAvailableAudiences","availableScrollContainer","contentContainerStyle","availabelScrollContent","index","notLast","onToggleAudienceOption","renderButtons","doneButtonContainer","colourBrandingMain","onDone","touchableStyle","doneButton","fillTouchable","large","disabled","render","container","leftIcon","onPressLeft","onPressBack","text","create","flex","position","backgroundColor","marginTop","padding","flexDirection","justifyContent","marginLeft","flexGrow","description","paddingTop","paddingBottom","marginHorizontal","mapStateToProps"],"sources":["AudienceSelectorPage.js"],"sourcesContent":["import React, { Component } from 'react';\nimport { connect } from 'react-redux';\nimport _ from 'lodash';\nimport { TouchableOpacity, View, ScrollView, Text, StyleSheet } from 'react-native';\nimport { Icon } from '@rneui/themed';\nimport { Services } from '../config';\nimport { FormCard } from './FormCard';\nimport { FormCardSection } from './FormCardSection';\nimport { InlineButton } from './InlineButton';\nimport Header from './Header';\nimport { Spinner } from './Spinner';\nimport { TEXT_DARK, COLOUR_GREEN, BG_GREY, INACTIVE_BUTTON, TEXT_LIGHT, getMainBrandingColourFromState } from '../colours';\nimport { typeActions, profileActions } from '../apis';\n\nclass AudienceSelectorPage extends Component {\n constructor(props) {\n super(props);\n\n this.state = {\n loading: false,\n categories: [\n {\n name: 'All Primary Users',\n key: 'resident',\n },\n {\n name: 'All Staff Users',\n key: 'staff',\n },\n {\n name: 'All Linked Users',\n key: 'family',\n },\n ],\n types: [],\n tags: [],\n combinedList: [],\n seeAll: false,\n };\n }\n\n componentDidMount = async () => {\n try {\n this.setState({ loading: true });\n await this.getUserTypes();\n await this.getUserTags();\n this.setState({ loading: false, combinedList: this.getAvailableAudienceTags() });\n } catch (error) {\n console.error('loading types error', error);\n this.setState({ loading: false });\n }\n };\n\n getUserTypes = async () => {\n const { data } = await typeActions.getUserTypes(this.props.site);\n data.forEach(e => {\n e.name = e.category ? `(${e.category[0].toUpperCase() + e.category.substring(1)}) ${e.displayName}` : e.displayName;\n e.key = e.typeName;\n });\n // console.log('getUserTypes', data);\n this.setState({ types: data });\n };\n\n getUserTags = async () => {\n const { data } = await profileActions.getUserTagsBySite(this.props.site);\n data.forEach(e => {\n e.name = e.Title;\n e.key = e.Id;\n });\n // console.log('getUserTags', data);\n this.setState({ tags: data });\n };\n\n getAvailableAudienceTags = () => {\n const { categories, types, tags } = this.state;\n const { audienceTypeSelection } = this.props;\n\n const categoryTags = categories.map(c => {\n const Id = `category_${c.key}`;\n return {\n AudienceType: 'Category',\n AudienceTypeSelection: c.key,\n Id,\n Title: c.name,\n Selected: audienceTypeSelection.some(i => i.Id === Id),\n };\n });\n const userTypeTags = types.map(t => {\n const Id = `userType_${t.typeName}`;\n return {\n AudienceType: 'UserType',\n AudienceTypeSelection: t.typeName,\n Id,\n Title: `User Type: ${t.displayName}`,\n Selected: audienceTypeSelection.some(i => i.Id === Id),\n };\n });\n const userTagTags = tags.map(t => {\n const Id = `userTag_${t.Id}`;\n return {\n AudienceType: 'UserTags',\n AudienceTypeSelection: t.Id,\n Id,\n Title: `User Tag: ${t.Title}`,\n Selected: audienceTypeSelection.some(i => i.Id === Id),\n };\n });\n return [...categoryTags, ...userTypeTags, ...userTagTags];\n };\n\n onPressBack = () => {\n Services.navigation.goBack();\n };\n\n onSelectAll = () => {\n const newList = [...this.state.combinedList];\n newList.forEach(i => (i.Selected = false));\n this.setState({ combinedList: newList });\n };\n\n onSeeAll = () => {\n this.setState({ seeAll: !this.state.seeAll });\n };\n\n onToggleAudienceOption = option => {\n const newList = [...this.state.combinedList];\n const selected = newList.find(i => i.Id === option.Id);\n if (selected) {\n selected.Selected = !selected.Selected;\n this.setState({ combinedList: newList });\n }\n };\n\n onDone = () => {\n if (this.props.onChange) {\n const { combinedList } = this.state;\n const selected = combinedList.filter(i => i.Selected);\n if (selected && selected.length > 0) {\n this.props.onChange('Custom', selected);\n } else {\n this.props.onChange(null, null);\n }\n }\n Services.navigation.goBack();\n };\n\n renderOption(label, selected, onSelect, key = null, hasUnderline = true) {\n return (\n <TouchableOpacity key={key} onPress={onSelect}>\n <FormCardSection hasUnderline={hasUnderline} hasContent>\n <View style={styles.labelContainer}>\n <Text style={styles.labelText}>{label}</Text>\n <Icon\n name=\"check-circle\"\n type=\"font-awesome\"\n iconStyle={[{ color: INACTIVE_BUTTON, fontSize: 20 }, selected && { color: COLOUR_GREEN }]}\n />\n </View>\n </FormCardSection>\n </TouchableOpacity>\n );\n }\n\n renderSelectAll() {\n const { combinedList, loading } = this.state;\n const allSelected = !combinedList.find(i => i.Selected);\n if (loading) return null;\n\n return (\n <FormCard style={styles.selectAllContainer}>{this.renderOption('All Users', allSelected, this.onSelectAll, null, false)}</FormCard>\n );\n }\n\n renderSelection() {\n const { loading, combinedList, seeAll } = this.state;\n if (loading) return null;\n\n const selectedText = combinedList\n .filter(i => i.Selected)\n .map(i => i.Title)\n .join(', ');\n const hasSelected = !_.isEmpty(selectedText);\n\n return (\n <View style={styles.selectionContainer}>\n <View style={styles.selectionContainerInner}>\n <Text style={styles.selectionTitle}>or select from below</Text>\n {hasSelected ? (\n <TouchableOpacity onPress={this.onSeeAll}>\n <Text style={styles.seeAllButton}>{seeAll ? 'See less' : 'See all'}</Text>\n </TouchableOpacity>\n ) : null}\n </View>\n {hasSelected ? (\n <Text style={styles.selectionText} numberOfLines={seeAll ? null : 1}>{`Current selection: ${selectedText}`}</Text>\n ) : null}\n </View>\n );\n }\n\n renderTips() {\n return (\n <View style={styles.tipContainer}>\n <Text style={styles.tipText}>\n <Text style={{ fontFamily: 'sf-semibold' }}>Tip: </Text>\n Group your users using User Tags from your website Community Manager\n </Text>\n </View>\n );\n }\n\n renderAvailableAudiences() {\n const { loading, combinedList } = this.state;\n\n return (\n <ScrollView style={styles.availableScrollContainer} contentContainerStyle={styles.availabelScrollContent}>\n <FormCard>\n {combinedList.map((option, index) => {\n const notLast = index < combinedList.length - 1;\n return this.renderOption(option.Title, option.Selected, () => this.onToggleAudienceOption(option), index, notLast);\n })}\n </FormCard>\n {loading ? <Spinner /> : null}\n {this.renderTips()}\n </ScrollView>\n );\n }\n\n renderButtons() {\n const { loading } = this.state;\n\n return (\n <View style={styles.doneButtonContainer}>\n <InlineButton\n color={loading ? INACTIVE_BUTTON : this.props.colourBrandingMain}\n onPress={this.onDone}\n touchableStyle={styles.doneButton}\n fillTouchable\n large\n disabled={loading}\n >\n Done\n </InlineButton>\n </View>\n );\n }\n\n render() {\n return (\n <View style={styles.container}>\n <Header leftIcon=\"angle-left\" onPressLeft={this.onPressBack} text={'Select Audience'} />\n {this.renderSelectAll()}\n {this.renderSelection()}\n {this.renderAvailableAudiences()}\n {this.renderButtons()}\n </View>\n );\n }\n}\n\nconst styles = StyleSheet.create({\n container: {\n flex: 1,\n position: 'relative',\n backgroundColor: BG_GREY,\n },\n selectAllContainer: {\n marginTop: 20,\n },\n selectionContainer: {\n padding: 20,\n },\n selectionContainerInner: {\n flexDirection: 'row',\n justifyContent: 'space-between',\n },\n selectionTitle: {\n fontFamily: 'sf-bold',\n fontSize: 14,\n color: TEXT_DARK,\n },\n selectionText: {\n fontFamily: 'sf-bold',\n fontSize: 14,\n color: TEXT_DARK,\n marginTop: 10,\n },\n seeAllButton: {\n marginLeft: 10,\n fontFamily: 'sf-bold',\n fontSize: 14,\n color: TEXT_LIGHT,\n },\n availableScrollContainer: {\n flex: 1,\n },\n availabelScrollContent: {\n flexGrow: 1,\n justifyContent: 'space-between',\n flexDirection: 'column',\n },\n tipContainer: {\n padding: 10,\n },\n tipText: {\n fontSize: 14,\n fontFamily: 'sf-regular',\n color: TEXT_DARK,\n },\n labelContainer: {\n flexDirection: 'row',\n justifyContent: 'space-between',\n },\n labelText: {\n fontFamily: 'sf-medium',\n fontSize: 16,\n color: TEXT_DARK,\n },\n description: {\n marginTop: 5,\n fontSize: 14,\n fontFamily: 'sf-regular',\n color: TEXT_DARK,\n },\n doneButtonContainer: {\n backgroundColor: '#fff',\n marginTop: 1,\n flexDirection: 'row',\n paddingTop: 10,\n paddingBottom: 20,\n },\n doneButton: {\n flex: 1,\n marginHorizontal: 6,\n },\n});\n\nconst mapStateToProps = state => {\n return {\n colourBrandingMain: getMainBrandingColourFromState(state),\n };\n};\n\nexport default connect(mapStateToProps, {})(AudienceSelectorPage);\n"],"mappings":";;;AAAA,OAAOA,KAAK,IAAIC,SAAS,QAAQ,OAAO;AACxC,SAASC,OAAO,QAAQ,aAAa;AACrC,OAAOC,CAAC,MAAM,QAAQ;AACtB,SAASC,gBAAgB,EAAEC,IAAI,EAAEC,UAAU,EAAEC,IAAI,EAAEC,UAAU,QAAQ,cAAc;AACnF,SAASC,IAAI,QAAQ,eAAe;AACpC,SAASC,QAAQ,QAAQ,WAAW;AACpC,SAASC,QAAQ,QAAQ,YAAY;AACrC,SAASC,eAAe,QAAQ,mBAAmB;AACnD,SAASC,YAAY,QAAQ,gBAAgB;AAC7C,OAAOC,MAAM,MAAM,UAAU;AAC7B,SAASC,OAAO,QAAQ,WAAW;AACnC,SAASC,SAAS,EAAEC,YAAY,EAAEC,OAAO,EAAEC,eAAe,EAAEC,UAAU,EAAEC,8BAA8B,QAAQ,YAAY;AAC1H,SAASC,WAAW,EAAEC,cAAc,QAAQ,SAAS;AAErD,MAAMC,oBAAoB,SAASvB,SAAS,CAAC;EAC3CwB,WAAWA,CAACC,KAAK,EAAE;IACjB,KAAK,CAACA,KAAK,CAAC;IAACC,eAAA,4BAyBK,YAAY;MAC9B,IAAI;QACF,IAAI,CAACC,QAAQ,CAAC;UAAEC,OAAO,EAAE;QAAK,CAAC,CAAC;QAChC,MAAM,IAAI,CAACC,YAAY,CAAC,CAAC;QACzB,MAAM,IAAI,CAACC,WAAW,CAAC,CAAC;QACxB,IAAI,CAACH,QAAQ,CAAC;UAAEC,OAAO,EAAE,KAAK;UAAEG,YAAY,EAAE,IAAI,CAACC,wBAAwB,CAAC;QAAE,CAAC,CAAC;MAClF,CAAC,CAAC,OAAOC,KAAK,EAAE;QACdC,OAAO,CAACD,KAAK,CAAC,qBAAqB,EAAEA,KAAK,CAAC;QAC3C,IAAI,CAACN,QAAQ,CAAC;UAAEC,OAAO,EAAE;QAAM,CAAC,CAAC;MACnC;IACF,CAAC;IAAAF,eAAA,uBAEc,YAAY;MACzB,MAAM;QAAES;MAAK,CAAC,GAAG,MAAMd,WAAW,CAACQ,YAAY,CAAC,IAAI,CAACJ,KAAK,CAACW,IAAI,CAAC;MAChED,IAAI,CAACE,OAAO,CAACC,CAAC,IAAI;QAChBA,CAAC,CAACC,IAAI,GAAGD,CAAC,CAACE,QAAQ,GAAG,IAAIF,CAAC,CAACE,QAAQ,CAAC,CAAC,CAAC,CAACC,WAAW,CAAC,CAAC,GAAGH,CAAC,CAACE,QAAQ,CAACE,SAAS,CAAC,CAAC,CAAC,KAAKJ,CAAC,CAACK,WAAW,EAAE,GAAGL,CAAC,CAACK,WAAW;QACnHL,CAAC,CAACM,GAAG,GAAGN,CAAC,CAACO,QAAQ;MACpB,CAAC,CAAC;MACF;MACA,IAAI,CAAClB,QAAQ,CAAC;QAAEmB,KAAK,EAAEX;MAAK,CAAC,CAAC;IAChC,CAAC;IAAAT,eAAA,sBAEa,YAAY;MACxB,MAAM;QAAES;MAAK,CAAC,GAAG,MAAMb,cAAc,CAACyB,iBAAiB,CAAC,IAAI,CAACtB,KAAK,CAACW,IAAI,CAAC;MACxED,IAAI,CAACE,OAAO,CAACC,CAAC,IAAI;QAChBA,CAAC,CAACC,IAAI,GAAGD,CAAC,CAACU,KAAK;QAChBV,CAAC,CAACM,GAAG,GAAGN,CAAC,CAACW,EAAE;MACd,CAAC,CAAC;MACF;MACA,IAAI,CAACtB,QAAQ,CAAC;QAAEuB,IAAI,EAAEf;MAAK,CAAC,CAAC;IAC/B,CAAC;IAAAT,eAAA,mCAE0B,MAAM;MAC/B,MAAM;QAAEyB,UAAU;QAAEL,KAAK;QAAEI;MAAK,CAAC,GAAG,IAAI,CAACE,KAAK;MAC9C,MAAM;QAAEC;MAAsB,CAAC,GAAG,IAAI,CAAC5B,KAAK;MAE5C,MAAM6B,YAAY,GAAGH,UAAU,CAACI,GAAG,CAACC,CAAC,IAAI;QACvC,MAAMP,EAAE,GAAG,YAAYO,CAAC,CAACZ,GAAG,EAAE;QAC9B,OAAO;UACLa,YAAY,EAAE,UAAU;UACxBC,qBAAqB,EAAEF,CAAC,CAACZ,GAAG;UAC5BK,EAAE;UACFD,KAAK,EAAEQ,CAAC,CAACjB,IAAI;UACboB,QAAQ,EAAEN,qBAAqB,CAACO,IAAI,CAACC,CAAC,IAAIA,CAAC,CAACZ,EAAE,KAAKA,EAAE;QACvD,CAAC;MACH,CAAC,CAAC;MACF,MAAMa,YAAY,GAAGhB,KAAK,CAACS,GAAG,CAACQ,CAAC,IAAI;QAClC,MAAMd,EAAE,GAAG,YAAYc,CAAC,CAAClB,QAAQ,EAAE;QACnC,OAAO;UACLY,YAAY,EAAE,UAAU;UACxBC,qBAAqB,EAAEK,CAAC,CAAClB,QAAQ;UACjCI,EAAE;UACFD,KAAK,EAAE,cAAce,CAAC,CAACpB,WAAW,EAAE;UACpCgB,QAAQ,EAAEN,qBAAqB,CAACO,IAAI,CAACC,CAAC,IAAIA,CAAC,CAACZ,EAAE,KAAKA,EAAE;QACvD,CAAC;MACH,CAAC,CAAC;MACF,MAAMe,WAAW,GAAGd,IAAI,CAACK,GAAG,CAACQ,CAAC,IAAI;QAChC,MAAMd,EAAE,GAAG,WAAWc,CAAC,CAACd,EAAE,EAAE;QAC5B,OAAO;UACLQ,YAAY,EAAE,UAAU;UACxBC,qBAAqB,EAAEK,CAAC,CAACd,EAAE;UAC3BA,EAAE;UACFD,KAAK,EAAE,aAAae,CAAC,CAACf,KAAK,EAAE;UAC7BW,QAAQ,EAAEN,qBAAqB,CAACO,IAAI,CAACC,CAAC,IAAIA,CAAC,CAACZ,EAAE,KAAKA,EAAE;QACvD,CAAC;MACH,CAAC,CAAC;MACF,OAAO,CAAC,GAAGK,YAAY,EAAE,GAAGQ,YAAY,EAAE,GAAGE,WAAW,CAAC;IAC3D,CAAC;IAAAtC,eAAA,sBAEa,MAAM;MAClBjB,QAAQ,CAACwD,UAAU,CAACC,MAAM,CAAC,CAAC;IAC9B,CAAC;IAAAxC,eAAA,sBAEa,MAAM;MAClB,MAAMyC,OAAO,GAAG,CAAC,GAAG,IAAI,CAACf,KAAK,CAACrB,YAAY,CAAC;MAC5CoC,OAAO,CAAC9B,OAAO,CAACwB,CAAC,IAAKA,CAAC,CAACF,QAAQ,GAAG,KAAM,CAAC;MAC1C,IAAI,CAAChC,QAAQ,CAAC;QAAEI,YAAY,EAAEoC;MAAQ,CAAC,CAAC;IAC1C,CAAC;IAAAzC,eAAA,mBAEU,MAAM;MACf,IAAI,CAACC,QAAQ,CAAC;QAAEyC,MAAM,EAAE,CAAC,IAAI,CAAChB,KAAK,CAACgB;MAAO,CAAC,CAAC;IAC/C,CAAC;IAAA1C,eAAA,iCAEwB2C,MAAM,IAAI;MACjC,MAAMF,OAAO,GAAG,CAAC,GAAG,IAAI,CAACf,KAAK,CAACrB,YAAY,CAAC;MAC5C,MAAMuC,QAAQ,GAAGH,OAAO,CAACI,IAAI,CAACV,CAAC,IAAIA,CAAC,CAACZ,EAAE,KAAKoB,MAAM,CAACpB,EAAE,CAAC;MACtD,IAAIqB,QAAQ,EAAE;QACZA,QAAQ,CAACX,QAAQ,GAAG,CAACW,QAAQ,CAACX,QAAQ;QACtC,IAAI,CAAChC,QAAQ,CAAC;UAAEI,YAAY,EAAEoC;QAAQ,CAAC,CAAC;MAC1C;IACF,CAAC;IAAAzC,eAAA,iBAEQ,MAAM;MACb,IAAI,IAAI,CAACD,KAAK,CAAC+C,QAAQ,EAAE;QACvB,MAAM;UAAEzC;QAAa,CAAC,GAAG,IAAI,CAACqB,KAAK;QACnC,MAAMkB,QAAQ,GAAGvC,YAAY,CAAC0C,MAAM,CAACZ,CAAC,IAAIA,CAAC,CAACF,QAAQ,CAAC;QACrD,IAAIW,QAAQ,IAAIA,QAAQ,CAACI,MAAM,GAAG,CAAC,EAAE;UACnC,IAAI,CAACjD,KAAK,CAAC+C,QAAQ,CAAC,QAAQ,EAAEF,QAAQ,CAAC;QACzC,CAAC,MAAM;UACL,IAAI,CAAC7C,KAAK,CAAC+C,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC;QACjC;MACF;MACA/D,QAAQ,CAACwD,UAAU,CAACC,MAAM,CAAC,CAAC;IAC9B,CAAC;IA9HC,IAAI,CAACd,KAAK,GAAG;MACXxB,OAAO,EAAE,KAAK;MACduB,UAAU,EAAE,CACV;QACEZ,IAAI,EAAE,mBAAmB;QACzBK,GAAG,EAAE;MACP,CAAC,EACD;QACEL,IAAI,EAAE,iBAAiB;QACvBK,GAAG,EAAE;MACP,CAAC,EACD;QACEL,IAAI,EAAE,kBAAkB;QACxBK,GAAG,EAAE;MACP,CAAC,CACF;MACDE,KAAK,EAAE,EAAE;MACTI,IAAI,EAAE,EAAE;MACRnB,YAAY,EAAE,EAAE;MAChBqC,MAAM,EAAE;IACV,CAAC;EACH;EA2GAO,YAAYA,CAACC,KAAK,EAAEN,QAAQ,EAAEO,QAAQ,EAAEjC,GAAG,GAAG,IAAI,EAAEkC,YAAY,GAAG,IAAI,EAAE;IACvE,oBACE/E,KAAA,CAAAgF,aAAA,CAAC5E,gBAAgB;MAACyC,GAAG,EAAEA,GAAI;MAACoC,OAAO,EAAEH;IAAS,gBAC5C9E,KAAA,CAAAgF,aAAA,CAACpE,eAAe;MAACmE,YAAY,EAAEA,YAAa;MAACG,UAAU;IAAA,gBACrDlF,KAAA,CAAAgF,aAAA,CAAC3E,IAAI;MAAC8E,KAAK,EAAEC,MAAM,CAACC;IAAe,gBACjCrF,KAAA,CAAAgF,aAAA,CAACzE,IAAI;MAAC4E,KAAK,EAAEC,MAAM,CAACE;IAAU,GAAET,KAAY,CAAC,eAC7C7E,KAAA,CAAAgF,aAAA,CAACvE,IAAI;MACH+B,IAAI,EAAC,cAAc;MACnB+C,IAAI,EAAC,cAAc;MACnBC,SAAS,EAAE,CAAC;QAAEC,KAAK,EAAEtE,eAAe;QAAEuE,QAAQ,EAAE;MAAG,CAAC,EAAEnB,QAAQ,IAAI;QAAEkB,KAAK,EAAExE;MAAa,CAAC;IAAE,CAC5F,CACG,CACS,CACD,CAAC;EAEvB;EAEA0E,eAAeA,CAAA,EAAG;IAChB,MAAM;MAAE3D,YAAY;MAAEH;IAAQ,CAAC,GAAG,IAAI,CAACwB,KAAK;IAC5C,MAAMuC,WAAW,GAAG,CAAC5D,YAAY,CAACwC,IAAI,CAACV,CAAC,IAAIA,CAAC,CAACF,QAAQ,CAAC;IACvD,IAAI/B,OAAO,EAAE,OAAO,IAAI;IAExB,oBACE7B,KAAA,CAAAgF,aAAA,CAACrE,QAAQ;MAACwE,KAAK,EAAEC,MAAM,CAACS;IAAmB,GAAE,IAAI,CAACjB,YAAY,CAAC,WAAW,EAAEgB,WAAW,EAAE,IAAI,CAACE,WAAW,EAAE,IAAI,EAAE,KAAK,CAAY,CAAC;EAEvI;EAEAC,eAAeA,CAAA,EAAG;IAChB,MAAM;MAAElE,OAAO;MAAEG,YAAY;MAAEqC;IAAO,CAAC,GAAG,IAAI,CAAChB,KAAK;IACpD,IAAIxB,OAAO,EAAE,OAAO,IAAI;IAExB,MAAMmE,YAAY,GAAGhE,YAAY,CAC9B0C,MAAM,CAACZ,CAAC,IAAIA,CAAC,CAACF,QAAQ,CAAC,CACvBJ,GAAG,CAACM,CAAC,IAAIA,CAAC,CAACb,KAAK,CAAC,CACjBgD,IAAI,CAAC,IAAI,CAAC;IACb,MAAMC,WAAW,GAAG,CAAC/F,CAAC,CAACgG,OAAO,CAACH,YAAY,CAAC;IAE5C,oBACEhG,KAAA,CAAAgF,aAAA,CAAC3E,IAAI;MAAC8E,KAAK,EAAEC,MAAM,CAACgB;IAAmB,gBACrCpG,KAAA,CAAAgF,aAAA,CAAC3E,IAAI;MAAC8E,KAAK,EAAEC,MAAM,CAACiB;IAAwB,gBAC1CrG,KAAA,CAAAgF,aAAA,CAACzE,IAAI;MAAC4E,KAAK,EAAEC,MAAM,CAACkB;IAAe,GAAC,sBAA0B,CAAC,EAC9DJ,WAAW,gBACVlG,KAAA,CAAAgF,aAAA,CAAC5E,gBAAgB;MAAC6E,OAAO,EAAE,IAAI,CAACsB;IAAS,gBACvCvG,KAAA,CAAAgF,aAAA,CAACzE,IAAI;MAAC4E,KAAK,EAAEC,MAAM,CAACoB;IAAa,GAAEnC,MAAM,GAAG,UAAU,GAAG,SAAgB,CACzD,CAAC,GACjB,IACA,CAAC,EACN6B,WAAW,gBACVlG,KAAA,CAAAgF,aAAA,CAACzE,IAAI;MAAC4E,KAAK,EAAEC,MAAM,CAACqB,aAAc;MAACC,aAAa,EAAErC,MAAM,GAAG,IAAI,GAAG;IAAE,GAAE,sBAAsB2B,YAAY,EAAS,CAAC,GAChH,IACA,CAAC;EAEX;EAEAW,UAAUA,CAAA,EAAG;IACX,oBACE3G,KAAA,CAAAgF,aAAA,CAAC3E,IAAI;MAAC8E,KAAK,EAAEC,MAAM,CAACwB;IAAa,gBAC/B5G,KAAA,CAAAgF,aAAA,CAACzE,IAAI;MAAC4E,KAAK,EAAEC,MAAM,CAACyB;IAAQ,gBAC1B7G,KAAA,CAAAgF,aAAA,CAACzE,IAAI;MAAC4E,KAAK,EAAE;QAAE2B,UAAU,EAAE;MAAc;IAAE,GAAC,OAAW,CAAC,wEAEpD,CACF,CAAC;EAEX;EAEAC,wBAAwBA,CAAA,EAAG;IACzB,MAAM;MAAElF,OAAO;MAAEG;IAAa,CAAC,GAAG,IAAI,CAACqB,KAAK;IAE5C,oBACErD,KAAA,CAAAgF,aAAA,CAAC1E,UAAU;MAAC6E,KAAK,EAAEC,MAAM,CAAC4B,wBAAyB;MAACC,qBAAqB,EAAE7B,MAAM,CAAC8B;IAAuB,gBACvGlH,KAAA,CAAAgF,aAAA,CAACrE,QAAQ,QACNqB,YAAY,CAACwB,GAAG,CAAC,CAACc,MAAM,EAAE6C,KAAK,KAAK;MACnC,MAAMC,OAAO,GAAGD,KAAK,GAAGnF,YAAY,CAAC2C,MAAM,GAAG,CAAC;MAC/C,OAAO,IAAI,CAACC,YAAY,CAACN,MAAM,CAACrB,KAAK,EAAEqB,MAAM,CAACV,QAAQ,EAAE,MAAM,IAAI,CAACyD,sBAAsB,CAAC/C,MAAM,CAAC,EAAE6C,KAAK,EAAEC,OAAO,CAAC;IACpH,CAAC,CACO,CAAC,EACVvF,OAAO,gBAAG7B,KAAA,CAAAgF,aAAA,CAACjE,OAAO,MAAE,CAAC,GAAG,IAAI,EAC5B,IAAI,CAAC4F,UAAU,CAAC,CACP,CAAC;EAEjB;EAEAW,aAAaA,CAAA,EAAG;IACd,MAAM;MAAEzF;IAAQ,CAAC,GAAG,IAAI,CAACwB,KAAK;IAE9B,oBACErD,KAAA,CAAAgF,aAAA,CAAC3E,IAAI;MAAC8E,KAAK,EAAEC,MAAM,CAACmC;IAAoB,gBACtCvH,KAAA,CAAAgF,aAAA,CAACnE,YAAY;MACX4E,KAAK,EAAE5D,OAAO,GAAGV,eAAe,GAAG,IAAI,CAACO,KAAK,CAAC8F,kBAAmB;MACjEvC,OAAO,EAAE,IAAI,CAACwC,MAAO;MACrBC,cAAc,EAAEtC,MAAM,CAACuC,UAAW;MAClCC,aAAa;MACbC,KAAK;MACLC,QAAQ,EAAEjG;IAAQ,GACnB,MAEa,CACV,CAAC;EAEX;EAEAkG,MAAMA,CAAA,EAAG;IACP,oBACE/H,KAAA,CAAAgF,aAAA,CAAC3E,IAAI;MAAC8E,KAAK,EAAEC,MAAM,CAAC4C;IAAU,gBAC5BhI,KAAA,CAAAgF,aAAA,CAAClE,MAAM;MAACmH,QAAQ,EAAC,YAAY;MAACC,WAAW,EAAE,IAAI,CAACC,WAAY;MAACC,IAAI,EAAE;IAAkB,CAAE,CAAC,EACvF,IAAI,CAACzC,eAAe,CAAC,CAAC,EACtB,IAAI,CAACI,eAAe,CAAC,CAAC,EACtB,IAAI,CAACgB,wBAAwB,CAAC,CAAC,EAC/B,IAAI,CAACO,aAAa,CAAC,CAChB,CAAC;EAEX;AACF;AAEA,MAAMlC,MAAM,GAAG5E,UAAU,CAAC6H,MAAM,CAAC;EAC/BL,SAAS,EAAE;IACTM,IAAI,EAAE,CAAC;IACPC,QAAQ,EAAE,UAAU;IACpBC,eAAe,EAAEtH;EACnB,CAAC;EACD2E,kBAAkB,EAAE;IAClB4C,SAAS,EAAE;EACb,CAAC;EACDrC,kBAAkB,EAAE;IAClBsC,OAAO,EAAE;EACX,CAAC;EACDrC,uBAAuB,EAAE;IACvBsC,aAAa,EAAE,KAAK;IACpBC,cAAc,EAAE;EAClB,CAAC;EACDtC,cAAc,EAAE;IACdQ,UAAU,EAAE,SAAS;IACrBpB,QAAQ,EAAE,EAAE;IACZD,KAAK,EAAEzE;EACT,CAAC;EACDyF,aAAa,EAAE;IACbK,UAAU,EAAE,SAAS;IACrBpB,QAAQ,EAAE,EAAE;IACZD,KAAK,EAAEzE,SAAS;IAChByH,SAAS,EAAE;EACb,CAAC;EACDjC,YAAY,EAAE;IACZqC,UAAU,EAAE,EAAE;IACd/B,UAAU,EAAE,SAAS;IACrBpB,QAAQ,EAAE,EAAE;IACZD,KAAK,EAAErE;EACT,CAAC;EACD4F,wBAAwB,EAAE;IACxBsB,IAAI,EAAE;EACR,CAAC;EACDpB,sBAAsB,EAAE;IACtB4B,QAAQ,EAAE,CAAC;IACXF,cAAc,EAAE,eAAe;IAC/BD,aAAa,EAAE;EACjB,CAAC;EACD/B,YAAY,EAAE;IACZ8B,OAAO,EAAE;EACX,CAAC;EACD7B,OAAO,EAAE;IACPnB,QAAQ,EAAE,EAAE;IACZoB,UAAU,EAAE,YAAY;IACxBrB,KAAK,EAAEzE;EACT,CAAC;EACDqE,cAAc,EAAE;IACdsD,aAAa,EAAE,KAAK;IACpBC,cAAc,EAAE;EAClB,CAAC;EACDtD,SAAS,EAAE;IACTwB,UAAU,EAAE,WAAW;IACvBpB,QAAQ,EAAE,EAAE;IACZD,KAAK,EAAEzE;EACT,CAAC;EACD+H,WAAW,EAAE;IACXN,SAAS,EAAE,CAAC;IACZ/C,QAAQ,EAAE,EAAE;IACZoB,UAAU,EAAE,YAAY;IACxBrB,KAAK,EAAEzE;EACT,CAAC;EACDuG,mBAAmB,EAAE;IACnBiB,eAAe,EAAE,MAAM;IACvBC,SAAS,EAAE,CAAC;IACZE,aAAa,EAAE,KAAK;IACpBK,UAAU,EAAE,EAAE;IACdC,aAAa,EAAE;EACjB,CAAC;EACDtB,UAAU,EAAE;IACVW,IAAI,EAAE,CAAC;IACPY,gBAAgB,EAAE;EACpB;AACF,CAAC,CAAC;AAEF,MAAMC,eAAe,GAAG9F,KAAK,IAAI;EAC/B,OAAO;IACLmE,kBAAkB,EAAEnG,8BAA8B,CAACgC,KAAK;EAC1D,CAAC;AACH,CAAC;AAED,eAAenD,OAAO,CAACiJ,eAAe,EAAE,CAAC,CAAC,CAAC,CAAC3H,oBAAoB,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["React","Component","Text","connect","_","TouchableOpacity","View","ScrollView","StyleSheet","Icon","Services","FormCard","FormCardSection","InlineButton","Header","Spinner","TEXT_DARK","COLOUR_GREEN","BG_GREY","INACTIVE_BUTTON","TEXT_LIGHT","getMainBrandingColourFromState","typeActions","profileActions","AudienceSelectorPage","constructor","props","_defineProperty","setState","loading","getUserTypes","getUserTags","combinedList","getAvailableAudienceTags","error","console","data","site","forEach","e","name","category","toUpperCase","substring","displayName","key","typeName","types","getUserTagsBySite","Title","Id","tags","categories","state","audienceTypeSelection","categoryTags","map","c","AudienceType","AudienceTypeSelection","Selected","some","i","userTypeTags","t","userTagTags","navigation","goBack","newList","seeAll","option","selected","find","onChange","filter","length","renderOption","label","onSelect","hasUnderline","createElement","onPress","hasContent","style","styles","labelContainer","labelText","type","iconStyle","color","fontSize","renderSelectAll","allSelected","selectAllContainer","onSelectAll","renderSelection","selectedText","join","hasSelected","isEmpty","selectionContainer","selectionContainerInner","selectionTitle","onSeeAll","seeAllButton","selectionText","numberOfLines","renderTips","tipContainer","tipText","fontFamily","renderAvailableAudiences","availableScrollContainer","contentContainerStyle","availabelScrollContent","index","notLast","onToggleAudienceOption","renderButtons","doneButtonContainer","colourBrandingMain","onDone","touchableStyle","doneButton","fillTouchable","large","disabled","render","container","leftIcon","onPressLeft","onPressBack","text","create","flex","position","backgroundColor","marginTop","padding","flexDirection","justifyContent","marginLeft","flexGrow","description","paddingTop","paddingBottom","marginHorizontal","mapStateToProps"],"sources":["AudienceSelectorPage.js"],"sourcesContent":["import React, { Component } from \"react\";\nimport { Text } from \"@plusscommunities/pluss-core-app/components\";\nimport { connect } from \"react-redux\";\nimport _ from \"lodash\";\nimport { TouchableOpacity, View, ScrollView, StyleSheet } from \"react-native\";\nimport { Icon } from \"@rneui/themed\";\nimport { Services } from \"../config\";\nimport { FormCard } from \"./FormCard\";\nimport { FormCardSection } from \"./FormCardSection\";\nimport { InlineButton } from \"./InlineButton\";\nimport Header from \"./Header\";\nimport { Spinner } from \"./Spinner\";\nimport {\n\tTEXT_DARK,\n\tCOLOUR_GREEN,\n\tBG_GREY,\n\tINACTIVE_BUTTON,\n\tTEXT_LIGHT,\n\tgetMainBrandingColourFromState,\n} from \"../colours\";\nimport { typeActions, profileActions } from \"../apis\";\n\nclass AudienceSelectorPage extends Component {\n\tconstructor(props) {\n\t\tsuper(props);\n\n\t\tthis.state = {\n\t\t\tloading: false,\n\t\t\tcategories: [\n\t\t\t\t{\n\t\t\t\t\tname: \"All Primary Users\",\n\t\t\t\t\tkey: \"resident\",\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tname: \"All Staff Users\",\n\t\t\t\t\tkey: \"staff\",\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tname: \"All Linked Users\",\n\t\t\t\t\tkey: \"family\",\n\t\t\t\t},\n\t\t\t],\n\t\t\ttypes: [],\n\t\t\ttags: [],\n\t\t\tcombinedList: [],\n\t\t\tseeAll: false,\n\t\t};\n\t}\n\n\tcomponentDidMount = async () => {\n\t\ttry {\n\t\t\tthis.setState({ loading: true });\n\t\t\tawait this.getUserTypes();\n\t\t\tawait this.getUserTags();\n\t\t\tthis.setState({\n\t\t\t\tloading: false,\n\t\t\t\tcombinedList: this.getAvailableAudienceTags(),\n\t\t\t});\n\t\t} catch (error) {\n\t\t\tconsole.error(\"loading types error\", error);\n\t\t\tthis.setState({ loading: false });\n\t\t}\n\t};\n\n\tgetUserTypes = async () => {\n\t\tconst { data } = await typeActions.getUserTypes(this.props.site);\n\t\tdata.forEach((e) => {\n\t\t\te.name = e.category\n\t\t\t\t? `(${e.category[0].toUpperCase() + e.category.substring(1)}) ${e.displayName}`\n\t\t\t\t: e.displayName;\n\t\t\te.key = e.typeName;\n\t\t});\n\t\t// console.log('getUserTypes', data);\n\t\tthis.setState({ types: data });\n\t};\n\n\tgetUserTags = async () => {\n\t\tconst { data } = await profileActions.getUserTagsBySite(this.props.site);\n\t\tdata.forEach((e) => {\n\t\t\te.name = e.Title;\n\t\t\te.key = e.Id;\n\t\t});\n\t\t// console.log('getUserTags', data);\n\t\tthis.setState({ tags: data });\n\t};\n\n\tgetAvailableAudienceTags = () => {\n\t\tconst { categories, types, tags } = this.state;\n\t\tconst { audienceTypeSelection } = this.props;\n\n\t\tconst categoryTags = categories.map((c) => {\n\t\t\tconst Id = `category_${c.key}`;\n\t\t\treturn {\n\t\t\t\tAudienceType: \"Category\",\n\t\t\t\tAudienceTypeSelection: c.key,\n\t\t\t\tId,\n\t\t\t\tTitle: c.name,\n\t\t\t\tSelected: audienceTypeSelection.some((i) => i.Id === Id),\n\t\t\t};\n\t\t});\n\t\tconst userTypeTags = types.map((t) => {\n\t\t\tconst Id = `userType_${t.typeName}`;\n\t\t\treturn {\n\t\t\t\tAudienceType: \"UserType\",\n\t\t\t\tAudienceTypeSelection: t.typeName,\n\t\t\t\tId,\n\t\t\t\tTitle: `User Type: ${t.displayName}`,\n\t\t\t\tSelected: audienceTypeSelection.some((i) => i.Id === Id),\n\t\t\t};\n\t\t});\n\t\tconst userTagTags = tags.map((t) => {\n\t\t\tconst Id = `userTag_${t.Id}`;\n\t\t\treturn {\n\t\t\t\tAudienceType: \"UserTags\",\n\t\t\t\tAudienceTypeSelection: t.Id,\n\t\t\t\tId,\n\t\t\t\tTitle: `User Tag: ${t.Title}`,\n\t\t\t\tSelected: audienceTypeSelection.some((i) => i.Id === Id),\n\t\t\t};\n\t\t});\n\t\treturn [...categoryTags, ...userTypeTags, ...userTagTags];\n\t};\n\n\tonPressBack = () => {\n\t\tServices.navigation.goBack();\n\t};\n\n\tonSelectAll = () => {\n\t\tconst newList = [...this.state.combinedList];\n\t\tnewList.forEach((i) => (i.Selected = false));\n\t\tthis.setState({ combinedList: newList });\n\t};\n\n\tonSeeAll = () => {\n\t\tthis.setState({ seeAll: !this.state.seeAll });\n\t};\n\n\tonToggleAudienceOption = (option) => {\n\t\tconst newList = [...this.state.combinedList];\n\t\tconst selected = newList.find((i) => i.Id === option.Id);\n\t\tif (selected) {\n\t\t\tselected.Selected = !selected.Selected;\n\t\t\tthis.setState({ combinedList: newList });\n\t\t}\n\t};\n\n\tonDone = () => {\n\t\tif (this.props.onChange) {\n\t\t\tconst { combinedList } = this.state;\n\t\t\tconst selected = combinedList.filter((i) => i.Selected);\n\t\t\tif (selected && selected.length > 0) {\n\t\t\t\tthis.props.onChange(\"Custom\", selected);\n\t\t\t} else {\n\t\t\t\tthis.props.onChange(null, null);\n\t\t\t}\n\t\t}\n\t\tServices.navigation.goBack();\n\t};\n\n\trenderOption(label, selected, onSelect, key = null, hasUnderline = true) {\n\t\treturn (\n\t\t\t<TouchableOpacity key={key} onPress={onSelect}>\n\t\t\t\t<FormCardSection hasUnderline={hasUnderline} hasContent>\n\t\t\t\t\t<View style={styles.labelContainer}>\n\t\t\t\t\t\t<Text style={styles.labelText}>{label}</Text>\n\t\t\t\t\t\t<Icon\n\t\t\t\t\t\t\tname=\"check-circle\"\n\t\t\t\t\t\t\ttype=\"font-awesome\"\n\t\t\t\t\t\t\ticonStyle={[\n\t\t\t\t\t\t\t\t{ color: INACTIVE_BUTTON, fontSize: 20 },\n\t\t\t\t\t\t\t\tselected && { color: COLOUR_GREEN },\n\t\t\t\t\t\t\t]}\n\t\t\t\t\t\t/>\n\t\t\t\t\t</View>\n\t\t\t\t</FormCardSection>\n\t\t\t</TouchableOpacity>\n\t\t);\n\t}\n\n\trenderSelectAll() {\n\t\tconst { combinedList, loading } = this.state;\n\t\tconst allSelected = !combinedList.find((i) => i.Selected);\n\t\tif (loading) return null;\n\n\t\treturn (\n\t\t\t<FormCard style={styles.selectAllContainer}>\n\t\t\t\t{this.renderOption(\n\t\t\t\t\t\"All Users\",\n\t\t\t\t\tallSelected,\n\t\t\t\t\tthis.onSelectAll,\n\t\t\t\t\tnull,\n\t\t\t\t\tfalse,\n\t\t\t\t)}\n\t\t\t</FormCard>\n\t\t);\n\t}\n\n\trenderSelection() {\n\t\tconst { loading, combinedList, seeAll } = this.state;\n\t\tif (loading) return null;\n\n\t\tconst selectedText = combinedList\n\t\t\t.filter((i) => i.Selected)\n\t\t\t.map((i) => i.Title)\n\t\t\t.join(\", \");\n\t\tconst hasSelected = !_.isEmpty(selectedText);\n\n\t\treturn (\n\t\t\t<View style={styles.selectionContainer}>\n\t\t\t\t<View style={styles.selectionContainerInner}>\n\t\t\t\t\t<Text style={styles.selectionTitle}>or select from below</Text>\n\t\t\t\t\t{hasSelected ? (\n\t\t\t\t\t\t<TouchableOpacity onPress={this.onSeeAll}>\n\t\t\t\t\t\t\t<Text style={styles.seeAllButton}>\n\t\t\t\t\t\t\t\t{seeAll ? \"See less\" : \"See all\"}\n\t\t\t\t\t\t\t</Text>\n\t\t\t\t\t\t</TouchableOpacity>\n\t\t\t\t\t) : null}\n\t\t\t\t</View>\n\t\t\t\t{hasSelected ? (\n\t\t\t\t\t<Text\n\t\t\t\t\t\tstyle={styles.selectionText}\n\t\t\t\t\t\tnumberOfLines={seeAll ? null : 1}\n\t\t\t\t\t>{`Current selection: ${selectedText}`}</Text>\n\t\t\t\t) : null}\n\t\t\t</View>\n\t\t);\n\t}\n\n\trenderTips() {\n\t\treturn (\n\t\t\t<View style={styles.tipContainer}>\n\t\t\t\t<Text style={styles.tipText}>\n\t\t\t\t\t<Text style={{ fontFamily: \"sf-semibold\" }}>Tip: </Text>\n\t\t\t\t\tGroup your users using User Tags from your website Community Manager\n\t\t\t\t</Text>\n\t\t\t</View>\n\t\t);\n\t}\n\n\trenderAvailableAudiences() {\n\t\tconst { loading, combinedList } = this.state;\n\n\t\treturn (\n\t\t\t<ScrollView\n\t\t\t\tstyle={styles.availableScrollContainer}\n\t\t\t\tcontentContainerStyle={styles.availabelScrollContent}\n\t\t\t>\n\t\t\t\t<FormCard>\n\t\t\t\t\t{combinedList.map((option, index) => {\n\t\t\t\t\t\tconst notLast = index < combinedList.length - 1;\n\t\t\t\t\t\treturn this.renderOption(\n\t\t\t\t\t\t\toption.Title,\n\t\t\t\t\t\t\toption.Selected,\n\t\t\t\t\t\t\t() => this.onToggleAudienceOption(option),\n\t\t\t\t\t\t\tindex,\n\t\t\t\t\t\t\tnotLast,\n\t\t\t\t\t\t);\n\t\t\t\t\t})}\n\t\t\t\t</FormCard>\n\t\t\t\t{loading ? <Spinner /> : null}\n\t\t\t\t{this.renderTips()}\n\t\t\t</ScrollView>\n\t\t);\n\t}\n\n\trenderButtons() {\n\t\tconst { loading } = this.state;\n\n\t\treturn (\n\t\t\t<View style={styles.doneButtonContainer}>\n\t\t\t\t<InlineButton\n\t\t\t\t\tcolor={loading ? INACTIVE_BUTTON : this.props.colourBrandingMain}\n\t\t\t\t\tonPress={this.onDone}\n\t\t\t\t\ttouchableStyle={styles.doneButton}\n\t\t\t\t\tfillTouchable\n\t\t\t\t\tlarge\n\t\t\t\t\tdisabled={loading}\n\t\t\t\t>\n\t\t\t\t\tDone\n\t\t\t\t</InlineButton>\n\t\t\t</View>\n\t\t);\n\t}\n\n\trender() {\n\t\treturn (\n\t\t\t<View style={styles.container}>\n\t\t\t\t<Header\n\t\t\t\t\tleftIcon=\"angle-left\"\n\t\t\t\t\tonPressLeft={this.onPressBack}\n\t\t\t\t\ttext={\"Select Audience\"}\n\t\t\t\t/>\n\t\t\t\t{this.renderSelectAll()}\n\t\t\t\t{this.renderSelection()}\n\t\t\t\t{this.renderAvailableAudiences()}\n\t\t\t\t{this.renderButtons()}\n\t\t\t</View>\n\t\t);\n\t}\n}\n\nconst styles = StyleSheet.create({\n\tcontainer: {\n\t\tflex: 1,\n\t\tposition: \"relative\",\n\t\tbackgroundColor: BG_GREY,\n\t},\n\tselectAllContainer: {\n\t\tmarginTop: 20,\n\t},\n\tselectionContainer: {\n\t\tpadding: 20,\n\t},\n\tselectionContainerInner: {\n\t\tflexDirection: \"row\",\n\t\tjustifyContent: \"space-between\",\n\t},\n\tselectionTitle: {\n\t\tfontFamily: \"sf-bold\",\n\t\tfontSize: 14,\n\t\tcolor: TEXT_DARK,\n\t},\n\tselectionText: {\n\t\tfontFamily: \"sf-bold\",\n\t\tfontSize: 14,\n\t\tcolor: TEXT_DARK,\n\t\tmarginTop: 10,\n\t},\n\tseeAllButton: {\n\t\tmarginLeft: 10,\n\t\tfontFamily: \"sf-bold\",\n\t\tfontSize: 14,\n\t\tcolor: TEXT_LIGHT,\n\t},\n\tavailableScrollContainer: {\n\t\tflex: 1,\n\t},\n\tavailabelScrollContent: {\n\t\tflexGrow: 1,\n\t\tjustifyContent: \"space-between\",\n\t\tflexDirection: \"column\",\n\t},\n\ttipContainer: {\n\t\tpadding: 10,\n\t},\n\ttipText: {\n\t\tfontSize: 14,\n\t\tfontFamily: \"sf-regular\",\n\t\tcolor: TEXT_DARK,\n\t},\n\tlabelContainer: {\n\t\tflexDirection: \"row\",\n\t\tjustifyContent: \"space-between\",\n\t},\n\tlabelText: {\n\t\tfontFamily: \"sf-medium\",\n\t\tfontSize: 16,\n\t\tcolor: TEXT_DARK,\n\t},\n\tdescription: {\n\t\tmarginTop: 5,\n\t\tfontSize: 14,\n\t\tfontFamily: \"sf-regular\",\n\t\tcolor: TEXT_DARK,\n\t},\n\tdoneButtonContainer: {\n\t\tbackgroundColor: \"#fff\",\n\t\tmarginTop: 1,\n\t\tflexDirection: \"row\",\n\t\tpaddingTop: 10,\n\t\tpaddingBottom: 20,\n\t},\n\tdoneButton: {\n\t\tflex: 1,\n\t\tmarginHorizontal: 6,\n\t},\n});\n\nconst mapStateToProps = (state) => {\n\treturn {\n\t\tcolourBrandingMain: getMainBrandingColourFromState(state),\n\t};\n};\n\nexport default connect(mapStateToProps, {})(AudienceSelectorPage);\n"],"mappings":";;;AAAA,OAAOA,KAAK,IAAIC,SAAS,QAAQ,OAAO;AACxC,SAASC,IAAI,QAAQ,6CAA6C;AAClE,SAASC,OAAO,QAAQ,aAAa;AACrC,OAAOC,CAAC,MAAM,QAAQ;AACtB,SAASC,gBAAgB,EAAEC,IAAI,EAAEC,UAAU,EAAEC,UAAU,QAAQ,cAAc;AAC7E,SAASC,IAAI,QAAQ,eAAe;AACpC,SAASC,QAAQ,QAAQ,WAAW;AACpC,SAASC,QAAQ,QAAQ,YAAY;AACrC,SAASC,eAAe,QAAQ,mBAAmB;AACnD,SAASC,YAAY,QAAQ,gBAAgB;AAC7C,OAAOC,MAAM,MAAM,UAAU;AAC7B,SAASC,OAAO,QAAQ,WAAW;AACnC,SACCC,SAAS,EACTC,YAAY,EACZC,OAAO,EACPC,eAAe,EACfC,UAAU,EACVC,8BAA8B,QACxB,YAAY;AACnB,SAASC,WAAW,EAAEC,cAAc,QAAQ,SAAS;AAErD,MAAMC,oBAAoB,SAASvB,SAAS,CAAC;EAC5CwB,WAAWA,CAACC,KAAK,EAAE;IAClB,KAAK,CAACA,KAAK,CAAC;IAACC,eAAA,4BAyBM,YAAY;MAC/B,IAAI;QACH,IAAI,CAACC,QAAQ,CAAC;UAAEC,OAAO,EAAE;QAAK,CAAC,CAAC;QAChC,MAAM,IAAI,CAACC,YAAY,CAAC,CAAC;QACzB,MAAM,IAAI,CAACC,WAAW,CAAC,CAAC;QACxB,IAAI,CAACH,QAAQ,CAAC;UACbC,OAAO,EAAE,KAAK;UACdG,YAAY,EAAE,IAAI,CAACC,wBAAwB,CAAC;QAC7C,CAAC,CAAC;MACH,CAAC,CAAC,OAAOC,KAAK,EAAE;QACfC,OAAO,CAACD,KAAK,CAAC,qBAAqB,EAAEA,KAAK,CAAC;QAC3C,IAAI,CAACN,QAAQ,CAAC;UAAEC,OAAO,EAAE;QAAM,CAAC,CAAC;MAClC;IACD,CAAC;IAAAF,eAAA,uBAEc,YAAY;MAC1B,MAAM;QAAES;MAAK,CAAC,GAAG,MAAMd,WAAW,CAACQ,YAAY,CAAC,IAAI,CAACJ,KAAK,CAACW,IAAI,CAAC;MAChED,IAAI,CAACE,OAAO,CAAEC,CAAC,IAAK;QACnBA,CAAC,CAACC,IAAI,GAAGD,CAAC,CAACE,QAAQ,GAChB,IAAIF,CAAC,CAACE,QAAQ,CAAC,CAAC,CAAC,CAACC,WAAW,CAAC,CAAC,GAAGH,CAAC,CAACE,QAAQ,CAACE,SAAS,CAAC,CAAC,CAAC,KAAKJ,CAAC,CAACK,WAAW,EAAE,GAC7EL,CAAC,CAACK,WAAW;QAChBL,CAAC,CAACM,GAAG,GAAGN,CAAC,CAACO,QAAQ;MACnB,CAAC,CAAC;MACF;MACA,IAAI,CAAClB,QAAQ,CAAC;QAAEmB,KAAK,EAAEX;MAAK,CAAC,CAAC;IAC/B,CAAC;IAAAT,eAAA,sBAEa,YAAY;MACzB,MAAM;QAAES;MAAK,CAAC,GAAG,MAAMb,cAAc,CAACyB,iBAAiB,CAAC,IAAI,CAACtB,KAAK,CAACW,IAAI,CAAC;MACxED,IAAI,CAACE,OAAO,CAAEC,CAAC,IAAK;QACnBA,CAAC,CAACC,IAAI,GAAGD,CAAC,CAACU,KAAK;QAChBV,CAAC,CAACM,GAAG,GAAGN,CAAC,CAACW,EAAE;MACb,CAAC,CAAC;MACF;MACA,IAAI,CAACtB,QAAQ,CAAC;QAAEuB,IAAI,EAAEf;MAAK,CAAC,CAAC;IAC9B,CAAC;IAAAT,eAAA,mCAE0B,MAAM;MAChC,MAAM;QAAEyB,UAAU;QAAEL,KAAK;QAAEI;MAAK,CAAC,GAAG,IAAI,CAACE,KAAK;MAC9C,MAAM;QAAEC;MAAsB,CAAC,GAAG,IAAI,CAAC5B,KAAK;MAE5C,MAAM6B,YAAY,GAAGH,UAAU,CAACI,GAAG,CAAEC,CAAC,IAAK;QAC1C,MAAMP,EAAE,GAAG,YAAYO,CAAC,CAACZ,GAAG,EAAE;QAC9B,OAAO;UACNa,YAAY,EAAE,UAAU;UACxBC,qBAAqB,EAAEF,CAAC,CAACZ,GAAG;UAC5BK,EAAE;UACFD,KAAK,EAAEQ,CAAC,CAACjB,IAAI;UACboB,QAAQ,EAAEN,qBAAqB,CAACO,IAAI,CAAEC,CAAC,IAAKA,CAAC,CAACZ,EAAE,KAAKA,EAAE;QACxD,CAAC;MACF,CAAC,CAAC;MACF,MAAMa,YAAY,GAAGhB,KAAK,CAACS,GAAG,CAAEQ,CAAC,IAAK;QACrC,MAAMd,EAAE,GAAG,YAAYc,CAAC,CAAClB,QAAQ,EAAE;QACnC,OAAO;UACNY,YAAY,EAAE,UAAU;UACxBC,qBAAqB,EAAEK,CAAC,CAAClB,QAAQ;UACjCI,EAAE;UACFD,KAAK,EAAE,cAAce,CAAC,CAACpB,WAAW,EAAE;UACpCgB,QAAQ,EAAEN,qBAAqB,CAACO,IAAI,CAAEC,CAAC,IAAKA,CAAC,CAACZ,EAAE,KAAKA,EAAE;QACxD,CAAC;MACF,CAAC,CAAC;MACF,MAAMe,WAAW,GAAGd,IAAI,CAACK,GAAG,CAAEQ,CAAC,IAAK;QACnC,MAAMd,EAAE,GAAG,WAAWc,CAAC,CAACd,EAAE,EAAE;QAC5B,OAAO;UACNQ,YAAY,EAAE,UAAU;UACxBC,qBAAqB,EAAEK,CAAC,CAACd,EAAE;UAC3BA,EAAE;UACFD,KAAK,EAAE,aAAae,CAAC,CAACf,KAAK,EAAE;UAC7BW,QAAQ,EAAEN,qBAAqB,CAACO,IAAI,CAAEC,CAAC,IAAKA,CAAC,CAACZ,EAAE,KAAKA,EAAE;QACxD,CAAC;MACF,CAAC,CAAC;MACF,OAAO,CAAC,GAAGK,YAAY,EAAE,GAAGQ,YAAY,EAAE,GAAGE,WAAW,CAAC;IAC1D,CAAC;IAAAtC,eAAA,sBAEa,MAAM;MACnBjB,QAAQ,CAACwD,UAAU,CAACC,MAAM,CAAC,CAAC;IAC7B,CAAC;IAAAxC,eAAA,sBAEa,MAAM;MACnB,MAAMyC,OAAO,GAAG,CAAC,GAAG,IAAI,CAACf,KAAK,CAACrB,YAAY,CAAC;MAC5CoC,OAAO,CAAC9B,OAAO,CAAEwB,CAAC,IAAMA,CAAC,CAACF,QAAQ,GAAG,KAAM,CAAC;MAC5C,IAAI,CAAChC,QAAQ,CAAC;QAAEI,YAAY,EAAEoC;MAAQ,CAAC,CAAC;IACzC,CAAC;IAAAzC,eAAA,mBAEU,MAAM;MAChB,IAAI,CAACC,QAAQ,CAAC;QAAEyC,MAAM,EAAE,CAAC,IAAI,CAAChB,KAAK,CAACgB;MAAO,CAAC,CAAC;IAC9C,CAAC;IAAA1C,eAAA,iCAEyB2C,MAAM,IAAK;MACpC,MAAMF,OAAO,GAAG,CAAC,GAAG,IAAI,CAACf,KAAK,CAACrB,YAAY,CAAC;MAC5C,MAAMuC,QAAQ,GAAGH,OAAO,CAACI,IAAI,CAAEV,CAAC,IAAKA,CAAC,CAACZ,EAAE,KAAKoB,MAAM,CAACpB,EAAE,CAAC;MACxD,IAAIqB,QAAQ,EAAE;QACbA,QAAQ,CAACX,QAAQ,GAAG,CAACW,QAAQ,CAACX,QAAQ;QACtC,IAAI,CAAChC,QAAQ,CAAC;UAAEI,YAAY,EAAEoC;QAAQ,CAAC,CAAC;MACzC;IACD,CAAC;IAAAzC,eAAA,iBAEQ,MAAM;MACd,IAAI,IAAI,CAACD,KAAK,CAAC+C,QAAQ,EAAE;QACxB,MAAM;UAAEzC;QAAa,CAAC,GAAG,IAAI,CAACqB,KAAK;QACnC,MAAMkB,QAAQ,GAAGvC,YAAY,CAAC0C,MAAM,CAAEZ,CAAC,IAAKA,CAAC,CAACF,QAAQ,CAAC;QACvD,IAAIW,QAAQ,IAAIA,QAAQ,CAACI,MAAM,GAAG,CAAC,EAAE;UACpC,IAAI,CAACjD,KAAK,CAAC+C,QAAQ,CAAC,QAAQ,EAAEF,QAAQ,CAAC;QACxC,CAAC,MAAM;UACN,IAAI,CAAC7C,KAAK,CAAC+C,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC;QAChC;MACD;MACA/D,QAAQ,CAACwD,UAAU,CAACC,MAAM,CAAC,CAAC;IAC7B,CAAC;IAnIA,IAAI,CAACd,KAAK,GAAG;MACZxB,OAAO,EAAE,KAAK;MACduB,UAAU,EAAE,CACX;QACCZ,IAAI,EAAE,mBAAmB;QACzBK,GAAG,EAAE;MACN,CAAC,EACD;QACCL,IAAI,EAAE,iBAAiB;QACvBK,GAAG,EAAE;MACN,CAAC,EACD;QACCL,IAAI,EAAE,kBAAkB;QACxBK,GAAG,EAAE;MACN,CAAC,CACD;MACDE,KAAK,EAAE,EAAE;MACTI,IAAI,EAAE,EAAE;MACRnB,YAAY,EAAE,EAAE;MAChBqC,MAAM,EAAE;IACT,CAAC;EACF;EAgHAO,YAAYA,CAACC,KAAK,EAAEN,QAAQ,EAAEO,QAAQ,EAAEjC,GAAG,GAAG,IAAI,EAAEkC,YAAY,GAAG,IAAI,EAAE;IACxE,oBACC/E,KAAA,CAAAgF,aAAA,CAAC3E,gBAAgB;MAACwC,GAAG,EAAEA,GAAI;MAACoC,OAAO,EAAEH;IAAS,gBAC7C9E,KAAA,CAAAgF,aAAA,CAACpE,eAAe;MAACmE,YAAY,EAAEA,YAAa;MAACG,UAAU;IAAA,gBACtDlF,KAAA,CAAAgF,aAAA,CAAC1E,IAAI;MAAC6E,KAAK,EAAEC,MAAM,CAACC;IAAe,gBAClCrF,KAAA,CAAAgF,aAAA,CAAC9E,IAAI;MAACiF,KAAK,EAAEC,MAAM,CAACE;IAAU,GAAET,KAAY,CAAC,eAC7C7E,KAAA,CAAAgF,aAAA,CAACvE,IAAI;MACJ+B,IAAI,EAAC,cAAc;MACnB+C,IAAI,EAAC,cAAc;MACnBC,SAAS,EAAE,CACV;QAAEC,KAAK,EAAEtE,eAAe;QAAEuE,QAAQ,EAAE;MAAG,CAAC,EACxCnB,QAAQ,IAAI;QAAEkB,KAAK,EAAExE;MAAa,CAAC;IAClC,CACF,CACI,CACU,CACA,CAAC;EAErB;EAEA0E,eAAeA,CAAA,EAAG;IACjB,MAAM;MAAE3D,YAAY;MAAEH;IAAQ,CAAC,GAAG,IAAI,CAACwB,KAAK;IAC5C,MAAMuC,WAAW,GAAG,CAAC5D,YAAY,CAACwC,IAAI,CAAEV,CAAC,IAAKA,CAAC,CAACF,QAAQ,CAAC;IACzD,IAAI/B,OAAO,EAAE,OAAO,IAAI;IAExB,oBACC7B,KAAA,CAAAgF,aAAA,CAACrE,QAAQ;MAACwE,KAAK,EAAEC,MAAM,CAACS;IAAmB,GACzC,IAAI,CAACjB,YAAY,CACjB,WAAW,EACXgB,WAAW,EACX,IAAI,CAACE,WAAW,EAChB,IAAI,EACJ,KACD,CACS,CAAC;EAEb;EAEAC,eAAeA,CAAA,EAAG;IACjB,MAAM;MAAElE,OAAO;MAAEG,YAAY;MAAEqC;IAAO,CAAC,GAAG,IAAI,CAAChB,KAAK;IACpD,IAAIxB,OAAO,EAAE,OAAO,IAAI;IAExB,MAAMmE,YAAY,GAAGhE,YAAY,CAC/B0C,MAAM,CAAEZ,CAAC,IAAKA,CAAC,CAACF,QAAQ,CAAC,CACzBJ,GAAG,CAAEM,CAAC,IAAKA,CAAC,CAACb,KAAK,CAAC,CACnBgD,IAAI,CAAC,IAAI,CAAC;IACZ,MAAMC,WAAW,GAAG,CAAC9F,CAAC,CAAC+F,OAAO,CAACH,YAAY,CAAC;IAE5C,oBACChG,KAAA,CAAAgF,aAAA,CAAC1E,IAAI;MAAC6E,KAAK,EAAEC,MAAM,CAACgB;IAAmB,gBACtCpG,KAAA,CAAAgF,aAAA,CAAC1E,IAAI;MAAC6E,KAAK,EAAEC,MAAM,CAACiB;IAAwB,gBAC3CrG,KAAA,CAAAgF,aAAA,CAAC9E,IAAI;MAACiF,KAAK,EAAEC,MAAM,CAACkB;IAAe,GAAC,sBAA0B,CAAC,EAC9DJ,WAAW,gBACXlG,KAAA,CAAAgF,aAAA,CAAC3E,gBAAgB;MAAC4E,OAAO,EAAE,IAAI,CAACsB;IAAS,gBACxCvG,KAAA,CAAAgF,aAAA,CAAC9E,IAAI;MAACiF,KAAK,EAAEC,MAAM,CAACoB;IAAa,GAC/BnC,MAAM,GAAG,UAAU,GAAG,SAClB,CACW,CAAC,GAChB,IACC,CAAC,EACN6B,WAAW,gBACXlG,KAAA,CAAAgF,aAAA,CAAC9E,IAAI;MACJiF,KAAK,EAAEC,MAAM,CAACqB,aAAc;MAC5BC,aAAa,EAAErC,MAAM,GAAG,IAAI,GAAG;IAAE,GAChC,sBAAsB2B,YAAY,EAAS,CAAC,GAC3C,IACC,CAAC;EAET;EAEAW,UAAUA,CAAA,EAAG;IACZ,oBACC3G,KAAA,CAAAgF,aAAA,CAAC1E,IAAI;MAAC6E,KAAK,EAAEC,MAAM,CAACwB;IAAa,gBAChC5G,KAAA,CAAAgF,aAAA,CAAC9E,IAAI;MAACiF,KAAK,EAAEC,MAAM,CAACyB;IAAQ,gBAC3B7G,KAAA,CAAAgF,aAAA,CAAC9E,IAAI;MAACiF,KAAK,EAAE;QAAE2B,UAAU,EAAE;MAAc;IAAE,GAAC,OAAW,CAAC,wEAEnD,CACD,CAAC;EAET;EAEAC,wBAAwBA,CAAA,EAAG;IAC1B,MAAM;MAAElF,OAAO;MAAEG;IAAa,CAAC,GAAG,IAAI,CAACqB,KAAK;IAE5C,oBACCrD,KAAA,CAAAgF,aAAA,CAACzE,UAAU;MACV4E,KAAK,EAAEC,MAAM,CAAC4B,wBAAyB;MACvCC,qBAAqB,EAAE7B,MAAM,CAAC8B;IAAuB,gBAErDlH,KAAA,CAAAgF,aAAA,CAACrE,QAAQ,QACPqB,YAAY,CAACwB,GAAG,CAAC,CAACc,MAAM,EAAE6C,KAAK,KAAK;MACpC,MAAMC,OAAO,GAAGD,KAAK,GAAGnF,YAAY,CAAC2C,MAAM,GAAG,CAAC;MAC/C,OAAO,IAAI,CAACC,YAAY,CACvBN,MAAM,CAACrB,KAAK,EACZqB,MAAM,CAACV,QAAQ,EACf,MAAM,IAAI,CAACyD,sBAAsB,CAAC/C,MAAM,CAAC,EACzC6C,KAAK,EACLC,OACD,CAAC;IACF,CAAC,CACQ,CAAC,EACVvF,OAAO,gBAAG7B,KAAA,CAAAgF,aAAA,CAACjE,OAAO,MAAE,CAAC,GAAG,IAAI,EAC5B,IAAI,CAAC4F,UAAU,CAAC,CACN,CAAC;EAEf;EAEAW,aAAaA,CAAA,EAAG;IACf,MAAM;MAAEzF;IAAQ,CAAC,GAAG,IAAI,CAACwB,KAAK;IAE9B,oBACCrD,KAAA,CAAAgF,aAAA,CAAC1E,IAAI;MAAC6E,KAAK,EAAEC,MAAM,CAACmC;IAAoB,gBACvCvH,KAAA,CAAAgF,aAAA,CAACnE,YAAY;MACZ4E,KAAK,EAAE5D,OAAO,GAAGV,eAAe,GAAG,IAAI,CAACO,KAAK,CAAC8F,kBAAmB;MACjEvC,OAAO,EAAE,IAAI,CAACwC,MAAO;MACrBC,cAAc,EAAEtC,MAAM,CAACuC,UAAW;MAClCC,aAAa;MACbC,KAAK;MACLC,QAAQ,EAAEjG;IAAQ,GAClB,MAEa,CACT,CAAC;EAET;EAEAkG,MAAMA,CAAA,EAAG;IACR,oBACC/H,KAAA,CAAAgF,aAAA,CAAC1E,IAAI;MAAC6E,KAAK,EAAEC,MAAM,CAAC4C;IAAU,gBAC7BhI,KAAA,CAAAgF,aAAA,CAAClE,MAAM;MACNmH,QAAQ,EAAC,YAAY;MACrBC,WAAW,EAAE,IAAI,CAACC,WAAY;MAC9BC,IAAI,EAAE;IAAkB,CACxB,CAAC,EACD,IAAI,CAACzC,eAAe,CAAC,CAAC,EACtB,IAAI,CAACI,eAAe,CAAC,CAAC,EACtB,IAAI,CAACgB,wBAAwB,CAAC,CAAC,EAC/B,IAAI,CAACO,aAAa,CAAC,CACf,CAAC;EAET;AACD;AAEA,MAAMlC,MAAM,GAAG5E,UAAU,CAAC6H,MAAM,CAAC;EAChCL,SAAS,EAAE;IACVM,IAAI,EAAE,CAAC;IACPC,QAAQ,EAAE,UAAU;IACpBC,eAAe,EAAEtH;EAClB,CAAC;EACD2E,kBAAkB,EAAE;IACnB4C,SAAS,EAAE;EACZ,CAAC;EACDrC,kBAAkB,EAAE;IACnBsC,OAAO,EAAE;EACV,CAAC;EACDrC,uBAAuB,EAAE;IACxBsC,aAAa,EAAE,KAAK;IACpBC,cAAc,EAAE;EACjB,CAAC;EACDtC,cAAc,EAAE;IACfQ,UAAU,EAAE,SAAS;IACrBpB,QAAQ,EAAE,EAAE;IACZD,KAAK,EAAEzE;EACR,CAAC;EACDyF,aAAa,EAAE;IACdK,UAAU,EAAE,SAAS;IACrBpB,QAAQ,EAAE,EAAE;IACZD,KAAK,EAAEzE,SAAS;IAChByH,SAAS,EAAE;EACZ,CAAC;EACDjC,YAAY,EAAE;IACbqC,UAAU,EAAE,EAAE;IACd/B,UAAU,EAAE,SAAS;IACrBpB,QAAQ,EAAE,EAAE;IACZD,KAAK,EAAErE;EACR,CAAC;EACD4F,wBAAwB,EAAE;IACzBsB,IAAI,EAAE;EACP,CAAC;EACDpB,sBAAsB,EAAE;IACvB4B,QAAQ,EAAE,CAAC;IACXF,cAAc,EAAE,eAAe;IAC/BD,aAAa,EAAE;EAChB,CAAC;EACD/B,YAAY,EAAE;IACb8B,OAAO,EAAE;EACV,CAAC;EACD7B,OAAO,EAAE;IACRnB,QAAQ,EAAE,EAAE;IACZoB,UAAU,EAAE,YAAY;IACxBrB,KAAK,EAAEzE;EACR,CAAC;EACDqE,cAAc,EAAE;IACfsD,aAAa,EAAE,KAAK;IACpBC,cAAc,EAAE;EACjB,CAAC;EACDtD,SAAS,EAAE;IACVwB,UAAU,EAAE,WAAW;IACvBpB,QAAQ,EAAE,EAAE;IACZD,KAAK,EAAEzE;EACR,CAAC;EACD+H,WAAW,EAAE;IACZN,SAAS,EAAE,CAAC;IACZ/C,QAAQ,EAAE,EAAE;IACZoB,UAAU,EAAE,YAAY;IACxBrB,KAAK,EAAEzE;EACR,CAAC;EACDuG,mBAAmB,EAAE;IACpBiB,eAAe,EAAE,MAAM;IACvBC,SAAS,EAAE,CAAC;IACZE,aAAa,EAAE,KAAK;IACpBK,UAAU,EAAE,EAAE;IACdC,aAAa,EAAE;EAChB,CAAC;EACDtB,UAAU,EAAE;IACXW,IAAI,EAAE,CAAC;IACPY,gBAAgB,EAAE;EACnB;AACD,CAAC,CAAC;AAEF,MAAMC,eAAe,GAAI9F,KAAK,IAAK;EAClC,OAAO;IACNmE,kBAAkB,EAAEnG,8BAA8B,CAACgC,KAAK;EACzD,CAAC;AACF,CAAC;AAED,eAAelD,OAAO,CAACgJ,eAAe,EAAE,CAAC,CAAC,CAAC,CAAC3H,oBAAoB,CAAC","ignoreList":[]}
@@ -1,12 +1,12 @@
1
1
  function _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; }
2
2
  function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : i + ""; }
3
3
  function _toPrimitive(t, r) { if ("object" != typeof t || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != typeof i) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
4
- import React, { Component } from 'react';
5
- import { View, Image, Animated, StyleSheet } from 'react-native';
6
- import { connect } from 'react-redux';
7
- import moment from 'moment';
8
- import { findLandmarkRange, getScaledOffset, get300, detectFaces } from '../helper';
9
- import { saveImagePosition } from '../actions';
4
+ import React, { Component } from "react";
5
+ import { View, Image, Animated, StyleSheet } from "react-native";
6
+ import { connect } from "react-redux";
7
+ import moment from "moment";
8
+ import { findLandmarkRange, getScaledOffset, get300, detectFaces } from "../helper";
9
+ import { saveImagePosition } from "../actions";
10
10
  class AutoOffsetImage extends Component {
11
11
  constructor(props) {
12
12
  super(props);
@@ -45,13 +45,13 @@ class AutoOffsetImage extends Component {
45
45
  // check remote cache
46
46
  if (!cachedValues) {
47
47
  try {
48
- const response = await stringActions.getString('plussSpace', `imagefaces_${encodeURIComponent(this.props.uri)}`);
48
+ const response = await stringActions.getString("plussSpace", `imagefaces_${encodeURIComponent(this.props.uri)}`);
49
49
  cachedValues = response.data;
50
50
  } catch (e) {
51
- console.log('errored from cache');
51
+ console.log("errored from cache");
52
52
  }
53
53
  // run face detection locally
54
- if (!cachedValues || !cachedValues.faces || !cachedValues.image || _.isEmpty(cachedValues.faces) && moment().add(-1, 'w').valueOf() > moment(cachedValues.timestamp).valueOf()) {
54
+ if (!cachedValues || !cachedValues.faces || !cachedValues.image || _.isEmpty(cachedValues.faces) && moment().add(-1, "w").valueOf() > moment(cachedValues.timestamp).valueOf()) {
55
55
  cachedValues = await detectFaces(this.props.uri);
56
56
  }
57
57
  this.props.saveImagePosition(this.props.uri, cachedValues);
@@ -160,16 +160,16 @@ class AutoOffsetImage extends Component {
160
160
  }
161
161
  const styles = StyleSheet.create({
162
162
  container: {
163
- overflow: 'hidden'
163
+ overflow: "hidden"
164
164
  },
165
165
  image: {
166
- position: 'absolute',
166
+ position: "absolute",
167
167
  top: 0,
168
168
  left: 0,
169
- resizeMode: 'cover'
169
+ resizeMode: "cover"
170
170
  },
171
171
  staticImage: {
172
- resizeMode: 'cover'
172
+ resizeMode: "cover"
173
173
  }
174
174
  });
175
175
  const mapStateToProps = state => {
@@ -1 +1 @@
1
- {"version":3,"names":["React","Component","View","Image","Animated","StyleSheet","connect","moment","findLandmarkRange","getScaledOffset","get300","detectFaces","saveImagePosition","AutoOffsetImage","constructor","props","_defineProperty","event","nativeEvent","source","uri","setState","imageSource","state","disabled","startTime","valueOf","cachedValues","imagePositions","response","stringActions","getString","encodeURIComponent","data","e","console","log","faces","image","_","isEmpty","add","timestamp","targetWidth","width","targetHeight","height","scaledOffset","start","landmarkStart","end","landmarkEnd","bounds","imageBounds","offset","y","Math","max","paddingFactor","x","imageStyle","top","left","endTime","timing","blurRadius","toValue","duration","useNativeDriver","Value","componentDidMount","positionImage","componentDidUpdate","prevProps","render","createElement","style","styles","container","onLoad","children","create","overflow","position","resizeMode","staticImage","mapStateToProps","media","positions","autoOffsetImage"],"sources":["AutoOffsetImage.js"],"sourcesContent":["import React, { Component } from 'react';\nimport { View, Image, Animated, StyleSheet } from 'react-native';\nimport { connect } from 'react-redux';\nimport moment from 'moment';\nimport { findLandmarkRange, getScaledOffset, get300, detectFaces } from '../helper';\nimport { saveImagePosition } from '../actions';\n\nclass AutoOffsetImage extends Component {\n constructor(props) {\n super(props);\n\n this.paddingFactor = this.props.paddingFactor || 0.1;\n\n this.state = {\n imageStyle: {\n width: this.props.width,\n height: this.props.height,\n },\n blurRadius: new Animated.Value(100),\n imageSource: get300(this.props.uri),\n disabled: true,\n };\n }\n\n componentDidMount() {\n this.positionImage();\n }\n\n componentDidUpdate(prevProps) {\n if (prevProps.uri !== this.props.uri || prevProps.height !== this.props.height || prevProps.width !== this.props.width) {\n this.positionImage();\n }\n }\n\n onLoad = event => {\n if (event.nativeEvent.source.uri !== this.props.uri) {\n this.setState({\n imageSource: this.props.uri,\n });\n }\n // if (event.nativeEvent.source.uri === this.props.uri && !this.state.imageLoaded) {\n // //unblur\n // this.setState({\n // imageLoaded: true,\n // });\n // Animated.sequence([\n // Animated.delay(200),\n // Animated.timing(this.state.blurRadius, {\n // toValue: 0,\n // duration: 500,\n // useNativeDriver: false,\n // }),\n // ]).start();\n // }\n };\n\n positionImage = async () => {\n if (this.state.disabled) {\n return;\n }\n try {\n const startTime = moment().valueOf();\n\n let cachedValues;\n // check local cache\n if (this.props.imagePositions && this.props.imagePositions[this.props.uri]) {\n cachedValues = this.props.imagePositions[this.props.uri];\n }\n // check remote cache\n if (!cachedValues) {\n try {\n const response = await stringActions.getString('plussSpace', `imagefaces_${encodeURIComponent(this.props.uri)}`);\n cachedValues = response.data;\n } catch (e) {\n console.log('errored from cache');\n }\n // run face detection locally\n if (\n !cachedValues ||\n !cachedValues.faces ||\n !cachedValues.image ||\n (_.isEmpty(cachedValues.faces) &&\n moment()\n .add(-1, 'w')\n .valueOf() > moment(cachedValues.timestamp).valueOf())\n ) {\n cachedValues = await detectFaces(this.props.uri);\n }\n this.props.saveImagePosition(this.props.uri, cachedValues);\n }\n\n const image = await findLandmarkRange(this.props.uri, {\n targetWidth: this.props.width,\n targetHeight: this.props.height,\n cachedValues,\n });\n const scaledOffset = getScaledOffset(image.width, image.height, this.props.width, this.props.height);\n\n const { start: landmarkStart, end: landmarkEnd } = image;\n const { bounds: imageBounds, offset, width, height } = scaledOffset;\n\n if (landmarkStart.y < imageBounds.start.y) {\n // move up\n offset.y = -Math.max(landmarkStart.y - this.props.height * this.paddingFactor, 0); // move top to 5% above start of landmark\n } else if (landmarkEnd.y > imageBounds.end.y) {\n // move down\n offset.y = -Math.max(landmarkEnd.y + this.props.height * this.paddingFactor - this.props.height, 0); // move bottom to 5% below end of landmark\n }\n\n if (landmarkStart.x < imageBounds.start.x) {\n // move right\n offset.x = -Math.max(landmarkStart.x - this.props.width * this.paddingFactor, 0); // move left edge to 5% left of start of landmark\n } else if (landmarkEnd.x > imageBounds.end.x) {\n // move left\n offset.x = -Math.max(landmarkEnd.x + this.props.width * this.paddingFactor - this.props.width, 0); // move right edge to 5% left of end of landmark\n }\n\n this.setState({\n imageStyle: {\n width,\n height,\n top: offset.y,\n left: offset.x,\n },\n imageSource: this.props.uri,\n });\n\n const endTime = moment().valueOf();\n if (endTime - startTime < 500) {\n Animated.timing(this.state.blurRadius, {\n toValue: 0,\n duration: 0,\n useNativeDriver: false,\n }).start();\n }\n } catch (e) {\n this.setState({\n imageSource: this.props.uri,\n });\n }\n };\n\n render() {\n if (this.state.disabled) {\n return (\n <View\n style={[\n styles.container,\n {\n width: this.props.width,\n height: this.props.height,\n },\n this.props.style,\n ]}\n >\n <Image source={{ uri: this.state.imageSource }} style={[styles.image, this.state.imageStyle]} onLoad={this.onLoad} />\n {this.props.children}\n </View>\n );\n }\n return (\n <View\n style={[\n styles.container,\n {\n width: this.props.width,\n height: this.props.height,\n },\n this.props.style,\n ]}\n >\n <Animated.Image\n blurRadius={this.state.blurRadius}\n source={{ uri: this.state.imageSource }}\n style={[styles.image, this.state.imageStyle]}\n onLoad={this.onLoad}\n />\n {this.props.children}\n </View>\n );\n }\n}\n\nconst styles = StyleSheet.create({\n container: {\n overflow: 'hidden',\n },\n image: {\n position: 'absolute',\n top: 0,\n left: 0,\n resizeMode: 'cover',\n },\n staticImage: {\n resizeMode: 'cover',\n },\n});\n\nconst mapStateToProps = state => {\n return {\n imagePositions: state.media.positions,\n };\n};\n\nconst autoOffsetImage = connect(mapStateToProps, { saveImagePosition })(AutoOffsetImage);\nexport { autoOffsetImage as AutoOffsetImage };\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["React","Component","View","Image","Animated","StyleSheet","connect","moment","findLandmarkRange","getScaledOffset","get300","detectFaces","saveImagePosition","AutoOffsetImage","constructor","props","_defineProperty","event","nativeEvent","source","uri","setState","imageSource","state","disabled","startTime","valueOf","cachedValues","imagePositions","response","stringActions","getString","encodeURIComponent","data","e","console","log","faces","image","_","isEmpty","add","timestamp","targetWidth","width","targetHeight","height","scaledOffset","start","landmarkStart","end","landmarkEnd","bounds","imageBounds","offset","y","Math","max","paddingFactor","x","imageStyle","top","left","endTime","timing","blurRadius","toValue","duration","useNativeDriver","Value","componentDidMount","positionImage","componentDidUpdate","prevProps","render","createElement","style","styles","container","onLoad","children","create","overflow","position","resizeMode","staticImage","mapStateToProps","media","positions","autoOffsetImage"],"sources":["AutoOffsetImage.js"],"sourcesContent":["import React, { Component } from \"react\";\nimport { View, Image, Animated, StyleSheet } from \"react-native\";\nimport { connect } from \"react-redux\";\nimport moment from \"moment\";\nimport {\n\tfindLandmarkRange,\n\tgetScaledOffset,\n\tget300,\n\tdetectFaces,\n} from \"../helper\";\nimport { saveImagePosition } from \"../actions\";\n\nclass AutoOffsetImage extends Component {\n\tconstructor(props) {\n\t\tsuper(props);\n\n\t\tthis.paddingFactor = this.props.paddingFactor || 0.1;\n\n\t\tthis.state = {\n\t\t\timageStyle: {\n\t\t\t\twidth: this.props.width,\n\t\t\t\theight: this.props.height,\n\t\t\t},\n\t\t\tblurRadius: new Animated.Value(100),\n\t\t\timageSource: get300(this.props.uri),\n\t\t\tdisabled: true,\n\t\t};\n\t}\n\n\tcomponentDidMount() {\n\t\tthis.positionImage();\n\t}\n\n\tcomponentDidUpdate(prevProps) {\n\t\tif (\n\t\t\tprevProps.uri !== this.props.uri ||\n\t\t\tprevProps.height !== this.props.height ||\n\t\t\tprevProps.width !== this.props.width\n\t\t) {\n\t\t\tthis.positionImage();\n\t\t}\n\t}\n\n\tonLoad = (event) => {\n\t\tif (event.nativeEvent.source.uri !== this.props.uri) {\n\t\t\tthis.setState({\n\t\t\t\timageSource: this.props.uri,\n\t\t\t});\n\t\t}\n\t\t// if (event.nativeEvent.source.uri === this.props.uri && !this.state.imageLoaded) {\n\t\t// //unblur\n\t\t// this.setState({\n\t\t// imageLoaded: true,\n\t\t// });\n\t\t// Animated.sequence([\n\t\t// Animated.delay(200),\n\t\t// Animated.timing(this.state.blurRadius, {\n\t\t// toValue: 0,\n\t\t// duration: 500,\n\t\t// useNativeDriver: false,\n\t\t// }),\n\t\t// ]).start();\n\t\t// }\n\t};\n\n\tpositionImage = async () => {\n\t\tif (this.state.disabled) {\n\t\t\treturn;\n\t\t}\n\t\ttry {\n\t\t\tconst startTime = moment().valueOf();\n\n\t\t\tlet cachedValues;\n\t\t\t// check local cache\n\t\t\tif (\n\t\t\t\tthis.props.imagePositions &&\n\t\t\t\tthis.props.imagePositions[this.props.uri]\n\t\t\t) {\n\t\t\t\tcachedValues = this.props.imagePositions[this.props.uri];\n\t\t\t}\n\t\t\t// check remote cache\n\t\t\tif (!cachedValues) {\n\t\t\t\ttry {\n\t\t\t\t\tconst response = await stringActions.getString(\n\t\t\t\t\t\t\"plussSpace\",\n\t\t\t\t\t\t`imagefaces_${encodeURIComponent(this.props.uri)}`,\n\t\t\t\t\t);\n\t\t\t\t\tcachedValues = response.data;\n\t\t\t\t} catch (e) {\n\t\t\t\t\tconsole.log(\"errored from cache\");\n\t\t\t\t}\n\t\t\t\t// run face detection locally\n\t\t\t\tif (\n\t\t\t\t\t!cachedValues ||\n\t\t\t\t\t!cachedValues.faces ||\n\t\t\t\t\t!cachedValues.image ||\n\t\t\t\t\t(_.isEmpty(cachedValues.faces) &&\n\t\t\t\t\t\tmoment().add(-1, \"w\").valueOf() >\n\t\t\t\t\t\t\tmoment(cachedValues.timestamp).valueOf())\n\t\t\t\t) {\n\t\t\t\t\tcachedValues = await detectFaces(this.props.uri);\n\t\t\t\t}\n\t\t\t\tthis.props.saveImagePosition(this.props.uri, cachedValues);\n\t\t\t}\n\n\t\t\tconst image = await findLandmarkRange(this.props.uri, {\n\t\t\t\ttargetWidth: this.props.width,\n\t\t\t\ttargetHeight: this.props.height,\n\t\t\t\tcachedValues,\n\t\t\t});\n\t\t\tconst scaledOffset = getScaledOffset(\n\t\t\t\timage.width,\n\t\t\t\timage.height,\n\t\t\t\tthis.props.width,\n\t\t\t\tthis.props.height,\n\t\t\t);\n\n\t\t\tconst { start: landmarkStart, end: landmarkEnd } = image;\n\t\t\tconst { bounds: imageBounds, offset, width, height } = scaledOffset;\n\n\t\t\tif (landmarkStart.y < imageBounds.start.y) {\n\t\t\t\t// move up\n\t\t\t\toffset.y = -Math.max(\n\t\t\t\t\tlandmarkStart.y - this.props.height * this.paddingFactor,\n\t\t\t\t\t0,\n\t\t\t\t); // move top to 5% above start of landmark\n\t\t\t} else if (landmarkEnd.y > imageBounds.end.y) {\n\t\t\t\t// move down\n\t\t\t\toffset.y = -Math.max(\n\t\t\t\t\tlandmarkEnd.y +\n\t\t\t\t\t\tthis.props.height * this.paddingFactor -\n\t\t\t\t\t\tthis.props.height,\n\t\t\t\t\t0,\n\t\t\t\t); // move bottom to 5% below end of landmark\n\t\t\t}\n\n\t\t\tif (landmarkStart.x < imageBounds.start.x) {\n\t\t\t\t// move right\n\t\t\t\toffset.x = -Math.max(\n\t\t\t\t\tlandmarkStart.x - this.props.width * this.paddingFactor,\n\t\t\t\t\t0,\n\t\t\t\t); // move left edge to 5% left of start of landmark\n\t\t\t} else if (landmarkEnd.x > imageBounds.end.x) {\n\t\t\t\t// move left\n\t\t\t\toffset.x = -Math.max(\n\t\t\t\t\tlandmarkEnd.x +\n\t\t\t\t\t\tthis.props.width * this.paddingFactor -\n\t\t\t\t\t\tthis.props.width,\n\t\t\t\t\t0,\n\t\t\t\t); // move right edge to 5% left of end of landmark\n\t\t\t}\n\n\t\t\tthis.setState({\n\t\t\t\timageStyle: {\n\t\t\t\t\twidth,\n\t\t\t\t\theight,\n\t\t\t\t\ttop: offset.y,\n\t\t\t\t\tleft: offset.x,\n\t\t\t\t},\n\t\t\t\timageSource: this.props.uri,\n\t\t\t});\n\n\t\t\tconst endTime = moment().valueOf();\n\t\t\tif (endTime - startTime < 500) {\n\t\t\t\tAnimated.timing(this.state.blurRadius, {\n\t\t\t\t\ttoValue: 0,\n\t\t\t\t\tduration: 0,\n\t\t\t\t\tuseNativeDriver: false,\n\t\t\t\t}).start();\n\t\t\t}\n\t\t} catch (e) {\n\t\t\tthis.setState({\n\t\t\t\timageSource: this.props.uri,\n\t\t\t});\n\t\t}\n\t};\n\n\trender() {\n\t\tif (this.state.disabled) {\n\t\t\treturn (\n\t\t\t\t<View\n\t\t\t\t\tstyle={[\n\t\t\t\t\t\tstyles.container,\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\twidth: this.props.width,\n\t\t\t\t\t\t\theight: this.props.height,\n\t\t\t\t\t\t},\n\t\t\t\t\t\tthis.props.style,\n\t\t\t\t\t]}\n\t\t\t\t>\n\t\t\t\t\t<Image\n\t\t\t\t\t\tsource={{ uri: this.state.imageSource }}\n\t\t\t\t\t\tstyle={[styles.image, this.state.imageStyle]}\n\t\t\t\t\t\tonLoad={this.onLoad}\n\t\t\t\t\t/>\n\t\t\t\t\t{this.props.children}\n\t\t\t\t</View>\n\t\t\t);\n\t\t}\n\t\treturn (\n\t\t\t<View\n\t\t\t\tstyle={[\n\t\t\t\t\tstyles.container,\n\t\t\t\t\t{\n\t\t\t\t\t\twidth: this.props.width,\n\t\t\t\t\t\theight: this.props.height,\n\t\t\t\t\t},\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\tblurRadius={this.state.blurRadius}\n\t\t\t\t\tsource={{ uri: this.state.imageSource }}\n\t\t\t\t\tstyle={[styles.image, this.state.imageStyle]}\n\t\t\t\t\tonLoad={this.onLoad}\n\t\t\t\t/>\n\t\t\t\t{this.props.children}\n\t\t\t</View>\n\t\t);\n\t}\n}\n\nconst styles = StyleSheet.create({\n\tcontainer: {\n\t\toverflow: \"hidden\",\n\t},\n\timage: {\n\t\tposition: \"absolute\",\n\t\ttop: 0,\n\t\tleft: 0,\n\t\tresizeMode: \"cover\",\n\t},\n\tstaticImage: {\n\t\tresizeMode: \"cover\",\n\t},\n});\n\nconst mapStateToProps = (state) => {\n\treturn {\n\t\timagePositions: state.media.positions,\n\t};\n};\n\nconst autoOffsetImage = connect(mapStateToProps, { saveImagePosition })(\n\tAutoOffsetImage,\n);\nexport { autoOffsetImage as AutoOffsetImage };\n"],"mappings":"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","ignoreList":[]}
@@ -1,9 +1,9 @@
1
- import React, { PureComponent } from 'react';
2
- import { View, TouchableOpacity } from 'react-native';
3
- import { connect } from 'react-redux';
4
- import stylez from '../styles';
5
- import { Pl60Icon } from '../fonts';
6
- import { getMainBrandingColourFromState } from '../colours';
1
+ import React, { PureComponent } from "react";
2
+ import { View, TouchableOpacity } from "react-native";
3
+ import { connect } from "react-redux";
4
+ import stylez from "../styles";
5
+ import { FontAwesome } from "./Icon";
6
+ import { getMainBrandingColourFromState } from "../colours";
7
7
 
8
8
  /*
9
9
  Props-
@@ -27,8 +27,8 @@ class BackButton extends PureComponent {
27
27
  }, this.props.color && {
28
28
  backgroundColor: this.props.color
29
29
  }, this.props.style]
30
- }, /*#__PURE__*/React.createElement(Pl60Icon, {
31
- name: this.props.flipped ? 'chevron_right' : 'chevron_left',
30
+ }, /*#__PURE__*/React.createElement(FontAwesome, {
31
+ name: this.props.flipped ? "chevron-right" : "chevron-left",
32
32
  style: [stylez.backButtonIcon, this.props.iconStyle]
33
33
  }));
34
34
  }
@@ -42,8 +42,8 @@ class BackButton extends PureComponent {
42
42
  backgroundColor: this.props.color
43
43
  }, this.props.style],
44
44
  onPress: this.props.onPress
45
- }, /*#__PURE__*/React.createElement(Pl60Icon, {
46
- name: this.props.flipped ? 'chevron_right' : 'chevron_left',
45
+ }, /*#__PURE__*/React.createElement(FontAwesome, {
46
+ name: this.props.flipped ? "chevron-right" : "chevron-left",
47
47
  style: [stylez.backButtonIcon, this.props.iconStyle]
48
48
  }));
49
49
  }
@@ -1 +1 @@
1
- {"version":3,"names":["React","PureComponent","View","TouchableOpacity","connect","stylez","Pl60Icon","getMainBrandingColourFromState","BackButton","render","size","props","diameter","radius","noClick","createElement","style","backButton","backgroundColor","colourBrandingMain","height","width","borderRadius","color","name","flipped","backButtonIcon","iconStyle","onPress","mapStateToProps","state"],"sources":["BackButton.js"],"sourcesContent":["import React, { PureComponent } from 'react';\nimport { View, TouchableOpacity } from 'react-native';\nimport { connect } from 'react-redux';\nimport stylez from '../styles';\nimport { Pl60Icon } from '../fonts';\nimport { getMainBrandingColourFromState } from '../colours';\n\n/* \nProps- \n onPress - onPress action\n diameter - size of button\n color - default will be aveoMain\n style - custom style for container\n*/\n\nclass BackButton extends PureComponent {\n render() {\n const size = this.props.diameter || 32;\n const radius = size / 2;\n if (this.props.noClick) {\n return (\n <View\n style={[\n stylez.backButton,\n { backgroundColor: this.props.colourBrandingMain, height: size, width: size, borderRadius: radius },\n this.props.color && { backgroundColor: this.props.color },\n this.props.style,\n ]}\n >\n <Pl60Icon name={this.props.flipped ? 'chevron_right' : 'chevron_left'} style={[stylez.backButtonIcon, this.props.iconStyle]} />\n </View>\n );\n }\n return (\n <TouchableOpacity\n style={[\n stylez.backButton,\n { backgroundColor: this.props.colourBrandingMain, height: size, width: size, borderRadius: radius },\n this.props.color && { backgroundColor: this.props.color },\n this.props.style,\n ]}\n onPress={this.props.onPress}\n >\n <Pl60Icon name={this.props.flipped ? 'chevron_right' : 'chevron_left'} style={[stylez.backButtonIcon, this.props.iconStyle]} />\n </TouchableOpacity>\n );\n }\n}\n\nconst mapStateToProps = state => {\n return {\n colourBrandingMain: getMainBrandingColourFromState(state),\n };\n};\n\nconst backButton = connect(mapStateToProps, {})(BackButton);\nexport { backButton as BackButton };\n"],"mappings":"AAAA,OAAOA,KAAK,IAAIC,aAAa,QAAQ,OAAO;AAC5C,SAASC,IAAI,EAAEC,gBAAgB,QAAQ,cAAc;AACrD,SAASC,OAAO,QAAQ,aAAa;AACrC,OAAOC,MAAM,MAAM,WAAW;AAC9B,SAASC,QAAQ,QAAQ,UAAU;AACnC,SAASC,8BAA8B,QAAQ,YAAY;;AAE3D;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,MAAMC,UAAU,SAASP,aAAa,CAAC;EACrCQ,MAAMA,CAAA,EAAG;IACP,MAAMC,IAAI,GAAG,IAAI,CAACC,KAAK,CAACC,QAAQ,IAAI,EAAE;IACtC,MAAMC,MAAM,GAAGH,IAAI,GAAG,CAAC;IACvB,IAAI,IAAI,CAACC,KAAK,CAACG,OAAO,EAAE;MACtB,oBACEd,KAAA,CAAAe,aAAA,CAACb,IAAI;QACHc,KAAK,EAAE,CACLX,MAAM,CAACY,UAAU,EACjB;UAAEC,eAAe,EAAE,IAAI,CAACP,KAAK,CAACQ,kBAAkB;UAAEC,MAAM,EAAEV,IAAI;UAAEW,KAAK,EAAEX,IAAI;UAAEY,YAAY,EAAET;QAAO,CAAC,EACnG,IAAI,CAACF,KAAK,CAACY,KAAK,IAAI;UAAEL,eAAe,EAAE,IAAI,CAACP,KAAK,CAACY;QAAM,CAAC,EACzD,IAAI,CAACZ,KAAK,CAACK,KAAK;MAChB,gBAEFhB,KAAA,CAAAe,aAAA,CAACT,QAAQ;QAACkB,IAAI,EAAE,IAAI,CAACb,KAAK,CAACc,OAAO,GAAG,eAAe,GAAG,cAAe;QAACT,KAAK,EAAE,CAACX,MAAM,CAACqB,cAAc,EAAE,IAAI,CAACf,KAAK,CAACgB,SAAS;MAAE,CAAE,CAC1H,CAAC;IAEX;IACA,oBACE3B,KAAA,CAAAe,aAAA,CAACZ,gBAAgB;MACfa,KAAK,EAAE,CACLX,MAAM,CAACY,UAAU,EACjB;QAAEC,eAAe,EAAE,IAAI,CAACP,KAAK,CAACQ,kBAAkB;QAAEC,MAAM,EAAEV,IAAI;QAAEW,KAAK,EAAEX,IAAI;QAAEY,YAAY,EAAET;MAAO,CAAC,EACnG,IAAI,CAACF,KAAK,CAACY,KAAK,IAAI;QAAEL,eAAe,EAAE,IAAI,CAACP,KAAK,CAACY;MAAM,CAAC,EACzD,IAAI,CAACZ,KAAK,CAACK,KAAK,CAChB;MACFY,OAAO,EAAE,IAAI,CAACjB,KAAK,CAACiB;IAAQ,gBAE5B5B,KAAA,CAAAe,aAAA,CAACT,QAAQ;MAACkB,IAAI,EAAE,IAAI,CAACb,KAAK,CAACc,OAAO,GAAG,eAAe,GAAG,cAAe;MAACT,KAAK,EAAE,CAACX,MAAM,CAACqB,cAAc,EAAE,IAAI,CAACf,KAAK,CAACgB,SAAS;IAAE,CAAE,CAC9G,CAAC;EAEvB;AACF;AAEA,MAAME,eAAe,GAAGC,KAAK,IAAI;EAC/B,OAAO;IACLX,kBAAkB,EAAEZ,8BAA8B,CAACuB,KAAK;EAC1D,CAAC;AACH,CAAC;AAED,MAAMb,UAAU,GAAGb,OAAO,CAACyB,eAAe,EAAE,CAAC,CAAC,CAAC,CAACrB,UAAU,CAAC;AAC3D,SAASS,UAAU,IAAIT,UAAU","ignoreList":[]}
1
+ {"version":3,"names":["React","PureComponent","View","TouchableOpacity","connect","stylez","FontAwesome","getMainBrandingColourFromState","BackButton","render","size","props","diameter","radius","noClick","createElement","style","backButton","backgroundColor","colourBrandingMain","height","width","borderRadius","color","name","flipped","backButtonIcon","iconStyle","onPress","mapStateToProps","state"],"sources":["BackButton.js"],"sourcesContent":["import React, { PureComponent } from \"react\";\nimport { View, TouchableOpacity } from \"react-native\";\nimport { connect } from \"react-redux\";\nimport stylez from \"../styles\";\nimport { FontAwesome } from \"./Icon\";\nimport { getMainBrandingColourFromState } from \"../colours\";\n\n/* \nProps- \n onPress - onPress action\n diameter - size of button\n color - default will be aveoMain\n style - custom style for container\n*/\n\nclass BackButton extends PureComponent {\n\trender() {\n\t\tconst size = this.props.diameter || 32;\n\t\tconst radius = size / 2;\n\t\tif (this.props.noClick) {\n\t\t\treturn (\n\t\t\t\t<View\n\t\t\t\t\tstyle={[\n\t\t\t\t\t\tstylez.backButton,\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tbackgroundColor: this.props.colourBrandingMain,\n\t\t\t\t\t\t\theight: size,\n\t\t\t\t\t\t\twidth: size,\n\t\t\t\t\t\t\tborderRadius: radius,\n\t\t\t\t\t\t},\n\t\t\t\t\t\tthis.props.color && { backgroundColor: this.props.color },\n\t\t\t\t\t\tthis.props.style,\n\t\t\t\t\t]}\n\t\t\t\t>\n\t\t\t\t\t<FontAwesome\n\t\t\t\t\t\tname={this.props.flipped ? \"chevron-right\" : \"chevron-left\"}\n\t\t\t\t\t\tstyle={[stylez.backButtonIcon, this.props.iconStyle]}\n\t\t\t\t\t/>\n\t\t\t\t</View>\n\t\t\t);\n\t\t}\n\t\treturn (\n\t\t\t<TouchableOpacity\n\t\t\t\tstyle={[\n\t\t\t\t\tstylez.backButton,\n\t\t\t\t\t{\n\t\t\t\t\t\tbackgroundColor: this.props.colourBrandingMain,\n\t\t\t\t\t\theight: size,\n\t\t\t\t\t\twidth: size,\n\t\t\t\t\t\tborderRadius: radius,\n\t\t\t\t\t},\n\t\t\t\t\tthis.props.color && { backgroundColor: this.props.color },\n\t\t\t\t\tthis.props.style,\n\t\t\t\t]}\n\t\t\t\tonPress={this.props.onPress}\n\t\t\t>\n\t\t\t\t<FontAwesome\n\t\t\t\t\tname={this.props.flipped ? \"chevron-right\" : \"chevron-left\"}\n\t\t\t\t\tstyle={[stylez.backButtonIcon, this.props.iconStyle]}\n\t\t\t\t/>\n\t\t\t</TouchableOpacity>\n\t\t);\n\t}\n}\n\nconst mapStateToProps = (state) => {\n\treturn {\n\t\tcolourBrandingMain: getMainBrandingColourFromState(state),\n\t};\n};\n\nconst backButton = connect(mapStateToProps, {})(BackButton);\nexport { backButton as BackButton };\n"],"mappings":"AAAA,OAAOA,KAAK,IAAIC,aAAa,QAAQ,OAAO;AAC5C,SAASC,IAAI,EAAEC,gBAAgB,QAAQ,cAAc;AACrD,SAASC,OAAO,QAAQ,aAAa;AACrC,OAAOC,MAAM,MAAM,WAAW;AAC9B,SAASC,WAAW,QAAQ,QAAQ;AACpC,SAASC,8BAA8B,QAAQ,YAAY;;AAE3D;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,MAAMC,UAAU,SAASP,aAAa,CAAC;EACtCQ,MAAMA,CAAA,EAAG;IACR,MAAMC,IAAI,GAAG,IAAI,CAACC,KAAK,CAACC,QAAQ,IAAI,EAAE;IACtC,MAAMC,MAAM,GAAGH,IAAI,GAAG,CAAC;IACvB,IAAI,IAAI,CAACC,KAAK,CAACG,OAAO,EAAE;MACvB,oBACCd,KAAA,CAAAe,aAAA,CAACb,IAAI;QACJc,KAAK,EAAE,CACNX,MAAM,CAACY,UAAU,EACjB;UACCC,eAAe,EAAE,IAAI,CAACP,KAAK,CAACQ,kBAAkB;UAC9CC,MAAM,EAAEV,IAAI;UACZW,KAAK,EAAEX,IAAI;UACXY,YAAY,EAAET;QACf,CAAC,EACD,IAAI,CAACF,KAAK,CAACY,KAAK,IAAI;UAAEL,eAAe,EAAE,IAAI,CAACP,KAAK,CAACY;QAAM,CAAC,EACzD,IAAI,CAACZ,KAAK,CAACK,KAAK;MACf,gBAEFhB,KAAA,CAAAe,aAAA,CAACT,WAAW;QACXkB,IAAI,EAAE,IAAI,CAACb,KAAK,CAACc,OAAO,GAAG,eAAe,GAAG,cAAe;QAC5DT,KAAK,EAAE,CAACX,MAAM,CAACqB,cAAc,EAAE,IAAI,CAACf,KAAK,CAACgB,SAAS;MAAE,CACrD,CACI,CAAC;IAET;IACA,oBACC3B,KAAA,CAAAe,aAAA,CAACZ,gBAAgB;MAChBa,KAAK,EAAE,CACNX,MAAM,CAACY,UAAU,EACjB;QACCC,eAAe,EAAE,IAAI,CAACP,KAAK,CAACQ,kBAAkB;QAC9CC,MAAM,EAAEV,IAAI;QACZW,KAAK,EAAEX,IAAI;QACXY,YAAY,EAAET;MACf,CAAC,EACD,IAAI,CAACF,KAAK,CAACY,KAAK,IAAI;QAAEL,eAAe,EAAE,IAAI,CAACP,KAAK,CAACY;MAAM,CAAC,EACzD,IAAI,CAACZ,KAAK,CAACK,KAAK,CACf;MACFY,OAAO,EAAE,IAAI,CAACjB,KAAK,CAACiB;IAAQ,gBAE5B5B,KAAA,CAAAe,aAAA,CAACT,WAAW;MACXkB,IAAI,EAAE,IAAI,CAACb,KAAK,CAACc,OAAO,GAAG,eAAe,GAAG,cAAe;MAC5DT,KAAK,EAAE,CAACX,MAAM,CAACqB,cAAc,EAAE,IAAI,CAACf,KAAK,CAACgB,SAAS;IAAE,CACrD,CACgB,CAAC;EAErB;AACD;AAEA,MAAME,eAAe,GAAIC,KAAK,IAAK;EAClC,OAAO;IACNX,kBAAkB,EAAEZ,8BAA8B,CAACuB,KAAK;EACzD,CAAC;AACF,CAAC;AAED,MAAMb,UAAU,GAAGb,OAAO,CAACyB,eAAe,EAAE,CAAC,CAAC,CAAC,CAACrB,UAAU,CAAC;AAC3D,SAASS,UAAU,IAAIT,UAAU","ignoreList":[]}