@plusscommunities/pluss-core-web 1.7.6-beta.1 → 1.7.6-beta.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/components.js +1 -0
- package/dist/components.js.map +1 -1
- package/dist/index.js +1 -0
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":["../src/config.js","../src/session.js","../src/analytics.js","../src/helper/api/getUrl.js","../src/helper/api/getUrlParams.js","../src/helper/api/safeReadParams.js","../src/helper/auth/getUserFromState.js","../src/helper/colours/getAppColourFromState.js","../src/helper/files/getExtension.js","../src/helper/files/isVideo.js","../src/helper/files/get1400.js","../src/helper/files/generateImageName.js","../src/helper/files/getFileName.js","../src/helper/files/getThumb300.js","../src/helper/strings/getFirstName.js","../src/helper/strings/isEmail.js","../src/helper/strings/isUrl.js","../src/helper/strings/randomString.js","../src/helper/strings/toParagraphed.js","../src/helper/strings/onlyAlphanumeric.js","../src/helper/strings/htmlDecode.js","../src/helper/strings/htmlEncode.js","../src/helper/site/getSiteName.js","../src/helper/site/getSiteNameFromRoles.js","../src/helper/site/getSiteSettingFromState.js","../src/helper/site/getSiteLevelFromState.js","../src/helper/site/getMerchantsFromState.js","../src/helper/storage/readJSONFromStorage.js","../src/helper/storage/setLocalStorage.js","../src/helper/storage/readStorageWithCookie.js","../src/helper/helper.js","../src/helper/HelpDeskWidget.js","../src/helper/index.js","../src/colours.js","../src/actions/types.js","../src/actions/AuthActions.js","../src/actions/LocalActions.js","../src/apis/analyticsActions.js","../src/apis/authActions.js","../src/helper/files/canvasImageUploader.js","../src/apis/fileActions.js","../src/apis/typeActions.js","../src/apis/stringActions.js","../src/apis/userActions.js","../src/apis/profileActions.js","../src/apis/utilityActions.js","../src/apis/templateActions.js","../src/apis/scheduledActionsActions.js","../src/actions/UsersActions.js","../src/actions/NavActions.js","../src/actions/TemplateActions.js","../src/actions/ScheduledActionsActions.js","../src/components/AddButton.js","../src/components/Attachment.js","../src/components/Button.js","../src/components/CheckBox.js","../src/components/Text.js","../src/components/ProfilePic.js","../src/components/Comment.js","../src/components/CommentSection.js","../src/components/DatePicker.js","../src/components/DurationInput.js","../src/components/FileInput.js","../src/components/GenericInput.js","../src/components/Header.js","../src/components/SideNavItem.js","../src/components/HubSidebar.js","../src/components/Popup.js","../src/components/ImageInput.js","../src/components/MoreMenu.js","../src/components/OverlayPage.js","../src/components/OverlayPageContents.js","../src/components/OverlayPageSection.js","../src/components/OverlayPageBottomButtons.js","../src/components/PageTitle.js","../src/components/RadioButton.js","../src/components/Tag.js","../src/components/StatusButton.js","../src/components/SuccessPopup.js","../src/components/Reactions.js","../src/components/AnalyticsFilter.js","../src/components/UserListing.js","../src/components/TimePicker.js","../src/components/AudienceIncluder.js","../src/components/DropdownInput.js","../src/components/AudienceSelector.js","../src/components/TextFormatPopup.js","../src/components/OptionsSection.js","../src/components/MakerPopup.js","../src/components/ExportCsvPopup.js","../src/components/InputGroup.js","../src/components/Tabs.js","../src/components/ColourOptions.js","../src/components/ColourPicker.js","../src/components/StatBox.js","../src/urls.js","../src/reducers/TemplatesReducer.js","../src/reducers/ScheduledActionsReducer.js","../src/reducers/index.js","../src/permissions.js"],"sourcesContent":["const CoreConfig = {\n\tenv: {\n\t\tbaseStage: \"\",\n\t\tbaseAPIUrl: \"\",\n\t\tbaseUploadsUrl: \"\",\n\t\tbaseLibraryUrl: \"\",\n\t\tuploadBucket: \"\",\n\t\tcolourBrandingMain: \"\",\n\t\tcolourBrandingOff: \"\",\n\t\tcolourBrandingApp: \"\",\n\t\tdefaultProfileImage:\n\t\t\t\"https://pluss60-demo-uploads.s3.ap-southeast-2.amazonaws.com/uploads/users/ap-southeast-2:97769b56-25ec-41c0-a73c-6c2c4140f629/public/3d2433c6419383beb1078036b7/tinydefaultprofile.png\",\n\t\tutcOffset: \"\",\n\t\thasAvailableNews: false,\n\t\tnewsHaveTags: true,\n\t\tdefaultAllowComments: true,\n\t\tmakeApiKey: \"\",\n\t\tlogo: \"\",\n\t\tclientName: \"\",\n\t},\n\tinit: (environment) => {\n\t\tCoreConfig.env = environment;\n\t},\n};\nexport default CoreConfig;\n","import _ from \"lodash\";\nimport axios from \"axios\";\nimport { Auth } from \"aws-amplify\";\n\nexport const getSessionTokenAWS = async (prefix) => {\n\tconst data = await Auth.currentSession();\n\tconst token = data.getAccessToken().getJwtToken();\n\tif (_.isUndefined(prefix)) return token;\n\treturn `${prefix} ${token}`;\n};\n\n// export const getRefreshTokenAWS = async () => {\n// const data = await Auth.currentSession();\n// return data.getRefreshToken().token;\n// };\n\nexport const authedFunction = async (request) => {\n\ttry {\n\t\tconst authkey = await getSessionTokenAWS();\n\n\t\tif (!request.headers) request.headers = {};\n\t\trequest.headers.authkey = authkey;\n\n\t\treturn await axios(request);\n\t} catch (error) {\n\t\tconsole.error(\"authedFunction error\", error, request);\n\t\tthrow error;\n\t}\n};\n\nexport const unauthedFunction = (request) => {\n\treturn axios(request);\n};\n\nexport const getCurrentUserSub = async () => {\n\ttry {\n\t\tconst user = await Auth.currentUserInfo();\n\t\treturn user.id;\n\t} catch (error) {\n\t\treturn null;\n\t}\n};\n\nexport const checkLoggedIn = async (self) => {\n\ttry {\n\t\tconst user = await Auth.currentAuthenticatedUser();\n\t\tif (_.isUndefined(user) || user == null || user.username == null) {\n\t\t\tconsole.log(\"redirecting to login\");\n\t\t\tself.props.history.push(\"/login\");\n\t\t}\n\t} catch (error) {\n\t\tif (error === \"not authenticated\") {\n\t\t\tconsole.log(\"redirecting to logout\");\n\t\t\tself.props.history.push(\"/logout\");\n\t\t}\n\t}\n};\n\n// export const checkLogInScreen = (self, auth) => {\n// if (auth.auth) {\n// if (auth.auth === 'KIOSK') {\n// console.log('redirecting to tv');\n// self.props.history.push('/tv');\n// } else {\n// console.log('redirecting to mastermenu');\n// self.props.history.push('/mastermenu');\n// }\n// }\n// };\n\n// export const getAdminTypes = (additionalTypes) => {\n// if (!additionalTypes) {\n// additionalTypes = [];\n// }\n// return ['admin', 'master', 'villageStaff', ...additionalTypes];\n// };\n\n// export const isAdmin = (auth) => {\n// return isAuthed(auth, getAdminTypes(null));\n// };\n\n// export const isAdminMaster = (auth) => {\n// return auth.auth === 'master';\n// };\n\n// export const isAuthed = (auth, validTypes) => {\n// return _.some(validTypes, (type) => {\n// return type === auth.auth;\n// });\n// };\n\nexport const isTheBest = (auth, isPlussSpaceMaster) => {\n\tif (auth && auth.user) {\n\t\tif (isPlussSpaceMaster) {\n\t\t\t// only plussSpace master\n\t\t\treturn validateAccess(\"plussSpace\", \"master\", auth);\n\t\t}\n\t\t// any master\n\t\treturn validateAccess(\"hq\", \"master\", auth);\n\t}\n\treturn false;\n};\n\n// export const getRolesWithAccess = (roles, type) => {\n// return _.filter(roles, (role) => {\n// return role.type === 'master' || (!_.isEmpty(role.Permission) && _.includes(role.Permissions, type));\n// });\n// };\n\n// export const mapRolesToSites = (roles) => {\n// return _.sortBy(\n// roles.map((r) => {\n// return {\n// Id: r.site,\n// Key: r.site,\n// siteName: (r.siteInfo && r.siteInfo.siteName) || r.site,\n// Title: (r.siteInfo && r.siteInfo.siteName) || r.site,\n// };\n// }),\n// (r) => {\n// return r.siteName.toLowerCase();\n// },\n// );\n// };\n\n// export const getCurrentUserType = (auth) => {\n// if (!auth) {\n// return {};\n// }\n// const roles = auth && auth.user ? auth.user.Roles : [];\n// const role = _.find(roles, (r) => {\n// return r.site === auth.site;\n// });\n// if (!role) {\n// // catch for no role\n// return { typeName: auth.auth, displayName: auth.auth, site: auth.site };\n// }\n// const userType = _.find(auth.userTypes || [], (ut) => {\n// return ut.site === role.site && ut.typeName === role.type;\n// });\n// if (!userType) {\n// return { typeName: role.type, displayName: role.type, site: role.site };\n// }\n// return userType;\n// };\n\nexport const validateAccess = (site, type, auth, noRole) => {\n\tconst roles = auth && auth.user ? auth.user.Roles : [];\n\tif (_.isEmpty(roles)) return noRole;\n\tif (site === \"plussSpace\" && type === \"master\") {\n\t\treturn _.some(roles, (r) => r.site === \"plussSpace\" && r.type === \"master\");\n\t}\n\tif (_.some(roles, (r) => r.type === \"master\")) return true;\n\tconst role = _.find(roles, (r) => r.site === site);\n\tif (!role) return false;\n\tif (type === \"any\") return true;\n\treturn !_.isEmpty(role.Permissions) && _.includes(role.Permissions, type);\n};\n\nexport const getApiError = (error) => {\n\ttry {\n\t\tconst errorData = error.response.data;\n\t\tconst errorMessage = errorData && errorData.error;\n\t\treturn errorMessage || errorData || error;\n\t} catch (e) {\n\t\treturn error;\n\t}\n};\n\n// export const getEnabledFeatures = (siteInfo, interfaces) => {\n// const interfaceSettings = !_.isEmpty(interfaces)\n// ? interfaces.map((t) => {\n// if (t.Type === 'TV') {\n// return t;\n// }\n// return t.Settings;\n// })\n// : [];\n\n// const siteSettings = siteInfo && siteInfo.Settings ? siteInfo.Settings : {};\n// const hidden = siteInfo && siteInfo.Hidden ? siteInfo.Hidden : [];\n// const notHidden = siteInfo && siteInfo.NotHidden ? siteInfo.NotHidden : [];\n// const defaultFeatures = ['users', 'alerts'];\n// let features = [...defaultFeatures];\n// if (siteSettings.TabSettings) {\n// interfaceSettings.push(siteSettings.TabSettings);\n// } else {\n// features = [...features, ...(siteSettings.HomeWidgets || ['events', 'news'])];\n// if (!_.includes(hidden, 'whatsOn')) {\n// // second tab is enabled - add features\n// features.push(siteSettings.MainWidget1 || 'events');\n// }\n// if (!_.includes(hidden, 'marketplace')) {\n// // third tab is enabled - add features\n// features = [...features, ...(siteSettings.Widgets2 || ['services', 'offers', 'facilities'])];\n// }\n// if (!_.includes(hidden, 'people')) {\n// // fourth tab is enabled - add features\n// features.push(siteSettings.MainWidget3 || 'people');\n// }\n// }\n\n// interfaceSettings.forEach((s) => {\n// if (!Array.isArray(s) && s.Type && s.Type === 'TV') {\n// // TV Views\n// features = [\n// ...features,\n// ...s.Settings.widgets.map((w) => {\n// return w.key;\n// }),\n// ];\n// } else {\n// // App Views\n// (s || []).forEach((t) => {\n// if (t.isEnabled) {\n// features = [...features, ...t.widgets];\n// }\n// });\n// }\n// });\n\n// if (\n// (siteSettings.TabSettings &&\n// _.some(siteSettings.TabSettings, (t) => {\n// return t.type === 'menu' && t.isEnabled;\n// })) ||\n// (!siteSettings.TabSettings && !_.includes(hidden, 'more'))\n// ) {\n// // more tab is enabled - add features\n// if (!_.includes(hidden, 'maintenanceRequest')) {\n// features.push('maintenance');\n// }\n// if (!_.includes(hidden, 'infoPages')) {\n// features.push('infoPages');\n// }\n// if (!_.includes(hidden, 'maps')) {\n// features.push('maps');\n// }\n// if (!_.includes(hidden, 'importantContacts')) {\n// features.push('importantContacts');\n// }\n// if (!_.includes(hidden, 'feedback')) {\n// features.push('feedback');\n// }\n// if (!_.includes(hidden, 'surveys')) {\n// features.push('surveys');\n// }\n// }\n// if (_.includes(notHidden, 'visitors')) {\n// features.push('visitors');\n// }\n// if (_.includes(features, 'services')) {\n// features.push('sponsors');\n// }\n// return _.uniq(features);\n// };\n\n// export const isFeatureEnabled = (features, key) => {\n// if (_.includes(features, key)) {\n// return true;\n// }\n// switch (key) {\n// case 'userManagement':\n// return _.includes(features, 'users');\n// case 'maintenanceTracking':\n// case 'maintenanceTypes':\n// return _.includes(features, 'maintenance');\n// case 'welcomePages':\n// return _.includes(features, 'news');\n// case 'polls':\n// return _.includes(features, 'surveys');\n// case 'terms':\n// return true;\n// default:\n// return false;\n// }\n// };\n\nexport const isTVEnabled = (interfaces, feature) => {\n\treturn _.some(interfaces, (t) => {\n\t\treturn (\n\t\t\tt.Type === \"TV\" &&\n\t\t\t(!feature ||\n\t\t\t\t_.some(t.Settings.widgets, (f) => {\n\t\t\t\t\treturn f.key === feature;\n\t\t\t\t}))\n\t\t);\n\t});\n};\n","import _ from \"lodash\";\nimport moment from \"moment\";\n\nexport const compileStats = (stats) => {\n\tconst totalStats = {};\n\tObject.keys(stats).forEach((id) => {\n\t\tObject.keys(stats[id]).forEach((activityId) => {\n\t\t\tif (Array.isArray(stats[id][activityId])) {\n\t\t\t\tif (!totalStats[activityId]) {\n\t\t\t\t\ttotalStats[activityId] = [];\n\t\t\t\t}\n\t\t\t\tArray.prototype.push.apply(\n\t\t\t\t\ttotalStats[activityId],\n\t\t\t\t\tstats[id][activityId],\n\t\t\t\t);\n\t\t\t\ttotalStats[activityId] = _.uniq(totalStats[activityId]);\n\t\t\t} else {\n\t\t\t\tif (!totalStats[activityId]) {\n\t\t\t\t\ttotalStats[activityId] = 0;\n\t\t\t\t}\n\t\t\t\ttotalStats[activityId] += stats[id][activityId];\n\t\t\t}\n\t\t});\n\t});\n\treturn totalStats;\n};\n\nexport const getInsight = (stats, previousStats, source, key, activity) => {\n\tlet top = { Stats: { [activity]: 0 } };\n\tObject.keys(stats).forEach((entityId) => {\n\t\tif (\n\t\t\tstats[entityId][activity] &&\n\t\t\tstats[entityId][activity] > top.Stats[activity]\n\t\t) {\n\t\t\tconst entity = _.find(source, (s) => {\n\t\t\t\treturn s[key] === entityId;\n\t\t\t});\n\t\t\tif (entity) {\n\t\t\t\ttop = { Stats: stats[entityId], Entity: entity };\n\t\t\t}\n\t\t}\n\t});\n\tif (top.Stats[activity] === 0) {\n\t\treturn null;\n\t}\n\tif (previousStats) {\n\t\ttop.PreviousStats = previousStats[top.Entity[key]];\n\t}\n\treturn top;\n};\n\nexport const getAnalyticsFilterOptions = () => {\n\treturn [\n\t\t{\n\t\t\ttext: \"Yesterday\",\n\t\t\tdayCount: 1,\n\t\t\tprevText: \"day before\",\n\t\t},\n\t\t{\n\t\t\ttext: \"Last 7 days\",\n\t\t\tdayCount: 7,\n\t\t\tprevText: \"previous 7 days\",\n\t\t},\n\t\t{\n\t\t\ttext: \"Last 14 days\",\n\t\t\tdayCount: 14,\n\t\t\tprevText: \"previous 14 days\",\n\t\t},\n\t\t{\n\t\t\ttext: \"Last 30 days\",\n\t\t\tdayCount: 30,\n\t\t\tprevText: \"previous 30 days\",\n\t\t},\n\t\t{\n\t\t\ttext: \"Last 90 days\",\n\t\t\tdayCount: 90,\n\t\t\tprevText: \"previous 90 days\",\n\t\t},\n\t\t{\n\t\t\ttext: \"Last 365 days\",\n\t\t\tdayCount: 365,\n\t\t\tprevText: \"previous 365 days\",\n\t\t},\n\t\t{\n\t\t\ttext: \"Custom Range\",\n\t\t\tdayCount: 0,\n\t\t\tprevText: \"previous * days\",\n\t\t},\n\t];\n};\n\nexport const countActivities = (data, activityKey, countType) => {\n\tlet count = 0;\n\tlet set = new Set();\n\n\tdata.forEach((entry) => {\n\t\tconst stats = entry.Stats;\n\n\t\tfor (const entity in stats) {\n\t\t\tconst entityStats = stats[entity];\n\n\t\t\tswitch (countType) {\n\t\t\t\tcase \"unique\":\n\t\t\t\t\tif (entityStats[activityKey]) {\n\t\t\t\t\t\tset.add(entity);\n\t\t\t\t\t}\n\t\t\t\t\tbreak;\n\t\t\t\tcase \"uniquearray\":\n\t\t\t\t\tif (entityStats[activityKey]) {\n\t\t\t\t\t\t_.values(entityStats[activityKey]).forEach((value) => {\n\t\t\t\t\t\t\tset.add(value);\n\t\t\t\t\t\t});\n\t\t\t\t\t}\n\t\t\t\t\tbreak;\n\t\t\t\tcase \"total\":\n\t\t\t\t\tif (entityStats[activityKey]) {\n\t\t\t\t\t\tcount += entityStats[activityKey];\n\t\t\t\t\t}\n\t\t\t\t\tbreak;\n\t\t\t\tdefault:\n\t\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\t});\n\n\tswitch (countType) {\n\t\tcase \"unique\":\n\t\tcase \"uniquearray\":\n\t\t\tconsole.log(countType, set);\n\t\t\treturn set.size;\n\t\tcase \"total\":\n\t\t\treturn count;\n\t\tdefault:\n\t\t\treturn 0;\n\t}\n};\n\nexport const generateDateRangeObjects = (\n\tstartTime,\n\tendTime,\n\tgroupBy = \"day\",\n) => {\n\tconst startDate = moment(startTime);\n\tconst endDate = moment(endTime);\n\tconst dates = {};\n\n\twhile (startDate.isSameOrBefore(endDate)) {\n\t\tconst dateString = startDate.format(\"DD-MM-YYYY\");\n\t\tdates[dateString] = {\n\t\t\tDate: dateString,\n\t\t\tTimestamp: startDate.valueOf(),\n\t\t\tStats: {},\n\t\t};\n\t\tstartDate.add(1, groupBy);\n\t}\n\n\treturn dates;\n};\n\nexport const generateDateActivities = (\n\tdata,\n\tactivityKey,\n\tcountType,\n\tstartTime,\n\tendTime,\n\tgroupBy = \"day\",\n) => {\n\tconst dates = generateDateRangeObjects(startTime, endTime, groupBy);\n\n\tconst result = [];\n\tlet formatToUse = \"DD-MM-YYYY\";\n\tlet labelFormat = \"D MMM\";\n\tswitch (groupBy) {\n\t\tcase \"month\":\n\t\t\tformatToUse = \"MM-YYYY\";\n\t\t\tlabelFormat = \"MMMM\";\n\t\t\tbreak;\n\t\tcase \"week\":\n\t\t\tformatToUse = \"w-gggg\";\n\t\t\tlabelFormat = \"[Week of] D MMM\";\n\t\t\tbreak;\n\t\tdefault:\n\t\t\tbreak;\n\t}\n\n\tObject.keys(dates).forEach((d) => {\n\t\tconst datesToUse = _.filter(data, (date) => {\n\t\t\treturn (\n\t\t\t\tmoment(date.Date, \"DD-MM-YYYY\").format(formatToUse) ===\n\t\t\t\tmoment(d, \"DD-MM-YYYY\").format(formatToUse)\n\t\t\t);\n\t\t}) || [dates[d]];\n\t\tconst compiledValue = {\n\t\t\tdate: d,\n\t\t\tlabel: moment(d, \"DD-MM-YYYY\").format(labelFormat),\n\t\t\tvalue: countActivities(datesToUse, activityKey, countType),\n\t\t};\n\n\t\tresult.push(compiledValue);\n\t});\n\tconsole.log(result);\n\treturn result;\n};\n","import _ from \"lodash\";\nimport Config from \"../../config\";\n\nconst getUrl = (\n\tbaseAction,\n\taction,\n\tquery,\n\t{ url, stage } = { url: null, stage: null },\n) => {\n\tconst { baseAPIUrl, baseStage } = Config.env;\n\tlet queryPart = \"\";\n\tif (query) {\n\t\t_.keys(query).forEach((key, index) => {\n\t\t\tqueryPart += `${index === 0 ? \"?\" : \"&\"}${key}=${encodeURIComponent(query[key])}`;\n\t\t});\n\t}\n\treturn `${url || baseAPIUrl}/${baseAction}-${stage || baseStage}/${action}${queryPart}`;\n};\n\nexport default getUrl;\n","const getUrlParams = () => {\n\tvar vars = {};\n\twindow.location.href.replace(\n\t\t/[?&]+([^=&]+)=([^&]*)/gi,\n\t\tfunction (m, key, value) {\n\t\t\tvars[key] = value;\n\t\t},\n\t);\n\treturn vars;\n};\n\nexport default getUrlParams;\n","const safeReadParams = (props, key) => {\n\tif (props && props.match && props.match.params)\n\t\treturn props.match.params[key];\n\treturn null;\n};\n\nexport default safeReadParams;\n","const getUserFromState = (state) => {\n\tif (!state || !state.auth || !state.auth.user) {\n\t\treturn {};\n\t}\n\treturn state.auth.user;\n};\n\nexport default getUserFromState;\n","import Config from \"../../config\";\n\nconst getAppColourFromState = (state) => {\n\tif (\n\t\t!state ||\n\t\t!state.auth ||\n\t\t!state.auth.siteBranding ||\n\t\t!state.auth.siteBranding.MainBrandingColour\n\t) {\n\t\treturn Config.env.colourBrandingApp;\n\t}\n\treturn state.auth.siteBranding.MainBrandingColour;\n};\n\nexport default getAppColourFromState;\n","const getExtension = (url) => {\n\tif (!url) {\n\t\treturn null;\n\t}\n\tconst fileSplit = url.split(\".\");\n\treturn fileSplit[fileSplit.length - 1].toLowerCase();\n};\n\nexport default getExtension;\n","import getExtension from \"./getExtension\";\n\nconst isVideo = (url) => {\n\tconst extension = getExtension(url);\n\treturn [\"mov\", \"mp4\"].includes(extension);\n};\n\nexport default isVideo;\n","import Config from \"../../config\";\nimport getExtension from \"./getExtension\";\nimport isVideo from \"./isVideo\";\n\nconst get1400 = (url) => {\n\tif (!url) {\n\t\treturn url;\n\t}\n\tif (isVideo(url)) {\n\t\treturn \"https://pluss60-demo-uploads.s3.ap-southeast-2.amazonaws.com/uploads/users/ap-southeast-2:97769b56-25ec-41c0-a73c-6c2c4140f629/public/9d0bbec64614b1ed654a03f7e7/movie.jpg\";\n\t}\n\tif (url.indexOf(\"https://plussprdstorage.blob.core.windows.net/\") !== -1) {\n\t\treturn url.replace(\n\t\t\t\"https://plussprdstorage.blob.core.windows.net/\",\n\t\t\t\"https://plusscdn.azureedge.net/\",\n\t\t);\n\t}\n\tif (url.indexOf(\"https://plusscdn.azureedge.net/\") !== -1) {\n\t\treturn url\n\t\t\t.replace(\"/uploads/\", \"/uploads1400/\")\n\t\t\t.replace(\"/general/\", \"/general1400/\");\n\t}\n\n\tconst { baseUploadsUrl, baseLibraryUrl } = Config.env;\n\n\tif (\n\t\turl.indexOf(baseUploadsUrl) !== -1 ||\n\t\turl.indexOf(baseLibraryUrl) !== -1\n\t) {\n\t\tconst extension = getExtension(url);\n\t\tlet urlToUse = url;\n\t\tif (extension !== \"jpg\") {\n\t\t\turlToUse = `${url.substring(0, url.length - (extension.length + 1))}.jpg`;\n\t\t}\n\t\treturn urlToUse.replace(\"/uploads/\", \"/1400/\");\n\t}\n\treturn url;\n};\n\nexport default get1400;\n","const generateImageName = (name) => {\n\treturn `xxxxxxxx4xxxyxxxxxxxxxxxxx${name}`.replace(/[xy]/g, (c) => {\n\t\t// eslint-disable-next-line\n\t\tvar r = (Math.random() * 16) | 0,\n\t\t\tv = c === \"x\" ? r : (r & 0x3) | 0x8;\n\t\treturn v.toString(16);\n\t});\n};\n\nexport default generateImageName;\n","const getFileName = (url, noExtension) => {\n\tif (!url) {\n\t\treturn null;\n\t}\n\tconst fileSplit = url.split(\"/\");\n\tconst name = fileSplit[fileSplit.length - 1].toLowerCase();\n\tif (!noExtension) {\n\t\treturn name;\n\t}\n\treturn name.split(\".\")[0];\n};\n\nexport default getFileName;\n","import Config from \"../../config\";\nimport getExtension from \"./getExtension\";\nimport isVideo from \"./isVideo\";\n\nconst getThumb300 = (url) => {\n\tif (!url) {\n\t\treturn url;\n\t}\n\tif (isVideo(url)) {\n\t\treturn \"https://pluss60-demo-uploads.s3.ap-southeast-2.amazonaws.com/uploads/users/ap-southeast-2:97769b56-25ec-41c0-a73c-6c2c4140f629/public/9d0bbec64614b1ed654a03f7e7/movie.jpg\";\n\t}\n\tif (url.indexOf(\"https://plussprdstorage.blob.core.windows.net/\") !== -1) {\n\t\treturn url.replace(\n\t\t\t\"https://plussprdstorage.blob.core.windows.net/\",\n\t\t\t\"https://plusscdn.azureedge.net/\",\n\t\t);\n\t}\n\tif (url.indexOf(\"https://plusscdn.azureedge.net/\") !== -1) {\n\t\treturn url\n\t\t\t.replace(\"/uploads/\", \"/uploads-thumb/\")\n\t\t\t.replace(\"/general/\", \"/general300/\")\n\t\t\t.replace(\"/uploads1400/\", \"/uploads-thumb/\")\n\t\t\t.replace(\"/general1400/\", \"/general300/\");\n\t}\n\n\tconst { baseUploadsUrl, baseLibraryUrl } = Config.env;\n\n\tif (\n\t\turl.indexOf(baseUploadsUrl) !== -1 ||\n\t\turl.indexOf(baseLibraryUrl) !== -1\n\t) {\n\t\tconst extension = getExtension(url);\n\t\tlet urlToUse = url;\n\t\tif (extension !== \"jpg\") {\n\t\t\turlToUse = `${url.substring(0, url.length - (extension.length + 1))}.jpg`;\n\t\t}\n\t\treturn urlToUse\n\t\t\t.replace(\"/1400/\", \"/thumb300/\")\n\t\t\t.replace(\"/uploads/\", \"/thumb300/\");\n\t}\n\treturn url;\n};\n\nexport default getThumb300;\n","import _ from \"lodash\";\n\nconst getFirstName = (string) => {\n\tif (_.isEmpty(string)) {\n\t\treturn \"\";\n\t}\n\treturn string.split(\" \")[0];\n};\n\nexport default getFirstName;\n","import _ from \"lodash\";\n\nconst isEmail = (email) => {\n\tif (_.isEmpty(email)) return false;\n\tconst atpos = email.indexOf(\"@\");\n\tconst dotpos = email.lastIndexOf(\".\");\n\tif (atpos < 1 || dotpos < atpos + 2 || dotpos + 2 >= email.length)\n\t\treturn false;\n\treturn true;\n};\n\nexport default isEmail;\n","import _ from \"lodash\";\n\nconst isUrl = (url) => {\n\tif (_.isEmpty(url)) return false;\n\n\tconst dotpos = url.lastIndexOf(\".\");\n\tif (dotpos < 2 || dotpos + 2 >= url.length) {\n\t\treturn false;\n\t}\n\treturn true;\n};\n\nexport default isUrl;\n","const randomString = () => {\n\treturn \"xxxxxxxx4xxxyxxxxxxxxxxxxx\".replace(/[xy]/g, (c) => {\n\t\t// eslint-disable-next-line\n\t\tvar r = (Math.random() * 16) | 0,\n\t\t\tv = c === \"x\" ? r : (r & 0x3) | 0x8;\n\t\treturn v.toString(16);\n\t});\n};\n\nexport default randomString;\n","import React from \"react\";\nimport _ from \"lodash\";\n\nconst toParagraphed = (text, style) => {\n\tif (!text) return text;\n\ttext = text.replace(/\\t/g, \"\\u00a0\\u00a0\\u00a0\\u00a0\");\n\tconst textSplit = text.split(\"\\n\");\n\treturn _.map(textSplit, (t, i) => {\n\t\treturn (\n\t\t\t<span key={`paragraph_${i}`} style={{ display: \"block\", ...style }}>\n\t\t\t\t{t || \"\\u00A0\"}\n\t\t\t</span>\n\t\t);\n\t});\n};\n\nexport default toParagraphed;\n","const onlyAlphanumeric = (input) => {\n\tif (!input) {\n\t\treturn input;\n\t}\n\treturn input.replace(/[^a-z0-9]/gi, \"\");\n};\n\nexport default onlyAlphanumeric;\n","import $ from \"jquery\";\n\nconst htmlDecode = (value) => $(\"<textare/>\").html(value).text();\nexport default htmlDecode;\n","import $ from \"jquery\";\n\nconst htmlEncode = (value) => $(\"<textare/>\").text(value).html();\nexport default htmlEncode;\n","import _ from \"lodash\";\n\nconst getSiteName = (site, sites) => {\n\tif (site === \"hq\") {\n\t\treturn \"HQ\";\n\t}\n\tconst siteObject = _.find(sites, (t) => {\n\t\treturn t.Id === site;\n\t});\n\tif (siteObject) {\n\t\treturn siteObject.siteName;\n\t}\n\treturn site;\n};\n\nexport default getSiteName;\n","import getSiteName from \"./getSiteName\";\n\nconst getSiteNameFromRoles = (site, roles) => {\n\treturn getSiteName(\n\t\tsite,\n\t\troles.map((r) => {\n\t\t\treturn r.siteInfo;\n\t\t}),\n\t);\n};\n\nexport default getSiteNameFromRoles;\n","import _ from \"lodash\";\n\nconst getSiteSettingFromState = (state, key, defaultValue) => {\n\tif (\n\t\tstate &&\n\t\tstate.auth &&\n\t\tstate.auth.siteSettings &&\n\t\t!_.isUndefined(state.auth.siteSettings[key])\n\t) {\n\t\treturn state.auth.siteSettings[key];\n\t}\n\treturn defaultValue || null;\n};\n\nexport default getSiteSettingFromState;\n","const getSiteLevelFromState = (state) => {\n\tlet siteType = \"legacy\";\n\tif (state && state.auth && state.auth.siteType) {\n\t\tsiteType = state.auth.siteType;\n\t}\n\tconst siteConfig = {\n\t\ttype: siteType,\n\t\tfeaturePickerUrl: \"/featurepicker\",\n\t\thasTV: true,\n\t\thasKiosk: false,\n\t\thasPayments: true,\n\t\thasLinkedContent: true,\n\t\thasPersonalNotes: true,\n\t\thasEmergencyContacts: true,\n\t\thasPersonalDocuments: true,\n\t};\n\n\tswitch (siteType) {\n\t\tcase \"free\":\n\t\t\tsiteConfig.featurePickerUrl = \"/features\";\n\t\t\tsiteConfig.hasTV = false;\n\t\t\tsiteConfig.hasPayments = false;\n\t\t\tsiteConfig.hasLinkedContent = false;\n\t\t\tsiteConfig.hasPersonalNotes = false;\n\t\t\tsiteConfig.hasEmergencyContacts = false;\n\t\t\tsiteConfig.hasPersonalDocuments = false;\n\t\t\tbreak;\n\t\tdefault:\n\t\t\tbreak;\n\t}\n\treturn siteConfig;\n};\n\nexport default getSiteLevelFromState;\n","import _ from \"lodash\";\n\nconst getMerchantsFromState = (state) => {\n\tif (!state || !state.auth || !state.auth.user) return [];\n\tconst currentSite = state.auth.user.Roles.find(\n\t\t(r) => r.site === state.auth.site,\n\t);\n\treturn currentSite && !_.isEmpty(currentSite.siteInfo.Accounts)\n\t\t? currentSite.siteInfo.Accounts\n\t\t: [];\n};\n\nexport default getMerchantsFromState;\n","const readJSONFromStorage = (storage, key, fallback) => {\n\tconst value = storage.getItem(key);\n\tif (value) {\n\t\treturn JSON.parse(value);\n\t}\n\treturn fallback;\n};\n\nexport default readJSONFromStorage;\n","const setLocalStorage = (key, value, isJson) => {\n\twindow.localStorage.setItem(key, isJson ? JSON.stringify(value) : value);\n};\n\nexport default setLocalStorage;\n","import Cookies from \"js-cookie\";\n\nconst readStorageWithCookie = (key, isJson) => {\n\tconst value = window.localStorage.getItem(key);\n\tif (value) {\n\t\tif (isJson) {\n\t\t\ttry {\n\t\t\t\treturn JSON.parse(value);\n\t\t\t} catch (e) {\n\t\t\t\tconsole.log(\"parse error\", e);\n\t\t\t}\n\t\t\treturn null;\n\t\t}\n\t\treturn value;\n\t}\n\tif (isJson) {\n\t\treturn Cookies.getJSON(key);\n\t}\n\treturn Cookies.get(key);\n};\n\nexport default readStorageWithCookie;\n","import _ from \"lodash\";\nimport moment from \"moment\";\n\nexport const getTimepickerTime = (input) => {\n\tvar timeSplit = input.split(\":\");\n\tif (timeSplit[1].indexOf(\"pm\") > -1) {\n\t\tif (timeSplit[0] !== \"12\") {\n\t\t\ttimeSplit[0] = (parseInt(timeSplit[0], 10) + 12).toString();\n\t\t}\n\t}\n\tif (timeSplit[1].indexOf(\"am\") > -1) {\n\t\tif (timeSplit[0] === \"12\") {\n\t\t\ttimeSplit[0] = \"00\";\n\t\t}\n\t}\n\treturn {\n\t\thours: timeSplit[0],\n\t\tminutes: timeSplit[1].substring(0, 2),\n\t};\n};\n\n//converts the result of getTimePickerTime into a number representing minutes since midnight\nexport const timeToMinutes = (time) => {\n\treturn parseInt(time.hours, 10) * 60 + parseInt(time.minutes, 10);\n};\n\n// checks whether there is an overlap between two time frames given time and end times in minutes since midnight\nexport const hasTimeframeOverlap = (aStart, aEnd, bStart, bEnd) => {\n\treturn (aStart < bEnd && bStart < aEnd) || (bStart < aEnd && aStart < bEnd);\n};\n\n// converts a time picker input into midnights since midnight\nexport const timepickerToMinutes = (input) => {\n\treturn timeToMinutes(getTimepickerTime(input));\n};\n\nexport const getDateFromTimeDatePickers = (dateInput, timeInput) => {\n\tconst dateObject = new Date(dateInput);\n\tconst time = getTimepickerTime(timeInput);\n\tdateObject.setHours(time.hours);\n\tdateObject.setMinutes(time.minutes);\n\treturn dateObject;\n};\n\nexport const formatTime = (hours, minutes) => {\n\tconst period = hours >= 12 ? \"pm\" : \"am\"; // Convert 24-hour format to 12-hour format\n\n\tconst adjustedHours = hours > 12 ? hours - 12 : hours === 0 ? 12 : hours; // Ensure minutes are two digits\n\n\tconst adjustedMinutes = String(minutes).padStart(2, \"0\");\n\treturn `${adjustedHours}:${adjustedMinutes}${period}`;\n};\n\nexport const minutesToString = (minutes, isTimeOfDay) => {\n\tconst hours = Math.floor(minutes / 60);\n\tconst remainingMinutes = minutes % 60;\n\n\tif (isTimeOfDay) {\n\t\treturn formatTime(hours, remainingMinutes);\n\t}\n\n\tconst hoursString = hours > 1 ? `${hours} hours` : `${hours} hour`;\n\tconst minutesString =\n\t\tremainingMinutes > 1\n\t\t\t? `${remainingMinutes} minutes`\n\t\t\t: `${remainingMinutes} minute`;\n\n\tif (hours && remainingMinutes) {\n\t\treturn `${hoursString} ${minutesString}`;\n\t}\n\n\tif (hours) {\n\t\treturn hoursString;\n\t}\n\n\tif (remainingMinutes) {\n\t\treturn minutesString;\n\t}\n\n\treturn \"0 minutes\";\n};\n\nexport const getUTCFromTimeDatePickers = (dateInput, timeInput) => {\n\tconst dateObject = getDateFromTimeDatePickers(dateInput, timeInput);\n\treturn moment.utc(dateObject);\n};\n\nexport const getPluralS = (count) => {\n\tif (count === 1) {\n\t\treturn \"\";\n\t}\n\treturn \"s\";\n};\n\nexport const getPluralOptions = (count, singular, plural) => {\n\tif (count === 1) {\n\t\treturn singular;\n\t}\n\treturn plural;\n};\n","import Config from \"../config\";\n\n// deprecated\nexport const setChatUser = (auth) => {\n\treturn;\n};\n\n// deprecated\nexport const openChat = () => {\n\treturn;\n};\n\n// deprecated\nexport const hideChat = () => {\n\treturn;\n};\n","// api\nexport { default as getUrl } from \"./api/getUrl\";\nexport { default as getUrlParams } from \"./api/getUrlParams\";\nexport { default as safeReadParams } from \"./api/safeReadParams\";\n\n// auth\nexport { default as getUserFromState } from \"./auth/getUserFromState\";\n\n// colours\nexport { default as getAppColourFromState } from \"./colours/getAppColourFromState\";\n\n// files\nexport { default as get1400 } from \"./files/get1400\";\nexport { default as generateImageName } from \"./files/generateImageName\";\nexport { default as getExtension } from \"./files/getExtension\";\nexport { default as getFileName } from \"./files/getFileName\";\nexport { default as getThumb300 } from \"./files/getThumb300\";\nexport { default as isVideo } from \"./files/isVideo\";\n\n// strings\nexport { default as getFirstName } from \"./strings/getFirstName\";\nexport { default as isEmail } from \"./strings/isEmail\";\nexport { default as isUrl } from \"./strings/isUrl\";\nexport { default as randomString } from \"./strings/randomString\";\nexport { default as toParagraphed } from \"./strings/toParagraphed\";\nexport { default as onlyAlphanumeric } from \"./strings/onlyAlphanumeric\";\nexport { default as htmlDecode } from \"./strings/htmlDecode\";\nexport { default as htmlEncode } from \"./strings/htmlEncode\";\n\n// site\nexport { default as getSiteName } from \"./site/getSiteName\";\nexport { default as getSiteNameFromRoles } from \"./site/getSiteNameFromRoles\";\nexport { default as getSiteSettingFromState } from \"./site/getSiteSettingFromState\";\nexport { default as getSiteLevelFromState } from \"./site/getSiteLevelFromState\";\nexport { default as getMerchantsFromState } from \"./site/getMerchantsFromState\";\n\n// storage\nexport { default as readJSONFromStorage } from \"./storage/readJSONFromStorage\";\nexport { default as setLocalStorage } from \"./storage/setLocalStorage\";\nexport { default as readStorageWithCookie } from \"./storage/readStorageWithCookie\";\n\n// misc\nexport * from \"./helper\";\nexport * from \"./HelpDeskWidget\";\n","// const COLOUR_1 = '#011d5c';\n// const COLOUR_2 = '#3179cb';\n// const COLOUR_3 = '#1bb7ee';\n\nconst COLOUR_BRANDING_MAIN = \"#4a57b7\";\n// const COLOUR_BRANDING_DARK = '#364196';\n// const COLOUR_BRANDING_LIGHT = '#597db4';\nconst COLOUR_BRANDING_OFF = \"#597db4\";\nconst COLOUR_BRANDING_ACTION = \"#5c90df\";\nconst COLOUR_BRANDING_INACTIVE = \"#dbddf1\";\n\n// const TEXT_DARKEST = '#262a2d';\n// const TEXT_DARK = '#262a2d';\n// const TEXT_DARK_ALPHA50 = 'rgba(60, 60, 80, .5)';\n// const TEXT_DARK_ALPHA20 = 'rgba(60, 60, 80, .2)';\n// const TEXT_DARK_ALPHA10 = 'rgba(60, 60, 80, .1)';\n// const TEXT_MID = '#5a5a6e';\n// const TEXT_MID_ALPHA50 = 'rgba(90, 90, 110, .5)';\nconst TEXT_LIGHT = \"#717b81\";\n// const TEXT_SUPER_LIGHT = '#d2d9e5';\nconst COLOUR_DUSK = \"#536280\";\nconst COLOUR_DUSK_LIGHT = \"#67758f\";\nconst COLOUR_DUSK_LIGHTER = \"#a1afcc\";\n\nconst LINEGREY = COLOUR_BRANDING_INACTIVE;\n// const BORDER_LINE_GREY = COLOUR_BRANDING_INACTIVE;\n\n// const COLOUR_TEAL = '#49bdbb';\n// const COLOUR_TEAL_ALPHA50 = 'rgba(4, 196, 169, 0.2)';\n// const COLOUR_BLUE = '#5e9efc';\n// const COLOUR_BLUE_ALPHA10 = 'rgba(0, 131, 238, 0.1)';\n// const COLOUR_DARKBLUE = '#191e78';\n// const COLOUR_PURPLE = '#6e79c5';\nconst COLOUR_RED = \"#c02743\";\nconst COLOUR_GREEN = \"#00cc9c\";\n// const COLOUR_TANGERINE = '#ff8c75';\n// const COLOUR_CITRON = '#bdbd27';\n// const COLOUR_GRAPEFRUIT = '#ff6363';\n// const DARK_OVERLAY = 'rgba(19,19,26,.9)';\n// const FACEBOOK_BLUE = '#3B5998';\n\n// const COLOUR_NAV_GREY = '#f6f6f6';\n// const COLOUR_TRANSPARENT = 'rgba(0,0,0,0)';\n// const COLOUR_SIDEBAR = '#303030';\nconst COLOUR_LIGHTGREY = \"#8695b2\";\n\nconst INACTIVE_TEXT = COLOUR_LIGHTGREY;\n\nconst COLOUR_BRANDING_APP = \"#4a57b7\";\n\nconst hexToRGB = (hex) => {\n\t// Expand shorthand form (e.g. \"03F\") to full form (e.g. \"0033FF\")\n\tconst shorthandRegex = /^#?([a-f\\d])([a-f\\d])([a-f\\d])$/i;\n\thex = hex.replace(shorthandRegex, (m, r, g, b) => {\n\t\treturn r + r + g + g + b + b;\n\t});\n\n\tconst result = /^#?([a-f\\d]{2})([a-f\\d]{2})([a-f\\d]{2})$/i.exec(hex);\n\treturn result\n\t\t? {\n\t\t\t\tr: parseInt(result[1], 16),\n\t\t\t\tg: parseInt(result[2], 16),\n\t\t\t\tb: parseInt(result[3], 16),\n\t\t\t}\n\t\t: null;\n};\n\nconst hexToRGBAstring = (hex, opacity) => {\n\t// Expand shorthand form (e.g. \"03F\") to full form (e.g. \"0033FF\")\n\tconst shorthandRegex = /^#?([a-f\\d])([a-f\\d])([a-f\\d])$/i;\n\thex = hex.replace(shorthandRegex, (m, r, g, b) => {\n\t\treturn r + r + g + g + b + b;\n\t});\n\n\tconst result = /^#?([a-f\\d]{2})([a-f\\d]{2})([a-f\\d]{2})$/i.exec(hex);\n\treturn result\n\t\t? `rgba(${parseInt(result[1], 16)}, ${parseInt(result[2], 16)}, ${parseInt(result[3], 16)}, ${opacity})`\n\t\t: null;\n};\n\n// const pctBtwnColours = (c1, c2, percentage) => {\n// const rgbC1 = hexToRGB(c1);\n// const rgbC2 = hexToRGB(c2);\n// const r = rgbC2.r + (rgbC1.r - rgbC2.r) * percentage;\n// const g = rgbC2.g + (rgbC1.g - rgbC2.g) * percentage;\n// const b = rgbC2.b + (rgbC1.b - rgbC2.b) * percentage;\n// return `rgb(${Math.round(r)}, ${Math.round(g)}, ${Math.round(b)})`;\n// };\n\nexport {\n\t// COLOUR_1,\n\t// COLOUR_2,\n\t// COLOUR_3,\n\t// TEXT_DARKEST,\n\t// TEXT_DARK,\n\t// TEXT_DARK_ALPHA50,\n\t// TEXT_DARK_ALPHA20,\n\t// TEXT_DARK_ALPHA10,\n\t// TEXT_MID,\n\t// TEXT_MID_ALPHA50,\n\tTEXT_LIGHT,\n\t// TEXT_SUPER_LIGHT,\n\tCOLOUR_DUSK,\n\tCOLOUR_DUSK_LIGHT,\n\tCOLOUR_DUSK_LIGHTER,\n\tLINEGREY,\n\t// BORDER_LINE_GREY,\n\t// COLOUR_TEAL,\n\t// COLOUR_TEAL_ALPHA50,\n\t// COLOUR_BLUE,\n\t// COLOUR_BLUE_ALPHA10,\n\t// COLOUR_DARKBLUE,\n\t// COLOUR_PURPLE,\n\tCOLOUR_RED,\n\t// COLOUR_TANGERINE,\n\t// COLOUR_CITRON,\n\t// COLOUR_GRAPEFRUIT,\n\t// DARK_OVERLAY,\n\thexToRGB,\n\thexToRGBAstring,\n\t// pctBtwnColours,\n\t// FACEBOOK_BLUE,\n\t// COLOUR_NAV_GREY,\n\t// COLOUR_TRANSPARENT,\n\t// COLOUR_SIDEBAR,\n\tCOLOUR_BRANDING_MAIN,\n\tCOLOUR_BRANDING_OFF,\n\t// COLOUR_BRANDING_LIGHT,\n\t// COLOUR_BRANDING_DARK,\n\tCOLOUR_BRANDING_ACTION,\n\tCOLOUR_GREEN,\n\tINACTIVE_TEXT,\n\tCOLOUR_LIGHTGREY,\n\tCOLOUR_BRANDING_APP,\n\tCOLOUR_BRANDING_INACTIVE,\n};\n","export const SET_AUTH = \"set_auth\";\nexport const LOGOUT = \"LOGOUT\";\nexport const CHANGE_SITE = \"CHANGE_SITE\";\nexport const UPDATE_PROFILE = \"UPDATE_PROFILE\";\n\nexport const ADD_RECENTLY_CREATED = \"ADD_RECENTLY_CREATED\";\n\nexport const USERS_LOADED = \"USERS_LOADED\";\nexport const USER_REMOVED = \"USER_REMOVED\";\nexport const USERS_PURGE = \"USERS_PURGE\";\nexport const USERS_LOADING = \"USERS_LOADING\";\nexport const USERS_RESIDENT_COUNT_SET = \"USERS_RESIDENT_COUNT_SET\";\n\nexport const INVITE_CODES_LOADED = \"INVITE_CODES_LOADED\";\nexport const INVITE_CODE_UPDATED = \"INVITE_CODE_UPDATED\";\nexport const INVITE_CODE_REMOVED = \"INVITE_CODE_REMOVED\";\n\nexport const SET_NAV_DATA = \"SET_NAV_DATA\";\n\nexport const TEMPLATES_LOADED = \"TEMPLATES_LOADED\";\nexport const TEMPLATE_REMOVED = \"TEMPLATE_REMOVED\";\n\nexport const SCHEDULED_ACTIONS_LOADED = \"SCHEDULED_ACTIONS_LOADED\";\n","import { SET_AUTH, CHANGE_SITE, UPDATE_PROFILE, LOGOUT } from \"./types\";\n// import { getEnabledFeatures } from '../session';\n// import { authActions, typeActions } from '../apis';\n\n// export const refreshAuthUser = (site) => {\n// return (dispatch) => {\n// const promises = [];\n// promises.push(authActions.getUserSignin());\n// promises.push(typeActions.getSite(site));\n// promises.push(typeActions.getInterfaces(site));\n\n// Promise.all(promises).then((res) => {\n// const userRes = res[0].data;\n// const siteSettingsRes = res[1].data;\n// const interfaces = res[2].data;\n// console.log(siteSettingsRes);\n// dispatch({\n// type: SET_AUTH,\n// payload: {\n// user: { ...userRes, uid: userRes.Id },\n// features: getEnabledFeatures(siteSettingsRes, interfaces),\n// hidden: [...(siteSettingsRes.Hidden || [])],\n// siteSettings: { ...(siteSettingsRes.Settings || {}) },\n// siteBranding: { ...(siteSettingsRes.Branding || {}) },\n// },\n// });\n// });\n// };\n// };\n\nexport const setAuth = (stuff) => {\n\treturn {\n\t\ttype: SET_AUTH,\n\t\tpayload: stuff,\n\t};\n};\n\nexport const setAuthUser = (auth, user, site) => {\n\treturn (dispatch) => {\n\t\tif (!auth && !user && !site) {\n\t\t\tdispatch({\n\t\t\t\ttype: LOGOUT,\n\t\t\t\tpayload: null,\n\t\t\t});\n\t\t}\n\t\tdispatch({\n\t\t\ttype: SET_AUTH,\n\t\t\tpayload: {\n\t\t\t\tauth,\n\t\t\t\tuser,\n\t\t\t\tsite,\n\t\t\t\toriginalSite: site,\n\t\t\t},\n\t\t});\n\t};\n};\n\nexport const setRemember = (chooken) => {\n\treturn {\n\t\ttype: SET_AUTH,\n\t\tpayload: {\n\t\t\tchooken,\n\t\t},\n\t};\n};\n\nexport const setAuthLocation = (site) => {\n\tconsole.log(\"setting auth location\");\n\tconsole.log(site);\n\treturn {\n\t\ttype: CHANGE_SITE,\n\t\tpayload: {\n\t\t\tsite,\n\t\t},\n\t};\n};\n\nexport const updateProfile = (changes) => {\n\treturn {\n\t\ttype: UPDATE_PROFILE,\n\t\tpayload: changes,\n\t};\n};\n","import { ADD_RECENTLY_CREATED } from \"./types\";\n\nexport const addRecentlyCreated = (feature) => {\n\treturn {\n\t\ttype: ADD_RECENTLY_CREATED,\n\t\tpayload: feature,\n\t};\n};\n","import { authedFunction } from \"../session\";\nimport { getUrl } from \"../helper\";\n\nexport const analyticsActions = {\n\tlog: (site, actionType, entityType, entityId, data) => {\n\t\treturn authedFunction({\n\t\t\tmethod: \"POST\",\n\t\t\turl: getUrl(\"analytics\", \"log\"),\n\t\t\tdata: {\n\t\t\t\tsite,\n\t\t\t\tactionType,\n\t\t\t\tentityType,\n\t\t\t\tentityId,\n\t\t\t\tdata,\n\t\t\t},\n\t\t});\n\t},\n\tgetEntityStats: (entityId, entityType) => {\n\t\treturn authedFunction({\n\t\t\tmethod: \"GET\",\n\t\t\turl: getUrl(\"analytics\", \"getentity\", { entityId, entityType }),\n\t\t});\n\t},\n\tgetActivityLog: (entityId, entityType, actionType, minTime, maxTime) => {\n\t\tconst query = { entityId, entityType, actionType };\n\t\tif (minTime) {\n\t\t\tquery.minTime = minTime;\n\t\t}\n\t\tif (maxTime) {\n\t\t\tquery.maxTime = maxTime;\n\t\t}\n\t\treturn authedFunction({\n\t\t\tmethod: \"GET\",\n\t\t\turl: getUrl(\"analytics\", \"activity\", query),\n\t\t});\n\t},\n\tgetAggregateUserStats: (site) => {\n\t\treturn authedFunction({\n\t\t\tmethod: \"GET\",\n\t\t\turl: getUrl(\"analytics\", \"users\", { site }),\n\t\t});\n\t},\n\tgetAggregateEntityStats: (site, type, minTime, maxTime, raw) => {\n\t\tconst query = { site, type, minTime, maxTime };\n\t\tif (raw) {\n\t\t\tquery.raw = raw;\n\t\t}\n\t\treturn authedFunction({\n\t\t\tmethod: \"GET\",\n\t\t\turl: getUrl(\"analytics\", \"aggregate\", query),\n\t\t});\n\t},\n};\n","import axios from \"axios\";\nimport { getUrl } from \"../helper\";\nimport { authedFunction } from \"../session\";\n\nexport const authActions = {\n\tcheckUserAuth: (userId) => {\n\t\tlet url = getUrl(\"auth\", \"checkUserAuth\");\n\t\treturn authedFunction({\n\t\t\tmethod: \"POST\",\n\t\t\turl,\n\t\t\tdata: {\n\t\t\t\tuserId,\n\t\t\t},\n\t\t});\n\t},\n\tfetchForgotPasswordId: (input) => {\n\t\treturn axios({\n\t\t\tmethod: \"POST\",\n\t\t\turl: getUrl(\"auth\", \"checkForgotUser\"),\n\t\t\tdata: {\n\t\t\t\tuser: {\n\t\t\t\t\temail: input,\n\t\t\t\t\tphoneNumber: input,\n\t\t\t\t},\n\t\t\t},\n\t\t\theaders: { authorization: \"GwegChicken\" },\n\t\t});\n\t},\n\tdisableUser: (username, site) => {\n\t\tlet url = getUrl(\"users\", \"testUserDisbale\");\n\t\tconst request = {\n\t\t\tmethod: \"POST\",\n\t\t\turl,\n\t\t\tdata: {\n\t\t\t\tusername,\n\t\t\t\tsite,\n\t\t\t},\n\t\t};\n\t\treturn authedFunction(request);\n\t},\n\tgetUserSignin: async () => {\n\t\treturn authedFunction({\n\t\t\tmethod: \"POST\",\n\t\t\turl: getUrl(\"auth\", \"getUserSignin\"),\n\t\t});\n\t},\n\tcopyDummy: (site) => {\n\t\tlet url = getUrl(\"auth\", \"copyDummy\");\n\t\tconst request = {\n\t\t\tmethod: \"POST\",\n\t\t\turl,\n\t\t\tdata: {\n\t\t\t\tsite,\n\t\t\t},\n\t\t};\n\t\treturn authedFunction(request);\n\t},\n};\n","/**\n * ADAPTED FROM:\n *\n * Resize and rotate images by EXIF orientation on the client side during upload. This uses\n * the HTML Canvas element and HTML5 FileReader.\n *\n * This class requires the Javascript file from https://github.com/jseidelin/exif-js\n *\n * See the GitHub repo for examples: https://github.com/ajgarn/CanvasImageUploader.\n *\n * @class CanvasImageUploader\n * @author ajgarn\n * @see https://github.com/ajgarn/CanvasImageUploader\n */\n\nfunction CanvasImageUploader(options) {\n\toptions = options || {};\n\tif (typeof options.maxSize === \"undefined\") options.maxSize = 1500;\n\tif (typeof options.jpegQuality === \"undefined\") options.jpegQuality = 0.7;\n\n\tvar image; // Image object (<img>)\n\tvar imageData; // Image from canvas as byte array\n\n\t/**\n\t * Converts a base64 string to byte array.\n\t */\n\tfunction base64toBlob(base64Data, contentType, sliceSize) {\n\t\tcontentType = contentType || \"\";\n\t\tsliceSize = sliceSize || 512;\n\n\t\tvar byteCharacters = atob(base64Data);\n\t\tvar byteArrays = [];\n\n\t\tfor (var offset = 0; offset < byteCharacters.length; offset += sliceSize) {\n\t\t\tvar slice = byteCharacters.slice(offset, offset + sliceSize);\n\t\t\tvar byteNumbers = new Array(slice.length);\n\t\t\tfor (var i = 0; i < slice.length; i++) {\n\t\t\t\tbyteNumbers[i] = slice.charCodeAt(i);\n\t\t\t}\n\t\t\tvar byteArray = new Uint8Array(byteNumbers);\n\t\t\tbyteArrays.push(byteArray);\n\t\t}\n\n\t\treturn new Blob(byteArrays, { type: contentType });\n\t}\n\n\tfunction calculateSize(image, maxSize) {\n\t\tvar size = { width: image.width, height: image.height };\n\t\tif (image.width > maxSize || image.height > maxSize) {\n\t\t\tvar ratio = image.width / image.height;\n\t\t\tif (image.width >= image.height) {\n\t\t\t\tsize.width = maxSize;\n\t\t\t\tsize.height = maxSize / ratio;\n\t\t\t} else {\n\t\t\t\tsize.height = maxSize;\n\t\t\t\tsize.width = maxSize * ratio;\n\t\t\t}\n\t\t}\n\t\treturn size;\n\t}\n\n\tfunction setDimensions($canvas, size) {\n\t\t$canvas.attr(\"width\", size.width);\n\t\t$canvas.attr(\"height\", size.height);\n\t}\n\n\tfunction drawOnCanvas(image, $canvas, maxSize) {\n\t\tvar canvas = $canvas[0];\n\t\tvar ctx = canvas.getContext(\"2d\");\n\n\t\tvar size = calculateSize(image, maxSize);\n\t\tsetDimensions($canvas, size);\n\n\t\t// Clear canvas\n\t\tctx.clearRect(0, 0, $canvas.width(), $canvas.height());\n\n\t\tctx.drawImage(\n\t\t\timage,\n\t\t\t0,\n\t\t\t0,\n\t\t\timage.width,\n\t\t\timage.height, // Source rectangle\n\t\t\t0,\n\t\t\t0,\n\t\t\tsize.width,\n\t\t\tsize.height,\n\t\t); // Destination rectangle\n\t}\n\n\tfunction readImageToCanvasOnLoad(image, $canvas, callback) {\n\t\tdrawOnCanvas(image, $canvas, options.maxSize);\n\t\tif (callback) callback();\n\t\telse console.warn(\"No callback for readImageToCanvas\");\n\t}\n\n\treturn {\n\t\t/**\n\t\t * Run to initialize CanvasImageUploader.\n\t\t */\n\t\tnewImage: function () {\n\t\t\timageData = null;\n\t\t\timage = new Image();\n\t\t},\n\n\t\t/**\n\t\t * Returns the image data if any file has been read.\n\t\t * @returns {Blob|null}\n\t\t */\n\t\tgetImageData: function () {\n\t\t\treturn imageData;\n\t\t},\n\n\t\t/**\n\t\t * Draw an image (<img>) or contents of a canvas to another canvas. The destination\n\t\t * canvas is resized properly.\n\t\t * @param source The image or source canvas to draw on a new canvas.\n\t\t * @param $destination The destination canvas to draw onto.\n\t\t * @param maxSize Maximum width or height of the destination canvas.\n\t\t */\n\t\tcopyToCanvas: function (source, $destination, maxSize) {\n\t\t\tvar size = calculateSize(source, maxSize);\n\t\t\tsetDimensions($destination, size, 1);\n\t\t\tvar destCtx = $destination[0].getContext(\"2d\");\n\t\t\tdestCtx.drawImage(\n\t\t\t\tsource,\n\t\t\t\t0,\n\t\t\t\t0,\n\t\t\t\tsource.width,\n\t\t\t\tsource.height,\n\t\t\t\t0,\n\t\t\t\t0,\n\t\t\t\tsize.width,\n\t\t\t\tsize.height,\n\t\t\t);\n\t\t},\n\n\t\t/**\n\t\t * Draw an image from a file on a canvas.\n\t\t * @param file The uploaded file.\n\t\t * @param $canvas The canvas (jQuery) object to draw on.\n\t\t * @param callback Function that is called when the operation has finished.\n\t\t */\n\t\treadImageToCanvas: function (file, $canvas, callback) {\n\t\t\tthis.newImage();\n\t\t\tif (!file) return;\n\n\t\t\tvar reader = new FileReader();\n\t\t\treader.onload = function (fileReaderEvent) {\n\t\t\t\timage.onload = function () {\n\t\t\t\t\treadImageToCanvasOnLoad(this, $canvas, callback);\n\t\t\t\t};\n\t\t\t\timage.src = fileReaderEvent.target.result; // The URL from FileReader\n\t\t\t};\n\t\t\treader.readAsDataURL(file);\n\t\t},\n\n\t\t/**\n\t\t * Read the canvas data and save it as a binary byte array to image data variable.\n\t\t * Get this data using the method getImageData().\n\t\t * @param canvas\n\t\t */\n\t\tsaveCanvasToImageData: function (canvas) {\n\t\t\tvar base64 = canvas\n\t\t\t\t.toDataURL(\"image/jpeg\", options.jpegQuality)\n\t\t\t\t.replace(/^data:image\\/(png|jpeg|jpg|gif);base64,/, \"\");\n\t\t\timageData = base64toBlob(base64, \"image/jpeg\"); // Byte array\n\t\t},\n\t};\n}\n\nexport default CanvasImageUploader;\n","import { getCurrentUserSub, authedFunction } from \"../session\";\nimport Config from \"../config\";\nimport { Storage } from \"aws-amplify\";\nimport CanvasImageUploader from \"../helper/files/canvasImageUploader\";\nimport $ from \"jquery\";\nimport { generateImageName, randomString, getUrl } from \"../helper\";\n\nexport const fileActions = {\n\tuploadMediaAsync: async (file, filename) => {\n\t\tconst newFilename = filename.replace(/[^a-z0-9+.]+/gi, \"\").toLowerCase();\n\t\tconst userId = await getCurrentUserSub();\n\t\tconst url = `uploads/users/${userId}/public/${randomString()}/${newFilename}`;\n\n\t\tconst { baseUploadsUrl, uploadBucket } = Config.env;\n\t\tawait Storage.put(url, file, { level: \"public\", bucket: uploadBucket });\n\t\tconsole.log(\"uploaded file\", `${baseUploadsUrl}${url}`);\n\t\treturn `${baseUploadsUrl}${url}`;\n\t},\n\n\t// readBase64: async (file) => {\n\t// return new Promise((resolve, reject) => {\n\t// var reader = new FileReader();\n\t// reader.readAsDataURL(file);\n\t// reader.onload = () => {\n\t// resolve(reader.result);\n\t// //resolve(reader.result.split(',')[1]);\n\t// };\n\t// reader.onerror = (error) => {\n\t// reject(error);\n\t// };\n\t// });\n\t// },\n\tcompressImage: (file, maxSize, quality, noCompress) => {\n\t\treturn new Promise((resolve, reject) => {\n\t\t\tif (noCompress) {\n\t\t\t\tresolve(file);\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tvar $canvas = $(\"<canvas>\");\n\t\t\t$canvas.css(\"display\", \"none\");\n\t\t\t$(\"body\").append($canvas);\n\n\t\t\tvar canvasUploader = new CanvasImageUploader({\n\t\t\t\tmaxSize: maxSize,\n\t\t\t\tjpegQuality: quality,\n\t\t\t});\n\n\t\t\tcanvasUploader.readImageToCanvas(file, $canvas, function () {\n\t\t\t\tcanvasUploader.saveCanvasToImageData($canvas[0]);\n\t\t\t\tconsole.log(file);\n\t\t\t\tresolve(\n\t\t\t\t\tfileActions.blobToFile(canvasUploader.getImageData(), file.name),\n\t\t\t\t);\n\t\t\t});\n\t\t});\n\t},\n\tblobToFile: (theBlob, fileName) => {\n\t\tconst file = new File([theBlob], fileName, { lastModified: new Date() });\n\t\tconsole.log(file);\n\t\treturn file;\n\t},\n\tputCanvas: (canvas, filename) => {\n\t\treturn new Promise((resolve, reject) => {\n\t\t\tconst img = canvas.getTrimmedCanvas().toDataURL(\"image/png\");\n\t\t\tconst imageData = Buffer.from(\n\t\t\t\timg.replace(/^data:image\\/\\w+;base64,/, \"\"),\n\t\t\t\t\"base64\",\n\t\t\t);\n\n\t\t\tcanvas.off();\n\n\t\t\tconst imgName = generateImageName(filename);\n\n\t\t\tStorage.put(`images/${imgName}.png`, imageData, {\n\t\t\t\tcontentType: \"image/png\",\n\t\t\t\tlevel: \"public\",\n\t\t\t})\n\t\t\t\t.then((res) => {\n\t\t\t\t\tconsole.log(\"put the image\");\n\t\t\t\t\treturn resolve(res);\n\t\t\t\t})\n\t\t\t\t.catch((err) => {\n\t\t\t\t\treturn reject(err);\n\t\t\t\t});\n\t\t});\n\t},\n\tgetMediaFolders: (site) => {\n\t\t// console.log('getMediaFolders', 'site', site);\n\t\tconst query = { site };\n\t\treturn authedFunction({\n\t\t\tmethod: \"GET\",\n\t\t\turl: getUrl(\"media\", \"folders\", query),\n\t\t});\n\t},\n\taddMediaFolder: (site, name, published) => {\n\t\treturn authedFunction({\n\t\t\tmethod: \"POST\",\n\t\t\turl: getUrl(\"media\", \"addFolder\"),\n\t\t\tdata: {\n\t\t\t\tsite,\n\t\t\t\tname,\n\t\t\t\tpublished,\n\t\t\t},\n\t\t});\n\t},\n\tupdateMediaFolder: (id, site, name, published) => {\n\t\t// console.log('updateMediaFolder', 'id', id, 'site', site, 'name', name, 'published', published);\n\t\treturn authedFunction({\n\t\t\tmethod: \"POST\",\n\t\t\turl: getUrl(\"media\", \"updateFolder\"),\n\t\t\tdata: {\n\t\t\t\tid,\n\t\t\t\tsite,\n\t\t\t\tname,\n\t\t\t\tpublished,\n\t\t\t},\n\t\t});\n\t},\n\tdeleteMediaFolder: (id, site) => {\n\t\treturn authedFunction({\n\t\t\tmethod: \"POST\",\n\t\t\turl: getUrl(\"media\", \"deleteFolder\"),\n\t\t\tdata: {\n\t\t\t\tid,\n\t\t\t\tsite,\n\t\t\t},\n\t\t});\n\t},\n\taddImagesToFolder: (id, site, images) => {\n\t\treturn authedFunction({\n\t\t\tmethod: \"POST\",\n\t\t\turl: getUrl(\"media\", \"addImages\"),\n\t\t\tdata: {\n\t\t\t\tid,\n\t\t\t\tsite,\n\t\t\t\timages,\n\t\t\t},\n\t\t});\n\t},\n\tdeleteImagesFromFolder: (id, site, images) => {\n\t\treturn authedFunction({\n\t\t\tmethod: \"POST\",\n\t\t\turl: getUrl(\"media\", \"deleteImages\"),\n\t\t\tdata: {\n\t\t\t\tid,\n\t\t\t\tsite,\n\t\t\t\timages,\n\t\t\t},\n\t\t});\n\t},\n\tgetMediaLibrary: () => {\n\t\treturn authedFunction({\n\t\t\tmethod: \"GET\",\n\t\t\turl: \"https://pluss60.pluss60-api.com/media-demo/library\",\n\t\t});\n\t},\n};\n","import { getUrl } from \"../helper\";\nimport { authedFunction, unauthedFunction } from \"../session\";\n\nexport const typeActions = {\n\tgetSubdomains: () => {\n\t\treturn authedFunction({\n\t\t\tmethod: \"GET\",\n\t\t\turl: getUrl(\"types\", \"subdomains/get\"),\n\t\t});\n\t},\n\tgetSubdomain: (key) => {\n\t\treturn unauthedFunction({\n\t\t\tmethod: \"GET\",\n\t\t\turl: getUrl(\"types\", `subdomains/get/${key}`),\n\t\t});\n\t},\n\tupdateSubdomain: (key, background) => {\n\t\treturn authedFunction({\n\t\t\tmethod: \"POST\",\n\t\t\turl: getUrl(\"types\", \"subdomains/update\"),\n\t\t\tdata: {\n\t\t\t\tKey: key,\n\t\t\t\tBackground: background,\n\t\t\t},\n\t\t});\n\t},\n\tgetSites: () => {\n\t\tlet url = getUrl(\"types\", \"getsites\");\n\t\treturn authedFunction({\n\t\t\tmethod: \"POST\",\n\t\t\turl,\n\t\t});\n\t},\n\tgetSite: async (id) => {\n\t\tlet url = getUrl(\"types\", `getsite`, { site: id });\n\t\treturn authedFunction({\n\t\t\tmethod: \"GET\",\n\t\t\turl,\n\t\t});\n\t},\n\tgetUserTypes: (site) => {\n\t\tlet url = getUrl(\"types\", \"getusertypes\");\n\t\treturn authedFunction({\n\t\t\tmethod: \"POST\",\n\t\t\turl,\n\t\t\tdata: {\n\t\t\t\tsite,\n\t\t\t},\n\t\t});\n\t},\n\tsetTypePermissions: (type, adminId) => {\n\t\tlet url = getUrl(\"types\", \"setusertypepermissions\");\n\t\treturn authedFunction({\n\t\t\tmethod: \"POST\",\n\t\t\turl,\n\t\t\tdata: {\n\t\t\t\ttype,\n\t\t\t},\n\t\t});\n\t},\n\tdeleteUserType: (site, type) => {\n\t\tlet url = getUrl(\"types\", \"usertype/delete\");\n\t\treturn authedFunction({\n\t\t\tmethod: \"POST\",\n\t\t\turl,\n\t\t\tdata: {\n\t\t\t\tsite,\n\t\t\t\tid: type,\n\t\t\t},\n\t\t});\n\t},\n\tcreateNewSite: (siteName, options) => {\n\t\tlet url = getUrl(\"types\", \"setNewSite\");\n\t\tconst request = {\n\t\t\tmethod: \"POST\",\n\t\t\turl,\n\t\t\tdata: {\n\t\t\t\tsiteName,\n\t\t\t\t...options,\n\t\t\t},\n\t\t};\n\t\treturn authedFunction(request);\n\t},\n\tsignUpNewSite: (site, user) => {\n\t\tlet url = getUrl(\"types\", \"site/signup\");\n\t\tconst request = {\n\t\t\tmethod: \"POST\",\n\t\t\turl,\n\t\t\tdata: { site, user },\n\t\t};\n\t\treturn unauthedFunction(request);\n\t},\n\tgetInterface: (id) => {\n\t\treturn authedFunction({\n\t\t\tmethod: \"GET\",\n\t\t\turl: getUrl(\"types\", `interfaces/get/${id}`),\n\t\t});\n\t},\n\tgetInterfaces: (site, type) => {\n\t\tconst q = { site };\n\t\tif (type) {\n\t\t\tq.type = type;\n\t\t}\n\t\treturn authedFunction({\n\t\t\tmethod: \"GET\",\n\t\t\turl: getUrl(\"types\", \"interfaces/get\", q),\n\t\t});\n\t},\n\tdeleteInterface: (id) => {\n\t\tconst request = {\n\t\t\tmethod: \"POST\",\n\t\t\turl: getUrl(\"types\", \"interfaces/remove\"),\n\t\t\tdata: { id },\n\t\t};\n\t\treturn authedFunction(request);\n\t},\n\tsaveInterface: (site, type, title, settings, id) => {\n\t\tconst request = {\n\t\t\tmethod: \"POST\",\n\t\t\turl: getUrl(\"types\", \"interfaces/save\"),\n\t\t\tdata: { site, type, title, settings, id },\n\t\t};\n\t\treturn authedFunction(request);\n\t},\n\tattachInterface: (site, typeName, interfaceId) => {\n\t\tconst request = {\n\t\t\tmethod: \"POST\",\n\t\t\turl: getUrl(\"types\", \"interfaces/attach\"),\n\t\t\tdata: { site, typeName, interfaceId },\n\t\t};\n\t\treturn authedFunction(request);\n\t},\n\tgetSiteBranding: (site) => {\n\t\tconst request = {\n\t\t\tmethod: \"GET\",\n\t\t\turl: getUrl(\"types\", \"branding/get\", { site }),\n\t\t};\n\t\treturn unauthedFunction(request);\n\t},\n\tgenerateSiteBranding: (url) => {\n\t\tconst request = {\n\t\t\tmethod: \"GET\",\n\t\t\turl: getUrl(\"types\", \"branding/generate\", { url }),\n\t\t};\n\t\treturn unauthedFunction(request);\n\t},\n\teditSiteBranding: (siteName, branding) => {\n\t\tlet url = getUrl(\"types\", \"editsitebranding\");\n\t\tconst request = {\n\t\t\tmethod: \"POST\",\n\t\t\turl,\n\t\t\tdata: {\n\t\t\t\tsiteName,\n\t\t\t\tbranding,\n\t\t\t},\n\t\t};\n\t\treturn authedFunction(request);\n\t},\n\teditSiteSettings: (site, values) => {\n\t\treturn authedFunction({\n\t\t\tmethod: \"POST\",\n\t\t\turl: getUrl(\"types\", \"site/edit\"),\n\t\t\tdata: {\n\t\t\t\tId: site,\n\t\t\t\t...values,\n\t\t\t},\n\t\t});\n\t},\n\tgetDefaultTVSettings: () => {\n\t\treturn {\n\t\t\twidgets: [],\n\t\t};\n\t},\n\tgetDefaultTabSettings: () => {\n\t\treturn [\n\t\t\t{\n\t\t\t\tkey: \"tab0\",\n\t\t\t\ttabTitle: \"Home\",\n\t\t\t\ttype: \"home\",\n\t\t\t\tisEnabled: true,\n\t\t\t\twidgets: [],\n\t\t\t\twidgetOptions: [],\n\t\t\t},\n\t\t];\n\t},\n};\n","import axios from \"axios\";\nimport { getUrl } from \"../helper\";\nimport { authedFunction } from \"../session\";\n\nexport const stringActions = {\n\tgetString: (site, id, useDefault) => {\n\t\tlet url = getUrl(\n\t\t\t\"strings\",\n\t\t\t`get/${site}_${id}`,\n\t\t\tuseDefault ? { useDefault } : undefined,\n\t\t);\n\t\treturn axios({\n\t\t\tmethod: \"GET\",\n\t\t\turl,\n\t\t});\n\t},\n\tsetString: (site, key, value) => {\n\t\tlet url = getUrl(\"strings\", \"set\");\n\t\treturn authedFunction({\n\t\t\tmethod: \"POST\",\n\t\t\turl,\n\t\t\tdata: {\n\t\t\t\tsite,\n\t\t\t\tkey,\n\t\t\t\tvalue,\n\t\t\t},\n\t\t});\n\t},\n};\n","import _ from \"lodash\";\nimport { authedFunction } from \"../session\";\nimport { getUrl } from \"../helper\";\n\nexport const userActions = {\n\tcreateNewUser: (user, userExtra) => {\n\t\treturn authedFunction({\n\t\t\tmethod: \"POST\",\n\t\t\turl: getUrl(\"users\", \"add\"),\n\t\t\tdata: {\n\t\t\t\tuser,\n\t\t\t\tuserExtra,\n\t\t\t},\n\t\t});\n\t},\n\tbulkNewUser: (users, site, sendWelcome) => {\n\t\treturn authedFunction({\n\t\t\tmethod: \"POST\",\n\t\t\turl: getUrl(\"users\", \"addbulk\"),\n\t\t\tdata: {\n\t\t\t\tsite,\n\t\t\t\tusers,\n\t\t\t\tsendWelcome,\n\t\t\t},\n\t\t});\n\t},\n\tgetbulks: (site) => {\n\t\treturn authedFunction({\n\t\t\tmethod: \"POST\",\n\t\t\turl: getUrl(\"users\", \"getbulks\"),\n\t\t\tdata: {\n\t\t\t\tsite,\n\t\t\t},\n\t\t});\n\t},\n\tfetchUsers: (site) => {\n\t\treturn authedFunction({\n\t\t\tmethod: \"POST\",\n\t\t\turl: getUrl(\"users\", \"get\"),\n\t\t\tdata: {\n\t\t\t\tsite,\n\t\t\t},\n\t\t});\n\t},\n\tfetchInitialPasswords: (site) => {\n\t\treturn authedFunction({\n\t\t\tmethod: \"GET\",\n\t\t\turl: getUrl(\"users\", \"initialpasswords\", { site }),\n\t\t});\n\t},\n\tfetchUser: (site, userId) => {\n\t\treturn authedFunction({\n\t\t\tmethod: \"POST\",\n\t\t\turl: getUrl(\"users\", \"getsingle\"),\n\t\t\tdata: {\n\t\t\t\tsite,\n\t\t\t\tuserId,\n\t\t\t},\n\t\t});\n\t},\n\tupdateUser: (site, userId, user) => {\n\t\treturn authedFunction({\n\t\t\tmethod: \"POST\",\n\t\t\turl: getUrl(\"users\", \"manageUser\"),\n\t\t\tdata: {\n\t\t\t\tsite,\n\t\t\t\tuserId,\n\t\t\t\tuser,\n\t\t\t},\n\t\t});\n\t},\n\tgetSiteResidentsCount: (site) => {\n\t\treturn authedFunction({\n\t\t\tmethod: \"POST\",\n\t\t\turl: getUrl(\"users\", \"getexp\"),\n\t\t\tdata: { site, isCount: true },\n\t\t});\n\t},\n\tsendWelcomeEmail: (site, userId) => {\n\t\treturn authedFunction({\n\t\t\tmethod: \"POST\",\n\t\t\turl: getUrl(\"users\", \"welcome/email\"),\n\t\t\tdata: { site, userId },\n\t\t});\n\t},\n\tsendWelcomeText: (site, userId) => {\n\t\treturn authedFunction({\n\t\t\tmethod: \"POST\",\n\t\t\turl: getUrl(\"users\", \"welcome/text\"),\n\t\t\tdata: { site, userId },\n\t\t});\n\t},\n\tgetInviteCode: (userId, type, site) => {\n\t\tconst query = {};\n\t\tif (!_.isEmpty(userId)) {\n\t\t\tquery.userId = userId;\n\t\t}\n\t\tif (!_.isEmpty(type)) {\n\t\t\tquery.type = type;\n\t\t}\n\t\tif (!_.isEmpty(site)) {\n\t\t\tquery.site = site;\n\t\t}\n\t\treturn authedFunction({\n\t\t\tmethod: \"GET\",\n\t\t\turl: getUrl(\"users\", \"invite/get\", query),\n\t\t});\n\t},\n\tgenerateInviteCode: (userId, type, site) => {\n\t\tconst data = {};\n\t\tif (!_.isEmpty(userId)) {\n\t\t\tdata.userId = userId;\n\t\t}\n\t\tif (!_.isEmpty(type)) {\n\t\t\tdata.type = type;\n\t\t}\n\t\tif (!_.isEmpty(site)) {\n\t\t\tdata.site = site;\n\t\t}\n\t\treturn authedFunction({\n\t\t\tmethod: \"POST\",\n\t\t\turl: getUrl(\"users\", \"invite/generate\"),\n\t\t\tdata,\n\t\t});\n\t},\n\tcreateInviteCode: (userId, site, userType, expiry) => {\n\t\treturn authedFunction({\n\t\t\tmethod: \"POST\",\n\t\t\turl: getUrl(\"users\", \"invite/update/add\"),\n\t\t\tdata: { userId, site, userType, expiry },\n\t\t});\n\t},\n\teditInviteCode: (code, userType, expiry) => {\n\t\treturn authedFunction({\n\t\t\tmethod: \"POST\",\n\t\t\turl: getUrl(\"users\", \"invite/update/edit\"),\n\t\t\tdata: { code, userType, expiry },\n\t\t});\n\t},\n\tdeleteInviteCode: (code) => {\n\t\treturn authedFunction({\n\t\t\tmethod: \"POST\",\n\t\t\turl: getUrl(\"users\", \"invite/update/delete\"),\n\t\t\tdata: { code },\n\t\t});\n\t},\n\tgetInviteCodes: (site, excludeFamily = false) => {\n\t\tconst action = excludeFamily ? \"excludeFamily\" : \"all\";\n\t\treturn authedFunction({\n\t\t\tmethod: \"GET\",\n\t\t\turl: getUrl(\"users\", `invite/get/${action}`, { site }),\n\t\t});\n\t},\n\tgetInviteCodeByCode: (code) => {\n\t\treturn authedFunction({\n\t\t\tmethod: \"GET\",\n\t\t\turl: getUrl(\"users\", \"invite/get/code\", { code }),\n\t\t});\n\t},\n\tupdateProfile: (input) => {\n\t\treturn authedFunction({\n\t\t\tmethod: \"POST\",\n\t\t\turl: getUrl(\"users\", \"updateProfile\"),\n\t\t\tdata: {\n\t\t\t\tdetails: input,\n\t\t\t},\n\t\t});\n\t},\n};\n","import { authedFunction } from \"../session\";\nimport { getUrl } from \"../helper\";\n\nexport const profileActions = {\n\taddEC: (userId, name, phone, email, relationship) => {\n\t\treturn authedFunction({\n\t\t\tmethod: \"POST\",\n\t\t\turl: getUrl(\"profile\", \"emergencycontacts/add\"),\n\t\t\tdata: { userId, name, phone, email, relationship },\n\t\t});\n\t},\n\teditEC: (id, userId, name, phone, email, relationship) => {\n\t\treturn authedFunction({\n\t\t\tmethod: \"POST\",\n\t\t\turl: getUrl(\"profile\", \"emergencycontacts/edit\"),\n\t\t\tdata: { id, userId, name, phone, email, relationship },\n\t\t});\n\t},\n\tdeleteEC: (id) => {\n\t\treturn authedFunction({\n\t\t\tmethod: \"POST\",\n\t\t\turl: getUrl(\"profile\", \"emergencycontacts/delete\"),\n\t\t\tdata: { id },\n\t\t});\n\t},\n\tgetECs: (userId) => {\n\t\treturn authedFunction({\n\t\t\tmethod: \"GET\",\n\t\t\turl: getUrl(\"profile\", \"emergencycontacts/user\", { userId }),\n\t\t});\n\t},\n\taddPD: (userId, name, url, isPublic) => {\n\t\treturn authedFunction({\n\t\t\tmethod: \"POST\",\n\t\t\turl: getUrl(\"profile\", \"personaldocuments/add\"),\n\t\t\tdata: { userId, name, url, isPublic },\n\t\t});\n\t},\n\teditPD: (id, userId, name, url, isPublic) => {\n\t\treturn authedFunction({\n\t\t\tmethod: \"POST\",\n\t\t\turl: getUrl(\"profile\", \"personaldocuments/edit\"),\n\t\t\tdata: { id, userId, name, url, isPublic },\n\t\t});\n\t},\n\tdeletePD: (id) => {\n\t\treturn authedFunction({\n\t\t\tmethod: \"POST\",\n\t\t\turl: getUrl(\"profile\", \"personaldocuments/delete\"),\n\t\t\tdata: { id },\n\t\t});\n\t},\n\tgetPDs: (userId) => {\n\t\treturn authedFunction({\n\t\t\tmethod: \"GET\",\n\t\t\turl: getUrl(\"profile\", \"personaldocuments/user\", { userId }),\n\t\t});\n\t},\n\taddPN: (userId, title, text, attachments) => {\n\t\treturn authedFunction({\n\t\t\tmethod: \"POST\",\n\t\t\turl: getUrl(\"profile\", \"personalnotes/add\"),\n\t\t\tdata: { userId, title, text, attachments },\n\t\t});\n\t},\n\teditPN: (id, title, text, attachments) => {\n\t\treturn authedFunction({\n\t\t\tmethod: \"POST\",\n\t\t\turl: getUrl(\"profile\", \"personalnotes/edit\"),\n\t\t\tdata: { id, title, text, attachments },\n\t\t});\n\t},\n\tdeletePN: (id) => {\n\t\treturn authedFunction({\n\t\t\tmethod: \"POST\",\n\t\t\turl: getUrl(\"profile\", \"personalnotes/delete\"),\n\t\t\tdata: { id },\n\t\t});\n\t},\n\tgetPNs: (userId) => {\n\t\treturn authedFunction({\n\t\t\tmethod: \"GET\",\n\t\t\turl: getUrl(\"profile\", \"personalnotes/user\", { userId }),\n\t\t});\n\t},\n\taddUserTag: (site, title) => {\n\t\treturn authedFunction({\n\t\t\tmethod: \"POST\",\n\t\t\turl: getUrl(\"profile\", \"usertags/add\"),\n\t\t\tdata: { site, title },\n\t\t});\n\t},\n\teditUserTag: (id, title) => {\n\t\treturn authedFunction({\n\t\t\tmethod: \"POST\",\n\t\t\turl: getUrl(\"profile\", \"usertags/edit\"),\n\t\t\tdata: { id, title },\n\t\t});\n\t},\n\tdeleteUserTag: (id) => {\n\t\treturn authedFunction({\n\t\t\tmethod: \"POST\",\n\t\t\turl: getUrl(\"profile\", \"usertags/delete\"),\n\t\t\tdata: { id },\n\t\t});\n\t},\n\tattachUserTag: (tagId, userId) => {\n\t\treturn authedFunction({\n\t\t\tmethod: \"POST\",\n\t\t\turl: getUrl(\"profile\", \"usertags/attach\"),\n\t\t\tdata: { tagId, userId },\n\t\t});\n\t},\n\tdetachUserTag: (tagId, userId) => {\n\t\treturn authedFunction({\n\t\t\tmethod: \"POST\",\n\t\t\turl: getUrl(\"profile\", \"usertags/detach\"),\n\t\t\tdata: { tagId, userId },\n\t\t});\n\t},\n\tgetUserTagsByUser: (userId) => {\n\t\treturn authedFunction({\n\t\t\tmethod: \"GET\",\n\t\t\turl: getUrl(\"profile\", \"usertags/user\", { userId }),\n\t\t});\n\t},\n\tgetUserTagsBySite: (site) => {\n\t\treturn authedFunction({\n\t\t\tmethod: \"GET\",\n\t\t\turl: getUrl(\"profile\", \"usertags/site\", { site }),\n\t\t});\n\t},\n};\n","import Config from \"../config\";\nimport { authedFunction, unauthedFunction } from \"../session\";\nimport { getUrl } from \"../helper\";\n\nexport const utilityActions = {\n\tgetUpvotyToken: () => {\n\t\treturn authedFunction({\n\t\t\tmethod: \"GET\",\n\t\t\turl: getUrl(\"utility\", \"upvoty/usertoken\"),\n\t\t});\n\t},\n\tgetBoardHash: () => {\n\t\treturn authedFunction({\n\t\t\tmethod: \"GET\",\n\t\t\turl: getUrl(\"utility\", \"upvoty/boardhash\"),\n\t\t});\n\t},\n\tgetRoadmapHash: () => {\n\t\treturn authedFunction({\n\t\t\tmethod: \"GET\",\n\t\t\turl: getUrl(\"utility\", \"upvoty/roadmap\"),\n\t\t});\n\t},\n\tgenerateMake: (templateId, data) => {\n\t\treturn unauthedFunction({\n\t\t\tmethod: \"POST\",\n\t\t\turl: `https://api.make.cm/make/t/${templateId}/sync`,\n\t\t\tdata,\n\t\t\theaders: {\n\t\t\t\t\"Content-Type\": \"application/json\",\n\t\t\t\t\"X-MAKE-API-KEY\": Config.env.makeApiKey,\n\t\t\t},\n\t\t});\n\t},\n};\n","import { getUrl, htmlEncode } from \"../helper\";\nimport { authedFunction } from \"../session\";\n\nexport const templateActions = {\n\tgetTemplates: (site, featureKey) => {\n\t\tconst query = { site, featureKey };\n\t\treturn authedFunction({\n\t\t\tmethod: \"GET\",\n\t\t\turl: getUrl(\"templates\", \"get/list\", query),\n\t\t});\n\t},\n\tgetTemplate: (site, featureKey, rowId) => {\n\t\treturn authedFunction({\n\t\t\tmethod: \"GET\",\n\t\t\turl: getUrl(\"templates\", \"get/single\", { site, featureKey, rowId }),\n\t\t});\n\t},\n\tcreateTemplate: (template) => {\n\t\ttemplate.content = htmlEncode(template.content);\n\t\treturn authedFunction({\n\t\t\tmethod: \"POST\",\n\t\t\turl: getUrl(\"templates\", \"update/add\"),\n\t\t\tdata: template,\n\t\t});\n\t},\n\teditTemplate: (template) => {\n\t\ttemplate.content = htmlEncode(template.content);\n\t\treturn authedFunction({\n\t\t\tmethod: \"POST\",\n\t\t\turl: getUrl(\"templates\", \"update/edit\"),\n\t\t\tdata: template,\n\t\t});\n\t},\n\tdeleteTemplate: (site, rowId) => {\n\t\treturn authedFunction({\n\t\t\tmethod: \"POST\",\n\t\t\turl: getUrl(\"templates\", \"update/delete\"),\n\t\t\tdata: { site, rowId },\n\t\t});\n\t},\n};\n","import { getUrl } from \"../helper\";\nimport { authedFunction } from \"../session\";\n\nexport const scheduledActionsActions = {\n\tgetActions: (site, entityKey) => {\n\t\tconst query = { site, entityKey };\n\t\treturn authedFunction({\n\t\t\tmethod: \"GET\",\n\t\t\turl: getUrl(\"scheduledactions\", \"get/list\", query),\n\t\t});\n\t},\n};\n","import _ from \"lodash\";\nimport {\n\tUSERS_LOADED,\n\tUSER_REMOVED,\n\tUSERS_PURGE,\n\tUSERS_LOADING,\n\tUSERS_RESIDENT_COUNT_SET,\n\tINVITE_CODES_LOADED,\n\tINVITE_CODE_UPDATED,\n\tINVITE_CODE_REMOVED,\n} from \"./types\";\nimport { userActions } from \"../apis\";\nimport { readStorageWithCookie } from \"../helper\";\n\nexport const usersUpdate = (site) => {\n\treturn (dispatch) => {\n\t\tuserActions.fetchUsers(site).then((res) => {\n\t\t\tif (res.userFetchFail) {\n\t\t\t} else {\n\t\t\t\tconst currentSite = readStorageWithCookie(\"site\");\n\t\t\t\tif (\n\t\t\t\t\tres.data != null &&\n\t\t\t\t\t!_.isEmpty(res.data.results.Items) &&\n\t\t\t\t\tres.data.results.Items[0].site === currentSite\n\t\t\t\t) {\n\t\t\t\t\tconst users = res.data.results.Items;\n\t\t\t\t\tconst allList = [];\n\t\t\t\t\tObject.keys(users).forEach((userId) => {\n\t\t\t\t\t\tallList.push({ ...users[userId], id: userId });\n\t\t\t\t\t});\n\t\t\t\t\tdispatch({\n\t\t\t\t\t\ttype: USERS_LOADED,\n\t\t\t\t\t\tpayload: allList,\n\t\t\t\t\t});\n\t\t\t\t} else {\n\t\t\t\t\tdispatch({\n\t\t\t\t\t\ttype: USERS_LOADED,\n\t\t\t\t\t\tpayload: [],\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t}\n\t\t});\n\t};\n};\n\nexport const getUserCount = (site) => {\n\treturn (dispatch) => {\n\t\tdispatch({\n\t\t\ttype: USERS_LOADING,\n\t\t});\n\t\tuserActions.getSiteResidentsCount(site).then((res) => {\n\t\t\tdispatch({\n\t\t\t\ttype: USERS_RESIDENT_COUNT_SET,\n\t\t\t\tpayload: res.data.results,\n\t\t\t});\n\t\t});\n\t};\n};\n\nexport const usersLoaded = (events) => {\n\treturn {\n\t\ttype: USERS_LOADED,\n\t\tpayload: events,\n\t};\n};\n\nexport const userKey = (id) => {\n\treturn {\n\t\ttype: USER_REMOVED,\n\t\tpayload: id,\n\t};\n};\n\nexport const inviteCodesLoaded = (inviteCodes) => {\n\treturn {\n\t\ttype: INVITE_CODES_LOADED,\n\t\tpayload: inviteCodes,\n\t};\n};\n\nexport const inviteCodeUpdated = (inviteCode) => {\n\treturn {\n\t\ttype: INVITE_CODE_UPDATED,\n\t\tpayload: inviteCode,\n\t};\n};\n\nexport const inviteCodeRemoved = (inviteCode) => {\n\treturn {\n\t\ttype: INVITE_CODE_REMOVED,\n\t\tpayload: inviteCode,\n\t};\n};\n\nexport const clearUsers = () => {\n\treturn {\n\t\ttype: USERS_PURGE,\n\t};\n};\n","import { SET_NAV_DATA } from \"./types\";\n\nexport const setNavData = (data) => {\n\treturn {\n\t\ttype: SET_NAV_DATA,\n\t\tpayload: data,\n\t};\n};\n","import { TEMPLATES_LOADED, TEMPLATE_REMOVED } from \"./types\";\n\nexport const templatesLoaded = (template) => {\n\treturn {\n\t\ttype: TEMPLATES_LOADED,\n\t\tpayload: template,\n\t};\n};\n\nexport const removeTemplate = (id) => {\n\treturn {\n\t\ttype: TEMPLATE_REMOVED,\n\t\tpayload: id,\n\t};\n};\n","import { SCHEDULED_ACTIONS_LOADED } from \"./types\";\n\nexport const scheduledActionsLoaded = (scheduledActions) => {\n\treturn {\n\t\ttype: SCHEDULED_ACTIONS_LOADED,\n\t\tpayload: scheduledActions,\n\t};\n};\n","import React, { Component } from \"react\";\nimport { Icon } from \"@plusscommunities/pluss-icons\";\n\nclass AddButton extends Component {\n\tgetClasses() {\n\t\tlet classes = \"addButton\";\n\t\tif (this.props.inactive) {\n\t\t\tclasses += \" addButton--inactive\";\n\t\t}\n\t\treturn classes;\n\t}\n\n\trenderIcon() {\n\t\treturn (\n\t\t\t<Icon className=\"addButton__icon\" icon={this.props.icon || \"plus\"} />\n\t\t);\n\t}\n\n\trender() {\n\t\treturn (\n\t\t\t<div\n\t\t\t\tstyle={this.props.style}\n\t\t\t\tonClick={this.props.onClick}\n\t\t\t\tclassName={this.getClasses()}\n\t\t\t>\n\t\t\t\t<div className=\"addButton__text\">{this.props.text}</div>\n\t\t\t\t<div className=\"addButton__right\">{this.renderIcon()}</div>\n\t\t\t</div>\n\t\t);\n\t}\n}\n\nexport { AddButton };\n","import React, { Component } from \"react\";\nimport { COLOUR_DUSK_LIGHT } from \"../colours\";\nimport getFileName from \"../helper/files/getFileName\";\nimport { Icon } from \"@plusscommunities/pluss-icons\";\n\nclass Attachment extends Component {\n\trender() {\n\t\treturn (\n\t\t\t<div\n\t\t\t\tclassName={`pdfAttachment${this.props.className ? ` ${this.props.className}` : \"\"}${\n\t\t\t\t\tthis.props.white ? \" pdfAttachment-white\" : \"\"\n\t\t\t\t}`}\n\t\t\t>\n\t\t\t\t<a\n\t\t\t\t\thref={this.props.source}\n\t\t\t\t\ttarget=\"_blank\"\n\t\t\t\t\tclassName=\"pdfAttachment_container\"\n\t\t\t\t>\n\t\t\t\t\t<Icon\n\t\t\t\t\t\tclassName=\"pdfAttachment_icon\"\n\t\t\t\t\t\tpulse={this.props.uploading}\n\t\t\t\t\t\tfixedWidth\n\t\t\t\t\t\ticon={`${this.props.uploading ? \"spinner\" : \"paperclip\"}`}\n\t\t\t\t\t/>\n\t\t\t\t\t<p className=\"pdfAttachment_title\">\n\t\t\t\t\t\t{this.props.title || getFileName(this.props.source)}\n\t\t\t\t\t</p>\n\t\t\t\t</a>\n\t\t\t\t{this.props.onRemove && (\n\t\t\t\t\t<Icon\n\t\t\t\t\t\tcolour={COLOUR_DUSK_LIGHT}\n\t\t\t\t\t\ticon=\"xmark\"\n\t\t\t\t\t\tclassName=\"pdfAttachment_close\"\n\t\t\t\t\t\tonClick={this.props.onRemove}\n\t\t\t\t\t/>\n\t\t\t\t)}\n\t\t\t</div>\n\t\t);\n\t}\n}\n\nexport { Attachment };\n","import React, { Component } from \"react\";\nimport { Icon } from \"@plusscommunities/pluss-icons\";\n\nclass Button extends Component {\n\tgetClasses() {\n\t\tlet string = \"\";\n\t\tif (this.props.inline) string = string + \"buttonWrapper--inline \";\n\t\tif (this.props.isActive) string = string + \"button--active \";\n\t\tif (this.props.buttonType)\n\t\t\tstring = string + `button--${this.props.buttonType}`;\n\t\tif (this.props.compact) string = string + \" buttonWrapper--compact\";\n\t\tif (this.props.narrow) string = string + \" buttonWrapper--narrow\";\n\t\tif (this.props.noHoverHighlight)\n\t\t\tstring = string + \" button--noHoverHighlight\";\n\t\tif (this.props.className) string = string + \" \" + this.props.className;\n\t\treturn string;\n\t}\n\n\tgetButtonClasses() {\n\t\tif (this.props.buttonClassName) {\n\t\t\treturn `button ${this.props.buttonClassName}`;\n\t\t}\n\t\treturn \"button\";\n\t}\n\n\tgetButtonTextClasses() {\n\t\tlet result = \"buttonText\";\n\t\tif (this.props.leftIcon) {\n\t\t\tresult = result + ` buttonTextWithIcon`;\n\t\t}\n\t\tif (this.props.buttonTextClassName) {\n\t\t\tresult = result + ` ${this.props.buttonTextClassName}`;\n\t\t}\n\t\treturn result;\n\t}\n\n\tbuttonClick() {\n\t\tif (this.props.onClick) {\n\t\t\tthis.props.onClick();\n\t\t}\n\t}\n\n\trenderLeftIcon() {\n\t\tif (!this.props.leftIcon) {\n\t\t\treturn null;\n\t\t}\n\t\treturn (\n\t\t\t<Icon icon={this.props.leftIcon} className=\"buttonTextWithIcon_icon\" />\n\t\t);\n\t}\n\n\trender() {\n\t\treturn (\n\t\t\t<div\n\t\t\t\tclassName={`buttonWrapper ${this.getClasses()}`}\n\t\t\t\tstyle={{ ...this.props.buttonStyle }}\n\t\t\t>\n\t\t\t\t<div\n\t\t\t\t\tonClick={() => this.buttonClick()}\n\t\t\t\t\tclassName={this.getButtonClasses()}\n\t\t\t\t\tstyle={{ ...this.props.style }}\n\t\t\t\t>\n\t\t\t\t\t<div\n\t\t\t\t\t\tclassName={this.getButtonTextClasses()}\n\t\t\t\t\t\tstyle={{ ...this.props.textStyle }}\n\t\t\t\t\t>\n\t\t\t\t\t\t{this.renderLeftIcon()}\n\t\t\t\t\t\t{this.props.children}\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t);\n\t}\n}\n\nexport { Button };\n","import React, { PureComponent } from \"react\";\nimport { Icon } from \"@plusscommunities/pluss-icons\";\nimport _ from \"lodash\";\n\nclass CheckBox extends PureComponent {\n\tgenerateClassNames() {\n\t\tlet result = \"checkBox\";\n\t\tif (this.props.isActive) {\n\t\t\tresult = result + \" checkBox--active\";\n\t\t}\n\t\tif (this.props.disabled) {\n\t\t\tresult = result + \" checkBox--disabled\";\n\t\t}\n\t\tif (this.props.noHoverHighlight) {\n\t\t\tresult = result + \" checkBox--noHoverHighlight\";\n\t\t}\n\t\treturn result;\n\t}\n\n\tgetLabelClasses() {\n\t\tlet result = \"actionText pointer\";\n\t\tif (this.props.disabled) {\n\t\t\tresult = result + \" actionText--disabled\";\n\t\t}\n\t\treturn result;\n\t}\n\n\tgetBoxStyle() {\n\t\tconst result = {};\n\t\tif (this.props.highlightColour && this.props.isActive) {\n\t\t\tresult.borderColor = this.props.highlightColour;\n\t\t\tresult.backgroundColor = this.props.highlightColour;\n\t\t}\n\t\treturn result;\n\t}\n\n\tonChange = (e) => {\n\t\tif (this.props.disabled) {\n\t\t\treturn;\n\t\t}\n\t\treturn this.props.onChange(e);\n\t};\n\n\trender() {\n\t\treturn (\n\t\t\t<div className={this.props.className}>\n\t\t\t\t<div\n\t\t\t\t\tclassName={this.props.showWarning ? \"checkBox--error\" : null}\n\t\t\t\t\tstyle={{ ...styles.row, ...this.props.style }}\n\t\t\t\t>\n\t\t\t\t\t<div\n\t\t\t\t\t\tclassName={this.generateClassNames()}\n\t\t\t\t\t\tonClick={this.onChange}\n\t\t\t\t\t\tstyle={this.getBoxStyle()}\n\t\t\t\t\t>\n\t\t\t\t\t\t<div className=\"checkBoxTick\">\n\t\t\t\t\t\t\t<Icon className=\"checkBoxTick-font\" icon=\"check\" />\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</div>\n\t\t\t\t\t{!_.isEmpty(this.props.label) && (\n\t\t\t\t\t\t<div\n\t\t\t\t\t\t\tclassName={this.getLabelClasses()}\n\t\t\t\t\t\t\tstyle={{\n\t\t\t\t\t\t\t\tmarginLeft: 8,\n\t\t\t\t\t\t\t\tfontSize: 14,\n\t\t\t\t\t\t\t\tlineHeight: \"20px\",\n\t\t\t\t\t\t\t\t...this.props.labelStyle,\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\tonClick={this.onChange}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{this.props.label}\n\t\t\t\t\t\t</div>\n\t\t\t\t\t)}\n\t\t\t\t</div>\n\t\t\t\t{this.props.children}\n\t\t\t</div>\n\t\t);\n\t}\n}\n\nconst styles = {\n\trow: {\n\t\tdisplay: \"flex\",\n\t\tflexDirection: \"row\",\n\t\tmarginBottom: 8,\n\t},\n};\n\nexport { CheckBox };\n","import React, { Component } from \"react\";\n\nclass Text extends Component {\n\tgetClassName() {\n\t\tif (this.props.className) {\n\t\t\treturn ` ${this.props.className}`;\n\t\t}\n\t\treturn \"\";\n\t}\n\n\trender() {\n\t\treturn (\n\t\t\t<p\n\t\t\t\t{...this.props}\n\t\t\t\tclassName={`text-${this.props.type}${this.getClassName()}`}\n\t\t\t\tstyle={this.props.style}\n\t\t\t>\n\t\t\t\t{this.props.children}\n\t\t\t</p>\n\t\t);\n\t}\n}\n\nexport { Text };\n","import React, { Component } from \"react\";\nimport _ from \"lodash\";\nimport { connect } from \"react-redux\";\nimport Config from \"../config\";\nimport { getAppColourFromState } from \"../helper\";\nimport { Text } from \"./Text\";\n\nclass ProfilePicComponent extends Component {\n\trenderPic() {\n\t\treturn (\n\t\t\t<div\n\t\t\t\tclassName={this.props.className}\n\t\t\t\tstyle={{\n\t\t\t\t\twidth: this.props.size || 30,\n\t\t\t\t\theight: this.props.size || 30,\n\t\t\t\t\tborderRadius: this.props.size / 2 || 15,\n\t\t\t\t\tbackgroundColor: this.props.colourBrandingApp,\n\t\t\t\t\tbackgroundSize: \"cover\",\n\t\t\t\t\tbackgroundPosition: \"center\",\n\t\t\t\t\tbackgroundImage: `url(${!_.isEmpty(this.props.image) ? this.props.image : Config.env.defaultProfileImage})`,\n\t\t\t\t\t...this.props.style,\n\t\t\t\t}}\n\t\t\t\talt=\"Profile Pic\"\n\t\t\t></div>\n\t\t);\n\t}\n\n\trender() {\n\t\tif (this.props.hoverText) {\n\t\t\treturn (\n\t\t\t\t<div className={`profilePicHover ${this.props.containerClass}`}>\n\t\t\t\t\t{this.renderPic()}\n\t\t\t\t\t<Text type=\"h5\" className=\"profilePicHover_text\">\n\t\t\t\t\t\t{this.props.hoverText}\n\t\t\t\t\t</Text>\n\t\t\t\t</div>\n\t\t\t);\n\t\t}\n\t\treturn this.renderPic();\n\t}\n}\n\nconst mapStateToProps = (state) => {\n\treturn {\n\t\tcolourBrandingApp: getAppColourFromState(state),\n\t};\n};\n\nconst ProfilePic = connect(mapStateToProps, {})(ProfilePicComponent);\nexport { ProfilePic };\n","import React, { Component } from \"react\";\nimport moment from \"moment\";\nimport { get1400, toParagraphed } from \"../helper\";\nimport { ProfilePic } from \"./ProfilePic\";\nimport _ from \"lodash\";\n\nclass Comment extends Component {\n\trenderImage(image) {\n\t\tif (_.isEmpty(image)) {\n\t\t\treturn null;\n\t\t}\n\t\treturn (\n\t\t\t<div className=\"imageGrid\">\n\t\t\t\t<a href={image} target=\"_blank\" rel=\"noopener noreferrer\">\n\t\t\t\t\t<div\n\t\t\t\t\t\tclassName=\"imageGrid_image\"\n\t\t\t\t\t\tstyle={{ backgroundImage: `url('${get1400(image)}')` }}\n\t\t\t\t\t></div>\n\t\t\t\t</a>\n\t\t\t</div>\n\t\t);\n\t}\n\n\trenderComment() {\n\t\tconst { comment } = this.props;\n\t\treturn (\n\t\t\t<div key={comment.Id} className=\"comment\">\n\t\t\t\t<p className=\"comment_text\">{toParagraphed(comment.Comment)}</p>\n\t\t\t\t{this.renderImage(comment.Image)}\n\t\t\t\t<div className=\"comment_bottom\">\n\t\t\t\t\t<ProfilePic\n\t\t\t\t\t\tclassName=\"comment_profilePic\"\n\t\t\t\t\t\tsize={25}\n\t\t\t\t\t\timage={comment.User.profilePic}\n\t\t\t\t\t/>\n\t\t\t\t\t<p className=\"comment_name\">{comment.User.displayName}</p>\n\t\t\t\t\t<p className=\"comment_time\">\n\t\t\t\t\t\t{moment.utc(comment.Timestamp).local().format(\"D MMM YYYY • h:mma\")}\n\t\t\t\t\t</p>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t);\n\t}\n\n\trender() {\n\t\treturn (\n\t\t\t<div>\n\t\t\t\t{this.renderComment()}\n\t\t\t\t{this.props.bottomContent}\n\t\t\t</div>\n\t\t);\n\t}\n}\n\nexport { Comment };\n","import React, { Component } from \"react\";\nimport _ from \"lodash\";\nimport Textarea from \"react-textarea-autosize\";\nimport { Text } from \"./Text\";\nimport { Icon } from \"@plusscommunities/pluss-icons\";\nimport { Comment } from \"./Comment\";\nimport { getFirstName, getPluralOptions } from \"../helper\";\nimport { ProfilePic } from \"./ProfilePic\";\n\nclass CommentSection extends Component {\n\tconstructor(props) {\n\t\tsuper(props);\n\n\t\tthis.state = {\n\t\t\tcommentInput: \"\",\n\t\t};\n\t}\n\n\tonHandleChange = (event) => {\n\t\tvar stateChange = {};\n\t\tstateChange[event.target.getAttribute(\"id\")] = event.target.value;\n\t\tthis.setState(stateChange);\n\t};\n\n\tonAddComment = async () => {\n\t\tconst { commentInput } = this.state;\n\t\tthis.setState({ commentInput: \"\" });\n\t\tthis.props.onAddComment(commentInput);\n\t};\n\n\tgetComments = () => {\n\t\tif (!this.props.onlyParents) {\n\t\t\treturn this.props.comments;\n\t\t}\n\t\treturn _.filter(this.props.comments, (c) => {\n\t\t\treturn !c.ParentId;\n\t\t});\n\t};\n\n\trenderReplyText = (c) => {\n\t\tif (!this.props.onOpenThread) {\n\t\t\treturn null;\n\t\t}\n\n\t\tconst threadComments = _.filter(this.props.comments, (innerC) => {\n\t\t\treturn innerC.ParentId === c.Id;\n\t\t});\n\t\tif (_.isEmpty(threadComments)) {\n\t\t\treturn (\n\t\t\t\t<div className=\"comment_reply\">\n\t\t\t\t\t<Text\n\t\t\t\t\t\tclassName=\"comment_reply_button\"\n\t\t\t\t\t\ttype=\"button\"\n\t\t\t\t\t\tonClick={() => {\n\t\t\t\t\t\t\tthis.props.onOpenThread(c);\n\t\t\t\t\t\t}}\n\t\t\t\t\t>{`Reply to ${getFirstName(c.User ? c.User.displayName : \"comment\")}`}</Text>\n\t\t\t\t</div>\n\t\t\t);\n\t\t}\n\n\t\tconst profilePics = _.take(\n\t\t\t_.uniqBy(threadComments, (c) => c.UserId),\n\t\t\t3,\n\t\t);\n\t\treturn (\n\t\t\t<div className=\"comment_reply comment_reply-hasReplies\">\n\t\t\t\t{profilePics.map((c) => {\n\t\t\t\t\treturn (\n\t\t\t\t\t\t<ProfilePic\n\t\t\t\t\t\t\tclassName=\"comment_reply_profilePic\"\n\t\t\t\t\t\t\tsize={20}\n\t\t\t\t\t\t\timage={c.User.profilePic}\n\t\t\t\t\t\t/>\n\t\t\t\t\t);\n\t\t\t\t})}\n\t\t\t\t<Text\n\t\t\t\t\tclassName=\"comment_reply_button\"\n\t\t\t\t\ttype=\"button\"\n\t\t\t\t\tonClick={() => {\n\t\t\t\t\t\tthis.props.onOpenThread(c);\n\t\t\t\t\t}}\n\t\t\t\t>{`${threadComments.length} repl${getPluralOptions(threadComments.length, \"y\", \"ies\")}`}</Text>\n\t\t\t</div>\n\t\t);\n\t};\n\n\trender() {\n\t\treturn (\n\t\t\t<div>\n\t\t\t\t{this.props.includeTitle && (\n\t\t\t\t\t<Text type=\"formTitleSmall\" className=\"marginBottom-16\">\n\t\t\t\t\t\tComments\n\t\t\t\t\t</Text>\n\t\t\t\t)}\n\t\t\t\t<div className=\"commentSection\">\n\t\t\t\t\t{this.getComments().map((c) => (\n\t\t\t\t\t\t<Comment\n\t\t\t\t\t\t\tkey={c.Id}\n\t\t\t\t\t\t\tcomment={c}\n\t\t\t\t\t\t\tbottomContent={this.renderReplyText(c)}\n\t\t\t\t\t\t/>\n\t\t\t\t\t))}\n\t\t\t\t</div>\n\t\t\t\t<div className=\"commentReply\">\n\t\t\t\t\t<div\n\t\t\t\t\t\tclassName={`commentReply_button${!_.isEmpty(this.state.commentInput) ? \" commentReply_button-active\" : \"\"}`}\n\t\t\t\t\t\tonClick={this.onAddComment}\n\t\t\t\t\t>\n\t\t\t\t\t\t<Icon className=\"commentReply_icon\" icon=\"paper-plane\" />\n\t\t\t\t\t</div>\n\t\t\t\t\t<Textarea\n\t\t\t\t\t\tid=\"commentInput\"\n\t\t\t\t\t\tplaceholder=\"Reply here...\"\n\t\t\t\t\t\ttype=\"text\"\n\t\t\t\t\t\tclassName=\"commentReply_input\"\n\t\t\t\t\t\tvalue={this.state.commentInput}\n\t\t\t\t\t\tonChange={(e) => this.onHandleChange(e)}\n\t\t\t\t\t/>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t);\n\t}\n}\n\nexport { CommentSection };\n","import React, { Component } from \"react\";\nimport { Icon } from \"@plusscommunities/pluss-icons\";\nimport moment from \"moment\";\nimport _ from \"lodash\";\n\nclass DatePicker extends Component {\n\tstate = {\n\t\tshownMonth: new Date(),\n\t\tgrid: [],\n\t};\n\n\tUNSAFE_componentWillMount() {\n\t\tthis.onNewProps(this.props, true);\n\t}\n\n\tUNSAFE_componentWillReceiveProps(nextProps) {\n\t\tthis.onNewProps(nextProps);\n\t}\n\n\tonNewProps(nextProps, forceUpdate) {\n\t\tif (\n\t\t\t!!nextProps.shownMonth &&\n\t\t\tnextProps.shownMonth !== this.props.shownMonth\n\t\t) {\n\t\t\tconst shownMonth = new Date(\n\t\t\t\tnextProps.shownMonth.getFullYear(),\n\t\t\t\tnextProps.shownMonth.getMonth() + 1,\n\t\t\t\t0,\n\t\t\t);\n\t\t\tthis.setState({ shownMonth });\n\t\t\tthis.generateGrid(shownMonth);\n\t\t} else if (\n\t\t\tthis.props.multiple &&\n\t\t\tnextProps.selectedDates !== this.props.selectedDates\n\t\t) {\n\t\t\tthis.generateGrid(this.state.shownMonth, nextProps.selectedDates);\n\t\t} else if (\n\t\t\tforceUpdate ||\n\t\t\tnextProps.selectedDate !== this.props.selectedDate\n\t\t) {\n\t\t\tlet dateToUse = nextProps.selectedDate;\n\t\t\tif (!(dateToUse instanceof Date)) {\n\t\t\t\tdateToUse = new Date(dateToUse);\n\t\t\t}\n\t\t\tif (isNaN(dateToUse)) {\n\t\t\t\tdateToUse = new Date();\n\t\t\t}\n\t\t\tconst shownMonth = this.props.shownMonth\n\t\t\t\t? this.state.shownMonth\n\t\t\t\t: dateToUse;\n\t\t\tthis.setState({\n\t\t\t\tshownMonth: shownMonth,\n\t\t\t\tselectedDate: dateToUse,\n\t\t\t});\n\t\t\tthis.generateGrid(shownMonth, dateToUse);\n\t\t}\n\t}\n\n\tgetDate() {\n\t\tif (!this.props.selectedDate) {\n\t\t\treturn \"Select day\";\n\t\t}\n\t\treturn moment(this.props.selectedDate).format(\"dddd, Do MMMM\");\n\t}\n\n\tgetShortDate() {\n\t\tif (!this.props.selectedDate) {\n\t\t\treturn \"\";\n\t\t}\n\t\treturn moment(this.props.selectedDate).format(\"DD/MM/YYYY\");\n\t}\n\n\tgetMonth() {\n\t\treturn moment(this.state.shownMonth).format(\"MMMM YYYY\");\n\t}\n\n\tisDateSelected(date, selectedDate) {\n\t\tif (this.props.multiple) {\n\t\t\treturn _.includes(selectedDate, date.format(\"DD-MM-YYYY\"));\n\t\t}\n\t\treturn date.isSame(selectedDate, \"date\");\n\t}\n\n\tisDateEnabled(date) {\n\t\tif (this.props.enabledDates) {\n\t\t\tconst found = this.props.enabledDates.find(\n\t\t\t\t(d) => moment(d.day).format(\"YYYYMMDD\") === date.format(\"YYYYMMDD\"),\n\t\t\t);\n\t\t\tif (found) return found.enabled;\n\t\t}\n\t\treturn null;\n\t}\n\n\tchangeMonth(change) {\n\t\tconst newShownDate = new Date(\n\t\t\tthis.state.shownMonth.getFullYear(),\n\t\t\tthis.state.shownMonth.getMonth() + 1 + change,\n\t\t\t0,\n\t\t);\n\t\tthis.setState(\n\t\t\t{\n\t\t\t\tshownMonth: newShownDate,\n\t\t\t},\n\t\t\t() => {\n\t\t\t\tif (this.props.changeMonth)\n\t\t\t\t\tthis.props.changeMonth(this.state.shownMonth);\n\t\t\t},\n\t\t);\n\t\tthis.generateGrid(newShownDate);\n\t}\n\n\tselectRange(date) {\n\t\tconst d1 = moment(this.state.lastSelected, \"DD-MM-YYYY\");\n\t\tconst d2 = moment(date, \"DD-MM-YYYY\");\n\n\t\tlet startDate, endDate;\n\n\t\tif (d1.valueOf() > d2.valueOf()) {\n\t\t\t// clicked an earlier day\n\t\t\tstartDate = moment(d2);\n\t\t\tendDate = moment(d1);\n\t\t} else {\n\t\t\t// clicked a later day\n\t\t\tstartDate = moment(d1);\n\t\t\tendDate = moment(d2);\n\t\t}\n\n\t\tconst dateRange = [startDate.format(\"DD-MM-YYYY\")];\n\t\twhile (startDate.format(\"DD-MM-YYYY\") !== endDate.format(\"DD-MM-YYYY\")) {\n\t\t\tstartDate.add(1, \"d\");\n\t\t\tdateRange.push(startDate.format(\"DD-MM-YYYY\"));\n\t\t}\n\n\t\tif (\n\t\t\t(_.includes(this.props.selectedDates, d2.format(\"DD-MM-YYYY\")) &&\n\t\t\t\t!_.includes(this.props.selectedDates, d1.format(\"DD-MM-YYYY\"))) ||\n\t\t\t!_.some(dateRange, (d) => {\n\t\t\t\treturn !_.includes(this.props.selectedDates, d);\n\t\t\t})\n\t\t) {\n\t\t\t// the first clicked date was just de-selected and then clicked on a selected date\n\t\t\t// or every date in the range is already selected, then\n\t\t\t// de-select the range\n\t\t\tthis.props.selectDate(\n\t\t\t\t_.filter(this.props.selectedDates, (d) => {\n\t\t\t\t\treturn !_.includes(dateRange, d);\n\t\t\t\t}),\n\t\t\t);\n\t\t} else {\n\t\t\t// select the range\n\t\t\tconst newSelection = [...this.props.selectedDates, ...dateRange];\n\t\t\tthis.props.selectDate(_.uniq(newSelection));\n\t\t}\n\t}\n\n\tselectDate(date, e) {\n\t\tconst enabled = this.isDateEnabled(date);\n\t\tconst isBeforeMinDate =\n\t\t\tthis.props.minDate && moment(date).isBefore(this.props.minDate);\n\t\tconsole.log(\"selected a date\", { date, enabled, isBeforeMinDate });\n\t\tif (enabled === false || isBeforeMinDate) return;\n\n\t\tif (this.props.multiple) {\n\t\t\tconst dateKey = moment(date).format(\"DD-MM-YYYY\");\n\n\t\t\tif (\n\t\t\t\te.shiftKey &&\n\t\t\t\tthis.state.lastSelected &&\n\t\t\t\tthis.state.lastSelected !== dateKey\n\t\t\t) {\n\t\t\t\t// shift-click to select range\n\t\t\t\tthis.selectRange(dateKey);\n\t\t\t} else {\n\t\t\t\t// toggle single date\n\t\t\t\tconst index = this.props.selectedDates.indexOf(dateKey);\n\t\t\t\tconst newSelection = [...this.props.selectedDates];\n\t\t\t\tif (index > -1) {\n\t\t\t\t\tnewSelection.splice(index, 1);\n\t\t\t\t} else {\n\t\t\t\t\tnewSelection.push(dateKey);\n\t\t\t\t}\n\t\t\t\tthis.props.selectDate(newSelection);\n\t\t\t}\n\t\t\tthis.setState({\n\t\t\t\tlastSelected: dateKey,\n\t\t\t});\n\t\t} else {\n\t\t\tthis.props.selectDate(moment(date).format(\"YYYY-MM-DD\"));\n\t\t}\n\t}\n\n\tgenerateGrid(date, selectedDate) {\n\t\tconst month = moment(date);\n\t\tlet dateToTarget = moment(date).endOf(\"month\");\n\t\tlet dateToModify = moment(date).startOf(\"month\");\n\t\tconst selectedDateToUse = this.props.multiple\n\t\t\t? selectedDate || this.props.selectedDates || []\n\t\t\t: moment(selectedDate || this.state.selectedDate);\n\n\t\t// set dateToModify to be Sunday of that week\n\t\twhile (dateToModify.day() !== 0) {\n\t\t\tdateToModify = dateToModify.add(-1, \"day\");\n\t\t}\n\n\t\tconst rows = [[]];\n\n\t\twhile (dateToTarget.day() !== 6) {\n\t\t\tdateToTarget = dateToTarget.add(1, \"day\");\n\t\t}\n\t\tdateToTarget = dateToTarget.add(1, \"day\"); // add an extra day to complete the week\n\n\t\twhile (!dateToModify.isSame(dateToTarget, \"day\")) {\n\t\t\tif (rows[rows.length - 1].length === 7) {\n\t\t\t\t// week has filled - add new row\n\t\t\t\trows.push([]);\n\t\t\t}\n\t\t\tconst thisDate = moment(dateToModify);\n\n\t\t\trows[rows.length - 1].push({\n\t\t\t\tdate: thisDate,\n\t\t\t\tdateKey: thisDate.format(\"DD-MM-YYYY\"),\n\t\t\t\tdisplay: thisDate.date(),\n\t\t\t\tisFaded: !thisDate.isSame(month, \"month\"),\n\t\t\t\tisToday: thisDate.isSame(moment(), \"date\"),\n\t\t\t\tisSelected: this.isDateSelected(thisDate, selectedDateToUse),\n\t\t\t\tisEnabled: this.isDateEnabled(thisDate),\n\t\t\t});\n\n\t\t\tdateToModify = dateToModify.add(1, \"day\");\n\t\t}\n\n\t\t// console.log('generateGrid', JSON.stringify(rows, null, 2));\n\t\tthis.setState({\n\t\t\tgrid: rows,\n\t\t});\n\t}\n\n\trenderGrid() {\n\t\treturn this.state.grid.map((row, index) => {\n\t\t\treturn (\n\t\t\t\t<div className=\"datepicker__row marginTop-8\" key={index}>\n\t\t\t\t\t{row.map((date) => {\n\t\t\t\t\t\tlet classes = \"datepicker__date\";\n\t\t\t\t\t\tif (date.isFaded) {\n\t\t\t\t\t\t\tclasses += \" datepicker__date--faded\";\n\t\t\t\t\t\t}\n\t\t\t\t\t\tif (date.isToday) {\n\t\t\t\t\t\t\tclasses += \" datepicker__date--today\";\n\t\t\t\t\t\t}\n\t\t\t\t\t\tif (date.isSelected) {\n\t\t\t\t\t\t\tclasses += \" datepicker__date--selected\";\n\t\t\t\t\t\t}\n\t\t\t\t\t\tif (typeof date.isEnabled === \"boolean\") {\n\t\t\t\t\t\t\tclasses += date.isEnabled\n\t\t\t\t\t\t\t\t? \" datepicker__date--enabled\"\n\t\t\t\t\t\t\t\t: \" datepicker__date--disabled\";\n\t\t\t\t\t\t}\n\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t<div className={classes} key={date.dateKey}>\n\t\t\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t\t\tclassName=\"datepicker__date__inner\"\n\t\t\t\t\t\t\t\t\tonClick={(e) => this.selectDate(date.date, e)}\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t{date.display}\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t);\n\t\t\t\t\t})}\n\t\t\t\t</div>\n\t\t\t);\n\t\t});\n\t}\n\n\trenderTop() {\n\t\tif (this.props.hideTop) {\n\t\t\treturn null;\n\t\t}\n\t\tif (this.props.multiple) {\n\t\t\treturn (\n\t\t\t\t<div className=\"datepicker__multitop\">\n\t\t\t\t\t<p className=\"datepicker__multitop__text\">\n\t\t\t\t\t\tShift + Click to select a range of dates\n\t\t\t\t\t</p>\n\t\t\t\t</div>\n\t\t\t);\n\t\t}\n\t\treturn (\n\t\t\t<div className=\"datepicker__top\">\n\t\t\t\t<p className=\"datepicker__title truncate\">{this.getDate()}</p>\n\t\t\t</div>\n\t\t);\n\t}\n\n\trender() {\n\t\treturn (\n\t\t\t<div className=\"datepicker noselect\" style={this.props.style}>\n\t\t\t\t{this.renderTop()}\n\t\t\t\t<div className=\"datepicker__bottom\">\n\t\t\t\t\t<div className=\"datepicker__bottomHeader\">\n\t\t\t\t\t\t{/* <div className='datepicker__selectedDate'>\n <p className='datepicker__selectedDateText'>{this.getShortDate()}</p>\n </div> */}\n\t\t\t\t\t\t<div className=\"datepicker__monthSelector\">\n\t\t\t\t\t\t\t<Icon\n\t\t\t\t\t\t\t\tclassName=\"datepicker__monthChevron\"\n\t\t\t\t\t\t\t\ticon=\"chevron-left\"\n\t\t\t\t\t\t\t\tonClick={this.changeMonth.bind(this, -1)}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t<p className=\"datepicker__selectedMonth\">{this.getMonth()}</p>\n\t\t\t\t\t\t\t<Icon\n\t\t\t\t\t\t\t\tclassName=\"datepicker__monthChevron\"\n\t\t\t\t\t\t\t\ticon=\"chevron-right\"\n\t\t\t\t\t\t\t\tonClick={this.changeMonth.bind(this, 1)}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</div>\n\t\t\t\t\t<div className=\"datepicker__row marginTop-16\">\n\t\t\t\t\t\t<p className=\"datepicker__colHeader\">SUN</p>\n\t\t\t\t\t\t<p className=\"datepicker__colHeader\">MON</p>\n\t\t\t\t\t\t<p className=\"datepicker__colHeader\">TUE</p>\n\t\t\t\t\t\t<p className=\"datepicker__colHeader\">WED</p>\n\t\t\t\t\t\t<p className=\"datepicker__colHeader\">THU</p>\n\t\t\t\t\t\t<p className=\"datepicker__colHeader\">FRI</p>\n\t\t\t\t\t\t<p className=\"datepicker__colHeader\">SAT</p>\n\t\t\t\t\t</div>\n\t\t\t\t\t{this.renderGrid()}\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t);\n\t}\n}\n\nexport { DatePicker };\n","import React from \"react\";\nimport { Text } from \"./Text\";\n\nfunction DurationInput({ handleChange, label, value, className, labelWidth }) {\n\tconst hours = Math.floor(value / 60);\n\tconst minutes = value % 60;\n\n\tconst handleHourChange = (event) => {\n\t\tconst newHours = Math.max(0, Math.min(+event.target.value, 24));\n\t\thandleChange(newHours * 60 + minutes);\n\t};\n\n\tconst handleMinuteChange = (event) => {\n\t\tconst newMinutes = Math.max(0, Math.min(+event.target.value, 59));\n\t\thandleChange(hours * 60 + newMinutes);\n\t};\n\n\treturn (\n\t\t<div className={`flex flex-center ${className ? className : \"\"}`}>\n\t\t\t{label && (\n\t\t\t\t<Text\n\t\t\t\t\ttype=\"formTitleSmall\"\n\t\t\t\t\tstyle={{ marginRight: \"10px\", width: labelWidth || 50 }}\n\t\t\t\t>\n\t\t\t\t\t{label}\n\t\t\t\t</Text>\n\t\t\t)}\n\t\t\t<input\n\t\t\t\tclassName=\"genericInput\"\n\t\t\t\ttype=\"number\"\n\t\t\t\tmin=\"0\"\n\t\t\t\tmax=\"24\"\n\t\t\t\tvalue={hours}\n\t\t\t\tonChange={handleHourChange}\n\t\t\t\tstyle={{ width: 50, marginRight: 5 }}\n\t\t\t/>\n\t\t\t<Text type=\"formTitleSmall\" style={{ marginRight: 10 }}>\n\t\t\t\tHour(s)\n\t\t\t</Text>\n\t\t\t<input\n\t\t\t\tclassName=\"genericInput\"\n\t\t\t\ttype=\"number\"\n\t\t\t\tmin=\"0\"\n\t\t\t\tmax=\"59\"\n\t\t\t\tvalue={minutes}\n\t\t\t\tonChange={handleMinuteChange}\n\t\t\t\tstyle={{ width: 50, marginRight: 5 }}\n\t\t\t/>\n\t\t\t<Text type=\"formTitleSmall\">Minute(s)</Text>\n\t\t</div>\n\t);\n}\n\nexport { DurationInput };\n","import React, { Component } from \"react\";\nimport { connect } from \"react-redux\";\nimport _ from \"lodash\";\nimport Dropzone from \"react-dropzone\";\nimport { Icon } from \"@plusscommunities/pluss-icons\";\nimport { Button } from \"./Button\";\nimport { fileActions } from \"../apis\";\nimport { getFileName } from \"../helper\";\n\nconst DEFAULT_INPUT = {\n\tuploadingFile: false,\n\tvalue: \"\",\n};\n\nclass FileInputComponent extends Component {\n\tstate = {\n\t\tinputs: [\n\t\t\t{\n\t\t\t\tuploadingFile: false,\n\t\t\t\tvalue: \"\",\n\t\t\t},\n\t\t],\n\t};\n\n\tcomponentDidMount() {\n\t\tsetTimeout(() => {\n\t\t\tif (this.props.hasDefault) {\n\t\t\t\tthis.setState({\n\t\t\t\t\tinputs: [\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tuploadingFile: false,\n\t\t\t\t\t\t\tvalue: this.props.hasDefault,\n\t\t\t\t\t\t},\n\t\t\t\t\t],\n\t\t\t\t});\n\t\t\t\tif (this.props.refreshCallback) {\n\t\t\t\t\tthis.props.refreshCallback(this.props.hasDefault);\n\t\t\t\t}\n\t\t\t}\n\t\t}, 100);\n\t}\n\n\tsetValue(val) {\n\t\tif (typeof val === \"string\") {\n\t\t\tthis.setState({\n\t\t\t\tinputs: [\n\t\t\t\t\t{\n\t\t\t\t\t\tuploadingImage: false,\n\t\t\t\t\t\tvalue: val,\n\t\t\t\t\t},\n\t\t\t\t],\n\t\t\t});\n\t\t} else {\n\t\t\tconst inputs = [];\n\t\t\t_.forEach(val, (str) => {\n\t\t\t\tinputs.push({\n\t\t\t\t\tuploadingImage: false,\n\t\t\t\t\tvalue: str,\n\t\t\t\t});\n\t\t\t});\n\t\t\tif (!this.props.limit || this.props.limit > inputs.length)\n\t\t\t\tinputs.push(DEFAULT_INPUT);\n\t\t\tthis.setState({ inputs });\n\t\t}\n\t}\n\n\tgetClassNames(input, inputsLength) {\n\t\tlet classes = \"clearfix imageInput\";\n\t\tif (input.uploadingFile) {\n\t\t\tclasses += \" imageInput-uploading\";\n\t\t} else if (!_.isEmpty(input.value) && !this.props.onlyAllowUpload) {\n\t\t\tclasses += \" imageInput-hasImage\";\n\t\t}\n\t\tif (inputsLength === 1) {\n\t\t\tclasses += \" imageInput-only\";\n\t\t}\n\t\tif (\n\t\t\tthis.props.style &&\n\t\t\tthis.props.style.height &&\n\t\t\tthis.props.style.height < 150\n\t\t) {\n\t\t\tclasses += \" imageInput-condensed\";\n\t\t}\n\t\treturn classes;\n\t}\n\n\tgetErrorState() {\n\t\tif (!_.isUndefined(this.props.showError) && this.props.showError()) {\n\t\t\treturn \" imageInput_upload--error\";\n\t\t}\n\t\treturn \"\";\n\t}\n\n\tgetAccept = () => {\n\t\tif (typeof this.props.accept === \"object\") {\n\t\t\treturn this.props.accept;\n\t\t}\n\t\tif (typeof this.props.accept === \"string\") {\n\t\t\tconst accept = {\n\t\t\t\t[this.props.accept]: [`.${_.last(this.props.accept.split(\"/\"))}`],\n\t\t\t};\n\t\t\treturn accept;\n\t\t}\n\t\treturn null;\n\t};\n\n\tcheckRefreshCallback = (inputs) => {\n\t\tif (_.isUndefined(this.props.refreshCallback)) {\n\t\t\treturn;\n\t\t}\n\t\tif (!this.props.multiple) {\n\t\t\tconst file = _.find(inputs, (i) => {\n\t\t\t\treturn !i.uploadingFile && !_.isEmpty(i.value);\n\t\t\t});\n\t\t\tthis.props.refreshCallback(file ? file.value : undefined);\n\t\t} else {\n\t\t\tconst files = _.filter(inputs, (i) => {\n\t\t\t\treturn !i.uploadingFile && !_.isEmpty(i.value);\n\t\t\t}).map((i) => {\n\t\t\t\treturn i.value;\n\t\t\t});\n\t\t\tthis.props.refreshCallback(files);\n\t\t}\n\t};\n\n\tcheckSetDisplayValue(input, value) {\n\t\tinput.value = value;\n\t\tinput.uploadingFile = false;\n\t\tconst newInputs = _.clone(this.state.inputs);\n\t\tthis.setState({ inputs: newInputs });\n\t\tthis.checkRefreshCallback(newInputs);\n\t}\n\n\tonDrop = (files) => {\n\t\tif (this.props.multiple) {\n\t\t\tconst newInputs = _.clone(this.state.inputs);\n\t\t\tfiles.forEach((file) => {\n\t\t\t\tif (this.props.limit && newInputs.length === this.props.limit) {\n\t\t\t\t\t// hit limit - replace last input if it's empty\n\t\t\t\t\tif (_.isEmpty(newInputs[newInputs.length - 1].value)) {\n\t\t\t\t\t\tconst newInput = newInputs[newInputs.length - 1];\n\t\t\t\t\t\tthis.handleFile(newInput, file);\n\t\t\t\t\t}\n\t\t\t\t} else {\n\t\t\t\t\tconst newInput = {\n\t\t\t\t\t\t...DEFAULT_INPUT,\n\t\t\t\t\t};\n\t\t\t\t\tnewInputs.splice(newInputs.length - 1, 0, newInput);\n\t\t\t\t\tthis.handleFile(newInput, file);\n\t\t\t\t}\n\t\t\t});\n\t\t\tthis.setState({\n\t\t\t\tinputs: newInputs,\n\t\t\t});\n\t\t\tthis.checkRefreshCallback(newInputs);\n\t\t} else {\n\t\t\tthis.handleFile(this.state.inputs[0], files[0]);\n\t\t}\n\t};\n\n\thandleFile = async (input, file) => {\n\t\tif (!file || input.uploadingFile) {\n\t\t\treturn;\n\t\t}\n\t\tinput.uploadingFile = true;\n\t\tconst newInputs = _.clone(this.state.inputs);\n\t\tthis.setState({\n\t\t\tinputs: newInputs,\n\t\t});\n\t\tthis.checkRefreshCallback(newInputs);\n\t\tif (this.props.handleFile) {\n\t\t\tawait this.props.handleFile(file, newInputs);\n\t\t\tthis.checkSetDisplayValue(input, \"\");\n\t\t} else {\n\t\t\ttry {\n\t\t\t\tlet uploadFile = file;\n\t\t\t\tconst url = await fileActions.uploadMediaAsync(\n\t\t\t\t\tuploadFile,\n\t\t\t\t\tuploadFile.name,\n\t\t\t\t);\n\t\t\t\tthis.checkSetDisplayValue(input, url);\n\t\t\t} catch (error) {\n\t\t\t\tconsole.log(\"handleFile error\", error);\n\t\t\t\tthis.setState({ uploadingFile: false });\n\t\t\t}\n\t\t}\n\t};\n\n\tremoveFile(input) {\n\t\tconst newState = {};\n\n\t\tinput.value = \"\";\n\n\t\tconst newInputs = _.clone(this.state.inputs);\n\n\t\tif (newInputs.length > 1) {\n\t\t\tnewInputs.splice(newInputs.indexOf(input), 1);\n\t\t\tif (\n\t\t\t\tnewInputs.length === this.props.limit - 1 &&\n\t\t\t\t!_.isEmpty(newInputs[newInputs.length - 1].value)\n\t\t\t) {\n\t\t\t\t// was full\n\t\t\t\tnewInputs.push(DEFAULT_INPUT);\n\t\t\t}\n\t\t}\n\n\t\tnewState.inputs = newInputs;\n\n\t\tthis.setState(newState);\n\t\t// for single item\n\t\tif (!_.isUndefined(this.props.refreshCallback)) {\n\t\t\tthis.props.refreshCallback();\n\t\t}\n\t}\n\n\trenderInput(input, index, inputsLength) {\n\t\tconst renderContent = () => {\n\t\t\tif (this.props.onlyAllowUpload) {\n\t\t\t\treturn null;\n\t\t\t}\n\t\t\tif (!_.isEmpty(input.value) && !input.uploadingFile) {\n\t\t\t\treturn (\n\t\t\t\t\t<div className=\"imageInput_simpleContainer\">\n\t\t\t\t\t\t<div\n\t\t\t\t\t\t\tclassName=\"imageInput_image\"\n\t\t\t\t\t\t\tstyle={{\n\t\t\t\t\t\t\t\t...this.props.style,\n\t\t\t\t\t\t\t\theight:\n\t\t\t\t\t\t\t\t\tthis.props.style && this.props.style.height\n\t\t\t\t\t\t\t\t\t\t? this.props.style.height - 62\n\t\t\t\t\t\t\t\t\t\t: 80,\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<img\n\t\t\t\t\t\t\t\tsrc=\"https://s3-ap-southeast-2.amazonaws.com/pluss60-dev-media/pluss/document.svg\"\n\t\t\t\t\t\t\t\tclassName=\"imageInput_icon\"\n\t\t\t\t\t\t\t\talt=\"file\"\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t<p className=\"imageInput_text\">{getFileName(input.value)}</p>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t\t<Dropzone\n\t\t\t\t\t\t\taccept={this.getAccept()}\n\t\t\t\t\t\t\tonDrop={(files) => this.onDrop(files, true)}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{(state) => {\n\t\t\t\t\t\t\t\tconst { getRootProps, getInputProps } = state;\n\t\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t\t<div style={{ padding: 10 }} {...getRootProps()}>\n\t\t\t\t\t\t\t\t\t\t<input {...getInputProps()} />\n\t\t\t\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\t\t\t\tbuttonType=\"secondary\"\n\t\t\t\t\t\t\t\t\t\t\tclassName=\"imageInput_button\"\n\t\t\t\t\t\t\t\t\t\t\tdisabled\n\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\tChange file\n\t\t\t\t\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t</Dropzone>\n\t\t\t\t\t</div>\n\t\t\t\t);\n\t\t\t}\n\t\t\treturn (\n\t\t\t\t<div className=\"imageInput_image\" style={{ ...this.props.style }}></div>\n\t\t\t);\n\t\t};\n\n\t\tconst renderRemove = () => {\n\t\t\treturn (\n\t\t\t\t!this.props.disableRemove &&\n\t\t\t\t!this.props.disabled &&\n\t\t\t\t(this.props.simpleStyle ? (\n\t\t\t\t\t<Icon\n\t\t\t\t\t\ticon=\"xmark\"\n\t\t\t\t\t\tclassName=\"imageInput_removeIcon\"\n\t\t\t\t\t\tonClick={this.removeFile.bind(this, input)}\n\t\t\t\t\t/>\n\t\t\t\t) : (\n\t\t\t\t\t<p\n\t\t\t\t\t\tclassName=\"imageInput_remove\"\n\t\t\t\t\t\tonClick={this.removeFile.bind(this, input)}\n\t\t\t\t\t>\n\t\t\t\t\t\tremove\n\t\t\t\t\t</p>\n\t\t\t\t))\n\t\t\t);\n\t\t};\n\n\t\tconst renderDownload = () => {\n\t\t\tif (this.props.noDownload) return null;\n\t\t\treturn (\n\t\t\t\t<a href={input.value} target=\"_blank\" className=\"imageInput_download\">\n\t\t\t\t\t<img\n\t\t\t\t\t\talt=\"\"\n\t\t\t\t\t\tclassName=\"dlicon\"\n\t\t\t\t\t\tsrc=\"https://pluss60-dev-uploads.s3.ap-southeast-2.amazonaws.com/uploads/users/ap-southeast-2:efbab8db-136a-446e-b14a-d00af0067841/public/025971e94153af280049fdf3e3/downloadicon.png\"\n\t\t\t\t\t></img>\n\t\t\t\t</a>\n\t\t\t);\n\t\t};\n\n\t\treturn (\n\t\t\t<div\n\t\t\t\tkey={index}\n\t\t\t\tclassName={this.getClassNames(input, inputsLength)}\n\t\t\t\tstyle={{ ...this.props.style }}\n\t\t\t>\n\t\t\t\t<Dropzone accept={this.getAccept()} onDrop={this.onDrop}>\n\t\t\t\t\t{(state) => {\n\t\t\t\t\t\tconst { getRootProps, getInputProps, isDragActive } = state;\n\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t\tclassName={`imageInput_upload ${this.getErrorState()}`}\n\t\t\t\t\t\t\t\tstyle={{ ...this.props.style }}\n\t\t\t\t\t\t\t\t{...getRootProps()}\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t<input {...getInputProps()} />\n\t\t\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t\t\tclassName={`${isDragActive ? \"imageInput_dropZoneActive\" : \"\"}`}\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t{!this.props.simpleStyle && (\n\t\t\t\t\t\t\t\t\t\t<img\n\t\t\t\t\t\t\t\t\t\t\tsrc=\"https://s3-ap-southeast-2.amazonaws.com/pluss60-dev-media/pluss/document.svg\"\n\t\t\t\t\t\t\t\t\t\t\tclassName=\"imageInput_icon\"\n\t\t\t\t\t\t\t\t\t\t\talt=\"file\"\n\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t\t<p className=\"imageInput_helpText\">\n\t\t\t\t\t\t\t\t\t\t{isDragActive ? `Drop file here` : `Drag and drop file or`}\n\t\t\t\t\t\t\t\t\t</p>\n\t\t\t\t\t\t\t\t\t{!isDragActive && (\n\t\t\t\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\t\t\t\tbuttonType=\"secondary\"\n\t\t\t\t\t\t\t\t\t\t\tclassName=\"imageInput_button\"\n\t\t\t\t\t\t\t\t\t\t\tdisabled\n\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t{this.props.multiple ? `Upload files` : `Upload a file`}\n\t\t\t\t\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t);\n\t\t\t\t\t}}\n\t\t\t\t</Dropzone>\n\t\t\t\t<div className=\"imageInput_uploading\" style={{ ...this.props.style }}>\n\t\t\t\t\t<Icon\n\t\t\t\t\t\tclassName=\"spinner imageInput_spinner\"\n\t\t\t\t\t\ticon=\"spinner\"\n\t\t\t\t\t\tfixedWidth\n\t\t\t\t\t\tpulse\n\t\t\t\t\t/>\n\t\t\t\t</div>\n\t\t\t\t{renderContent()}\n\t\t\t\t{renderRemove()}\n\t\t\t\t{renderDownload()}\n\t\t\t</div>\n\t\t);\n\t}\n\n\trenderUploadFiles(inputs) {\n\t\treturn (\n\t\t\t<div\n\t\t\t\tclassName={`imageInputContainer clearfix ${inputs.length === 1 ? \"imageInputContainer-noPadding\" : \"\"} ${\n\t\t\t\t\tthis.props.simpleStyle ? \"imageInputContainer-simple\" : \"\"\n\t\t\t\t}`}\n\t\t\t\tstyle={{ ...this.props.style }}\n\t\t\t>\n\t\t\t\t{inputs.map((input, index) => {\n\t\t\t\t\treturn this.renderInput(input, index, inputs.length);\n\t\t\t\t})}\n\t\t\t</div>\n\t\t);\n\t}\n\n\trenderContent() {\n\t\treturn this.renderUploadFiles(this.state.inputs);\n\t}\n\n\trender() {\n\t\treturn <div style={this.props.containerStyle}>{this.renderContent()}</div>;\n\t}\n}\n\nconst mapStateToProps = () => {\n\treturn {};\n};\n\nconst FileInput = connect(mapStateToProps, {}, null, { forwardRef: true })(\n\tFileInputComponent,\n);\nexport { FileInput };\n","import React, { Component } from \"react\";\nimport _ from \"lodash\";\nimport Textarea from \"react-textarea-autosize\";\n\nclass GenericInput extends Component {\n\tcomponentDidUpdate(prevProps, prevState) {\n\t\tif (!_.isUndefined(this.props.autofocus) && this.props.autofocus) {\n\t\t\tthis._input.focus();\n\t\t}\n\t}\n\n\tgetAutoComplete() {\n\t\tif (!_.isUndefined(this.props.autoComplete)) {\n\t\t\treturn this.props.autoComplete ? \"on\" : \"off\";\n\t\t}\n\t\treturn \"off\";\n\t}\n\n\tisValid() {\n\t\tif (\n\t\t\t!_.isUndefined(this.props.isValid) &&\n\t\t\ttypeof this.props.isValid === \"function\"\n\t\t) {\n\t\t\treturn this.props.isValid();\n\t\t}\n\t\treturn this.props.isValid;\n\t}\n\n\tshowError() {\n\t\treturn (\n\t\t\t!_.isUndefined(this.props.showError) &&\n\t\t\t((typeof this.props.showError === \"function\" && this.props.showError()) ||\n\t\t\t\t(typeof this.props.showError === \"boolean\" && this.props.showError))\n\t\t);\n\t}\n\n\tgetClassNames() {\n\t\tlet string = `${this.props.className} genericInputContainer`;\n\t\tif (!_.isUndefined(this.props.disabled) && this.props.disabled) {\n\t\t\tstring += \" genericInput-disabled\";\n\t\t}\n\t\tif (this.props.large) {\n\t\t\tstring += \" genericInput-large\";\n\t\t}\n\t\tif (!_.isUndefined(this.props.type) && this.props.type === \"textarea\") {\n\t\t\tstring += \" genericInput-textarea\";\n\t\t}\n\t\tif (this.isValid()) {\n\t\t\treturn string + \" genericInput-valid\";\n\t\t}\n\t\tif (this.showError()) {\n\t\t\treturn string + \" genericInput-error\";\n\t\t}\n\t\treturn string;\n\t}\n\n\tgetLabelStyle() {\n\t\tconst style = {};\n\t\tif (_.isEmpty(this.props.value) && !this.props.alwaysShowLabel) {\n\t\t\tstyle.opacity = 0;\n\t\t}\n\t\treturn style;\n\t}\n\n\trenderError() {\n\t\tif (this.showError() && !this.isValid()) {\n\t\t\treturn (\n\t\t\t\t<div className={\"fieldLabel fieldLabel-warning\"}>\n\t\t\t\t\t{this.props.errorMessage ? this.props.errorMessage : \"Required\"}\n\t\t\t\t</div>\n\t\t\t);\n\t\t}\n\t\treturn null;\n\t}\n\trenderHelp() {\n\t\tif (!_.isEmpty(this.props.help)) {\n\t\t\treturn <div className=\"genericInput-help\">{this.props.help}</div>;\n\t\t}\n\t\treturn null;\n\t}\n\n\trenderInput() {\n\t\tif (!_.isUndefined(this.props.inputComponent)) {\n\t\t\treturn (\n\t\t\t\t<div style={{ ...styles.row, alignItems: \"flex-start\" }}>\n\t\t\t\t\t{this.props.isRequired && <div className=\"inputRequired \" />}\n\t\t\t\t\t{this.props.inputComponent}\n\t\t\t\t\t{this.props.rightContent}\n\t\t\t\t</div>\n\t\t\t);\n\t\t}\n\t\tif (!_.isUndefined(this.props.type) && this.props.type === \"textarea\") {\n\t\t\t// Render expandable text area\n\t\t\treturn (\n\t\t\t\t<div style={{ ...styles.row, alignItems: \"flex-start\" }}>\n\t\t\t\t\t{this.props.isRequired && <div className=\"inputRequired \" />}\n\t\t\t\t\t<Textarea\n\t\t\t\t\t\tid={this.props.id}\n\t\t\t\t\t\tplaceholder={\n\t\t\t\t\t\t\t!_.isUndefined(this.props.placeholder)\n\t\t\t\t\t\t\t\t? this.props.placeholder\n\t\t\t\t\t\t\t\t: this.props.label\n\t\t\t\t\t\t}\n\t\t\t\t\t\ttype={!_.isUndefined(this.props.type) ? this.props.type : \"text\"}\n\t\t\t\t\t\tclassName={`genericInput ${this.props.inputClass}`}\n\t\t\t\t\t\tvalue={this.props.value || \"\"}\n\t\t\t\t\t\tonChange={this.props.onChange}\n\t\t\t\t\t\tonKeyPress={this.props.onKeyPress || this.props.onEnter}\n\t\t\t\t\t\tonKeyDown={this.props.onKeyDown}\n\t\t\t\t\t\tstyle={{ ...this.props.inputStyle }}\n\t\t\t\t\t\treadOnly={\n\t\t\t\t\t\t\t!_.isUndefined(this.props.readOnly) ? this.props.readOnly : false\n\t\t\t\t\t\t}\n\t\t\t\t\t\tdisabled={\n\t\t\t\t\t\t\t!_.isUndefined(this.props.disabled) ? this.props.disabled : false\n\t\t\t\t\t\t}\n\t\t\t\t\t\tautoComplete={this.getAutoComplete()}\n\t\t\t\t\t\tmaxLength={this.props.maxLength}\n\t\t\t\t\t\tonFocus={this.props.onFocus}\n\t\t\t\t\t\tonBlur={this.props.onBlur}\n\t\t\t\t\t/>\n\t\t\t\t\t{this.props.rightContent}\n\t\t\t\t</div>\n\t\t\t);\n\t\t}\n\t\t// Render default input\n\t\treturn (\n\t\t\t<div style={{ ...styles.row, ...this.props.textWrapperStyle }}>\n\t\t\t\t{this.props.isRequired && <div className=\"inputRequired \" />}\n\t\t\t\t<input\n\t\t\t\t\tref={(c) => (this._input = c)}\n\t\t\t\t\tid={this.props.id}\n\t\t\t\t\tplaceholder={\n\t\t\t\t\t\t!_.isUndefined(this.props.placeholder)\n\t\t\t\t\t\t\t? this.props.placeholder\n\t\t\t\t\t\t\t: this.props.label\n\t\t\t\t\t}\n\t\t\t\t\ttype={!_.isUndefined(this.props.type) ? this.props.type : \"text\"}\n\t\t\t\t\tclassName={`genericInput ${this.props.inputClass}`}\n\t\t\t\t\tvalue={this.props.value || \"\"}\n\t\t\t\t\tonChange={this.props.onChange}\n\t\t\t\t\tonClick={this.props.onClick}\n\t\t\t\t\tonKeyPress={this.props.onKeyPress || this.props.onEnter}\n\t\t\t\t\tonKeyDown={this.props.onKeyDown}\n\t\t\t\t\tstyle={{ ...this.props.inputStyle }}\n\t\t\t\t\treadOnly={\n\t\t\t\t\t\t!_.isUndefined(this.props.readOnly) ? this.props.readOnly : false\n\t\t\t\t\t}\n\t\t\t\t\tdisabled={\n\t\t\t\t\t\t!_.isUndefined(this.props.disabled) ? this.props.disabled : false\n\t\t\t\t\t}\n\t\t\t\t\tautoComplete={this.getAutoComplete()}\n\t\t\t\t\tautoFocus={\n\t\t\t\t\t\t!_.isUndefined(this.props.autofocus) ? this.props.autofocus : false\n\t\t\t\t\t}\n\t\t\t\t\tmaxLength={this.props.maxLength}\n\t\t\t\t\tonFocus={this.props.onFocus}\n\t\t\t\t\tonBlur={this.props.onBlur}\n\t\t\t\t/>\n\t\t\t\t{this.props.rightContent}\n\t\t\t</div>\n\t\t);\n\t}\n\n\trender() {\n\t\treturn (\n\t\t\t<div className={this.getClassNames()} style={{ ...this.props.style }}>\n\t\t\t\t<div\n\t\t\t\t\tstyle={{\n\t\t\t\t\t\t...styles.row,\n\t\t\t\t\t\tmarginBottom: 0,\n\t\t\t\t\t\tjustifyContent: \"space-between\",\n\t\t\t\t\t}}\n\t\t\t\t>\n\t\t\t\t\t{!_.isUndefined(this.props.label) && (\n\t\t\t\t\t\t<div className=\"fieldLabel\" style={this.getLabelStyle()}>\n\t\t\t\t\t\t\t{this.props.label}\n\t\t\t\t\t\t</div>\n\t\t\t\t\t)}\n\t\t\t\t\t{this.renderError()}\n\t\t\t\t</div>\n\t\t\t\t{/* Render either generic input or large text area */}\n\t\t\t\t{this.renderInput()}\n\t\t\t\t{/* Render bottom help info */}\n\t\t\t\t{this.renderHelp()}\n\t\t\t</div>\n\t\t);\n\t}\n}\n\nconst styles = {\n\trow: {\n\t\tdisplay: \"flex\",\n\t\tflexDirection: \"row\",\n\t\t// marginBottom: 8,\n\t\talignItems: \"center\",\n\t},\n};\n\nexport { GenericInput };\n","import React, { Component } from \"react\";\nimport { withRouter } from \"react-router\";\nimport { connect } from \"react-redux\";\nimport { setNavData } from \"../actions\";\nimport { Button } from \"./Button\";\n\nclass Header extends Component {\n\tgetHomeLink() {\n\t\tthis.props.history.replace(\"/\");\n\t}\n\n\tgoToHelpGuide = () => {\n\t\twindow.open(\"https://www.plusscommunities.com/user-guide\", \"_blank\");\n\t};\n\n\ttoggleSideMenu = () => {\n\t\tthis.props.setNavData({ isSideMenuOpen: !this.props.isSideMenuOpen });\n\t};\n\n\trenderRight() {\n\t\tif (this.props.rightContent) {\n\t\t\treturn this.props.rightContent;\n\t\t}\n\t\treturn (\n\t\t\t<div className=\"flex flex-center\">\n\t\t\t\t<Button\n\t\t\t\t\tbuttonType=\"primary\"\n\t\t\t\t\tonClick={this.goToHelpGuide}\n\t\t\t\t\tnarrow\n\t\t\t\t\tisActive\n\t\t\t\t\tclassName=\"marginRight-16\"\n\t\t\t\t>\n\t\t\t\t\tHelp Guide\n\t\t\t\t</Button>\n\t\t\t\t<div className=\"sideMenuButtonContainer\"></div>\n\t\t\t</div>\n\t\t);\n\t}\n\n\trenderHeader() {\n\t\treturn (\n\t\t\t<div className=\"header\">\n\t\t\t\t<div id=\"leftContainer\" style={{ display: \"inline-block\" }}>\n\t\t\t\t\t{this.props.children && (\n\t\t\t\t\t\t<div\n\t\t\t\t\t\t\tstyle={{\n\t\t\t\t\t\t\t\tdisplay: \"flex\",\n\t\t\t\t\t\t\t\theight: \"100%\",\n\t\t\t\t\t\t\t\talignItems: \"center\",\n\t\t\t\t\t\t\t\tmarginLeft: 16,\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{this.props.children}\n\t\t\t\t\t\t</div>\n\t\t\t\t\t)}\n\t\t\t\t</div>\n\t\t\t\t{this.renderRight()}\n\t\t\t</div>\n\t\t);\n\t}\n\n\trenderSimpleHeader() {\n\t\treturn (\n\t\t\t<div\n\t\t\t\tclassName={`header header-simple ${this.props.fixed ? \"header-fixed\" : \"\"}`}\n\t\t\t>\n\t\t\t\t<div className=\"container1200 flex flex-center\">\n\t\t\t\t\t<img\n\t\t\t\t\t\tclassName=\"header_logo\"\n\t\t\t\t\t\tsrc=\"https://pluss-prd-media.s3-ap-southeast-2.amazonaws.com/assets/plusscommunities-new.svg\"\n\t\t\t\t\t\talt=\"logo\"\n\t\t\t\t\t/>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t);\n\t}\n\n\trenderContainerHeader() {\n\t\treturn (\n\t\t\t<div\n\t\t\t\tclassName={`header header-simple ${this.props.fixed ? \"header-fixed\" : \"\"}`}\n\t\t\t>\n\t\t\t\t{this.props.children}\n\t\t\t</div>\n\t\t);\n\t}\n\n\trender() {\n\t\tif (this.props.simple) {\n\t\t\treturn this.renderSimpleHeader();\n\t\t}\n\t\tif (this.props.onlyContainer) {\n\t\t\treturn this.renderContainerHeader();\n\t\t}\n\t\treturn this.renderHeader();\n\t}\n}\n\nconst mapStateToProps = (state) => {\n\treturn { auth: state.auth, isSideMenuOpen: state.nav.isSideMenuOpen };\n};\n\nlet exportObj = connect(mapStateToProps, { setNavData })(withRouter(Header));\n\nexport { exportObj as Header };\n","import React, { Component } from \"react\";\nimport { withRouter } from \"react-router\";\nimport { connect } from \"react-redux\";\nimport _ from \"lodash\";\nimport { Icon } from \"@plusscommunities/pluss-icons\";\nimport { COLOUR_DUSK_LIGHTER } from \"../colours\";\n\nclass SideNavItem extends Component {\n constructor(props) {\n super(props);\n this.state = { url: window.location.pathname };\n }\n\n UNSAFE_componentWillReceiveProps(nextProps) {\n if (!_.isUndefined(nextProps.url) && !_.isEmpty(nextProps.url)) {\n this.setState({ url: nextProps.url });\n }\n }\n\n goTo = () => {\n if (this.props.onClick) {\n return this.props.onClick();\n }\n if (!_.isUndefined(this.props.onUrlChange)) {\n this.props.onUrlChange();\n }\n this.props.history.push(this.props.Link);\n };\n\n getClassNames() {\n let result = \"\";\n if (this.props.className) {\n result += ` ${this.props.className}`;\n }\n if (this.state.url === this.props.Link || this.props.selected) {\n result += \" sideNav-item--active\";\n }\n if (this.props.subStyle) {\n result += \" sideNav-item-subStyle\";\n }\n return result;\n }\n\n renderIcon() {\n if (!this.props.Icon) {\n return null;\n }\n\n return (\n <div style={{ ...styles.section, width: 18, marginRight: 16 }}>\n <Icon\n className=\"sideNav-item-icon\"\n icon={this.props.Icon}\n style={this.props.style}\n />\n </div>\n );\n }\n\n render() {\n return (\n <div\n className={`sideNav-item${this.getClassNames()}`}\n style={this.props.style}\n onClick={this.goTo}\n >\n {!this.props.noSideDot && (\n <div style={{ ...styles.section, marginRight: 15 }}>\n <div className=\"sideNav-item-dot\" style={styles.sideNavDot} />\n </div>\n )}\n {this.renderIcon()}\n <div className=\"sideNav-item-text\" style={styles.section}>\n {this.props.Text}\n </div>\n {!_.isNil(this.props.count) && this.props.count > 0 && (\n <div className=\"sideNav-item-extra\">\n <div className=\"count\">\n {this.props.count > 99 ? 99 : this.props.count}\n </div>\n </div>\n )}\n </div>\n );\n }\n}\n\nconst styles = {\n section: {\n display: \"flex\",\n minHeight: 22,\n },\n sideNavDot: {\n width: 5,\n height: 5,\n borderRadius: 5,\n },\n};\n\nlet exportObj = connect(null, {})(withRouter(SideNavItem));\n\nexport { exportObj as SideNavItem };\n","import React, { PureComponent } from \"react\";\nimport _ from \"lodash\";\nimport { connect } from \"react-redux\";\nimport { setNavData } from \"../actions\";\nimport { SideNavItem } from \"./SideNavItem\";\nimport { Button } from \"./Button\";\nimport { Text } from \"./Text\";\n\nclass HubSidebar extends PureComponent {\n\tconstructor(props) {\n\t\tsuper(props);\n\n\t\tthis.state = {\n\t\t\tshowSidebar: false,\n\t\t};\n\t}\n\n\tcomponentDidMount() {\n\t\tthis.props.setNavData({\n\t\t\tcondensedSidebar: true,\n\t\t});\n\t\tsetTimeout(() => {\n\t\t\tthis.setState({\n\t\t\t\tshowSidebar: true,\n\t\t\t});\n\t\t}, 50);\n\t}\n\n\tcomponentWillUnmount() {\n\t\tthis.props.setNavData({\n\t\t\tcondensedSidebar: false,\n\t\t});\n\t\tthis.setState({\n\t\t\tshowSidebar: false,\n\t\t});\n\t}\n\n\trenderButton(item, index) {\n\t\treturn (\n\t\t\t<div key={`button_${index}`} className=\"hubSidebar_newButtonContainer\">\n\t\t\t\t<Button\n\t\t\t\t\tbuttonType={item.buttonType || \"primary\"}\n\t\t\t\t\tisActive\n\t\t\t\t\tleftIcon={item.icon}\n\t\t\t\t\tnarrow\n\t\t\t\t\tonClick={item.onClick}\n\t\t\t\t>\n\t\t\t\t\t{item.text}\n\t\t\t\t</Button>\n\t\t\t</div>\n\t\t);\n\t}\n\n\trenderNewButton(item, index) {\n\t\treturn this.renderButton({ ...item, icon: \"plus\" }, index);\n\t}\n\n\trenderNavItem(item, index) {\n\t\treturn (\n\t\t\t<SideNavItem\n\t\t\t\tText={item.text}\n\t\t\t\tIcon={item.icon}\n\t\t\t\tLink={item.url}\n\t\t\t\tisFontAwesome={item.isFontAwesome}\n\t\t\t\tisSVG={item.isSVG}\n\t\t\t\tkey={`navitem_${index}`}\n\t\t\t\tselected={item.selected}\n\t\t\t\tonClick={item.onClick}\n\t\t\t/>\n\t\t);\n\t}\n\n\trenderSection(section, index) {\n\t\treturn (\n\t\t\t<div className=\"hubSidebar_section\" key={`section_${index}`}>\n\t\t\t\t<Text type=\"h3\" className=\"hubSidebar_sectionTitle\">\n\t\t\t\t\t{section.title}\n\t\t\t\t</Text>\n\t\t\t\t{section.items.map((item, itemIndex) => {\n\t\t\t\t\tswitch (item.type) {\n\t\t\t\t\t\tcase \"button\":\n\t\t\t\t\t\t\treturn this.renderButton(item, itemIndex);\n\t\t\t\t\t\tcase \"newButton\":\n\t\t\t\t\t\t\treturn this.renderNewButton(item, itemIndex);\n\t\t\t\t\t\tcase \"navItem\":\n\t\t\t\t\t\t\treturn this.renderNavItem(item, itemIndex);\n\t\t\t\t\t\tdefault:\n\t\t\t\t\t\t\treturn null;\n\t\t\t\t\t}\n\t\t\t\t})}\n\t\t\t</div>\n\t\t);\n\t}\n\n\trenderHelpGuide = () => {\n\t\tif (!this.props.helpGuide) return null;\n\n\t\tconst { text, url } = this.props.helpGuide;\n\n\t\tconst onHelpGuidePress = () => {\n\t\t\tif (!url) return;\n\t\t\twindow.open(url, \"_blank\");\n\t\t};\n\t\treturn (\n\t\t\t<div className=\"hubSidebar_helpGuideContainer\">\n\t\t\t\t<Button\n\t\t\t\t\tbuttonType=\"outlined\"\n\t\t\t\t\tisActive\n\t\t\t\t\tleftIcon=\"circle-info\"\n\t\t\t\t\tnarrow\n\t\t\t\t\tonClick={onHelpGuidePress}\n\t\t\t\t>\n\t\t\t\t\t{text || \"Help Guide\"}\n\t\t\t\t</Button>\n\t\t\t</div>\n\t\t);\n\t};\n\n\trender() {\n\t\treturn (\n\t\t\t<div\n\t\t\t\tclassName={`hubSidebar${this.state.showSidebar ? \" hubSidebar-show\" : \"\"} ${this.props.className ? this.props.className : \"\"}`}\n\t\t\t\tstyle={this.props.style}\n\t\t\t>\n\t\t\t\t{/* Top Add Button */}\n\t\t\t\t<div className=\"hubSidebar_content\">\n\t\t\t\t\t{/* Title */}\n\t\t\t\t\t{this.props.sections.map((section, i) => {\n\t\t\t\t\t\treturn this.renderSection(section, i);\n\t\t\t\t\t})}\n\t\t\t\t</div>\n\n\t\t\t\t{/* Help Guide Button. */}\n\t\t\t\t{this.renderHelpGuide()}\n\t\t\t</div>\n\t\t);\n\t}\n}\n\nconst mapStateToProps = (state) => {\n\treturn { auth: state.auth, isSideMenuOpen: state.nav.isSideMenuOpen };\n};\n\nlet exportObj = connect(mapStateToProps, { setNavData })(HubSidebar);\n\nexport { exportObj as HubSidebar };\n","import React, { Component } from \"react\";\nimport _ from \"lodash\";\nimport { Icon } from \"@plusscommunities/pluss-icons\";\nimport { Button } from \"./Button\";\nimport { COLOUR_DUSK_LIGHT } from \"../colours\";\n\nclass Popup extends Component {\n\trenderClose() {\n\t\tif (!this.props.onClose) {\n\t\t\treturn null;\n\t\t}\n\t\treturn (\n\t\t\t<Icon\n\t\t\t\tcolour={COLOUR_DUSK_LIGHT}\n\t\t\t\ticon=\"xmark\"\n\t\t\t\tclassName=\"popup_closeIcon\"\n\t\t\t\tonClick={this.props.onClose}\n\t\t\t/>\n\t\t);\n\t}\n\n\trenderTitle() {\n\t\tif (_.isEmpty(this.props.title)) {\n\t\t\treturn null;\n\t\t}\n\t\treturn <p className=\"popup_title\">{this.props.title}</p>;\n\t}\n\n\trenderSubtitle() {\n\t\tif (_.isEmpty(this.props.subtitle)) {\n\t\t\treturn null;\n\t\t}\n\t\treturn <p className=\"popup_subtitle\">{this.props.subtitle}</p>;\n\t}\n\n\trenderButtons() {\n\t\tif (_.isEmpty(this.props.buttons)) {\n\t\t\treturn null;\n\t\t}\n\t\tif (this.props.verticalButtonStack) {\n\t\t\treturn (\n\t\t\t\t<div\n\t\t\t\t\tclassName={`flex flex-1 marginTop-20${this.props.verticalButtonStack ? \" flex-column flex-center\" : \" flex-center-row\"}`}\n\t\t\t\t>\n\t\t\t\t\t{this.props.buttons.map((b, index) => {\n\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\tkey={index}\n\t\t\t\t\t\t\t\tbuttonType={b.type}\n\t\t\t\t\t\t\t\tstyle={{ marginLeft: 8, marginRight: 8, ...b.style }}\n\t\t\t\t\t\t\t\tclassName={b.className}\n\t\t\t\t\t\t\t\tonClick={b.onClick}\n\t\t\t\t\t\t\t\tisActive={b.isActive}\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t{b.loading ? <Icon pulse fixedWidth icon=\"spinner\" /> : b.text}\n\t\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t);\n\t\t\t\t\t})}\n\t\t\t\t</div>\n\t\t\t);\n\t\t}\n\t\treturn (\n\t\t\t<div className=\"popup_buttonSection\">\n\t\t\t\t{this.props.buttons.map((b, index) => {\n\t\t\t\t\treturn (\n\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\tkey={index}\n\t\t\t\t\t\t\tbuttonType={b.type}\n\t\t\t\t\t\t\tstyle={{ marginLeft: 16, ...b.style }}\n\t\t\t\t\t\t\tbuttonStyle={b.buttonStyle}\n\t\t\t\t\t\t\tclassName={b.className}\n\t\t\t\t\t\t\tonClick={b.onClick}\n\t\t\t\t\t\t\tisActive={b.isActive}\n\t\t\t\t\t\t\tleftIcon={b.leftIcon}\n\t\t\t\t\t\t\tleftIconType={b.leftIconType}\n\t\t\t\t\t\t\tleftIconColour={b.leftIconColour}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{b.loading ? <Icon pulse fixedWidth icon=\"spinner\" /> : b.text}\n\t\t\t\t\t\t</Button>\n\t\t\t\t\t);\n\t\t\t\t})}\n\t\t\t</div>\n\t\t);\n\t}\n\n\trender() {\n\t\treturn (\n\t\t\t<div className={`popup ${this.props.className}`}>\n\t\t\t\t<div\n\t\t\t\t\tclassName={`popup_box ${this.props.boxClasses}`}\n\t\t\t\t\tstyle={{\n\t\t\t\t\t\tmaxHeight: this.props.maxHeight ? this.props.maxHeight : \"auto\",\n\t\t\t\t\t\tmaxWidth: this.props.maxWidth ? this.props.maxWidth : \"auto\",\n\t\t\t\t\t\tminHeight: this.props.minHeight ? this.props.minHeight : \"auto\",\n\t\t\t\t\t\tminWidth: this.props.minWidth ? this.props.minWidth : \"auto\",\n\t\t\t\t\t}}\n\t\t\t\t>\n\t\t\t\t\t<div\n\t\t\t\t\t\tclassName={`popup_box_inner ${this.props.hasPadding ? \"popup_box-hasPadding\" : \"\"} ${this.props.innerClasses}`}\n\t\t\t\t\t>\n\t\t\t\t\t\t{this.renderClose()}\n\t\t\t\t\t\t{this.props.topContent}\n\t\t\t\t\t\t{this.renderTitle()}\n\t\t\t\t\t\t{this.renderSubtitle()}\n\t\t\t\t\t\t{this.props.children}\n\t\t\t\t\t</div>\n\t\t\t\t\t{this.renderButtons()}\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t);\n\t}\n}\n\nexport { Popup };\n","import React, { Component } from \"react\";\nimport { connect } from \"react-redux\";\nimport _ from \"lodash\";\nimport $ from \"jquery\";\nimport moment from \"moment\";\nimport Dropzone from \"react-dropzone\";\nimport { get1400, getThumb300, isVideo } from \"../helper\";\nimport { fileActions } from \"../apis\";\nimport { validateAccess, getApiError } from \"../session\";\nimport { Popup } from \"./Popup\";\nimport { Button } from \"./Button\";\nimport { GenericInput } from \"./GenericInput\";\nimport { Icon } from \"@plusscommunities/pluss-icons\";\n\nconst DEFAULT_INPUT = {\n\tuploadingImage: false,\n\tvalue: \"\",\n\tdisplayValue: \"\",\n};\n\nclass ImageInputComponent extends Component {\n\tstate = {\n\t\tselectedTab: \"upload\",\n\t\tinputs: [\n\t\t\t{\n\t\t\t\tuploadingImage: false,\n\t\t\t\tvalue: \"\",\n\t\t\t\tdisplayValue: \"\",\n\t\t\t},\n\t\t],\n\t\tlibraryLoadTriggered: false,\n\t\tlibraryLoaded: false,\n\t\timageLibrary: [],\n\t\tloadingFolders: false,\n\t\taddingFolder: false,\n\t\tdeletingFolder: {},\n\t\tdeletingImage: {},\n\t\tfolders: [],\n\t\taddFolderOpen: false,\n\t\taddFolderInput: \"\",\n\t\tselectedFolder: null,\n\t\tsaveErrorMessage: \"\",\n\t};\n\n\tUNSAFE_componentWillMount() {\n\t\tsetTimeout(() => {\n\t\t\tif (this.props.hasDefault) {\n\t\t\t\tthis.setState({\n\t\t\t\t\tinputs: [\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tuploadingImage: false,\n\t\t\t\t\t\t\tvalue: this.props.hasDefault,\n\t\t\t\t\t\t\tdisplayValue: this.props.hasDefault,\n\t\t\t\t\t\t},\n\t\t\t\t\t],\n\t\t\t\t});\n\t\t\t\tif (this.props.refreshCallback) {\n\t\t\t\t\tthis.props.refreshCallback(this.props.hasDefault);\n\t\t\t\t}\n\t\t\t}\n\t\t}, 100);\n\t}\n\n\tcomponentDidMount() {\n\t\tthis.getFolders();\n\t\tthis.getLibrary();\n\t}\n\n\tgetUploading(index) {\n\t\treturn this.state.inputs[index].uploadingImage;\n\t}\n\n\tgetValue() {\n\t\tif (this.props.multiple) {\n\t\t\treturn _.filter(\n\t\t\t\tthis.state.inputs.map((input) => {\n\t\t\t\t\treturn input.value;\n\t\t\t\t}),\n\t\t\t\t(url) => {\n\t\t\t\t\treturn !_.isEmpty(url);\n\t\t\t\t},\n\t\t\t);\n\t\t}\n\t\treturn this.state.inputs[0].value;\n\t}\n\n\tsetValue(val) {\n\t\tif (typeof val === \"string\") {\n\t\t\tthis.setState({\n\t\t\t\tinputs: [\n\t\t\t\t\t{\n\t\t\t\t\t\tuploadingImage: false,\n\t\t\t\t\t\tvalue: val,\n\t\t\t\t\t\tdisplayValue: val,\n\t\t\t\t\t},\n\t\t\t\t],\n\t\t\t});\n\t\t} else {\n\t\t\tconst inputs = [];\n\t\t\t_.forEach(val, (str) => {\n\t\t\t\tinputs.push({\n\t\t\t\t\tuploadingImage: false,\n\t\t\t\t\tvalue: str,\n\t\t\t\t\tdisplayValue: str,\n\t\t\t\t});\n\t\t\t});\n\t\t\tif (!this.props.limit || this.props.limit > inputs.length)\n\t\t\t\tinputs.push(DEFAULT_INPUT);\n\t\t\tthis.setState({ inputs });\n\t\t}\n\t}\n\n\tgetImageStyle(displayValue) {\n\t\tif (_.isEmpty(displayValue)) {\n\t\t\treturn null;\n\t\t}\n\t\tconst image = isVideo(displayValue) ? get1400(displayValue) : displayValue;\n\t\tif (this.props.noCompress) {\n\t\t\treturn { backgroundImage: `url(${image})`, backgroundSize: \"contain\" };\n\t\t}\n\t\treturn { backgroundImage: `url(${getThumb300(image)})` };\n\t}\n\n\tgetAccept = () => {\n\t\tconst accept = {\n\t\t\t\"image/*\": [\".jpeg\", \".png\"],\n\t\t};\n\t\tif (this.props.allowVideo) {\n\t\t\taccept[\"video/*\"] = [\".mp4\"];\n\t\t}\n\t\treturn accept;\n\t};\n\n\tgetContainerClasses() {\n\t\tlet result = this.props.className || \"\";\n\t\tif (this.props.noMenu) {\n\t\t\tresult += \" imageInputOuter-noMenu\";\n\t\t}\n\t\tif (!this.props.multiple) {\n\t\t\tresult += \" imageInputOuter-single\";\n\t\t}\n\t\tif (this.props.grid) {\n\t\t\tresult += \" imageInputOuter-grid\";\n\t\t}\n\t\treturn result;\n\t}\n\n\tgetClassNames(input, inputsLength) {\n\t\tlet classes = \"imageInput\";\n\t\tif (input.uploadingImage) {\n\t\t\tclasses += \" imageInput-uploading\";\n\t\t} else if (!_.isEmpty(input.value) && !this.props.onlyAllowUpload) {\n\t\t\tclasses += \" imageInput-hasImage\";\n\t\t}\n\t\tif (inputsLength === 1) {\n\t\t\tclasses += \" imageInput-only\";\n\t\t}\n\t\treturn classes;\n\t}\n\n\tgetErrorState() {\n\t\tif (!_.isUndefined(this.props.showError) && this.props.showError()) {\n\t\t\treturn \" imageInput_upload--error\";\n\t\t}\n\t\treturn \"\";\n\t}\n\n\trefreshFolders = async () => {\n\t\tconst res = await fileActions.getMediaFolders(this.props.auth.site);\n\t\treturn res.data;\n\t};\n\n\tgetFolders() {\n\t\tthis.setState({ loadingFolders: true }, async () => {\n\t\t\ttry {\n\t\t\t\tconst folders = await this.refreshFolders();\n\t\t\t\tthis.setState({ loadingFolders: false, folders });\n\t\t\t} catch (error) {\n\t\t\t\tconsole.log(\"getFolders - error\", error);\n\t\t\t\tthis.setState({ loadingFolders: false });\n\t\t\t}\n\t\t});\n\t}\n\n\tcheckRefreshCallback = (inputs) => {\n\t\tif (_.isUndefined(this.props.refreshCallback)) {\n\t\t\treturn;\n\t\t}\n\t\tif (!this.props.multiple) {\n\t\t\tconst image = _.find(inputs, (i) => {\n\t\t\t\treturn !i.uploadingImage && !_.isEmpty(i.value);\n\t\t\t});\n\t\t\tthis.props.refreshCallback(image ? image.value : undefined);\n\t\t} else {\n\t\t\tconst images = _.filter(inputs, (i) => {\n\t\t\t\treturn !i.uploadingImage && !_.isEmpty(i.value);\n\t\t\t}).map((i) => {\n\t\t\t\treturn i.value;\n\t\t\t});\n\t\t\tthis.props.refreshCallback(images);\n\t\t}\n\t};\n\n\tparseImagesArray = (images) => {\n\t\treturn _.map(images, (f) => {\n\t\t\tconst uri = typeof f === \"string\" ? f : f.uri;\n\t\t\tconst image1400 = get1400(uri);\n\t\t\treturn {\n\t\t\t\tValue: uri,\n\t\t\t\tThumb: getThumb300(uri),\n\t\t\t\t1400: image1400,\n\t\t\t\tSelected: _.some(\n\t\t\t\t\tthis.state.inputs,\n\t\t\t\t\t(input) => input.value === uri || input.value === image1400,\n\t\t\t\t),\n\t\t\t};\n\t\t});\n\t};\n\n\tgetLibrary() {\n\t\tif (this.state.libraryLoadTriggered) return;\n\n\t\tthis.setState({ libraryLoadTriggered: true }, async () => {\n\t\t\ttry {\n\t\t\t\tconst res = await fileActions.getMediaLibrary();\n\t\t\t\t// console.log('getLibrary', res.data);\n\t\t\t\tthis.setState({\n\t\t\t\t\tlibraryLoaded: true,\n\t\t\t\t\timageLibrary: this.parseImagesArray(res.data),\n\t\t\t\t});\n\t\t\t} catch (error) {\n\t\t\t\tconsole.log(\"getLibrary - error\", error);\n\t\t\t}\n\t\t});\n\t}\n\n\ttoggleLibraryItem(image) {\n\t\tconst newInputs = _.clone(this.state.inputs);\n\t\tif (image.Selected) {\n\t\t\t// Unselelct selected image\n\t\t\tconst index = _.findIndex(newInputs, (input) => {\n\t\t\t\treturn input.value === image.Value || input.value === image[1400];\n\t\t\t});\n\t\t\tif (index !== -1) {\n\t\t\t\tnewInputs.splice(index, 1);\n\t\t\t}\n\t\t\timage.Selected = false;\n\t\t} else {\n\t\t\t// Select unselected image\n\t\t\tconst newFile = {\n\t\t\t\tuploadingImage: false,\n\t\t\t\tvalue: image.Value,\n\t\t\t\tdisplayValue: image[1400],\n\t\t\t\tfromLibrary: true,\n\t\t\t};\n\t\t\tif (!this.props.multiple) {\n\t\t\t\tnewInputs[newInputs.length - 1] = newFile;\n\t\t\t\t// Single image selector -> Unselect others\n\t\t\t\tthis.state.imageLibrary.map((i) => (i.Selected = false));\n\t\t\t\tif (this.state.selectedFolder && this.state.selectedFolder.parsedImages)\n\t\t\t\t\tthis.state.selectedFolder.parsedImages.map(\n\t\t\t\t\t\t(i) => (i.Selected = false),\n\t\t\t\t\t);\n\t\t\t\timage.Selected = true;\n\t\t\t} else if (!(this.props.limit && newInputs.length === this.props.limit)) {\n\t\t\t\tnewInputs.splice(newInputs.length - 1, 0, newFile);\n\t\t\t\timage.Selected = true;\n\t\t\t}\n\t\t}\n\n\t\tif (_.isEmpty(newInputs)) newInputs.push(DEFAULT_INPUT);\n\t\tthis.setState({\n\t\t\tinputs: newInputs,\n\t\t\timageLibrary: _.clone(this.state.imageLibrary),\n\t\t\tselectedFolder: this.state.selectedFolder\n\t\t\t\t? _.clone(this.state.selectedFolder)\n\t\t\t\t: undefined,\n\t\t});\n\t\tthis.checkRefreshCallback(newInputs);\n\t}\n\n\taddFolder = () => {\n\t\tthis.setState({ addFolderOpen: true }, () => {\n\t\t\tconst input = document.getElementById(\"addFolderInput\");\n\t\t\tif (input) input.focus();\n\t\t});\n\t};\n\n\tcancelAddStates = {\n\t\taddFolderOpen: false,\n\t\taddFolderInput: \"\",\n\t\tsaveErrorMessage: \"\",\n\t};\n\tcancelAddFolder = () => {\n\t\tthis.setState(this.cancelAddStates);\n\t};\n\n\tsaveFolder = () => {\n\t\tthis.setState({ addingFolder: true }, async () => {\n\t\t\ttry {\n\t\t\t\tawait fileActions.addMediaFolder(\n\t\t\t\t\tthis.props.auth.site,\n\t\t\t\t\tthis.state.addFolderInput,\n\t\t\t\t);\n\t\t\t\tconst folders = await this.refreshFolders();\n\t\t\t\tthis.setState({\n\t\t\t\t\taddingFolder: false,\n\t\t\t\t\tfolders,\n\t\t\t\t\t...this.cancelAddStates,\n\t\t\t\t});\n\t\t\t} catch (error) {\n\t\t\t\tconsole.log(\"addFolder - error\", error);\n\t\t\t\tthis.setState({\n\t\t\t\t\taddingFolder: false,\n\t\t\t\t\tsaveErrorMessage: getApiError(error).message,\n\t\t\t\t});\n\t\t\t}\n\t\t});\n\t};\n\n\tisStockFolder = (folder) => {\n\t\tif (!folder) folder = this.state.selectedFolder;\n\t\treturn folder && _.isNil(folder.RowId);\n\t};\n\n\tselectFolder = (selectedFolder) => {\n\t\tif (!this.isStockFolder(selectedFolder)) {\n\t\t\tselectedFolder.parsedImages = this.parseImagesArray(\n\t\t\t\tselectedFolder.Images,\n\t\t\t);\n\t\t}\n\t\tthis.setState({ selectedFolder });\n\t};\n\n\tselectRoot = () => {\n\t\tthis.getFolders();\n\t\tthis.setState({ selectedFolder: null });\n\t};\n\n\tcheckSetDisplayValue(input, value) {\n\t\tconst displayValue = get1400(value);\n\t\tconst storeValue =\n\t\t\tisVideo(value) || this.props.noCompress ? value : get1400(value);\n\t\t$(\"<img/>\")\n\t\t\t.attr(\"src\", `${displayValue}?t=${moment().valueOf()}`)\n\t\t\t.on(\"load\", () => {\n\t\t\t\t$(this).remove();\n\t\t\t\tinput.value = storeValue;\n\t\t\t\tinput.displayValue = storeValue;\n\t\t\t\tinput.uploadingImage = false;\n\t\t\t\tconst newInputs = _.clone(this.state.inputs);\n\t\t\t\tthis.setState({ inputs: newInputs }, () => {\n\t\t\t\t\tconst { selectedTab, selectedFolder } = this.state;\n\t\t\t\t\tif (selectedTab === \"library\" && selectedFolder) {\n\t\t\t\t\t\t// Uploading to a user folder\n\t\t\t\t\t\tconst { RowId, Images } = selectedFolder;\n\t\t\t\t\t\tconst images = [...Images, value];\n\t\t\t\t\t\tfileActions\n\t\t\t\t\t\t\t.addImagesToFolder(RowId, this.props.auth.site, [value])\n\t\t\t\t\t\t\t.catch((error) => {\n\t\t\t\t\t\t\t\tconsole.log(\"addImagesToFolder error\", error);\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\tselectedFolder.Images = images;\n\t\t\t\t\t\tselectedFolder.parsedImages = this.parseImagesArray(images);\n\t\t\t\t\t\tthis.setState({ selectedFolder: _.clone(selectedFolder) });\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t\tthis.checkRefreshCallback(newInputs);\n\t\t\t})\n\t\t\t.on(\"error\", () => {\n\t\t\t\t$(this).remove();\n\t\t\t\tsetTimeout(() => {\n\t\t\t\t\tthis.checkSetDisplayValue(input, value);\n\t\t\t\t}, 200);\n\t\t\t});\n\t}\n\n\tonDrop = (files, fromLibrary = false) => {\n\t\tif (this.props.multiple) {\n\t\t\tconst newInputs = _.clone(this.state.inputs);\n\t\t\tfiles.forEach((file) => {\n\t\t\t\tif (this.props.limit && newInputs.length === this.props.limit) {\n\t\t\t\t\t// hit limit - replace last input if it's empty\n\t\t\t\t\tif (_.isEmpty(newInputs[newInputs.length - 1].value)) {\n\t\t\t\t\t\tconst newInput = newInputs[newInputs.length - 1];\n\t\t\t\t\t\tthis.handleFile(newInput, file);\n\t\t\t\t\t}\n\t\t\t\t} else {\n\t\t\t\t\tconst newInput = {\n\t\t\t\t\t\t...DEFAULT_INPUT,\n\t\t\t\t\t\tfromLibrary,\n\t\t\t\t\t};\n\t\t\t\t\tnewInputs.splice(newInputs.length - 1, 0, newInput);\n\t\t\t\t\tthis.handleFile(newInput, file);\n\t\t\t\t}\n\t\t\t});\n\t\t\tthis.setState({\n\t\t\t\tinputs: newInputs,\n\t\t\t});\n\t\t\tthis.checkRefreshCallback(newInputs);\n\t\t} else {\n\t\t\tthis.handleFile(this.state.inputs[0], files[0]);\n\t\t}\n\t};\n\n\thandleFile = async (input, file) => {\n\t\tif (!file || input.uploadingImage) {\n\t\t\treturn;\n\t\t}\n\t\tinput.uploadingImage = true;\n\t\tconst newInputs = _.clone(this.state.inputs);\n\t\tthis.setState({\n\t\t\tinputs: newInputs,\n\t\t});\n\t\tthis.checkRefreshCallback(newInputs);\n\t\ttry {\n\t\t\tlet uploadFile = file;\n\t\t\tif (!isVideo(file.name)) {\n\t\t\t\tuploadFile = await fileActions.compressImage(\n\t\t\t\t\tfile,\n\t\t\t\t\tthis.props.maxSize || 1400,\n\t\t\t\t\tthis.props.quality || 0.8,\n\t\t\t\t\tthis.props.noCompress || false,\n\t\t\t\t);\n\t\t\t}\n\t\t\tconst url = await fileActions.uploadMediaAsync(\n\t\t\t\tuploadFile,\n\t\t\t\tuploadFile.name,\n\t\t\t);\n\t\t\tthis.checkSetDisplayValue(input, url);\n\t\t} catch (error) {\n\t\t\tconsole.log(\"handleFile error\", error);\n\t\t\tthis.setState({ uploadingImage: false });\n\t\t}\n\t};\n\n\tremoveImage(input) {\n\t\tconst newState = {};\n\t\tif (input.fromLibrary) {\n\t\t\tinput.fromLibrary = undefined;\n\t\t\tconst selectedFolderImages = this.state.selectedFolder\n\t\t\t\t? this.state.selectedFolder.parsedImages\n\t\t\t\t: [];\n\t\t\tconst imageList = this.isStockFolder()\n\t\t\t\t? this.state.imageLibrary\n\t\t\t\t: selectedFolderImages;\n\t\t\tconst libraryFile = _.find(imageList, (f) => {\n\t\t\t\treturn f.Value === input.value || f[1400] === input.value;\n\t\t\t});\n\t\t\tif (libraryFile) {\n\t\t\t\tlibraryFile.Selected = false;\n\t\t\t\tif (this.isStockFolder()) {\n\t\t\t\t\tnewState.imageLibrary = _.clone(this.state.imageLibrary);\n\t\t\t\t} else {\n\t\t\t\t\tnewState.selectedFolder = this.state.selectedFolder\n\t\t\t\t\t\t? _.clone(this.state.selectedFolder)\n\t\t\t\t\t\t: undefined;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\tinput.value = \"\";\n\t\tinput.displayValue = \"\";\n\n\t\tconst newInputs = _.clone(this.state.inputs);\n\n\t\tif (newInputs.length > 1) {\n\t\t\tnewInputs.splice(newInputs.indexOf(input), 1);\n\t\t\tif (\n\t\t\t\tnewInputs.length === this.props.limit - 1 &&\n\t\t\t\t!_.isEmpty(newInputs[newInputs.length - 1].value)\n\t\t\t) {\n\t\t\t\t// was full\n\t\t\t\tnewInputs.push(DEFAULT_INPUT);\n\t\t\t}\n\t\t}\n\n\t\tnewState.inputs = newInputs;\n\n\t\tthis.setState(newState);\n\n\t\tthis.checkRefreshCallback(newInputs);\n\t}\n\n\tselectTab(tab) {\n\t\tthis.setState({ selectedTab: tab });\n\t}\n\n\thandleChange = (event) => {\n\t\tvar stateChange = {};\n\t\tstateChange[event.target.getAttribute(\"id\")] = event.target.value;\n\t\tthis.setState(stateChange);\n\t};\n\n\tdeleteFolder = (event, folder) => {\n\t\tevent.stopPropagation();\n\n\t\tif (window.confirm(`Are you sure you want to delete ${folder.Name}?`)) {\n\t\t\tconst deletingFolder = { ...this.state.deletingFolder };\n\t\t\tdeletingFolder[folder.RowId] = true;\n\t\t\tthis.setState(\n\t\t\t\t{ deletingFolder: _.clone(deletingFolder), ...this.cancelAddStates },\n\t\t\t\tasync () => {\n\t\t\t\t\ttry {\n\t\t\t\t\t\tawait fileActions.deleteMediaFolder(\n\t\t\t\t\t\t\tfolder.RowId,\n\t\t\t\t\t\t\tthis.props.auth.site,\n\t\t\t\t\t\t);\n\t\t\t\t\t\tconst folders = await this.refreshFolders();\n\t\t\t\t\t\tdeletingFolder[folder.RowId] = false;\n\t\t\t\t\t\tthis.setState({\n\t\t\t\t\t\t\tdeletingFolder: _.clone(deletingFolder),\n\t\t\t\t\t\t\tfolders,\n\t\t\t\t\t\t});\n\t\t\t\t\t} catch (error) {\n\t\t\t\t\t\tconsole.log(\"addFolder - error\", getApiError(error));\n\t\t\t\t\t\tdeletingFolder[folder.RowId] = false;\n\t\t\t\t\t\tthis.setState({ deletingFolder: _.clone(deletingFolder) });\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t);\n\t\t}\n\t};\n\n\tdeleteImage = (event, image) => {\n\t\tif (window.confirm(\"Are you sure you want to delete the image?\")) {\n\t\t\t// Unselect the image first if selected\n\t\t\tif (image.Selected) this.toggleLibraryItem(image);\n\n\t\t\tconst deletingImage = { ...this.state.deletingImage };\n\t\t\tdeletingImage[image.Value] = true;\n\t\t\tthis.setState({ deletingImage: _.clone(deletingImage) }, async () => {\n\t\t\t\ttry {\n\t\t\t\t\tconst { selectedFolder } = this.state;\n\t\t\t\t\tconst { RowId, Images } = selectedFolder;\n\t\t\t\t\tawait fileActions.deleteImagesFromFolder(\n\t\t\t\t\t\tRowId,\n\t\t\t\t\t\tthis.props.auth.site,\n\t\t\t\t\t\t[image.Value],\n\t\t\t\t\t);\n\t\t\t\t\tconst images = Images.filter((i) => i.uri !== image.Value);\n\t\t\t\t\tselectedFolder.Images = images;\n\t\t\t\t\tselectedFolder.parsedImages = this.parseImagesArray(images);\n\t\t\t\t\tdeletingImage[image.Value] = false;\n\t\t\t\t\tthis.setState({\n\t\t\t\t\t\tdeletingImage: _.clone(deletingImage),\n\t\t\t\t\t\tselectedFolder: _.clone(selectedFolder),\n\t\t\t\t\t});\n\t\t\t\t} catch (error) {\n\t\t\t\t\tconsole.log(\"deleteImage - error\", getApiError(error));\n\t\t\t\t\tdeletingImage[image.Value] = false;\n\t\t\t\t\tthis.setState({ deletingImage: _.clone(deletingImage) });\n\t\t\t\t}\n\t\t\t});\n\t\t}\n\t};\n\n\tcanManageLibrary = () => {\n\t\treturn validateAccess(\n\t\t\tthis.props.auth.site,\n\t\t\t\"manageImageLibrary\",\n\t\t\tthis.props.auth,\n\t\t);\n\t};\n\n\tcanAddImageToLibrary = () => {\n\t\treturn validateAccess(\n\t\t\tthis.props.auth.site,\n\t\t\t\"addToImageLibrary\",\n\t\t\tthis.props.auth,\n\t\t);\n\t};\n\n\trenderInput(input, index, inputsLength) {\n\t\tconst renderContent = () => {\n\t\t\tif (this.props.onlyAllowUpload) {\n\t\t\t\treturn null;\n\t\t\t}\n\t\t\tif (isVideo(input.displayValue)) {\n\t\t\t\treturn (\n\t\t\t\t\t<video\n\t\t\t\t\t\tclassName=\"imageInput_image\"\n\t\t\t\t\t\tstyle={this.props.style}\n\t\t\t\t\t\tcontrols\n\t\t\t\t\t\tsrc={input.displayValue}\n\t\t\t\t\t/>\n\t\t\t\t);\n\t\t\t}\n\t\t\tif (\n\t\t\t\tthis.props.simpleStyle &&\n\t\t\t\t!_.isEmpty(input.displayValue) &&\n\t\t\t\t!input.uploadingImage\n\t\t\t) {\n\t\t\t\treturn (\n\t\t\t\t\t<div className=\"imageInput_simpleContainer\">\n\t\t\t\t\t\t<div\n\t\t\t\t\t\t\tclassName=\"imageInput_image\"\n\t\t\t\t\t\t\tstyle={{\n\t\t\t\t\t\t\t\t...this.getImageStyle(input.displayValue),\n\t\t\t\t\t\t\t\t...this.props.style,\n\t\t\t\t\t\t\t\t// height: this.props.style && this.props.style.height ? this.props.style.height : 80,\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<Dropzone\n\t\t\t\t\t\t\t\tdisabled={this.props.disabled}\n\t\t\t\t\t\t\t\taccept={this.getAccept()}\n\t\t\t\t\t\t\t\tonDrop={(files) => this.onDrop(files, true)}\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t{(state) => {\n\t\t\t\t\t\t\t\t\tconst { getRootProps, getInputProps } = state;\n\n\t\t\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t\t\t\t\tclassName=\"imageInput_buttonContainer-simple\"\n\t\t\t\t\t\t\t\t\t\t\t{...getRootProps()}\n\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t<input {...getInputProps()} />\n\t\t\t\t\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\t\t\t\t\tbuttonType=\"secondary\"\n\t\t\t\t\t\t\t\t\t\t\t\tclassName=\"imageInput_button imageInput_button-simple\"\n\t\t\t\t\t\t\t\t\t\t\t\tdisabled\n\t\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t\tChange image\n\t\t\t\t\t\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t</Dropzone>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</div>\n\t\t\t\t);\n\t\t\t}\n\t\t\treturn (\n\t\t\t\t<div\n\t\t\t\t\tclassName=\"imageInput_image\"\n\t\t\t\t\tstyle={{\n\t\t\t\t\t\t...this.getImageStyle(input.displayValue),\n\t\t\t\t\t\t...this.props.style,\n\t\t\t\t\t}}\n\t\t\t\t></div>\n\t\t\t);\n\t\t};\n\n\t\tconst renderRemove = () => {\n\t\t\treturn (\n\t\t\t\t!this.props.disableRemove &&\n\t\t\t\t!this.props.disabled &&\n\t\t\t\t(this.props.simpleStyle ? (\n\t\t\t\t\t<Icon\n\t\t\t\t\t\ticon=\"xmark\"\n\t\t\t\t\t\tclassName=\"imageInput_removeIcon\"\n\t\t\t\t\t\tonClick={this.removeImage.bind(this, input)}\n\t\t\t\t\t/>\n\t\t\t\t) : (\n\t\t\t\t\t<p\n\t\t\t\t\t\tclassName=\"imageInput_remove\"\n\t\t\t\t\t\tonClick={this.removeImage.bind(this, input)}\n\t\t\t\t\t>\n\t\t\t\t\t\tremove\n\t\t\t\t\t</p>\n\t\t\t\t))\n\t\t\t);\n\t\t};\n\n\t\tconst renderDownload = () => {\n\t\t\tif (isVideo(input.displayValue)) return null;\n\t\t\tif (this.props.noDownload) return null;\n\t\t\treturn (\n\t\t\t\t<a href={input.value} target=\"_blank\" className=\"imageInput_download\">\n\t\t\t\t\t<img\n\t\t\t\t\t\talt=\"\"\n\t\t\t\t\t\tclassName=\"dlicon\"\n\t\t\t\t\t\tsrc=\"https://pluss60-dev-uploads.s3.ap-southeast-2.amazonaws.com/uploads/users/ap-southeast-2:efbab8db-136a-446e-b14a-d00af0067841/public/025971e94153af280049fdf3e3/downloadicon.png\"\n\t\t\t\t\t></img>\n\t\t\t\t</a>\n\t\t\t);\n\t\t};\n\n\t\tconst mediaText = this.props.allowVideo\n\t\t\t? \"media\"\n\t\t\t: `image${this.props.multiple ? \"s\" : \"\"}`;\n\t\treturn (\n\t\t\t<div\n\t\t\t\tkey={index}\n\t\t\t\tclassName={this.getClassNames(input, inputsLength)}\n\t\t\t\tstyle={{ ...this.props.style }}\n\t\t\t>\n\t\t\t\t<Dropzone\n\t\t\t\t\tdisabled={this.props.disabled}\n\t\t\t\t\taccept={this.getAccept()}\n\t\t\t\t\tonDrop={this.onDrop}\n\t\t\t\t>\n\t\t\t\t\t{(state) => {\n\t\t\t\t\t\tconst { getRootProps, getInputProps, isDragActive } = state;\n\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t\tstyle={{ ...this.props.style }}\n\t\t\t\t\t\t\t\tclassName={`imageInput_upload ${this.getErrorState()}`}\n\t\t\t\t\t\t\t\t{...getRootProps()}\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t<input {...getInputProps()} />\n\t\t\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t\t\tclassName={`${isDragActive ? \"imageInput_dropZoneActive\" : \"\"} ${\n\t\t\t\t\t\t\t\t\t\tthis.props.horizontalText\n\t\t\t\t\t\t\t\t\t\t\t? \" imageInput_horizontalText\"\n\t\t\t\t\t\t\t\t\t\t\t: \"\"\n\t\t\t\t\t\t\t\t\t}`}\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t{!this.props.simpleStyle && (\n\t\t\t\t\t\t\t\t\t\t<img\n\t\t\t\t\t\t\t\t\t\t\tsrc=\"https://s3-ap-southeast-2.amazonaws.com/pluss60-dev-media/pluss/document.svg\"\n\t\t\t\t\t\t\t\t\t\t\tclassName=\"imageInput_icon\"\n\t\t\t\t\t\t\t\t\t\t\talt=\"file\"\n\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t\t<p className=\"imageInput_helpText\">\n\t\t\t\t\t\t\t\t\t\t{isDragActive\n\t\t\t\t\t\t\t\t\t\t\t? `Drop ${mediaText} here`\n\t\t\t\t\t\t\t\t\t\t\t: `Drag and drop ${mediaText} or`}\n\t\t\t\t\t\t\t\t\t</p>\n\t\t\t\t\t\t\t\t\t{!isDragActive && (\n\t\t\t\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\t\t\t\tbuttonType=\"secondary\"\n\t\t\t\t\t\t\t\t\t\t\tclassName=\"imageInput_button\"\n\t\t\t\t\t\t\t\t\t\t\tdisabled\n\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t{this.props.multiple\n\t\t\t\t\t\t\t\t\t\t\t\t? `Upload ${mediaText}`\n\t\t\t\t\t\t\t\t\t\t\t\t: `Upload an ${mediaText}`}\n\t\t\t\t\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t);\n\t\t\t\t\t}}\n\t\t\t\t</Dropzone>\n\t\t\t\t<div className=\"imageInput_uploading\" style={{ ...this.props.style }}>\n\t\t\t\t\t<Icon\n\t\t\t\t\t\tpulse\n\t\t\t\t\t\tfixedWidth\n\t\t\t\t\t\tclassName=\"spinner imageInput_spinner\"\n\t\t\t\t\t\ticon=\"spinner\"\n\t\t\t\t\t/>\n\t\t\t\t</div>\n\t\t\t\t{renderContent()}\n\t\t\t\t{renderRemove()}\n\t\t\t\t{renderDownload()}\n\t\t\t</div>\n\t\t);\n\t}\n\n\trenderLibraryImage(image, index, allowDelete) {\n\t\t// console.log(image);\n\t\tlet classes = \"imageInput imageInput-hasImage imageInput-libraryImage\";\n\t\tif (image.Selected) {\n\t\t\tclasses += \" imageInput-librarySelected\";\n\t\t}\n\t\tif (\n\t\t\tthis.props.multiple &&\n\t\t\tthis.props.limit &&\n\t\t\tthis.state.inputs.length === this.props.limit\n\t\t) {\n\t\t\tclasses += \" imageInput-libraryDisabled\";\n\t\t}\n\t\treturn (\n\t\t\t<div key={index} className={classes}>\n\t\t\t\t<div\n\t\t\t\t\tclassName=\"imageInput_image\"\n\t\t\t\t\tstyle={{ ...this.getImageStyle(image[1400]) }}\n\t\t\t\t\tonClick={this.toggleLibraryItem.bind(this, image)}\n\t\t\t\t></div>\n\t\t\t\t<div className=\"imageInput_selected\">\n\t\t\t\t\t<Icon className=\"imageInput_selectedIcon\" icon=\"check\" />\n\t\t\t\t</div>\n\t\t\t\t{allowDelete && (\n\t\t\t\t\t<div className=\"imageInput_delete\">\n\t\t\t\t\t\t{this.state.deletingImage[image.Value] ? (\n\t\t\t\t\t\t\t<Icon\n\t\t\t\t\t\t\t\tstyle={styles.saveImageSpinner}\n\t\t\t\t\t\t\t\tfixedWidth\n\t\t\t\t\t\t\t\tpulse\n\t\t\t\t\t\t\t\ticon=\"spinner\"\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t<Icon\n\t\t\t\t\t\t\t\tclassName=\"imageInput_deleteIcon\"\n\t\t\t\t\t\t\t\ticon=\"circle-minus\"\n\t\t\t\t\t\t\t\tonClick={(event) => this.deleteImage(event, image)}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t)}\n\t\t\t\t\t</div>\n\t\t\t\t)}\n\t\t\t</div>\n\t\t);\n\t}\n\n\trenderError() {\n\t\tif (!_.isUndefined(this.props.showError) && this.props.showError()) {\n\t\t\treturn (\n\t\t\t\t<div className={\"fieldLabel fieldLabel-warning\"}>\n\t\t\t\t\t{this.props.errorMessage ? this.props.errorMessage : \"Required\"}\n\t\t\t\t</div>\n\t\t\t);\n\t\t}\n\t\treturn null;\n\t}\n\n\trenderMenu() {\n\t\tif (this.props.noMenu || this.props.disabled) {\n\t\t\treturn null;\n\t\t}\n\t\treturn (\n\t\t\t<div className=\"imageInputMenu\">\n\t\t\t\t<p\n\t\t\t\t\tclassName={`imageInputMenu__option ${this.state.selectedTab === \"upload\" ? \"imageInputMenu__option--selected\" : \"\"}`}\n\t\t\t\t\tonClick={() => {\n\t\t\t\t\t\tthis.selectTab(\"upload\");\n\t\t\t\t\t}}\n\t\t\t\t>\n\t\t\t\t\tUPLOAD\n\t\t\t\t</p>\n\t\t\t\t<p\n\t\t\t\t\tclassName={`imageInputMenu__option ${this.state.selectedTab === \"library\" ? \"imageInputMenu__option--selected\" : \"\"}`}\n\t\t\t\t\tonClick={() => {\n\t\t\t\t\t\tthis.selectTab(\"library\");\n\t\t\t\t\t}}\n\t\t\t\t>\n\t\t\t\t\tLIBRARY\n\t\t\t\t</p>\n\t\t\t</div>\n\t\t);\n\t}\n\n\trenderAddFolder() {\n\t\tconst isSaving = this.state.addingFolder;\n\n\t\tif (this.state.addFolderOpen) {\n\t\t\treturn (\n\t\t\t\t<div className={\"imageFolderContainer\"}>\n\t\t\t\t\t<Icon icon={\"folder\"} className={\"folderIcon\"} />\n\t\t\t\t\t<GenericInput\n\t\t\t\t\t\tid=\"addFolderInput\"\n\t\t\t\t\t\ttype=\"text\"\n\t\t\t\t\t\tplaceholder=\"Enter folder name here\"\n\t\t\t\t\t\tvalue={this.state.addFolderInput}\n\t\t\t\t\t\tonChange={this.handleChange}\n\t\t\t\t\t\tstyle={styles.addFolderInputContainer}\n\t\t\t\t\t\tinputStyle={styles.addFolderInputText}\n\t\t\t\t\t\treadOnly={isSaving}\n\t\t\t\t\t\tshowError={() => !_.isEmpty(this.state.saveErrorMessage)}\n\t\t\t\t\t\terrorMessage={this.state.saveErrorMessage}\n\t\t\t\t\t/>\n\t\t\t\t\t{isSaving ? (\n\t\t\t\t\t\t<div className={\"addControlContainer\"}>\n\t\t\t\t\t\t\t<Icon\n\t\t\t\t\t\t\t\tstyle={styles.saveFolderSpinner}\n\t\t\t\t\t\t\t\ticon=\"spinner\"\n\t\t\t\t\t\t\t\tpulse\n\t\t\t\t\t\t\t\tfixedWidth\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t) : (\n\t\t\t\t\t\t<div className={\"addControlContainer\"}>\n\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\tinline\n\t\t\t\t\t\t\t\tbuttonType=\"secondary\"\n\t\t\t\t\t\t\t\tonClick={this.cancelAddFolder}\n\t\t\t\t\t\t\t\tstyle={styles.addFolderCancel}\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\tCancel\n\t\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\tinline\n\t\t\t\t\t\t\t\tbuttonType=\"primary\"\n\t\t\t\t\t\t\t\tisActive={!_.isEmpty(this.state.addFolderInput)}\n\t\t\t\t\t\t\t\tonClick={this.saveFolder}\n\t\t\t\t\t\t\t\tstyle={styles.addFolderSave}\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\tSave\n\t\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t)}\n\t\t\t\t</div>\n\t\t\t);\n\t\t}\n\t\treturn (\n\t\t\t<div className={\"imageFolderContainer\"} onClick={this.addFolder}>\n\t\t\t\t<Icon icon={\"plus\"} className={\"addIcon\"} />\n\t\t\t\t<div className={\"addText\"}>Add New Folder</div>\n\t\t\t</div>\n\t\t);\n\t}\n\n\trenderFolder(folder, index) {\n\t\tconst timeStamp = moment(folder.Timestamp).format(\"DD MMM, YYYY, h:mma\");\n\t\tconst countText = `${folder.Images ? folder.Images.length : 0} images`;\n\n\t\treturn (\n\t\t\t<div\n\t\t\t\tkey={index}\n\t\t\t\tclassName={\"imageFolderContainer\"}\n\t\t\t\tonClick={this.selectFolder.bind(this, folder)}\n\t\t\t>\n\t\t\t\t<Icon icon={\"folder\"} className={\"folderIcon\"} />\n\t\t\t\t<div className={\"folderTitle\"}>{folder.Name}</div>\n\t\t\t\t{!this.isStockFolder(folder) && (\n\t\t\t\t\t<div className={\"folderAttributeGroup\"}>\n\t\t\t\t\t\t<div className={\"folderAttribute\"}>\n\t\t\t\t\t\t\t{folder.User && folder.User.displayName}\n\t\t\t\t\t\t</div>\n\t\t\t\t\t\t<div className={\"folderAttribute\"} style={{ width: \"130px\" }}>\n\t\t\t\t\t\t\t{timeStamp}\n\t\t\t\t\t\t</div>\n\t\t\t\t\t\t<div\n\t\t\t\t\t\t\tclassName={\"folderAttribute\"}\n\t\t\t\t\t\t\tstyle={{ textAlign: \"right\", paddingRight: \"5px\" }}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{countText}\n\t\t\t\t\t\t</div>\n\t\t\t\t\t\t{this.state.deletingFolder[folder.RowId] ? (\n\t\t\t\t\t\t\t<Icon\n\t\t\t\t\t\t\t\tstyle={styles.saveFolderSpinner}\n\t\t\t\t\t\t\t\ticon=\"spinner\"\n\t\t\t\t\t\t\t\tpulse\n\t\t\t\t\t\t\t\tfixedWidth\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\tthis.canManageLibrary() && (\n\t\t\t\t\t\t\t\t<a onClick={(event) => this.deleteFolder(event, folder)}>\n\t\t\t\t\t\t\t\t\t<Icon style={styles.removeFolderButton} icon=\"circle-minus\" />\n\t\t\t\t\t\t\t\t</a>\n\t\t\t\t\t\t\t)\n\t\t\t\t\t\t)}\n\t\t\t\t\t</div>\n\t\t\t\t)}\n\t\t\t</div>\n\t\t);\n\t}\n\n\trenderFolders() {\n\t\treturn (\n\t\t\t<div className={`imageInputContainer imageInputContainer-library`}>\n\t\t\t\t{this.canAddImageToLibrary() && this.renderAddFolder()}\n\t\t\t\t{this.state.folders.map((folder, index) => {\n\t\t\t\t\treturn this.renderFolder(folder, index);\n\t\t\t\t})}\n\t\t\t</div>\n\t\t);\n\t}\n\n\trenderBreadCrumbs() {\n\t\treturn (\n\t\t\t<div className={\"imageBreadCrumb\"}>\n\t\t\t\t<div className={\"root\"} onClick={this.selectRoot}>\n\t\t\t\t\tLibrary\n\t\t\t\t</div>\n\t\t\t\t<Icon icon={\"angle-left\"} className={\"separator\"} />\n\t\t\t\t<div className={\"folder\"}>{this.state.selectedFolder.Name}</div>\n\t\t\t</div>\n\t\t);\n\t}\n\n\trenderFolderImages() {\n\t\tconst stockFolder = this.isStockFolder();\n\t\tconst canDelete = !stockFolder && this.canManageLibrary();\n\t\tconst uploadingImages = this.state.inputs.filter((i) => i.uploadingImage);\n\t\tconst mediaText = this.props.allowVideo\n\t\t\t? \"media\"\n\t\t\t: `image${this.props.multiple ? \"s\" : \"\"}`;\n\n\t\treturn (\n\t\t\t<div\n\t\t\t\tclassName={`imageInputContainer imageInputContainer-library`}\n\t\t\t\tstyle={{ ...this.props.style }}\n\t\t\t>\n\t\t\t\t{this.renderBreadCrumbs()}\n\t\t\t\t{stockFolder ? (\n\t\t\t\t\tthis.state.imageLibrary.map((image, index) => {\n\t\t\t\t\t\treturn this.renderLibraryImage(image, index);\n\t\t\t\t\t})\n\t\t\t\t) : (\n\t\t\t\t\t<div>\n\t\t\t\t\t\t{this.canAddImageToLibrary() && (\n\t\t\t\t\t\t\t<Dropzone\n\t\t\t\t\t\t\t\tdisabled={this.props.disabled}\n\t\t\t\t\t\t\t\taccept={this.getAccept()}\n\t\t\t\t\t\t\t\tonDrop={(files) => this.onDrop(files, true)}\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t{(state) => {\n\t\t\t\t\t\t\t\t\tconst { getRootProps, getInputProps, isDragActive } = state;\n\t\t\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t\t\t\t\tstyle={{ padding: \"15px\" }}\n\t\t\t\t\t\t\t\t\t\t\tclassName={`imageInput_upload folder ${this.getErrorState()}`}\n\t\t\t\t\t\t\t\t\t\t\t{...getRootProps()}\n\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t<input {...getInputProps()} />\n\t\t\t\t\t\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t\t\t\t\t\tclassName={\n\t\t\t\t\t\t\t\t\t\t\t\t\tisDragActive ? \"imageInput_dropZoneActive\" : \"\"\n\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t\t<img\n\t\t\t\t\t\t\t\t\t\t\t\t\tsrc=\"https://s3-ap-southeast-2.amazonaws.com/pluss60-dev-media/pluss/document.svg\"\n\t\t\t\t\t\t\t\t\t\t\t\t\tclassName=\"imageInput_icon\"\n\t\t\t\t\t\t\t\t\t\t\t\t\talt=\"file\"\n\t\t\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t\t\t\t<p className=\"imageInput_helpText\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t{isDragActive\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t? `Drop ${mediaText} here`\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t: `Drag and drop ${mediaText} or`}\n\t\t\t\t\t\t\t\t\t\t\t\t</p>\n\t\t\t\t\t\t\t\t\t\t\t\t{!isDragActive && (\n\t\t\t\t\t\t\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tbuttonType=\"secondary\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tclassName=\"imageInput_button\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tdisabled\n\t\t\t\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t{this.props.multiple\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t? `Upload ${mediaText}`\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t: `Upload an ${mediaText}`}\n\t\t\t\t\t\t\t\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t</Dropzone>\n\t\t\t\t\t\t)}\n\t\t\t\t\t\t{this.state.selectedFolder.parsedImages.map((image, index) => {\n\t\t\t\t\t\t\treturn this.renderLibraryImage(image, index, canDelete);\n\t\t\t\t\t\t})}\n\t\t\t\t\t\t{!_.isNil(uploadingImages) &&\n\t\t\t\t\t\t\tuploadingImages.map((input, index) => {\n\t\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t\t<div key={index} className={this.getClassNames(input)}>\n\t\t\t\t\t\t\t\t\t\t<div className=\"imageInput_uploading\">\n\t\t\t\t\t\t\t\t\t\t\t<Icon\n\t\t\t\t\t\t\t\t\t\t\t\tclassName=\"spinner imageInput_spinner\"\n\t\t\t\t\t\t\t\t\t\t\t\ticon=\"spinner\"\n\t\t\t\t\t\t\t\t\t\t\t\tpulse\n\t\t\t\t\t\t\t\t\t\t\t\tfixedWidth\n\t\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t})}\n\t\t\t\t\t</div>\n\t\t\t\t)}\n\t\t\t</div>\n\t\t);\n\t}\n\n\trenderUploadImages(inputs) {\n\t\treturn (\n\t\t\t<div\n\t\t\t\tclassName={`imageInputContainer ${inputs.length === 1 ? \"imageInputContainer-noPadding\" : \"\"}`}\n\t\t\t\tstyle={{ ...this.props.style }}\n\t\t\t>\n\t\t\t\t{inputs.map((input, index) => {\n\t\t\t\t\treturn this.renderInput(input, index, inputs.length);\n\t\t\t\t})}\n\t\t\t</div>\n\t\t);\n\t}\n\n\trenderContent() {\n\t\treturn this.renderUploadImages(this.state.inputs);\n\t}\n\n\trenderLibraryPopup() {\n\t\tif (this.state.selectedTab === \"upload\") {\n\t\t\treturn null;\n\t\t}\n\t\tlet content = null;\n\t\tif (this.state.selectedFolder) {\n\t\t\tcontent = this.renderFolderImages();\n\t\t} else {\n\t\t\tcontent = this.renderFolders();\n\t\t}\n\t\treturn (\n\t\t\t<Popup\n\t\t\t\tonClose={() => {\n\t\t\t\t\tthis.selectTab(\"upload\");\n\t\t\t\t}}\n\t\t\t\thasPadding\n\t\t\t\tbuttons={[\n\t\t\t\t\t{\n\t\t\t\t\t\ttype: \"primary\",\n\t\t\t\t\t\tonClick: () => {\n\t\t\t\t\t\t\tthis.selectTab(\"upload\");\n\t\t\t\t\t\t},\n\t\t\t\t\t\tisActive: true,\n\t\t\t\t\t\ttext: \"Done\",\n\t\t\t\t\t},\n\t\t\t\t]}\n\t\t\t\ttitle=\"Select images\"\n\t\t\t>\n\t\t\t\t{content}\n\t\t\t</Popup>\n\t\t);\n\t}\n\n\trenderButtons() {\n\t\tif (this.props.noMenu || this.props.disabled) {\n\t\t\treturn null;\n\t\t}\n\t\treturn (\n\t\t\t<div className=\"imageInputRight\">\n\t\t\t\t<Dropzone\n\t\t\t\t\tdisabled={this.props.disabled}\n\t\t\t\t\taccept={this.getAccept()}\n\t\t\t\t\tonDrop={(files) => this.onDrop(files, true)}\n\t\t\t\t>\n\t\t\t\t\t{(state) => {\n\t\t\t\t\t\tconst { getRootProps, getInputProps } = state;\n\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t<div {...getRootProps()} className=\"imageInputRight_button\">\n\t\t\t\t\t\t\t\t<input {...getInputProps()} />\n\t\t\t\t\t\t\t\t<Icon\n\t\t\t\t\t\t\t\t\tclassName=\"imageInputRight_button_icon\"\n\t\t\t\t\t\t\t\t\ticon=\"circle-plus\"\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t<p className=\"imageInputRight_button_text\">Upload File</p>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t);\n\t\t\t\t\t}}\n\t\t\t\t</Dropzone>\n\t\t\t\t<div\n\t\t\t\t\tclassName=\"imageInputRight_button\"\n\t\t\t\t\tonClick={() => {\n\t\t\t\t\t\tthis.selectTab(\"library\");\n\t\t\t\t\t}}\n\t\t\t\t>\n\t\t\t\t\t<Icon className=\"imageInputRight_button_icon\" icon=\"image\" />\n\t\t\t\t\t<p className=\"imageInputRight_button_text\">Image Library</p>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t);\n\t}\n\n\trender() {\n\t\treturn (\n\t\t\t<div\n\t\t\t\tstyle={this.props.containerStyle}\n\t\t\t\tclassName={`imageInputOuter ${this.getContainerClasses()}`}\n\t\t\t>\n\t\t\t\t{this.renderButtons()}\n\t\t\t\t{this.renderContent()}\n\t\t\t\t{this.renderLibraryPopup()}\n\t\t\t</div>\n\t\t);\n\t}\n}\n\nconst styles = {\n\taddFolderInputContainer: {\n\t\tmarginBottom: \"0px\",\n\t\tpaddingRight: \"100px\",\n\t\twidth: \"70%\",\n\t},\n\taddFolderInputText: {\n\t\tpaddingBottom: \"0px\",\n\t},\n\taddFolderCancel: {\n\t\tpaddingLeft: \"8px\",\n\t\tpaddingRight: \"8px\",\n\t\twidth: \"80px\",\n\t\tmarginRight: \"16px\",\n\t},\n\taddFolderSave: {\n\t\tpaddingLeft: \"8px\",\n\t\tpaddingRight: \"8px\",\n\t\twidth: \"80px\",\n\t},\n\tsaveFolderSpinner: {\n\t\tfontSize: \"20px\",\n\t\tmarginLeft: \"16px\",\n\t},\n\tsaveImageSpinner: {\n\t\tfontSize: \"18px\",\n\t},\n\tremoveFolderButton: {\n\t\tfontSize: \"20px\",\n\t\tpadding: \"5px\",\n\t\tmarginLeft: \"16px\",\n\t\tcursor: \"pointer\",\n\t},\n};\n\nconst mapStateToProps = (state) => {\n\treturn {\n\t\tauth: state.auth,\n\t};\n};\n\nconst ImageInput = connect(mapStateToProps, {}, null, { forwardRef: true })(\n\tImageInputComponent,\n);\nexport { ImageInput };\n","import React, { Component } from \"react\";\n\nclass MoreMenu extends Component {\n\trender() {\n\t\treturn (\n\t\t\t<div className=\"moreMenu\">\n\t\t\t\t{this.props.options.map((ev, index) => {\n\t\t\t\t\tif (ev != null) {\n\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t\tclassName=\"moreMenu_option\"\n\t\t\t\t\t\t\t\tkey={ev.key}\n\t\t\t\t\t\t\t\tonClick={ev.onPress}\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t{ev.text}\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t);\n\t\t\t\t\t}\n\t\t\t\t\treturn null;\n\t\t\t\t})}\n\t\t\t</div>\n\t\t);\n\t}\n}\n\nexport { MoreMenu };\n","import React, { Component } from \"react\";\n\nclass OverlayPage extends Component {\n\tconstructor(props) {\n\t\tsuper(props);\n\t\tthis.state = {\n\t\t\twidth: 0,\n\t\t\theight: 0,\n\t\t};\n\t\tthis.updateWindowDimensions = this.updateWindowDimensions.bind(this);\n\t}\n\n\tcomponentDidMount() {\n\t\tthis.updateWindowDimensions();\n\t\twindow.addEventListener(\"resize\", this.updateWindowDimensions);\n\t\t// setTimeout(() => {\n\t\t// this.setState({ opacity: 1 });\n\t\t// }, 100);\n\t}\n\n\tcomponentWillUnmount() {\n\t\twindow.removeEventListener(\"resize\", this.updateWindowDimensions);\n\t}\n\n\tupdateWindowDimensions() {\n\t\tthis.setState({ width: window.innerWidth, height: window.innerHeight });\n\t}\n\n\trenderContent() {\n\t\tif (this.props.fullPage) {\n\t\t\treturn (\n\t\t\t\t<div className=\"overlayPage-full\" style={this.props.fullPageStyle}>\n\t\t\t\t\t{this.props.children}\n\t\t\t\t</div>\n\t\t\t);\n\t\t}\n\t\treturn this.props.children;\n\t}\n\n\trender() {\n\t\treturn (\n\t\t\t<div style={{ ...styles.pageWrapper, ...this.props.style }}>\n\t\t\t\t<div\n\t\t\t\t\tstyle={{\n\t\t\t\t\t\t...styles.backgroundOverlay,\n\t\t\t\t\t\t...this.props.backgroundStyle,\n\t\t\t\t\t}}\n\t\t\t\t/>\n\t\t\t\t{this.renderContent()}\n\t\t\t</div>\n\t\t);\n\t}\n}\n\nconst styles = {\n\tpageWrapper: {\n\t\tposition: \"fixed\",\n\t\tzIndex: 100,\n\t\ttop: 0,\n\t\tleft: 0,\n\t\theight: \"100vh\",\n\t},\n\tbackgroundOverlay: {\n\t\tposition: \"fixed\",\n\t\twidth: \"100vw\",\n\t\theight: \"100vh\",\n\t\tbackgroundColor: \"#3f4264\",\n\t\ttop: 0,\n\t\tleft: 0,\n\t\tzIndex: -1,\n\t},\n};\n\nexport { OverlayPage };\n","import React, { Component } from \"react\";\n\nclass OverlayPageContents extends Component {\n\tconstructor(props) {\n\t\tsuper(props);\n\t\tthis.state = {\n\t\t\topacity: 0,\n\t\t};\n\t}\n\n\tcomponentDidMount() {\n\t\tsetTimeout(() => {\n\t\t\tthis.setState({ opacity: 1 });\n\t\t}, 100);\n\t}\n\n\trender() {\n\t\treturn (\n\t\t\t<div\n\t\t\t\tid={this.props.id}\n\t\t\t\tclassName=\"animateOpacity\"\n\t\t\t\tstyle={{\n\t\t\t\t\t...styles.wrapper,\n\t\t\t\t\theight: this.props.noBottomButtons ? \"100%\" : \"calc(100% - 57px)\",\n\t\t\t\t\topacity: this.state.opacity,\n\t\t\t\t\t...this.props.style,\n\t\t\t\t}}\n\t\t\t>\n\t\t\t\t{this.props.children}\n\t\t\t</div>\n\t\t);\n\t}\n}\n\nconst styles = {\n\twrapper: {\n\t\tclear: \"both\",\n\t\twhiteSpace: \"nowrap\",\n\t\toverflow: \"hidden\",\n\t\toverflowX: \"auto\",\n\t\tfontSize: 0,\n\t\twidth: \"fit-content\",\n\t\tmaxWidth: \"100vw\",\n\t\topacity: 0,\n\t},\n};\n\nexport { OverlayPageContents };\n","import React, { Component } from \"react\";\n\nclass OverlayPageSection extends Component {\n\tgetClassName() {\n\t\tif (this.props.className) {\n\t\t\treturn \"pageSectionWrapper \" + this.props.className;\n\t\t}\n\t\treturn \"pageSectionWrapper\";\n\t}\n\n\trender() {\n\t\treturn (\n\t\t\t<div\n\t\t\t\t{...this.props}\n\t\t\t\tclassName={this.getClassName()}\n\t\t\t\tstyle={{\n\t\t\t\t\t...styles.wrapper,\n\t\t\t\t\t...this.props.style,\n\t\t\t\t}}\n\t\t\t>\n\t\t\t\t{this.props.children}\n\t\t\t</div>\n\t\t);\n\t}\n}\n\nconst styles = {\n\twrapper: {\n\t\t/* height: '100%',\n overflowY: 'auto',\n backgroundColor: '#fff',\n padding: 24,\n display: 'inline-block',\n verticalAlign: 'top' */\n\t},\n};\n\nexport { OverlayPageSection };\n","import React, { Component } from \"react\";\nimport { LINEGREY } from \"../colours\";\n\nclass OverlayPageBottomButtons extends Component {\n\tconstructor(props) {\n\t\tsuper(props);\n\t\tthis.state = {\n\t\t\topacity: 0,\n\t\t};\n\t}\n\n\tcomponentDidMount() {\n\t\tsetTimeout(() => {\n\t\t\tthis.setState({ opacity: 1 });\n\t\t}, 100);\n\t}\n\n\trender() {\n\t\treturn (\n\t\t\t<div\n\t\t\t\tclassName=\"animateOpacity\"\n\t\t\t\tstyle={{\n\t\t\t\t\t...styles.wrapper,\n\t\t\t\t\topacity: this.state.opacity,\n\t\t\t\t\t...this.props.style,\n\t\t\t\t}}\n\t\t\t>\n\t\t\t\t{this.props.children}\n\t\t\t</div>\n\t\t);\n\t}\n}\n\nconst styles = {\n\twrapper: {\n\t\tpadding: 12,\n\t\tpaddingRight: 24,\n\t\twidth: \"100%\",\n\t\tmaxWidth: \"100vw\",\n\t\tbackgroundColor: \"#fff\",\n\t\tborderTop: \"1px solid\",\n\t\tborderTopColor: LINEGREY,\n\t\tdisplay: \"flex\",\n\t\tjustifyContent: \"flex-end\",\n\t},\n};\n\nexport { OverlayPageBottomButtons };\n","import React, { Component } from \"react\";\n\nclass PageTitle extends Component {\n\trender() {\n\t\treturn (\n\t\t\t<p className=\"managingPageTitle\" {...this.props}>\n\t\t\t\t{this.props.children}\n\t\t\t</p>\n\t\t);\n\t}\n}\n\nexport { PageTitle };\n","import React, { Component } from \"react\";\nimport _ from \"lodash\";\n\nclass RadioButton extends Component {\n\tgenerateClassNames(e) {\n\t\tlet string = \"radioButton\";\n\t\tif (this.props.isActive === e) {\n\t\t\tstring = string + \" radioButton--active\";\n\t\t}\n\t\tif (this.props.isSquare) {\n\t\t\tstring = string + \" radioButton--square\";\n\t\t}\n\t\treturn string;\n\t}\n\n\tgenerateWrapperClassNames() {\n\t\tlet string = \"radioButtonWrapper\";\n\t\tif (this.props.disabled) {\n\t\t\tstring = string + \" radioButton--disabled\";\n\t\t}\n\t\tif (this.props.noHoverHighlight) {\n\t\t\tstring = string + \" radioButton--noHoverHighlight\";\n\t\t}\n\t\tif (this.props.wrapperClass) {\n\t\t\tstring = string + this.props.wrapperClass;\n\t\t}\n\t\treturn string;\n\t}\n\n\tgetButtonStyle(e) {\n\t\tconst result = {};\n\t\tif (this.props.highlightColour && this.props.isActive === e) {\n\t\t\tresult.borderColor = this.props.highlightColour;\n\t\t}\n\t\treturn result;\n\t}\n\n\tperformSingleAction(e) {\n\t\tif (this.props.disabled) {\n\t\t\treturn;\n\t\t}\n\t\tthis.props.onChange();\n\t}\n\n\tperformMultiAction(e) {\n\t\tif (this.props.disabled) {\n\t\t\treturn;\n\t\t}\n\t\te.onChange();\n\t}\n\n\trenderLabel() {\n\t\tif (!_.isEmpty(this.props.label)) {\n\t\t\treturn (\n\t\t\t\t<div\n\t\t\t\t\tclassName=\"fieldLabel\"\n\t\t\t\t\tstyle={{ marginBottom: 5, ...this.props.labelStyle }}\n\t\t\t\t>\n\t\t\t\t\t{this.props.label}\n\t\t\t\t</div>\n\t\t\t);\n\t\t}\n\t\treturn null;\n\t}\n\n\trenderSubLabel() {\n\t\tif (!_.isEmpty(this.props.subLabel)) {\n\t\t\treturn (\n\t\t\t\t<div\n\t\t\t\t\tclassName=\"genericInput-help\"\n\t\t\t\t\tstyle={{ marginBottom: 5, ...this.props.subLabelStyle }}\n\t\t\t\t>\n\t\t\t\t\t{this.props.subLabel}\n\t\t\t\t</div>\n\t\t\t);\n\t\t}\n\t\treturn null;\n\t}\n\n\trenderOptions() {\n\t\tif (_.isUndefined(this.props.options) || _.isEmpty(this.props.options)) {\n\t\t\treturn null;\n\t\t}\n\n\t\treturn (\n\t\t\t<div style={{ ...styles.row, ...this.props.rowStyle }}>\n\t\t\t\t{this.props.options.map((e) => {\n\t\t\t\t\treturn (\n\t\t\t\t\t\t<div\n\t\t\t\t\t\t\tclassName={this.generateWrapperClassNames()}\n\t\t\t\t\t\t\tonClick={() => this.performMultiAction(e)}\n\t\t\t\t\t\t\tkey={e.Label}\n\t\t\t\t\t\t\tstyle={{\n\t\t\t\t\t\t\t\t...styles.row,\n\t\t\t\t\t\t\t\tmarginRight: 14,\n\t\t\t\t\t\t\t\t...this.props.buttonStyle,\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t\tclassName={this.generateClassNames(e.Value)}\n\t\t\t\t\t\t\t\tstyle={this.getButtonStyle(e.Value)}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t{e.Label && <span className=\"actionText\">{e.Label}</span>}\n\t\t\t\t\t\t</div>\n\t\t\t\t\t);\n\t\t\t\t})}\n\t\t\t</div>\n\t\t);\n\t}\n\n\trenderHelp() {\n\t\tif (!_.isEmpty(this.props.help)) {\n\t\t\treturn (\n\t\t\t\t<div className=\"genericInput-help\" style={{ marginTop: 4 }}>\n\t\t\t\t\t{this.props.help}\n\t\t\t\t</div>\n\t\t\t);\n\t\t}\n\t\treturn null;\n\t}\n\n\trender() {\n\t\tif (this.props.single) {\n\t\t\treturn (\n\t\t\t\t<div\n\t\t\t\t\tclassName={this.generateWrapperClassNames()}\n\t\t\t\t\tonClick={() => this.performSingleAction()}\n\t\t\t\t\tkey={this.props.val}\n\t\t\t\t\tstyle={this.props.style}\n\t\t\t\t>\n\t\t\t\t\t<div\n\t\t\t\t\t\tclassName={this.generateClassNames(this.props.val)}\n\t\t\t\t\t\tstyle={this.getButtonStyle(this.props.val)}\n\t\t\t\t\t/>\n\t\t\t\t\t{this.renderHelp()}\n\t\t\t\t</div>\n\t\t\t);\n\t\t}\n\t\treturn (\n\t\t\t<div className={this.props.className} style={this.props.style}>\n\t\t\t\t{this.renderLabel()}\n\t\t\t\t{this.renderSubLabel()}\n\t\t\t\t{this.renderOptions()}\n\t\t\t\t{this.renderHelp()}\n\t\t\t</div>\n\t\t);\n\t}\n}\n\nconst styles = {\n\trow: {\n\t\tdisplay: \"flex\",\n\t\tflexDirection: \"row\",\n\t},\n\tcenteredRow: {\n\t\tjustifyContent: \"center\",\n\t},\n};\n\nexport { RadioButton };\n","import React, { Component } from \"react\";\nimport { Icon } from \"@plusscommunities/pluss-icons\";\n\nclass Tag extends Component {\n\trenderLeft() {\n\t\tif (!this.props.leftIcon) {\n\t\t\treturn null;\n\t\t}\n\t\treturn (\n\t\t\t<Icon\n\t\t\t\ticon={this.props.leftIcon}\n\t\t\t\tclassName={`tag_icon tag_icon-left ${this.props.leftClick ? \"tag_icon-clickable\" : \"\"}`}\n\t\t\t\tstyle={this.props.leftIconStyle}\n\t\t\t\tonClick={this.props.leftClick}\n\t\t\t/>\n\t\t);\n\t}\n\n\trenderRight() {\n\t\tif (!this.props.rightIcon) {\n\t\t\treturn null;\n\t\t}\n\t\treturn (\n\t\t\t<Icon\n\t\t\t\ticon={this.props.rightIcon}\n\t\t\t\tclassName={`tag_icon tag_icon-right ${this.props.rightClick ? \"tag_icon-clickable\" : \"\"}`}\n\t\t\t\tstyle={this.props.rightIconStyle}\n\t\t\t\tonClick={this.props.rightClick}\n\t\t\t/>\n\t\t);\n\t}\n\n\trenderText() {\n\t\tif (!this.props.text) {\n\t\t\treturn null;\n\t\t}\n\t\treturn <span className=\"tag_text\">{this.props.text}</span>;\n\t}\n\n\trender() {\n\t\treturn (\n\t\t\t<div\n\t\t\t\tonClick={this.props.onClick}\n\t\t\t\tclassName={`tag ${this.props.onClick ? \"tag-clickable\" : \"\"} ${this.props.className || \"\"} ${\n\t\t\t\t\tthis.props.leftIcon || this.props.rightIcon ? \"tag-hasIcon\" : \"\"\n\t\t\t\t}`}\n\t\t\t\tstyle={this.props.style}\n\t\t\t>\n\t\t\t\t<div className=\"tag_inner\">\n\t\t\t\t\t{this.renderLeft()}\n\t\t\t\t\t<div className={`tag_center ${this.props.centerClass}`}>\n\t\t\t\t\t\t{this.renderText()}\n\t\t\t\t\t\t{this.props.children}\n\t\t\t\t\t</div>\n\t\t\t\t\t{this.renderRight()}\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t);\n\t}\n}\n\nexport { Tag };\n","import React, { Component } from \"react\";\n\nclass StatusButton extends Component {\n\trender() {\n\t\tif (this.props.isActive) {\n\t\t\treturn (\n\t\t\t\t<div\n\t\t\t\t\tclassName=\"tagWrapper tagWrapper--active\"\n\t\t\t\t\tonClick={this.props.deactivate}\n\t\t\t\t>\n\t\t\t\t\t<p className=\"tagWrapper__content tagWrapper__text\">\n\t\t\t\t\t\t{this.props.activeText}\n\t\t\t\t\t</p>\n\t\t\t\t\t<p className=\"tagWrapper__hoverContent tagWrapper__text\">\n\t\t\t\t\t\t{this.props.deactivateText}\n\t\t\t\t\t</p>\n\t\t\t\t</div>\n\t\t\t);\n\t\t}\n\t\treturn (\n\t\t\t<div\n\t\t\t\tclassName=\"tagWrapper tagWrapper--inactive\"\n\t\t\t\tonClick={this.props.activate}\n\t\t\t>\n\t\t\t\t<p className=\"tagWrapper__content tagWrapper__text\">\n\t\t\t\t\t{this.props.inactiveText}\n\t\t\t\t</p>\n\t\t\t\t<p className=\"tagWrapper__hoverContent tagWrapper__text\">\n\t\t\t\t\t{this.props.activateText}\n\t\t\t\t</p>\n\t\t\t</div>\n\t\t);\n\t}\n}\n\nexport { StatusButton };\n","import React, { Component } from \"react\";\nimport { Icon } from \"@plusscommunities/pluss-icons\";\nimport _ from \"lodash\";\nimport { Button } from \"./Button\";\n\nclass SuccessPopup extends Component {\n\tgetBackgroundClasses() {\n\t\treturn this.props.backgroundClose\n\t\t\t? \"successPopupBackground pointer\"\n\t\t\t: \"successPopupBackground\";\n\t}\n\n\trenderButtons() {\n\t\tif (_.isEmpty(this.props.buttons)) return null;\n\n\t\treturn (\n\t\t\t<div className=\"successPopup_buttons\">\n\t\t\t\t{this.props.buttons.map((b, i) => {\n\t\t\t\t\treturn (\n\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\tkey={i}\n\t\t\t\t\t\t\tbuttonClassName=\"successPopup_button\"\n\t\t\t\t\t\t\tbuttonType={b.type}\n\t\t\t\t\t\t\tisActive={!b.inactive}\n\t\t\t\t\t\t\tonClick={b.onClick}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{b.text}\n\t\t\t\t\t\t</Button>\n\t\t\t\t\t);\n\t\t\t\t})}\n\t\t\t</div>\n\t\t);\n\t}\n\n\trenderClose() {\n\t\tif (!this.props.closeAction) {\n\t\t\treturn null;\n\t\t}\n\t\treturn (\n\t\t\t<a\n\t\t\t\tstyle={{ position: \"absolute\", top: 16, right: 16, cursor: \"pointer\" }}\n\t\t\t\tonClick={this.props.closeAction}\n\t\t\t>\n\t\t\t\t<Icon icon=\"xmark\" />\n\t\t\t</a>\n\t\t);\n\t}\n\n\trender() {\n\t\treturn (\n\t\t\t<div className={this.getBackgroundClasses()}>\n\t\t\t\t<div className=\"successPopup\">\n\t\t\t\t\t{this.props.noIcon || (\n\t\t\t\t\t\t<div className=\"successPopup_tick\">\n\t\t\t\t\t\t\t<Icon className=\"successPopup_tick_icon\" icon=\"check\" />\n\t\t\t\t\t\t</div>\n\t\t\t\t\t)}\n\t\t\t\t\t{this.renderClose()}\n\t\t\t\t\t{!_.isEmpty(this.props.text) && (\n\t\t\t\t\t\t<p className=\"successPopup_text\">{this.props.text}</p>\n\t\t\t\t\t)}\n\t\t\t\t\t{this.props.children}\n\t\t\t\t\t{this.renderButtons()}\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t);\n\t}\n}\n\nexport { SuccessPopup };\n","import React, { Component } from \"react\";\nimport { Text } from \"./Text\";\n\nconst getReactions = () => {\n\treturn [\n\t\t{\n\t\t\tkey: \"heart\",\n\t\t\ticon: \"https://pluss60-demo-media.s3-ap-southeast-2.amazonaws.com/assets/emojis/heart.png\",\n\t\t},\n\t\t{\n\t\t\tkey: \"smile\",\n\t\t\ticon: \"https://pluss60-demo-media.s3-ap-southeast-2.amazonaws.com/assets/emojis/smile.png\",\n\t\t},\n\t\t{\n\t\t\tkey: \"sad\",\n\t\t\ticon: \"https://pluss60-demo-media.s3-ap-southeast-2.amazonaws.com/assets/emojis/sad.png\",\n\t\t},\n\t\t{\n\t\t\tkey: \"party\",\n\t\t\ticon: \"https://pluss60-demo-media.s3-ap-southeast-2.amazonaws.com/assets/emojis/party.png\",\n\t\t},\n\t];\n};\n\nclass Reactions extends Component {\n\tstate = {\n\t\treactions: getReactions(),\n\t};\n\n\tgetReaction(key) {\n\t\tif (this.props.reactions) {\n\t\t\tif (!this.props.reactions[key]) {\n\t\t\t\treturn 0;\n\t\t\t}\n\t\t\treturn this.props.reactions[key];\n\t\t}\n\t\tif (!this.props.entity) {\n\t\t\treturn 0;\n\t\t}\n\t\tif (!this.props.entity.Reactions) {\n\t\t\treturn 0;\n\t\t}\n\t\tif (!this.props.entity.Reactions[key]) {\n\t\t\treturn 0;\n\t\t}\n\t\treturn Object.keys(this.props.entity.Reactions[key]).length;\n\t}\n\n\trenderReactions() {\n\t\treturn this.state.reactions.map((r, i) => {\n\t\t\treturn (\n\t\t\t\t<div className=\"polloverview_section\" key={r.key}>\n\t\t\t\t\t<img src={r.icon} className=\"polloverview_iconImage\" alt={r.key} />\n\t\t\t\t\t<div className=\"polloverview_right\">\n\t\t\t\t\t\t<p className=\"polloverview_count\">{this.getReaction(r.key)}</p>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t);\n\t\t});\n\t}\n\n\trender() {\n\t\tif (this.props.compact) {\n\t\t\treturn <div className=\"compactreactions\">{this.renderReactions()}</div>;\n\t\t}\n\t\treturn (\n\t\t\t<div>\n\t\t\t\t<Text type=\"formTitleSmall\" className=\"marginBottom-16\">\n\t\t\t\t\tReactions\n\t\t\t\t</Text>\n\t\t\t\t<div className=\"polloverview\">{this.renderReactions()}</div>\n\t\t\t</div>\n\t\t);\n\t}\n}\n\nexport { Reactions };\n","import React, { PureComponent } from \"react\";\nimport { DropdownButton, DropdownItem } from \"react-bootstrap\";\nimport _ from \"lodash\";\nimport moment from \"moment\";\nimport { getAnalyticsFilterOptions } from \"../analytics\";\nimport { GenericInput } from \"./GenericInput\";\nimport { DatePicker } from \"./DatePicker\";\n\nclass AnalyticsFilter extends PureComponent {\n\tconstructor(props) {\n\t\tsuper(props);\n\t\tconst filterOptions = getAnalyticsFilterOptions();\n\t\tconst selectedFilter = this.props.defaultFilter || filterOptions[1];\n\n\t\tthis.state = {\n\t\t\tfilterOptions,\n\t\t\tselectedFilter,\n\t\t\tdateRangeText: \"Select date range\",\n\t\t\tstartDate: moment(this.props.defaultStart),\n\t\t\tendDate: moment(this.props.defaultEnd),\n\t\t\tcalendarVisible: true,\n\t\t};\n\t}\n\n\trenderOptions = () => {\n\t\treturn this.state.filterOptions.map((ev) => {\n\t\t\tif (\n\t\t\t\tthis.props.hideOptions &&\n\t\t\t\t_.includes(this.props.hideOptions, ev.dayCount)\n\t\t\t) {\n\t\t\t\treturn null;\n\t\t\t}\n\t\t\treturn (\n\t\t\t\t<DropdownItem\n\t\t\t\t\tkey={ev.dayCount}\n\t\t\t\t\teventKey={ev.dayCount}\n\t\t\t\t\tactive={this.state.selectedFilter === ev}\n\t\t\t\t>\n\t\t\t\t\t{ev.text}\n\t\t\t\t</DropdownItem>\n\t\t\t);\n\t\t});\n\t};\n\n\tselectFilter = (key) => {\n\t\tconst selectedFilter = _.find(this.state.filterOptions, (o) => {\n\t\t\treturn o.dayCount === key;\n\t\t});\n\t\tthis.setState(\n\t\t\t{\n\t\t\t\tselectedFilter,\n\t\t\t\tdateRangeText: \"Select date range\",\n\t\t\t\tstartDate: moment(),\n\t\t\t\tendDate: moment(),\n\t\t\t\tcalendarVisible: true,\n\t\t\t},\n\t\t\t() => {\n\t\t\t\tthis.props.filterChanged(selectedFilter);\n\t\t\t},\n\t\t);\n\t};\n\n\tgetDateRangeText = (start, end) => {\n\t\treturn `${moment(start).format(\"DD/MM/YYYY\")} to ${moment(end).format(\"DD/MM/YYYY\")}`;\n\t};\n\n\ttoggleDateSelectors = () => {\n\t\tthis.setState({ calendarVisible: !this.state.calendarVisible });\n\t};\n\n\tstartDateChanged = (date) => {\n\t\tif (moment(date).isSameOrBefore(this.state.endDate)) {\n\t\t\tthis.setState(\n\t\t\t\t{\n\t\t\t\t\tstartDate: date,\n\t\t\t\t\tdateRangeText: this.getDateRangeText(date, this.state.endDate),\n\t\t\t\t},\n\t\t\t\t() => {\n\t\t\t\t\tthis.props.filterDateRangeChanged(\n\t\t\t\t\t\tthis.state.startDate,\n\t\t\t\t\t\tthis.state.endDate,\n\t\t\t\t\t);\n\t\t\t\t},\n\t\t\t);\n\t\t}\n\t};\n\n\tendDateChanged = (date) => {\n\t\tif (moment(date).isSameOrAfter(this.state.startDate)) {\n\t\t\tthis.setState(\n\t\t\t\t{\n\t\t\t\t\tendDate: date,\n\t\t\t\t\tdateRangeText: this.getDateRangeText(this.state.startDate, date),\n\t\t\t\t},\n\t\t\t\t() => {\n\t\t\t\t\tthis.props.filterDateRangeChanged(\n\t\t\t\t\t\tthis.state.startDate,\n\t\t\t\t\t\tthis.state.endDate,\n\t\t\t\t\t);\n\t\t\t\t},\n\t\t\t);\n\t\t}\n\t};\n\n\trender() {\n\t\treturn (\n\t\t\t<>\n\t\t\t\t<div className=\"analyticsFilter__dropDown\">\n\t\t\t\t\t<DropdownButton\n\t\t\t\t\t\tid=\"secondLevelSort\"\n\t\t\t\t\t\tbsSize=\"xsmall\"\n\t\t\t\t\t\tclassName=\"siteSelector__button analyticsFilter__dropDown__button\"\n\t\t\t\t\t\ttitle={this.state.selectedFilter.text}\n\t\t\t\t\t\tonSelect={this.selectFilter}\n\t\t\t\t\t>\n\t\t\t\t\t\t{this.renderOptions()}\n\t\t\t\t\t</DropdownButton>\n\t\t\t\t\t{this.state.selectedFilter.dayCount === 0 && (\n\t\t\t\t\t\t<GenericInput\n\t\t\t\t\t\t\tid=\"customDateRange\"\n\t\t\t\t\t\t\tplaceholder={\"Select date range\"}\n\t\t\t\t\t\t\tclassName=\"analyticsFilter__dropDown__input\"\n\t\t\t\t\t\t\tvalue={this.state.dateRangeText}\n\t\t\t\t\t\t\tonClick={this.toggleDateSelectors}\n\t\t\t\t\t\t\treadOnly\n\t\t\t\t\t\t/>\n\t\t\t\t\t)}\n\t\t\t\t</div>\n\t\t\t\t{this.state.selectedFilter.dayCount === 0 &&\n\t\t\t\t\tthis.state.calendarVisible && (\n\t\t\t\t\t\t<div className=\"analyticsFilter__dateRange\">\n\t\t\t\t\t\t\t<DatePicker\n\t\t\t\t\t\t\t\thideTop\n\t\t\t\t\t\t\t\tselectedDate={this.state.startDate}\n\t\t\t\t\t\t\t\tselectDate={this.startDateChanged}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t<DatePicker\n\t\t\t\t\t\t\t\thideTop\n\t\t\t\t\t\t\t\tselectedDate={this.state.endDate}\n\t\t\t\t\t\t\t\tselectDate={this.endDateChanged}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t)}\n\t\t\t</>\n\t\t);\n\t}\n}\n\nexport { AnalyticsFilter };\n","import React, { Component } from \"react\";\nimport { Text } from \"./Text\";\nimport { ProfilePic } from \"./ProfilePic\";\nimport { COLOUR_BRANDING_MAIN } from \"../colours\";\n\nclass UserListing extends Component {\n\tgetSize() {\n\t\treturn this.props.size || 30;\n\t}\n\n\tgetImage() {\n\t\tif (this.props.user && this.props.user.profilePic) {\n\t\t\treturn this.props.user.profilePic;\n\t\t}\n\t\tif (this.props.image) {\n\t\t\treturn this.props.image;\n\t\t}\n\t\treturn undefined;\n\t}\n\n\tgetKey() {\n\t\tif (this.props.user && this.props.user.id) {\n\t\t\treturn this.props.user.id;\n\t\t}\n\t\treturn this.props.id;\n\t}\n\n\tgetText() {\n\t\tif (this.props.user && this.props.user.displayName) {\n\t\t\treturn this.props.user.displayName;\n\t\t}\n\t\treturn this.props.title;\n\t}\n\n\tgetBorderRadius() {\n\t\tif (this.props.squareImage) {\n\t\t\treturn 4;\n\t\t}\n\t\treturn this.getSize() / 2;\n\t}\n\n\tisLoading() {\n\t\tif (this.props.user && this.props.user.loading) {\n\t\t\treturn this.props.user && this.props.user.loading;\n\t\t}\n\t\treturn this.props.isLoading;\n\t}\n\n\trenderRight() {\n\t\tif (!this.props.rightContent) {\n\t\t\treturn null;\n\t\t}\n\t\treturn this.props.rightContent;\n\t}\n\n\trenderSub() {\n\t\tif (!this.props.subContent) {\n\t\t\treturn null;\n\t\t}\n\t\treturn this.props.subContent;\n\t}\n\n\trenderImage() {\n\t\tif (this.props.squareImage) {\n\t\t\treturn (\n\t\t\t\t<div\n\t\t\t\t\tstyle={{\n\t\t\t\t\t\theight: this.getSize(),\n\t\t\t\t\t\twidth: this.getSize(),\n\t\t\t\t\t\tborderRadius: this.getBorderRadius(),\n\t\t\t\t\t\tmarginRight: 8,\n\t\t\t\t\t\tbackgroundSize: \"cover\",\n\t\t\t\t\t\tbackgroundPosition: \"center\",\n\t\t\t\t\t\tbackgroundImage: `url(${this.getImage()})`,\n\t\t\t\t\t\tbackgroundColor: COLOUR_BRANDING_MAIN,\n\t\t\t\t\t}}\n\t\t\t\t\talt={`${this.getText()} Image`}\n\t\t\t\t/>\n\t\t\t);\n\t\t}\n\t\treturn (\n\t\t\t<ProfilePic\n\t\t\t\tsize={this.getSize()}\n\t\t\t\tclassName=\"userListing_profilePic\"\n\t\t\t\timage={this.getImage()}\n\t\t\t/>\n\t\t);\n\t}\n\n\trender() {\n\t\treturn (\n\t\t\t<div\n\t\t\t\tkey={this.getKey()}\n\t\t\t\tclassName=\"userListing\"\n\t\t\t\tstyle={{\n\t\t\t\t\tminHeight: this.getSize() + 5,\n\t\t\t\t\tcursor: this.props.onClick ? \"pointer\" : \"inherit\",\n\t\t\t\t\topacity: this.isLoading() ? 0.5 : 1,\n\t\t\t\t}}\n\t\t\t\tonClick={this.props.onClick}\n\t\t\t>\n\t\t\t\t<div className=\"userListing_inner\">\n\t\t\t\t\t{this.renderImage()}\n\t\t\t\t\t<div\n\t\t\t\t\t\tclassName=\"userListing_middle\"\n\t\t\t\t\t\tstyle={{ height: this.getSize() }}\n\t\t\t\t\t>\n\t\t\t\t\t\t<Text\n\t\t\t\t\t\t\ttype=\"name\"\n\t\t\t\t\t\t\tstyle={this.props.whiteText ? { color: \"#fff\" } : null}\n\t\t\t\t\t\t\tclassName={this.props.textClass}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{this.getText()}\n\t\t\t\t\t\t</Text>\n\t\t\t\t\t\t{this.renderSub()}\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t\t{this.renderRight()}\n\t\t\t</div>\n\t\t);\n\t}\n}\n\nexport { UserListing };\n","import React, { Component } from \"react\";\nimport moment from \"moment\";\nimport _ from \"lodash\";\nimport { randomString } from \"../helper\";\nimport { COLOUR_DUSK_LIGHT } from \"../colours\";\nimport { Icon } from \"@plusscommunities/pluss-icons\";\n\nclass TimePicker extends Component {\n\tstate = {\n\t\tid: randomString(),\n\t\tselectedTime: this.props.optional ? this.props.selectedTime : moment(),\n\t\tgrid: [],\n\t\thourInput: \"\",\n\t\tminuteInput: \"\",\n\t\tmInput: \"\",\n\t};\n\n\tUNSAFE_componentWillMount() {\n\t\tthis.onNewProps(this.props, !this.props.optional);\n\t}\n\n\tUNSAFE_componentWillReceiveProps(nextProps) {\n\t\tthis.onNewProps(nextProps);\n\t}\n\n\tonNewProps(nextProps, forceUpdate) {\n\t\tif (forceUpdate || nextProps.selectedTime !== this.props.selectedTime) {\n\t\t\tlet mDate = moment(nextProps.selectedTime, \"h:mma\");\n\t\t\tif (!mDate.isValid()) {\n\t\t\t\tthis.setState({\n\t\t\t\t\tselectedTime: null,\n\t\t\t\t\thourInput: \"\",\n\t\t\t\t\tminuteInput: \"\",\n\t\t\t\t\tmInput: \"\",\n\t\t\t\t});\n\t\t\t} else {\n\t\t\t\tconst minutesFocused =\n\t\t\t\t\tdocument.getElementById(`time_minute_${this.state.id}`) ===\n\t\t\t\t\tdocument.activeElement;\n\t\t\t\tthis.setState({\n\t\t\t\t\tselectedTime: mDate,\n\t\t\t\t\thourInput: mDate.format(\"h\"),\n\t\t\t\t\tminuteInput: mDate.format(minutesFocused ? \"m\" : \"mm\"),\n\t\t\t\t\tmInput: mDate.format(\"a\"),\n\t\t\t\t});\n\t\t\t}\n\t\t}\n\t}\n\n\tgetDefaultTime() {\n\t\tconst result = moment();\n\t\tresult.hour(12);\n\t\tresult.minute(0);\n\t\tresult.second(0);\n\t\treturn result;\n\t}\n\n\tonChangeHour(event) {\n\t\tlet hour = 0;\n\t\tif (!_.isEmpty(event.target.value)) {\n\t\t\thour = parseInt(event.target.value, 10);\n\t\t} else {\n\t\t\tthis.setState({ ...this.state, hourInput: \"\" });\n\t\t\treturn;\n\t\t}\n\t\tif (isNaN(hour)) {\n\t\t\treturn;\n\t\t}\n\t\thour = Math.max(Math.min(12, hour), 0);\n\t\tconst dateToUse = this.state.selectedTime || this.getDefaultTime();\n\t\tconst selectNext = hour > 1; // if hour is > 1, assume user is done typing and select minutes input\n\t\tif (dateToUse.format(\"a\") === \"pm\") {\n\t\t\thour += 12;\n\t\t}\n\t\tdateToUse.hour(hour);\n\t\tthis.setState({\n\t\t\tselectedTime: moment(dateToUse),\n\t\t});\n\n\t\tthis.selectTime(dateToUse);\n\n\t\tif (selectNext) {\n\t\t\tthis.select(`time_minute_${this.state.id}`);\n\t\t}\n\t}\n\n\tonChangeMinute(event) {\n\t\tlet minute = 0;\n\t\tif (!_.isEmpty(event.target.value)) {\n\t\t\tminute = parseInt(event.target.value, 10);\n\t\t} else {\n\t\t\tthis.setState({ ...this.state, minuteInput: \"\" });\n\t\t\treturn;\n\t\t}\n\t\tif (isNaN(minute)) {\n\t\t\treturn;\n\t\t}\n\t\tminute = Math.max(Math.min(59, minute), 0);\n\t\tconst dateToUse = this.state.selectedTime || this.getDefaultTime();\n\t\tdateToUse.minute(minute);\n\t\tthis.setState({\n\t\t\tselectedTime: moment(dateToUse),\n\t\t});\n\n\t\tthis.selectTime(dateToUse);\n\n\t\tif (minute >= 10 || event.target.value === \"00\") {\n\t\t\tthis.select(`time_am_${this.state.id}`);\n\t\t}\n\t}\n\n\tonBlurMinute() {\n\t\tif (this.state.selectedTime) {\n\t\t\tthis.setState({\n\t\t\t\tminuteInput: this.state.selectedTime.format(\"mm\"),\n\t\t\t});\n\t\t}\n\t}\n\n\tonChangeM(event) {\n\t\tconst dateToUse = this.state.selectedTime || this.getDefaultTime();\n\t\tif (event.target.value.toLowerCase().indexOf(\"a\") > -1) {\n\t\t\t// am\n\t\t\tif (dateToUse.format(\"a\") === \"pm\") {\n\t\t\t\tdateToUse.hour(dateToUse.hour() - 12);\n\t\t\t}\n\t\t} else {\n\t\t\t// pm\n\t\t\tif (dateToUse.format(\"a\") === \"am\") {\n\t\t\t\tdateToUse.hour(dateToUse.hour() + 12);\n\t\t\t}\n\t\t}\n\t\tthis.setState({\n\t\t\tselectedTime: moment(dateToUse),\n\t\t});\n\t\tthis.selectTime(dateToUse);\n\t}\n\n\tselectTime(date) {\n\t\tthis.props.selectTime(\n\t\t\tmoment(date).format(this.props.callbackFormat || \"h:mma\"),\n\t\t);\n\t}\n\n\tonClear = () => {\n\t\tthis.props.selectTime(undefined);\n\t};\n\n\tselect(id) {\n\t\tdocument.getElementById(id).select();\n\t}\n\n\trenderClear() {\n\t\tif (!this.props.hasClear) return null;\n\t\treturn (\n\t\t\t<Icon\n\t\t\t\tcolour={COLOUR_DUSK_LIGHT}\n\t\t\t\ticon=\"xmark\"\n\t\t\t\tclassName=\"timepicker_clear\"\n\t\t\t\tonClick={this.onClear}\n\t\t\t/>\n\t\t);\n\t}\n\n\trender() {\n\t\tconst { disabled } = this.props;\n\t\tif (disabled) {\n\t\t\treturn (\n\t\t\t\t<div className=\"timepicker disabled\" style={this.props.style}>\n\t\t\t\t\t<span\n\t\t\t\t\t\tclassName=\"timepicker__span\"\n\t\t\t\t\t\tstyle={this.props.inputStyle}\n\t\t\t\t\t>{`${this.state.hourInput} : ${this.state.minuteInput} ${this.state.mInput}`}</span>\n\t\t\t\t</div>\n\t\t\t);\n\t\t}\n\t\treturn (\n\t\t\t<div\n\t\t\t\tclassName={`timepicker ${this.props.className}`}\n\t\t\t\tstyle={this.props.style}\n\t\t\t>\n\t\t\t\t<input\n\t\t\t\t\tclassName=\"timepicker__input\"\n\t\t\t\t\tmaxLength=\"2\"\n\t\t\t\t\tplaceholder=\"hh\"\n\t\t\t\t\ttype=\"text\"\n\t\t\t\t\tid={`time_hour_${this.state.id}`}\n\t\t\t\t\tvalue={this.state.hourInput}\n\t\t\t\t\tonChange={this.onChangeHour.bind(this)}\n\t\t\t\t\tonClick={this.select.bind(this, `time_hour_${this.state.id}`)}\n\t\t\t\t\tstyle={this.props.inputStyle}\n\t\t\t\t/>\n\t\t\t\t<span className=\"timepicker__separator\" style={this.props.inputStyle}>\n\t\t\t\t\t:\n\t\t\t\t</span>\n\t\t\t\t<input\n\t\t\t\t\tclassName=\"timepicker__input\"\n\t\t\t\t\tmaxLength=\"2\"\n\t\t\t\t\tplaceholder=\"mm\"\n\t\t\t\t\ttype=\"text\"\n\t\t\t\t\tid={`time_minute_${this.state.id}`}\n\t\t\t\t\tvalue={this.state.minuteInput}\n\t\t\t\t\tonChange={this.onChangeMinute.bind(this)}\n\t\t\t\t\tonBlur={this.onBlurMinute.bind(this)}\n\t\t\t\t\tonClick={this.select.bind(this, `time_minute_${this.state.id}`)}\n\t\t\t\t\tstyle={this.props.inputStyle}\n\t\t\t\t/>\n\t\t\t\t<input\n\t\t\t\t\tclassName=\"timepicker__input\"\n\t\t\t\t\tmaxLength=\"2\"\n\t\t\t\t\tplaceholder=\"pm\"\n\t\t\t\t\ttype=\"text\"\n\t\t\t\t\tid={`time_am_${this.state.id}`}\n\t\t\t\t\tvalue={this.state.mInput}\n\t\t\t\t\tonChange={this.onChangeM.bind(this)}\n\t\t\t\t\tonClick={this.select.bind(this, `time_am_${this.state.id}`)}\n\t\t\t\t\tstyle={this.props.inputStyle}\n\t\t\t\t/>\n\t\t\t\t{this.renderClear()}\n\t\t\t</div>\n\t\t);\n\t}\n}\n\nexport { TimePicker };\n","import React, { Component } from \"react\";\nimport _ from \"lodash\";\nimport { withRouter } from \"react-router\";\nimport { connect } from \"react-redux\";\nimport Config from \"../config\";\nimport { GenericInput } from \"./GenericInput\";\nimport { Text } from \"./Text\";\nimport { COLOUR_DUSK } from \"../colours\";\nimport { Icon } from \"@plusscommunities/pluss-icons\";\n\nclass AudienceIncluder extends Component {\n\tconstructor(props) {\n\t\tsuper(props);\n\t\tthis.state = {\n\t\t\tshowUserAdd: false,\n\t\t\tuserSearch: \"\",\n\t\t\treturnList: [],\n\t\t\tuserList: [],\n\n\t\t\tselectionList: [],\n\t\t};\n\t}\n\n\tUNSAFE_componentWillMount() {\n\t\tthis.updateProps(this.props);\n\t}\n\n\tUNSAFE_componentWillReceiveProps(nextProps) {\n\t\tthis.updateProps(nextProps);\n\t}\n\n\tupdateProps(props) {\n\t\tvar stateChange = {\n\t\t\tselectionList: props.selectionList,\n\t\t\tuserList: props.userList,\n\t\t};\n\n\t\tif (!_.isEmpty(this.state.userSearch) && this.state.userSearch.length > 1) {\n\t\t\tstateChange.returnList = _.filter(props.userList, (ev) => {\n\t\t\t\treturn (\n\t\t\t\t\tev.displayName\n\t\t\t\t\t\t.toLowerCase()\n\t\t\t\t\t\t.indexOf(this.state.userSearch.toLowerCase()) > -1\n\t\t\t\t);\n\t\t\t});\n\n\t\t\tstateChange.returnList = _.reject(stateChange.returnList, (item) =>\n\t\t\t\t_.find(props.selectionList, (t) => {\n\t\t\t\t\treturn t.Id === item.Id;\n\t\t\t\t}),\n\t\t\t);\n\t\t}\n\t\tthis.setState(stateChange);\n\t}\n\n\tshowUserAdd() {\n\t\tthis.setState({ showUserAdd: true });\n\t}\n\n\thandleChange(event) {\n\t\tif (this.state.searchUserLoading) {\n\t\t\treturn;\n\t\t}\n\t\tvar stateChange = { returnList: [] };\n\t\tstateChange[event.target.getAttribute(\"id\")] = event.target.value;\n\n\t\tif (!_.isEmpty(event.target.value) && event.target.value.length > 1) {\n\t\t\tstateChange.returnList = _.filter(this.props.userList, (ev) => {\n\t\t\t\treturn (\n\t\t\t\t\tev.displayName\n\t\t\t\t\t\t.toLowerCase()\n\t\t\t\t\t\t.indexOf(event.target.value.toLowerCase()) > -1\n\t\t\t\t);\n\t\t\t});\n\n\t\t\tstateChange.returnList = _.reject(stateChange.returnList, (item) =>\n\t\t\t\t_.find(this.state.selectionList, (t) => {\n\t\t\t\t\treturn t.Id === item.Id;\n\t\t\t\t}),\n\t\t\t);\n\t\t}\n\n\t\tthis.setState(stateChange);\n\t}\n\n\trenderSearch() {\n\t\treturn (\n\t\t\t<div style={{}}>\n\t\t\t\t{this.state.returnList.map((user, index) => {\n\t\t\t\t\treturn (\n\t\t\t\t\t\t<div\n\t\t\t\t\t\t\tonClick={() => {\n\t\t\t\t\t\t\t\tthis.props.add(user);\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\tkey={user.Id}\n\t\t\t\t\t\t\tclassName=\"pointer\"\n\t\t\t\t\t\t\tstyle={{\n\t\t\t\t\t\t\t\tmarginBottom: 8,\n\t\t\t\t\t\t\t\tdisplay: \"flex\",\n\t\t\t\t\t\t\t\tflexDirection: \"row\",\n\t\t\t\t\t\t\t\talignItems: \"center\",\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<img\n\t\t\t\t\t\t\t\tstyle={{\n\t\t\t\t\t\t\t\t\theight: 30,\n\t\t\t\t\t\t\t\t\twidth: 30,\n\t\t\t\t\t\t\t\t\tborderRadius: 15,\n\t\t\t\t\t\t\t\t\tmarginRight: 16,\n\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\tsrc={\n\t\t\t\t\t\t\t\t\tuser.profilePic != null\n\t\t\t\t\t\t\t\t\t\t? user.profilePic\n\t\t\t\t\t\t\t\t\t\t: Config.env.defaultProfileImage\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\talt=\"user profilePic\"\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t<div className={`fontMedium fontSize-16 text-dark'`}>\n\t\t\t\t\t\t\t\t{user.displayName}\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t);\n\t\t\t\t})}\n\t\t\t</div>\n\t\t);\n\t}\n\n\trenderUserAdd() {\n\t\treturn (\n\t\t\t<div className=\"\" style={{ backgroundColor: \"#fff\" }}>\n\t\t\t\t{\" \"}\n\t\t\t\t{/* Search for peeps */}\n\t\t\t\t<GenericInput\n\t\t\t\t\tid=\"userSearch\"\n\t\t\t\t\ttype=\"text\"\n\t\t\t\t\tlabel=\"Search for User\"\n\t\t\t\t\tplaceholder=\"Search for user\"\n\t\t\t\t\tvalue={this.state.userSearch}\n\t\t\t\t\tonChange={(e) => this.handleChange(e)}\n\t\t\t\t\talwaysShowLabel\n\t\t\t\t/>\n\t\t\t\t{this.renderSearch()}\n\t\t\t</div>\n\t\t);\n\t}\n\n\trenderAttendees() {\n\t\tif (this.state.selectionList && !_.isEmpty(this.state.selectionList)) {\n\t\t\treturn (\n\t\t\t\t<div style={{ marginTop: 16 }}>\n\t\t\t\t\t<Text type=\"formLabel\" className=\"marginBottom-8\">\n\t\t\t\t\t\tSelected Users\n\t\t\t\t\t</Text>\n\t\t\t\t\t{this.state.selectionList.map((user, index) => {\n\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t\tkey={user.Id}\n\t\t\t\t\t\t\t\tstyle={{\n\t\t\t\t\t\t\t\t\tmarginBottom: 8,\n\t\t\t\t\t\t\t\t\tdisplay: \"flex\",\n\t\t\t\t\t\t\t\t\tflexDirection: \"row\",\n\t\t\t\t\t\t\t\t\tjustifyContent: \"space-between\",\n\t\t\t\t\t\t\t\t\talignItems: \"center\",\n\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t<div className=\"flex\" style={{ alignItems: \"center\" }}>\n\t\t\t\t\t\t\t\t\t<img\n\t\t\t\t\t\t\t\t\t\tstyle={{\n\t\t\t\t\t\t\t\t\t\t\theight: 30,\n\t\t\t\t\t\t\t\t\t\t\twidth: 30,\n\t\t\t\t\t\t\t\t\t\t\tborderRadius: 15,\n\t\t\t\t\t\t\t\t\t\t\tmarginRight: 16,\n\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t\tsrc={\n\t\t\t\t\t\t\t\t\t\t\tuser.profilePic != null\n\t\t\t\t\t\t\t\t\t\t\t\t? user.profilePic\n\t\t\t\t\t\t\t\t\t\t\t\t: Config.env.defaultProfileImage\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\talt=\"user profilePic\"\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t<div className={`fontMedium fontSize-16 text-dark'`}>\n\t\t\t\t\t\t\t\t\t\t{user.displayName}\n\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t<Icon\n\t\t\t\t\t\t\t\t\tclassName=\"removeIcon\"\n\t\t\t\t\t\t\t\t\ticon=\"xmark\"\n\t\t\t\t\t\t\t\t\tonClick={() => {\n\t\t\t\t\t\t\t\t\t\tthis.props.remove(user);\n\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\tcolour={COLOUR_DUSK}\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t{/* <ConfirmActions declineOnly onDecline={() => {}} /> */}\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t);\n\t\t\t\t\t})}\n\t\t\t\t</div>\n\t\t\t);\n\t\t}\n\t\treturn null;\n\t}\n\n\trender() {\n\t\treturn (\n\t\t\t<div>\n\t\t\t\t<div>{this.renderUserAdd()}</div>\n\t\t\t\t<div>{this.renderAttendees()}</div>\n\t\t\t</div>\n\t\t);\n\t}\n}\n\nconst mapStateToProps = (state) => {\n\treturn { auth: state.auth };\n};\n\nlet exportObj = connect(mapStateToProps, {})(withRouter(AudienceIncluder));\n\nexport { exportObj as AudienceIncluder };\n","import React, { Component } from \"react\";\nimport _ from \"lodash\";\nimport { INACTIVE_TEXT } from \"../colours\";\nimport { Icon } from \"@plusscommunities/pluss-icons\";\n\nclass DropdownInput extends Component {\n\tconstructor(props) {\n\t\tsuper(props);\n\t\tthis.state = {\n\t\t\twidth: 0,\n\t\t\theight: 0,\n\t\t\topen: false,\n\t\t};\n\n\t\tthis.setWrapperRef = this.setWrapperRef.bind(this);\n\t\tthis.handleClickOutside = this.handleClickOutside.bind(this);\n\t}\n\n\tcomponentDidMount() {\n\t\tdocument.addEventListener(\"mousedown\", this.handleClickOutside);\n\t}\n\n\tcomponentWillUnmount() {\n\t\tdocument.removeEventListener(\"mousedown\", this.handleClickOutside);\n\t}\n\n\tsetWrapperRef(node) {\n\t\tthis.wrapperRef = node;\n\t}\n\n\thandleClickOutside(event) {\n\t\tif (this.wrapperRef && !this.wrapperRef.contains(event.target)) {\n\t\t\tthis.setState({ open: false });\n\t\t}\n\t}\n\n\tgetAutoComplete() {\n\t\tif (!_.isUndefined(this.props.autoComplete)) {\n\t\t\treturn this.props.autoComplete ? \"on\" : \"off\";\n\t\t}\n\t\treturn \"off\";\n\t}\n\n\tgetClassNames() {\n\t\tlet string = \"\";\n\t\tif (this.props.className) {\n\t\t\tstring += `${this.props.className} `;\n\t\t}\n\t\tif (!_.isUndefined(this.props.disabled) && this.props.disabled) {\n\t\t\tstring = \"genericInput-disabled \";\n\t\t}\n\t\tif (this.props.large) {\n\t\t\tstring += \"genericInput-large \";\n\t\t}\n\t\tif (!_.isUndefined(this.props.showError) && this.props.showError()) {\n\t\t\treturn string + \"genericInput-error\";\n\t\t}\n\t\tif (!_.isUndefined(this.props.isValid) && this.props.isValid()) {\n\t\t\treturn string + \"genericInput-valid\";\n\t\t}\n\t\treturn string;\n\t}\n\n\tgetLabelStyle() {\n\t\tconst style = {};\n\t\tif (_.isEmpty(this.props.value) && !this.props.alwaysShowLabel) {\n\t\t\tstyle.opacity = 0;\n\t\t}\n\t\tif (\n\t\t\t!_.isUndefined(this.props.ignoreValue) &&\n\t\t\tthis.props.value === this.props.ignoreValue &&\n\t\t\t!this.props.alwaysShowLabel\n\t\t) {\n\t\t\tstyle.opacity = 0;\n\t\t}\n\t\t// if (this.props.isRequired) {\n\t\t// style.marginLeft = 12;\n\t\t// }\n\t\treturn style;\n\t}\n\n\trenderError() {\n\t\tif (!_.isUndefined(this.props.showError) && this.props.showError()) {\n\t\t\treturn (\n\t\t\t\t<div className={\"fieldLabel fieldLabel-warning\"}>\n\t\t\t\t\t{this.props.errorMessage ? this.props.errorMessage : \"Required\"}\n\t\t\t\t</div>\n\t\t\t);\n\t\t}\n\t\treturn null;\n\t}\n\n\trenderHelp() {\n\t\tif (!_.isUndefined(this.props.help)) {\n\t\t\treturn <div className=\"genericInput-help\">{this.props.help}</div>;\n\t\t}\n\t\treturn null;\n\t}\n\n\topen() {\n\t\tif (this.props.disabled) {\n\t\t\treturn;\n\t\t}\n\t\tthis.setState({ open: !this.state.open });\n\t}\n\n\trenderOption() {\n\t\tif (!this.state.open) {\n\t\t\treturn null;\n\t\t}\n\t\treturn (\n\t\t\t<div style={styles.dropdownItemsWrapper}>\n\t\t\t\t{_.values(this.props.options).map((cat) => {\n\t\t\t\t\treturn (\n\t\t\t\t\t\t<div\n\t\t\t\t\t\t\tkey={cat.Key}\n\t\t\t\t\t\t\tclassName=\"subtleHover fontRegular fontSize-16 text-dark\"\n\t\t\t\t\t\t\tstyle={styles.dropDownOption}\n\t\t\t\t\t\t\tonClick={() => {\n\t\t\t\t\t\t\t\tthis.props.onSelect(cat.Key);\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{cat.Title}\n\t\t\t\t\t\t</div>\n\t\t\t\t\t);\n\t\t\t\t})}\n\t\t\t</div>\n\t\t);\n\t}\n\n\tgetBottomBorder() {\n\t\tif (!_.isUndefined(this.props.disabled) && this.props.disabled) {\n\t\t\treturn \"dropdownInput-bottomBorder--disabled\";\n\t\t}\n\t\tif (!_.isUndefined(this.props.showError) && this.props.showError()) {\n\t\t\treturn \"dropdownInput-bottomBorder--error\";\n\t\t}\n\t\treturn \"\";\n\t}\n\n\trenderInput() {\n\t\treturn (\n\t\t\t<div style={styles.row}>\n\t\t\t\t{this.props.isRequired && <div className=\"inputRequired \" />}\n\t\t\t\t<div\n\t\t\t\t\tonClick={this.open.bind(this)}\n\t\t\t\t\tclassName={`dropdownInput-bottomBorder ${this.getBottomBorder()} ${!this.props.disabled ? \"pointer\" : \"\"}`}\n\t\t\t\t>\n\t\t\t\t\t<input\n\t\t\t\t\t\tid={this.props.id}\n\t\t\t\t\t\tplaceholder={\n\t\t\t\t\t\t\t!_.isUndefined(this.props.placeholder)\n\t\t\t\t\t\t\t\t? this.props.placeholder\n\t\t\t\t\t\t\t\t: this.props.label\n\t\t\t\t\t\t}\n\t\t\t\t\t\ttype={!_.isUndefined(this.props.type) ? this.props.type : \"text\"}\n\t\t\t\t\t\tclassName={`genericInput ${!this.props.disabled ? \"pointer\" : \"\"}`}\n\t\t\t\t\t\tvalue={this.props.value}\n\t\t\t\t\t\tonChange={this.props.onChange}\n\t\t\t\t\t\tonKeyPress={this.props.onEnter}\n\t\t\t\t\t\tstyle={{ ...this.props.inputStyle }}\n\t\t\t\t\t\tdisabled\n\t\t\t\t\t\tautoComplete=\"false\"\n\t\t\t\t\t/>\n\t\t\t\t\t<div style={styles.chevronWrapper}>\n\t\t\t\t\t\t<Icon\n\t\t\t\t\t\t\tstyle={{\n\t\t\t\t\t\t\t\t...styles.chevron,\n\t\t\t\t\t\t\t\tcolor:\n\t\t\t\t\t\t\t\t\t!_.isUndefined(this.props.disabled) && this.props.disabled\n\t\t\t\t\t\t\t\t\t\t? \"transparent\"\n\t\t\t\t\t\t\t\t\t\t: INACTIVE_TEXT,\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\ticon={\n\t\t\t\t\t\t\t\tthis.state.open ? `fa-${\"chevron-up\"}` : `fa-${\"chevron-down\"}`\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t/>\n\t\t\t\t\t</div>\n\t\t\t\t\t{this.renderOption()}\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t);\n\t}\n\n\trender() {\n\t\treturn (\n\t\t\t<div\n\t\t\t\tref={this.setWrapperRef}\n\t\t\t\tclassName={`dropdownInput ${this.getClassNames()}`}\n\t\t\t\tstyle={{ marginBottom: 16, position: \"relative\", ...this.props.style }}\n\t\t\t>\n\t\t\t\t<div\n\t\t\t\t\tstyle={{\n\t\t\t\t\t\t...styles.row,\n\t\t\t\t\t\tmarginBottom: 0,\n\t\t\t\t\t\tjustifyContent: \"space-between\",\n\t\t\t\t\t}}\n\t\t\t\t>\n\t\t\t\t\t{!_.isUndefined(this.props.label) && (\n\t\t\t\t\t\t<div className=\"fieldLabel\" style={this.getLabelStyle()}>\n\t\t\t\t\t\t\t{this.props.label}\n\t\t\t\t\t\t</div>\n\t\t\t\t\t)}\n\t\t\t\t\t{this.renderError()}\n\t\t\t\t</div>\n\t\t\t\t{/* Render either generic input or large text area */}\n\t\t\t\t{this.renderInput()}\n\t\t\t\t{/* Render bottom help info */}\n\t\t\t\t{this.renderHelp()}\n\t\t\t</div>\n\t\t);\n\t}\n}\n\nconst styles = {\n\trow: {\n\t\tdisplay: \"flex\",\n\t\tflexDirection: \"row\",\n\t\talignItems: \"center\",\n\t},\n\tchevronWrapper: {\n\t\tdisplay: \"flex\",\n\t\tflexDirection: \"column\",\n\t\tjustifyContent: \"center\",\n\t},\n\tchevron: {\n\t\tfontSize: 12,\n\t\tpaddingBottom: 4,\n\t},\n\tdropdownItemsWrapper: {\n\t\tbackgroundColor: \"#fff\",\n\t\tposition: \"absolute\",\n\t\twidth: \"100%\",\n\t\ttop: 35,\n\t\tboxShadow: \"2px 2px 10px rgba(106, 163, 216, 0.7)\",\n\t\tzIndex: 90,\n\t\tborderRadius: 4,\n\t\tpaddingTop: 4,\n\t\tpaddingBottom: 4,\n\t},\n\tdropDownOption: {\n\t\tpadding: \"4px 16px\",\n\t},\n};\n\nexport { DropdownInput };\n","import React, { Component } from \"react\";\nimport { Icon } from \"@plusscommunities/pluss-icons\";\nimport _ from \"lodash\";\nimport { connect } from \"react-redux\";\nimport { setAuth } from \"../actions\";\nimport { profileActions, typeActions, userActions } from \"../apis\";\nimport { COLOUR_DUSK } from \"../colours\";\nimport { AudienceIncluder } from \"./AudienceIncluder\";\nimport { Text } from \"./Text\";\nimport { RadioButton } from \"./RadioButton\";\nimport { DropdownInput } from \"./DropdownInput\";\nimport { Tag } from \"./Tag\";\n\nclass AudienceSelector extends Component {\n\tconstructor(props) {\n\t\tsuper(props);\n\n\t\tthis.state = {\n\t\t\tcategories: [\n\t\t\t\t{\n\t\t\t\t\tTitle: \"All Primary Users\",\n\t\t\t\t\tKey: \"resident\",\n\t\t\t\t\tShortName: \"Primary\",\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tTitle: \"All Staff Users\",\n\t\t\t\t\tKey: \"staff\",\n\t\t\t\t\tShortName: \"Staff\",\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tTitle: \"All Linked Users\",\n\t\t\t\t\tKey: \"family\",\n\t\t\t\t\tShortName: \"Linked\",\n\t\t\t\t},\n\t\t\t],\n\t\t\ttypes: [],\n\t\t\tAudienceType: props.audienceType || \"All\",\n\t\t\tshowInclude: false,\n\t\t\tincludeList: [],\n\t\t\tshowExclude: false,\n\t\t\texcludeList: [],\n\t\t\tType: \"\",\n\t\t\tCategory: \"\",\n\n\t\t\tuserList: [],\n\t\t\ttagList: [],\n\t\t\tAudienceTagList: props.audienceTypeSelection || [],\n\t\t};\n\t}\n\n\tcomponentDidMount() {\n\t\tconst { custom, disallowSingleUsers, allowTags } = this.props;\n\t\tthis.getUserTypes();\n\t\tif (!disallowSingleUsers) this.getUsers();\n\t\tif (allowTags || custom) this.getUserTags();\n\t}\n\n\tcomponentDidUpdate(prevProps) {\n\t\tconst newState = {};\n\t\tif (prevProps.audienceType !== this.props.audienceType)\n\t\t\tnewState.AudienceType = this.props.audienceType;\n\t\tif (\n\t\t\t!_.isEqual(\n\t\t\t\tprevProps.audienceTypeSelection,\n\t\t\t\tthis.props.audienceTypeSelection,\n\t\t\t)\n\t\t)\n\t\t\tnewState.AudienceTagList = this.props.audienceTypeSelection;\n\t\tif (!_.isEmpty(newState)) this.setState(newState);\n\t}\n\n\tonSubmit() {\n\t\tif (\n\t\t\tthis.state.AudienceType === \"User\" &&\n\t\t\t_.isEmpty(this.state.includeList)\n\t\t) {\n\t\t\tthis.setState({ showInclude: true });\n\t\t}\n\t}\n\n\tgetAudienceType() {\n\t\treturn this.state.AudienceType;\n\t}\n\n\tgetAudienceTypeSelection() {\n\t\tconst { AudienceType, AudienceTagList, Category, Tag, Type } = this.state;\n\t\tif (AudienceType === \"Custom\") return AudienceTagList || [];\n\t\tif (AudienceType === \"Category\") return Category;\n\t\tif (AudienceType === \"UserTags\") return Tag;\n\t\treturn Type;\n\t}\n\n\tgetIncludeList() {\n\t\treturn this.state.includeList;\n\t}\n\n\tgetExcludeList() {\n\t\treturn this.state.excludeList;\n\t}\n\n\tgetUsers() {\n\t\tuserActions\n\t\t\t.fetchUsers(this.props.auth.site)\n\t\t\t.then((res) => {\n\t\t\t\tthis.setState({\n\t\t\t\t\tuserList: res.data.results.Items,\n\t\t\t\t});\n\t\t\t})\n\t\t\t.catch((error) => {});\n\t}\n\n\tgetUserTags() {\n\t\tprofileActions\n\t\t\t.getUserTagsBySite(this.props.auth.site)\n\t\t\t.then((res) => {\n\t\t\t\tthis.setState({\n\t\t\t\t\ttagList: res.data.map((t) => {\n\t\t\t\t\t\treturn { ...t, Key: t.Id };\n\t\t\t\t\t}),\n\t\t\t\t});\n\t\t\t})\n\t\t\t.catch((error) => {});\n\t}\n\n\tsetType(type, selection) {\n\t\tconst newState = { AudienceType: type };\n\t\tif (type === \"Custom\") newState.AudienceTagList = selection;\n\t\tif (type === \"UserType\") newState.Type = selection;\n\t\tif (type === \"Category\") newState.Category = selection;\n\t\tthis.setState(newState);\n\t}\n\n\tonChangeSelection = () => {\n\t\tconst { updateValidation, onChange } = this.props;\n\t\tconst isValid = this.validateAudienceSelection();\n\t\tif (updateValidation) updateValidation(isValid);\n\t\tif (onChange)\n\t\t\tonChange(\n\t\t\t\tthis.getAudienceType(),\n\t\t\t\tthis.getAudienceTypeSelection(),\n\t\t\t\tisValid,\n\t\t\t);\n\t};\n\n\tonChangeOption(type) {\n\t\tthis.setState({\n\t\t\tAudienceType: type,\n\t\t\tType: \"\",\n\t\t\tCategory: \"\",\n\t\t\tincludeList: [],\n\t\t\texcludeList: [],\n\t\t\tAudienceTagList: [],\n\t\t});\n\t\tsetTimeout(this.onChangeSelection, 50);\n\t}\n\n\tgetOptions() {\n\t\tconst options = [\n\t\t\t{\n\t\t\t\tLabel: \"All users\",\n\t\t\t\tValue: \"All\",\n\t\t\t\tonChange: () => this.onChangeOption(\"All\"),\n\t\t\t},\n\t\t];\n\t\tif (this.props.custom) {\n\t\t\toptions.push({\n\t\t\t\tLabel: \"Custom\",\n\t\t\t\tValue: \"Custom\",\n\t\t\t\tonChange: () => this.onChangeOption(\"Custom\"),\n\t\t\t});\n\t\t} else {\n\t\t\toptions.push({\n\t\t\t\tLabel: \"By user category\",\n\t\t\t\tValue: \"Category\",\n\t\t\t\tonChange: () => this.onChangeOption(\"Category\"),\n\t\t\t});\n\t\t}\n\t\tif (!this.props.disallowUserType) {\n\t\t\toptions.push({\n\t\t\t\tLabel: \"By user type\",\n\t\t\t\tValue: \"UserType\",\n\t\t\t\tonChange: () => this.onChangeOption(\"UserType\"),\n\t\t\t});\n\t\t}\n\t\tif (this.props.allowTags) {\n\t\t\toptions.push({\n\t\t\t\tLabel: \"By user tag\",\n\t\t\t\tValue: \"UserTags\",\n\t\t\t\tonChange: () => this.onChangeOption(\"UserTags\"),\n\t\t\t});\n\t\t}\n\t\tif (!this.props.disallowSingleUsers) {\n\t\t\toptions.push({\n\t\t\t\tLabel: \"To single users\",\n\t\t\t\tValue: \"User\",\n\t\t\t\tonChange: () => this.onChangeOption(\"User\"),\n\t\t\t});\n\t\t}\n\t\treturn options;\n\t}\n\n\tvalidateAudienceSelection() {\n\t\tconst { AudienceType, includeList } = this.state;\n\t\tif (AudienceType === \"Custom\" && !this.validateCustom()) return false;\n\t\tif (AudienceType === \"Category\" && !this.validateCategory()) return false;\n\t\tif (AudienceType === \"UserType\" && !this.validateType()) return false;\n\t\tif (AudienceType === \"User\" && _.isEmpty(includeList)) return false;\n\t\tif (AudienceType === \"UserTags\" && !this.validateTag()) return false;\n\t\treturn true;\n\t}\n\n\tselectType(key) {\n\t\tthis.setState({\n\t\t\tType: key,\n\t\t\tincludeList: [],\n\t\t\texcludeList: [],\n\t\t});\n\t\tsetTimeout(this.onChangeSelection, 50);\n\t}\n\n\tgetTypeTitle() {\n\t\tconst typeObject = _.find(this.state.types, (t) => {\n\t\t\treturn t.typeName === this.state.Type;\n\t\t});\n\t\tif (typeObject) {\n\t\t\treturn typeObject.displayName;\n\t\t}\n\t\treturn \"\";\n\t}\n\n\tselectTag = (key) => {\n\t\tthis.setState({\n\t\t\tTag: key,\n\t\t\tincludeList: [],\n\t\t\texcludeList: [],\n\t\t});\n\t\tsetTimeout(this.onChangeSelection, 50);\n\t};\n\n\tgetTagTitle() {\n\t\tconst tag = _.find(this.state.tagList, (t) => {\n\t\t\treturn t.Id === this.state.Tag;\n\t\t});\n\t\tif (tag) {\n\t\t\treturn tag.Title;\n\t\t}\n\t\treturn \"\";\n\t}\n\n\tgetUserTypes() {\n\t\ttypeActions\n\t\t\t.getUserTypes(this.props.auth.site)\n\t\t\t.then((res) => {\n\t\t\t\tthis.props.setAuth({ userTypes: _.cloneDeep(res.data) });\n\t\t\t\tres.data.forEach((e) => {\n\t\t\t\t\te.Title = e.displayName;\n\t\t\t\t\te.Key = e.typeName;\n\n\t\t\t\t\tif (e.category) {\n\t\t\t\t\t\tconst category = _.find(this.state.categories, (c) => {\n\t\t\t\t\t\t\treturn c.Key === e.category;\n\t\t\t\t\t\t});\n\t\t\t\t\t\tconst shortName = category ? `(${category.ShortName}) ` : \"\";\n\t\t\t\t\t\te.Title = `${shortName} ${e.Title}`;\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t\tconst newState = {\n\t\t\t\t\ttypes: res.data,\n\t\t\t\t};\n\t\t\t\tif (!_.some(res.data, (t) => t.category === \"family\")) {\n\t\t\t\t\tnewState.categories = _.filter(\n\t\t\t\t\t\tthis.state.categories,\n\t\t\t\t\t\t(c) => c.Key !== \"family\",\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t\tthis.setState(newState);\n\t\t\t})\n\t\t\t.catch((error) => {});\n\t}\n\n\tgetUserList() {\n\t\tif (this.state.AudienceType === \"UserType\" && !_.isEmpty(this.state.Type)) {\n\t\t\tlet users = [];\n\t\t\tthis.state.userList.forEach((element) => {\n\t\t\t\tif (element.type !== this.state.Type) users.push(element);\n\t\t\t});\n\t\t\treturn _.sortBy(users, \"displayName\");\n\t\t}\n\t\tif (\n\t\t\tthis.state.AudienceType === \"Category\" &&\n\t\t\t!_.isEmpty(this.state.Category)\n\t\t) {\n\t\t\tlet users = [];\n\t\t\tlet types = _.filter(this.state.types, (type) => {\n\t\t\t\treturn type.category === this.state.Category;\n\t\t\t}).map((type) => {\n\t\t\t\treturn type.typeName;\n\t\t\t});\n\t\t\tthis.state.userList.forEach((element) => {\n\t\t\t\tif (types.indexOf(element.type) === -1) {\n\t\t\t\t\tusers.push(element);\n\t\t\t\t}\n\t\t\t});\n\t\t\treturn _.sortBy(users, \"displayName\");\n\t\t}\n\t\treturn _.sortBy(this.state.userList, \"displayName\");\n\t}\n\n\tselectCat(key, e) {\n\t\tthis.setState({\n\t\t\tCategory: key,\n\t\t\tincludeList: [],\n\t\t\texcludeList: [],\n\t\t});\n\t\tsetTimeout(this.onChangeSelection, 50);\n\t}\n\n\tgetCatTitle() {\n\t\tconst typeObject = _.find(this.state.categories, (t) => {\n\t\t\treturn t.Key === this.state.Category;\n\t\t});\n\t\tif (typeObject) {\n\t\t\treturn typeObject.Title;\n\t\t}\n\t\treturn \"\";\n\t}\n\n\tvalidateCustom = () => {\n\t\treturn !_.isEmpty(this.state.AudienceTagList);\n\t};\n\n\tvalidateCategory() {\n\t\treturn (\n\t\t\t!_.isUndefined(this.state.Category) && !_.isEmpty(this.state.Category)\n\t\t);\n\t}\n\n\tvalidateType() {\n\t\treturn !_.isUndefined(this.state.Type) && !_.isEmpty(this.state.Type);\n\t}\n\n\tvalidateTag() {\n\t\treturn !_.isEmpty(this.state.Tag);\n\t}\n\n\tshowUserPickers(isInclude) {\n\t\tif (isInclude && this.state.AudienceType === \"User\") {\n\t\t\treturn true;\n\t\t}\n\t\tif (isInclude && !this.props.allowIncludes) {\n\t\t\treturn false;\n\t\t}\n\t\tif (!isInclude && !this.props.allowExcludes) {\n\t\t\treturn false;\n\t\t}\n\t\tif (isInclude && this.state.AudienceType === \"All\") {\n\t\t\treturn false;\n\t\t}\n\t\tif (!isInclude && this.state.AudienceType === \"User\") {\n\t\t\treturn false;\n\t\t}\n\t\tif (\n\t\t\t(this.state.AudienceType === \"Category\" &&\n\t\t\t\t_.isEmpty(this.state.Category)) ||\n\t\t\t(this.state.AudienceType === \"UserType\" && _.isEmpty(this.state.Type))\n\t\t) {\n\t\t\treturn false;\n\t\t}\n\t\treturn true;\n\t}\n\n\tgetUserExcludeList() {\n\t\tif (this.state.AudienceType === \"UserType\" && !_.isEmpty(this.state.Type)) {\n\t\t\tlet users = [];\n\t\t\tthis.state.userList.forEach((element) => {\n\t\t\t\tif (element.type === this.state.Type) users.push(element);\n\t\t\t});\n\t\t\treturn _.sortBy(users, \"displayName\");\n\t\t}\n\t\tif (\n\t\t\tthis.state.AudienceType === \"Category\" &&\n\t\t\t!_.isEmpty(this.state.Category)\n\t\t) {\n\t\t\tlet users = [];\n\t\t\tlet types = _.filter(this.state.types, (type) => {\n\t\t\t\treturn type.category === this.state.Category;\n\t\t\t}).map((type) => {\n\t\t\t\treturn type.typeName;\n\t\t\t});\n\t\t\tthis.state.userList.forEach((element) => {\n\t\t\t\tif (types.indexOf(element.type) > -1) {\n\t\t\t\t\tusers.push(element);\n\t\t\t\t}\n\t\t\t});\n\t\t\treturn _.sortBy(users, \"displayName\");\n\t\t}\n\t\treturn _.sortBy(this.state.userList, \"displayName\");\n\t}\n\n\taddToInc(user) {\n\t\tlet list = [...this.state.includeList];\n\t\tlist.push({\n\t\t\tId: user.Id,\n\t\t\tdisplayName: user.displayName,\n\t\t\tprofilePic: user.profilePic,\n\t\t});\n\t\tthis.setState({ includeList: list });\n\t\tsetTimeout(this.onChangeSelection, 50);\n\t}\n\n\tremoveUserInc(user) {\n\t\tthis.setState({\n\t\t\tincludeList: _.filter(this.state.includeList, (ev) => {\n\t\t\t\treturn ev.Id !== user.Id;\n\t\t\t}),\n\t\t});\n\t\tsetTimeout(this.onChangeSelection, 50);\n\t}\n\n\taddToEx(user) {\n\t\tlet list = [...this.state.excludeList];\n\t\tlist.push({\n\t\t\tId: user.Id,\n\t\t\tdisplayName: user.displayName,\n\t\t\tprofilePic: user.profilePic,\n\t\t});\n\t\tthis.setState({ excludeList: list });\n\t}\n\n\tremoveUserEx(user) {\n\t\tthis.setState({\n\t\t\texcludeList: _.filter(this.state.excludeList, (ev) => {\n\t\t\t\treturn ev.Id !== user.Id;\n\t\t\t}),\n\t\t});\n\t}\n\n\tgetAvailableAudienceTags = (includeSelected = false) => {\n\t\tconst { categories, types, tagList, AudienceTagList } = this.state;\n\t\tconst categoryTags = categories.map((c) => {\n\t\t\treturn {\n\t\t\t\tAudienceType: \"Category\",\n\t\t\t\tAudienceTypeSelection: c.Key,\n\t\t\t\tId: `category_${c.Key}`,\n\t\t\t\tTitle: c.Title,\n\t\t\t};\n\t\t});\n\t\tconst userTypeTags = types.map((t) => {\n\t\t\treturn {\n\t\t\t\tAudienceType: \"UserType\",\n\t\t\t\tAudienceTypeSelection: t.typeName,\n\t\t\t\tId: `userType_${t.typeName}`,\n\t\t\t\tTitle: `User Type: ${t.displayName}`,\n\t\t\t};\n\t\t});\n\t\tconst userTagTags = tagList.map((t) => {\n\t\t\treturn {\n\t\t\t\tAudienceType: \"UserTags\",\n\t\t\t\tAudienceTypeSelection: t.Id,\n\t\t\t\tId: `userTag_${t.Id}`,\n\t\t\t\tTitle: `User Tag: ${t.Title}`,\n\t\t\t};\n\t\t});\n\t\tconst result = [...categoryTags, ...userTypeTags, ...userTagTags];\n\t\treturn includeSelected\n\t\t\t? result\n\t\t\t: result.filter((t) => !_.some(AudienceTagList, (at) => at.Id === t.Id));\n\t};\n\n\tonAttachAudienceTag = (tag) => {\n\t\tconst AudienceTagList = [...this.state.AudienceTagList, tag];\n\t\tthis.setState({ AudienceTagList }, this.onChangeSelection);\n\t};\n\n\tonDetachAudienceTag = (tag) => {\n\t\tconst AudienceTagList = _.filter(\n\t\t\tthis.state.AudienceTagList,\n\t\t\t(at) => at.Id !== tag.Id,\n\t\t);\n\t\tthis.setState({ AudienceTagList }, this.onChangeSelection);\n\t};\n\n\trenderExcludes() {\n\t\tif (!this.showUserPickers(false)) {\n\t\t\treturn null;\n\t\t}\n\t\treturn (\n\t\t\t<div key=\"excludes\" className=\"marginTop-16\">\n\t\t\t\t<div\n\t\t\t\t\tclassName=\"flex flex-between pointer\"\n\t\t\t\t\tonClick={() => {\n\t\t\t\t\t\tthis.setState({ showExclude: !this.state.showExclude });\n\t\t\t\t\t}}\n\t\t\t\t>\n\t\t\t\t\t<div className=\"flex\">\n\t\t\t\t\t\t<Text type=\"formTitleSmall\" className=\"marginBottom-16\">\n\t\t\t\t\t\t\tExclude Users From Selection{\" \"}\n\t\t\t\t\t\t\t{`(${this.state.excludeList.length})`}\n\t\t\t\t\t\t</Text>\n\t\t\t\t\t</div>\n\t\t\t\t\t<Icon\n\t\t\t\t\t\tstyle={{ color: COLOUR_DUSK, fontSize: 12 }}\n\t\t\t\t\t\ticon={\n\t\t\t\t\t\t\tthis.state.showExclude\n\t\t\t\t\t\t\t\t? `fa-${\"chevron-up\"}`\n\t\t\t\t\t\t\t\t: `fa-${\"chevron-down\"}`\n\t\t\t\t\t\t}\n\t\t\t\t\t/>\n\t\t\t\t</div>\n\t\t\t\t{this.state.showExclude && (\n\t\t\t\t\t<AudienceIncluder\n\t\t\t\t\t\tadd={this.addToEx.bind(this)}\n\t\t\t\t\t\tremove={this.removeUserEx.bind(this)}\n\t\t\t\t\t\tselectionList={this.state.excludeList}\n\t\t\t\t\t\tuserList={this.getUserExcludeList()}\n\t\t\t\t\t/>\n\t\t\t\t)}\n\t\t\t</div>\n\t\t);\n\t}\n\n\trenderIncludes() {\n\t\tif (!this.showUserPickers(true)) {\n\t\t\treturn null;\n\t\t}\n\t\treturn (\n\t\t\t<div key=\"includes\" className=\"marginTop-16\">\n\t\t\t\t<div\n\t\t\t\t\tclassName=\"flex flex-between pointer\"\n\t\t\t\t\tonClick={() => {\n\t\t\t\t\t\tthis.setState({ showInclude: !this.state.showInclude });\n\t\t\t\t\t}}\n\t\t\t\t>\n\t\t\t\t\t<div className=\"flex\">\n\t\t\t\t\t\t<Text type=\"formTitleSmall\" className=\"marginBottom-16\">\n\t\t\t\t\t\t\t{this.state.AudienceType !== \"User\" ? \"Add Other\" : \"Select\"}{\" \"}\n\t\t\t\t\t\t\tUsers {`(${this.state.includeList.length})`}\n\t\t\t\t\t\t</Text>\n\t\t\t\t\t</div>\n\t\t\t\t\t<Icon\n\t\t\t\t\t\tstyle={{ color: COLOUR_DUSK, fontSize: 12 }}\n\t\t\t\t\t\ticon={\n\t\t\t\t\t\t\tthis.state.showInclude\n\t\t\t\t\t\t\t\t? `fa-${\"chevron-up\"}`\n\t\t\t\t\t\t\t\t: `fa-${\"chevron-down\"}`\n\t\t\t\t\t\t}\n\t\t\t\t\t/>\n\t\t\t\t</div>\n\t\t\t\t{this.state.showInclude && (\n\t\t\t\t\t<AudienceIncluder\n\t\t\t\t\t\tadd={this.addToInc.bind(this)}\n\t\t\t\t\t\tremove={this.removeUserInc.bind(this)}\n\t\t\t\t\t\tselectionList={this.state.includeList}\n\t\t\t\t\t\tuserList={this.getUserList()}\n\t\t\t\t\t/>\n\t\t\t\t)}\n\t\t\t</div>\n\t\t);\n\t}\n\n\trenderAssignedAudiences() {\n\t\tconst { AudienceTagList } = this.state;\n\t\tconst { maxWidth } = this.props;\n\n\t\treturn (\n\t\t\t<div className=\"selectedAudienceTags\" style={{ maxWidth }}>\n\t\t\t\t{_.isEmpty(AudienceTagList) && (\n\t\t\t\t\t<Text type=\"body\" className=\"text-italic\">\n\t\t\t\t\t\tNo audiences selected\n\t\t\t\t\t</Text>\n\t\t\t\t)}\n\t\t\t\t{AudienceTagList.map((t) => {\n\t\t\t\t\treturn (\n\t\t\t\t\t\t<Tag\n\t\t\t\t\t\t\tkey={t.Id}\n\t\t\t\t\t\t\tclassName=\"marginLeft-16 marginBottom-8\"\n\t\t\t\t\t\t\ttext={t.Title}\n\t\t\t\t\t\t\trightIcon=\"xmark\"\n\t\t\t\t\t\t\trightClick={() => this.onDetachAudienceTag(t)}\n\t\t\t\t\t\t/>\n\t\t\t\t\t);\n\t\t\t\t})}\n\t\t\t</div>\n\t\t);\n\t}\n\n\trenderAvailableAudiences() {\n\t\tconst { maxWidth } = this.props;\n\t\tconst tags = this.getAvailableAudienceTags();\n\n\t\treturn (\n\t\t\t<div className=\"availableAudienceTags\" style={{ maxWidth }}>\n\t\t\t\t{tags.map((t) => {\n\t\t\t\t\treturn (\n\t\t\t\t\t\t<Tag\n\t\t\t\t\t\t\tkey={t.Id}\n\t\t\t\t\t\t\tclassName=\"marginLeft-16 marginBottom-8\"\n\t\t\t\t\t\t\ttext={t.Title}\n\t\t\t\t\t\t\tonClick={() => this.onAttachAudienceTag(t)}\n\t\t\t\t\t\t/>\n\t\t\t\t\t);\n\t\t\t\t})}\n\t\t\t</div>\n\t\t);\n\t}\n\n\trenderCustom() {\n\t\tif (this.state.AudienceType !== \"Custom\") return null;\n\n\t\treturn (\n\t\t\t<div className=\"optionsContent_bottom\">\n\t\t\t\t<Text type=\"formLabel\">Selected Audience</Text>\n\t\t\t\t{this.renderAssignedAudiences()}\n\t\t\t\t<Text type=\"formLabel\" className=\"marginTop-32\">\n\t\t\t\t\tSelect Audience\n\t\t\t\t</Text>\n\t\t\t\t{this.renderAvailableAudiences()}\n\t\t\t</div>\n\t\t);\n\t}\n\n\trender() {\n\t\treturn (\n\t\t\t<div>\n\t\t\t\t{/* <div className={this.props.className || 'padding-32 paddingVertical-40 bottomDivideBorder'}> */}\n\t\t\t\t<Text type=\"formTitleSmall\" className=\"marginBottom-16\">\n\t\t\t\t\t{this.props.title || \"Target Audience\"}\n\t\t\t\t</Text>\n\t\t\t\t<RadioButton\n\t\t\t\t\tisActive={this.state.AudienceType}\n\t\t\t\t\trowStyle={{ flexDirection: \"column\" }}\n\t\t\t\t\tbuttonStyle={{ marginBottom: 8 }}\n\t\t\t\t\toptions={this.getOptions()}\n\t\t\t\t\tdisabled={this.props.disabled}\n\t\t\t\t/>\n\t\t\t\t{this.state.AudienceType === \"Category\" && (\n\t\t\t\t\t<DropdownInput\n\t\t\t\t\t\tid=\"typeSelect\"\n\t\t\t\t\t\t// label='User Category'\n\t\t\t\t\t\talwaysShowLabel\n\t\t\t\t\t\tplaceholder=\"User Category\"\n\t\t\t\t\t\tvalue={this.getCatTitle()}\n\t\t\t\t\t\tisValid={() => {\n\t\t\t\t\t\t\treturn this.validateCategory();\n\t\t\t\t\t\t}}\n\t\t\t\t\t\tshowError={() => {\n\t\t\t\t\t\t\treturn this.state.showWarnings && !this.validateCategory();\n\t\t\t\t\t\t}}\n\t\t\t\t\t\toptions={this.state.categories}\n\t\t\t\t\t\tonSelect={this.selectCat.bind(this)}\n\t\t\t\t\t\tstyle={{ width: 325, marginTop: 16 }}\n\t\t\t\t\t\tisRequired\n\t\t\t\t\t\tdisabled={this.props.disabled}\n\t\t\t\t\t/>\n\t\t\t\t)}\n\t\t\t\t{this.state.AudienceType === \"UserType\" && (\n\t\t\t\t\t<DropdownInput\n\t\t\t\t\t\tid=\"typeSelect\"\n\t\t\t\t\t\t// label='User Type'\n\t\t\t\t\t\talwaysShowLabel\n\t\t\t\t\t\tplaceholder=\"User Type\"\n\t\t\t\t\t\tvalue={this.getTypeTitle()}\n\t\t\t\t\t\tisValid={() => {\n\t\t\t\t\t\t\treturn this.validateType();\n\t\t\t\t\t\t}}\n\t\t\t\t\t\tshowError={() => {\n\t\t\t\t\t\t\treturn this.state.showWarnings && !this.validateType();\n\t\t\t\t\t\t}}\n\t\t\t\t\t\toptions={this.state.types}\n\t\t\t\t\t\tonSelect={this.selectType.bind(this)}\n\t\t\t\t\t\tstyle={{ width: 325, marginTop: 16 }}\n\t\t\t\t\t\tisRequired\n\t\t\t\t\t\tdisabled={this.props.disabled}\n\t\t\t\t\t/>\n\t\t\t\t)}\n\t\t\t\t{this.state.AudienceType === \"UserTags\" && (\n\t\t\t\t\t<DropdownInput\n\t\t\t\t\t\tid=\"tagSelect\"\n\t\t\t\t\t\talwaysShowLabel\n\t\t\t\t\t\tplaceholder=\"User Tag\"\n\t\t\t\t\t\tvalue={this.getTagTitle()}\n\t\t\t\t\t\tisValid={() => {\n\t\t\t\t\t\t\treturn this.validateTag();\n\t\t\t\t\t\t}}\n\t\t\t\t\t\tshowError={() => {\n\t\t\t\t\t\t\treturn this.state.showWarnings && !this.validateTag();\n\t\t\t\t\t\t}}\n\t\t\t\t\t\toptions={this.state.tagList}\n\t\t\t\t\t\tonSelect={this.selectTag}\n\t\t\t\t\t\tstyle={{ width: 325, marginTop: 16 }}\n\t\t\t\t\t\tisRequired\n\t\t\t\t\t\tdisabled={this.props.disabled}\n\t\t\t\t\t/>\n\t\t\t\t)}\n\t\t\t\t{/* </div> */}\n\t\t\t\t{this.renderIncludes()}\n\t\t\t\t{this.renderExcludes()}\n\t\t\t\t{this.renderCustom()}\n\t\t\t</div>\n\t\t);\n\t}\n}\n\nconst toExport = connect(null, { setAuth }, null, { forwardRef: true })(\n\tAudienceSelector,\n);\n\nexport { toExport as AudienceSelector };\n","import React, { Component } from \"react\";\nimport { Button } from \"./Button\";\nimport { COLOUR_BRANDING_MAIN } from \"../colours\";\n\nclass TextFormatPopup extends Component {\n\trender() {\n\t\tif (!this.props.isOpen) {\n\t\t\treturn null;\n\t\t}\n\t\treturn (\n\t\t\t<div className=\"successPopupBackground pointer\">\n\t\t\t\t<div className=\"successPopup\">\n\t\t\t\t\t<p className={`successPopup_text successPopup_text-small`}>\n\t\t\t\t\t\t<br />\n\t\t\t\t\t\t<span style={{ fontWeight: 600 }}>Text formatting:</span>\n\t\t\t\t\t\t<br />\n\t\t\t\t\t\t<br />\n\t\t\t\t\t\tSurround text with <span style={{ fontWeight: 400 }}>**</span> to\n\t\t\t\t\t\tcreate bold text:\n\t\t\t\t\t\t<br />\n\t\t\t\t\t\t<span style={{ fontWeight: 400 }}>**</span>Some Text\n\t\t\t\t\t\t<span style={{ fontWeight: 400 }}>**</span> ={\" \"}\n\t\t\t\t\t\t<span style={{ fontWeight: 600 }}>Some Text</span>\n\t\t\t\t\t\t<br />\n\t\t\t\t\t\t<br />\n\t\t\t\t\t\tSurround text with <span style={{ fontWeight: 400 }}>*t*</span> to\n\t\t\t\t\t\tcreate a title:\n\t\t\t\t\t\t<br />\n\t\t\t\t\t\t<span style={{ fontWeight: 400 }}>*t*</span>Some Text\n\t\t\t\t\t\t<span style={{ fontWeight: 400 }}>*t*</span> ={\" \"}\n\t\t\t\t\t\t<span\n\t\t\t\t\t\t\tstyle={{\n\t\t\t\t\t\t\t\tfontWeight: 600,\n\t\t\t\t\t\t\t\tcolor: COLOUR_BRANDING_MAIN,\n\t\t\t\t\t\t\t\tfontSize: 20,\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\tSome Text\n\t\t\t\t\t\t</span>\n\t\t\t\t\t\t<br />\n\t\t\t\t\t\t<br />\n\t\t\t\t\t\tSurround text with <span style={{ fontWeight: 400 }}>*s*</span> to\n\t\t\t\t\t\tcreate a smaller title:\n\t\t\t\t\t\t<br />\n\t\t\t\t\t\t<span style={{ fontWeight: 400 }}>*s*</span>Some Text\n\t\t\t\t\t\t<span style={{ fontWeight: 400 }}>*s*</span> ={\" \"}\n\t\t\t\t\t\t<span style={{ fontWeight: 600, fontSize: 16 }}>Some Text</span>\n\t\t\t\t\t\t<br />\n\t\t\t\t\t\t<br />\n\t\t\t\t\t\tCreate links with{\" \"}\n\t\t\t\t\t\t<span style={{ fontWeight: 400 }}>[website|text]</span>:\n\t\t\t\t\t\t<br />\n\t\t\t\t\t\t<span style={{ fontWeight: 400 }}>\n\t\t\t\t\t\t\t[https://example.com|Click here]\n\t\t\t\t\t\t</span>{\" \"}\n\t\t\t\t\t\t={\" \"}\n\t\t\t\t\t\t<a\n\t\t\t\t\t\t\thref=\"https://example.com\"\n\t\t\t\t\t\t\ttarget=\"_blank\"\n\t\t\t\t\t\t\trel=\"noopener noreferrer\"\n\t\t\t\t\t\t\tstyle={{ fontWeight: 600, fontSize: 16 }}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\tClick here\n\t\t\t\t\t\t</a>\n\t\t\t\t\t</p>\n\t\t\t\t\t<div className=\"successPopup_buttons\">\n\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\tbuttonClassName=\"successPopup_button\"\n\t\t\t\t\t\t\tbuttonType=\"primary\"\n\t\t\t\t\t\t\tisActive\n\t\t\t\t\t\t\tonClick={this.props.onClose}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\tClose\n\t\t\t\t\t\t</Button>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t);\n\t}\n}\n\nexport { TextFormatPopup };\n","import React, { Component } from \"react\";\nimport _ from \"lodash\";\nimport { COLOUR_BRANDING_MAIN } from \"../colours\";\nimport { Icon } from \"@plusscommunities/pluss-icons\";\nimport { Text } from \"./Text\";\n\nclass OptionsSection extends Component {\n\tgetSelectedOption() {\n\t\treturn _.find(this.props.options, (o) => this.props.selected === o.key);\n\t}\n\n\tgetTitle() {\n\t\tconst selectedOption = this.getSelectedOption();\n\t\tif (!selectedOption) {\n\t\t\treturn \"\";\n\t\t}\n\t\treturn selectedOption.text;\n\t}\n\n\trenderOptionButton(o) {\n\t\tconst isSelected = this.props.selected === o.key;\n\t\treturn (\n\t\t\t<div\n\t\t\t\tclassName={`optionsButton${isSelected ? \" optionsButton-selected\" : \"\"}`}\n\t\t\t\tkey={o.key}\n\t\t\t\tonClick={() => {\n\t\t\t\t\tthis.props.selectOption(o.key);\n\t\t\t\t}}\n\t\t\t>\n\t\t\t\t<div className=\"optionsButton_iconContainer\">\n\t\t\t\t\t<Icon className=\"optionsButton_icon\" icon={o.icon} />\n\t\t\t\t</div>\n\t\t\t\t<Text type=\"formLabelSmall\" className=\"optionsButton_text\">\n\t\t\t\t\t{o.text}\n\t\t\t\t</Text>\n\t\t\t</div>\n\t\t);\n\t}\n\n\trenderContent() {\n\t\tconst selectedOption = this.getSelectedOption();\n\t\tif (selectedOption && selectedOption.content) {\n\t\t\treturn selectedOption.content;\n\t\t}\n\t\treturn this.props.children;\n\t}\n\n\trender() {\n\t\treturn (\n\t\t\t<div\n\t\t\t\tclassName={`optionsSection${this.props.overflowButtons ? \" optionsSection-overflowButtons\" : \"\"}`}\n\t\t\t>\n\t\t\t\t<div className=\"optionsSection_banner\">\n\t\t\t\t\t<div className=\"optionsSection_banner_top\">\n\t\t\t\t\t\t<Text\n\t\t\t\t\t\t\ttype=\"formTitleMedium\"\n\t\t\t\t\t\t\tclassName=\"optionsSection_banner_top_title\"\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\tMore Options\n\t\t\t\t\t\t</Text>\n\t\t\t\t\t</div>\n\t\t\t\t\t<div className=\"optionsSection_banner_buttonSection\">\n\t\t\t\t\t\t{this.props.options.map((o) => {\n\t\t\t\t\t\t\treturn this.renderOptionButton(o);\n\t\t\t\t\t\t})}\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t\t<div className=\"optionsContent\">\n\t\t\t\t\t<div className=\"optionsContent_box\">\n\t\t\t\t\t\t<div className=\"optionsContent_box_top\">\n\t\t\t\t\t\t\t<Text type=\"formTitleSmall\">{this.getTitle()}</Text>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t\t{this.renderContent()}\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t);\n\t}\n}\n\nexport { OptionsSection };\n","import React, { Component } from \"react\";\nimport { connect } from \"react-redux\";\nimport Lottie from \"react-lottie\";\nimport _ from \"lodash\";\nimport { unauthedFunction } from \"../session\";\nimport { Popup } from \"./Popup\";\nimport { GenericInput } from \"./GenericInput\";\nimport { Text } from \"./Text\";\nimport { Button } from \"./Button\";\nimport { DropdownInput } from \"./DropdownInput\";\nimport { typeActions, utilityActions } from \"../apis\";\nimport Config from \"../config\";\nimport { COLOUR_BRANDING_APP } from \"../colours\";\nimport { getPluralOptions } from \"../helper\";\n\nclass MakerPopup extends Component {\n\tconstructor(props) {\n\t\tsuper(props);\n\n\t\tthis.sizes = [\n\t\t\t{ Key: \"A3\", Title: \"A3\" },\n\t\t\t{ Key: \"A4\", Title: \"A4\" },\n\t\t\t{ Key: \"A5\", Title: \"A5\" },\n\t\t];\n\t\tthis.formats = [\n\t\t\t{ Key: \"pdf\", Title: \"PDF\" },\n\t\t\t{ Key: \"png\", Title: \"PNG\" },\n\t\t\t{ Key: \"jpg\", Title: \"JPEG\" },\n\t\t];\n\n\t\tthis.lottieAnimationUrl =\n\t\t\t\"https://pluss-prd-media.s3-ap-southeast-2.amazonaws.com/assets/lottie-layout.json\";\n\n\t\tthis.state = {\n\t\t\t...this.props.initialData,\n\t\t\tlogo: null,\n\t\t\tcolour: null,\n\t\t\tsubmitting: false,\n\t\t\tloadingBranding: true,\n\t\t\tasset: null,\n\t\t\tselectedSize: \"A4\",\n\t\t\tselectedFormat: \"pdf\",\n\t\t\tlottieConfig: {\n\t\t\t\tloop: true,\n\t\t\t\tautoplay: true,\n\t\t\t\tname: \"lottie-layout\",\n\t\t\t},\n\t\t};\n\t}\n\n\tcomponentDidMount() {\n\t\tthis.getBranding();\n\t\tthis.getLottieConfig();\n\t}\n\n\tgetBranding() {\n\t\ttypeActions.getSiteBranding(this.props.auth.site).then((res) => {\n\t\t\tconsole.log(res.data);\n\t\t\tthis.setState({\n\t\t\t\tloadingBranding: false,\n\t\t\t\tsiteName: res.data.Name,\n\t\t\t\tcolour: res.data.MainBrandingColour || COLOUR_BRANDING_APP,\n\t\t\t\tlogo: res.data.Logo || Config.env.logo,\n\t\t\t\theaderType: res.data.HeaderType || \"white\",\n\t\t\t});\n\t\t});\n\t}\n\n\tgetLottieConfig() {\n\t\tunauthedFunction({\n\t\t\tmethod: \"GET\",\n\t\t\turl: this.lottieAnimationUrl,\n\t\t}).then((res) => {\n\t\t\tthis.setState({\n\t\t\t\tlottieConfig: {\n\t\t\t\t\t...this.state.lottieConfig,\n\t\t\t\t\tanimationData: res.data,\n\t\t\t\t},\n\t\t\t});\n\t\t});\n\t}\n\n\thandleChange(key, value) {\n\t\tthis.setState({ [key]: value });\n\t}\n\n\tselectSize = (size) => {\n\t\tthis.setState({\n\t\t\tselectedSize: size,\n\t\t});\n\t};\n\n\tgetSelectedSizeTitle = () => {\n\t\treturn _.find(this.sizes, (f) => {\n\t\t\treturn f.Key === this.state.selectedSize;\n\t\t}).Title;\n\t};\n\n\tselectFormat = (format) => {\n\t\tthis.setState({\n\t\t\tselectedFormat: format,\n\t\t});\n\t};\n\n\tgetSelectedFormatTitle = () => {\n\t\treturn _.find(this.formats, (f) => {\n\t\t\treturn f.Key === this.state.selectedFormat;\n\t\t}).Title;\n\t};\n\n\tcompileData = () => {\n\t\tconst result = {};\n\t\tthis.props.inputs.forEach((input) => {\n\t\t\tresult[input.key] = this.state[input.key];\n\t\t});\n\t\tresult.colour = this.state.colour;\n\t\tresult.logo = this.state.logo;\n\t\tresult.headerType = this.state.headerType;\n\t\treturn { ...result, ...this.props.requestData };\n\t};\n\n\tcompileRequestData = () => {\n\t\tconst result = {};\n\n\t\tif (!this.props.hideFormat) {\n\t\t\tresult.format = this.state.selectedFormat;\n\t\t}\n\t\tif (!this.props.hideSize) {\n\t\t\tresult.size = this.state.selectedSize;\n\t\t}\n\t\treturn { ...result, ...this.props.requestData, data: this.compileData() };\n\t};\n\n\tisReadyToSubmit = () => {\n\t\tif (this.state.loadingBranding) {\n\t\t\treturn false;\n\t\t}\n\t\tif (this.state.submitting) {\n\t\t\treturn false;\n\t\t}\n\t\treturn true;\n\t};\n\n\tonGenerateAsset = () => {\n\t\tif (!this.isReadyToSubmit()) {\n\t\t\treturn;\n\t\t}\n\t\tconst data = this.compileRequestData();\n\t\tthis.setState({\n\t\t\tsubmitting: true,\n\t\t});\n\n\t\tutilityActions\n\t\t\t.generateMake(this.props.templateId, data)\n\t\t\t.then((res) => {\n\t\t\t\tthis.setState({\n\t\t\t\t\tsubmitting: false,\n\t\t\t\t\tasset: res.data.resultUrl,\n\t\t\t\t});\n\t\t\t})\n\t\t\t.catch((err) => {\n\t\t\t\tthis.setState({\n\t\t\t\t\tsubmitting: false,\n\t\t\t\t});\n\t\t\t});\n\t};\n\n\tdownloadAsset = () => {\n\t\twindow.open(this.state.asset, \"_blank\");\n\t};\n\n\tgetButtons() {\n\t\tif (this.state.submitting) {\n\t\t\treturn [];\n\t\t}\n\t\tif (this.state.asset) {\n\t\t\treturn [\n\t\t\t\t{\n\t\t\t\t\ttype: \"tertiary\",\n\t\t\t\t\tonClick: this.props.onClose,\n\t\t\t\t\tisActive: true,\n\t\t\t\t\ttext: \"Done\",\n\t\t\t\t},\n\t\t\t];\n\t\t}\n\t\treturn [\n\t\t\t{\n\t\t\t\ttype: \"primary\",\n\t\t\t\tonClick: this.onGenerateAsset,\n\t\t\t\tisActive: this.isReadyToSubmit(),\n\t\t\t\ttext: \"Create\",\n\t\t\t},\n\t\t\t{\n\t\t\t\ttype: \"tertiary\",\n\t\t\t\tonClick: this.props.onClose,\n\t\t\t\tisActive: true,\n\t\t\t\ttext: \"Cancel\",\n\t\t\t},\n\t\t];\n\t}\n\n\trenderInput(input) {\n\t\tif (input.type === \"array\") {\n\t\t\treturn (\n\t\t\t\t<div className=\"marginTop-16\">\n\t\t\t\t\t<Text type=\"formLabel\">{input.title}</Text>\n\t\t\t\t\t<Text type=\"body\">\n\t\t\t\t\t\t{this.state[input.key].length}{\" \"}\n\t\t\t\t\t\t{getPluralOptions(this.state[input.key].length, \"entry\", \"entries\")}\n\t\t\t\t\t</Text>\n\t\t\t\t</div>\n\t\t\t);\n\t\t}\n\t\treturn (\n\t\t\t<GenericInput\n\t\t\t\tkey={input.key}\n\t\t\t\tid={`maker_${input.key}`}\n\t\t\t\ttype={input.type}\n\t\t\t\tlabel={input.title}\n\t\t\t\tvalue={this.state[input.key]}\n\t\t\t\tonChange={(e) => this.setState({ [input.key]: e.target.value })}\n\t\t\t\talwaysShowLabel\n\t\t\t\tdisabled={input.readOnly}\n\t\t\t\tplaceholder={input.placeholder}\n\t\t\t/>\n\t\t);\n\t}\n\n\trenderContent() {\n\t\tif (this.state.submitting) {\n\t\t\treturn (\n\t\t\t\t<div className=\"flex flex-column flex-center\">\n\t\t\t\t\t{this.state.lottieConfig.animationData && (\n\t\t\t\t\t\t<Lottie\n\t\t\t\t\t\t\tkey=\"lottie-layout\"\n\t\t\t\t\t\t\theight={260}\n\t\t\t\t\t\t\twidth={260}\n\t\t\t\t\t\t\toptions={this.state.lottieConfig}\n\t\t\t\t\t\t\tisClickToPauseDisabled\n\t\t\t\t\t\t/>\n\t\t\t\t\t)}\n\t\t\t\t\t<Text type=\"h3\" className=\"marginTop-16\">\n\t\t\t\t\t\tGenerating\n\t\t\t\t\t</Text>\n\t\t\t\t</div>\n\t\t\t);\n\t\t}\n\t\tif (this.state.asset) {\n\t\t\treturn (\n\t\t\t\t<div>\n\t\t\t\t\t<Text type=\"h4\">Your file is ready</Text>\n\t\t\t\t\t<Button\n\t\t\t\t\t\tleftIcon=\"download\"\n\t\t\t\t\t\tbuttonType=\"primary\"\n\t\t\t\t\t\tonClick={this.downloadAsset}\n\t\t\t\t\t\tisActive\n\t\t\t\t\t\tclassName=\"marginTop-16\"\n\t\t\t\t\t>\n\t\t\t\t\t\tDownload\n\t\t\t\t\t</Button>\n\t\t\t\t</div>\n\t\t\t);\n\t\t}\n\t\treturn (\n\t\t\t<div>\n\t\t\t\t{!this.props.hideSize && (\n\t\t\t\t\t<DropdownInput\n\t\t\t\t\t\tid=\"size\"\n\t\t\t\t\t\tlabel=\"Size\"\n\t\t\t\t\t\tplaceholder=\"Size\"\n\t\t\t\t\t\tvalue={this.getSelectedSizeTitle()}\n\t\t\t\t\t\toptions={this.sizes}\n\t\t\t\t\t\tonSelect={this.selectSize}\n\t\t\t\t\t/>\n\t\t\t\t)}\n\t\t\t\t{!this.props.hideFormat && (\n\t\t\t\t\t<DropdownInput\n\t\t\t\t\t\tid=\"format\"\n\t\t\t\t\t\tlabel=\"Format\"\n\t\t\t\t\t\tplaceholder=\"Format\"\n\t\t\t\t\t\tvalue={this.getSelectedFormatTitle()}\n\t\t\t\t\t\toptions={this.formats}\n\t\t\t\t\t\tonSelect={this.selectFormat}\n\t\t\t\t\t/>\n\t\t\t\t)}\n\t\t\t\t{this.props.inputs.map((input) => {\n\t\t\t\t\treturn this.renderInput(input);\n\t\t\t\t})}\n\t\t\t</div>\n\t\t);\n\t}\n\n\trender() {\n\t\treturn (\n\t\t\t<Popup\n\t\t\t\ttitle={this.props.title}\n\t\t\t\tbuttons={this.getButtons()}\n\t\t\t\tonClose={this.props.onClose}\n\t\t\t\thasPadding\n\t\t\t\tminWidth={this.props.minWidth}\n\t\t\t\tmaxWidth={this.props.maxWidth}\n\t\t\t\tminHeight={this.props.minHeight}\n\t\t\t\tmaxHeight={this.props.maxHeight}\n\t\t\t>\n\t\t\t\t{this.renderContent()}\n\t\t\t</Popup>\n\t\t);\n\t}\n}\n\nconst mapStateToProps = (state) => {\n\treturn { auth: state.auth };\n};\n\nlet exportObj = connect(mapStateToProps, {})(MakerPopup);\n\nexport { exportObj as MakerPopup };\n","import React, { Component } from \"react\";\nimport _ from \"lodash\";\nimport moment from \"moment\";\nimport { Icon } from \"@plusscommunities/pluss-icons\";\nimport { CSVLink } from \"react-csv\";\nimport { Popup } from \"./Popup\";\nimport { CheckBox } from \"./CheckBox\";\nimport { GenericInput } from \"./GenericInput\";\nimport { DatePicker } from \"./DatePicker\";\nimport { Text } from \"./Text\";\n\nclass ExportCsvPopup extends Component {\n\tconstructor(props) {\n\t\tsuper(props);\n\n\t\tconst state = {\n\t\t\tcolumns: props.columns,\n\t\t\tselectedHeaders: props.columns.filter((c) => c.key && c.selected),\n\t\t\tselectedSource: [],\n\t\t\tsaving: false,\n\t\t};\n\n\t\tif (props.timestampFilter) {\n\t\t\tstate.filterDateStart = props.timestampFilter.startDate;\n\t\t\tstate.filterDateEnd = props.timestampFilter.endDate;\n\t\t}\n\n\t\tthis.state = state;\n\t}\n\n\tcanSave = () => {\n\t\treturn _.some(this.state.columns, (c) => c.selected);\n\t};\n\n\tonConfirm = () => {\n\t\treturn this.canSave();\n\t};\n\n\tonClose = () => {\n\t\tif (this.props.onClose) this.props.onClose();\n\t};\n\n\tonToggleColumn = (key) => {\n\t\tconst columns = _.cloneDeep(this.state.columns);\n\t\tconst column = columns.find((c) => c.key === key);\n\t\tif (column) {\n\t\t\tcolumn.selected = !column.selected;\n\t\t\tif (!column.key) columns.map((c) => (c.selected = column.selected)); // Toggle all\n\t\t\tconst selectedHeaders = columns.filter((c) => c.key && c.selected);\n\t\t\tthis.setState({ columns, selectedHeaders });\n\t\t}\n\t};\n\n\tonToggleStartDateFilter = () => {\n\t\tconst { filterDateStartVisible } = this.state;\n\t\tif (filterDateStartVisible) {\n\t\t\tsetTimeout(() => this.setState({ filterDateStartVisible: false }), 200);\n\t\t} else {\n\t\t\tthis.setState({ filterDateStartVisible: true });\n\t\t}\n\t};\n\n\tonToggleEndDateFilter = () => {\n\t\tconst { filterDateEndVisible } = this.state;\n\t\tif (filterDateEndVisible) {\n\t\t\tsetTimeout(() => this.setState({ filterDateEndVisible: false }), 200);\n\t\t} else {\n\t\t\tthis.setState({ filterDateEndVisible: true });\n\t\t}\n\t};\n\n\tonDateFilterStartChanged = (date) => {\n\t\tconst { filterDateEnd } = this.state;\n\t\tconst start = moment(date);\n\t\tif (start.isSameOrBefore(filterDateEnd)) {\n\t\t\tthis.setState({\n\t\t\t\tfilterDateStart: start.startOf(\"day\"),\n\t\t\t\tfilterDateStartVisible: false,\n\t\t\t});\n\t\t}\n\t};\n\n\tonDateFilterEndChanged = (date) => {\n\t\tconst { filterDateStart } = this.state;\n\t\tconst end = moment(date);\n\t\tif (end.isSameOrAfter(filterDateStart)) {\n\t\t\tthis.setState({\n\t\t\t\tfilterDateEnd: end.endOf(\"day\"),\n\t\t\t\tfilterDateEndVisible: false,\n\t\t\t});\n\t\t}\n\t};\n\n\tgetSelectedSource = () => {\n\t\tconst { source } = this.props;\n\t\tconst { selectedHeaders } = this.state;\n\n\t\tlet result = source;\n\n\t\t// apply timestamp filter\n\t\tif (this.props.timestampFilter) {\n\t\t\tconst { filterDateStart, filterDateEnd } = this.state;\n\t\t\tconst { filterKey } = this.props.timestampFilter;\n\t\t\tconst minDate = filterDateStart.valueOf();\n\t\t\tconst maxDate = filterDateEnd.valueOf();\n\t\t\tresult = _.filter(source, (item) => {\n\t\t\t\treturn item[filterKey] >= minDate && item[filterKey] <= maxDate;\n\t\t\t});\n\t\t}\n\n\t\t// map result to columns\n\t\tconst selectedheaderKeys = selectedHeaders.map((h) => h.key);\n\t\treturn result.map((i) => _.pick(i, selectedheaderKeys));\n\t};\n\n\trenderTimestampFilter = () => {\n\t\tif (!this.props.timestampFilter) {\n\t\t\treturn null;\n\t\t}\n\t\treturn (\n\t\t\t<div>\n\t\t\t\t<GenericInput\n\t\t\t\t\tid=\"dateStart\"\n\t\t\t\t\tlabel=\"Start Date\"\n\t\t\t\t\talwaysShowLabel\n\t\t\t\t\tplaceholder={\"Select start date\"}\n\t\t\t\t\tvalue={this.state.filterDateStart.format(\"DD/MM/YYYY\")}\n\t\t\t\t\tonClick={this.onToggleStartDateFilter}\n\t\t\t\t\treadOnly\n\t\t\t\t/>\n\t\t\t\t{this.state.filterDateStartVisible ? (\n\t\t\t\t\t<DatePicker\n\t\t\t\t\t\thideTop\n\t\t\t\t\t\tselectedDate={this.state.filterDateStart}\n\t\t\t\t\t\tselectDate={this.onDateFilterStartChanged}\n\t\t\t\t\t/>\n\t\t\t\t) : null}\n\t\t\t\t<GenericInput\n\t\t\t\t\tid=\"dateEnd\"\n\t\t\t\t\tlabel=\"End Date\"\n\t\t\t\t\talwaysShowLabel\n\t\t\t\t\tplaceholder={\"Select end date\"}\n\t\t\t\t\tvalue={this.state.filterDateEnd.format(\"DD/MM/YYYY\")}\n\t\t\t\t\tonClick={this.onToggleEndDateFilter}\n\t\t\t\t\treadOnly\n\t\t\t\t/>\n\t\t\t\t{this.state.filterDateEndVisible ? (\n\t\t\t\t\t<DatePicker\n\t\t\t\t\t\thideTop\n\t\t\t\t\t\tselectedDate={this.state.filterDateEnd}\n\t\t\t\t\t\tselectDate={this.onDateFilterEndChanged}\n\t\t\t\t\t/>\n\t\t\t\t) : null}\n\t\t\t</div>\n\t\t);\n\t};\n\n\trenderContent = () => {\n\t\tconst { saving, columns } = this.state;\n\n\t\tif (saving) {\n\t\t\treturn (\n\t\t\t\t<div\n\t\t\t\t\tclassName=\"marginTop-32\"\n\t\t\t\t\tstyle={{ maxWidth: 500, textAlign: \"center\" }}\n\t\t\t\t>\n\t\t\t\t\t<Icon style={{ fontSize: 30 }} icon=\"spinner\" fixedWidth pulse />\n\t\t\t\t</div>\n\t\t\t);\n\t\t}\n\n\t\tif (!columns) return null;\n\t\treturn (\n\t\t\t<div className=\"marginTop-16\">\n\t\t\t\t{columns.map((c) => {\n\t\t\t\t\treturn (\n\t\t\t\t\t\t<CheckBox\n\t\t\t\t\t\t\tkey={c.key}\n\t\t\t\t\t\t\tlabel={c.label}\n\t\t\t\t\t\t\tisActive={c.selected}\n\t\t\t\t\t\t\tonChange={() => this.onToggleColumn(c.key)}\n\t\t\t\t\t\t\tstyle={{ marginBottom: 8 }}\n\t\t\t\t\t\t/>\n\t\t\t\t\t);\n\t\t\t\t})}\n\t\t\t</div>\n\t\t);\n\t};\n\n\trender() {\n\t\tconst { selectedHeaders } = this.state;\n\t\tconst { filename } = this.props;\n\n\t\tconst buttons = [\n\t\t\t{\n\t\t\t\ttype: \"primary\",\n\t\t\t\tisActive: this.canSave(),\n\t\t\t\ttext: (\n\t\t\t\t\t<CSVLink\n\t\t\t\t\t\theaders={selectedHeaders}\n\t\t\t\t\t\tdata={this.getSelectedSource()}\n\t\t\t\t\t\tstyle={{ textDecoration: \"none\", color: \"#fff\" }}\n\t\t\t\t\t\tfilename={filename || \"export.csv\"}\n\t\t\t\t\t\tonClick={this.onConfirm}\n\t\t\t\t\t>\n\t\t\t\t\t\tConfirm\n\t\t\t\t\t</CSVLink>\n\t\t\t\t),\n\t\t\t},\n\t\t\t{\n\t\t\t\ttype: \"tertiary\",\n\t\t\t\tonClick: this.onClose,\n\t\t\t\tisActive: true,\n\t\t\t\ttext: \"Close\",\n\t\t\t},\n\t\t];\n\n\t\treturn (\n\t\t\t<Popup\n\t\t\t\ttitle=\"Confirm Export\"\n\t\t\t\tboxClasses=\"flex flex-column\"\n\t\t\t\tinnerClasses=\"flex flex-column fillSpace flex-1\"\n\t\t\t\tminWidth={500}\n\t\t\t\tmaxWidth={500}\n\t\t\t\tminHeight={\"50vh\"}\n\t\t\t\tmaxHeight={\"100vh\"}\n\t\t\t\thasPadding\n\t\t\t\tonClose={this.onClose}\n\t\t\t\tbuttons={buttons}\n\t\t\t>\n\t\t\t\t{this.renderTimestampFilter()}\n\t\t\t\t<Text type=\"bodyLarge\">\n\t\t\t\t\tSelect which columns to include in the export\n\t\t\t\t</Text>\n\t\t\t\t{this.renderContent()}\n\t\t\t</Popup>\n\t\t);\n\t}\n}\n\nexport { ExportCsvPopup };\n","import React from \"react\";\nimport { FormGroup, FormControl, FormLabel, FormText } from \"react-bootstrap\";\nimport { COLOUR_RED } from \"../colours\";\n\nfunction InputGroup({ id, label, help, showError, required, ...props }) {\n\treturn (\n\t\t<FormGroup controlId={id} validationState={showError ? \"error\" : null}>\n\t\t\t<FormLabel>\n\t\t\t\t<span>{label}</span>\n\t\t\t\t{required && (\n\t\t\t\t\t<span style={{ color: COLOUR_RED, marginLeft: 5 }}>*</span>\n\t\t\t\t)}\n\t\t\t</FormLabel>\n\t\t\t<FormControl {...props} />\n\t\t\t{help && <FormText>{help}</FormText>}\n\t\t</FormGroup>\n\t);\n}\n\nexport { InputGroup };\n","import React, { Component } from \"react\";\n\nclass Tabs extends Component {\n\tconstructor(props) {\n\t\tsuper(props);\n\n\t\tthis.state = {\n\t\t\teditKey: null,\n\t\t};\n\t}\n\n\tgetTabClass(tab) {\n\t\tlet classes = \"tab\";\n\t\tif (this.props.selectedTab === tab.value) {\n\t\t\tclasses += \" tab-selected\";\n\t\t}\n\t\tif (tab.strikethrough) {\n\t\t\tclasses += \" tab-strikethrough\";\n\t\t}\n\t\tif (tab.isInvalid) {\n\t\t\tclasses += \" tab-invalid\";\n\t\t}\n\t\treturn classes;\n\t}\n\n\trenderTab(tab) {\n\t\treturn (\n\t\t\t<div\n\t\t\t\tkey={tab.value}\n\t\t\t\tonClick={() => {\n\t\t\t\t\tthis.props.onSelectTab(tab.value);\n\t\t\t\t}}\n\t\t\t\tclassName={this.getTabClass(tab)}\n\t\t\t\tid={tab.value}\n\t\t\t\tstyle={this.props.tabStyle}\n\t\t\t>\n\t\t\t\t<p className=\"tab_text\" id={`tab_${tab.value}`}>\n\t\t\t\t\t{tab.text}\n\t\t\t\t</p>\n\t\t\t</div>\n\t\t);\n\t}\n\n\trender() {\n\t\treturn (\n\t\t\t<div\n\t\t\t\tclassName={`tabContainer ${this.props.className || \"\"}`}\n\t\t\t\tstyle={this.props.containerStyle}\n\t\t\t>\n\t\t\t\t{this.props.tabs.map((t) => {\n\t\t\t\t\treturn this.renderTab(t);\n\t\t\t\t})}\n\t\t\t\t{this.props.children}\n\t\t\t</div>\n\t\t);\n\t}\n}\n\nexport { Tabs };\n","import React, { Component } from \"react\";\nimport _ from \"lodash\";\nimport { ChromePicker } from \"react-color\";\nimport tinycolor from \"tinycolor2\";\nimport { Icon } from \"@plusscommunities/pluss-icons\";\nimport { Tabs } from \"./Tabs\";\n\nclass ColourOptions extends Component {\n\tconstructor(props) {\n\t\tsuper(props);\n\t\tthis.state = {\n\t\t\tselectedColour: props.value || \"\",\n\t\t\tcolour: props.value,\n\t\t\tselectedOption: props.defaultTab || \"vibrant\",\n\t\t\tcolourCircleTop: 0,\n\t\t\tcolourCircleLeft: 0,\n\t\t};\n\t}\n\n\tcomponentDidMount() {\n\t\tthis.setColourCircle();\n\t}\n\n\tcomponentDidUpdate(prevProps) {\n\t\tif (this.props.value !== prevProps.value) {\n\t\t\tconst { value } = this.props;\n\t\t\tthis.setState(\n\t\t\t\t{ selectedColour: value, colour: value },\n\t\t\t\tthis.setColourCircle,\n\t\t\t);\n\t\t}\n\t}\n\n\tsetColourCircle = () => {\n\t\tconst tc = tinycolor(this.state.colour);\n\t\tthis.setState({\n\t\t\tcolourCircleTop: 100 - (100 * tc.getBrightness()) / 255,\n\t\t\tcolourCircleLeft: (100 * tc.toHsv().h) / 360,\n\t\t});\n\t};\n\n\tgetQuickChoiceTabs() {\n\t\tconst { options } = this.props;\n\t\tconst optionsArray =\n\t\t\ttypeof options === \"string\"\n\t\t\t\t? options.split(\",\").map((o) => o.trim())\n\t\t\t\t: options;\n\t\tconst available = [\n\t\t\t{\n\t\t\t\tvalue: \"vibrant\",\n\t\t\t\ttext: \"Vibrant\",\n\t\t\t},\n\t\t\t{\n\t\t\t\tvalue: \"soft\",\n\t\t\t\ttext: \"Soft\",\n\t\t\t},\n\t\t\t{\n\t\t\t\tvalue: \"picker\",\n\t\t\t\ttext: \"Picker\",\n\t\t\t},\n\t\t];\n\t\treturn !optionsArray || optionsArray.length === 0\n\t\t\t? available\n\t\t\t: available.filter((o) => optionsArray.includes(o.value));\n\t}\n\n\tonColourChange = (color) => {\n\t\t// console.log('onColourChange', color);\n\t\tconst colour = (\n\t\t\ttypeof color === \"object\" ? color.hex : color\n\t\t).toUpperCase();\n\t\tthis.setState({ selectedColour: colour, colour }, () => {\n\t\t\tthis.setColourCircle();\n\t\t\tconst { onColourSelected } = this.props;\n\t\t\tif (onColourSelected) onColourSelected(this.state.colour);\n\t\t});\n\t};\n\n\tonSelectOption = (selectedOption) => {\n\t\tthis.setState({ selectedOption });\n\t};\n\n\trenderColourQuickChoicesCircle(colour, selectedColour) {\n\t\tconst isSelected = selectedColour.toLowerCase() === colour.toLowerCase();\n\t\treturn (\n\t\t\t<div\n\t\t\t\tclassName={`colourQuickChoices_circle${isSelected ? \" colourQuickChoices_circle-selected\" : \"\"}`}\n\t\t\t\tstyle={{ backgroundColor: colour }}\n\t\t\t\tonClick={() => this.onColourChange(colour)}\n\t\t\t>\n\t\t\t\t<Icon icon=\"check\" className=\"colourQuickChoices_circle_tick\" />\n\t\t\t</div>\n\t\t);\n\t}\n\n\trenderColourOptions() {\n\t\tconst { selectedColour, selectedOption } = this.state;\n\n\t\tlet content;\n\t\tswitch (selectedOption) {\n\t\t\tcase \"picker\":\n\t\t\t\tcontent = (\n\t\t\t\t\t<div\n\t\t\t\t\t\tclassName=\"flex flex-center-row colourQuickChoices\"\n\t\t\t\t\t\tstyle={{ marginBottom: \"unset\" }}\n\t\t\t\t\t>\n\t\t\t\t\t\t<ChromePicker\n\t\t\t\t\t\t\tcolor={selectedColour}\n\t\t\t\t\t\t\tonChangeComplete={this.onColourChange}\n\t\t\t\t\t\t\tdisableAlpha\n\t\t\t\t\t\t\tclassName=\"chrome-picker-noShadow\"\n\t\t\t\t\t\t/>\n\t\t\t\t\t</div>\n\t\t\t\t);\n\t\t\t\tbreak;\n\t\t\tcase \"vibrant\":\n\t\t\t\tcontent = (\n\t\t\t\t\t<div\n\t\t\t\t\t\tclassName=\"flex flex-between colourQuickChoices\"\n\t\t\t\t\t\tstyle={{ marginBottom: \"unset\" }}\n\t\t\t\t\t>\n\t\t\t\t\t\t<div className=\"colourQuickChoices_column\">\n\t\t\t\t\t\t\t{this.renderColourQuickChoicesCircle(\"#c44569\", selectedColour)}\n\t\t\t\t\t\t\t{this.renderColourQuickChoicesCircle(\"#f1a459\", selectedColour)}\n\t\t\t\t\t\t\t{this.renderColourQuickChoicesCircle(\"#38ada9\", selectedColour)}\n\t\t\t\t\t\t\t{this.renderColourQuickChoicesCircle(\"#7064a7\", selectedColour)}\n\t\t\t\t\t\t</div>\n\t\t\t\t\t\t<div className=\"colourQuickChoices_column\">\n\t\t\t\t\t\t\t{this.renderColourQuickChoicesCircle(\"#ea4c88\", selectedColour)}\n\t\t\t\t\t\t\t{this.renderColourQuickChoicesCircle(\"#e8bb67\", selectedColour)}\n\t\t\t\t\t\t\t{this.renderColourQuickChoicesCircle(\"#60a3bc\", selectedColour)}\n\t\t\t\t\t\t\t{this.renderColourQuickChoicesCircle(\"#546de5\", selectedColour)}\n\t\t\t\t\t\t</div>\n\t\t\t\t\t\t<div className=\"colourQuickChoices_column\">\n\t\t\t\t\t\t\t{this.renderColourQuickChoicesCircle(\"#e66767\", selectedColour)}\n\t\t\t\t\t\t\t{this.renderColourQuickChoicesCircle(\"#94d0c5\", selectedColour)}\n\t\t\t\t\t\t\t{this.renderColourQuickChoicesCircle(\"#5badda\", selectedColour)}\n\t\t\t\t\t\t\t{this.renderColourQuickChoicesCircle(\"#dfad8c\", selectedColour)}\n\t\t\t\t\t\t</div>\n\t\t\t\t\t\t<div className=\"colourQuickChoices_column\">\n\t\t\t\t\t\t\t{this.renderColourQuickChoicesCircle(\"#ff6c5c\", selectedColour)}\n\t\t\t\t\t\t\t{this.renderColourQuickChoicesCircle(\"#7abf9e\", selectedColour)}\n\t\t\t\t\t\t\t{this.renderColourQuickChoicesCircle(\"#9fcfd9\", selectedColour)}\n\t\t\t\t\t\t\t{this.renderColourQuickChoicesCircle(\"#dd91a7\", selectedColour)}\n\t\t\t\t\t\t</div>\n\t\t\t\t\t\t<div className=\"colourQuickChoices_column\">\n\t\t\t\t\t\t\t{this.renderColourQuickChoicesCircle(\"#f19066\", selectedColour)}\n\t\t\t\t\t\t\t{this.renderColourQuickChoicesCircle(\"#a1ab94\", selectedColour)}\n\t\t\t\t\t\t\t{this.renderColourQuickChoicesCircle(\"#a67db7\", selectedColour)}\n\t\t\t\t\t\t\t{this.renderColourQuickChoicesCircle(\"#596275\", selectedColour)}\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</div>\n\t\t\t\t);\n\t\t\t\tbreak;\n\t\t\tcase \"soft\":\n\t\t\t\tcontent = (\n\t\t\t\t\t<div\n\t\t\t\t\t\tclassName=\"flex flex-between colourQuickChoices\"\n\t\t\t\t\t\tstyle={{ marginBottom: \"unset\" }}\n\t\t\t\t\t>\n\t\t\t\t\t\t<div className=\"colourQuickChoices_column\">\n\t\t\t\t\t\t\t{this.renderColourQuickChoicesCircle(\"#eacdd0\", selectedColour)}\n\t\t\t\t\t\t\t{this.renderColourQuickChoicesCircle(\"#a4c9d7\", selectedColour)}\n\t\t\t\t\t\t\t{this.renderColourQuickChoicesCircle(\"#c6b9c0\", selectedColour)}\n\t\t\t\t\t\t\t{this.renderColourQuickChoicesCircle(\"#cdc4af\", selectedColour)}\n\t\t\t\t\t\t</div>\n\t\t\t\t\t\t<div className=\"colourQuickChoices_column\">\n\t\t\t\t\t\t\t{this.renderColourQuickChoicesCircle(\"#d6b7b1\", selectedColour)}\n\t\t\t\t\t\t\t{this.renderColourQuickChoicesCircle(\"#eaf2f4\", selectedColour)}\n\t\t\t\t\t\t\t{this.renderColourQuickChoicesCircle(\"#cce0db\", selectedColour)}\n\t\t\t\t\t\t\t{this.renderColourQuickChoicesCircle(\"#b9bee4\", selectedColour)}\n\t\t\t\t\t\t</div>\n\t\t\t\t\t\t<div className=\"colourQuickChoices_column\">\n\t\t\t\t\t\t\t{this.renderColourQuickChoicesCircle(\"#9bd3cb\", selectedColour)}\n\t\t\t\t\t\t\t{this.renderColourQuickChoicesCircle(\"#f1d7bb\", selectedColour)}\n\t\t\t\t\t\t\t{this.renderColourQuickChoicesCircle(\"#fcbc7b\", selectedColour)}\n\t\t\t\t\t\t\t{this.renderColourQuickChoicesCircle(\"#caeff5\", selectedColour)}\n\t\t\t\t\t\t</div>\n\t\t\t\t\t\t<div className=\"colourQuickChoices_column\">\n\t\t\t\t\t\t\t{this.renderColourQuickChoicesCircle(\"#e0dceb\", selectedColour)}\n\t\t\t\t\t\t\t{this.renderColourQuickChoicesCircle(\"#b1becd\", selectedColour)}\n\t\t\t\t\t\t\t{this.renderColourQuickChoicesCircle(\"#e6cfc5\", selectedColour)}\n\t\t\t\t\t\t\t{this.renderColourQuickChoicesCircle(\"#cfd6df\", selectedColour)}\n\t\t\t\t\t\t</div>\n\t\t\t\t\t\t<div className=\"colourQuickChoices_column\">\n\t\t\t\t\t\t\t{this.renderColourQuickChoicesCircle(\"#f39ca4\", selectedColour)}\n\t\t\t\t\t\t\t{this.renderColourQuickChoicesCircle(\"#c0adc5\", selectedColour)}\n\t\t\t\t\t\t\t{this.renderColourQuickChoicesCircle(\"#fcbca4\", selectedColour)}\n\t\t\t\t\t\t\t{this.renderColourQuickChoicesCircle(\"#c5ceb9\", selectedColour)}\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</div>\n\t\t\t\t);\n\t\t\t\tbreak;\n\t\t\tdefault:\n\t\t\t\tcontent = null;\n\t\t\t\tbreak;\n\t\t}\n\t\tconst tabs = this.getQuickChoiceTabs();\n\n\t\treturn (\n\t\t\t<div>\n\t\t\t\t{tabs && tabs.length > 1 ? (\n\t\t\t\t\t<Tabs\n\t\t\t\t\t\tonSelectTab={this.onSelectOption}\n\t\t\t\t\t\tselectedTab={selectedOption}\n\t\t\t\t\t\ttabs={tabs}\n\t\t\t\t\t\tcontainerStyle={{ display: \"flex\" }}\n\t\t\t\t\t\ttabStyle={{ flex: 1 }}\n\t\t\t\t\t/>\n\t\t\t\t) : null}\n\t\t\t\t<div className=\"flex flex-center flex-center-row\">{content}</div>\n\t\t\t</div>\n\t\t);\n\t}\n\n\trender() {\n\t\treturn this.renderColourOptions();\n\t}\n}\n\nexport { ColourOptions };\n","import React, { Component } from \"react\";\nimport _ from \"lodash\";\nimport { ChromePicker } from \"react-color\";\nimport tinycolor from \"tinycolor2\";\nimport { Popup } from \"./Popup\";\nimport { Icon } from \"@plusscommunities/pluss-icons\";\nimport { Tabs } from \"./Tabs\";\n\nclass ColourPicker extends Component {\n\tconstructor(props) {\n\t\tsuper(props);\n\t\tthis.state = {\n\t\t\tselectedColour: props.value,\n\t\t\tcolour: props.value,\n\t\t\tselectedOption: props.defaultTab || \"vibrant\",\n\t\t\tcolourPickerOpen: false,\n\t\t\tcolourCircleTop: 0,\n\t\t\tcolourCircleLeft: 0,\n\t\t};\n\t}\n\n\tcomponentDidMount() {\n\t\tthis.setColourCircle();\n\t}\n\n\tcomponentDidUpdate(prevProps) {\n\t\tif (this.props.value !== prevProps.value) {\n\t\t\tconst { value } = this.props;\n\t\t\tthis.setState(\n\t\t\t\t{ selectedColour: value, colour: value },\n\t\t\t\tthis.setColourCircle,\n\t\t\t);\n\t\t}\n\t}\n\n\tsetColourCircle = () => {\n\t\tconst tc = tinycolor(this.state.colour);\n\t\tthis.setState({\n\t\t\tcolourCircleTop: 100 - (100 * tc.getBrightness()) / 255,\n\t\t\tcolourCircleLeft: (100 * tc.toHsv().h) / 360,\n\t\t});\n\t};\n\n\tgetQuickChoiceTabs() {\n\t\tconst { options } = this.props;\n\t\tconst optionsArray =\n\t\t\ttypeof options === \"string\"\n\t\t\t\t? options.split(\",\").map((o) => o.trim())\n\t\t\t\t: options;\n\t\tconst available = [\n\t\t\t{\n\t\t\t\tvalue: \"vibrant\",\n\t\t\t\ttext: \"Vibrant\",\n\t\t\t},\n\t\t\t{\n\t\t\t\tvalue: \"soft\",\n\t\t\t\ttext: \"Soft\",\n\t\t\t},\n\t\t\t{\n\t\t\t\tvalue: \"picker\",\n\t\t\t\ttext: \"Picker\",\n\t\t\t},\n\t\t];\n\t\treturn !optionsArray || optionsArray.length === 0\n\t\t\t? available\n\t\t\t: available.filter((o) => optionsArray.includes(o.value));\n\t}\n\n\tonTogglePopup = () => {\n\t\tif (this.props.disabled) return;\n\t\tthis.setState({ colourPickerOpen: !this.state.colourPickerOpen });\n\t};\n\n\tonColourChange = (color) => {\n\t\t// console.log('onColourChange', color);\n\t\tlet colour = color;\n\t\tif (typeof color === \"object\") {\n\t\t\tcolour = color.hex;\n\t\t}\n\t\tthis.setState({ selectedColour: colour.toUpperCase() });\n\t};\n\n\tonSelectOption = (selectedOption) => {\n\t\tthis.setState({ selectedOption });\n\t};\n\n\tonDone = () => {\n\t\tconst { colourPickerOpen, selectedColour } = this.state;\n\t\tthis.setState(\n\t\t\t{ colourPickerOpen: !colourPickerOpen, colour: selectedColour },\n\t\t\t() => {\n\t\t\t\tthis.setColourCircle();\n\n\t\t\t\tconst { onColourSelected } = this.props;\n\t\t\t\tif (onColourSelected) onColourSelected(this.state.colour);\n\t\t\t},\n\t\t);\n\t};\n\n\tonCancel = () => {\n\t\tconst { colourPickerOpen, colour } = this.state;\n\t\tthis.setState({\n\t\t\tcolourPickerOpen: !colourPickerOpen,\n\t\t\tselectedColour: colour,\n\t\t});\n\t};\n\n\trenderColourQuickChoicesCircle(colour, selectedColour) {\n\t\tconst isSelected = selectedColour.toLowerCase() === colour.toLowerCase();\n\t\treturn (\n\t\t\t<div\n\t\t\t\tclassName={`colourQuickChoices_circle${isSelected ? \" colourQuickChoices_circle-selected\" : \"\"}`}\n\t\t\t\tstyle={{ backgroundColor: colour }}\n\t\t\t\tonClick={() => this.onColourChange(colour)}\n\t\t\t>\n\t\t\t\t<Icon icon=\"check\" className=\"colourQuickChoices_circle_tick\" />\n\t\t\t</div>\n\t\t);\n\t}\n\n\trenderColourOptions() {\n\t\tconst { selectedColour, selectedOption } = this.state;\n\n\t\tlet content;\n\t\tswitch (selectedOption) {\n\t\t\tcase \"picker\":\n\t\t\t\tcontent = (\n\t\t\t\t\t<div\n\t\t\t\t\t\tclassName=\"flex flex-center-row colourQuickChoices\"\n\t\t\t\t\t\tstyle={{ marginBottom: \"unset\" }}\n\t\t\t\t\t>\n\t\t\t\t\t\t<ChromePicker\n\t\t\t\t\t\t\tcolor={selectedColour}\n\t\t\t\t\t\t\tonChangeComplete={this.onColourChange}\n\t\t\t\t\t\t\tdisableAlpha\n\t\t\t\t\t\t\tclassName=\"chrome-picker-noShadow\"\n\t\t\t\t\t\t/>\n\t\t\t\t\t</div>\n\t\t\t\t);\n\t\t\t\tbreak;\n\t\t\tcase \"vibrant\":\n\t\t\t\tcontent = (\n\t\t\t\t\t<div\n\t\t\t\t\t\tclassName=\"flex flex-between colourQuickChoices\"\n\t\t\t\t\t\tstyle={{ marginBottom: \"unset\" }}\n\t\t\t\t\t>\n\t\t\t\t\t\t<div className=\"colourQuickChoices_column\">\n\t\t\t\t\t\t\t{this.renderColourQuickChoicesCircle(\"#c44569\", selectedColour)}\n\t\t\t\t\t\t\t{this.renderColourQuickChoicesCircle(\"#f1a459\", selectedColour)}\n\t\t\t\t\t\t\t{this.renderColourQuickChoicesCircle(\"#38ada9\", selectedColour)}\n\t\t\t\t\t\t\t{this.renderColourQuickChoicesCircle(\"#7064a7\", selectedColour)}\n\t\t\t\t\t\t</div>\n\t\t\t\t\t\t<div className=\"colourQuickChoices_column\">\n\t\t\t\t\t\t\t{this.renderColourQuickChoicesCircle(\"#ea4c88\", selectedColour)}\n\t\t\t\t\t\t\t{this.renderColourQuickChoicesCircle(\"#e8bb67\", selectedColour)}\n\t\t\t\t\t\t\t{this.renderColourQuickChoicesCircle(\"#60a3bc\", selectedColour)}\n\t\t\t\t\t\t\t{this.renderColourQuickChoicesCircle(\"#546de5\", selectedColour)}\n\t\t\t\t\t\t</div>\n\t\t\t\t\t\t<div className=\"colourQuickChoices_column\">\n\t\t\t\t\t\t\t{this.renderColourQuickChoicesCircle(\"#e66767\", selectedColour)}\n\t\t\t\t\t\t\t{this.renderColourQuickChoicesCircle(\"#94d0c5\", selectedColour)}\n\t\t\t\t\t\t\t{this.renderColourQuickChoicesCircle(\"#5badda\", selectedColour)}\n\t\t\t\t\t\t\t{this.renderColourQuickChoicesCircle(\"#dfad8c\", selectedColour)}\n\t\t\t\t\t\t</div>\n\t\t\t\t\t\t<div className=\"colourQuickChoices_column\">\n\t\t\t\t\t\t\t{this.renderColourQuickChoicesCircle(\"#ff6c5c\", selectedColour)}\n\t\t\t\t\t\t\t{this.renderColourQuickChoicesCircle(\"#7abf9e\", selectedColour)}\n\t\t\t\t\t\t\t{this.renderColourQuickChoicesCircle(\"#9fcfd9\", selectedColour)}\n\t\t\t\t\t\t\t{this.renderColourQuickChoicesCircle(\"#dd91a7\", selectedColour)}\n\t\t\t\t\t\t</div>\n\t\t\t\t\t\t<div className=\"colourQuickChoices_column\">\n\t\t\t\t\t\t\t{this.renderColourQuickChoicesCircle(\"#f19066\", selectedColour)}\n\t\t\t\t\t\t\t{this.renderColourQuickChoicesCircle(\"#a1ab94\", selectedColour)}\n\t\t\t\t\t\t\t{this.renderColourQuickChoicesCircle(\"#a67db7\", selectedColour)}\n\t\t\t\t\t\t\t{this.renderColourQuickChoicesCircle(\"#596275\", selectedColour)}\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</div>\n\t\t\t\t);\n\t\t\t\tbreak;\n\t\t\tcase \"soft\":\n\t\t\t\tcontent = (\n\t\t\t\t\t<div\n\t\t\t\t\t\tclassName=\"flex flex-between colourQuickChoices\"\n\t\t\t\t\t\tstyle={{ marginBottom: \"unset\" }}\n\t\t\t\t\t>\n\t\t\t\t\t\t<div className=\"colourQuickChoices_column\">\n\t\t\t\t\t\t\t{this.renderColourQuickChoicesCircle(\"#eacdd0\", selectedColour)}\n\t\t\t\t\t\t\t{this.renderColourQuickChoicesCircle(\"#a4c9d7\", selectedColour)}\n\t\t\t\t\t\t\t{this.renderColourQuickChoicesCircle(\"#c6b9c0\", selectedColour)}\n\t\t\t\t\t\t\t{this.renderColourQuickChoicesCircle(\"#cdc4af\", selectedColour)}\n\t\t\t\t\t\t</div>\n\t\t\t\t\t\t<div className=\"colourQuickChoices_column\">\n\t\t\t\t\t\t\t{this.renderColourQuickChoicesCircle(\"#d6b7b1\", selectedColour)}\n\t\t\t\t\t\t\t{this.renderColourQuickChoicesCircle(\"#eaf2f4\", selectedColour)}\n\t\t\t\t\t\t\t{this.renderColourQuickChoicesCircle(\"#cce0db\", selectedColour)}\n\t\t\t\t\t\t\t{this.renderColourQuickChoicesCircle(\"#b9bee4\", selectedColour)}\n\t\t\t\t\t\t</div>\n\t\t\t\t\t\t<div className=\"colourQuickChoices_column\">\n\t\t\t\t\t\t\t{this.renderColourQuickChoicesCircle(\"#9bd3cb\", selectedColour)}\n\t\t\t\t\t\t\t{this.renderColourQuickChoicesCircle(\"#f1d7bb\", selectedColour)}\n\t\t\t\t\t\t\t{this.renderColourQuickChoicesCircle(\"#fcbc7b\", selectedColour)}\n\t\t\t\t\t\t\t{this.renderColourQuickChoicesCircle(\"#caeff5\", selectedColour)}\n\t\t\t\t\t\t</div>\n\t\t\t\t\t\t<div className=\"colourQuickChoices_column\">\n\t\t\t\t\t\t\t{this.renderColourQuickChoicesCircle(\"#e0dceb\", selectedColour)}\n\t\t\t\t\t\t\t{this.renderColourQuickChoicesCircle(\"#b1becd\", selectedColour)}\n\t\t\t\t\t\t\t{this.renderColourQuickChoicesCircle(\"#e6cfc5\", selectedColour)}\n\t\t\t\t\t\t\t{this.renderColourQuickChoicesCircle(\"#cfd6df\", selectedColour)}\n\t\t\t\t\t\t</div>\n\t\t\t\t\t\t<div className=\"colourQuickChoices_column\">\n\t\t\t\t\t\t\t{this.renderColourQuickChoicesCircle(\"#f39ca4\", selectedColour)}\n\t\t\t\t\t\t\t{this.renderColourQuickChoicesCircle(\"#c0adc5\", selectedColour)}\n\t\t\t\t\t\t\t{this.renderColourQuickChoicesCircle(\"#fcbca4\", selectedColour)}\n\t\t\t\t\t\t\t{this.renderColourQuickChoicesCircle(\"#c5ceb9\", selectedColour)}\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</div>\n\t\t\t\t);\n\t\t\t\tbreak;\n\t\t\tdefault:\n\t\t\t\tcontent = null;\n\t\t\t\tbreak;\n\t\t}\n\t\tconst tabs = this.getQuickChoiceTabs();\n\n\t\treturn (\n\t\t\t<div>\n\t\t\t\t{tabs && tabs.length > 1 ? (\n\t\t\t\t\t<Tabs\n\t\t\t\t\t\tonSelectTab={this.onSelectOption}\n\t\t\t\t\t\tselectedTab={selectedOption}\n\t\t\t\t\t\ttabs={tabs}\n\t\t\t\t\t/>\n\t\t\t\t) : null}\n\t\t\t\t<div className=\"flex flex-center flex-center-row\">{content}</div>\n\t\t\t</div>\n\t\t);\n\t}\n\n\trenderColourPopup() {\n\t\tconst { colourPickerOpen } = this.state;\n\t\tif (!colourPickerOpen) return null;\n\t\tconst { title } = this.props;\n\n\t\treturn (\n\t\t\t<Popup\n\t\t\t\ttitle={title || `Colour Picker`}\n\t\t\t\tmaxWidth={500}\n\t\t\t\thasPadding\n\t\t\t\tbuttons={[\n\t\t\t\t\t{\n\t\t\t\t\t\ttype: \"primary\",\n\t\t\t\t\t\tonClick: this.onDone,\n\t\t\t\t\t\tstyle: { width: 100 },\n\t\t\t\t\t\tisActive: true,\n\t\t\t\t\t\ttext: \"Done\",\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\ttype: \"outlinedAction\",\n\t\t\t\t\t\tonClick: this.onCancel,\n\t\t\t\t\t\tstyle: { width: 100 },\n\t\t\t\t\t\tisActive: true,\n\t\t\t\t\t\ttext: \"Cancel\",\n\t\t\t\t\t},\n\t\t\t\t]}\n\t\t\t>\n\t\t\t\t{this.renderColourOptions()}\n\t\t\t</Popup>\n\t\t);\n\t}\n\n\trender() {\n\t\tconst { colourCircleTop, colourCircleLeft, colour } = this.state;\n\t\tconst { children, showHex } = this.props;\n\n\t\treturn (\n\t\t\t<div>\n\t\t\t\t<div className=\"flex flex-center\">\n\t\t\t\t\t{children ? (\n\t\t\t\t\t\t<div onClick={this.onTogglePopup}>{children}</div>\n\t\t\t\t\t) : (\n\t\t\t\t\t\t<div\n\t\t\t\t\t\t\tclassName=\"colourPicker_button\"\n\t\t\t\t\t\t\tstyle={{ width: 80, marginBottom: \"unset\" }}\n\t\t\t\t\t\t\tonClick={this.onTogglePopup}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<div className=\"colourPicker_rainbow\">\n\t\t\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t\t\tclassName=\"colourPicker_rainbow_circle\"\n\t\t\t\t\t\t\t\t\tstyle={{\n\t\t\t\t\t\t\t\t\t\ttop: `${colourCircleTop}%`,\n\t\t\t\t\t\t\t\t\t\tleft: `${colourCircleLeft}%`,\n\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t></div>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t)}\n\t\t\t\t\t{showHex ? (\n\t\t\t\t\t\t<div className=\"marginLeft-10\">\n\t\t\t\t\t\t\t{colour && colour.toUpperCase()}\n\t\t\t\t\t\t</div>\n\t\t\t\t\t) : null}\n\t\t\t\t</div>\n\t\t\t\t{this.renderColourPopup()}\n\t\t\t</div>\n\t\t);\n\t}\n}\n\nexport { ColourPicker };\n","import React from \"react\";\nimport { Link } from \"react-router-dom\";\nimport { Icon } from \"@plusscommunities/pluss-icons\";\nimport { Text } from \"./Text\";\n\n// StatBox Component\nconst StatBox = ({\n\ttitle,\n\ticon,\n\tvalue,\n\tpreviousValue,\n\tprevText,\n\tviewGraphLink,\n\tisLoading,\n}) => {\n\tlet change = (value / previousValue - 1) * 100;\n\tif (isNaN(change)) {\n\t\tchange = 0;\n\t}\n\tif (!isFinite(change)) {\n\t\tchange = 100;\n\t}\n\tchange = parseInt(change);\n\tconst opacity = isLoading ? 0 : 1;\n\treturn (\n\t\t<div\n\t\t\tclassName={`dashboardBox dashboardBox-stats dashboardBox-inline${change > 0 ? \" dashboardBox-stats-positive\" : \"\"}${\n\t\t\t\tchange < 0 ? \" dashboardBox-stats-negative\" : \"\"\n\t\t\t}`}\n\t\t>\n\t\t\t<div className=\"dashboardBox-stats_title\">\n\t\t\t\t<Text type=\"h6\">{title}</Text>\n\t\t\t</div>\n\t\t\t<div className=\"dashboardBox-stats_mid\" style={{ opacity }}>\n\t\t\t\t<Icon className=\"dashboardBox-stats_icon\" icon={icon} />\n\t\t\t\t<Text type=\"h2\" className=\"dashboardBox-stats_count\">\n\t\t\t\t\t{value}\n\t\t\t\t</Text>\n\t\t\t\t<p className=\"dashboardBox-stats_change\">\n\t\t\t\t\t{change === 0 ? \"No change\" : `${change}% ${change < 0 ? \"↓\" : \"↑\"}`}\n\t\t\t\t</p>\n\t\t\t</div>\n\t\t\t<Text type=\"help\" style={{ opacity }}>\n\t\t\t\tCompared to {prevText}\n\t\t\t</Text>\n\t\t\t{viewGraphLink && (\n\t\t\t\t<Link to={`${viewGraphLink}&title=${title}`}>\n\t\t\t\t\t<Text type=\"h5-noUpper\" className=\"text-link marginTop-10\">\n\t\t\t\t\t\t<Icon icon=\"chart-line\" style={{ marginRight: 4 }} />\n\t\t\t\t\t\tView Graph\n\t\t\t\t\t</Text>\n\t\t\t\t</Link>\n\t\t\t)}\n\t\t</div>\n\t);\n};\n\nexport { StatBox };\n","const HelpGuide = {\n\tDashboard: \"https://www.plusscommunities.com/user-guide\",\n\tFeaturePicker:\n\t\t\"https://www.plusscommunities.com/getting-started-on-community-manager\",\n\tNews: \"https://www.plusscommunities.com/news-feature\",\n\tEvents: \"https://www.plusscommunities.com/events-feature\",\n\tAlerts: \"https://www.plusscommunities.com/alerts-feature\",\n\tGallery: \"https://www.plusscommunities.com/gallery-feature\",\n\tGroups: \"https://www.plusscommunities.com/groups-feature\",\n\tMaintenance: \"https://www.plusscommunities.com/maintenance-feature\",\n\tFacilities: \"https://www.plusscommunities.com/facilities-feature\",\n\tServices: \"https://www.plusscommunities.com/services-feature\",\n\tOffers: \"https://www.plusscommunities.com/offers-feature\",\n\tSurvey: \"https://www.plusscommunities.com/surveys-feature\",\n\tInformation: \"https://www.plusscommunities.com/information-feature\",\n\tUsers: \"https://www.plusscommunities.com/managing-your-users\",\n\tPayment: \"https://www.plusscommunities.com/setting-up-your-payment-gateway\",\n};\n\nexport const Urls = {\n\tHelpGuide,\n};\n","import _ from \"lodash\";\n\nimport { TEMPLATES_LOADED, TEMPLATE_REMOVED } from \"../actions/types\";\n\nconst INITIAL_STATE = {\n\tlist: [],\n};\n\nexport default (state = INITIAL_STATE, action) => {\n\tswitch (action.type) {\n\t\tcase TEMPLATES_LOADED:\n\t\t\tconst result = _.unionWith(action.payload, state.list, (v1, v2) => {\n\t\t\t\treturn v1 != null && v2 != null && v1.RowId === v2.RowId;\n\t\t\t});\n\t\t\treturn { ...state, list: result };\n\t\tcase TEMPLATE_REMOVED:\n\t\t\tconst index = _.findIndex(state.list, (app) => {\n\t\t\t\treturn app != null && app.RowId === action.payload;\n\t\t\t});\n\t\t\tif (index > -1) {\n\t\t\t\tconst newTemplates = [...state.list];\n\t\t\t\tnewTemplates.splice(index, 1);\n\t\t\t\treturn { ...state, list: newTemplates };\n\t\t\t}\n\t\t\treturn state;\n\t\tdefault:\n\t\t\treturn state;\n\t}\n};\n","import { SCHEDULED_ACTIONS_LOADED } from \"../actions/types\";\n\nconst INITIAL_STATE = {\n\tlist: [],\n};\n\nexport default (state = INITIAL_STATE, action) => {\n\tswitch (action.type) {\n\t\tcase SCHEDULED_ACTIONS_LOADED:\n\t\t\treturn { ...state, list: action.payload };\n\t\tdefault:\n\t\t\treturn state;\n\t}\n};\n","import TemplatesReducer from \"./TemplatesReducer\";\nimport ScheduledActionsReducer from \"./ScheduledActionsReducer\";\n\nexport const Reducers = {\n\ttemplates: TemplatesReducer,\n\tscheduledActions: ScheduledActionsReducer,\n};\n","// Categories for organising permissions\nexport const PERMISSION_CATEGORIES = {\n\tUSER_MANAGEMENT: \"User Management\",\n\tEVENTS: \"Events\",\n\tCOMMUNICATION: \"Communication\",\n\tFACILITIES_BOOKINGS: \"Facilities & Bookings\",\n\tSITE_ADMINISTRATION: \"Site Administration\",\n\tPAYMENTS: \"Payments\",\n\tCONTENT: \"Content Management\",\n\tEXTRAS: \"Extras\",\n\tPROFILE_SETTINGS: \"Profile Settings\",\n\tUSER_FEATURES: \"User Features\",\n};\n\n// NOTE: important and optional are currently hidden\nexport const IMPORTANCE_LEVELS = {\n\tCRITICAL: \"critical\",\n\tIMPORTANT: \"important\",\n\tOPTIONAL: \"optional\",\n};\n"],"names":["CoreConfig","env","baseStage","baseAPIUrl","baseUploadsUrl","baseLibraryUrl","uploadBucket","colourBrandingMain","colourBrandingOff","colourBrandingApp","defaultProfileImage","utcOffset","hasAvailableNews","newsHaveTags","defaultAllowComments","makeApiKey","logo","clientName","init","environment","getSessionTokenAWS","_ref","_asyncToGenerator","prefix","data","Auth","currentSession","token","getAccessToken","getJwtToken","_","isUndefined","concat","_x","apply","arguments","authedFunction","_ref2","request","authkey","headers","axios","error","console","_x2","unauthedFunction","getCurrentUserSub","_ref3","user","currentUserInfo","id","checkLoggedIn","_ref4","self","currentAuthenticatedUser","username","log","props","history","push","_x3","isTheBest","auth","isPlussSpaceMaster","validateAccess","site","type","noRole","roles","Roles","isEmpty","some","r","role","find","Permissions","includes","getApiError","errorData","response","errorMessage","e","isTVEnabled","interfaces","feature","t","Type","Settings","widgets","f","key","compileStats","stats","totalStats","Object","keys","forEach","activityId","Array","isArray","prototype","uniq","getInsight","previousStats","source","activity","top","Stats","entityId","entity","s","Entity","PreviousStats","getAnalyticsFilterOptions","text","dayCount","prevText","countActivities","activityKey","countType","count","set","Set","entry","entityStats","add","values","value","size","generateDateRangeObjects","startTime","endTime","groupBy","length","undefined","startDate","moment","endDate","dates","isSameOrBefore","dateString","format","Date","Timestamp","valueOf","generateDateActivities","result","formatToUse","labelFormat","d","datesToUse","filter","date","compiledValue","label","getUrl","baseAction","action","query","url","stage","Config","queryPart","index","encodeURIComponent","getUrlParams","vars","window","location","href","replace","m","safeReadParams","match","params","getUserFromState","state","getAppColourFromState","siteBranding","MainBrandingColour","getExtension","fileSplit","split","toLowerCase","isVideo","extension","get1400","indexOf","urlToUse","substring","generateImageName","name","c","Math","random","v","toString","getFileName","noExtension","getThumb300","getFirstName","string","isEmail","email","atpos","dotpos","lastIndexOf","isUrl","randomString","toParagraphed","style","textSplit","map","i","_jsx","_objectSpread","display","children","onlyAlphanumeric","input","htmlDecode","$","html","htmlEncode","getSiteName","sites","siteObject","Id","siteName","getSiteNameFromRoles","siteInfo","getSiteSettingFromState","defaultValue","siteSettings","getSiteLevelFromState","siteType","siteConfig","featurePickerUrl","hasTV","hasKiosk","hasPayments","hasLinkedContent","hasPersonalNotes","hasEmergencyContacts","hasPersonalDocuments","getMerchantsFromState","currentSite","Accounts","readJSONFromStorage","storage","fallback","getItem","JSON","parse","setLocalStorage","isJson","localStorage","setItem","stringify","readStorageWithCookie","Cookies","getJSON","get","getTimepickerTime","timeSplit","parseInt","hours","minutes","timeToMinutes","time","hasTimeframeOverlap","aStart","aEnd","bStart","bEnd","timepickerToMinutes","getDateFromTimeDatePickers","dateInput","timeInput","dateObject","setHours","setMinutes","formatTime","period","adjustedHours","adjustedMinutes","String","padStart","minutesToString","isTimeOfDay","floor","remainingMinutes","hoursString","minutesString","getUTCFromTimeDatePickers","utc","getPluralS","getPluralOptions","singular","plural","setChatUser","openChat","hideChat","COLOUR_BRANDING_MAIN","COLOUR_BRANDING_OFF","COLOUR_BRANDING_ACTION","COLOUR_BRANDING_INACTIVE","TEXT_LIGHT","COLOUR_DUSK","COLOUR_DUSK_LIGHT","COLOUR_DUSK_LIGHTER","LINEGREY","COLOUR_RED","COLOUR_GREEN","COLOUR_LIGHTGREY","INACTIVE_TEXT","COLOUR_BRANDING_APP","hexToRGB","hex","shorthandRegex","g","b","exec","hexToRGBAstring","opacity","SET_AUTH","LOGOUT","CHANGE_SITE","UPDATE_PROFILE","ADD_RECENTLY_CREATED","USERS_LOADED","USER_REMOVED","USERS_PURGE","USERS_LOADING","USERS_RESIDENT_COUNT_SET","INVITE_CODES_LOADED","INVITE_CODE_UPDATED","INVITE_CODE_REMOVED","SET_NAV_DATA","TEMPLATES_LOADED","TEMPLATE_REMOVED","SCHEDULED_ACTIONS_LOADED","setAuth","stuff","payload","setAuthUser","dispatch","originalSite","setRemember","chooken","setAuthLocation","updateProfile","changes","addRecentlyCreated","analyticsActions","actionType","entityType","method","getEntityStats","getActivityLog","minTime","maxTime","getAggregateUserStats","getAggregateEntityStats","raw","authActions","checkUserAuth","userId","fetchForgotPasswordId","phoneNumber","authorization","disableUser","getUserSignin","_getUserSignin","copyDummy","CanvasImageUploader","options","maxSize","jpegQuality","image","imageData","base64toBlob","base64Data","contentType","sliceSize","byteCharacters","atob","byteArrays","offset","slice","byteNumbers","charCodeAt","byteArray","Uint8Array","Blob","calculateSize","width","height","ratio","setDimensions","$canvas","attr","drawOnCanvas","canvas","ctx","getContext","clearRect","drawImage","readImageToCanvasOnLoad","callback","warn","newImage","Image","getImageData","copyToCanvas","$destination","destCtx","readImageToCanvas","file","reader","FileReader","onload","fileReaderEvent","src","target","readAsDataURL","saveCanvasToImageData","base64","toDataURL","fileActions","uploadMediaAsync","_uploadMediaAsync","filename","newFilename","Storage","put","level","bucket","compressImage","quality","noCompress","Promise","resolve","reject","css","append","canvasUploader","blobToFile","theBlob","fileName","File","lastModified","putCanvas","img","getTrimmedCanvas","Buffer","from","off","imgName","then","res","catch","err","getMediaFolders","addMediaFolder","published","updateMediaFolder","deleteMediaFolder","addImagesToFolder","images","deleteImagesFromFolder","getMediaLibrary","typeActions","getSubdomains","getSubdomain","updateSubdomain","background","Key","Background","getSites","getSite","_getSite","getUserTypes","setTypePermissions","adminId","deleteUserType","createNewSite","signUpNewSite","getInterface","getInterfaces","q","deleteInterface","saveInterface","title","settings","attachInterface","typeName","interfaceId","getSiteBranding","generateSiteBranding","editSiteBranding","branding","editSiteSettings","getDefaultTVSettings","getDefaultTabSettings","tabTitle","isEnabled","widgetOptions","stringActions","getString","useDefault","setString","userActions","createNewUser","userExtra","bulkNewUser","users","sendWelcome","getbulks","fetchUsers","fetchInitialPasswords","fetchUser","updateUser","getSiteResidentsCount","isCount","sendWelcomeEmail","sendWelcomeText","getInviteCode","generateInviteCode","createInviteCode","userType","expiry","editInviteCode","code","deleteInviteCode","getInviteCodes","excludeFamily","getInviteCodeByCode","details","profileActions","addEC","phone","relationship","editEC","deleteEC","getECs","addPD","isPublic","editPD","deletePD","getPDs","addPN","attachments","editPN","deletePN","getPNs","addUserTag","editUserTag","deleteUserTag","attachUserTag","tagId","detachUserTag","getUserTagsByUser","getUserTagsBySite","utilityActions","getUpvotyToken","getBoardHash","getRoadmapHash","generateMake","templateId","templateActions","getTemplates","featureKey","getTemplate","rowId","createTemplate","template","content","editTemplate","deleteTemplate","scheduledActionsActions","getActions","entityKey","usersUpdate","userFetchFail","results","Items","allList","getUserCount","usersLoaded","events","userKey","inviteCodesLoaded","inviteCodes","inviteCodeUpdated","inviteCode","inviteCodeRemoved","clearUsers","setNavData","templatesLoaded","removeTemplate","scheduledActionsLoaded","scheduledActions","AddButton","Component","getClasses","classes","inactive","renderIcon","Icon","className","icon","render","_jsxs","onClick","Attachment","white","pulse","uploading","fixedWidth","onRemove","colour","Button","inline","isActive","buttonType","compact","narrow","noHoverHighlight","getButtonClasses","buttonClassName","getButtonTextClasses","leftIcon","buttonTextClassName","buttonClick","renderLeftIcon","buttonStyle","textStyle","CheckBox","PureComponent","constructor","_defineProperty","disabled","onChange","generateClassNames","getLabelClasses","getBoxStyle","highlightColour","borderColor","backgroundColor","showWarning","styles","row","marginLeft","fontSize","lineHeight","labelStyle","flexDirection","marginBottom","Text","getClassName","ProfilePicComponent","renderPic","borderRadius","backgroundSize","backgroundPosition","backgroundImage","alt","hoverText","containerClass","mapStateToProps","ProfilePic","connect","Comment","renderImage","rel","renderComment","comment","User","profilePic","displayName","local","bottomContent","CommentSection","_this","this","event","stateChange","getAttribute","setState","commentInput","onAddComment","onlyParents","comments","ParentId","onOpenThread","threadComments","innerC","profilePics","take","uniqBy","UserId","includeTitle","getComments","renderReplyText","Textarea","placeholder","onHandleChange","DatePicker","shownMonth","grid","UNSAFE_componentWillMount","onNewProps","UNSAFE_componentWillReceiveProps","nextProps","forceUpdate","getFullYear","getMonth","generateGrid","multiple","selectedDates","selectedDate","dateToUse","isNaN","getDate","getShortDate","isDateSelected","isSame","isDateEnabled","enabledDates","found","day","enabled","changeMonth","change","newShownDate","selectRange","d1","lastSelected","d2","dateRange","selectDate","newSelection","isBeforeMinDate","minDate","isBefore","dateKey","shiftKey","splice","month","dateToTarget","endOf","dateToModify","startOf","selectedDateToUse","rows","thisDate","isFaded","isToday","isSelected","renderGrid","renderTop","hideTop","bind","DurationInput","handleChange","labelWidth","handleHourChange","newHours","max","min","handleMinuteChange","newMinutes","marginRight","DEFAULT_INPUT","uploadingFile","FileInputComponent","inputs","accept","last","refreshCallback","files","newInputs","clone","limit","newInput","handleFile","checkRefreshCallback","checkSetDisplayValue","uploadFile","componentDidMount","setTimeout","hasDefault","setValue","val","uploadingImage","str","getClassNames","inputsLength","onlyAllowUpload","getErrorState","showError","removeFile","newState","renderInput","renderContent","Dropzone","getAccept","onDrop","getRootProps","getInputProps","padding","renderRemove","disableRemove","simpleStyle","renderDownload","noDownload","isDragActive","renderUploadFiles","containerStyle","FileInput","forwardRef","GenericInput","componentDidUpdate","prevProps","prevState","autofocus","_input","focus","getAutoComplete","autoComplete","isValid","large","getLabelStyle","alwaysShowLabel","renderError","renderHelp","help","inputComponent","alignItems","isRequired","rightContent","inputClass","onKeyPress","onEnter","onKeyDown","inputStyle","readOnly","maxLength","onFocus","onBlur","textWrapperStyle","ref","autoFocus","justifyContent","Header","open","isSideMenuOpen","getHomeLink","renderRight","goToHelpGuide","renderHeader","renderSimpleHeader","fixed","renderContainerHeader","simple","onlyContainer","nav","exportObj","withRouter","SideNavItem","onUrlChange","Link","pathname","selected","subStyle","section","goTo","noSideDot","sideNavDot","isNil","minHeight","HubSidebar","helpGuide","onHelpGuidePress","showSidebar","condensedSidebar","componentWillUnmount","renderButton","item","renderNewButton","renderNavItem","isFontAwesome","isSVG","renderSection","items","itemIndex","sections","renderHelpGuide","Popup","renderClose","onClose","renderTitle","renderSubtitle","subtitle","renderButtons","buttons","verticalButtonStack","loading","leftIconType","leftIconColour","boxClasses","maxHeight","maxWidth","minWidth","hasPadding","innerClasses","topContent","displayValue","ImageInputComponent","selectedTab","libraryLoadTriggered","libraryLoaded","imageLibrary","loadingFolders","addingFolder","deletingFolder","deletingImage","folders","addFolderOpen","addFolderInput","selectedFolder","saveErrorMessage","allowVideo","uri","image1400","Value","Thumb","Selected","document","getElementById","cancelAddStates","refreshFolders","message","folder","RowId","isStockFolder","parsedImages","parseImagesArray","Images","getFolders","fromLibrary","stopPropagation","confirm","Name","toggleLibraryItem","getLibrary","getUploading","getValue","getImageStyle","getContainerClasses","noMenu","_this2","_this3","findIndex","newFile","storeValue","on","remove","removeImage","selectedFolderImages","imageList","libraryFile","selectTab","tab","controls","mediaText","horizontalText","renderLibraryImage","allowDelete","saveImageSpinner","deleteImage","renderMenu","renderAddFolder","isSaving","addFolderInputContainer","addFolderInputText","saveFolderSpinner","cancelAddFolder","addFolderCancel","saveFolder","addFolderSave","addFolder","renderFolder","timeStamp","countText","selectFolder","textAlign","paddingRight","canManageLibrary","deleteFolder","removeFolderButton","renderFolders","canAddImageToLibrary","renderBreadCrumbs","selectRoot","renderFolderImages","stockFolder","canDelete","uploadingImages","renderUploadImages","renderLibraryPopup","paddingBottom","paddingLeft","cursor","ImageInput","MoreMenu","ev","onPress","OverlayPage","updateWindowDimensions","addEventListener","removeEventListener","innerWidth","innerHeight","fullPage","fullPageStyle","pageWrapper","backgroundOverlay","backgroundStyle","position","zIndex","left","OverlayPageContents","wrapper","noBottomButtons","clear","whiteSpace","overflow","overflowX","OverlayPageSection","OverlayPageBottomButtons","borderTop","borderTopColor","PageTitle","RadioButton","isSquare","generateWrapperClassNames","wrapperClass","getButtonStyle","performSingleAction","performMultiAction","renderLabel","renderSubLabel","subLabel","subLabelStyle","renderOptions","rowStyle","Label","marginTop","single","centeredRow","Tag","renderLeft","leftClick","leftIconStyle","rightIcon","rightClick","rightIconStyle","renderText","centerClass","StatusButton","deactivate","activeText","deactivateText","activate","inactiveText","activateText","SuccessPopup","getBackgroundClasses","backgroundClose","closeAction","right","noIcon","getReactions","Reactions","reactions","getReaction","renderReactions","AnalyticsFilter","filterOptions","hideOptions","DropdownItem","eventKey","active","selectedFilter","o","dateRangeText","calendarVisible","filterChanged","start","end","getDateRangeText","filterDateRangeChanged","isSameOrAfter","defaultFilter","defaultStart","defaultEnd","_Fragment","DropdownButton","bsSize","onSelect","selectFilter","toggleDateSelectors","startDateChanged","endDateChanged","UserListing","getSize","getImage","getKey","getText","getBorderRadius","squareImage","isLoading","renderSub","subContent","whiteText","color","textClass","TimePicker","selectedTime","optional","hourInput","minuteInput","mInput","selectTime","mDate","minutesFocused","activeElement","getDefaultTime","hour","minute","second","onChangeHour","selectNext","select","onChangeMinute","onBlurMinute","onChangeM","callbackFormat","renderClear","hasClear","onClear","AudienceIncluder","showUserAdd","userSearch","returnList","userList","selectionList","updateProps","searchUserLoading","renderSearch","renderUserAdd","renderAttendees","DropdownInput","setWrapperRef","handleClickOutside","node","wrapperRef","contains","ignoreValue","renderOption","dropdownItemsWrapper","cat","dropDownOption","Title","getBottomBorder","chevronWrapper","chevron","boxShadow","paddingTop","AudienceSelector","updateValidation","validateAudienceSelection","getAudienceType","getAudienceTypeSelection","includeList","excludeList","onChangeSelection","AudienceTagList","includeSelected","categories","types","tagList","categoryTags","AudienceType","AudienceTypeSelection","userTypeTags","userTagTags","at","tag","ShortName","audienceType","showInclude","showExclude","Category","audienceTypeSelection","custom","disallowSingleUsers","allowTags","getUsers","getUserTags","isEqual","onSubmit","getIncludeList","getExcludeList","setType","selection","onChangeOption","getOptions","disallowUserType","validateCustom","validateCategory","validateType","validateTag","selectType","getTypeTitle","typeObject","getTagTitle","userTypes","cloneDeep","category","shortName","getUserList","element","sortBy","selectCat","getCatTitle","showUserPickers","isInclude","allowIncludes","allowExcludes","getUserExcludeList","addToInc","list","removeUserInc","addToEx","removeUserEx","renderExcludes","renderIncludes","renderAssignedAudiences","onDetachAudienceTag","renderAvailableAudiences","tags","getAvailableAudienceTags","onAttachAudienceTag","renderCustom","showWarnings","selectTag","toExport","TextFormatPopup","isOpen","fontWeight","OptionsSection","getSelectedOption","getTitle","selectedOption","renderOptionButton","selectOption","overflowButtons","MakerPopup","selectedSize","sizes","selectedFormat","formats","headerType","requestData","hideFormat","hideSize","compileData","loadingBranding","submitting","isReadyToSubmit","compileRequestData","asset","resultUrl","lottieAnimationUrl","initialData","lottieConfig","loop","autoplay","getBranding","getLottieConfig","Logo","HeaderType","animationData","getButtons","onGenerateAsset","Lottie","isClickToPauseDisabled","downloadAsset","getSelectedSizeTitle","selectSize","getSelectedFormatTitle","selectFormat","ExportCsvPopup","columns","canSave","column","selectedHeaders","filterDateStartVisible","filterDateEndVisible","filterDateEnd","filterDateStart","timestampFilter","filterKey","maxDate","selectedheaderKeys","h","pick","onToggleStartDateFilter","onDateFilterStartChanged","onToggleEndDateFilter","onDateFilterEndChanged","saving","onToggleColumn","selectedSource","CSVLink","getSelectedSource","textDecoration","onConfirm","renderTimestampFilter","InputGroup","required","_objectWithoutProperties","_excluded","FormGroup","controlId","validationState","FormLabel","FormControl","FormText","Tabs","editKey","getTabClass","strikethrough","isInvalid","renderTab","onSelectTab","tabStyle","tabs","ColourOptions","tc","tinycolor","colourCircleTop","getBrightness","colourCircleLeft","toHsv","toUpperCase","selectedColour","setColourCircle","onColourSelected","defaultTab","getQuickChoiceTabs","optionsArray","trim","available","renderColourQuickChoicesCircle","onColourChange","renderColourOptions","ChromePicker","onChangeComplete","disableAlpha","onSelectOption","flex","ColourPicker","colourPickerOpen","renderColourPopup","onDone","onCancel","showHex","onTogglePopup","StatBox","previousValue","viewGraphLink","isFinite","to","HelpGuide","Dashboard","FeaturePicker","News","Events","Alerts","Gallery","Groups","Maintenance","Facilities","Services","Offers","Survey","Information","Users","Payment","Urls","INITIAL_STATE","unionWith","v1","v2","app","newTemplates","Reducers","templates","TemplatesReducer","ScheduledActionsReducer","PERMISSION_CATEGORIES","USER_MANAGEMENT","EVENTS","COMMUNICATION","FACILITIES_BOOKINGS","SITE_ADMINISTRATION","PAYMENTS","CONTENT","EXTRAS","PROFILE_SETTINGS","USER_FEATURES","IMPORTANCE_LEVELS","CRITICAL","IMPORTANT","OPTIONAL"],"mappings":"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OAAOuC,CAAC,EAAE;AACX,IAAA,OAAOvC,KAAK,CAAA;AACb,GAAA;AACD,CAAC,CAAA;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEO,IAAMwC,WAAW,GAAGA,CAACC,UAAU,EAAEC,OAAO,KAAK;AACnD,EAAA,OAAOtD,CAAC,CAACyC,IAAI,CAACY,UAAU,EAAGE,CAAC,IAAK;IAChC,OACCA,CAAC,CAACC,IAAI,KAAK,IAAI,KACd,CAACF,OAAO,IACRtD,CAAC,CAACyC,IAAI,CAACc,CAAC,CAACE,QAAQ,CAACC,OAAO,EAAGC,CAAC,IAAK;AACjC,MAAA,OAAOA,CAAC,CAACC,GAAG,KAAKN,OAAO,CAAA;AACzB,KAAC,CAAC,CAAC,CAAA;AAEN,GAAC,CAAC,CAAA;AACH,CAAC;;;;;;;;;;;;;;;AC7RM,IAAMO,YAAY,GAAIC,KAAK,IAAK;EACtC,IAAMC,UAAU,GAAG,EAAE,CAAA;EACrBC,MAAM,CAACC,IAAI,CAACH,KAAK,CAAC,CAACI,OAAO,CAAE9C,EAAE,IAAK;AAClC4C,IAAAA,MAAM,CAACC,IAAI,CAACH,KAAK,CAAC1C,EAAE,CAAC,CAAC,CAAC8C,OAAO,CAAEC,UAAU,IAAK;AAC9C,MAAA,IAAIC,KAAK,CA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"}
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../src/config.js","../src/session.js","../src/analytics.js","../src/helper/api/getUrl.js","../src/helper/api/getUrlParams.js","../src/helper/api/safeReadParams.js","../src/helper/auth/getUserFromState.js","../src/helper/colours/getAppColourFromState.js","../src/helper/files/getExtension.js","../src/helper/files/isVideo.js","../src/helper/files/get1400.js","../src/helper/files/generateImageName.js","../src/helper/files/getFileName.js","../src/helper/files/getThumb300.js","../src/helper/strings/getFirstName.js","../src/helper/strings/isEmail.js","../src/helper/strings/isUrl.js","../src/helper/strings/randomString.js","../src/helper/strings/toParagraphed.js","../src/helper/strings/onlyAlphanumeric.js","../src/helper/strings/htmlDecode.js","../src/helper/strings/htmlEncode.js","../src/helper/site/getSiteName.js","../src/helper/site/getSiteNameFromRoles.js","../src/helper/site/getSiteSettingFromState.js","../src/helper/site/getSiteLevelFromState.js","../src/helper/site/getMerchantsFromState.js","../src/helper/storage/readJSONFromStorage.js","../src/helper/storage/setLocalStorage.js","../src/helper/storage/readStorageWithCookie.js","../src/helper/helper.js","../src/helper/HelpDeskWidget.js","../src/helper/index.js","../src/colours.js","../src/actions/types.js","../src/actions/AuthActions.js","../src/actions/LocalActions.js","../src/apis/analyticsActions.js","../src/apis/authActions.js","../src/helper/files/canvasImageUploader.js","../src/apis/fileActions.js","../src/apis/typeActions.js","../src/apis/stringActions.js","../src/apis/userActions.js","../src/apis/profileActions.js","../src/apis/utilityActions.js","../src/apis/templateActions.js","../src/apis/scheduledActionsActions.js","../src/actions/UsersActions.js","../src/actions/NavActions.js","../src/actions/TemplateActions.js","../src/actions/ScheduledActionsActions.js","../src/components/AddButton.js","../src/components/Attachment.js","../src/components/Button.js","../src/components/CheckBox.js","../src/components/Text.js","../src/components/ProfilePic.js","../src/components/Comment.js","../src/components/CommentSection.js","../src/components/DatePicker.js","../src/components/DurationInput.js","../src/components/FileInput.js","../src/components/GenericInput.js","../src/components/Header.js","../src/components/SideNavItem.js","../src/components/HubSidebar.js","../src/components/Popup.js","../src/components/ImageInput.js","../src/components/MoreMenu.js","../src/components/OverlayPage.js","../src/components/OverlayPageContents.js","../src/components/OverlayPageSection.js","../src/components/OverlayPageBottomButtons.js","../src/components/PageTitle.js","../src/components/RadioButton.js","../src/components/Tag.js","../src/components/StatusButton.js","../src/components/SuccessPopup.js","../src/components/Reactions.js","../src/components/AnalyticsFilter.js","../src/components/UserListing.js","../src/components/TimePicker.js","../src/components/AudienceIncluder.js","../src/components/DropdownInput.js","../src/components/AudienceSelector.js","../src/components/TextFormatPopup.js","../src/components/OptionsSection.js","../src/components/MakerPopup.js","../src/components/ExportCsvPopup.js","../src/components/InputGroup.js","../src/components/Tabs.js","../src/components/ColourOptions.js","../src/components/ColourPicker.js","../src/components/StatBox.js","../src/urls.js","../src/reducers/TemplatesReducer.js","../src/reducers/ScheduledActionsReducer.js","../src/reducers/index.js","../src/permissions.js"],"sourcesContent":["const CoreConfig = {\n\tenv: {\n\t\tbaseStage: \"\",\n\t\tbaseAPIUrl: \"\",\n\t\tbaseUploadsUrl: \"\",\n\t\tbaseLibraryUrl: \"\",\n\t\tuploadBucket: \"\",\n\t\tcolourBrandingMain: \"\",\n\t\tcolourBrandingOff: \"\",\n\t\tcolourBrandingApp: \"\",\n\t\tdefaultProfileImage:\n\t\t\t\"https://pluss60-demo-uploads.s3.ap-southeast-2.amazonaws.com/uploads/users/ap-southeast-2:97769b56-25ec-41c0-a73c-6c2c4140f629/public/3d2433c6419383beb1078036b7/tinydefaultprofile.png\",\n\t\tutcOffset: \"\",\n\t\thasAvailableNews: false,\n\t\tnewsHaveTags: true,\n\t\tdefaultAllowComments: true,\n\t\tmakeApiKey: \"\",\n\t\tlogo: \"\",\n\t\tclientName: \"\",\n\t},\n\tinit: (environment) => {\n\t\tCoreConfig.env = environment;\n\t},\n};\nexport default CoreConfig;\n","import _ from \"lodash\";\nimport axios from \"axios\";\nimport { Auth } from \"aws-amplify\";\n\nexport const getSessionTokenAWS = async (prefix) => {\n\tconst data = await Auth.currentSession();\n\tconst token = data.getAccessToken().getJwtToken();\n\tif (_.isUndefined(prefix)) return token;\n\treturn `${prefix} ${token}`;\n};\n\n// export const getRefreshTokenAWS = async () => {\n// const data = await Auth.currentSession();\n// return data.getRefreshToken().token;\n// };\n\nexport const authedFunction = async (request) => {\n\ttry {\n\t\tconst authkey = await getSessionTokenAWS();\n\n\t\tif (!request.headers) request.headers = {};\n\t\trequest.headers.authkey = authkey;\n\n\t\treturn await axios(request);\n\t} catch (error) {\n\t\tconsole.error(\"authedFunction error\", error, request);\n\t\tthrow error;\n\t}\n};\n\nexport const unauthedFunction = (request) => {\n\treturn axios(request);\n};\n\nexport const getCurrentUserSub = async () => {\n\ttry {\n\t\tconst user = await Auth.currentUserInfo();\n\t\treturn user.id;\n\t} catch (error) {\n\t\treturn null;\n\t}\n};\n\nexport const checkLoggedIn = async (self) => {\n\ttry {\n\t\tconst user = await Auth.currentAuthenticatedUser();\n\t\tif (_.isUndefined(user) || user == null || user.username == null) {\n\t\t\tconsole.log(\"redirecting to login\");\n\t\t\tself.props.history.push(\"/login\");\n\t\t}\n\t} catch (error) {\n\t\tif (error === \"not authenticated\") {\n\t\t\tconsole.log(\"redirecting to logout\");\n\t\t\tself.props.history.push(\"/logout\");\n\t\t}\n\t}\n};\n\n// export const checkLogInScreen = (self, auth) => {\n// if (auth.auth) {\n// if (auth.auth === 'KIOSK') {\n// console.log('redirecting to tv');\n// self.props.history.push('/tv');\n// } else {\n// console.log('redirecting to mastermenu');\n// self.props.history.push('/mastermenu');\n// }\n// }\n// };\n\n// export const getAdminTypes = (additionalTypes) => {\n// if (!additionalTypes) {\n// additionalTypes = [];\n// }\n// return ['admin', 'master', 'villageStaff', ...additionalTypes];\n// };\n\n// export const isAdmin = (auth) => {\n// return isAuthed(auth, getAdminTypes(null));\n// };\n\n// export const isAdminMaster = (auth) => {\n// return auth.auth === 'master';\n// };\n\n// export const isAuthed = (auth, validTypes) => {\n// return _.some(validTypes, (type) => {\n// return type === auth.auth;\n// });\n// };\n\nexport const isTheBest = (auth, isPlussSpaceMaster) => {\n\tif (auth && auth.user) {\n\t\tif (isPlussSpaceMaster) {\n\t\t\t// only plussSpace master\n\t\t\treturn validateAccess(\"plussSpace\", \"master\", auth);\n\t\t}\n\t\t// any master\n\t\treturn validateAccess(\"hq\", \"master\", auth);\n\t}\n\treturn false;\n};\n\n// export const getRolesWithAccess = (roles, type) => {\n// return _.filter(roles, (role) => {\n// return role.type === 'master' || (!_.isEmpty(role.Permission) && _.includes(role.Permissions, type));\n// });\n// };\n\n// export const mapRolesToSites = (roles) => {\n// return _.sortBy(\n// roles.map((r) => {\n// return {\n// Id: r.site,\n// Key: r.site,\n// siteName: (r.siteInfo && r.siteInfo.siteName) || r.site,\n// Title: (r.siteInfo && r.siteInfo.siteName) || r.site,\n// };\n// }),\n// (r) => {\n// return r.siteName.toLowerCase();\n// },\n// );\n// };\n\n// export const getCurrentUserType = (auth) => {\n// if (!auth) {\n// return {};\n// }\n// const roles = auth && auth.user ? auth.user.Roles : [];\n// const role = _.find(roles, (r) => {\n// return r.site === auth.site;\n// });\n// if (!role) {\n// // catch for no role\n// return { typeName: auth.auth, displayName: auth.auth, site: auth.site };\n// }\n// const userType = _.find(auth.userTypes || [], (ut) => {\n// return ut.site === role.site && ut.typeName === role.type;\n// });\n// if (!userType) {\n// return { typeName: role.type, displayName: role.type, site: role.site };\n// }\n// return userType;\n// };\n\nexport const validateAccess = (site, type, auth, noRole) => {\n\tconst roles = auth && auth.user ? auth.user.Roles : [];\n\tif (_.isEmpty(roles)) return noRole;\n\tif (site === \"plussSpace\" && type === \"master\") {\n\t\treturn _.some(roles, (r) => r.site === \"plussSpace\" && r.type === \"master\");\n\t}\n\tif (_.some(roles, (r) => r.type === \"master\")) return true;\n\tconst role = _.find(roles, (r) => r.site === site);\n\tif (!role) return false;\n\tif (type === \"any\") return true;\n\treturn !_.isEmpty(role.Permissions) && _.includes(role.Permissions, type);\n};\n\nexport const getApiError = (error) => {\n\ttry {\n\t\tconst errorData = error.response.data;\n\t\tconst errorMessage = errorData && errorData.error;\n\t\treturn errorMessage || errorData || error;\n\t} catch (e) {\n\t\treturn error;\n\t}\n};\n\n// export const getEnabledFeatures = (siteInfo, interfaces) => {\n// const interfaceSettings = !_.isEmpty(interfaces)\n// ? interfaces.map((t) => {\n// if (t.Type === 'TV') {\n// return t;\n// }\n// return t.Settings;\n// })\n// : [];\n\n// const siteSettings = siteInfo && siteInfo.Settings ? siteInfo.Settings : {};\n// const hidden = siteInfo && siteInfo.Hidden ? siteInfo.Hidden : [];\n// const notHidden = siteInfo && siteInfo.NotHidden ? siteInfo.NotHidden : [];\n// const defaultFeatures = ['users', 'alerts'];\n// let features = [...defaultFeatures];\n// if (siteSettings.TabSettings) {\n// interfaceSettings.push(siteSettings.TabSettings);\n// } else {\n// features = [...features, ...(siteSettings.HomeWidgets || ['events', 'news'])];\n// if (!_.includes(hidden, 'whatsOn')) {\n// // second tab is enabled - add features\n// features.push(siteSettings.MainWidget1 || 'events');\n// }\n// if (!_.includes(hidden, 'marketplace')) {\n// // third tab is enabled - add features\n// features = [...features, ...(siteSettings.Widgets2 || ['services', 'offers', 'facilities'])];\n// }\n// if (!_.includes(hidden, 'people')) {\n// // fourth tab is enabled - add features\n// features.push(siteSettings.MainWidget3 || 'people');\n// }\n// }\n\n// interfaceSettings.forEach((s) => {\n// if (!Array.isArray(s) && s.Type && s.Type === 'TV') {\n// // TV Views\n// features = [\n// ...features,\n// ...s.Settings.widgets.map((w) => {\n// return w.key;\n// }),\n// ];\n// } else {\n// // App Views\n// (s || []).forEach((t) => {\n// if (t.isEnabled) {\n// features = [...features, ...t.widgets];\n// }\n// });\n// }\n// });\n\n// if (\n// (siteSettings.TabSettings &&\n// _.some(siteSettings.TabSettings, (t) => {\n// return t.type === 'menu' && t.isEnabled;\n// })) ||\n// (!siteSettings.TabSettings && !_.includes(hidden, 'more'))\n// ) {\n// // more tab is enabled - add features\n// if (!_.includes(hidden, 'maintenanceRequest')) {\n// features.push('maintenance');\n// }\n// if (!_.includes(hidden, 'infoPages')) {\n// features.push('infoPages');\n// }\n// if (!_.includes(hidden, 'maps')) {\n// features.push('maps');\n// }\n// if (!_.includes(hidden, 'importantContacts')) {\n// features.push('importantContacts');\n// }\n// if (!_.includes(hidden, 'feedback')) {\n// features.push('feedback');\n// }\n// if (!_.includes(hidden, 'surveys')) {\n// features.push('surveys');\n// }\n// }\n// if (_.includes(notHidden, 'visitors')) {\n// features.push('visitors');\n// }\n// if (_.includes(features, 'services')) {\n// features.push('sponsors');\n// }\n// return _.uniq(features);\n// };\n\n// export const isFeatureEnabled = (features, key) => {\n// if (_.includes(features, key)) {\n// return true;\n// }\n// switch (key) {\n// case 'userManagement':\n// return _.includes(features, 'users');\n// case 'maintenanceTracking':\n// case 'maintenanceTypes':\n// return _.includes(features, 'maintenance');\n// case 'welcomePages':\n// return _.includes(features, 'news');\n// case 'polls':\n// return _.includes(features, 'surveys');\n// case 'terms':\n// return true;\n// default:\n// return false;\n// }\n// };\n\nexport const isTVEnabled = (interfaces, feature) => {\n\treturn _.some(interfaces, (t) => {\n\t\treturn (\n\t\t\tt.Type === \"TV\" &&\n\t\t\t(!feature ||\n\t\t\t\t_.some(t.Settings.widgets, (f) => {\n\t\t\t\t\treturn f.key === feature;\n\t\t\t\t}))\n\t\t);\n\t});\n};\n","import _ from \"lodash\";\nimport moment from \"moment\";\n\nexport const compileStats = (stats) => {\n\tconst totalStats = {};\n\tObject.keys(stats).forEach((id) => {\n\t\tObject.keys(stats[id]).forEach((activityId) => {\n\t\t\tif (Array.isArray(stats[id][activityId])) {\n\t\t\t\tif (!totalStats[activityId]) {\n\t\t\t\t\ttotalStats[activityId] = [];\n\t\t\t\t}\n\t\t\t\tArray.prototype.push.apply(\n\t\t\t\t\ttotalStats[activityId],\n\t\t\t\t\tstats[id][activityId],\n\t\t\t\t);\n\t\t\t\ttotalStats[activityId] = _.uniq(totalStats[activityId]);\n\t\t\t} else {\n\t\t\t\tif (!totalStats[activityId]) {\n\t\t\t\t\ttotalStats[activityId] = 0;\n\t\t\t\t}\n\t\t\t\ttotalStats[activityId] += stats[id][activityId];\n\t\t\t}\n\t\t});\n\t});\n\treturn totalStats;\n};\n\nexport const getInsight = (stats, previousStats, source, key, activity) => {\n\tlet top = { Stats: { [activity]: 0 } };\n\tObject.keys(stats).forEach((entityId) => {\n\t\tif (\n\t\t\tstats[entityId][activity] &&\n\t\t\tstats[entityId][activity] > top.Stats[activity]\n\t\t) {\n\t\t\tconst entity = _.find(source, (s) => {\n\t\t\t\treturn s[key] === entityId;\n\t\t\t});\n\t\t\tif (entity) {\n\t\t\t\ttop = { Stats: stats[entityId], Entity: entity };\n\t\t\t}\n\t\t}\n\t});\n\tif (top.Stats[activity] === 0) {\n\t\treturn null;\n\t}\n\tif (previousStats) {\n\t\ttop.PreviousStats = previousStats[top.Entity[key]];\n\t}\n\treturn top;\n};\n\nexport const getAnalyticsFilterOptions = () => {\n\treturn [\n\t\t{\n\t\t\ttext: \"Yesterday\",\n\t\t\tdayCount: 1,\n\t\t\tprevText: \"day before\",\n\t\t},\n\t\t{\n\t\t\ttext: \"Last 7 days\",\n\t\t\tdayCount: 7,\n\t\t\tprevText: \"previous 7 days\",\n\t\t},\n\t\t{\n\t\t\ttext: \"Last 14 days\",\n\t\t\tdayCount: 14,\n\t\t\tprevText: \"previous 14 days\",\n\t\t},\n\t\t{\n\t\t\ttext: \"Last 30 days\",\n\t\t\tdayCount: 30,\n\t\t\tprevText: \"previous 30 days\",\n\t\t},\n\t\t{\n\t\t\ttext: \"Last 90 days\",\n\t\t\tdayCount: 90,\n\t\t\tprevText: \"previous 90 days\",\n\t\t},\n\t\t{\n\t\t\ttext: \"Last 365 days\",\n\t\t\tdayCount: 365,\n\t\t\tprevText: \"previous 365 days\",\n\t\t},\n\t\t{\n\t\t\ttext: \"Custom Range\",\n\t\t\tdayCount: 0,\n\t\t\tprevText: \"previous * days\",\n\t\t},\n\t];\n};\n\nexport const countActivities = (data, activityKey, countType) => {\n\tlet count = 0;\n\tlet set = new Set();\n\n\tdata.forEach((entry) => {\n\t\tconst stats = entry.Stats;\n\n\t\tfor (const entity in stats) {\n\t\t\tconst entityStats = stats[entity];\n\n\t\t\tswitch (countType) {\n\t\t\t\tcase \"unique\":\n\t\t\t\t\tif (entityStats[activityKey]) {\n\t\t\t\t\t\tset.add(entity);\n\t\t\t\t\t}\n\t\t\t\t\tbreak;\n\t\t\t\tcase \"uniquearray\":\n\t\t\t\t\tif (entityStats[activityKey]) {\n\t\t\t\t\t\t_.values(entityStats[activityKey]).forEach((value) => {\n\t\t\t\t\t\t\tset.add(value);\n\t\t\t\t\t\t});\n\t\t\t\t\t}\n\t\t\t\t\tbreak;\n\t\t\t\tcase \"total\":\n\t\t\t\t\tif (entityStats[activityKey]) {\n\t\t\t\t\t\tcount += entityStats[activityKey];\n\t\t\t\t\t}\n\t\t\t\t\tbreak;\n\t\t\t\tdefault:\n\t\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\t});\n\n\tswitch (countType) {\n\t\tcase \"unique\":\n\t\tcase \"uniquearray\":\n\t\t\tconsole.log(countType, set);\n\t\t\treturn set.size;\n\t\tcase \"total\":\n\t\t\treturn count;\n\t\tdefault:\n\t\t\treturn 0;\n\t}\n};\n\nexport const generateDateRangeObjects = (\n\tstartTime,\n\tendTime,\n\tgroupBy = \"day\",\n) => {\n\tconst startDate = moment(startTime);\n\tconst endDate = moment(endTime);\n\tconst dates = {};\n\n\twhile (startDate.isSameOrBefore(endDate)) {\n\t\tconst dateString = startDate.format(\"DD-MM-YYYY\");\n\t\tdates[dateString] = {\n\t\t\tDate: dateString,\n\t\t\tTimestamp: startDate.valueOf(),\n\t\t\tStats: {},\n\t\t};\n\t\tstartDate.add(1, groupBy);\n\t}\n\n\treturn dates;\n};\n\nexport const generateDateActivities = (\n\tdata,\n\tactivityKey,\n\tcountType,\n\tstartTime,\n\tendTime,\n\tgroupBy = \"day\",\n) => {\n\tconst dates = generateDateRangeObjects(startTime, endTime, groupBy);\n\n\tconst result = [];\n\tlet formatToUse = \"DD-MM-YYYY\";\n\tlet labelFormat = \"D MMM\";\n\tswitch (groupBy) {\n\t\tcase \"month\":\n\t\t\tformatToUse = \"MM-YYYY\";\n\t\t\tlabelFormat = \"MMMM\";\n\t\t\tbreak;\n\t\tcase \"week\":\n\t\t\tformatToUse = \"w-gggg\";\n\t\t\tlabelFormat = \"[Week of] D MMM\";\n\t\t\tbreak;\n\t\tdefault:\n\t\t\tbreak;\n\t}\n\n\tObject.keys(dates).forEach((d) => {\n\t\tconst datesToUse = _.filter(data, (date) => {\n\t\t\treturn (\n\t\t\t\tmoment(date.Date, \"DD-MM-YYYY\").format(formatToUse) ===\n\t\t\t\tmoment(d, \"DD-MM-YYYY\").format(formatToUse)\n\t\t\t);\n\t\t}) || [dates[d]];\n\t\tconst compiledValue = {\n\t\t\tdate: d,\n\t\t\tlabel: moment(d, \"DD-MM-YYYY\").format(labelFormat),\n\t\t\tvalue: countActivities(datesToUse, activityKey, countType),\n\t\t};\n\n\t\tresult.push(compiledValue);\n\t});\n\tconsole.log(result);\n\treturn result;\n};\n","import _ from \"lodash\";\nimport Config from \"../../config\";\n\nconst getUrl = (\n\tbaseAction,\n\taction,\n\tquery,\n\t{ url, stage } = { url: null, stage: null },\n) => {\n\tconst { baseAPIUrl, baseStage } = Config.env;\n\tlet queryPart = \"\";\n\tif (query) {\n\t\t_.keys(query).forEach((key, index) => {\n\t\t\tqueryPart += `${index === 0 ? \"?\" : \"&\"}${key}=${encodeURIComponent(query[key])}`;\n\t\t});\n\t}\n\treturn `${url || baseAPIUrl}/${baseAction}-${stage || baseStage}/${action}${queryPart}`;\n};\n\nexport default getUrl;\n","const getUrlParams = () => {\n\tvar vars = {};\n\twindow.location.href.replace(\n\t\t/[?&]+([^=&]+)=([^&]*)/gi,\n\t\tfunction (m, key, value) {\n\t\t\tvars[key] = value;\n\t\t},\n\t);\n\treturn vars;\n};\n\nexport default getUrlParams;\n","const safeReadParams = (props, key) => {\n\tif (props && props.match && props.match.params)\n\t\treturn props.match.params[key];\n\treturn null;\n};\n\nexport default safeReadParams;\n","const getUserFromState = (state) => {\n\tif (!state || !state.auth || !state.auth.user) {\n\t\treturn {};\n\t}\n\treturn state.auth.user;\n};\n\nexport default getUserFromState;\n","import Config from \"../../config\";\n\nconst getAppColourFromState = (state) => {\n\tif (\n\t\t!state ||\n\t\t!state.auth ||\n\t\t!state.auth.siteBranding ||\n\t\t!state.auth.siteBranding.MainBrandingColour\n\t) {\n\t\treturn Config.env.colourBrandingApp;\n\t}\n\treturn state.auth.siteBranding.MainBrandingColour;\n};\n\nexport default getAppColourFromState;\n","const getExtension = (url) => {\n\tif (!url) {\n\t\treturn null;\n\t}\n\tconst fileSplit = url.split(\".\");\n\treturn fileSplit[fileSplit.length - 1].toLowerCase();\n};\n\nexport default getExtension;\n","import getExtension from \"./getExtension\";\n\nconst isVideo = (url) => {\n\tconst extension = getExtension(url);\n\treturn [\"mov\", \"mp4\"].includes(extension);\n};\n\nexport default isVideo;\n","import Config from \"../../config\";\nimport getExtension from \"./getExtension\";\nimport isVideo from \"./isVideo\";\n\nconst get1400 = (url) => {\n\tif (!url) {\n\t\treturn url;\n\t}\n\tif (isVideo(url)) {\n\t\treturn \"https://pluss60-demo-uploads.s3.ap-southeast-2.amazonaws.com/uploads/users/ap-southeast-2:97769b56-25ec-41c0-a73c-6c2c4140f629/public/9d0bbec64614b1ed654a03f7e7/movie.jpg\";\n\t}\n\tif (url.indexOf(\"https://plussprdstorage.blob.core.windows.net/\") !== -1) {\n\t\treturn url.replace(\n\t\t\t\"https://plussprdstorage.blob.core.windows.net/\",\n\t\t\t\"https://plusscdn.azureedge.net/\",\n\t\t);\n\t}\n\tif (url.indexOf(\"https://plusscdn.azureedge.net/\") !== -1) {\n\t\treturn url\n\t\t\t.replace(\"/uploads/\", \"/uploads1400/\")\n\t\t\t.replace(\"/general/\", \"/general1400/\");\n\t}\n\n\tconst { baseUploadsUrl, baseLibraryUrl } = Config.env;\n\n\tif (\n\t\turl.indexOf(baseUploadsUrl) !== -1 ||\n\t\turl.indexOf(baseLibraryUrl) !== -1\n\t) {\n\t\tconst extension = getExtension(url);\n\t\tlet urlToUse = url;\n\t\tif (extension !== \"jpg\") {\n\t\t\turlToUse = `${url.substring(0, url.length - (extension.length + 1))}.jpg`;\n\t\t}\n\t\treturn urlToUse.replace(\"/uploads/\", \"/1400/\");\n\t}\n\treturn url;\n};\n\nexport default get1400;\n","const generateImageName = (name) => {\n\treturn `xxxxxxxx4xxxyxxxxxxxxxxxxx${name}`.replace(/[xy]/g, (c) => {\n\t\t// eslint-disable-next-line\n\t\tvar r = (Math.random() * 16) | 0,\n\t\t\tv = c === \"x\" ? r : (r & 0x3) | 0x8;\n\t\treturn v.toString(16);\n\t});\n};\n\nexport default generateImageName;\n","const getFileName = (url, noExtension) => {\n\tif (!url) {\n\t\treturn null;\n\t}\n\tconst fileSplit = url.split(\"/\");\n\tconst name = fileSplit[fileSplit.length - 1].toLowerCase();\n\tif (!noExtension) {\n\t\treturn name;\n\t}\n\treturn name.split(\".\")[0];\n};\n\nexport default getFileName;\n","import Config from \"../../config\";\nimport getExtension from \"./getExtension\";\nimport isVideo from \"./isVideo\";\n\nconst getThumb300 = (url) => {\n\tif (!url) {\n\t\treturn url;\n\t}\n\tif (isVideo(url)) {\n\t\treturn \"https://pluss60-demo-uploads.s3.ap-southeast-2.amazonaws.com/uploads/users/ap-southeast-2:97769b56-25ec-41c0-a73c-6c2c4140f629/public/9d0bbec64614b1ed654a03f7e7/movie.jpg\";\n\t}\n\tif (url.indexOf(\"https://plussprdstorage.blob.core.windows.net/\") !== -1) {\n\t\treturn url.replace(\n\t\t\t\"https://plussprdstorage.blob.core.windows.net/\",\n\t\t\t\"https://plusscdn.azureedge.net/\",\n\t\t);\n\t}\n\tif (url.indexOf(\"https://plusscdn.azureedge.net/\") !== -1) {\n\t\treturn url\n\t\t\t.replace(\"/uploads/\", \"/uploads-thumb/\")\n\t\t\t.replace(\"/general/\", \"/general300/\")\n\t\t\t.replace(\"/uploads1400/\", \"/uploads-thumb/\")\n\t\t\t.replace(\"/general1400/\", \"/general300/\");\n\t}\n\n\tconst { baseUploadsUrl, baseLibraryUrl } = Config.env;\n\n\tif (\n\t\turl.indexOf(baseUploadsUrl) !== -1 ||\n\t\turl.indexOf(baseLibraryUrl) !== -1\n\t) {\n\t\tconst extension = getExtension(url);\n\t\tlet urlToUse = url;\n\t\tif (extension !== \"jpg\") {\n\t\t\turlToUse = `${url.substring(0, url.length - (extension.length + 1))}.jpg`;\n\t\t}\n\t\treturn urlToUse\n\t\t\t.replace(\"/1400/\", \"/thumb300/\")\n\t\t\t.replace(\"/uploads/\", \"/thumb300/\");\n\t}\n\treturn url;\n};\n\nexport default getThumb300;\n","import _ from \"lodash\";\n\nconst getFirstName = (string) => {\n\tif (_.isEmpty(string)) {\n\t\treturn \"\";\n\t}\n\treturn string.split(\" \")[0];\n};\n\nexport default getFirstName;\n","import _ from \"lodash\";\n\nconst isEmail = (email) => {\n\tif (_.isEmpty(email)) return false;\n\tconst atpos = email.indexOf(\"@\");\n\tconst dotpos = email.lastIndexOf(\".\");\n\tif (atpos < 1 || dotpos < atpos + 2 || dotpos + 2 >= email.length)\n\t\treturn false;\n\treturn true;\n};\n\nexport default isEmail;\n","import _ from \"lodash\";\n\nconst isUrl = (url) => {\n\tif (_.isEmpty(url)) return false;\n\n\tconst dotpos = url.lastIndexOf(\".\");\n\tif (dotpos < 2 || dotpos + 2 >= url.length) {\n\t\treturn false;\n\t}\n\treturn true;\n};\n\nexport default isUrl;\n","const randomString = () => {\n\treturn \"xxxxxxxx4xxxyxxxxxxxxxxxxx\".replace(/[xy]/g, (c) => {\n\t\t// eslint-disable-next-line\n\t\tvar r = (Math.random() * 16) | 0,\n\t\t\tv = c === \"x\" ? r : (r & 0x3) | 0x8;\n\t\treturn v.toString(16);\n\t});\n};\n\nexport default randomString;\n","import React from \"react\";\nimport _ from \"lodash\";\n\nconst toParagraphed = (text, style) => {\n\tif (!text) return text;\n\ttext = text.replace(/\\t/g, \"\\u00a0\\u00a0\\u00a0\\u00a0\");\n\tconst textSplit = text.split(\"\\n\");\n\treturn _.map(textSplit, (t, i) => {\n\t\treturn (\n\t\t\t<span key={`paragraph_${i}`} style={{ display: \"block\", ...style }}>\n\t\t\t\t{t || \"\\u00A0\"}\n\t\t\t</span>\n\t\t);\n\t});\n};\n\nexport default toParagraphed;\n","const onlyAlphanumeric = (input) => {\n\tif (!input) {\n\t\treturn input;\n\t}\n\treturn input.replace(/[^a-z0-9]/gi, \"\");\n};\n\nexport default onlyAlphanumeric;\n","import $ from \"jquery\";\n\nconst htmlDecode = (value) => $(\"<textare/>\").html(value).text();\nexport default htmlDecode;\n","import $ from \"jquery\";\n\nconst htmlEncode = (value) => $(\"<textare/>\").text(value).html();\nexport default htmlEncode;\n","import _ from \"lodash\";\n\nconst getSiteName = (site, sites) => {\n\tif (site === \"hq\") {\n\t\treturn \"HQ\";\n\t}\n\tconst siteObject = _.find(sites, (t) => {\n\t\treturn t.Id === site;\n\t});\n\tif (siteObject) {\n\t\treturn siteObject.siteName;\n\t}\n\treturn site;\n};\n\nexport default getSiteName;\n","import getSiteName from \"./getSiteName\";\n\nconst getSiteNameFromRoles = (site, roles) => {\n\treturn getSiteName(\n\t\tsite,\n\t\troles.map((r) => {\n\t\t\treturn r.siteInfo;\n\t\t}),\n\t);\n};\n\nexport default getSiteNameFromRoles;\n","import _ from \"lodash\";\n\nconst getSiteSettingFromState = (state, key, defaultValue) => {\n\tif (\n\t\tstate &&\n\t\tstate.auth &&\n\t\tstate.auth.siteSettings &&\n\t\t!_.isUndefined(state.auth.siteSettings[key])\n\t) {\n\t\treturn state.auth.siteSettings[key];\n\t}\n\treturn defaultValue || null;\n};\n\nexport default getSiteSettingFromState;\n","const getSiteLevelFromState = (state) => {\n\tlet siteType = \"legacy\";\n\tif (state && state.auth && state.auth.siteType) {\n\t\tsiteType = state.auth.siteType;\n\t}\n\tconst siteConfig = {\n\t\ttype: siteType,\n\t\tfeaturePickerUrl: \"/featurepicker\",\n\t\thasTV: true,\n\t\thasKiosk: false,\n\t\thasPayments: true,\n\t\thasLinkedContent: true,\n\t\thasPersonalNotes: true,\n\t\thasEmergencyContacts: true,\n\t\thasPersonalDocuments: true,\n\t};\n\n\tswitch (siteType) {\n\t\tcase \"free\":\n\t\t\tsiteConfig.featurePickerUrl = \"/features\";\n\t\t\tsiteConfig.hasTV = false;\n\t\t\tsiteConfig.hasPayments = false;\n\t\t\tsiteConfig.hasLinkedContent = false;\n\t\t\tsiteConfig.hasPersonalNotes = false;\n\t\t\tsiteConfig.hasEmergencyContacts = false;\n\t\t\tsiteConfig.hasPersonalDocuments = false;\n\t\t\tbreak;\n\t\tdefault:\n\t\t\tbreak;\n\t}\n\treturn siteConfig;\n};\n\nexport default getSiteLevelFromState;\n","import _ from \"lodash\";\n\nconst getMerchantsFromState = (state) => {\n\tif (!state || !state.auth || !state.auth.user) return [];\n\tconst currentSite = state.auth.user.Roles.find(\n\t\t(r) => r.site === state.auth.site,\n\t);\n\treturn currentSite && !_.isEmpty(currentSite.siteInfo.Accounts)\n\t\t? currentSite.siteInfo.Accounts\n\t\t: [];\n};\n\nexport default getMerchantsFromState;\n","const readJSONFromStorage = (storage, key, fallback) => {\n\tconst value = storage.getItem(key);\n\tif (value) {\n\t\treturn JSON.parse(value);\n\t}\n\treturn fallback;\n};\n\nexport default readJSONFromStorage;\n","const setLocalStorage = (key, value, isJson) => {\n\twindow.localStorage.setItem(key, isJson ? JSON.stringify(value) : value);\n};\n\nexport default setLocalStorage;\n","import Cookies from \"js-cookie\";\n\nconst readStorageWithCookie = (key, isJson) => {\n\tconst value = window.localStorage.getItem(key);\n\tif (value) {\n\t\tif (isJson) {\n\t\t\ttry {\n\t\t\t\treturn JSON.parse(value);\n\t\t\t} catch (e) {\n\t\t\t\tconsole.log(\"parse error\", e);\n\t\t\t}\n\t\t\treturn null;\n\t\t}\n\t\treturn value;\n\t}\n\tif (isJson) {\n\t\treturn Cookies.getJSON(key);\n\t}\n\treturn Cookies.get(key);\n};\n\nexport default readStorageWithCookie;\n","import _ from \"lodash\";\nimport moment from \"moment\";\n\nexport const getTimepickerTime = (input) => {\n\tvar timeSplit = input.split(\":\");\n\tif (timeSplit[1].indexOf(\"pm\") > -1) {\n\t\tif (timeSplit[0] !== \"12\") {\n\t\t\ttimeSplit[0] = (parseInt(timeSplit[0], 10) + 12).toString();\n\t\t}\n\t}\n\tif (timeSplit[1].indexOf(\"am\") > -1) {\n\t\tif (timeSplit[0] === \"12\") {\n\t\t\ttimeSplit[0] = \"00\";\n\t\t}\n\t}\n\treturn {\n\t\thours: timeSplit[0],\n\t\tminutes: timeSplit[1].substring(0, 2),\n\t};\n};\n\n//converts the result of getTimePickerTime into a number representing minutes since midnight\nexport const timeToMinutes = (time) => {\n\treturn parseInt(time.hours, 10) * 60 + parseInt(time.minutes, 10);\n};\n\n// checks whether there is an overlap between two time frames given time and end times in minutes since midnight\nexport const hasTimeframeOverlap = (aStart, aEnd, bStart, bEnd) => {\n\treturn (aStart < bEnd && bStart < aEnd) || (bStart < aEnd && aStart < bEnd);\n};\n\n// converts a time picker input into midnights since midnight\nexport const timepickerToMinutes = (input) => {\n\treturn timeToMinutes(getTimepickerTime(input));\n};\n\nexport const getDateFromTimeDatePickers = (dateInput, timeInput) => {\n\tconst dateObject = new Date(dateInput);\n\tconst time = getTimepickerTime(timeInput);\n\tdateObject.setHours(time.hours);\n\tdateObject.setMinutes(time.minutes);\n\treturn dateObject;\n};\n\nexport const formatTime = (hours, minutes) => {\n\tconst period = hours >= 12 ? \"pm\" : \"am\"; // Convert 24-hour format to 12-hour format\n\n\tconst adjustedHours = hours > 12 ? hours - 12 : hours === 0 ? 12 : hours; // Ensure minutes are two digits\n\n\tconst adjustedMinutes = String(minutes).padStart(2, \"0\");\n\treturn `${adjustedHours}:${adjustedMinutes}${period}`;\n};\n\nexport const minutesToString = (minutes, isTimeOfDay) => {\n\tconst hours = Math.floor(minutes / 60);\n\tconst remainingMinutes = minutes % 60;\n\n\tif (isTimeOfDay) {\n\t\treturn formatTime(hours, remainingMinutes);\n\t}\n\n\tconst hoursString = hours > 1 ? `${hours} hours` : `${hours} hour`;\n\tconst minutesString =\n\t\tremainingMinutes > 1\n\t\t\t? `${remainingMinutes} minutes`\n\t\t\t: `${remainingMinutes} minute`;\n\n\tif (hours && remainingMinutes) {\n\t\treturn `${hoursString} ${minutesString}`;\n\t}\n\n\tif (hours) {\n\t\treturn hoursString;\n\t}\n\n\tif (remainingMinutes) {\n\t\treturn minutesString;\n\t}\n\n\treturn \"0 minutes\";\n};\n\nexport const getUTCFromTimeDatePickers = (dateInput, timeInput) => {\n\tconst dateObject = getDateFromTimeDatePickers(dateInput, timeInput);\n\treturn moment.utc(dateObject);\n};\n\nexport const getPluralS = (count) => {\n\tif (count === 1) {\n\t\treturn \"\";\n\t}\n\treturn \"s\";\n};\n\nexport const getPluralOptions = (count, singular, plural) => {\n\tif (count === 1) {\n\t\treturn singular;\n\t}\n\treturn plural;\n};\n","import Config from \"../config\";\n\n// deprecated\nexport const setChatUser = (auth) => {\n\treturn;\n};\n\n// deprecated\nexport const openChat = () => {\n\treturn;\n};\n\n// deprecated\nexport const hideChat = () => {\n\treturn;\n};\n","// api\nexport { default as getUrl } from \"./api/getUrl\";\nexport { default as getUrlParams } from \"./api/getUrlParams\";\nexport { default as safeReadParams } from \"./api/safeReadParams\";\n\n// auth\nexport { default as getUserFromState } from \"./auth/getUserFromState\";\n\n// colours\nexport { default as getAppColourFromState } from \"./colours/getAppColourFromState\";\n\n// files\nexport { default as get1400 } from \"./files/get1400\";\nexport { default as generateImageName } from \"./files/generateImageName\";\nexport { default as getExtension } from \"./files/getExtension\";\nexport { default as getFileName } from \"./files/getFileName\";\nexport { default as getThumb300 } from \"./files/getThumb300\";\nexport { default as isVideo } from \"./files/isVideo\";\n\n// strings\nexport { default as getFirstName } from \"./strings/getFirstName\";\nexport { default as isEmail } from \"./strings/isEmail\";\nexport { default as isUrl } from \"./strings/isUrl\";\nexport { default as randomString } from \"./strings/randomString\";\nexport { default as toParagraphed } from \"./strings/toParagraphed\";\nexport { default as onlyAlphanumeric } from \"./strings/onlyAlphanumeric\";\nexport { default as htmlDecode } from \"./strings/htmlDecode\";\nexport { default as htmlEncode } from \"./strings/htmlEncode\";\n\n// site\nexport { default as getSiteName } from \"./site/getSiteName\";\nexport { default as getSiteNameFromRoles } from \"./site/getSiteNameFromRoles\";\nexport { default as getSiteSettingFromState } from \"./site/getSiteSettingFromState\";\nexport { default as getSiteLevelFromState } from \"./site/getSiteLevelFromState\";\nexport { default as getMerchantsFromState } from \"./site/getMerchantsFromState\";\n\n// storage\nexport { default as readJSONFromStorage } from \"./storage/readJSONFromStorage\";\nexport { default as setLocalStorage } from \"./storage/setLocalStorage\";\nexport { default as readStorageWithCookie } from \"./storage/readStorageWithCookie\";\n\n// misc\nexport * from \"./helper\";\nexport * from \"./HelpDeskWidget\";\n","// const COLOUR_1 = '#011d5c';\n// const COLOUR_2 = '#3179cb';\n// const COLOUR_3 = '#1bb7ee';\n\nconst COLOUR_BRANDING_MAIN = \"#4a57b7\";\n// const COLOUR_BRANDING_DARK = '#364196';\n// const COLOUR_BRANDING_LIGHT = '#597db4';\nconst COLOUR_BRANDING_OFF = \"#597db4\";\nconst COLOUR_BRANDING_ACTION = \"#5c90df\";\nconst COLOUR_BRANDING_INACTIVE = \"#dbddf1\";\n\n// const TEXT_DARKEST = '#262a2d';\n// const TEXT_DARK = '#262a2d';\n// const TEXT_DARK_ALPHA50 = 'rgba(60, 60, 80, .5)';\n// const TEXT_DARK_ALPHA20 = 'rgba(60, 60, 80, .2)';\n// const TEXT_DARK_ALPHA10 = 'rgba(60, 60, 80, .1)';\n// const TEXT_MID = '#5a5a6e';\n// const TEXT_MID_ALPHA50 = 'rgba(90, 90, 110, .5)';\nconst TEXT_LIGHT = \"#717b81\";\n// const TEXT_SUPER_LIGHT = '#d2d9e5';\nconst COLOUR_DUSK = \"#536280\";\nconst COLOUR_DUSK_LIGHT = \"#67758f\";\nconst COLOUR_DUSK_LIGHTER = \"#a1afcc\";\n\nconst LINEGREY = COLOUR_BRANDING_INACTIVE;\n// const BORDER_LINE_GREY = COLOUR_BRANDING_INACTIVE;\n\n// const COLOUR_TEAL = '#49bdbb';\n// const COLOUR_TEAL_ALPHA50 = 'rgba(4, 196, 169, 0.2)';\n// const COLOUR_BLUE = '#5e9efc';\n// const COLOUR_BLUE_ALPHA10 = 'rgba(0, 131, 238, 0.1)';\n// const COLOUR_DARKBLUE = '#191e78';\n// const COLOUR_PURPLE = '#6e79c5';\nconst COLOUR_RED = \"#c02743\";\nconst COLOUR_GREEN = \"#00cc9c\";\n// const COLOUR_TANGERINE = '#ff8c75';\n// const COLOUR_CITRON = '#bdbd27';\n// const COLOUR_GRAPEFRUIT = '#ff6363';\n// const DARK_OVERLAY = 'rgba(19,19,26,.9)';\n// const FACEBOOK_BLUE = '#3B5998';\n\n// const COLOUR_NAV_GREY = '#f6f6f6';\n// const COLOUR_TRANSPARENT = 'rgba(0,0,0,0)';\n// const COLOUR_SIDEBAR = '#303030';\nconst COLOUR_LIGHTGREY = \"#8695b2\";\n\nconst INACTIVE_TEXT = COLOUR_LIGHTGREY;\n\nconst COLOUR_BRANDING_APP = \"#4a57b7\";\n\nconst hexToRGB = (hex) => {\n\t// Expand shorthand form (e.g. \"03F\") to full form (e.g. \"0033FF\")\n\tconst shorthandRegex = /^#?([a-f\\d])([a-f\\d])([a-f\\d])$/i;\n\thex = hex.replace(shorthandRegex, (m, r, g, b) => {\n\t\treturn r + r + g + g + b + b;\n\t});\n\n\tconst result = /^#?([a-f\\d]{2})([a-f\\d]{2})([a-f\\d]{2})$/i.exec(hex);\n\treturn result\n\t\t? {\n\t\t\t\tr: parseInt(result[1], 16),\n\t\t\t\tg: parseInt(result[2], 16),\n\t\t\t\tb: parseInt(result[3], 16),\n\t\t\t}\n\t\t: null;\n};\n\nconst hexToRGBAstring = (hex, opacity) => {\n\t// Expand shorthand form (e.g. \"03F\") to full form (e.g. \"0033FF\")\n\tconst shorthandRegex = /^#?([a-f\\d])([a-f\\d])([a-f\\d])$/i;\n\thex = hex.replace(shorthandRegex, (m, r, g, b) => {\n\t\treturn r + r + g + g + b + b;\n\t});\n\n\tconst result = /^#?([a-f\\d]{2})([a-f\\d]{2})([a-f\\d]{2})$/i.exec(hex);\n\treturn result\n\t\t? `rgba(${parseInt(result[1], 16)}, ${parseInt(result[2], 16)}, ${parseInt(result[3], 16)}, ${opacity})`\n\t\t: null;\n};\n\n// const pctBtwnColours = (c1, c2, percentage) => {\n// const rgbC1 = hexToRGB(c1);\n// const rgbC2 = hexToRGB(c2);\n// const r = rgbC2.r + (rgbC1.r - rgbC2.r) * percentage;\n// const g = rgbC2.g + (rgbC1.g - rgbC2.g) * percentage;\n// const b = rgbC2.b + (rgbC1.b - rgbC2.b) * percentage;\n// return `rgb(${Math.round(r)}, ${Math.round(g)}, ${Math.round(b)})`;\n// };\n\nexport {\n\t// COLOUR_1,\n\t// COLOUR_2,\n\t// COLOUR_3,\n\t// TEXT_DARKEST,\n\t// TEXT_DARK,\n\t// TEXT_DARK_ALPHA50,\n\t// TEXT_DARK_ALPHA20,\n\t// TEXT_DARK_ALPHA10,\n\t// TEXT_MID,\n\t// TEXT_MID_ALPHA50,\n\tTEXT_LIGHT,\n\t// TEXT_SUPER_LIGHT,\n\tCOLOUR_DUSK,\n\tCOLOUR_DUSK_LIGHT,\n\tCOLOUR_DUSK_LIGHTER,\n\tLINEGREY,\n\t// BORDER_LINE_GREY,\n\t// COLOUR_TEAL,\n\t// COLOUR_TEAL_ALPHA50,\n\t// COLOUR_BLUE,\n\t// COLOUR_BLUE_ALPHA10,\n\t// COLOUR_DARKBLUE,\n\t// COLOUR_PURPLE,\n\tCOLOUR_RED,\n\t// COLOUR_TANGERINE,\n\t// COLOUR_CITRON,\n\t// COLOUR_GRAPEFRUIT,\n\t// DARK_OVERLAY,\n\thexToRGB,\n\thexToRGBAstring,\n\t// pctBtwnColours,\n\t// FACEBOOK_BLUE,\n\t// COLOUR_NAV_GREY,\n\t// COLOUR_TRANSPARENT,\n\t// COLOUR_SIDEBAR,\n\tCOLOUR_BRANDING_MAIN,\n\tCOLOUR_BRANDING_OFF,\n\t// COLOUR_BRANDING_LIGHT,\n\t// COLOUR_BRANDING_DARK,\n\tCOLOUR_BRANDING_ACTION,\n\tCOLOUR_GREEN,\n\tINACTIVE_TEXT,\n\tCOLOUR_LIGHTGREY,\n\tCOLOUR_BRANDING_APP,\n\tCOLOUR_BRANDING_INACTIVE,\n};\n","export const SET_AUTH = \"set_auth\";\nexport const LOGOUT = \"LOGOUT\";\nexport const CHANGE_SITE = \"CHANGE_SITE\";\nexport const UPDATE_PROFILE = \"UPDATE_PROFILE\";\n\nexport const ADD_RECENTLY_CREATED = \"ADD_RECENTLY_CREATED\";\n\nexport const USERS_LOADED = \"USERS_LOADED\";\nexport const USER_REMOVED = \"USER_REMOVED\";\nexport const USERS_PURGE = \"USERS_PURGE\";\nexport const USERS_LOADING = \"USERS_LOADING\";\nexport const USERS_RESIDENT_COUNT_SET = \"USERS_RESIDENT_COUNT_SET\";\n\nexport const INVITE_CODES_LOADED = \"INVITE_CODES_LOADED\";\nexport const INVITE_CODE_UPDATED = \"INVITE_CODE_UPDATED\";\nexport const INVITE_CODE_REMOVED = \"INVITE_CODE_REMOVED\";\n\nexport const SET_NAV_DATA = \"SET_NAV_DATA\";\n\nexport const TEMPLATES_LOADED = \"TEMPLATES_LOADED\";\nexport const TEMPLATE_REMOVED = \"TEMPLATE_REMOVED\";\n\nexport const SCHEDULED_ACTIONS_LOADED = \"SCHEDULED_ACTIONS_LOADED\";\n","import { SET_AUTH, CHANGE_SITE, UPDATE_PROFILE, LOGOUT } from \"./types\";\n// import { getEnabledFeatures } from '../session';\n// import { authActions, typeActions } from '../apis';\n\n// export const refreshAuthUser = (site) => {\n// return (dispatch) => {\n// const promises = [];\n// promises.push(authActions.getUserSignin());\n// promises.push(typeActions.getSite(site));\n// promises.push(typeActions.getInterfaces(site));\n\n// Promise.all(promises).then((res) => {\n// const userRes = res[0].data;\n// const siteSettingsRes = res[1].data;\n// const interfaces = res[2].data;\n// console.log(siteSettingsRes);\n// dispatch({\n// type: SET_AUTH,\n// payload: {\n// user: { ...userRes, uid: userRes.Id },\n// features: getEnabledFeatures(siteSettingsRes, interfaces),\n// hidden: [...(siteSettingsRes.Hidden || [])],\n// siteSettings: { ...(siteSettingsRes.Settings || {}) },\n// siteBranding: { ...(siteSettingsRes.Branding || {}) },\n// },\n// });\n// });\n// };\n// };\n\nexport const setAuth = (stuff) => {\n\treturn {\n\t\ttype: SET_AUTH,\n\t\tpayload: stuff,\n\t};\n};\n\nexport const setAuthUser = (auth, user, site) => {\n\treturn (dispatch) => {\n\t\tif (!auth && !user && !site) {\n\t\t\tdispatch({\n\t\t\t\ttype: LOGOUT,\n\t\t\t\tpayload: null,\n\t\t\t});\n\t\t}\n\t\tdispatch({\n\t\t\ttype: SET_AUTH,\n\t\t\tpayload: {\n\t\t\t\tauth,\n\t\t\t\tuser,\n\t\t\t\tsite,\n\t\t\t\toriginalSite: site,\n\t\t\t},\n\t\t});\n\t};\n};\n\nexport const setRemember = (chooken) => {\n\treturn {\n\t\ttype: SET_AUTH,\n\t\tpayload: {\n\t\t\tchooken,\n\t\t},\n\t};\n};\n\nexport const setAuthLocation = (site) => {\n\tconsole.log(\"setting auth location\");\n\tconsole.log(site);\n\treturn {\n\t\ttype: CHANGE_SITE,\n\t\tpayload: {\n\t\t\tsite,\n\t\t},\n\t};\n};\n\nexport const updateProfile = (changes) => {\n\treturn {\n\t\ttype: UPDATE_PROFILE,\n\t\tpayload: changes,\n\t};\n};\n","import { ADD_RECENTLY_CREATED } from \"./types\";\n\nexport const addRecentlyCreated = (feature) => {\n\treturn {\n\t\ttype: ADD_RECENTLY_CREATED,\n\t\tpayload: feature,\n\t};\n};\n","import { authedFunction } from \"../session\";\nimport { getUrl } from \"../helper\";\n\nexport const analyticsActions = {\n\tlog: (site, actionType, entityType, entityId, data) => {\n\t\treturn authedFunction({\n\t\t\tmethod: \"POST\",\n\t\t\turl: getUrl(\"analytics\", \"log\"),\n\t\t\tdata: {\n\t\t\t\tsite,\n\t\t\t\tactionType,\n\t\t\t\tentityType,\n\t\t\t\tentityId,\n\t\t\t\tdata,\n\t\t\t},\n\t\t});\n\t},\n\tgetEntityStats: (entityId, entityType) => {\n\t\treturn authedFunction({\n\t\t\tmethod: \"GET\",\n\t\t\turl: getUrl(\"analytics\", \"getentity\", { entityId, entityType }),\n\t\t});\n\t},\n\tgetActivityLog: (entityId, entityType, actionType, minTime, maxTime) => {\n\t\tconst query = { entityId, entityType, actionType };\n\t\tif (minTime) {\n\t\t\tquery.minTime = minTime;\n\t\t}\n\t\tif (maxTime) {\n\t\t\tquery.maxTime = maxTime;\n\t\t}\n\t\treturn authedFunction({\n\t\t\tmethod: \"GET\",\n\t\t\turl: getUrl(\"analytics\", \"activity\", query),\n\t\t});\n\t},\n\tgetAggregateUserStats: (site) => {\n\t\treturn authedFunction({\n\t\t\tmethod: \"GET\",\n\t\t\turl: getUrl(\"analytics\", \"users\", { site }),\n\t\t});\n\t},\n\tgetAggregateEntityStats: (site, type, minTime, maxTime, raw) => {\n\t\tconst query = { site, type, minTime, maxTime };\n\t\tif (raw) {\n\t\t\tquery.raw = raw;\n\t\t}\n\t\treturn authedFunction({\n\t\t\tmethod: \"GET\",\n\t\t\turl: getUrl(\"analytics\", \"aggregate\", query),\n\t\t});\n\t},\n};\n","import axios from \"axios\";\nimport { getUrl } from \"../helper\";\nimport { authedFunction } from \"../session\";\n\nexport const authActions = {\n\tcheckUserAuth: (userId) => {\n\t\tlet url = getUrl(\"auth\", \"checkUserAuth\");\n\t\treturn authedFunction({\n\t\t\tmethod: \"POST\",\n\t\t\turl,\n\t\t\tdata: {\n\t\t\t\tuserId,\n\t\t\t},\n\t\t});\n\t},\n\tfetchForgotPasswordId: (input) => {\n\t\treturn axios({\n\t\t\tmethod: \"POST\",\n\t\t\turl: getUrl(\"auth\", \"checkForgotUser\"),\n\t\t\tdata: {\n\t\t\t\tuser: {\n\t\t\t\t\temail: input,\n\t\t\t\t\tphoneNumber: input,\n\t\t\t\t},\n\t\t\t},\n\t\t\theaders: { authorization: \"GwegChicken\" },\n\t\t});\n\t},\n\tdisableUser: (username, site) => {\n\t\tlet url = getUrl(\"users\", \"testUserDisbale\");\n\t\tconst request = {\n\t\t\tmethod: \"POST\",\n\t\t\turl,\n\t\t\tdata: {\n\t\t\t\tusername,\n\t\t\t\tsite,\n\t\t\t},\n\t\t};\n\t\treturn authedFunction(request);\n\t},\n\tgetUserSignin: async () => {\n\t\treturn authedFunction({\n\t\t\tmethod: \"POST\",\n\t\t\turl: getUrl(\"auth\", \"getUserSignin\"),\n\t\t});\n\t},\n\tcopyDummy: (site) => {\n\t\tlet url = getUrl(\"auth\", \"copyDummy\");\n\t\tconst request = {\n\t\t\tmethod: \"POST\",\n\t\t\turl,\n\t\t\tdata: {\n\t\t\t\tsite,\n\t\t\t},\n\t\t};\n\t\treturn authedFunction(request);\n\t},\n};\n","/**\n * ADAPTED FROM:\n *\n * Resize and rotate images by EXIF orientation on the client side during upload. This uses\n * the HTML Canvas element and HTML5 FileReader.\n *\n * This class requires the Javascript file from https://github.com/jseidelin/exif-js\n *\n * See the GitHub repo for examples: https://github.com/ajgarn/CanvasImageUploader.\n *\n * @class CanvasImageUploader\n * @author ajgarn\n * @see https://github.com/ajgarn/CanvasImageUploader\n */\n\nfunction CanvasImageUploader(options) {\n\toptions = options || {};\n\tif (typeof options.maxSize === \"undefined\") options.maxSize = 1500;\n\tif (typeof options.jpegQuality === \"undefined\") options.jpegQuality = 0.7;\n\n\tvar image; // Image object (<img>)\n\tvar imageData; // Image from canvas as byte array\n\n\t/**\n\t * Converts a base64 string to byte array.\n\t */\n\tfunction base64toBlob(base64Data, contentType, sliceSize) {\n\t\tcontentType = contentType || \"\";\n\t\tsliceSize = sliceSize || 512;\n\n\t\tvar byteCharacters = atob(base64Data);\n\t\tvar byteArrays = [];\n\n\t\tfor (var offset = 0; offset < byteCharacters.length; offset += sliceSize) {\n\t\t\tvar slice = byteCharacters.slice(offset, offset + sliceSize);\n\t\t\tvar byteNumbers = new Array(slice.length);\n\t\t\tfor (var i = 0; i < slice.length; i++) {\n\t\t\t\tbyteNumbers[i] = slice.charCodeAt(i);\n\t\t\t}\n\t\t\tvar byteArray = new Uint8Array(byteNumbers);\n\t\t\tbyteArrays.push(byteArray);\n\t\t}\n\n\t\treturn new Blob(byteArrays, { type: contentType });\n\t}\n\n\tfunction calculateSize(image, maxSize) {\n\t\tvar size = { width: image.width, height: image.height };\n\t\tif (image.width > maxSize || image.height > maxSize) {\n\t\t\tvar ratio = image.width / image.height;\n\t\t\tif (image.width >= image.height) {\n\t\t\t\tsize.width = maxSize;\n\t\t\t\tsize.height = maxSize / ratio;\n\t\t\t} else {\n\t\t\t\tsize.height = maxSize;\n\t\t\t\tsize.width = maxSize * ratio;\n\t\t\t}\n\t\t}\n\t\treturn size;\n\t}\n\n\tfunction setDimensions($canvas, size) {\n\t\t$canvas.attr(\"width\", size.width);\n\t\t$canvas.attr(\"height\", size.height);\n\t}\n\n\tfunction drawOnCanvas(image, $canvas, maxSize) {\n\t\tvar canvas = $canvas[0];\n\t\tvar ctx = canvas.getContext(\"2d\");\n\n\t\tvar size = calculateSize(image, maxSize);\n\t\tsetDimensions($canvas, size);\n\n\t\t// Clear canvas\n\t\tctx.clearRect(0, 0, $canvas.width(), $canvas.height());\n\n\t\tctx.drawImage(\n\t\t\timage,\n\t\t\t0,\n\t\t\t0,\n\t\t\timage.width,\n\t\t\timage.height, // Source rectangle\n\t\t\t0,\n\t\t\t0,\n\t\t\tsize.width,\n\t\t\tsize.height,\n\t\t); // Destination rectangle\n\t}\n\n\tfunction readImageToCanvasOnLoad(image, $canvas, callback) {\n\t\tdrawOnCanvas(image, $canvas, options.maxSize);\n\t\tif (callback) callback();\n\t\telse console.warn(\"No callback for readImageToCanvas\");\n\t}\n\n\treturn {\n\t\t/**\n\t\t * Run to initialize CanvasImageUploader.\n\t\t */\n\t\tnewImage: function () {\n\t\t\timageData = null;\n\t\t\timage = new Image();\n\t\t},\n\n\t\t/**\n\t\t * Returns the image data if any file has been read.\n\t\t * @returns {Blob|null}\n\t\t */\n\t\tgetImageData: function () {\n\t\t\treturn imageData;\n\t\t},\n\n\t\t/**\n\t\t * Draw an image (<img>) or contents of a canvas to another canvas. The destination\n\t\t * canvas is resized properly.\n\t\t * @param source The image or source canvas to draw on a new canvas.\n\t\t * @param $destination The destination canvas to draw onto.\n\t\t * @param maxSize Maximum width or height of the destination canvas.\n\t\t */\n\t\tcopyToCanvas: function (source, $destination, maxSize) {\n\t\t\tvar size = calculateSize(source, maxSize);\n\t\t\tsetDimensions($destination, size, 1);\n\t\t\tvar destCtx = $destination[0].getContext(\"2d\");\n\t\t\tdestCtx.drawImage(\n\t\t\t\tsource,\n\t\t\t\t0,\n\t\t\t\t0,\n\t\t\t\tsource.width,\n\t\t\t\tsource.height,\n\t\t\t\t0,\n\t\t\t\t0,\n\t\t\t\tsize.width,\n\t\t\t\tsize.height,\n\t\t\t);\n\t\t},\n\n\t\t/**\n\t\t * Draw an image from a file on a canvas.\n\t\t * @param file The uploaded file.\n\t\t * @param $canvas The canvas (jQuery) object to draw on.\n\t\t * @param callback Function that is called when the operation has finished.\n\t\t */\n\t\treadImageToCanvas: function (file, $canvas, callback) {\n\t\t\tthis.newImage();\n\t\t\tif (!file) return;\n\n\t\t\tvar reader = new FileReader();\n\t\t\treader.onload = function (fileReaderEvent) {\n\t\t\t\timage.onload = function () {\n\t\t\t\t\treadImageToCanvasOnLoad(this, $canvas, callback);\n\t\t\t\t};\n\t\t\t\timage.src = fileReaderEvent.target.result; // The URL from FileReader\n\t\t\t};\n\t\t\treader.readAsDataURL(file);\n\t\t},\n\n\t\t/**\n\t\t * Read the canvas data and save it as a binary byte array to image data variable.\n\t\t * Get this data using the method getImageData().\n\t\t * @param canvas\n\t\t */\n\t\tsaveCanvasToImageData: function (canvas) {\n\t\t\tvar base64 = canvas\n\t\t\t\t.toDataURL(\"image/jpeg\", options.jpegQuality)\n\t\t\t\t.replace(/^data:image\\/(png|jpeg|jpg|gif);base64,/, \"\");\n\t\t\timageData = base64toBlob(base64, \"image/jpeg\"); // Byte array\n\t\t},\n\t};\n}\n\nexport default CanvasImageUploader;\n","import { getCurrentUserSub, authedFunction } from \"../session\";\nimport Config from \"../config\";\nimport { Storage } from \"aws-amplify\";\nimport CanvasImageUploader from \"../helper/files/canvasImageUploader\";\nimport $ from \"jquery\";\nimport { generateImageName, randomString, getUrl } from \"../helper\";\n\nexport const fileActions = {\n\tuploadMediaAsync: async (file, filename) => {\n\t\tconst newFilename = filename.replace(/[^a-z0-9+.]+/gi, \"\").toLowerCase();\n\t\tconst userId = await getCurrentUserSub();\n\t\tconst url = `uploads/users/${userId}/public/${randomString()}/${newFilename}`;\n\n\t\tconst { baseUploadsUrl, uploadBucket } = Config.env;\n\t\tawait Storage.put(url, file, { level: \"public\", bucket: uploadBucket });\n\t\tconsole.log(\"uploaded file\", `${baseUploadsUrl}${url}`);\n\t\treturn `${baseUploadsUrl}${url}`;\n\t},\n\n\t// readBase64: async (file) => {\n\t// return new Promise((resolve, reject) => {\n\t// var reader = new FileReader();\n\t// reader.readAsDataURL(file);\n\t// reader.onload = () => {\n\t// resolve(reader.result);\n\t// //resolve(reader.result.split(',')[1]);\n\t// };\n\t// reader.onerror = (error) => {\n\t// reject(error);\n\t// };\n\t// });\n\t// },\n\tcompressImage: (file, maxSize, quality, noCompress) => {\n\t\treturn new Promise((resolve, reject) => {\n\t\t\tif (noCompress) {\n\t\t\t\tresolve(file);\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tvar $canvas = $(\"<canvas>\");\n\t\t\t$canvas.css(\"display\", \"none\");\n\t\t\t$(\"body\").append($canvas);\n\n\t\t\tvar canvasUploader = new CanvasImageUploader({\n\t\t\t\tmaxSize: maxSize,\n\t\t\t\tjpegQuality: quality,\n\t\t\t});\n\n\t\t\tcanvasUploader.readImageToCanvas(file, $canvas, function () {\n\t\t\t\tcanvasUploader.saveCanvasToImageData($canvas[0]);\n\t\t\t\tconsole.log(file);\n\t\t\t\tresolve(\n\t\t\t\t\tfileActions.blobToFile(canvasUploader.getImageData(), file.name),\n\t\t\t\t);\n\t\t\t});\n\t\t});\n\t},\n\tblobToFile: (theBlob, fileName) => {\n\t\tconst file = new File([theBlob], fileName, { lastModified: new Date() });\n\t\tconsole.log(file);\n\t\treturn file;\n\t},\n\tputCanvas: (canvas, filename) => {\n\t\treturn new Promise((resolve, reject) => {\n\t\t\tconst img = canvas.getTrimmedCanvas().toDataURL(\"image/png\");\n\t\t\tconst imageData = Buffer.from(\n\t\t\t\timg.replace(/^data:image\\/\\w+;base64,/, \"\"),\n\t\t\t\t\"base64\",\n\t\t\t);\n\n\t\t\tcanvas.off();\n\n\t\t\tconst imgName = generateImageName(filename);\n\n\t\t\tStorage.put(`images/${imgName}.png`, imageData, {\n\t\t\t\tcontentType: \"image/png\",\n\t\t\t\tlevel: \"public\",\n\t\t\t})\n\t\t\t\t.then((res) => {\n\t\t\t\t\tconsole.log(\"put the image\");\n\t\t\t\t\treturn resolve(res);\n\t\t\t\t})\n\t\t\t\t.catch((err) => {\n\t\t\t\t\treturn reject(err);\n\t\t\t\t});\n\t\t});\n\t},\n\tgetMediaFolders: (site) => {\n\t\t// console.log('getMediaFolders', 'site', site);\n\t\tconst query = { site };\n\t\treturn authedFunction({\n\t\t\tmethod: \"GET\",\n\t\t\turl: getUrl(\"media\", \"folders\", query),\n\t\t});\n\t},\n\taddMediaFolder: (site, name, published) => {\n\t\treturn authedFunction({\n\t\t\tmethod: \"POST\",\n\t\t\turl: getUrl(\"media\", \"addFolder\"),\n\t\t\tdata: {\n\t\t\t\tsite,\n\t\t\t\tname,\n\t\t\t\tpublished,\n\t\t\t},\n\t\t});\n\t},\n\tupdateMediaFolder: (id, site, name, published) => {\n\t\t// console.log('updateMediaFolder', 'id', id, 'site', site, 'name', name, 'published', published);\n\t\treturn authedFunction({\n\t\t\tmethod: \"POST\",\n\t\t\turl: getUrl(\"media\", \"updateFolder\"),\n\t\t\tdata: {\n\t\t\t\tid,\n\t\t\t\tsite,\n\t\t\t\tname,\n\t\t\t\tpublished,\n\t\t\t},\n\t\t});\n\t},\n\tdeleteMediaFolder: (id, site) => {\n\t\treturn authedFunction({\n\t\t\tmethod: \"POST\",\n\t\t\turl: getUrl(\"media\", \"deleteFolder\"),\n\t\t\tdata: {\n\t\t\t\tid,\n\t\t\t\tsite,\n\t\t\t},\n\t\t});\n\t},\n\taddImagesToFolder: (id, site, images) => {\n\t\treturn authedFunction({\n\t\t\tmethod: \"POST\",\n\t\t\turl: getUrl(\"media\", \"addImages\"),\n\t\t\tdata: {\n\t\t\t\tid,\n\t\t\t\tsite,\n\t\t\t\timages,\n\t\t\t},\n\t\t});\n\t},\n\tdeleteImagesFromFolder: (id, site, images) => {\n\t\treturn authedFunction({\n\t\t\tmethod: \"POST\",\n\t\t\turl: getUrl(\"media\", \"deleteImages\"),\n\t\t\tdata: {\n\t\t\t\tid,\n\t\t\t\tsite,\n\t\t\t\timages,\n\t\t\t},\n\t\t});\n\t},\n\tgetMediaLibrary: () => {\n\t\treturn authedFunction({\n\t\t\tmethod: \"GET\",\n\t\t\turl: \"https://pluss60.pluss60-api.com/media-demo/library\",\n\t\t});\n\t},\n};\n","import { getUrl } from \"../helper\";\nimport { authedFunction, unauthedFunction } from \"../session\";\n\nexport const typeActions = {\n\tgetSubdomains: () => {\n\t\treturn authedFunction({\n\t\t\tmethod: \"GET\",\n\t\t\turl: getUrl(\"types\", \"subdomains/get\"),\n\t\t});\n\t},\n\tgetSubdomain: (key) => {\n\t\treturn unauthedFunction({\n\t\t\tmethod: \"GET\",\n\t\t\turl: getUrl(\"types\", `subdomains/get/${key}`),\n\t\t});\n\t},\n\tupdateSubdomain: (key, background) => {\n\t\treturn authedFunction({\n\t\t\tmethod: \"POST\",\n\t\t\turl: getUrl(\"types\", \"subdomains/update\"),\n\t\t\tdata: {\n\t\t\t\tKey: key,\n\t\t\t\tBackground: background,\n\t\t\t},\n\t\t});\n\t},\n\tgetSites: () => {\n\t\tlet url = getUrl(\"types\", \"getsites\");\n\t\treturn authedFunction({\n\t\t\tmethod: \"POST\",\n\t\t\turl,\n\t\t});\n\t},\n\tgetSite: async (id) => {\n\t\tlet url = getUrl(\"types\", `getsite`, { site: id });\n\t\treturn authedFunction({\n\t\t\tmethod: \"GET\",\n\t\t\turl,\n\t\t});\n\t},\n\tgetUserTypes: (site) => {\n\t\tlet url = getUrl(\"types\", \"getusertypes\");\n\t\treturn authedFunction({\n\t\t\tmethod: \"POST\",\n\t\t\turl,\n\t\t\tdata: {\n\t\t\t\tsite,\n\t\t\t},\n\t\t});\n\t},\n\tsetTypePermissions: (type, adminId) => {\n\t\tlet url = getUrl(\"types\", \"setusertypepermissions\");\n\t\treturn authedFunction({\n\t\t\tmethod: \"POST\",\n\t\t\turl,\n\t\t\tdata: {\n\t\t\t\ttype,\n\t\t\t},\n\t\t});\n\t},\n\tdeleteUserType: (site, type) => {\n\t\tlet url = getUrl(\"types\", \"usertype/delete\");\n\t\treturn authedFunction({\n\t\t\tmethod: \"POST\",\n\t\t\turl,\n\t\t\tdata: {\n\t\t\t\tsite,\n\t\t\t\tid: type,\n\t\t\t},\n\t\t});\n\t},\n\tcreateNewSite: (siteName, options) => {\n\t\tlet url = getUrl(\"types\", \"setNewSite\");\n\t\tconst request = {\n\t\t\tmethod: \"POST\",\n\t\t\turl,\n\t\t\tdata: {\n\t\t\t\tsiteName,\n\t\t\t\t...options,\n\t\t\t},\n\t\t};\n\t\treturn authedFunction(request);\n\t},\n\tsignUpNewSite: (site, user) => {\n\t\tlet url = getUrl(\"types\", \"site/signup\");\n\t\tconst request = {\n\t\t\tmethod: \"POST\",\n\t\t\turl,\n\t\t\tdata: { site, user },\n\t\t};\n\t\treturn unauthedFunction(request);\n\t},\n\tgetInterface: (id) => {\n\t\treturn authedFunction({\n\t\t\tmethod: \"GET\",\n\t\t\turl: getUrl(\"types\", `interfaces/get/${id}`),\n\t\t});\n\t},\n\tgetInterfaces: (site, type) => {\n\t\tconst q = { site };\n\t\tif (type) {\n\t\t\tq.type = type;\n\t\t}\n\t\treturn authedFunction({\n\t\t\tmethod: \"GET\",\n\t\t\turl: getUrl(\"types\", \"interfaces/get\", q),\n\t\t});\n\t},\n\tdeleteInterface: (id) => {\n\t\tconst request = {\n\t\t\tmethod: \"POST\",\n\t\t\turl: getUrl(\"types\", \"interfaces/remove\"),\n\t\t\tdata: { id },\n\t\t};\n\t\treturn authedFunction(request);\n\t},\n\tsaveInterface: (site, type, title, settings, id) => {\n\t\tconst request = {\n\t\t\tmethod: \"POST\",\n\t\t\turl: getUrl(\"types\", \"interfaces/save\"),\n\t\t\tdata: { site, type, title, settings, id },\n\t\t};\n\t\treturn authedFunction(request);\n\t},\n\tattachInterface: (site, typeName, interfaceId) => {\n\t\tconst request = {\n\t\t\tmethod: \"POST\",\n\t\t\turl: getUrl(\"types\", \"interfaces/attach\"),\n\t\t\tdata: { site, typeName, interfaceId },\n\t\t};\n\t\treturn authedFunction(request);\n\t},\n\tgetSiteBranding: (site) => {\n\t\tconst request = {\n\t\t\tmethod: \"GET\",\n\t\t\turl: getUrl(\"types\", \"branding/get\", { site }),\n\t\t};\n\t\treturn unauthedFunction(request);\n\t},\n\tgenerateSiteBranding: (url) => {\n\t\tconst request = {\n\t\t\tmethod: \"GET\",\n\t\t\turl: getUrl(\"types\", \"branding/generate\", { url }),\n\t\t};\n\t\treturn unauthedFunction(request);\n\t},\n\teditSiteBranding: (siteName, branding) => {\n\t\tlet url = getUrl(\"types\", \"editsitebranding\");\n\t\tconst request = {\n\t\t\tmethod: \"POST\",\n\t\t\turl,\n\t\t\tdata: {\n\t\t\t\tsiteName,\n\t\t\t\tbranding,\n\t\t\t},\n\t\t};\n\t\treturn authedFunction(request);\n\t},\n\teditSiteSettings: (site, values) => {\n\t\treturn authedFunction({\n\t\t\tmethod: \"POST\",\n\t\t\turl: getUrl(\"types\", \"site/edit\"),\n\t\t\tdata: {\n\t\t\t\tId: site,\n\t\t\t\t...values,\n\t\t\t},\n\t\t});\n\t},\n\tgetDefaultTVSettings: () => {\n\t\treturn {\n\t\t\twidgets: [],\n\t\t};\n\t},\n\tgetDefaultTabSettings: () => {\n\t\treturn [\n\t\t\t{\n\t\t\t\tkey: \"tab0\",\n\t\t\t\ttabTitle: \"Home\",\n\t\t\t\ttype: \"home\",\n\t\t\t\tisEnabled: true,\n\t\t\t\twidgets: [],\n\t\t\t\twidgetOptions: [],\n\t\t\t},\n\t\t];\n\t},\n};\n","import axios from \"axios\";\nimport { getUrl } from \"../helper\";\nimport { authedFunction } from \"../session\";\n\nexport const stringActions = {\n\tgetString: (site, id, useDefault) => {\n\t\tlet url = getUrl(\n\t\t\t\"strings\",\n\t\t\t`get/${site}_${id}`,\n\t\t\tuseDefault ? { useDefault } : undefined,\n\t\t);\n\t\treturn axios({\n\t\t\tmethod: \"GET\",\n\t\t\turl,\n\t\t});\n\t},\n\tsetString: (site, key, value) => {\n\t\tlet url = getUrl(\"strings\", \"set\");\n\t\treturn authedFunction({\n\t\t\tmethod: \"POST\",\n\t\t\turl,\n\t\t\tdata: {\n\t\t\t\tsite,\n\t\t\t\tkey,\n\t\t\t\tvalue,\n\t\t\t},\n\t\t});\n\t},\n};\n","import _ from \"lodash\";\nimport { authedFunction } from \"../session\";\nimport { getUrl } from \"../helper\";\n\nexport const userActions = {\n\tcreateNewUser: (user, userExtra) => {\n\t\treturn authedFunction({\n\t\t\tmethod: \"POST\",\n\t\t\turl: getUrl(\"users\", \"add\"),\n\t\t\tdata: {\n\t\t\t\tuser,\n\t\t\t\tuserExtra,\n\t\t\t},\n\t\t});\n\t},\n\tbulkNewUser: (users, site, sendWelcome) => {\n\t\treturn authedFunction({\n\t\t\tmethod: \"POST\",\n\t\t\turl: getUrl(\"users\", \"addbulk\"),\n\t\t\tdata: {\n\t\t\t\tsite,\n\t\t\t\tusers,\n\t\t\t\tsendWelcome,\n\t\t\t},\n\t\t});\n\t},\n\tgetbulks: (site) => {\n\t\treturn authedFunction({\n\t\t\tmethod: \"POST\",\n\t\t\turl: getUrl(\"users\", \"getbulks\"),\n\t\t\tdata: {\n\t\t\t\tsite,\n\t\t\t},\n\t\t});\n\t},\n\tfetchUsers: (site) => {\n\t\treturn authedFunction({\n\t\t\tmethod: \"POST\",\n\t\t\turl: getUrl(\"users\", \"get\"),\n\t\t\tdata: {\n\t\t\t\tsite,\n\t\t\t},\n\t\t});\n\t},\n\tfetchInitialPasswords: (site) => {\n\t\treturn authedFunction({\n\t\t\tmethod: \"GET\",\n\t\t\turl: getUrl(\"users\", \"initialpasswords\", { site }),\n\t\t});\n\t},\n\tfetchUser: (site, userId) => {\n\t\treturn authedFunction({\n\t\t\tmethod: \"POST\",\n\t\t\turl: getUrl(\"users\", \"getsingle\"),\n\t\t\tdata: {\n\t\t\t\tsite,\n\t\t\t\tuserId,\n\t\t\t},\n\t\t});\n\t},\n\tupdateUser: (site, userId, user) => {\n\t\treturn authedFunction({\n\t\t\tmethod: \"POST\",\n\t\t\turl: getUrl(\"users\", \"manageUser\"),\n\t\t\tdata: {\n\t\t\t\tsite,\n\t\t\t\tuserId,\n\t\t\t\tuser,\n\t\t\t},\n\t\t});\n\t},\n\tgetSiteResidentsCount: (site) => {\n\t\treturn authedFunction({\n\t\t\tmethod: \"POST\",\n\t\t\turl: getUrl(\"users\", \"getexp\"),\n\t\t\tdata: { site, isCount: true },\n\t\t});\n\t},\n\tsendWelcomeEmail: (site, userId) => {\n\t\treturn authedFunction({\n\t\t\tmethod: \"POST\",\n\t\t\turl: getUrl(\"users\", \"welcome/email\"),\n\t\t\tdata: { site, userId },\n\t\t});\n\t},\n\tsendWelcomeText: (site, userId) => {\n\t\treturn authedFunction({\n\t\t\tmethod: \"POST\",\n\t\t\turl: getUrl(\"users\", \"welcome/text\"),\n\t\t\tdata: { site, userId },\n\t\t});\n\t},\n\tgetInviteCode: (userId, type, site) => {\n\t\tconst query = {};\n\t\tif (!_.isEmpty(userId)) {\n\t\t\tquery.userId = userId;\n\t\t}\n\t\tif (!_.isEmpty(type)) {\n\t\t\tquery.type = type;\n\t\t}\n\t\tif (!_.isEmpty(site)) {\n\t\t\tquery.site = site;\n\t\t}\n\t\treturn authedFunction({\n\t\t\tmethod: \"GET\",\n\t\t\turl: getUrl(\"users\", \"invite/get\", query),\n\t\t});\n\t},\n\tgenerateInviteCode: (userId, type, site) => {\n\t\tconst data = {};\n\t\tif (!_.isEmpty(userId)) {\n\t\t\tdata.userId = userId;\n\t\t}\n\t\tif (!_.isEmpty(type)) {\n\t\t\tdata.type = type;\n\t\t}\n\t\tif (!_.isEmpty(site)) {\n\t\t\tdata.site = site;\n\t\t}\n\t\treturn authedFunction({\n\t\t\tmethod: \"POST\",\n\t\t\turl: getUrl(\"users\", \"invite/generate\"),\n\t\t\tdata,\n\t\t});\n\t},\n\tcreateInviteCode: (userId, site, userType, expiry) => {\n\t\treturn authedFunction({\n\t\t\tmethod: \"POST\",\n\t\t\turl: getUrl(\"users\", \"invite/update/add\"),\n\t\t\tdata: { userId, site, userType, expiry },\n\t\t});\n\t},\n\teditInviteCode: (code, userType, expiry) => {\n\t\treturn authedFunction({\n\t\t\tmethod: \"POST\",\n\t\t\turl: getUrl(\"users\", \"invite/update/edit\"),\n\t\t\tdata: { code, userType, expiry },\n\t\t});\n\t},\n\tdeleteInviteCode: (code) => {\n\t\treturn authedFunction({\n\t\t\tmethod: \"POST\",\n\t\t\turl: getUrl(\"users\", \"invite/update/delete\"),\n\t\t\tdata: { code },\n\t\t});\n\t},\n\tgetInviteCodes: (site, excludeFamily = false) => {\n\t\tconst action = excludeFamily ? \"excludeFamily\" : \"all\";\n\t\treturn authedFunction({\n\t\t\tmethod: \"GET\",\n\t\t\turl: getUrl(\"users\", `invite/get/${action}`, { site }),\n\t\t});\n\t},\n\tgetInviteCodeByCode: (code) => {\n\t\treturn authedFunction({\n\t\t\tmethod: \"GET\",\n\t\t\turl: getUrl(\"users\", \"invite/get/code\", { code }),\n\t\t});\n\t},\n\tupdateProfile: (input) => {\n\t\treturn authedFunction({\n\t\t\tmethod: \"POST\",\n\t\t\turl: getUrl(\"users\", \"updateProfile\"),\n\t\t\tdata: {\n\t\t\t\tdetails: input,\n\t\t\t},\n\t\t});\n\t},\n};\n","import { authedFunction } from \"../session\";\nimport { getUrl } from \"../helper\";\n\nexport const profileActions = {\n\taddEC: (userId, name, phone, email, relationship) => {\n\t\treturn authedFunction({\n\t\t\tmethod: \"POST\",\n\t\t\turl: getUrl(\"profile\", \"emergencycontacts/add\"),\n\t\t\tdata: { userId, name, phone, email, relationship },\n\t\t});\n\t},\n\teditEC: (id, userId, name, phone, email, relationship) => {\n\t\treturn authedFunction({\n\t\t\tmethod: \"POST\",\n\t\t\turl: getUrl(\"profile\", \"emergencycontacts/edit\"),\n\t\t\tdata: { id, userId, name, phone, email, relationship },\n\t\t});\n\t},\n\tdeleteEC: (id) => {\n\t\treturn authedFunction({\n\t\t\tmethod: \"POST\",\n\t\t\turl: getUrl(\"profile\", \"emergencycontacts/delete\"),\n\t\t\tdata: { id },\n\t\t});\n\t},\n\tgetECs: (userId) => {\n\t\treturn authedFunction({\n\t\t\tmethod: \"GET\",\n\t\t\turl: getUrl(\"profile\", \"emergencycontacts/user\", { userId }),\n\t\t});\n\t},\n\taddPD: (userId, name, url, isPublic) => {\n\t\treturn authedFunction({\n\t\t\tmethod: \"POST\",\n\t\t\turl: getUrl(\"profile\", \"personaldocuments/add\"),\n\t\t\tdata: { userId, name, url, isPublic },\n\t\t});\n\t},\n\teditPD: (id, userId, name, url, isPublic) => {\n\t\treturn authedFunction({\n\t\t\tmethod: \"POST\",\n\t\t\turl: getUrl(\"profile\", \"personaldocuments/edit\"),\n\t\t\tdata: { id, userId, name, url, isPublic },\n\t\t});\n\t},\n\tdeletePD: (id) => {\n\t\treturn authedFunction({\n\t\t\tmethod: \"POST\",\n\t\t\turl: getUrl(\"profile\", \"personaldocuments/delete\"),\n\t\t\tdata: { id },\n\t\t});\n\t},\n\tgetPDs: (userId) => {\n\t\treturn authedFunction({\n\t\t\tmethod: \"GET\",\n\t\t\turl: getUrl(\"profile\", \"personaldocuments/user\", { userId }),\n\t\t});\n\t},\n\taddPN: (userId, title, text, attachments) => {\n\t\treturn authedFunction({\n\t\t\tmethod: \"POST\",\n\t\t\turl: getUrl(\"profile\", \"personalnotes/add\"),\n\t\t\tdata: { userId, title, text, attachments },\n\t\t});\n\t},\n\teditPN: (id, title, text, attachments) => {\n\t\treturn authedFunction({\n\t\t\tmethod: \"POST\",\n\t\t\turl: getUrl(\"profile\", \"personalnotes/edit\"),\n\t\t\tdata: { id, title, text, attachments },\n\t\t});\n\t},\n\tdeletePN: (id) => {\n\t\treturn authedFunction({\n\t\t\tmethod: \"POST\",\n\t\t\turl: getUrl(\"profile\", \"personalnotes/delete\"),\n\t\t\tdata: { id },\n\t\t});\n\t},\n\tgetPNs: (userId) => {\n\t\treturn authedFunction({\n\t\t\tmethod: \"GET\",\n\t\t\turl: getUrl(\"profile\", \"personalnotes/user\", { userId }),\n\t\t});\n\t},\n\taddUserTag: (site, title) => {\n\t\treturn authedFunction({\n\t\t\tmethod: \"POST\",\n\t\t\turl: getUrl(\"profile\", \"usertags/add\"),\n\t\t\tdata: { site, title },\n\t\t});\n\t},\n\teditUserTag: (id, title) => {\n\t\treturn authedFunction({\n\t\t\tmethod: \"POST\",\n\t\t\turl: getUrl(\"profile\", \"usertags/edit\"),\n\t\t\tdata: { id, title },\n\t\t});\n\t},\n\tdeleteUserTag: (id) => {\n\t\treturn authedFunction({\n\t\t\tmethod: \"POST\",\n\t\t\turl: getUrl(\"profile\", \"usertags/delete\"),\n\t\t\tdata: { id },\n\t\t});\n\t},\n\tattachUserTag: (tagId, userId) => {\n\t\treturn authedFunction({\n\t\t\tmethod: \"POST\",\n\t\t\turl: getUrl(\"profile\", \"usertags/attach\"),\n\t\t\tdata: { tagId, userId },\n\t\t});\n\t},\n\tdetachUserTag: (tagId, userId) => {\n\t\treturn authedFunction({\n\t\t\tmethod: \"POST\",\n\t\t\turl: getUrl(\"profile\", \"usertags/detach\"),\n\t\t\tdata: { tagId, userId },\n\t\t});\n\t},\n\tgetUserTagsByUser: (userId) => {\n\t\treturn authedFunction({\n\t\t\tmethod: \"GET\",\n\t\t\turl: getUrl(\"profile\", \"usertags/user\", { userId }),\n\t\t});\n\t},\n\tgetUserTagsBySite: (site) => {\n\t\treturn authedFunction({\n\t\t\tmethod: \"GET\",\n\t\t\turl: getUrl(\"profile\", \"usertags/site\", { site }),\n\t\t});\n\t},\n};\n","import Config from \"../config\";\nimport { authedFunction, unauthedFunction } from \"../session\";\nimport { getUrl } from \"../helper\";\n\nexport const utilityActions = {\n\tgetUpvotyToken: () => {\n\t\treturn authedFunction({\n\t\t\tmethod: \"GET\",\n\t\t\turl: getUrl(\"utility\", \"upvoty/usertoken\"),\n\t\t});\n\t},\n\tgetBoardHash: () => {\n\t\treturn authedFunction({\n\t\t\tmethod: \"GET\",\n\t\t\turl: getUrl(\"utility\", \"upvoty/boardhash\"),\n\t\t});\n\t},\n\tgetRoadmapHash: () => {\n\t\treturn authedFunction({\n\t\t\tmethod: \"GET\",\n\t\t\turl: getUrl(\"utility\", \"upvoty/roadmap\"),\n\t\t});\n\t},\n\tgenerateMake: (templateId, data) => {\n\t\treturn unauthedFunction({\n\t\t\tmethod: \"POST\",\n\t\t\turl: `https://api.make.cm/make/t/${templateId}/sync`,\n\t\t\tdata,\n\t\t\theaders: {\n\t\t\t\t\"Content-Type\": \"application/json\",\n\t\t\t\t\"X-MAKE-API-KEY\": Config.env.makeApiKey,\n\t\t\t},\n\t\t});\n\t},\n};\n","import { getUrl, htmlEncode } from \"../helper\";\nimport { authedFunction } from \"../session\";\n\nexport const templateActions = {\n\tgetTemplates: (site, featureKey) => {\n\t\tconst query = { site, featureKey };\n\t\treturn authedFunction({\n\t\t\tmethod: \"GET\",\n\t\t\turl: getUrl(\"templates\", \"get/list\", query),\n\t\t});\n\t},\n\tgetTemplate: (site, featureKey, rowId) => {\n\t\treturn authedFunction({\n\t\t\tmethod: \"GET\",\n\t\t\turl: getUrl(\"templates\", \"get/single\", { site, featureKey, rowId }),\n\t\t});\n\t},\n\tcreateTemplate: (template) => {\n\t\ttemplate.content = htmlEncode(template.content);\n\t\treturn authedFunction({\n\t\t\tmethod: \"POST\",\n\t\t\turl: getUrl(\"templates\", \"update/add\"),\n\t\t\tdata: template,\n\t\t});\n\t},\n\teditTemplate: (template) => {\n\t\ttemplate.content = htmlEncode(template.content);\n\t\treturn authedFunction({\n\t\t\tmethod: \"POST\",\n\t\t\turl: getUrl(\"templates\", \"update/edit\"),\n\t\t\tdata: template,\n\t\t});\n\t},\n\tdeleteTemplate: (site, rowId) => {\n\t\treturn authedFunction({\n\t\t\tmethod: \"POST\",\n\t\t\turl: getUrl(\"templates\", \"update/delete\"),\n\t\t\tdata: { site, rowId },\n\t\t});\n\t},\n};\n","import { getUrl } from \"../helper\";\nimport { authedFunction } from \"../session\";\n\nexport const scheduledActionsActions = {\n\tgetActions: (site, entityKey) => {\n\t\tconst query = { site, entityKey };\n\t\treturn authedFunction({\n\t\t\tmethod: \"GET\",\n\t\t\turl: getUrl(\"scheduledactions\", \"get/list\", query),\n\t\t});\n\t},\n};\n","import _ from \"lodash\";\nimport {\n\tUSERS_LOADED,\n\tUSER_REMOVED,\n\tUSERS_PURGE,\n\tUSERS_LOADING,\n\tUSERS_RESIDENT_COUNT_SET,\n\tINVITE_CODES_LOADED,\n\tINVITE_CODE_UPDATED,\n\tINVITE_CODE_REMOVED,\n} from \"./types\";\nimport { userActions } from \"../apis\";\nimport { readStorageWithCookie } from \"../helper\";\n\nexport const usersUpdate = (site) => {\n\treturn (dispatch) => {\n\t\tuserActions.fetchUsers(site).then((res) => {\n\t\t\tif (res.userFetchFail) {\n\t\t\t} else {\n\t\t\t\tconst currentSite = readStorageWithCookie(\"site\");\n\t\t\t\tif (\n\t\t\t\t\tres.data != null &&\n\t\t\t\t\t!_.isEmpty(res.data.results.Items) &&\n\t\t\t\t\tres.data.results.Items[0].site === currentSite\n\t\t\t\t) {\n\t\t\t\t\tconst users = res.data.results.Items;\n\t\t\t\t\tconst allList = [];\n\t\t\t\t\tObject.keys(users).forEach((userId) => {\n\t\t\t\t\t\tallList.push({ ...users[userId], id: userId });\n\t\t\t\t\t});\n\t\t\t\t\tdispatch({\n\t\t\t\t\t\ttype: USERS_LOADED,\n\t\t\t\t\t\tpayload: allList,\n\t\t\t\t\t});\n\t\t\t\t} else {\n\t\t\t\t\tdispatch({\n\t\t\t\t\t\ttype: USERS_LOADED,\n\t\t\t\t\t\tpayload: [],\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t}\n\t\t});\n\t};\n};\n\nexport const getUserCount = (site) => {\n\treturn (dispatch) => {\n\t\tdispatch({\n\t\t\ttype: USERS_LOADING,\n\t\t});\n\t\tuserActions.getSiteResidentsCount(site).then((res) => {\n\t\t\tdispatch({\n\t\t\t\ttype: USERS_RESIDENT_COUNT_SET,\n\t\t\t\tpayload: res.data.results,\n\t\t\t});\n\t\t});\n\t};\n};\n\nexport const usersLoaded = (events) => {\n\treturn {\n\t\ttype: USERS_LOADED,\n\t\tpayload: events,\n\t};\n};\n\nexport const userKey = (id) => {\n\treturn {\n\t\ttype: USER_REMOVED,\n\t\tpayload: id,\n\t};\n};\n\nexport const inviteCodesLoaded = (inviteCodes) => {\n\treturn {\n\t\ttype: INVITE_CODES_LOADED,\n\t\tpayload: inviteCodes,\n\t};\n};\n\nexport const inviteCodeUpdated = (inviteCode) => {\n\treturn {\n\t\ttype: INVITE_CODE_UPDATED,\n\t\tpayload: inviteCode,\n\t};\n};\n\nexport const inviteCodeRemoved = (inviteCode) => {\n\treturn {\n\t\ttype: INVITE_CODE_REMOVED,\n\t\tpayload: inviteCode,\n\t};\n};\n\nexport const clearUsers = () => {\n\treturn {\n\t\ttype: USERS_PURGE,\n\t};\n};\n","import { SET_NAV_DATA } from \"./types\";\n\nexport const setNavData = (data) => {\n\treturn {\n\t\ttype: SET_NAV_DATA,\n\t\tpayload: data,\n\t};\n};\n","import { TEMPLATES_LOADED, TEMPLATE_REMOVED } from \"./types\";\n\nexport const templatesLoaded = (template) => {\n\treturn {\n\t\ttype: TEMPLATES_LOADED,\n\t\tpayload: template,\n\t};\n};\n\nexport const removeTemplate = (id) => {\n\treturn {\n\t\ttype: TEMPLATE_REMOVED,\n\t\tpayload: id,\n\t};\n};\n","import { SCHEDULED_ACTIONS_LOADED } from \"./types\";\n\nexport const scheduledActionsLoaded = (scheduledActions) => {\n\treturn {\n\t\ttype: SCHEDULED_ACTIONS_LOADED,\n\t\tpayload: scheduledActions,\n\t};\n};\n","import React, { Component } from \"react\";\nimport { Icon } from \"@plusscommunities/pluss-icons\";\n\nclass AddButton extends Component {\n\tgetClasses() {\n\t\tlet classes = \"addButton\";\n\t\tif (this.props.inactive) {\n\t\t\tclasses += \" addButton--inactive\";\n\t\t}\n\t\treturn classes;\n\t}\n\n\trenderIcon() {\n\t\treturn (\n\t\t\t<Icon className=\"addButton__icon\" icon={this.props.icon || \"plus\"} />\n\t\t);\n\t}\n\n\trender() {\n\t\treturn (\n\t\t\t<div\n\t\t\t\tstyle={this.props.style}\n\t\t\t\tonClick={this.props.onClick}\n\t\t\t\tclassName={this.getClasses()}\n\t\t\t>\n\t\t\t\t<div className=\"addButton__text\">{this.props.text}</div>\n\t\t\t\t<div className=\"addButton__right\">{this.renderIcon()}</div>\n\t\t\t</div>\n\t\t);\n\t}\n}\n\nexport { AddButton };\n","import React, { Component } from \"react\";\nimport { COLOUR_DUSK_LIGHT } from \"../colours\";\nimport getFileName from \"../helper/files/getFileName\";\nimport { Icon } from \"@plusscommunities/pluss-icons\";\n\nclass Attachment extends Component {\n\trender() {\n\t\treturn (\n\t\t\t<div\n\t\t\t\tclassName={`pdfAttachment${this.props.className ? ` ${this.props.className}` : \"\"}${\n\t\t\t\t\tthis.props.white ? \" pdfAttachment-white\" : \"\"\n\t\t\t\t}`}\n\t\t\t>\n\t\t\t\t<a\n\t\t\t\t\thref={this.props.source}\n\t\t\t\t\ttarget=\"_blank\"\n\t\t\t\t\tclassName=\"pdfAttachment_container\"\n\t\t\t\t>\n\t\t\t\t\t<Icon\n\t\t\t\t\t\tclassName=\"pdfAttachment_icon\"\n\t\t\t\t\t\tpulse={this.props.uploading}\n\t\t\t\t\t\tfixedWidth\n\t\t\t\t\t\ticon={`${this.props.uploading ? \"spinner\" : \"paperclip\"}`}\n\t\t\t\t\t/>\n\t\t\t\t\t<p className=\"pdfAttachment_title\">\n\t\t\t\t\t\t{this.props.title || getFileName(this.props.source)}\n\t\t\t\t\t</p>\n\t\t\t\t</a>\n\t\t\t\t{this.props.onRemove && (\n\t\t\t\t\t<Icon\n\t\t\t\t\t\tcolour={COLOUR_DUSK_LIGHT}\n\t\t\t\t\t\ticon=\"xmark\"\n\t\t\t\t\t\tclassName=\"pdfAttachment_close\"\n\t\t\t\t\t\tonClick={this.props.onRemove}\n\t\t\t\t\t/>\n\t\t\t\t)}\n\t\t\t</div>\n\t\t);\n\t}\n}\n\nexport { Attachment };\n","import React, { Component } from \"react\";\nimport { Icon } from \"@plusscommunities/pluss-icons\";\n\nclass Button extends Component {\n\tgetClasses() {\n\t\tlet string = \"\";\n\t\tif (this.props.inline) string = string + \"buttonWrapper--inline \";\n\t\tif (this.props.isActive) string = string + \"button--active \";\n\t\tif (this.props.buttonType)\n\t\t\tstring = string + `button--${this.props.buttonType}`;\n\t\tif (this.props.compact) string = string + \" buttonWrapper--compact\";\n\t\tif (this.props.narrow) string = string + \" buttonWrapper--narrow\";\n\t\tif (this.props.noHoverHighlight)\n\t\t\tstring = string + \" button--noHoverHighlight\";\n\t\tif (this.props.className) string = string + \" \" + this.props.className;\n\t\treturn string;\n\t}\n\n\tgetButtonClasses() {\n\t\tif (this.props.buttonClassName) {\n\t\t\treturn `button ${this.props.buttonClassName}`;\n\t\t}\n\t\treturn \"button\";\n\t}\n\n\tgetButtonTextClasses() {\n\t\tlet result = \"buttonText\";\n\t\tif (this.props.leftIcon) {\n\t\t\tresult = result + ` buttonTextWithIcon`;\n\t\t}\n\t\tif (this.props.buttonTextClassName) {\n\t\t\tresult = result + ` ${this.props.buttonTextClassName}`;\n\t\t}\n\t\treturn result;\n\t}\n\n\tbuttonClick() {\n\t\tif (this.props.onClick) {\n\t\t\tthis.props.onClick();\n\t\t}\n\t}\n\n\trenderLeftIcon() {\n\t\tif (!this.props.leftIcon) {\n\t\t\treturn null;\n\t\t}\n\t\treturn (\n\t\t\t<Icon icon={this.props.leftIcon} className=\"buttonTextWithIcon_icon\" />\n\t\t);\n\t}\n\n\trender() {\n\t\treturn (\n\t\t\t<div\n\t\t\t\tclassName={`buttonWrapper ${this.getClasses()}`}\n\t\t\t\tstyle={{ ...this.props.buttonStyle }}\n\t\t\t>\n\t\t\t\t<div\n\t\t\t\t\tonClick={() => this.buttonClick()}\n\t\t\t\t\tclassName={this.getButtonClasses()}\n\t\t\t\t\tstyle={{ ...this.props.style }}\n\t\t\t\t>\n\t\t\t\t\t<div\n\t\t\t\t\t\tclassName={this.getButtonTextClasses()}\n\t\t\t\t\t\tstyle={{ ...this.props.textStyle }}\n\t\t\t\t\t>\n\t\t\t\t\t\t{this.renderLeftIcon()}\n\t\t\t\t\t\t{this.props.children}\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t);\n\t}\n}\n\nexport { Button };\n","import React, { PureComponent } from \"react\";\nimport { Icon } from \"@plusscommunities/pluss-icons\";\nimport _ from \"lodash\";\n\nclass CheckBox extends PureComponent {\n\tgenerateClassNames() {\n\t\tlet result = \"checkBox\";\n\t\tif (this.props.isActive) {\n\t\t\tresult = result + \" checkBox--active\";\n\t\t}\n\t\tif (this.props.disabled) {\n\t\t\tresult = result + \" checkBox--disabled\";\n\t\t}\n\t\tif (this.props.noHoverHighlight) {\n\t\t\tresult = result + \" checkBox--noHoverHighlight\";\n\t\t}\n\t\treturn result;\n\t}\n\n\tgetLabelClasses() {\n\t\tlet result = \"actionText pointer\";\n\t\tif (this.props.disabled) {\n\t\t\tresult = result + \" actionText--disabled\";\n\t\t}\n\t\treturn result;\n\t}\n\n\tgetBoxStyle() {\n\t\tconst result = {};\n\t\tif (this.props.highlightColour && this.props.isActive) {\n\t\t\tresult.borderColor = this.props.highlightColour;\n\t\t\tresult.backgroundColor = this.props.highlightColour;\n\t\t}\n\t\treturn result;\n\t}\n\n\tonChange = (e) => {\n\t\tif (this.props.disabled) {\n\t\t\treturn;\n\t\t}\n\t\treturn this.props.onChange(e);\n\t};\n\n\trender() {\n\t\treturn (\n\t\t\t<div className={this.props.className}>\n\t\t\t\t<div\n\t\t\t\t\tclassName={this.props.showWarning ? \"checkBox--error\" : null}\n\t\t\t\t\tstyle={{ ...styles.row, ...this.props.style }}\n\t\t\t\t>\n\t\t\t\t\t<div\n\t\t\t\t\t\tclassName={this.generateClassNames()}\n\t\t\t\t\t\tonClick={this.onChange}\n\t\t\t\t\t\tstyle={this.getBoxStyle()}\n\t\t\t\t\t>\n\t\t\t\t\t\t<div className=\"checkBoxTick\">\n\t\t\t\t\t\t\t<Icon className=\"checkBoxTick-font\" icon=\"check\" />\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</div>\n\t\t\t\t\t{!_.isEmpty(this.props.label) && (\n\t\t\t\t\t\t<div\n\t\t\t\t\t\t\tclassName={this.getLabelClasses()}\n\t\t\t\t\t\t\tstyle={{\n\t\t\t\t\t\t\t\tmarginLeft: 8,\n\t\t\t\t\t\t\t\tfontSize: 14,\n\t\t\t\t\t\t\t\tlineHeight: \"20px\",\n\t\t\t\t\t\t\t\t...this.props.labelStyle,\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\tonClick={this.onChange}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{this.props.label}\n\t\t\t\t\t\t</div>\n\t\t\t\t\t)}\n\t\t\t\t</div>\n\t\t\t\t{this.props.children}\n\t\t\t</div>\n\t\t);\n\t}\n}\n\nconst styles = {\n\trow: {\n\t\tdisplay: \"flex\",\n\t\tflexDirection: \"row\",\n\t\tmarginBottom: 8,\n\t},\n};\n\nexport { CheckBox };\n","import React, { Component } from \"react\";\n\nclass Text extends Component {\n\tgetClassName() {\n\t\tif (this.props.className) {\n\t\t\treturn ` ${this.props.className}`;\n\t\t}\n\t\treturn \"\";\n\t}\n\n\trender() {\n\t\treturn (\n\t\t\t<p\n\t\t\t\t{...this.props}\n\t\t\t\tclassName={`text-${this.props.type}${this.getClassName()}`}\n\t\t\t\tstyle={this.props.style}\n\t\t\t>\n\t\t\t\t{this.props.children}\n\t\t\t</p>\n\t\t);\n\t}\n}\n\nexport { Text };\n","import React, { Component } from \"react\";\nimport _ from \"lodash\";\nimport { connect } from \"react-redux\";\nimport Config from \"../config\";\nimport { getAppColourFromState } from \"../helper\";\nimport { Text } from \"./Text\";\n\nclass ProfilePicComponent extends Component {\n\trenderPic() {\n\t\treturn (\n\t\t\t<div\n\t\t\t\tclassName={this.props.className}\n\t\t\t\tstyle={{\n\t\t\t\t\twidth: this.props.size || 30,\n\t\t\t\t\theight: this.props.size || 30,\n\t\t\t\t\tborderRadius: this.props.size / 2 || 15,\n\t\t\t\t\tbackgroundColor: this.props.colourBrandingApp,\n\t\t\t\t\tbackgroundSize: \"cover\",\n\t\t\t\t\tbackgroundPosition: \"center\",\n\t\t\t\t\tbackgroundImage: `url(${!_.isEmpty(this.props.image) ? this.props.image : Config.env.defaultProfileImage})`,\n\t\t\t\t\t...this.props.style,\n\t\t\t\t}}\n\t\t\t\talt=\"Profile Pic\"\n\t\t\t></div>\n\t\t);\n\t}\n\n\trender() {\n\t\tif (this.props.hoverText) {\n\t\t\treturn (\n\t\t\t\t<div className={`profilePicHover ${this.props.containerClass}`}>\n\t\t\t\t\t{this.renderPic()}\n\t\t\t\t\t<Text type=\"h5\" className=\"profilePicHover_text\">\n\t\t\t\t\t\t{this.props.hoverText}\n\t\t\t\t\t</Text>\n\t\t\t\t</div>\n\t\t\t);\n\t\t}\n\t\treturn this.renderPic();\n\t}\n}\n\nconst mapStateToProps = (state) => {\n\treturn {\n\t\tcolourBrandingApp: getAppColourFromState(state),\n\t};\n};\n\nconst ProfilePic = connect(mapStateToProps, {})(ProfilePicComponent);\nexport { ProfilePic };\n","import React, { Component } from \"react\";\nimport moment from \"moment\";\nimport { get1400, toParagraphed } from \"../helper\";\nimport { ProfilePic } from \"./ProfilePic\";\nimport _ from \"lodash\";\n\nclass Comment extends Component {\n\trenderImage(image) {\n\t\tif (_.isEmpty(image)) {\n\t\t\treturn null;\n\t\t}\n\t\treturn (\n\t\t\t<div className=\"imageGrid\">\n\t\t\t\t<a href={image} target=\"_blank\" rel=\"noopener noreferrer\">\n\t\t\t\t\t<div\n\t\t\t\t\t\tclassName=\"imageGrid_image\"\n\t\t\t\t\t\tstyle={{ backgroundImage: `url('${get1400(image)}')` }}\n\t\t\t\t\t></div>\n\t\t\t\t</a>\n\t\t\t</div>\n\t\t);\n\t}\n\n\trenderComment() {\n\t\tconst { comment } = this.props;\n\t\treturn (\n\t\t\t<div key={comment.Id} className=\"comment\">\n\t\t\t\t<p className=\"comment_text\">{toParagraphed(comment.Comment)}</p>\n\t\t\t\t{this.renderImage(comment.Image)}\n\t\t\t\t<div className=\"comment_bottom\">\n\t\t\t\t\t<ProfilePic\n\t\t\t\t\t\tclassName=\"comment_profilePic\"\n\t\t\t\t\t\tsize={25}\n\t\t\t\t\t\timage={comment.User.profilePic}\n\t\t\t\t\t/>\n\t\t\t\t\t<p className=\"comment_name\">{comment.User.displayName}</p>\n\t\t\t\t\t<p className=\"comment_time\">\n\t\t\t\t\t\t{moment.utc(comment.Timestamp).local().format(\"D MMM YYYY • h:mma\")}\n\t\t\t\t\t</p>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t);\n\t}\n\n\trender() {\n\t\treturn (\n\t\t\t<div>\n\t\t\t\t{this.renderComment()}\n\t\t\t\t{this.props.bottomContent}\n\t\t\t</div>\n\t\t);\n\t}\n}\n\nexport { Comment };\n","import React, { Component } from \"react\";\nimport _ from \"lodash\";\nimport Textarea from \"react-textarea-autosize\";\nimport { Text } from \"./Text\";\nimport { Icon } from \"@plusscommunities/pluss-icons\";\nimport { Comment } from \"./Comment\";\nimport { getFirstName, getPluralOptions } from \"../helper\";\nimport { ProfilePic } from \"./ProfilePic\";\n\nclass CommentSection extends Component {\n\tconstructor(props) {\n\t\tsuper(props);\n\n\t\tthis.state = {\n\t\t\tcommentInput: \"\",\n\t\t};\n\t}\n\n\tonHandleChange = (event) => {\n\t\tvar stateChange = {};\n\t\tstateChange[event.target.getAttribute(\"id\")] = event.target.value;\n\t\tthis.setState(stateChange);\n\t};\n\n\tonAddComment = async () => {\n\t\tconst { commentInput } = this.state;\n\t\tthis.setState({ commentInput: \"\" });\n\t\tthis.props.onAddComment(commentInput);\n\t};\n\n\tgetComments = () => {\n\t\tif (!this.props.onlyParents) {\n\t\t\treturn this.props.comments;\n\t\t}\n\t\treturn _.filter(this.props.comments, (c) => {\n\t\t\treturn !c.ParentId;\n\t\t});\n\t};\n\n\trenderReplyText = (c) => {\n\t\tif (!this.props.onOpenThread) {\n\t\t\treturn null;\n\t\t}\n\n\t\tconst threadComments = _.filter(this.props.comments, (innerC) => {\n\t\t\treturn innerC.ParentId === c.Id;\n\t\t});\n\t\tif (_.isEmpty(threadComments)) {\n\t\t\treturn (\n\t\t\t\t<div className=\"comment_reply\">\n\t\t\t\t\t<Text\n\t\t\t\t\t\tclassName=\"comment_reply_button\"\n\t\t\t\t\t\ttype=\"button\"\n\t\t\t\t\t\tonClick={() => {\n\t\t\t\t\t\t\tthis.props.onOpenThread(c);\n\t\t\t\t\t\t}}\n\t\t\t\t\t>{`Reply to ${getFirstName(c.User ? c.User.displayName : \"comment\")}`}</Text>\n\t\t\t\t</div>\n\t\t\t);\n\t\t}\n\n\t\tconst profilePics = _.take(\n\t\t\t_.uniqBy(threadComments, (c) => c.UserId),\n\t\t\t3,\n\t\t);\n\t\treturn (\n\t\t\t<div className=\"comment_reply comment_reply-hasReplies\">\n\t\t\t\t{profilePics.map((c) => {\n\t\t\t\t\treturn (\n\t\t\t\t\t\t<ProfilePic\n\t\t\t\t\t\t\tclassName=\"comment_reply_profilePic\"\n\t\t\t\t\t\t\tsize={20}\n\t\t\t\t\t\t\timage={c.User.profilePic}\n\t\t\t\t\t\t/>\n\t\t\t\t\t);\n\t\t\t\t})}\n\t\t\t\t<Text\n\t\t\t\t\tclassName=\"comment_reply_button\"\n\t\t\t\t\ttype=\"button\"\n\t\t\t\t\tonClick={() => {\n\t\t\t\t\t\tthis.props.onOpenThread(c);\n\t\t\t\t\t}}\n\t\t\t\t>{`${threadComments.length} repl${getPluralOptions(threadComments.length, \"y\", \"ies\")}`}</Text>\n\t\t\t</div>\n\t\t);\n\t};\n\n\trender() {\n\t\treturn (\n\t\t\t<div>\n\t\t\t\t{this.props.includeTitle && (\n\t\t\t\t\t<Text type=\"formTitleSmall\" className=\"marginBottom-16\">\n\t\t\t\t\t\tComments\n\t\t\t\t\t</Text>\n\t\t\t\t)}\n\t\t\t\t<div className=\"commentSection\">\n\t\t\t\t\t{this.getComments().map((c) => (\n\t\t\t\t\t\t<Comment\n\t\t\t\t\t\t\tkey={c.Id}\n\t\t\t\t\t\t\tcomment={c}\n\t\t\t\t\t\t\tbottomContent={this.renderReplyText(c)}\n\t\t\t\t\t\t/>\n\t\t\t\t\t))}\n\t\t\t\t</div>\n\t\t\t\t<div className=\"commentReply\">\n\t\t\t\t\t<div\n\t\t\t\t\t\tclassName={`commentReply_button${!_.isEmpty(this.state.commentInput) ? \" commentReply_button-active\" : \"\"}`}\n\t\t\t\t\t\tonClick={this.onAddComment}\n\t\t\t\t\t>\n\t\t\t\t\t\t<Icon className=\"commentReply_icon\" icon=\"paper-plane\" />\n\t\t\t\t\t</div>\n\t\t\t\t\t<Textarea\n\t\t\t\t\t\tid=\"commentInput\"\n\t\t\t\t\t\tplaceholder=\"Reply here...\"\n\t\t\t\t\t\ttype=\"text\"\n\t\t\t\t\t\tclassName=\"commentReply_input\"\n\t\t\t\t\t\tvalue={this.state.commentInput}\n\t\t\t\t\t\tonChange={(e) => this.onHandleChange(e)}\n\t\t\t\t\t/>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t);\n\t}\n}\n\nexport { CommentSection };\n","import React, { Component } from \"react\";\nimport { Icon } from \"@plusscommunities/pluss-icons\";\nimport moment from \"moment\";\nimport _ from \"lodash\";\n\nclass DatePicker extends Component {\n\tstate = {\n\t\tshownMonth: new Date(),\n\t\tgrid: [],\n\t};\n\n\tUNSAFE_componentWillMount() {\n\t\tthis.onNewProps(this.props, true);\n\t}\n\n\tUNSAFE_componentWillReceiveProps(nextProps) {\n\t\tthis.onNewProps(nextProps);\n\t}\n\n\tonNewProps(nextProps, forceUpdate) {\n\t\tif (\n\t\t\t!!nextProps.shownMonth &&\n\t\t\tnextProps.shownMonth !== this.props.shownMonth\n\t\t) {\n\t\t\tconst shownMonth = new Date(\n\t\t\t\tnextProps.shownMonth.getFullYear(),\n\t\t\t\tnextProps.shownMonth.getMonth() + 1,\n\t\t\t\t0,\n\t\t\t);\n\t\t\tthis.setState({ shownMonth });\n\t\t\tthis.generateGrid(shownMonth);\n\t\t} else if (\n\t\t\tthis.props.multiple &&\n\t\t\tnextProps.selectedDates !== this.props.selectedDates\n\t\t) {\n\t\t\tthis.generateGrid(this.state.shownMonth, nextProps.selectedDates);\n\t\t} else if (\n\t\t\tforceUpdate ||\n\t\t\tnextProps.selectedDate !== this.props.selectedDate\n\t\t) {\n\t\t\tlet dateToUse = nextProps.selectedDate;\n\t\t\tif (!(dateToUse instanceof Date)) {\n\t\t\t\tdateToUse = new Date(dateToUse);\n\t\t\t}\n\t\t\tif (isNaN(dateToUse)) {\n\t\t\t\tdateToUse = new Date();\n\t\t\t}\n\t\t\tconst shownMonth = this.props.shownMonth\n\t\t\t\t? this.state.shownMonth\n\t\t\t\t: dateToUse;\n\t\t\tthis.setState({\n\t\t\t\tshownMonth: shownMonth,\n\t\t\t\tselectedDate: dateToUse,\n\t\t\t});\n\t\t\tthis.generateGrid(shownMonth, dateToUse);\n\t\t}\n\t}\n\n\tgetDate() {\n\t\tif (!this.props.selectedDate) {\n\t\t\treturn \"Select day\";\n\t\t}\n\t\treturn moment(this.props.selectedDate).format(\"dddd, Do MMMM\");\n\t}\n\n\tgetShortDate() {\n\t\tif (!this.props.selectedDate) {\n\t\t\treturn \"\";\n\t\t}\n\t\treturn moment(this.props.selectedDate).format(\"DD/MM/YYYY\");\n\t}\n\n\tgetMonth() {\n\t\treturn moment(this.state.shownMonth).format(\"MMMM YYYY\");\n\t}\n\n\tisDateSelected(date, selectedDate) {\n\t\tif (this.props.multiple) {\n\t\t\treturn _.includes(selectedDate, date.format(\"DD-MM-YYYY\"));\n\t\t}\n\t\treturn date.isSame(selectedDate, \"date\");\n\t}\n\n\tisDateEnabled(date) {\n\t\tif (this.props.enabledDates) {\n\t\t\tconst found = this.props.enabledDates.find(\n\t\t\t\t(d) => moment(d.day).format(\"YYYYMMDD\") === date.format(\"YYYYMMDD\"),\n\t\t\t);\n\t\t\tif (found) return found.enabled;\n\t\t}\n\t\treturn null;\n\t}\n\n\tchangeMonth(change) {\n\t\tconst newShownDate = new Date(\n\t\t\tthis.state.shownMonth.getFullYear(),\n\t\t\tthis.state.shownMonth.getMonth() + 1 + change,\n\t\t\t0,\n\t\t);\n\t\tthis.setState(\n\t\t\t{\n\t\t\t\tshownMonth: newShownDate,\n\t\t\t},\n\t\t\t() => {\n\t\t\t\tif (this.props.changeMonth)\n\t\t\t\t\tthis.props.changeMonth(this.state.shownMonth);\n\t\t\t},\n\t\t);\n\t\tthis.generateGrid(newShownDate);\n\t}\n\n\tselectRange(date) {\n\t\tconst d1 = moment(this.state.lastSelected, \"DD-MM-YYYY\");\n\t\tconst d2 = moment(date, \"DD-MM-YYYY\");\n\n\t\tlet startDate, endDate;\n\n\t\tif (d1.valueOf() > d2.valueOf()) {\n\t\t\t// clicked an earlier day\n\t\t\tstartDate = moment(d2);\n\t\t\tendDate = moment(d1);\n\t\t} else {\n\t\t\t// clicked a later day\n\t\t\tstartDate = moment(d1);\n\t\t\tendDate = moment(d2);\n\t\t}\n\n\t\tconst dateRange = [startDate.format(\"DD-MM-YYYY\")];\n\t\twhile (startDate.format(\"DD-MM-YYYY\") !== endDate.format(\"DD-MM-YYYY\")) {\n\t\t\tstartDate.add(1, \"d\");\n\t\t\tdateRange.push(startDate.format(\"DD-MM-YYYY\"));\n\t\t}\n\n\t\tif (\n\t\t\t(_.includes(this.props.selectedDates, d2.format(\"DD-MM-YYYY\")) &&\n\t\t\t\t!_.includes(this.props.selectedDates, d1.format(\"DD-MM-YYYY\"))) ||\n\t\t\t!_.some(dateRange, (d) => {\n\t\t\t\treturn !_.includes(this.props.selectedDates, d);\n\t\t\t})\n\t\t) {\n\t\t\t// the first clicked date was just de-selected and then clicked on a selected date\n\t\t\t// or every date in the range is already selected, then\n\t\t\t// de-select the range\n\t\t\tthis.props.selectDate(\n\t\t\t\t_.filter(this.props.selectedDates, (d) => {\n\t\t\t\t\treturn !_.includes(dateRange, d);\n\t\t\t\t}),\n\t\t\t);\n\t\t} else {\n\t\t\t// select the range\n\t\t\tconst newSelection = [...this.props.selectedDates, ...dateRange];\n\t\t\tthis.props.selectDate(_.uniq(newSelection));\n\t\t}\n\t}\n\n\tselectDate(date, e) {\n\t\tconst enabled = this.isDateEnabled(date);\n\t\tconst isBeforeMinDate =\n\t\t\tthis.props.minDate && moment(date).isBefore(this.props.minDate);\n\t\tconsole.log(\"selected a date\", { date, enabled, isBeforeMinDate });\n\t\tif (enabled === false || isBeforeMinDate) return;\n\n\t\tif (this.props.multiple) {\n\t\t\tconst dateKey = moment(date).format(\"DD-MM-YYYY\");\n\n\t\t\tif (\n\t\t\t\te.shiftKey &&\n\t\t\t\tthis.state.lastSelected &&\n\t\t\t\tthis.state.lastSelected !== dateKey\n\t\t\t) {\n\t\t\t\t// shift-click to select range\n\t\t\t\tthis.selectRange(dateKey);\n\t\t\t} else {\n\t\t\t\t// toggle single date\n\t\t\t\tconst index = this.props.selectedDates.indexOf(dateKey);\n\t\t\t\tconst newSelection = [...this.props.selectedDates];\n\t\t\t\tif (index > -1) {\n\t\t\t\t\tnewSelection.splice(index, 1);\n\t\t\t\t} else {\n\t\t\t\t\tnewSelection.push(dateKey);\n\t\t\t\t}\n\t\t\t\tthis.props.selectDate(newSelection);\n\t\t\t}\n\t\t\tthis.setState({\n\t\t\t\tlastSelected: dateKey,\n\t\t\t});\n\t\t} else {\n\t\t\tthis.props.selectDate(moment(date).format(\"YYYY-MM-DD\"));\n\t\t}\n\t}\n\n\tgenerateGrid(date, selectedDate) {\n\t\tconst month = moment(date);\n\t\tlet dateToTarget = moment(date).endOf(\"month\");\n\t\tlet dateToModify = moment(date).startOf(\"month\");\n\t\tconst selectedDateToUse = this.props.multiple\n\t\t\t? selectedDate || this.props.selectedDates || []\n\t\t\t: moment(selectedDate || this.state.selectedDate);\n\n\t\t// set dateToModify to be Sunday of that week\n\t\twhile (dateToModify.day() !== 0) {\n\t\t\tdateToModify = dateToModify.add(-1, \"day\");\n\t\t}\n\n\t\tconst rows = [[]];\n\n\t\twhile (dateToTarget.day() !== 6) {\n\t\t\tdateToTarget = dateToTarget.add(1, \"day\");\n\t\t}\n\t\tdateToTarget = dateToTarget.add(1, \"day\"); // add an extra day to complete the week\n\n\t\twhile (!dateToModify.isSame(dateToTarget, \"day\")) {\n\t\t\tif (rows[rows.length - 1].length === 7) {\n\t\t\t\t// week has filled - add new row\n\t\t\t\trows.push([]);\n\t\t\t}\n\t\t\tconst thisDate = moment(dateToModify);\n\n\t\t\trows[rows.length - 1].push({\n\t\t\t\tdate: thisDate,\n\t\t\t\tdateKey: thisDate.format(\"DD-MM-YYYY\"),\n\t\t\t\tdisplay: thisDate.date(),\n\t\t\t\tisFaded: !thisDate.isSame(month, \"month\"),\n\t\t\t\tisToday: thisDate.isSame(moment(), \"date\"),\n\t\t\t\tisSelected: this.isDateSelected(thisDate, selectedDateToUse),\n\t\t\t\tisEnabled: this.isDateEnabled(thisDate),\n\t\t\t});\n\n\t\t\tdateToModify = dateToModify.add(1, \"day\");\n\t\t}\n\n\t\t// console.log('generateGrid', JSON.stringify(rows, null, 2));\n\t\tthis.setState({\n\t\t\tgrid: rows,\n\t\t});\n\t}\n\n\trenderGrid() {\n\t\treturn this.state.grid.map((row, index) => {\n\t\t\treturn (\n\t\t\t\t<div className=\"datepicker__row marginTop-8\" key={index}>\n\t\t\t\t\t{row.map((date) => {\n\t\t\t\t\t\tlet classes = \"datepicker__date\";\n\t\t\t\t\t\tif (date.isFaded) {\n\t\t\t\t\t\t\tclasses += \" datepicker__date--faded\";\n\t\t\t\t\t\t}\n\t\t\t\t\t\tif (date.isToday) {\n\t\t\t\t\t\t\tclasses += \" datepicker__date--today\";\n\t\t\t\t\t\t}\n\t\t\t\t\t\tif (date.isSelected) {\n\t\t\t\t\t\t\tclasses += \" datepicker__date--selected\";\n\t\t\t\t\t\t}\n\t\t\t\t\t\tif (typeof date.isEnabled === \"boolean\") {\n\t\t\t\t\t\t\tclasses += date.isEnabled\n\t\t\t\t\t\t\t\t? \" datepicker__date--enabled\"\n\t\t\t\t\t\t\t\t: \" datepicker__date--disabled\";\n\t\t\t\t\t\t}\n\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t<div className={classes} key={date.dateKey}>\n\t\t\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t\t\tclassName=\"datepicker__date__inner\"\n\t\t\t\t\t\t\t\t\tonClick={(e) => this.selectDate(date.date, e)}\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t{date.display}\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t);\n\t\t\t\t\t})}\n\t\t\t\t</div>\n\t\t\t);\n\t\t});\n\t}\n\n\trenderTop() {\n\t\tif (this.props.hideTop) {\n\t\t\treturn null;\n\t\t}\n\t\tif (this.props.multiple) {\n\t\t\treturn (\n\t\t\t\t<div className=\"datepicker__multitop\">\n\t\t\t\t\t<p className=\"datepicker__multitop__text\">\n\t\t\t\t\t\tShift + Click to select a range of dates\n\t\t\t\t\t</p>\n\t\t\t\t</div>\n\t\t\t);\n\t\t}\n\t\treturn (\n\t\t\t<div className=\"datepicker__top\">\n\t\t\t\t<p className=\"datepicker__title truncate\">{this.getDate()}</p>\n\t\t\t</div>\n\t\t);\n\t}\n\n\trender() {\n\t\treturn (\n\t\t\t<div className=\"datepicker noselect\" style={this.props.style}>\n\t\t\t\t{this.renderTop()}\n\t\t\t\t<div className=\"datepicker__bottom\">\n\t\t\t\t\t<div className=\"datepicker__bottomHeader\">\n\t\t\t\t\t\t{/* <div className='datepicker__selectedDate'>\n <p className='datepicker__selectedDateText'>{this.getShortDate()}</p>\n </div> */}\n\t\t\t\t\t\t<div className=\"datepicker__monthSelector\">\n\t\t\t\t\t\t\t<Icon\n\t\t\t\t\t\t\t\tclassName=\"datepicker__monthChevron\"\n\t\t\t\t\t\t\t\ticon=\"chevron-left\"\n\t\t\t\t\t\t\t\tonClick={this.changeMonth.bind(this, -1)}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t<p className=\"datepicker__selectedMonth\">{this.getMonth()}</p>\n\t\t\t\t\t\t\t<Icon\n\t\t\t\t\t\t\t\tclassName=\"datepicker__monthChevron\"\n\t\t\t\t\t\t\t\ticon=\"chevron-right\"\n\t\t\t\t\t\t\t\tonClick={this.changeMonth.bind(this, 1)}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</div>\n\t\t\t\t\t<div className=\"datepicker__row marginTop-16\">\n\t\t\t\t\t\t<p className=\"datepicker__colHeader\">SUN</p>\n\t\t\t\t\t\t<p className=\"datepicker__colHeader\">MON</p>\n\t\t\t\t\t\t<p className=\"datepicker__colHeader\">TUE</p>\n\t\t\t\t\t\t<p className=\"datepicker__colHeader\">WED</p>\n\t\t\t\t\t\t<p className=\"datepicker__colHeader\">THU</p>\n\t\t\t\t\t\t<p className=\"datepicker__colHeader\">FRI</p>\n\t\t\t\t\t\t<p className=\"datepicker__colHeader\">SAT</p>\n\t\t\t\t\t</div>\n\t\t\t\t\t{this.renderGrid()}\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t);\n\t}\n}\n\nexport { DatePicker };\n","import React from \"react\";\nimport { Text } from \"./Text\";\n\nfunction DurationInput({ handleChange, label, value, className, labelWidth }) {\n\tconst hours = Math.floor(value / 60);\n\tconst minutes = value % 60;\n\n\tconst handleHourChange = (event) => {\n\t\tconst newHours = Math.max(0, Math.min(+event.target.value, 24));\n\t\thandleChange(newHours * 60 + minutes);\n\t};\n\n\tconst handleMinuteChange = (event) => {\n\t\tconst newMinutes = Math.max(0, Math.min(+event.target.value, 59));\n\t\thandleChange(hours * 60 + newMinutes);\n\t};\n\n\treturn (\n\t\t<div className={`flex flex-center ${className ? className : \"\"}`}>\n\t\t\t{label && (\n\t\t\t\t<Text\n\t\t\t\t\ttype=\"formTitleSmall\"\n\t\t\t\t\tstyle={{ marginRight: \"10px\", width: labelWidth || 50 }}\n\t\t\t\t>\n\t\t\t\t\t{label}\n\t\t\t\t</Text>\n\t\t\t)}\n\t\t\t<input\n\t\t\t\tclassName=\"genericInput\"\n\t\t\t\ttype=\"number\"\n\t\t\t\tmin=\"0\"\n\t\t\t\tmax=\"24\"\n\t\t\t\tvalue={hours}\n\t\t\t\tonChange={handleHourChange}\n\t\t\t\tstyle={{ width: 50, marginRight: 5 }}\n\t\t\t/>\n\t\t\t<Text type=\"formTitleSmall\" style={{ marginRight: 10 }}>\n\t\t\t\tHour(s)\n\t\t\t</Text>\n\t\t\t<input\n\t\t\t\tclassName=\"genericInput\"\n\t\t\t\ttype=\"number\"\n\t\t\t\tmin=\"0\"\n\t\t\t\tmax=\"59\"\n\t\t\t\tvalue={minutes}\n\t\t\t\tonChange={handleMinuteChange}\n\t\t\t\tstyle={{ width: 50, marginRight: 5 }}\n\t\t\t/>\n\t\t\t<Text type=\"formTitleSmall\">Minute(s)</Text>\n\t\t</div>\n\t);\n}\n\nexport { DurationInput };\n","import React, { Component } from \"react\";\nimport { connect } from \"react-redux\";\nimport _ from \"lodash\";\nimport Dropzone from \"react-dropzone\";\nimport { Icon } from \"@plusscommunities/pluss-icons\";\nimport { Button } from \"./Button\";\nimport { fileActions } from \"../apis\";\nimport { getFileName } from \"../helper\";\n\nconst DEFAULT_INPUT = {\n\tuploadingFile: false,\n\tvalue: \"\",\n};\n\nclass FileInputComponent extends Component {\n\tstate = {\n\t\tinputs: [\n\t\t\t{\n\t\t\t\tuploadingFile: false,\n\t\t\t\tvalue: \"\",\n\t\t\t},\n\t\t],\n\t};\n\n\tcomponentDidMount() {\n\t\tsetTimeout(() => {\n\t\t\tif (this.props.hasDefault) {\n\t\t\t\tthis.setState({\n\t\t\t\t\tinputs: [\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tuploadingFile: false,\n\t\t\t\t\t\t\tvalue: this.props.hasDefault,\n\t\t\t\t\t\t},\n\t\t\t\t\t],\n\t\t\t\t});\n\t\t\t\tif (this.props.refreshCallback) {\n\t\t\t\t\tthis.props.refreshCallback(this.props.hasDefault);\n\t\t\t\t}\n\t\t\t}\n\t\t}, 100);\n\t}\n\n\tsetValue(val) {\n\t\tif (typeof val === \"string\") {\n\t\t\tthis.setState({\n\t\t\t\tinputs: [\n\t\t\t\t\t{\n\t\t\t\t\t\tuploadingImage: false,\n\t\t\t\t\t\tvalue: val,\n\t\t\t\t\t},\n\t\t\t\t],\n\t\t\t});\n\t\t} else {\n\t\t\tconst inputs = [];\n\t\t\t_.forEach(val, (str) => {\n\t\t\t\tinputs.push({\n\t\t\t\t\tuploadingImage: false,\n\t\t\t\t\tvalue: str,\n\t\t\t\t});\n\t\t\t});\n\t\t\tif (!this.props.limit || this.props.limit > inputs.length)\n\t\t\t\tinputs.push(DEFAULT_INPUT);\n\t\t\tthis.setState({ inputs });\n\t\t}\n\t}\n\n\tgetClassNames(input, inputsLength) {\n\t\tlet classes = \"clearfix imageInput\";\n\t\tif (input.uploadingFile) {\n\t\t\tclasses += \" imageInput-uploading\";\n\t\t} else if (!_.isEmpty(input.value) && !this.props.onlyAllowUpload) {\n\t\t\tclasses += \" imageInput-hasImage\";\n\t\t}\n\t\tif (inputsLength === 1) {\n\t\t\tclasses += \" imageInput-only\";\n\t\t}\n\t\tif (\n\t\t\tthis.props.style &&\n\t\t\tthis.props.style.height &&\n\t\t\tthis.props.style.height < 150\n\t\t) {\n\t\t\tclasses += \" imageInput-condensed\";\n\t\t}\n\t\treturn classes;\n\t}\n\n\tgetErrorState() {\n\t\tif (!_.isUndefined(this.props.showError) && this.props.showError()) {\n\t\t\treturn \" imageInput_upload--error\";\n\t\t}\n\t\treturn \"\";\n\t}\n\n\tgetAccept = () => {\n\t\tif (typeof this.props.accept === \"object\") {\n\t\t\treturn this.props.accept;\n\t\t}\n\t\tif (typeof this.props.accept === \"string\") {\n\t\t\tconst accept = {\n\t\t\t\t[this.props.accept]: [`.${_.last(this.props.accept.split(\"/\"))}`],\n\t\t\t};\n\t\t\treturn accept;\n\t\t}\n\t\treturn null;\n\t};\n\n\tcheckRefreshCallback = (inputs) => {\n\t\tif (_.isUndefined(this.props.refreshCallback)) {\n\t\t\treturn;\n\t\t}\n\t\tif (!this.props.multiple) {\n\t\t\tconst file = _.find(inputs, (i) => {\n\t\t\t\treturn !i.uploadingFile && !_.isEmpty(i.value);\n\t\t\t});\n\t\t\tthis.props.refreshCallback(file ? file.value : undefined);\n\t\t} else {\n\t\t\tconst files = _.filter(inputs, (i) => {\n\t\t\t\treturn !i.uploadingFile && !_.isEmpty(i.value);\n\t\t\t}).map((i) => {\n\t\t\t\treturn i.value;\n\t\t\t});\n\t\t\tthis.props.refreshCallback(files);\n\t\t}\n\t};\n\n\tcheckSetDisplayValue(input, value) {\n\t\tinput.value = value;\n\t\tinput.uploadingFile = false;\n\t\tconst newInputs = _.clone(this.state.inputs);\n\t\tthis.setState({ inputs: newInputs });\n\t\tthis.checkRefreshCallback(newInputs);\n\t}\n\n\tonDrop = (files) => {\n\t\tif (this.props.multiple) {\n\t\t\tconst newInputs = _.clone(this.state.inputs);\n\t\t\tfiles.forEach((file) => {\n\t\t\t\tif (this.props.limit && newInputs.length === this.props.limit) {\n\t\t\t\t\t// hit limit - replace last input if it's empty\n\t\t\t\t\tif (_.isEmpty(newInputs[newInputs.length - 1].value)) {\n\t\t\t\t\t\tconst newInput = newInputs[newInputs.length - 1];\n\t\t\t\t\t\tthis.handleFile(newInput, file);\n\t\t\t\t\t}\n\t\t\t\t} else {\n\t\t\t\t\tconst newInput = {\n\t\t\t\t\t\t...DEFAULT_INPUT,\n\t\t\t\t\t};\n\t\t\t\t\tnewInputs.splice(newInputs.length - 1, 0, newInput);\n\t\t\t\t\tthis.handleFile(newInput, file);\n\t\t\t\t}\n\t\t\t});\n\t\t\tthis.setState({\n\t\t\t\tinputs: newInputs,\n\t\t\t});\n\t\t\tthis.checkRefreshCallback(newInputs);\n\t\t} else {\n\t\t\tthis.handleFile(this.state.inputs[0], files[0]);\n\t\t}\n\t};\n\n\thandleFile = async (input, file) => {\n\t\tif (!file || input.uploadingFile) {\n\t\t\treturn;\n\t\t}\n\t\tinput.uploadingFile = true;\n\t\tconst newInputs = _.clone(this.state.inputs);\n\t\tthis.setState({\n\t\t\tinputs: newInputs,\n\t\t});\n\t\tthis.checkRefreshCallback(newInputs);\n\t\tif (this.props.handleFile) {\n\t\t\tawait this.props.handleFile(file, newInputs);\n\t\t\tthis.checkSetDisplayValue(input, \"\");\n\t\t} else {\n\t\t\ttry {\n\t\t\t\tlet uploadFile = file;\n\t\t\t\tconst url = await fileActions.uploadMediaAsync(\n\t\t\t\t\tuploadFile,\n\t\t\t\t\tuploadFile.name,\n\t\t\t\t);\n\t\t\t\tthis.checkSetDisplayValue(input, url);\n\t\t\t} catch (error) {\n\t\t\t\tconsole.log(\"handleFile error\", error);\n\t\t\t\tthis.setState({ uploadingFile: false });\n\t\t\t}\n\t\t}\n\t};\n\n\tremoveFile(input) {\n\t\tconst newState = {};\n\n\t\tinput.value = \"\";\n\n\t\tconst newInputs = _.clone(this.state.inputs);\n\n\t\tif (newInputs.length > 1) {\n\t\t\tnewInputs.splice(newInputs.indexOf(input), 1);\n\t\t\tif (\n\t\t\t\tnewInputs.length === this.props.limit - 1 &&\n\t\t\t\t!_.isEmpty(newInputs[newInputs.length - 1].value)\n\t\t\t) {\n\t\t\t\t// was full\n\t\t\t\tnewInputs.push(DEFAULT_INPUT);\n\t\t\t}\n\t\t}\n\n\t\tnewState.inputs = newInputs;\n\n\t\tthis.setState(newState);\n\t\t// for single item\n\t\tif (!_.isUndefined(this.props.refreshCallback)) {\n\t\t\tthis.props.refreshCallback();\n\t\t}\n\t}\n\n\trenderInput(input, index, inputsLength) {\n\t\tconst renderContent = () => {\n\t\t\tif (this.props.onlyAllowUpload) {\n\t\t\t\treturn null;\n\t\t\t}\n\t\t\tif (!_.isEmpty(input.value) && !input.uploadingFile) {\n\t\t\t\treturn (\n\t\t\t\t\t<div className=\"imageInput_simpleContainer\">\n\t\t\t\t\t\t<div\n\t\t\t\t\t\t\tclassName=\"imageInput_image\"\n\t\t\t\t\t\t\tstyle={{\n\t\t\t\t\t\t\t\t...this.props.style,\n\t\t\t\t\t\t\t\theight:\n\t\t\t\t\t\t\t\t\tthis.props.style && this.props.style.height\n\t\t\t\t\t\t\t\t\t\t? this.props.style.height - 62\n\t\t\t\t\t\t\t\t\t\t: 80,\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<img\n\t\t\t\t\t\t\t\tsrc=\"https://s3-ap-southeast-2.amazonaws.com/pluss60-dev-media/pluss/document.svg\"\n\t\t\t\t\t\t\t\tclassName=\"imageInput_icon\"\n\t\t\t\t\t\t\t\talt=\"file\"\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t<p className=\"imageInput_text\">{getFileName(input.value)}</p>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t\t<Dropzone\n\t\t\t\t\t\t\taccept={this.getAccept()}\n\t\t\t\t\t\t\tonDrop={(files) => this.onDrop(files, true)}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{(state) => {\n\t\t\t\t\t\t\t\tconst { getRootProps, getInputProps } = state;\n\t\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t\t<div style={{ padding: 10 }} {...getRootProps()}>\n\t\t\t\t\t\t\t\t\t\t<input {...getInputProps()} />\n\t\t\t\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\t\t\t\tbuttonType=\"secondary\"\n\t\t\t\t\t\t\t\t\t\t\tclassName=\"imageInput_button\"\n\t\t\t\t\t\t\t\t\t\t\tdisabled\n\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\tChange file\n\t\t\t\t\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t</Dropzone>\n\t\t\t\t\t</div>\n\t\t\t\t);\n\t\t\t}\n\t\t\treturn (\n\t\t\t\t<div className=\"imageInput_image\" style={{ ...this.props.style }}></div>\n\t\t\t);\n\t\t};\n\n\t\tconst renderRemove = () => {\n\t\t\treturn (\n\t\t\t\t!this.props.disableRemove &&\n\t\t\t\t!this.props.disabled &&\n\t\t\t\t(this.props.simpleStyle ? (\n\t\t\t\t\t<Icon\n\t\t\t\t\t\ticon=\"xmark\"\n\t\t\t\t\t\tclassName=\"imageInput_removeIcon\"\n\t\t\t\t\t\tonClick={this.removeFile.bind(this, input)}\n\t\t\t\t\t/>\n\t\t\t\t) : (\n\t\t\t\t\t<p\n\t\t\t\t\t\tclassName=\"imageInput_remove\"\n\t\t\t\t\t\tonClick={this.removeFile.bind(this, input)}\n\t\t\t\t\t>\n\t\t\t\t\t\tremove\n\t\t\t\t\t</p>\n\t\t\t\t))\n\t\t\t);\n\t\t};\n\n\t\tconst renderDownload = () => {\n\t\t\tif (this.props.noDownload) return null;\n\t\t\treturn (\n\t\t\t\t<a href={input.value} target=\"_blank\" className=\"imageInput_download\">\n\t\t\t\t\t<img\n\t\t\t\t\t\talt=\"\"\n\t\t\t\t\t\tclassName=\"dlicon\"\n\t\t\t\t\t\tsrc=\"https://pluss60-dev-uploads.s3.ap-southeast-2.amazonaws.com/uploads/users/ap-southeast-2:efbab8db-136a-446e-b14a-d00af0067841/public/025971e94153af280049fdf3e3/downloadicon.png\"\n\t\t\t\t\t></img>\n\t\t\t\t</a>\n\t\t\t);\n\t\t};\n\n\t\treturn (\n\t\t\t<div\n\t\t\t\tkey={index}\n\t\t\t\tclassName={this.getClassNames(input, inputsLength)}\n\t\t\t\tstyle={{ ...this.props.style }}\n\t\t\t>\n\t\t\t\t<Dropzone accept={this.getAccept()} onDrop={this.onDrop}>\n\t\t\t\t\t{(state) => {\n\t\t\t\t\t\tconst { getRootProps, getInputProps, isDragActive } = state;\n\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t\tclassName={`imageInput_upload ${this.getErrorState()}`}\n\t\t\t\t\t\t\t\tstyle={{ ...this.props.style }}\n\t\t\t\t\t\t\t\t{...getRootProps()}\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t<input {...getInputProps()} />\n\t\t\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t\t\tclassName={`${isDragActive ? \"imageInput_dropZoneActive\" : \"\"}`}\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t{!this.props.simpleStyle && (\n\t\t\t\t\t\t\t\t\t\t<img\n\t\t\t\t\t\t\t\t\t\t\tsrc=\"https://s3-ap-southeast-2.amazonaws.com/pluss60-dev-media/pluss/document.svg\"\n\t\t\t\t\t\t\t\t\t\t\tclassName=\"imageInput_icon\"\n\t\t\t\t\t\t\t\t\t\t\talt=\"file\"\n\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t\t<p className=\"imageInput_helpText\">\n\t\t\t\t\t\t\t\t\t\t{isDragActive ? `Drop file here` : `Drag and drop file or`}\n\t\t\t\t\t\t\t\t\t</p>\n\t\t\t\t\t\t\t\t\t{!isDragActive && (\n\t\t\t\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\t\t\t\tbuttonType=\"secondary\"\n\t\t\t\t\t\t\t\t\t\t\tclassName=\"imageInput_button\"\n\t\t\t\t\t\t\t\t\t\t\tdisabled\n\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t{this.props.multiple ? `Upload files` : `Upload a file`}\n\t\t\t\t\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t);\n\t\t\t\t\t}}\n\t\t\t\t</Dropzone>\n\t\t\t\t<div className=\"imageInput_uploading\" style={{ ...this.props.style }}>\n\t\t\t\t\t<Icon\n\t\t\t\t\t\tclassName=\"spinner imageInput_spinner\"\n\t\t\t\t\t\ticon=\"spinner\"\n\t\t\t\t\t\tfixedWidth\n\t\t\t\t\t\tpulse\n\t\t\t\t\t/>\n\t\t\t\t</div>\n\t\t\t\t{renderContent()}\n\t\t\t\t{renderRemove()}\n\t\t\t\t{renderDownload()}\n\t\t\t</div>\n\t\t);\n\t}\n\n\trenderUploadFiles(inputs) {\n\t\treturn (\n\t\t\t<div\n\t\t\t\tclassName={`imageInputContainer clearfix ${inputs.length === 1 ? \"imageInputContainer-noPadding\" : \"\"} ${\n\t\t\t\t\tthis.props.simpleStyle ? \"imageInputContainer-simple\" : \"\"\n\t\t\t\t}`}\n\t\t\t\tstyle={{ ...this.props.style }}\n\t\t\t>\n\t\t\t\t{inputs.map((input, index) => {\n\t\t\t\t\treturn this.renderInput(input, index, inputs.length);\n\t\t\t\t})}\n\t\t\t</div>\n\t\t);\n\t}\n\n\trenderContent() {\n\t\treturn this.renderUploadFiles(this.state.inputs);\n\t}\n\n\trender() {\n\t\treturn <div style={this.props.containerStyle}>{this.renderContent()}</div>;\n\t}\n}\n\nconst mapStateToProps = () => {\n\treturn {};\n};\n\nconst FileInput = connect(mapStateToProps, {}, null, { forwardRef: true })(\n\tFileInputComponent,\n);\nexport { FileInput };\n","import React, { Component } from \"react\";\nimport _ from \"lodash\";\nimport Textarea from \"react-textarea-autosize\";\n\nclass GenericInput extends Component {\n\tcomponentDidUpdate(prevProps, prevState) {\n\t\tif (!_.isUndefined(this.props.autofocus) && this.props.autofocus) {\n\t\t\tthis._input.focus();\n\t\t}\n\t}\n\n\tgetAutoComplete() {\n\t\tif (!_.isUndefined(this.props.autoComplete)) {\n\t\t\treturn this.props.autoComplete ? \"on\" : \"off\";\n\t\t}\n\t\treturn \"off\";\n\t}\n\n\tisValid() {\n\t\tif (\n\t\t\t!_.isUndefined(this.props.isValid) &&\n\t\t\ttypeof this.props.isValid === \"function\"\n\t\t) {\n\t\t\treturn this.props.isValid();\n\t\t}\n\t\treturn this.props.isValid;\n\t}\n\n\tshowError() {\n\t\treturn (\n\t\t\t!_.isUndefined(this.props.showError) &&\n\t\t\t((typeof this.props.showError === \"function\" && this.props.showError()) ||\n\t\t\t\t(typeof this.props.showError === \"boolean\" && this.props.showError))\n\t\t);\n\t}\n\n\tgetClassNames() {\n\t\tlet string = `${this.props.className} genericInputContainer`;\n\t\tif (!_.isUndefined(this.props.disabled) && this.props.disabled) {\n\t\t\tstring += \" genericInput-disabled\";\n\t\t}\n\t\tif (this.props.large) {\n\t\t\tstring += \" genericInput-large\";\n\t\t}\n\t\tif (!_.isUndefined(this.props.type) && this.props.type === \"textarea\") {\n\t\t\tstring += \" genericInput-textarea\";\n\t\t}\n\t\tif (this.isValid()) {\n\t\t\treturn string + \" genericInput-valid\";\n\t\t}\n\t\tif (this.showError()) {\n\t\t\treturn string + \" genericInput-error\";\n\t\t}\n\t\treturn string;\n\t}\n\n\tgetLabelStyle() {\n\t\tconst style = {};\n\t\tif (_.isEmpty(this.props.value) && !this.props.alwaysShowLabel) {\n\t\t\tstyle.opacity = 0;\n\t\t}\n\t\treturn style;\n\t}\n\n\trenderError() {\n\t\tif (this.showError() && !this.isValid()) {\n\t\t\treturn (\n\t\t\t\t<div className={\"fieldLabel fieldLabel-warning\"}>\n\t\t\t\t\t{this.props.errorMessage ? this.props.errorMessage : \"Required\"}\n\t\t\t\t</div>\n\t\t\t);\n\t\t}\n\t\treturn null;\n\t}\n\trenderHelp() {\n\t\tif (!_.isEmpty(this.props.help)) {\n\t\t\treturn <div className=\"genericInput-help\">{this.props.help}</div>;\n\t\t}\n\t\treturn null;\n\t}\n\n\trenderInput() {\n\t\tif (!_.isUndefined(this.props.inputComponent)) {\n\t\t\treturn (\n\t\t\t\t<div style={{ ...styles.row, alignItems: \"flex-start\" }}>\n\t\t\t\t\t{this.props.isRequired && <div className=\"inputRequired \" />}\n\t\t\t\t\t{this.props.inputComponent}\n\t\t\t\t\t{this.props.rightContent}\n\t\t\t\t</div>\n\t\t\t);\n\t\t}\n\t\tif (!_.isUndefined(this.props.type) && this.props.type === \"textarea\") {\n\t\t\t// Render expandable text area\n\t\t\treturn (\n\t\t\t\t<div style={{ ...styles.row, alignItems: \"flex-start\" }}>\n\t\t\t\t\t{this.props.isRequired && <div className=\"inputRequired \" />}\n\t\t\t\t\t<Textarea\n\t\t\t\t\t\tid={this.props.id}\n\t\t\t\t\t\tplaceholder={\n\t\t\t\t\t\t\t!_.isUndefined(this.props.placeholder)\n\t\t\t\t\t\t\t\t? this.props.placeholder\n\t\t\t\t\t\t\t\t: this.props.label\n\t\t\t\t\t\t}\n\t\t\t\t\t\ttype={!_.isUndefined(this.props.type) ? this.props.type : \"text\"}\n\t\t\t\t\t\tclassName={`genericInput ${this.props.inputClass}`}\n\t\t\t\t\t\tvalue={this.props.value || \"\"}\n\t\t\t\t\t\tonChange={this.props.onChange}\n\t\t\t\t\t\tonKeyPress={this.props.onKeyPress || this.props.onEnter}\n\t\t\t\t\t\tonKeyDown={this.props.onKeyDown}\n\t\t\t\t\t\tstyle={{ ...this.props.inputStyle }}\n\t\t\t\t\t\treadOnly={\n\t\t\t\t\t\t\t!_.isUndefined(this.props.readOnly) ? this.props.readOnly : false\n\t\t\t\t\t\t}\n\t\t\t\t\t\tdisabled={\n\t\t\t\t\t\t\t!_.isUndefined(this.props.disabled) ? this.props.disabled : false\n\t\t\t\t\t\t}\n\t\t\t\t\t\tautoComplete={this.getAutoComplete()}\n\t\t\t\t\t\tmaxLength={this.props.maxLength}\n\t\t\t\t\t\tonFocus={this.props.onFocus}\n\t\t\t\t\t\tonBlur={this.props.onBlur}\n\t\t\t\t\t/>\n\t\t\t\t\t{this.props.rightContent}\n\t\t\t\t</div>\n\t\t\t);\n\t\t}\n\t\t// Render default input\n\t\treturn (\n\t\t\t<div style={{ ...styles.row, ...this.props.textWrapperStyle }}>\n\t\t\t\t{this.props.isRequired && <div className=\"inputRequired \" />}\n\t\t\t\t<input\n\t\t\t\t\tref={(c) => (this._input = c)}\n\t\t\t\t\tid={this.props.id}\n\t\t\t\t\tplaceholder={\n\t\t\t\t\t\t!_.isUndefined(this.props.placeholder)\n\t\t\t\t\t\t\t? this.props.placeholder\n\t\t\t\t\t\t\t: this.props.label\n\t\t\t\t\t}\n\t\t\t\t\ttype={!_.isUndefined(this.props.type) ? this.props.type : \"text\"}\n\t\t\t\t\tclassName={`genericInput ${this.props.inputClass}`}\n\t\t\t\t\tvalue={this.props.value || \"\"}\n\t\t\t\t\tonChange={this.props.onChange}\n\t\t\t\t\tonClick={this.props.onClick}\n\t\t\t\t\tonKeyPress={this.props.onKeyPress || this.props.onEnter}\n\t\t\t\t\tonKeyDown={this.props.onKeyDown}\n\t\t\t\t\tstyle={{ ...this.props.inputStyle }}\n\t\t\t\t\treadOnly={\n\t\t\t\t\t\t!_.isUndefined(this.props.readOnly) ? this.props.readOnly : false\n\t\t\t\t\t}\n\t\t\t\t\tdisabled={\n\t\t\t\t\t\t!_.isUndefined(this.props.disabled) ? this.props.disabled : false\n\t\t\t\t\t}\n\t\t\t\t\tautoComplete={this.getAutoComplete()}\n\t\t\t\t\tautoFocus={\n\t\t\t\t\t\t!_.isUndefined(this.props.autofocus) ? this.props.autofocus : false\n\t\t\t\t\t}\n\t\t\t\t\tmaxLength={this.props.maxLength}\n\t\t\t\t\tonFocus={this.props.onFocus}\n\t\t\t\t\tonBlur={this.props.onBlur}\n\t\t\t\t/>\n\t\t\t\t{this.props.rightContent}\n\t\t\t</div>\n\t\t);\n\t}\n\n\trender() {\n\t\treturn (\n\t\t\t<div className={this.getClassNames()} style={{ ...this.props.style }}>\n\t\t\t\t<div\n\t\t\t\t\tstyle={{\n\t\t\t\t\t\t...styles.row,\n\t\t\t\t\t\tmarginBottom: 0,\n\t\t\t\t\t\tjustifyContent: \"space-between\",\n\t\t\t\t\t}}\n\t\t\t\t>\n\t\t\t\t\t{!_.isUndefined(this.props.label) && (\n\t\t\t\t\t\t<div className=\"fieldLabel\" style={this.getLabelStyle()}>\n\t\t\t\t\t\t\t{this.props.label}\n\t\t\t\t\t\t</div>\n\t\t\t\t\t)}\n\t\t\t\t\t{this.renderError()}\n\t\t\t\t</div>\n\t\t\t\t{/* Render either generic input or large text area */}\n\t\t\t\t{this.renderInput()}\n\t\t\t\t{/* Render bottom help info */}\n\t\t\t\t{this.renderHelp()}\n\t\t\t</div>\n\t\t);\n\t}\n}\n\nconst styles = {\n\trow: {\n\t\tdisplay: \"flex\",\n\t\tflexDirection: \"row\",\n\t\t// marginBottom: 8,\n\t\talignItems: \"center\",\n\t},\n};\n\nexport { GenericInput };\n","import React, { Component } from \"react\";\nimport { withRouter } from \"react-router\";\nimport { connect } from \"react-redux\";\nimport { setNavData } from \"../actions\";\nimport { Button } from \"./Button\";\n\nclass Header extends Component {\n\tgetHomeLink() {\n\t\tthis.props.history.replace(\"/\");\n\t}\n\n\tgoToHelpGuide = () => {\n\t\twindow.open(\"https://www.plusscommunities.com/user-guide\", \"_blank\");\n\t};\n\n\ttoggleSideMenu = () => {\n\t\tthis.props.setNavData({ isSideMenuOpen: !this.props.isSideMenuOpen });\n\t};\n\n\trenderRight() {\n\t\tif (this.props.rightContent) {\n\t\t\treturn this.props.rightContent;\n\t\t}\n\t\treturn (\n\t\t\t<div className=\"flex flex-center\">\n\t\t\t\t<Button\n\t\t\t\t\tbuttonType=\"primary\"\n\t\t\t\t\tonClick={this.goToHelpGuide}\n\t\t\t\t\tnarrow\n\t\t\t\t\tisActive\n\t\t\t\t\tclassName=\"marginRight-16\"\n\t\t\t\t>\n\t\t\t\t\tHelp Guide\n\t\t\t\t</Button>\n\t\t\t\t<div className=\"sideMenuButtonContainer\"></div>\n\t\t\t</div>\n\t\t);\n\t}\n\n\trenderHeader() {\n\t\treturn (\n\t\t\t<div className=\"header\">\n\t\t\t\t<div id=\"leftContainer\" style={{ display: \"inline-block\" }}>\n\t\t\t\t\t{this.props.children && (\n\t\t\t\t\t\t<div\n\t\t\t\t\t\t\tstyle={{\n\t\t\t\t\t\t\t\tdisplay: \"flex\",\n\t\t\t\t\t\t\t\theight: \"100%\",\n\t\t\t\t\t\t\t\talignItems: \"center\",\n\t\t\t\t\t\t\t\tmarginLeft: 16,\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{this.props.children}\n\t\t\t\t\t\t</div>\n\t\t\t\t\t)}\n\t\t\t\t</div>\n\t\t\t\t{this.renderRight()}\n\t\t\t</div>\n\t\t);\n\t}\n\n\trenderSimpleHeader() {\n\t\treturn (\n\t\t\t<div\n\t\t\t\tclassName={`header header-simple ${this.props.fixed ? \"header-fixed\" : \"\"}`}\n\t\t\t>\n\t\t\t\t<div className=\"container1200 flex flex-center\">\n\t\t\t\t\t<img\n\t\t\t\t\t\tclassName=\"header_logo\"\n\t\t\t\t\t\tsrc=\"https://pluss-prd-media.s3-ap-southeast-2.amazonaws.com/assets/plusscommunities-new.svg\"\n\t\t\t\t\t\talt=\"logo\"\n\t\t\t\t\t/>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t);\n\t}\n\n\trenderContainerHeader() {\n\t\treturn (\n\t\t\t<div\n\t\t\t\tclassName={`header header-simple ${this.props.fixed ? \"header-fixed\" : \"\"}`}\n\t\t\t>\n\t\t\t\t{this.props.children}\n\t\t\t</div>\n\t\t);\n\t}\n\n\trender() {\n\t\tif (this.props.simple) {\n\t\t\treturn this.renderSimpleHeader();\n\t\t}\n\t\tif (this.props.onlyContainer) {\n\t\t\treturn this.renderContainerHeader();\n\t\t}\n\t\treturn this.renderHeader();\n\t}\n}\n\nconst mapStateToProps = (state) => {\n\treturn { auth: state.auth, isSideMenuOpen: state.nav.isSideMenuOpen };\n};\n\nlet exportObj = connect(mapStateToProps, { setNavData })(withRouter(Header));\n\nexport { exportObj as Header };\n","import React, { Component } from \"react\";\nimport { withRouter } from \"react-router\";\nimport { connect } from \"react-redux\";\nimport _ from \"lodash\";\nimport { Icon } from \"@plusscommunities/pluss-icons\";\nimport { COLOUR_DUSK_LIGHTER } from \"../colours\";\n\nclass SideNavItem extends Component {\n\tconstructor(props) {\n\t\tsuper(props);\n\t\tthis.state = { url: window.location.pathname };\n\t}\n\n\tUNSAFE_componentWillReceiveProps(nextProps) {\n\t\tif (!_.isUndefined(nextProps.url) && !_.isEmpty(nextProps.url)) {\n\t\t\tthis.setState({ url: nextProps.url });\n\t\t}\n\t}\n\n\tgoTo = () => {\n\t\tif (this.props.onClick) {\n\t\t\treturn this.props.onClick();\n\t\t}\n\t\tif (!_.isUndefined(this.props.onUrlChange)) {\n\t\t\tthis.props.onUrlChange();\n\t\t}\n\t\tthis.props.history.push(this.props.Link);\n\t};\n\n\tgetClassNames() {\n\t\tlet result = \"\";\n\t\tif (this.props.className) {\n\t\t\tresult += ` ${this.props.className}`;\n\t\t}\n\t\tif (this.state.url === this.props.Link || this.props.selected) {\n\t\t\tresult += \" sideNav-item--active\";\n\t\t}\n\t\tif (this.props.subStyle) {\n\t\t\tresult += \" sideNav-item-subStyle\";\n\t\t}\n\t\treturn result;\n\t}\n\n\trenderIcon() {\n\t\tif (!this.props.Icon) {\n\t\t\treturn null;\n\t\t}\n\n\t\treturn (\n\t\t\t<div style={{ ...styles.section, width: 18, marginRight: 16 }}>\n\t\t\t\t<Icon\n\t\t\t\t\tclassName=\"sideNav-item-icon\"\n\t\t\t\t\ticon={this.props.Icon}\n\t\t\t\t\tstyle={this.props.style}\n\t\t\t\t/>\n\t\t\t</div>\n\t\t);\n\t}\n\n\trender() {\n\t\treturn (\n\t\t\t<div\n\t\t\t\tclassName={`sideNav-item${this.getClassNames()}`}\n\t\t\t\tstyle={this.props.style}\n\t\t\t\tonClick={this.goTo}\n\t\t\t>\n\t\t\t\t{!this.props.noSideDot && (\n\t\t\t\t\t<div style={{ ...styles.section, marginRight: 15 }}>\n\t\t\t\t\t\t<div className=\"sideNav-item-dot\" style={styles.sideNavDot} />\n\t\t\t\t\t</div>\n\t\t\t\t)}\n\t\t\t\t{this.renderIcon()}\n\t\t\t\t<div className=\"sideNav-item-text\" style={styles.section}>\n\t\t\t\t\t{this.props.Text}\n\t\t\t\t</div>\n\t\t\t\t{!_.isNil(this.props.count) && this.props.count > 0 && (\n\t\t\t\t\t<div className=\"sideNav-item-extra\">\n\t\t\t\t\t\t<div className=\"count\">\n\t\t\t\t\t\t\t{this.props.count > 99 ? 99 : this.props.count}\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</div>\n\t\t\t\t)}\n\t\t\t</div>\n\t\t);\n\t}\n}\n\nconst styles = {\n\tsection: {\n\t\tdisplay: \"flex\",\n\t\talignItems: \"center\",\n\t\tminHeight: 22,\n\t},\n\tsideNavDot: {\n\t\twidth: 5,\n\t\theight: 5,\n\t\tborderRadius: 5,\n\t},\n};\n\nlet exportObj = connect(null, {})(withRouter(SideNavItem));\n\nexport { exportObj as SideNavItem };\n","import React, { PureComponent } from \"react\";\nimport _ from \"lodash\";\nimport { connect } from \"react-redux\";\nimport { setNavData } from \"../actions\";\nimport { SideNavItem } from \"./SideNavItem\";\nimport { Button } from \"./Button\";\nimport { Text } from \"./Text\";\n\nclass HubSidebar extends PureComponent {\n\tconstructor(props) {\n\t\tsuper(props);\n\n\t\tthis.state = {\n\t\t\tshowSidebar: false,\n\t\t};\n\t}\n\n\tcomponentDidMount() {\n\t\tthis.props.setNavData({\n\t\t\tcondensedSidebar: true,\n\t\t});\n\t\tsetTimeout(() => {\n\t\t\tthis.setState({\n\t\t\t\tshowSidebar: true,\n\t\t\t});\n\t\t}, 50);\n\t}\n\n\tcomponentWillUnmount() {\n\t\tthis.props.setNavData({\n\t\t\tcondensedSidebar: false,\n\t\t});\n\t\tthis.setState({\n\t\t\tshowSidebar: false,\n\t\t});\n\t}\n\n\trenderButton(item, index) {\n\t\treturn (\n\t\t\t<div key={`button_${index}`} className=\"hubSidebar_newButtonContainer\">\n\t\t\t\t<Button\n\t\t\t\t\tbuttonType={item.buttonType || \"primary\"}\n\t\t\t\t\tisActive\n\t\t\t\t\tleftIcon={item.icon}\n\t\t\t\t\tnarrow\n\t\t\t\t\tonClick={item.onClick}\n\t\t\t\t>\n\t\t\t\t\t{item.text}\n\t\t\t\t</Button>\n\t\t\t</div>\n\t\t);\n\t}\n\n\trenderNewButton(item, index) {\n\t\treturn this.renderButton({ ...item, icon: \"plus\" }, index);\n\t}\n\n\trenderNavItem(item, index) {\n\t\treturn (\n\t\t\t<SideNavItem\n\t\t\t\tText={item.text}\n\t\t\t\tIcon={item.icon}\n\t\t\t\tLink={item.url}\n\t\t\t\tisFontAwesome={item.isFontAwesome}\n\t\t\t\tisSVG={item.isSVG}\n\t\t\t\tkey={`navitem_${index}`}\n\t\t\t\tselected={item.selected}\n\t\t\t\tonClick={item.onClick}\n\t\t\t/>\n\t\t);\n\t}\n\n\trenderSection(section, index) {\n\t\treturn (\n\t\t\t<div className=\"hubSidebar_section\" key={`section_${index}`}>\n\t\t\t\t<Text type=\"h3\" className=\"hubSidebar_sectionTitle\">\n\t\t\t\t\t{section.title}\n\t\t\t\t</Text>\n\t\t\t\t{section.items.map((item, itemIndex) => {\n\t\t\t\t\tswitch (item.type) {\n\t\t\t\t\t\tcase \"button\":\n\t\t\t\t\t\t\treturn this.renderButton(item, itemIndex);\n\t\t\t\t\t\tcase \"newButton\":\n\t\t\t\t\t\t\treturn this.renderNewButton(item, itemIndex);\n\t\t\t\t\t\tcase \"navItem\":\n\t\t\t\t\t\t\treturn this.renderNavItem(item, itemIndex);\n\t\t\t\t\t\tdefault:\n\t\t\t\t\t\t\treturn null;\n\t\t\t\t\t}\n\t\t\t\t})}\n\t\t\t</div>\n\t\t);\n\t}\n\n\trenderHelpGuide = () => {\n\t\tif (!this.props.helpGuide) return null;\n\n\t\tconst { text, url } = this.props.helpGuide;\n\n\t\tconst onHelpGuidePress = () => {\n\t\t\tif (!url) return;\n\t\t\twindow.open(url, \"_blank\");\n\t\t};\n\t\treturn (\n\t\t\t<div className=\"hubSidebar_helpGuideContainer\">\n\t\t\t\t<Button\n\t\t\t\t\tbuttonType=\"outlined\"\n\t\t\t\t\tisActive\n\t\t\t\t\tleftIcon=\"circle-info\"\n\t\t\t\t\tnarrow\n\t\t\t\t\tonClick={onHelpGuidePress}\n\t\t\t\t>\n\t\t\t\t\t{text || \"Help Guide\"}\n\t\t\t\t</Button>\n\t\t\t</div>\n\t\t);\n\t};\n\n\trender() {\n\t\treturn (\n\t\t\t<div\n\t\t\t\tclassName={`hubSidebar${this.state.showSidebar ? \" hubSidebar-show\" : \"\"} ${this.props.className ? this.props.className : \"\"}`}\n\t\t\t\tstyle={this.props.style}\n\t\t\t>\n\t\t\t\t{/* Top Add Button */}\n\t\t\t\t<div className=\"hubSidebar_content\">\n\t\t\t\t\t{/* Title */}\n\t\t\t\t\t{this.props.sections.map((section, i) => {\n\t\t\t\t\t\treturn this.renderSection(section, i);\n\t\t\t\t\t})}\n\t\t\t\t</div>\n\n\t\t\t\t{/* Help Guide Button. */}\n\t\t\t\t{this.renderHelpGuide()}\n\t\t\t</div>\n\t\t);\n\t}\n}\n\nconst mapStateToProps = (state) => {\n\treturn { auth: state.auth, isSideMenuOpen: state.nav.isSideMenuOpen };\n};\n\nlet exportObj = connect(mapStateToProps, { setNavData })(HubSidebar);\n\nexport { exportObj as HubSidebar };\n","import React, { Component } from \"react\";\nimport _ from \"lodash\";\nimport { Icon } from \"@plusscommunities/pluss-icons\";\nimport { Button } from \"./Button\";\nimport { COLOUR_DUSK_LIGHT } from \"../colours\";\n\nclass Popup extends Component {\n\trenderClose() {\n\t\tif (!this.props.onClose) {\n\t\t\treturn null;\n\t\t}\n\t\treturn (\n\t\t\t<Icon\n\t\t\t\tcolour={COLOUR_DUSK_LIGHT}\n\t\t\t\ticon=\"xmark\"\n\t\t\t\tclassName=\"popup_closeIcon\"\n\t\t\t\tonClick={this.props.onClose}\n\t\t\t/>\n\t\t);\n\t}\n\n\trenderTitle() {\n\t\tif (_.isEmpty(this.props.title)) {\n\t\t\treturn null;\n\t\t}\n\t\treturn <p className=\"popup_title\">{this.props.title}</p>;\n\t}\n\n\trenderSubtitle() {\n\t\tif (_.isEmpty(this.props.subtitle)) {\n\t\t\treturn null;\n\t\t}\n\t\treturn <p className=\"popup_subtitle\">{this.props.subtitle}</p>;\n\t}\n\n\trenderButtons() {\n\t\tif (_.isEmpty(this.props.buttons)) {\n\t\t\treturn null;\n\t\t}\n\t\tif (this.props.verticalButtonStack) {\n\t\t\treturn (\n\t\t\t\t<div\n\t\t\t\t\tclassName={`flex flex-1 marginTop-20${this.props.verticalButtonStack ? \" flex-column flex-center\" : \" flex-center-row\"}`}\n\t\t\t\t>\n\t\t\t\t\t{this.props.buttons.map((b, index) => {\n\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\tkey={index}\n\t\t\t\t\t\t\t\tbuttonType={b.type}\n\t\t\t\t\t\t\t\tstyle={{ marginLeft: 8, marginRight: 8, ...b.style }}\n\t\t\t\t\t\t\t\tclassName={b.className}\n\t\t\t\t\t\t\t\tonClick={b.onClick}\n\t\t\t\t\t\t\t\tisActive={b.isActive}\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t{b.loading ? <Icon pulse fixedWidth icon=\"spinner\" /> : b.text}\n\t\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t);\n\t\t\t\t\t})}\n\t\t\t\t</div>\n\t\t\t);\n\t\t}\n\t\treturn (\n\t\t\t<div className=\"popup_buttonSection\">\n\t\t\t\t{this.props.buttons.map((b, index) => {\n\t\t\t\t\treturn (\n\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\tkey={index}\n\t\t\t\t\t\t\tbuttonType={b.type}\n\t\t\t\t\t\t\tstyle={{ marginLeft: 16, ...b.style }}\n\t\t\t\t\t\t\tbuttonStyle={b.buttonStyle}\n\t\t\t\t\t\t\tclassName={b.className}\n\t\t\t\t\t\t\tonClick={b.onClick}\n\t\t\t\t\t\t\tisActive={b.isActive}\n\t\t\t\t\t\t\tleftIcon={b.leftIcon}\n\t\t\t\t\t\t\tleftIconType={b.leftIconType}\n\t\t\t\t\t\t\tleftIconColour={b.leftIconColour}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{b.loading ? <Icon pulse fixedWidth icon=\"spinner\" /> : b.text}\n\t\t\t\t\t\t</Button>\n\t\t\t\t\t);\n\t\t\t\t})}\n\t\t\t</div>\n\t\t);\n\t}\n\n\trender() {\n\t\treturn (\n\t\t\t<div className={`popup ${this.props.className}`}>\n\t\t\t\t<div\n\t\t\t\t\tclassName={`popup_box ${this.props.boxClasses}`}\n\t\t\t\t\tstyle={{\n\t\t\t\t\t\tmaxHeight: this.props.maxHeight ? this.props.maxHeight : \"auto\",\n\t\t\t\t\t\tmaxWidth: this.props.maxWidth ? this.props.maxWidth : \"auto\",\n\t\t\t\t\t\tminHeight: this.props.minHeight ? this.props.minHeight : \"auto\",\n\t\t\t\t\t\tminWidth: this.props.minWidth ? this.props.minWidth : \"auto\",\n\t\t\t\t\t}}\n\t\t\t\t>\n\t\t\t\t\t<div\n\t\t\t\t\t\tclassName={`popup_box_inner ${this.props.hasPadding ? \"popup_box-hasPadding\" : \"\"} ${this.props.innerClasses}`}\n\t\t\t\t\t>\n\t\t\t\t\t\t{this.renderClose()}\n\t\t\t\t\t\t{this.props.topContent}\n\t\t\t\t\t\t{this.renderTitle()}\n\t\t\t\t\t\t{this.renderSubtitle()}\n\t\t\t\t\t\t{this.props.children}\n\t\t\t\t\t</div>\n\t\t\t\t\t{this.renderButtons()}\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t);\n\t}\n}\n\nexport { Popup };\n","import React, { Component } from \"react\";\nimport { connect } from \"react-redux\";\nimport _ from \"lodash\";\nimport $ from \"jquery\";\nimport moment from \"moment\";\nimport Dropzone from \"react-dropzone\";\nimport { get1400, getThumb300, isVideo } from \"../helper\";\nimport { fileActions } from \"../apis\";\nimport { validateAccess, getApiError } from \"../session\";\nimport { Popup } from \"./Popup\";\nimport { Button } from \"./Button\";\nimport { GenericInput } from \"./GenericInput\";\nimport { Icon } from \"@plusscommunities/pluss-icons\";\n\nconst DEFAULT_INPUT = {\n\tuploadingImage: false,\n\tvalue: \"\",\n\tdisplayValue: \"\",\n};\n\nclass ImageInputComponent extends Component {\n\tstate = {\n\t\tselectedTab: \"upload\",\n\t\tinputs: [\n\t\t\t{\n\t\t\t\tuploadingImage: false,\n\t\t\t\tvalue: \"\",\n\t\t\t\tdisplayValue: \"\",\n\t\t\t},\n\t\t],\n\t\tlibraryLoadTriggered: false,\n\t\tlibraryLoaded: false,\n\t\timageLibrary: [],\n\t\tloadingFolders: false,\n\t\taddingFolder: false,\n\t\tdeletingFolder: {},\n\t\tdeletingImage: {},\n\t\tfolders: [],\n\t\taddFolderOpen: false,\n\t\taddFolderInput: \"\",\n\t\tselectedFolder: null,\n\t\tsaveErrorMessage: \"\",\n\t};\n\n\tUNSAFE_componentWillMount() {\n\t\tsetTimeout(() => {\n\t\t\tif (this.props.hasDefault) {\n\t\t\t\tthis.setState({\n\t\t\t\t\tinputs: [\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tuploadingImage: false,\n\t\t\t\t\t\t\tvalue: this.props.hasDefault,\n\t\t\t\t\t\t\tdisplayValue: this.props.hasDefault,\n\t\t\t\t\t\t},\n\t\t\t\t\t],\n\t\t\t\t});\n\t\t\t\tif (this.props.refreshCallback) {\n\t\t\t\t\tthis.props.refreshCallback(this.props.hasDefault);\n\t\t\t\t}\n\t\t\t}\n\t\t}, 100);\n\t}\n\n\tcomponentDidMount() {\n\t\tthis.getFolders();\n\t\tthis.getLibrary();\n\t}\n\n\tgetUploading(index) {\n\t\treturn this.state.inputs[index].uploadingImage;\n\t}\n\n\tgetValue() {\n\t\tif (this.props.multiple) {\n\t\t\treturn _.filter(\n\t\t\t\tthis.state.inputs.map((input) => {\n\t\t\t\t\treturn input.value;\n\t\t\t\t}),\n\t\t\t\t(url) => {\n\t\t\t\t\treturn !_.isEmpty(url);\n\t\t\t\t},\n\t\t\t);\n\t\t}\n\t\treturn this.state.inputs[0].value;\n\t}\n\n\tsetValue(val) {\n\t\tif (typeof val === \"string\") {\n\t\t\tthis.setState({\n\t\t\t\tinputs: [\n\t\t\t\t\t{\n\t\t\t\t\t\tuploadingImage: false,\n\t\t\t\t\t\tvalue: val,\n\t\t\t\t\t\tdisplayValue: val,\n\t\t\t\t\t},\n\t\t\t\t],\n\t\t\t});\n\t\t} else {\n\t\t\tconst inputs = [];\n\t\t\t_.forEach(val, (str) => {\n\t\t\t\tinputs.push({\n\t\t\t\t\tuploadingImage: false,\n\t\t\t\t\tvalue: str,\n\t\t\t\t\tdisplayValue: str,\n\t\t\t\t});\n\t\t\t});\n\t\t\tif (!this.props.limit || this.props.limit > inputs.length)\n\t\t\t\tinputs.push(DEFAULT_INPUT);\n\t\t\tthis.setState({ inputs });\n\t\t}\n\t}\n\n\tgetImageStyle(displayValue) {\n\t\tif (_.isEmpty(displayValue)) {\n\t\t\treturn null;\n\t\t}\n\t\tconst image = isVideo(displayValue) ? get1400(displayValue) : displayValue;\n\t\tif (this.props.noCompress) {\n\t\t\treturn { backgroundImage: `url(${image})`, backgroundSize: \"contain\" };\n\t\t}\n\t\treturn { backgroundImage: `url(${getThumb300(image)})` };\n\t}\n\n\tgetAccept = () => {\n\t\tconst accept = {\n\t\t\t\"image/*\": [\".jpeg\", \".png\"],\n\t\t};\n\t\tif (this.props.allowVideo) {\n\t\t\taccept[\"video/*\"] = [\".mp4\"];\n\t\t}\n\t\treturn accept;\n\t};\n\n\tgetContainerClasses() {\n\t\tlet result = this.props.className || \"\";\n\t\tif (this.props.noMenu) {\n\t\t\tresult += \" imageInputOuter-noMenu\";\n\t\t}\n\t\tif (!this.props.multiple) {\n\t\t\tresult += \" imageInputOuter-single\";\n\t\t}\n\t\tif (this.props.grid) {\n\t\t\tresult += \" imageInputOuter-grid\";\n\t\t}\n\t\treturn result;\n\t}\n\n\tgetClassNames(input, inputsLength) {\n\t\tlet classes = \"imageInput\";\n\t\tif (input.uploadingImage) {\n\t\t\tclasses += \" imageInput-uploading\";\n\t\t} else if (!_.isEmpty(input.value) && !this.props.onlyAllowUpload) {\n\t\t\tclasses += \" imageInput-hasImage\";\n\t\t}\n\t\tif (inputsLength === 1) {\n\t\t\tclasses += \" imageInput-only\";\n\t\t}\n\t\treturn classes;\n\t}\n\n\tgetErrorState() {\n\t\tif (!_.isUndefined(this.props.showError) && this.props.showError()) {\n\t\t\treturn \" imageInput_upload--error\";\n\t\t}\n\t\treturn \"\";\n\t}\n\n\trefreshFolders = async () => {\n\t\tconst res = await fileActions.getMediaFolders(this.props.auth.site);\n\t\treturn res.data;\n\t};\n\n\tgetFolders() {\n\t\tthis.setState({ loadingFolders: true }, async () => {\n\t\t\ttry {\n\t\t\t\tconst folders = await this.refreshFolders();\n\t\t\t\tthis.setState({ loadingFolders: false, folders });\n\t\t\t} catch (error) {\n\t\t\t\tconsole.log(\"getFolders - error\", error);\n\t\t\t\tthis.setState({ loadingFolders: false });\n\t\t\t}\n\t\t});\n\t}\n\n\tcheckRefreshCallback = (inputs) => {\n\t\tif (_.isUndefined(this.props.refreshCallback)) {\n\t\t\treturn;\n\t\t}\n\t\tif (!this.props.multiple) {\n\t\t\tconst image = _.find(inputs, (i) => {\n\t\t\t\treturn !i.uploadingImage && !_.isEmpty(i.value);\n\t\t\t});\n\t\t\tthis.props.refreshCallback(image ? image.value : undefined);\n\t\t} else {\n\t\t\tconst images = _.filter(inputs, (i) => {\n\t\t\t\treturn !i.uploadingImage && !_.isEmpty(i.value);\n\t\t\t}).map((i) => {\n\t\t\t\treturn i.value;\n\t\t\t});\n\t\t\tthis.props.refreshCallback(images);\n\t\t}\n\t};\n\n\tparseImagesArray = (images) => {\n\t\treturn _.map(images, (f) => {\n\t\t\tconst uri = typeof f === \"string\" ? f : f.uri;\n\t\t\tconst image1400 = get1400(uri);\n\t\t\treturn {\n\t\t\t\tValue: uri,\n\t\t\t\tThumb: getThumb300(uri),\n\t\t\t\t1400: image1400,\n\t\t\t\tSelected: _.some(\n\t\t\t\t\tthis.state.inputs,\n\t\t\t\t\t(input) => input.value === uri || input.value === image1400,\n\t\t\t\t),\n\t\t\t};\n\t\t});\n\t};\n\n\tgetLibrary() {\n\t\tif (this.state.libraryLoadTriggered) return;\n\n\t\tthis.setState({ libraryLoadTriggered: true }, async () => {\n\t\t\ttry {\n\t\t\t\tconst res = await fileActions.getMediaLibrary();\n\t\t\t\t// console.log('getLibrary', res.data);\n\t\t\t\tthis.setState({\n\t\t\t\t\tlibraryLoaded: true,\n\t\t\t\t\timageLibrary: this.parseImagesArray(res.data),\n\t\t\t\t});\n\t\t\t} catch (error) {\n\t\t\t\tconsole.log(\"getLibrary - error\", error);\n\t\t\t}\n\t\t});\n\t}\n\n\ttoggleLibraryItem(image) {\n\t\tconst newInputs = _.clone(this.state.inputs);\n\t\tif (image.Selected) {\n\t\t\t// Unselelct selected image\n\t\t\tconst index = _.findIndex(newInputs, (input) => {\n\t\t\t\treturn input.value === image.Value || input.value === image[1400];\n\t\t\t});\n\t\t\tif (index !== -1) {\n\t\t\t\tnewInputs.splice(index, 1);\n\t\t\t}\n\t\t\timage.Selected = false;\n\t\t} else {\n\t\t\t// Select unselected image\n\t\t\tconst newFile = {\n\t\t\t\tuploadingImage: false,\n\t\t\t\tvalue: image.Value,\n\t\t\t\tdisplayValue: image[1400],\n\t\t\t\tfromLibrary: true,\n\t\t\t};\n\t\t\tif (!this.props.multiple) {\n\t\t\t\tnewInputs[newInputs.length - 1] = newFile;\n\t\t\t\t// Single image selector -> Unselect others\n\t\t\t\tthis.state.imageLibrary.map((i) => (i.Selected = false));\n\t\t\t\tif (this.state.selectedFolder && this.state.selectedFolder.parsedImages)\n\t\t\t\t\tthis.state.selectedFolder.parsedImages.map(\n\t\t\t\t\t\t(i) => (i.Selected = false),\n\t\t\t\t\t);\n\t\t\t\timage.Selected = true;\n\t\t\t} else if (!(this.props.limit && newInputs.length === this.props.limit)) {\n\t\t\t\tnewInputs.splice(newInputs.length - 1, 0, newFile);\n\t\t\t\timage.Selected = true;\n\t\t\t}\n\t\t}\n\n\t\tif (_.isEmpty(newInputs)) newInputs.push(DEFAULT_INPUT);\n\t\tthis.setState({\n\t\t\tinputs: newInputs,\n\t\t\timageLibrary: _.clone(this.state.imageLibrary),\n\t\t\tselectedFolder: this.state.selectedFolder\n\t\t\t\t? _.clone(this.state.selectedFolder)\n\t\t\t\t: undefined,\n\t\t});\n\t\tthis.checkRefreshCallback(newInputs);\n\t}\n\n\taddFolder = () => {\n\t\tthis.setState({ addFolderOpen: true }, () => {\n\t\t\tconst input = document.getElementById(\"addFolderInput\");\n\t\t\tif (input) input.focus();\n\t\t});\n\t};\n\n\tcancelAddStates = {\n\t\taddFolderOpen: false,\n\t\taddFolderInput: \"\",\n\t\tsaveErrorMessage: \"\",\n\t};\n\tcancelAddFolder = () => {\n\t\tthis.setState(this.cancelAddStates);\n\t};\n\n\tsaveFolder = () => {\n\t\tthis.setState({ addingFolder: true }, async () => {\n\t\t\ttry {\n\t\t\t\tawait fileActions.addMediaFolder(\n\t\t\t\t\tthis.props.auth.site,\n\t\t\t\t\tthis.state.addFolderInput,\n\t\t\t\t);\n\t\t\t\tconst folders = await this.refreshFolders();\n\t\t\t\tthis.setState({\n\t\t\t\t\taddingFolder: false,\n\t\t\t\t\tfolders,\n\t\t\t\t\t...this.cancelAddStates,\n\t\t\t\t});\n\t\t\t} catch (error) {\n\t\t\t\tconsole.log(\"addFolder - error\", error);\n\t\t\t\tthis.setState({\n\t\t\t\t\taddingFolder: false,\n\t\t\t\t\tsaveErrorMessage: getApiError(error).message,\n\t\t\t\t});\n\t\t\t}\n\t\t});\n\t};\n\n\tisStockFolder = (folder) => {\n\t\tif (!folder) folder = this.state.selectedFolder;\n\t\treturn folder && _.isNil(folder.RowId);\n\t};\n\n\tselectFolder = (selectedFolder) => {\n\t\tif (!this.isStockFolder(selectedFolder)) {\n\t\t\tselectedFolder.parsedImages = this.parseImagesArray(\n\t\t\t\tselectedFolder.Images,\n\t\t\t);\n\t\t}\n\t\tthis.setState({ selectedFolder });\n\t};\n\n\tselectRoot = () => {\n\t\tthis.getFolders();\n\t\tthis.setState({ selectedFolder: null });\n\t};\n\n\tcheckSetDisplayValue(input, value) {\n\t\tconst displayValue = get1400(value);\n\t\tconst storeValue =\n\t\t\tisVideo(value) || this.props.noCompress ? value : get1400(value);\n\t\t$(\"<img/>\")\n\t\t\t.attr(\"src\", `${displayValue}?t=${moment().valueOf()}`)\n\t\t\t.on(\"load\", () => {\n\t\t\t\t$(this).remove();\n\t\t\t\tinput.value = storeValue;\n\t\t\t\tinput.displayValue = storeValue;\n\t\t\t\tinput.uploadingImage = false;\n\t\t\t\tconst newInputs = _.clone(this.state.inputs);\n\t\t\t\tthis.setState({ inputs: newInputs }, () => {\n\t\t\t\t\tconst { selectedTab, selectedFolder } = this.state;\n\t\t\t\t\tif (selectedTab === \"library\" && selectedFolder) {\n\t\t\t\t\t\t// Uploading to a user folder\n\t\t\t\t\t\tconst { RowId, Images } = selectedFolder;\n\t\t\t\t\t\tconst images = [...Images, value];\n\t\t\t\t\t\tfileActions\n\t\t\t\t\t\t\t.addImagesToFolder(RowId, this.props.auth.site, [value])\n\t\t\t\t\t\t\t.catch((error) => {\n\t\t\t\t\t\t\t\tconsole.log(\"addImagesToFolder error\", error);\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\tselectedFolder.Images = images;\n\t\t\t\t\t\tselectedFolder.parsedImages = this.parseImagesArray(images);\n\t\t\t\t\t\tthis.setState({ selectedFolder: _.clone(selectedFolder) });\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t\tthis.checkRefreshCallback(newInputs);\n\t\t\t})\n\t\t\t.on(\"error\", () => {\n\t\t\t\t$(this).remove();\n\t\t\t\tsetTimeout(() => {\n\t\t\t\t\tthis.checkSetDisplayValue(input, value);\n\t\t\t\t}, 200);\n\t\t\t});\n\t}\n\n\tonDrop = (files, fromLibrary = false) => {\n\t\tif (this.props.multiple) {\n\t\t\tconst newInputs = _.clone(this.state.inputs);\n\t\t\tfiles.forEach((file) => {\n\t\t\t\tif (this.props.limit && newInputs.length === this.props.limit) {\n\t\t\t\t\t// hit limit - replace last input if it's empty\n\t\t\t\t\tif (_.isEmpty(newInputs[newInputs.length - 1].value)) {\n\t\t\t\t\t\tconst newInput = newInputs[newInputs.length - 1];\n\t\t\t\t\t\tthis.handleFile(newInput, file);\n\t\t\t\t\t}\n\t\t\t\t} else {\n\t\t\t\t\tconst newInput = {\n\t\t\t\t\t\t...DEFAULT_INPUT,\n\t\t\t\t\t\tfromLibrary,\n\t\t\t\t\t};\n\t\t\t\t\tnewInputs.splice(newInputs.length - 1, 0, newInput);\n\t\t\t\t\tthis.handleFile(newInput, file);\n\t\t\t\t}\n\t\t\t});\n\t\t\tthis.setState({\n\t\t\t\tinputs: newInputs,\n\t\t\t});\n\t\t\tthis.checkRefreshCallback(newInputs);\n\t\t} else {\n\t\t\tthis.handleFile(this.state.inputs[0], files[0]);\n\t\t}\n\t};\n\n\thandleFile = async (input, file) => {\n\t\tif (!file || input.uploadingImage) {\n\t\t\treturn;\n\t\t}\n\t\tinput.uploadingImage = true;\n\t\tconst newInputs = _.clone(this.state.inputs);\n\t\tthis.setState({\n\t\t\tinputs: newInputs,\n\t\t});\n\t\tthis.checkRefreshCallback(newInputs);\n\t\ttry {\n\t\t\tlet uploadFile = file;\n\t\t\tif (!isVideo(file.name)) {\n\t\t\t\tuploadFile = await fileActions.compressImage(\n\t\t\t\t\tfile,\n\t\t\t\t\tthis.props.maxSize || 1400,\n\t\t\t\t\tthis.props.quality || 0.8,\n\t\t\t\t\tthis.props.noCompress || false,\n\t\t\t\t);\n\t\t\t}\n\t\t\tconst url = await fileActions.uploadMediaAsync(\n\t\t\t\tuploadFile,\n\t\t\t\tuploadFile.name,\n\t\t\t);\n\t\t\tthis.checkSetDisplayValue(input, url);\n\t\t} catch (error) {\n\t\t\tconsole.log(\"handleFile error\", error);\n\t\t\tthis.setState({ uploadingImage: false });\n\t\t}\n\t};\n\n\tremoveImage(input) {\n\t\tconst newState = {};\n\t\tif (input.fromLibrary) {\n\t\t\tinput.fromLibrary = undefined;\n\t\t\tconst selectedFolderImages = this.state.selectedFolder\n\t\t\t\t? this.state.selectedFolder.parsedImages\n\t\t\t\t: [];\n\t\t\tconst imageList = this.isStockFolder()\n\t\t\t\t? this.state.imageLibrary\n\t\t\t\t: selectedFolderImages;\n\t\t\tconst libraryFile = _.find(imageList, (f) => {\n\t\t\t\treturn f.Value === input.value || f[1400] === input.value;\n\t\t\t});\n\t\t\tif (libraryFile) {\n\t\t\t\tlibraryFile.Selected = false;\n\t\t\t\tif (this.isStockFolder()) {\n\t\t\t\t\tnewState.imageLibrary = _.clone(this.state.imageLibrary);\n\t\t\t\t} else {\n\t\t\t\t\tnewState.selectedFolder = this.state.selectedFolder\n\t\t\t\t\t\t? _.clone(this.state.selectedFolder)\n\t\t\t\t\t\t: undefined;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\tinput.value = \"\";\n\t\tinput.displayValue = \"\";\n\n\t\tconst newInputs = _.clone(this.state.inputs);\n\n\t\tif (newInputs.length > 1) {\n\t\t\tnewInputs.splice(newInputs.indexOf(input), 1);\n\t\t\tif (\n\t\t\t\tnewInputs.length === this.props.limit - 1 &&\n\t\t\t\t!_.isEmpty(newInputs[newInputs.length - 1].value)\n\t\t\t) {\n\t\t\t\t// was full\n\t\t\t\tnewInputs.push(DEFAULT_INPUT);\n\t\t\t}\n\t\t}\n\n\t\tnewState.inputs = newInputs;\n\n\t\tthis.setState(newState);\n\n\t\tthis.checkRefreshCallback(newInputs);\n\t}\n\n\tselectTab(tab) {\n\t\tthis.setState({ selectedTab: tab });\n\t}\n\n\thandleChange = (event) => {\n\t\tvar stateChange = {};\n\t\tstateChange[event.target.getAttribute(\"id\")] = event.target.value;\n\t\tthis.setState(stateChange);\n\t};\n\n\tdeleteFolder = (event, folder) => {\n\t\tevent.stopPropagation();\n\n\t\tif (window.confirm(`Are you sure you want to delete ${folder.Name}?`)) {\n\t\t\tconst deletingFolder = { ...this.state.deletingFolder };\n\t\t\tdeletingFolder[folder.RowId] = true;\n\t\t\tthis.setState(\n\t\t\t\t{ deletingFolder: _.clone(deletingFolder), ...this.cancelAddStates },\n\t\t\t\tasync () => {\n\t\t\t\t\ttry {\n\t\t\t\t\t\tawait fileActions.deleteMediaFolder(\n\t\t\t\t\t\t\tfolder.RowId,\n\t\t\t\t\t\t\tthis.props.auth.site,\n\t\t\t\t\t\t);\n\t\t\t\t\t\tconst folders = await this.refreshFolders();\n\t\t\t\t\t\tdeletingFolder[folder.RowId] = false;\n\t\t\t\t\t\tthis.setState({\n\t\t\t\t\t\t\tdeletingFolder: _.clone(deletingFolder),\n\t\t\t\t\t\t\tfolders,\n\t\t\t\t\t\t});\n\t\t\t\t\t} catch (error) {\n\t\t\t\t\t\tconsole.log(\"addFolder - error\", getApiError(error));\n\t\t\t\t\t\tdeletingFolder[folder.RowId] = false;\n\t\t\t\t\t\tthis.setState({ deletingFolder: _.clone(deletingFolder) });\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t);\n\t\t}\n\t};\n\n\tdeleteImage = (event, image) => {\n\t\tif (window.confirm(\"Are you sure you want to delete the image?\")) {\n\t\t\t// Unselect the image first if selected\n\t\t\tif (image.Selected) this.toggleLibraryItem(image);\n\n\t\t\tconst deletingImage = { ...this.state.deletingImage };\n\t\t\tdeletingImage[image.Value] = true;\n\t\t\tthis.setState({ deletingImage: _.clone(deletingImage) }, async () => {\n\t\t\t\ttry {\n\t\t\t\t\tconst { selectedFolder } = this.state;\n\t\t\t\t\tconst { RowId, Images } = selectedFolder;\n\t\t\t\t\tawait fileActions.deleteImagesFromFolder(\n\t\t\t\t\t\tRowId,\n\t\t\t\t\t\tthis.props.auth.site,\n\t\t\t\t\t\t[image.Value],\n\t\t\t\t\t);\n\t\t\t\t\tconst images = Images.filter((i) => i.uri !== image.Value);\n\t\t\t\t\tselectedFolder.Images = images;\n\t\t\t\t\tselectedFolder.parsedImages = this.parseImagesArray(images);\n\t\t\t\t\tdeletingImage[image.Value] = false;\n\t\t\t\t\tthis.setState({\n\t\t\t\t\t\tdeletingImage: _.clone(deletingImage),\n\t\t\t\t\t\tselectedFolder: _.clone(selectedFolder),\n\t\t\t\t\t});\n\t\t\t\t} catch (error) {\n\t\t\t\t\tconsole.log(\"deleteImage - error\", getApiError(error));\n\t\t\t\t\tdeletingImage[image.Value] = false;\n\t\t\t\t\tthis.setState({ deletingImage: _.clone(deletingImage) });\n\t\t\t\t}\n\t\t\t});\n\t\t}\n\t};\n\n\tcanManageLibrary = () => {\n\t\treturn validateAccess(\n\t\t\tthis.props.auth.site,\n\t\t\t\"manageImageLibrary\",\n\t\t\tthis.props.auth,\n\t\t);\n\t};\n\n\tcanAddImageToLibrary = () => {\n\t\treturn validateAccess(\n\t\t\tthis.props.auth.site,\n\t\t\t\"addToImageLibrary\",\n\t\t\tthis.props.auth,\n\t\t);\n\t};\n\n\trenderInput(input, index, inputsLength) {\n\t\tconst renderContent = () => {\n\t\t\tif (this.props.onlyAllowUpload) {\n\t\t\t\treturn null;\n\t\t\t}\n\t\t\tif (isVideo(input.displayValue)) {\n\t\t\t\treturn (\n\t\t\t\t\t<video\n\t\t\t\t\t\tclassName=\"imageInput_image\"\n\t\t\t\t\t\tstyle={this.props.style}\n\t\t\t\t\t\tcontrols\n\t\t\t\t\t\tsrc={input.displayValue}\n\t\t\t\t\t/>\n\t\t\t\t);\n\t\t\t}\n\t\t\tif (\n\t\t\t\tthis.props.simpleStyle &&\n\t\t\t\t!_.isEmpty(input.displayValue) &&\n\t\t\t\t!input.uploadingImage\n\t\t\t) {\n\t\t\t\treturn (\n\t\t\t\t\t<div className=\"imageInput_simpleContainer\">\n\t\t\t\t\t\t<div\n\t\t\t\t\t\t\tclassName=\"imageInput_image\"\n\t\t\t\t\t\t\tstyle={{\n\t\t\t\t\t\t\t\t...this.getImageStyle(input.displayValue),\n\t\t\t\t\t\t\t\t...this.props.style,\n\t\t\t\t\t\t\t\t// height: this.props.style && this.props.style.height ? this.props.style.height : 80,\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<Dropzone\n\t\t\t\t\t\t\t\tdisabled={this.props.disabled}\n\t\t\t\t\t\t\t\taccept={this.getAccept()}\n\t\t\t\t\t\t\t\tonDrop={(files) => this.onDrop(files, true)}\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t{(state) => {\n\t\t\t\t\t\t\t\t\tconst { getRootProps, getInputProps } = state;\n\n\t\t\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t\t\t\t\tclassName=\"imageInput_buttonContainer-simple\"\n\t\t\t\t\t\t\t\t\t\t\t{...getRootProps()}\n\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t<input {...getInputProps()} />\n\t\t\t\t\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\t\t\t\t\tbuttonType=\"secondary\"\n\t\t\t\t\t\t\t\t\t\t\t\tclassName=\"imageInput_button imageInput_button-simple\"\n\t\t\t\t\t\t\t\t\t\t\t\tdisabled\n\t\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t\tChange image\n\t\t\t\t\t\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t</Dropzone>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</div>\n\t\t\t\t);\n\t\t\t}\n\t\t\treturn (\n\t\t\t\t<div\n\t\t\t\t\tclassName=\"imageInput_image\"\n\t\t\t\t\tstyle={{\n\t\t\t\t\t\t...this.getImageStyle(input.displayValue),\n\t\t\t\t\t\t...this.props.style,\n\t\t\t\t\t}}\n\t\t\t\t></div>\n\t\t\t);\n\t\t};\n\n\t\tconst renderRemove = () => {\n\t\t\treturn (\n\t\t\t\t!this.props.disableRemove &&\n\t\t\t\t!this.props.disabled &&\n\t\t\t\t(this.props.simpleStyle ? (\n\t\t\t\t\t<Icon\n\t\t\t\t\t\ticon=\"xmark\"\n\t\t\t\t\t\tclassName=\"imageInput_removeIcon\"\n\t\t\t\t\t\tonClick={this.removeImage.bind(this, input)}\n\t\t\t\t\t/>\n\t\t\t\t) : (\n\t\t\t\t\t<p\n\t\t\t\t\t\tclassName=\"imageInput_remove\"\n\t\t\t\t\t\tonClick={this.removeImage.bind(this, input)}\n\t\t\t\t\t>\n\t\t\t\t\t\tremove\n\t\t\t\t\t</p>\n\t\t\t\t))\n\t\t\t);\n\t\t};\n\n\t\tconst renderDownload = () => {\n\t\t\tif (isVideo(input.displayValue)) return null;\n\t\t\tif (this.props.noDownload) return null;\n\t\t\treturn (\n\t\t\t\t<a href={input.value} target=\"_blank\" className=\"imageInput_download\">\n\t\t\t\t\t<img\n\t\t\t\t\t\talt=\"\"\n\t\t\t\t\t\tclassName=\"dlicon\"\n\t\t\t\t\t\tsrc=\"https://pluss60-dev-uploads.s3.ap-southeast-2.amazonaws.com/uploads/users/ap-southeast-2:efbab8db-136a-446e-b14a-d00af0067841/public/025971e94153af280049fdf3e3/downloadicon.png\"\n\t\t\t\t\t></img>\n\t\t\t\t</a>\n\t\t\t);\n\t\t};\n\n\t\tconst mediaText = this.props.allowVideo\n\t\t\t? \"media\"\n\t\t\t: `image${this.props.multiple ? \"s\" : \"\"}`;\n\t\treturn (\n\t\t\t<div\n\t\t\t\tkey={index}\n\t\t\t\tclassName={this.getClassNames(input, inputsLength)}\n\t\t\t\tstyle={{ ...this.props.style }}\n\t\t\t>\n\t\t\t\t<Dropzone\n\t\t\t\t\tdisabled={this.props.disabled}\n\t\t\t\t\taccept={this.getAccept()}\n\t\t\t\t\tonDrop={this.onDrop}\n\t\t\t\t>\n\t\t\t\t\t{(state) => {\n\t\t\t\t\t\tconst { getRootProps, getInputProps, isDragActive } = state;\n\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t\tstyle={{ ...this.props.style }}\n\t\t\t\t\t\t\t\tclassName={`imageInput_upload ${this.getErrorState()}`}\n\t\t\t\t\t\t\t\t{...getRootProps()}\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t<input {...getInputProps()} />\n\t\t\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t\t\tclassName={`${isDragActive ? \"imageInput_dropZoneActive\" : \"\"} ${\n\t\t\t\t\t\t\t\t\t\tthis.props.horizontalText\n\t\t\t\t\t\t\t\t\t\t\t? \" imageInput_horizontalText\"\n\t\t\t\t\t\t\t\t\t\t\t: \"\"\n\t\t\t\t\t\t\t\t\t}`}\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t{!this.props.simpleStyle && (\n\t\t\t\t\t\t\t\t\t\t<img\n\t\t\t\t\t\t\t\t\t\t\tsrc=\"https://s3-ap-southeast-2.amazonaws.com/pluss60-dev-media/pluss/document.svg\"\n\t\t\t\t\t\t\t\t\t\t\tclassName=\"imageInput_icon\"\n\t\t\t\t\t\t\t\t\t\t\talt=\"file\"\n\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t\t<p className=\"imageInput_helpText\">\n\t\t\t\t\t\t\t\t\t\t{isDragActive\n\t\t\t\t\t\t\t\t\t\t\t? `Drop ${mediaText} here`\n\t\t\t\t\t\t\t\t\t\t\t: `Drag and drop ${mediaText} or`}\n\t\t\t\t\t\t\t\t\t</p>\n\t\t\t\t\t\t\t\t\t{!isDragActive && (\n\t\t\t\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\t\t\t\tbuttonType=\"secondary\"\n\t\t\t\t\t\t\t\t\t\t\tclassName=\"imageInput_button\"\n\t\t\t\t\t\t\t\t\t\t\tdisabled\n\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t{this.props.multiple\n\t\t\t\t\t\t\t\t\t\t\t\t? `Upload ${mediaText}`\n\t\t\t\t\t\t\t\t\t\t\t\t: `Upload an ${mediaText}`}\n\t\t\t\t\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t);\n\t\t\t\t\t}}\n\t\t\t\t</Dropzone>\n\t\t\t\t<div className=\"imageInput_uploading\" style={{ ...this.props.style }}>\n\t\t\t\t\t<Icon\n\t\t\t\t\t\tpulse\n\t\t\t\t\t\tfixedWidth\n\t\t\t\t\t\tclassName=\"spinner imageInput_spinner\"\n\t\t\t\t\t\ticon=\"spinner\"\n\t\t\t\t\t/>\n\t\t\t\t</div>\n\t\t\t\t{renderContent()}\n\t\t\t\t{renderRemove()}\n\t\t\t\t{renderDownload()}\n\t\t\t</div>\n\t\t);\n\t}\n\n\trenderLibraryImage(image, index, allowDelete) {\n\t\t// console.log(image);\n\t\tlet classes = \"imageInput imageInput-hasImage imageInput-libraryImage\";\n\t\tif (image.Selected) {\n\t\t\tclasses += \" imageInput-librarySelected\";\n\t\t}\n\t\tif (\n\t\t\tthis.props.multiple &&\n\t\t\tthis.props.limit &&\n\t\t\tthis.state.inputs.length === this.props.limit\n\t\t) {\n\t\t\tclasses += \" imageInput-libraryDisabled\";\n\t\t}\n\t\treturn (\n\t\t\t<div key={index} className={classes}>\n\t\t\t\t<div\n\t\t\t\t\tclassName=\"imageInput_image\"\n\t\t\t\t\tstyle={{ ...this.getImageStyle(image[1400]) }}\n\t\t\t\t\tonClick={this.toggleLibraryItem.bind(this, image)}\n\t\t\t\t></div>\n\t\t\t\t<div className=\"imageInput_selected\">\n\t\t\t\t\t<Icon className=\"imageInput_selectedIcon\" icon=\"check\" />\n\t\t\t\t</div>\n\t\t\t\t{allowDelete && (\n\t\t\t\t\t<div className=\"imageInput_delete\">\n\t\t\t\t\t\t{this.state.deletingImage[image.Value] ? (\n\t\t\t\t\t\t\t<Icon\n\t\t\t\t\t\t\t\tstyle={styles.saveImageSpinner}\n\t\t\t\t\t\t\t\tfixedWidth\n\t\t\t\t\t\t\t\tpulse\n\t\t\t\t\t\t\t\ticon=\"spinner\"\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t<Icon\n\t\t\t\t\t\t\t\tclassName=\"imageInput_deleteIcon\"\n\t\t\t\t\t\t\t\ticon=\"circle-minus\"\n\t\t\t\t\t\t\t\tonClick={(event) => this.deleteImage(event, image)}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t)}\n\t\t\t\t\t</div>\n\t\t\t\t)}\n\t\t\t</div>\n\t\t);\n\t}\n\n\trenderError() {\n\t\tif (!_.isUndefined(this.props.showError) && this.props.showError()) {\n\t\t\treturn (\n\t\t\t\t<div className={\"fieldLabel fieldLabel-warning\"}>\n\t\t\t\t\t{this.props.errorMessage ? this.props.errorMessage : \"Required\"}\n\t\t\t\t</div>\n\t\t\t);\n\t\t}\n\t\treturn null;\n\t}\n\n\trenderMenu() {\n\t\tif (this.props.noMenu || this.props.disabled) {\n\t\t\treturn null;\n\t\t}\n\t\treturn (\n\t\t\t<div className=\"imageInputMenu\">\n\t\t\t\t<p\n\t\t\t\t\tclassName={`imageInputMenu__option ${this.state.selectedTab === \"upload\" ? \"imageInputMenu__option--selected\" : \"\"}`}\n\t\t\t\t\tonClick={() => {\n\t\t\t\t\t\tthis.selectTab(\"upload\");\n\t\t\t\t\t}}\n\t\t\t\t>\n\t\t\t\t\tUPLOAD\n\t\t\t\t</p>\n\t\t\t\t<p\n\t\t\t\t\tclassName={`imageInputMenu__option ${this.state.selectedTab === \"library\" ? \"imageInputMenu__option--selected\" : \"\"}`}\n\t\t\t\t\tonClick={() => {\n\t\t\t\t\t\tthis.selectTab(\"library\");\n\t\t\t\t\t}}\n\t\t\t\t>\n\t\t\t\t\tLIBRARY\n\t\t\t\t</p>\n\t\t\t</div>\n\t\t);\n\t}\n\n\trenderAddFolder() {\n\t\tconst isSaving = this.state.addingFolder;\n\n\t\tif (this.state.addFolderOpen) {\n\t\t\treturn (\n\t\t\t\t<div className={\"imageFolderContainer\"}>\n\t\t\t\t\t<Icon icon={\"folder\"} className={\"folderIcon\"} />\n\t\t\t\t\t<GenericInput\n\t\t\t\t\t\tid=\"addFolderInput\"\n\t\t\t\t\t\ttype=\"text\"\n\t\t\t\t\t\tplaceholder=\"Enter folder name here\"\n\t\t\t\t\t\tvalue={this.state.addFolderInput}\n\t\t\t\t\t\tonChange={this.handleChange}\n\t\t\t\t\t\tstyle={styles.addFolderInputContainer}\n\t\t\t\t\t\tinputStyle={styles.addFolderInputText}\n\t\t\t\t\t\treadOnly={isSaving}\n\t\t\t\t\t\tshowError={() => !_.isEmpty(this.state.saveErrorMessage)}\n\t\t\t\t\t\terrorMessage={this.state.saveErrorMessage}\n\t\t\t\t\t/>\n\t\t\t\t\t{isSaving ? (\n\t\t\t\t\t\t<div className={\"addControlContainer\"}>\n\t\t\t\t\t\t\t<Icon\n\t\t\t\t\t\t\t\tstyle={styles.saveFolderSpinner}\n\t\t\t\t\t\t\t\ticon=\"spinner\"\n\t\t\t\t\t\t\t\tpulse\n\t\t\t\t\t\t\t\tfixedWidth\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t) : (\n\t\t\t\t\t\t<div className={\"addControlContainer\"}>\n\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\tinline\n\t\t\t\t\t\t\t\tbuttonType=\"secondary\"\n\t\t\t\t\t\t\t\tonClick={this.cancelAddFolder}\n\t\t\t\t\t\t\t\tstyle={styles.addFolderCancel}\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\tCancel\n\t\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\tinline\n\t\t\t\t\t\t\t\tbuttonType=\"primary\"\n\t\t\t\t\t\t\t\tisActive={!_.isEmpty(this.state.addFolderInput)}\n\t\t\t\t\t\t\t\tonClick={this.saveFolder}\n\t\t\t\t\t\t\t\tstyle={styles.addFolderSave}\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\tSave\n\t\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t)}\n\t\t\t\t</div>\n\t\t\t);\n\t\t}\n\t\treturn (\n\t\t\t<div className={\"imageFolderContainer\"} onClick={this.addFolder}>\n\t\t\t\t<Icon icon={\"plus\"} className={\"addIcon\"} />\n\t\t\t\t<div className={\"addText\"}>Add New Folder</div>\n\t\t\t</div>\n\t\t);\n\t}\n\n\trenderFolder(folder, index) {\n\t\tconst timeStamp = moment(folder.Timestamp).format(\"DD MMM, YYYY, h:mma\");\n\t\tconst countText = `${folder.Images ? folder.Images.length : 0} images`;\n\n\t\treturn (\n\t\t\t<div\n\t\t\t\tkey={index}\n\t\t\t\tclassName={\"imageFolderContainer\"}\n\t\t\t\tonClick={this.selectFolder.bind(this, folder)}\n\t\t\t>\n\t\t\t\t<Icon icon={\"folder\"} className={\"folderIcon\"} />\n\t\t\t\t<div className={\"folderTitle\"}>{folder.Name}</div>\n\t\t\t\t{!this.isStockFolder(folder) && (\n\t\t\t\t\t<div className={\"folderAttributeGroup\"}>\n\t\t\t\t\t\t<div className={\"folderAttribute\"}>\n\t\t\t\t\t\t\t{folder.User && folder.User.displayName}\n\t\t\t\t\t\t</div>\n\t\t\t\t\t\t<div className={\"folderAttribute\"} style={{ width: \"130px\" }}>\n\t\t\t\t\t\t\t{timeStamp}\n\t\t\t\t\t\t</div>\n\t\t\t\t\t\t<div\n\t\t\t\t\t\t\tclassName={\"folderAttribute\"}\n\t\t\t\t\t\t\tstyle={{ textAlign: \"right\", paddingRight: \"5px\" }}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{countText}\n\t\t\t\t\t\t</div>\n\t\t\t\t\t\t{this.state.deletingFolder[folder.RowId] ? (\n\t\t\t\t\t\t\t<Icon\n\t\t\t\t\t\t\t\tstyle={styles.saveFolderSpinner}\n\t\t\t\t\t\t\t\ticon=\"spinner\"\n\t\t\t\t\t\t\t\tpulse\n\t\t\t\t\t\t\t\tfixedWidth\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\tthis.canManageLibrary() && (\n\t\t\t\t\t\t\t\t<a onClick={(event) => this.deleteFolder(event, folder)}>\n\t\t\t\t\t\t\t\t\t<Icon style={styles.removeFolderButton} icon=\"circle-minus\" />\n\t\t\t\t\t\t\t\t</a>\n\t\t\t\t\t\t\t)\n\t\t\t\t\t\t)}\n\t\t\t\t\t</div>\n\t\t\t\t)}\n\t\t\t</div>\n\t\t);\n\t}\n\n\trenderFolders() {\n\t\treturn (\n\t\t\t<div className={`imageInputContainer imageInputContainer-library`}>\n\t\t\t\t{this.canAddImageToLibrary() && this.renderAddFolder()}\n\t\t\t\t{this.state.folders.map((folder, index) => {\n\t\t\t\t\treturn this.renderFolder(folder, index);\n\t\t\t\t})}\n\t\t\t</div>\n\t\t);\n\t}\n\n\trenderBreadCrumbs() {\n\t\treturn (\n\t\t\t<div className={\"imageBreadCrumb\"}>\n\t\t\t\t<div className={\"root\"} onClick={this.selectRoot}>\n\t\t\t\t\tLibrary\n\t\t\t\t</div>\n\t\t\t\t<Icon icon={\"angle-left\"} className={\"separator\"} />\n\t\t\t\t<div className={\"folder\"}>{this.state.selectedFolder.Name}</div>\n\t\t\t</div>\n\t\t);\n\t}\n\n\trenderFolderImages() {\n\t\tconst stockFolder = this.isStockFolder();\n\t\tconst canDelete = !stockFolder && this.canManageLibrary();\n\t\tconst uploadingImages = this.state.inputs.filter((i) => i.uploadingImage);\n\t\tconst mediaText = this.props.allowVideo\n\t\t\t? \"media\"\n\t\t\t: `image${this.props.multiple ? \"s\" : \"\"}`;\n\n\t\treturn (\n\t\t\t<div\n\t\t\t\tclassName={`imageInputContainer imageInputContainer-library`}\n\t\t\t\tstyle={{ ...this.props.style }}\n\t\t\t>\n\t\t\t\t{this.renderBreadCrumbs()}\n\t\t\t\t{stockFolder ? (\n\t\t\t\t\tthis.state.imageLibrary.map((image, index) => {\n\t\t\t\t\t\treturn this.renderLibraryImage(image, index);\n\t\t\t\t\t})\n\t\t\t\t) : (\n\t\t\t\t\t<div>\n\t\t\t\t\t\t{this.canAddImageToLibrary() && (\n\t\t\t\t\t\t\t<Dropzone\n\t\t\t\t\t\t\t\tdisabled={this.props.disabled}\n\t\t\t\t\t\t\t\taccept={this.getAccept()}\n\t\t\t\t\t\t\t\tonDrop={(files) => this.onDrop(files, true)}\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t{(state) => {\n\t\t\t\t\t\t\t\t\tconst { getRootProps, getInputProps, isDragActive } = state;\n\t\t\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t\t\t\t\tstyle={{ padding: \"15px\" }}\n\t\t\t\t\t\t\t\t\t\t\tclassName={`imageInput_upload folder ${this.getErrorState()}`}\n\t\t\t\t\t\t\t\t\t\t\t{...getRootProps()}\n\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t<input {...getInputProps()} />\n\t\t\t\t\t\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t\t\t\t\t\tclassName={\n\t\t\t\t\t\t\t\t\t\t\t\t\tisDragActive ? \"imageInput_dropZoneActive\" : \"\"\n\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t\t<img\n\t\t\t\t\t\t\t\t\t\t\t\t\tsrc=\"https://s3-ap-southeast-2.amazonaws.com/pluss60-dev-media/pluss/document.svg\"\n\t\t\t\t\t\t\t\t\t\t\t\t\tclassName=\"imageInput_icon\"\n\t\t\t\t\t\t\t\t\t\t\t\t\talt=\"file\"\n\t\t\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t\t\t\t<p className=\"imageInput_helpText\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t{isDragActive\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t? `Drop ${mediaText} here`\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t: `Drag and drop ${mediaText} or`}\n\t\t\t\t\t\t\t\t\t\t\t\t</p>\n\t\t\t\t\t\t\t\t\t\t\t\t{!isDragActive && (\n\t\t\t\t\t\t\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tbuttonType=\"secondary\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tclassName=\"imageInput_button\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tdisabled\n\t\t\t\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t{this.props.multiple\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t? `Upload ${mediaText}`\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t: `Upload an ${mediaText}`}\n\t\t\t\t\t\t\t\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t</Dropzone>\n\t\t\t\t\t\t)}\n\t\t\t\t\t\t{this.state.selectedFolder.parsedImages.map((image, index) => {\n\t\t\t\t\t\t\treturn this.renderLibraryImage(image, index, canDelete);\n\t\t\t\t\t\t})}\n\t\t\t\t\t\t{!_.isNil(uploadingImages) &&\n\t\t\t\t\t\t\tuploadingImages.map((input, index) => {\n\t\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t\t<div key={index} className={this.getClassNames(input)}>\n\t\t\t\t\t\t\t\t\t\t<div className=\"imageInput_uploading\">\n\t\t\t\t\t\t\t\t\t\t\t<Icon\n\t\t\t\t\t\t\t\t\t\t\t\tclassName=\"spinner imageInput_spinner\"\n\t\t\t\t\t\t\t\t\t\t\t\ticon=\"spinner\"\n\t\t\t\t\t\t\t\t\t\t\t\tpulse\n\t\t\t\t\t\t\t\t\t\t\t\tfixedWidth\n\t\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t})}\n\t\t\t\t\t</div>\n\t\t\t\t)}\n\t\t\t</div>\n\t\t);\n\t}\n\n\trenderUploadImages(inputs) {\n\t\treturn (\n\t\t\t<div\n\t\t\t\tclassName={`imageInputContainer ${inputs.length === 1 ? \"imageInputContainer-noPadding\" : \"\"}`}\n\t\t\t\tstyle={{ ...this.props.style }}\n\t\t\t>\n\t\t\t\t{inputs.map((input, index) => {\n\t\t\t\t\treturn this.renderInput(input, index, inputs.length);\n\t\t\t\t})}\n\t\t\t</div>\n\t\t);\n\t}\n\n\trenderContent() {\n\t\treturn this.renderUploadImages(this.state.inputs);\n\t}\n\n\trenderLibraryPopup() {\n\t\tif (this.state.selectedTab === \"upload\") {\n\t\t\treturn null;\n\t\t}\n\t\tlet content = null;\n\t\tif (this.state.selectedFolder) {\n\t\t\tcontent = this.renderFolderImages();\n\t\t} else {\n\t\t\tcontent = this.renderFolders();\n\t\t}\n\t\treturn (\n\t\t\t<Popup\n\t\t\t\tonClose={() => {\n\t\t\t\t\tthis.selectTab(\"upload\");\n\t\t\t\t}}\n\t\t\t\thasPadding\n\t\t\t\tbuttons={[\n\t\t\t\t\t{\n\t\t\t\t\t\ttype: \"primary\",\n\t\t\t\t\t\tonClick: () => {\n\t\t\t\t\t\t\tthis.selectTab(\"upload\");\n\t\t\t\t\t\t},\n\t\t\t\t\t\tisActive: true,\n\t\t\t\t\t\ttext: \"Done\",\n\t\t\t\t\t},\n\t\t\t\t]}\n\t\t\t\ttitle=\"Select images\"\n\t\t\t>\n\t\t\t\t{content}\n\t\t\t</Popup>\n\t\t);\n\t}\n\n\trenderButtons() {\n\t\tif (this.props.noMenu || this.props.disabled) {\n\t\t\treturn null;\n\t\t}\n\t\treturn (\n\t\t\t<div className=\"imageInputRight\">\n\t\t\t\t<Dropzone\n\t\t\t\t\tdisabled={this.props.disabled}\n\t\t\t\t\taccept={this.getAccept()}\n\t\t\t\t\tonDrop={(files) => this.onDrop(files, true)}\n\t\t\t\t>\n\t\t\t\t\t{(state) => {\n\t\t\t\t\t\tconst { getRootProps, getInputProps } = state;\n\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t<div {...getRootProps()} className=\"imageInputRight_button\">\n\t\t\t\t\t\t\t\t<input {...getInputProps()} />\n\t\t\t\t\t\t\t\t<Icon\n\t\t\t\t\t\t\t\t\tclassName=\"imageInputRight_button_icon\"\n\t\t\t\t\t\t\t\t\ticon=\"circle-plus\"\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t<p className=\"imageInputRight_button_text\">Upload File</p>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t);\n\t\t\t\t\t}}\n\t\t\t\t</Dropzone>\n\t\t\t\t<div\n\t\t\t\t\tclassName=\"imageInputRight_button\"\n\t\t\t\t\tonClick={() => {\n\t\t\t\t\t\tthis.selectTab(\"library\");\n\t\t\t\t\t}}\n\t\t\t\t>\n\t\t\t\t\t<Icon className=\"imageInputRight_button_icon\" icon=\"image\" />\n\t\t\t\t\t<p className=\"imageInputRight_button_text\">Image Library</p>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t);\n\t}\n\n\trender() {\n\t\treturn (\n\t\t\t<div\n\t\t\t\tstyle={this.props.containerStyle}\n\t\t\t\tclassName={`imageInputOuter ${this.getContainerClasses()}`}\n\t\t\t>\n\t\t\t\t{this.renderButtons()}\n\t\t\t\t{this.renderContent()}\n\t\t\t\t{this.renderLibraryPopup()}\n\t\t\t</div>\n\t\t);\n\t}\n}\n\nconst styles = {\n\taddFolderInputContainer: {\n\t\tmarginBottom: \"0px\",\n\t\tpaddingRight: \"100px\",\n\t\twidth: \"70%\",\n\t},\n\taddFolderInputText: {\n\t\tpaddingBottom: \"0px\",\n\t},\n\taddFolderCancel: {\n\t\tpaddingLeft: \"8px\",\n\t\tpaddingRight: \"8px\",\n\t\twidth: \"80px\",\n\t\tmarginRight: \"16px\",\n\t},\n\taddFolderSave: {\n\t\tpaddingLeft: \"8px\",\n\t\tpaddingRight: \"8px\",\n\t\twidth: \"80px\",\n\t},\n\tsaveFolderSpinner: {\n\t\tfontSize: \"20px\",\n\t\tmarginLeft: \"16px\",\n\t},\n\tsaveImageSpinner: {\n\t\tfontSize: \"18px\",\n\t},\n\tremoveFolderButton: {\n\t\tfontSize: \"20px\",\n\t\tpadding: \"5px\",\n\t\tmarginLeft: \"16px\",\n\t\tcursor: \"pointer\",\n\t},\n};\n\nconst mapStateToProps = (state) => {\n\treturn {\n\t\tauth: state.auth,\n\t};\n};\n\nconst ImageInput = connect(mapStateToProps, {}, null, { forwardRef: true })(\n\tImageInputComponent,\n);\nexport { ImageInput };\n","import React, { Component } from \"react\";\n\nclass MoreMenu extends Component {\n\trender() {\n\t\treturn (\n\t\t\t<div className=\"moreMenu\">\n\t\t\t\t{this.props.options.map((ev, index) => {\n\t\t\t\t\tif (ev != null) {\n\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t\tclassName=\"moreMenu_option\"\n\t\t\t\t\t\t\t\tkey={ev.key}\n\t\t\t\t\t\t\t\tonClick={ev.onPress}\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t{ev.text}\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t);\n\t\t\t\t\t}\n\t\t\t\t\treturn null;\n\t\t\t\t})}\n\t\t\t</div>\n\t\t);\n\t}\n}\n\nexport { MoreMenu };\n","import React, { Component } from \"react\";\n\nclass OverlayPage extends Component {\n\tconstructor(props) {\n\t\tsuper(props);\n\t\tthis.state = {\n\t\t\twidth: 0,\n\t\t\theight: 0,\n\t\t};\n\t\tthis.updateWindowDimensions = this.updateWindowDimensions.bind(this);\n\t}\n\n\tcomponentDidMount() {\n\t\tthis.updateWindowDimensions();\n\t\twindow.addEventListener(\"resize\", this.updateWindowDimensions);\n\t\t// setTimeout(() => {\n\t\t// this.setState({ opacity: 1 });\n\t\t// }, 100);\n\t}\n\n\tcomponentWillUnmount() {\n\t\twindow.removeEventListener(\"resize\", this.updateWindowDimensions);\n\t}\n\n\tupdateWindowDimensions() {\n\t\tthis.setState({ width: window.innerWidth, height: window.innerHeight });\n\t}\n\n\trenderContent() {\n\t\tif (this.props.fullPage) {\n\t\t\treturn (\n\t\t\t\t<div className=\"overlayPage-full\" style={this.props.fullPageStyle}>\n\t\t\t\t\t{this.props.children}\n\t\t\t\t</div>\n\t\t\t);\n\t\t}\n\t\treturn this.props.children;\n\t}\n\n\trender() {\n\t\treturn (\n\t\t\t<div style={{ ...styles.pageWrapper, ...this.props.style }}>\n\t\t\t\t<div\n\t\t\t\t\tstyle={{\n\t\t\t\t\t\t...styles.backgroundOverlay,\n\t\t\t\t\t\t...this.props.backgroundStyle,\n\t\t\t\t\t}}\n\t\t\t\t/>\n\t\t\t\t{this.renderContent()}\n\t\t\t</div>\n\t\t);\n\t}\n}\n\nconst styles = {\n\tpageWrapper: {\n\t\tposition: \"fixed\",\n\t\tzIndex: 100,\n\t\ttop: 0,\n\t\tleft: 0,\n\t\theight: \"100vh\",\n\t},\n\tbackgroundOverlay: {\n\t\tposition: \"fixed\",\n\t\twidth: \"100vw\",\n\t\theight: \"100vh\",\n\t\tbackgroundColor: \"#3f4264\",\n\t\ttop: 0,\n\t\tleft: 0,\n\t\tzIndex: -1,\n\t},\n};\n\nexport { OverlayPage };\n","import React, { Component } from \"react\";\n\nclass OverlayPageContents extends Component {\n\tconstructor(props) {\n\t\tsuper(props);\n\t\tthis.state = {\n\t\t\topacity: 0,\n\t\t};\n\t}\n\n\tcomponentDidMount() {\n\t\tsetTimeout(() => {\n\t\t\tthis.setState({ opacity: 1 });\n\t\t}, 100);\n\t}\n\n\trender() {\n\t\treturn (\n\t\t\t<div\n\t\t\t\tid={this.props.id}\n\t\t\t\tclassName=\"animateOpacity\"\n\t\t\t\tstyle={{\n\t\t\t\t\t...styles.wrapper,\n\t\t\t\t\theight: this.props.noBottomButtons ? \"100%\" : \"calc(100% - 57px)\",\n\t\t\t\t\topacity: this.state.opacity,\n\t\t\t\t\t...this.props.style,\n\t\t\t\t}}\n\t\t\t>\n\t\t\t\t{this.props.children}\n\t\t\t</div>\n\t\t);\n\t}\n}\n\nconst styles = {\n\twrapper: {\n\t\tclear: \"both\",\n\t\twhiteSpace: \"nowrap\",\n\t\toverflow: \"hidden\",\n\t\toverflowX: \"auto\",\n\t\tfontSize: 0,\n\t\twidth: \"fit-content\",\n\t\tmaxWidth: \"100vw\",\n\t\topacity: 0,\n\t},\n};\n\nexport { OverlayPageContents };\n","import React, { Component } from \"react\";\n\nclass OverlayPageSection extends Component {\n\tgetClassName() {\n\t\tif (this.props.className) {\n\t\t\treturn \"pageSectionWrapper \" + this.props.className;\n\t\t}\n\t\treturn \"pageSectionWrapper\";\n\t}\n\n\trender() {\n\t\treturn (\n\t\t\t<div\n\t\t\t\t{...this.props}\n\t\t\t\tclassName={this.getClassName()}\n\t\t\t\tstyle={{\n\t\t\t\t\t...styles.wrapper,\n\t\t\t\t\t...this.props.style,\n\t\t\t\t}}\n\t\t\t>\n\t\t\t\t{this.props.children}\n\t\t\t</div>\n\t\t);\n\t}\n}\n\nconst styles = {\n\twrapper: {\n\t\t/* height: '100%',\n overflowY: 'auto',\n backgroundColor: '#fff',\n padding: 24,\n display: 'inline-block',\n verticalAlign: 'top' */\n\t},\n};\n\nexport { OverlayPageSection };\n","import React, { Component } from \"react\";\nimport { LINEGREY } from \"../colours\";\n\nclass OverlayPageBottomButtons extends Component {\n\tconstructor(props) {\n\t\tsuper(props);\n\t\tthis.state = {\n\t\t\topacity: 0,\n\t\t};\n\t}\n\n\tcomponentDidMount() {\n\t\tsetTimeout(() => {\n\t\t\tthis.setState({ opacity: 1 });\n\t\t}, 100);\n\t}\n\n\trender() {\n\t\treturn (\n\t\t\t<div\n\t\t\t\tclassName=\"animateOpacity\"\n\t\t\t\tstyle={{\n\t\t\t\t\t...styles.wrapper,\n\t\t\t\t\topacity: this.state.opacity,\n\t\t\t\t\t...this.props.style,\n\t\t\t\t}}\n\t\t\t>\n\t\t\t\t{this.props.children}\n\t\t\t</div>\n\t\t);\n\t}\n}\n\nconst styles = {\n\twrapper: {\n\t\tpadding: 12,\n\t\tpaddingRight: 24,\n\t\twidth: \"100%\",\n\t\tmaxWidth: \"100vw\",\n\t\tbackgroundColor: \"#fff\",\n\t\tborderTop: \"1px solid\",\n\t\tborderTopColor: LINEGREY,\n\t\tdisplay: \"flex\",\n\t\tjustifyContent: \"flex-end\",\n\t},\n};\n\nexport { OverlayPageBottomButtons };\n","import React, { Component } from \"react\";\n\nclass PageTitle extends Component {\n\trender() {\n\t\treturn (\n\t\t\t<p className=\"managingPageTitle\" {...this.props}>\n\t\t\t\t{this.props.children}\n\t\t\t</p>\n\t\t);\n\t}\n}\n\nexport { PageTitle };\n","import React, { Component } from \"react\";\nimport _ from \"lodash\";\n\nclass RadioButton extends Component {\n\tgenerateClassNames(e) {\n\t\tlet string = \"radioButton\";\n\t\tif (this.props.isActive === e) {\n\t\t\tstring = string + \" radioButton--active\";\n\t\t}\n\t\tif (this.props.isSquare) {\n\t\t\tstring = string + \" radioButton--square\";\n\t\t}\n\t\treturn string;\n\t}\n\n\tgenerateWrapperClassNames() {\n\t\tlet string = \"radioButtonWrapper\";\n\t\tif (this.props.disabled) {\n\t\t\tstring = string + \" radioButton--disabled\";\n\t\t}\n\t\tif (this.props.noHoverHighlight) {\n\t\t\tstring = string + \" radioButton--noHoverHighlight\";\n\t\t}\n\t\tif (this.props.wrapperClass) {\n\t\t\tstring = string + this.props.wrapperClass;\n\t\t}\n\t\treturn string;\n\t}\n\n\tgetButtonStyle(e) {\n\t\tconst result = {};\n\t\tif (this.props.highlightColour && this.props.isActive === e) {\n\t\t\tresult.borderColor = this.props.highlightColour;\n\t\t}\n\t\treturn result;\n\t}\n\n\tperformSingleAction(e) {\n\t\tif (this.props.disabled) {\n\t\t\treturn;\n\t\t}\n\t\tthis.props.onChange();\n\t}\n\n\tperformMultiAction(e) {\n\t\tif (this.props.disabled) {\n\t\t\treturn;\n\t\t}\n\t\te.onChange();\n\t}\n\n\trenderLabel() {\n\t\tif (!_.isEmpty(this.props.label)) {\n\t\t\treturn (\n\t\t\t\t<div\n\t\t\t\t\tclassName=\"fieldLabel\"\n\t\t\t\t\tstyle={{ marginBottom: 5, ...this.props.labelStyle }}\n\t\t\t\t>\n\t\t\t\t\t{this.props.label}\n\t\t\t\t</div>\n\t\t\t);\n\t\t}\n\t\treturn null;\n\t}\n\n\trenderSubLabel() {\n\t\tif (!_.isEmpty(this.props.subLabel)) {\n\t\t\treturn (\n\t\t\t\t<div\n\t\t\t\t\tclassName=\"genericInput-help\"\n\t\t\t\t\tstyle={{ marginBottom: 5, ...this.props.subLabelStyle }}\n\t\t\t\t>\n\t\t\t\t\t{this.props.subLabel}\n\t\t\t\t</div>\n\t\t\t);\n\t\t}\n\t\treturn null;\n\t}\n\n\trenderOptions() {\n\t\tif (_.isUndefined(this.props.options) || _.isEmpty(this.props.options)) {\n\t\t\treturn null;\n\t\t}\n\n\t\treturn (\n\t\t\t<div style={{ ...styles.row, ...this.props.rowStyle }}>\n\t\t\t\t{this.props.options.map((e) => {\n\t\t\t\t\treturn (\n\t\t\t\t\t\t<div\n\t\t\t\t\t\t\tclassName={this.generateWrapperClassNames()}\n\t\t\t\t\t\t\tonClick={() => this.performMultiAction(e)}\n\t\t\t\t\t\t\tkey={e.Label}\n\t\t\t\t\t\t\tstyle={{\n\t\t\t\t\t\t\t\t...styles.row,\n\t\t\t\t\t\t\t\tmarginRight: 14,\n\t\t\t\t\t\t\t\t...this.props.buttonStyle,\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t\tclassName={this.generateClassNames(e.Value)}\n\t\t\t\t\t\t\t\tstyle={this.getButtonStyle(e.Value)}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t{e.Label && <span className=\"actionText\">{e.Label}</span>}\n\t\t\t\t\t\t</div>\n\t\t\t\t\t);\n\t\t\t\t})}\n\t\t\t</div>\n\t\t);\n\t}\n\n\trenderHelp() {\n\t\tif (!_.isEmpty(this.props.help)) {\n\t\t\treturn (\n\t\t\t\t<div className=\"genericInput-help\" style={{ marginTop: 4 }}>\n\t\t\t\t\t{this.props.help}\n\t\t\t\t</div>\n\t\t\t);\n\t\t}\n\t\treturn null;\n\t}\n\n\trender() {\n\t\tif (this.props.single) {\n\t\t\treturn (\n\t\t\t\t<div\n\t\t\t\t\tclassName={this.generateWrapperClassNames()}\n\t\t\t\t\tonClick={() => this.performSingleAction()}\n\t\t\t\t\tkey={this.props.val}\n\t\t\t\t\tstyle={this.props.style}\n\t\t\t\t>\n\t\t\t\t\t<div\n\t\t\t\t\t\tclassName={this.generateClassNames(this.props.val)}\n\t\t\t\t\t\tstyle={this.getButtonStyle(this.props.val)}\n\t\t\t\t\t/>\n\t\t\t\t\t{this.renderHelp()}\n\t\t\t\t</div>\n\t\t\t);\n\t\t}\n\t\treturn (\n\t\t\t<div className={this.props.className} style={this.props.style}>\n\t\t\t\t{this.renderLabel()}\n\t\t\t\t{this.renderSubLabel()}\n\t\t\t\t{this.renderOptions()}\n\t\t\t\t{this.renderHelp()}\n\t\t\t</div>\n\t\t);\n\t}\n}\n\nconst styles = {\n\trow: {\n\t\tdisplay: \"flex\",\n\t\tflexDirection: \"row\",\n\t},\n\tcenteredRow: {\n\t\tjustifyContent: \"center\",\n\t},\n};\n\nexport { RadioButton };\n","import React, { Component } from \"react\";\nimport { Icon } from \"@plusscommunities/pluss-icons\";\n\nclass Tag extends Component {\n\trenderLeft() {\n\t\tif (!this.props.leftIcon) {\n\t\t\treturn null;\n\t\t}\n\t\treturn (\n\t\t\t<Icon\n\t\t\t\ticon={this.props.leftIcon}\n\t\t\t\tclassName={`tag_icon tag_icon-left ${this.props.leftClick ? \"tag_icon-clickable\" : \"\"}`}\n\t\t\t\tstyle={this.props.leftIconStyle}\n\t\t\t\tonClick={this.props.leftClick}\n\t\t\t/>\n\t\t);\n\t}\n\n\trenderRight() {\n\t\tif (!this.props.rightIcon) {\n\t\t\treturn null;\n\t\t}\n\t\treturn (\n\t\t\t<Icon\n\t\t\t\ticon={this.props.rightIcon}\n\t\t\t\tclassName={`tag_icon tag_icon-right ${this.props.rightClick ? \"tag_icon-clickable\" : \"\"}`}\n\t\t\t\tstyle={this.props.rightIconStyle}\n\t\t\t\tonClick={this.props.rightClick}\n\t\t\t/>\n\t\t);\n\t}\n\n\trenderText() {\n\t\tif (!this.props.text) {\n\t\t\treturn null;\n\t\t}\n\t\treturn <span className=\"tag_text\">{this.props.text}</span>;\n\t}\n\n\trender() {\n\t\treturn (\n\t\t\t<div\n\t\t\t\tonClick={this.props.onClick}\n\t\t\t\tclassName={`tag ${this.props.onClick ? \"tag-clickable\" : \"\"} ${this.props.className || \"\"} ${\n\t\t\t\t\tthis.props.leftIcon || this.props.rightIcon ? \"tag-hasIcon\" : \"\"\n\t\t\t\t}`}\n\t\t\t\tstyle={this.props.style}\n\t\t\t>\n\t\t\t\t<div className=\"tag_inner\">\n\t\t\t\t\t{this.renderLeft()}\n\t\t\t\t\t<div className={`tag_center ${this.props.centerClass}`}>\n\t\t\t\t\t\t{this.renderText()}\n\t\t\t\t\t\t{this.props.children}\n\t\t\t\t\t</div>\n\t\t\t\t\t{this.renderRight()}\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t);\n\t}\n}\n\nexport { Tag };\n","import React, { Component } from \"react\";\n\nclass StatusButton extends Component {\n\trender() {\n\t\tif (this.props.isActive) {\n\t\t\treturn (\n\t\t\t\t<div\n\t\t\t\t\tclassName=\"tagWrapper tagWrapper--active\"\n\t\t\t\t\tonClick={this.props.deactivate}\n\t\t\t\t>\n\t\t\t\t\t<p className=\"tagWrapper__content tagWrapper__text\">\n\t\t\t\t\t\t{this.props.activeText}\n\t\t\t\t\t</p>\n\t\t\t\t\t<p className=\"tagWrapper__hoverContent tagWrapper__text\">\n\t\t\t\t\t\t{this.props.deactivateText}\n\t\t\t\t\t</p>\n\t\t\t\t</div>\n\t\t\t);\n\t\t}\n\t\treturn (\n\t\t\t<div\n\t\t\t\tclassName=\"tagWrapper tagWrapper--inactive\"\n\t\t\t\tonClick={this.props.activate}\n\t\t\t>\n\t\t\t\t<p className=\"tagWrapper__content tagWrapper__text\">\n\t\t\t\t\t{this.props.inactiveText}\n\t\t\t\t</p>\n\t\t\t\t<p className=\"tagWrapper__hoverContent tagWrapper__text\">\n\t\t\t\t\t{this.props.activateText}\n\t\t\t\t</p>\n\t\t\t</div>\n\t\t);\n\t}\n}\n\nexport { StatusButton };\n","import React, { Component } from \"react\";\nimport { Icon } from \"@plusscommunities/pluss-icons\";\nimport _ from \"lodash\";\nimport { Button } from \"./Button\";\n\nclass SuccessPopup extends Component {\n\tgetBackgroundClasses() {\n\t\treturn this.props.backgroundClose\n\t\t\t? \"successPopupBackground pointer\"\n\t\t\t: \"successPopupBackground\";\n\t}\n\n\trenderButtons() {\n\t\tif (_.isEmpty(this.props.buttons)) return null;\n\n\t\treturn (\n\t\t\t<div className=\"successPopup_buttons\">\n\t\t\t\t{this.props.buttons.map((b, i) => {\n\t\t\t\t\treturn (\n\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\tkey={i}\n\t\t\t\t\t\t\tbuttonClassName=\"successPopup_button\"\n\t\t\t\t\t\t\tbuttonType={b.type}\n\t\t\t\t\t\t\tisActive={!b.inactive}\n\t\t\t\t\t\t\tonClick={b.onClick}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{b.text}\n\t\t\t\t\t\t</Button>\n\t\t\t\t\t);\n\t\t\t\t})}\n\t\t\t</div>\n\t\t);\n\t}\n\n\trenderClose() {\n\t\tif (!this.props.closeAction) {\n\t\t\treturn null;\n\t\t}\n\t\treturn (\n\t\t\t<a\n\t\t\t\tstyle={{ position: \"absolute\", top: 16, right: 16, cursor: \"pointer\" }}\n\t\t\t\tonClick={this.props.closeAction}\n\t\t\t>\n\t\t\t\t<Icon icon=\"xmark\" />\n\t\t\t</a>\n\t\t);\n\t}\n\n\trender() {\n\t\treturn (\n\t\t\t<div className={this.getBackgroundClasses()}>\n\t\t\t\t<div className=\"successPopup\">\n\t\t\t\t\t{this.props.noIcon || (\n\t\t\t\t\t\t<div className=\"successPopup_tick\">\n\t\t\t\t\t\t\t<Icon className=\"successPopup_tick_icon\" icon=\"check\" />\n\t\t\t\t\t\t</div>\n\t\t\t\t\t)}\n\t\t\t\t\t{this.renderClose()}\n\t\t\t\t\t{!_.isEmpty(this.props.text) && (\n\t\t\t\t\t\t<p className=\"successPopup_text\">{this.props.text}</p>\n\t\t\t\t\t)}\n\t\t\t\t\t{this.props.children}\n\t\t\t\t\t{this.renderButtons()}\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t);\n\t}\n}\n\nexport { SuccessPopup };\n","import React, { Component } from \"react\";\nimport { Text } from \"./Text\";\n\nconst getReactions = () => {\n\treturn [\n\t\t{\n\t\t\tkey: \"heart\",\n\t\t\ticon: \"https://pluss60-demo-media.s3-ap-southeast-2.amazonaws.com/assets/emojis/heart.png\",\n\t\t},\n\t\t{\n\t\t\tkey: \"smile\",\n\t\t\ticon: \"https://pluss60-demo-media.s3-ap-southeast-2.amazonaws.com/assets/emojis/smile.png\",\n\t\t},\n\t\t{\n\t\t\tkey: \"sad\",\n\t\t\ticon: \"https://pluss60-demo-media.s3-ap-southeast-2.amazonaws.com/assets/emojis/sad.png\",\n\t\t},\n\t\t{\n\t\t\tkey: \"party\",\n\t\t\ticon: \"https://pluss60-demo-media.s3-ap-southeast-2.amazonaws.com/assets/emojis/party.png\",\n\t\t},\n\t];\n};\n\nclass Reactions extends Component {\n\tstate = {\n\t\treactions: getReactions(),\n\t};\n\n\tgetReaction(key) {\n\t\tif (this.props.reactions) {\n\t\t\tif (!this.props.reactions[key]) {\n\t\t\t\treturn 0;\n\t\t\t}\n\t\t\treturn this.props.reactions[key];\n\t\t}\n\t\tif (!this.props.entity) {\n\t\t\treturn 0;\n\t\t}\n\t\tif (!this.props.entity.Reactions) {\n\t\t\treturn 0;\n\t\t}\n\t\tif (!this.props.entity.Reactions[key]) {\n\t\t\treturn 0;\n\t\t}\n\t\treturn Object.keys(this.props.entity.Reactions[key]).length;\n\t}\n\n\trenderReactions() {\n\t\treturn this.state.reactions.map((r, i) => {\n\t\t\treturn (\n\t\t\t\t<div className=\"polloverview_section\" key={r.key}>\n\t\t\t\t\t<img src={r.icon} className=\"polloverview_iconImage\" alt={r.key} />\n\t\t\t\t\t<div className=\"polloverview_right\">\n\t\t\t\t\t\t<p className=\"polloverview_count\">{this.getReaction(r.key)}</p>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t);\n\t\t});\n\t}\n\n\trender() {\n\t\tif (this.props.compact) {\n\t\t\treturn <div className=\"compactreactions\">{this.renderReactions()}</div>;\n\t\t}\n\t\treturn (\n\t\t\t<div>\n\t\t\t\t<Text type=\"formTitleSmall\" className=\"marginBottom-16\">\n\t\t\t\t\tReactions\n\t\t\t\t</Text>\n\t\t\t\t<div className=\"polloverview\">{this.renderReactions()}</div>\n\t\t\t</div>\n\t\t);\n\t}\n}\n\nexport { Reactions };\n","import React, { PureComponent } from \"react\";\nimport { DropdownButton, DropdownItem } from \"react-bootstrap\";\nimport _ from \"lodash\";\nimport moment from \"moment\";\nimport { getAnalyticsFilterOptions } from \"../analytics\";\nimport { GenericInput } from \"./GenericInput\";\nimport { DatePicker } from \"./DatePicker\";\n\nclass AnalyticsFilter extends PureComponent {\n\tconstructor(props) {\n\t\tsuper(props);\n\t\tconst filterOptions = getAnalyticsFilterOptions();\n\t\tconst selectedFilter = this.props.defaultFilter || filterOptions[1];\n\n\t\tthis.state = {\n\t\t\tfilterOptions,\n\t\t\tselectedFilter,\n\t\t\tdateRangeText: \"Select date range\",\n\t\t\tstartDate: moment(this.props.defaultStart),\n\t\t\tendDate: moment(this.props.defaultEnd),\n\t\t\tcalendarVisible: true,\n\t\t};\n\t}\n\n\trenderOptions = () => {\n\t\treturn this.state.filterOptions.map((ev) => {\n\t\t\tif (\n\t\t\t\tthis.props.hideOptions &&\n\t\t\t\t_.includes(this.props.hideOptions, ev.dayCount)\n\t\t\t) {\n\t\t\t\treturn null;\n\t\t\t}\n\t\t\treturn (\n\t\t\t\t<DropdownItem\n\t\t\t\t\tkey={ev.dayCount}\n\t\t\t\t\teventKey={ev.dayCount}\n\t\t\t\t\tactive={this.state.selectedFilter === ev}\n\t\t\t\t>\n\t\t\t\t\t{ev.text}\n\t\t\t\t</DropdownItem>\n\t\t\t);\n\t\t});\n\t};\n\n\tselectFilter = (key) => {\n\t\tconst selectedFilter = _.find(this.state.filterOptions, (o) => {\n\t\t\treturn o.dayCount === key;\n\t\t});\n\t\tthis.setState(\n\t\t\t{\n\t\t\t\tselectedFilter,\n\t\t\t\tdateRangeText: \"Select date range\",\n\t\t\t\tstartDate: moment(),\n\t\t\t\tendDate: moment(),\n\t\t\t\tcalendarVisible: true,\n\t\t\t},\n\t\t\t() => {\n\t\t\t\tthis.props.filterChanged(selectedFilter);\n\t\t\t},\n\t\t);\n\t};\n\n\tgetDateRangeText = (start, end) => {\n\t\treturn `${moment(start).format(\"DD/MM/YYYY\")} to ${moment(end).format(\"DD/MM/YYYY\")}`;\n\t};\n\n\ttoggleDateSelectors = () => {\n\t\tthis.setState({ calendarVisible: !this.state.calendarVisible });\n\t};\n\n\tstartDateChanged = (date) => {\n\t\tif (moment(date).isSameOrBefore(this.state.endDate)) {\n\t\t\tthis.setState(\n\t\t\t\t{\n\t\t\t\t\tstartDate: date,\n\t\t\t\t\tdateRangeText: this.getDateRangeText(date, this.state.endDate),\n\t\t\t\t},\n\t\t\t\t() => {\n\t\t\t\t\tthis.props.filterDateRangeChanged(\n\t\t\t\t\t\tthis.state.startDate,\n\t\t\t\t\t\tthis.state.endDate,\n\t\t\t\t\t);\n\t\t\t\t},\n\t\t\t);\n\t\t}\n\t};\n\n\tendDateChanged = (date) => {\n\t\tif (moment(date).isSameOrAfter(this.state.startDate)) {\n\t\t\tthis.setState(\n\t\t\t\t{\n\t\t\t\t\tendDate: date,\n\t\t\t\t\tdateRangeText: this.getDateRangeText(this.state.startDate, date),\n\t\t\t\t},\n\t\t\t\t() => {\n\t\t\t\t\tthis.props.filterDateRangeChanged(\n\t\t\t\t\t\tthis.state.startDate,\n\t\t\t\t\t\tthis.state.endDate,\n\t\t\t\t\t);\n\t\t\t\t},\n\t\t\t);\n\t\t}\n\t};\n\n\trender() {\n\t\treturn (\n\t\t\t<>\n\t\t\t\t<div className=\"analyticsFilter__dropDown\">\n\t\t\t\t\t<DropdownButton\n\t\t\t\t\t\tid=\"secondLevelSort\"\n\t\t\t\t\t\tbsSize=\"xsmall\"\n\t\t\t\t\t\tclassName=\"siteSelector__button analyticsFilter__dropDown__button\"\n\t\t\t\t\t\ttitle={this.state.selectedFilter.text}\n\t\t\t\t\t\tonSelect={this.selectFilter}\n\t\t\t\t\t>\n\t\t\t\t\t\t{this.renderOptions()}\n\t\t\t\t\t</DropdownButton>\n\t\t\t\t\t{this.state.selectedFilter.dayCount === 0 && (\n\t\t\t\t\t\t<GenericInput\n\t\t\t\t\t\t\tid=\"customDateRange\"\n\t\t\t\t\t\t\tplaceholder={\"Select date range\"}\n\t\t\t\t\t\t\tclassName=\"analyticsFilter__dropDown__input\"\n\t\t\t\t\t\t\tvalue={this.state.dateRangeText}\n\t\t\t\t\t\t\tonClick={this.toggleDateSelectors}\n\t\t\t\t\t\t\treadOnly\n\t\t\t\t\t\t/>\n\t\t\t\t\t)}\n\t\t\t\t</div>\n\t\t\t\t{this.state.selectedFilter.dayCount === 0 &&\n\t\t\t\t\tthis.state.calendarVisible && (\n\t\t\t\t\t\t<div className=\"analyticsFilter__dateRange\">\n\t\t\t\t\t\t\t<DatePicker\n\t\t\t\t\t\t\t\thideTop\n\t\t\t\t\t\t\t\tselectedDate={this.state.startDate}\n\t\t\t\t\t\t\t\tselectDate={this.startDateChanged}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t<DatePicker\n\t\t\t\t\t\t\t\thideTop\n\t\t\t\t\t\t\t\tselectedDate={this.state.endDate}\n\t\t\t\t\t\t\t\tselectDate={this.endDateChanged}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t)}\n\t\t\t</>\n\t\t);\n\t}\n}\n\nexport { AnalyticsFilter };\n","import React, { Component } from \"react\";\nimport { Text } from \"./Text\";\nimport { ProfilePic } from \"./ProfilePic\";\nimport { COLOUR_BRANDING_MAIN } from \"../colours\";\n\nclass UserListing extends Component {\n\tgetSize() {\n\t\treturn this.props.size || 30;\n\t}\n\n\tgetImage() {\n\t\tif (this.props.user && this.props.user.profilePic) {\n\t\t\treturn this.props.user.profilePic;\n\t\t}\n\t\tif (this.props.image) {\n\t\t\treturn this.props.image;\n\t\t}\n\t\treturn undefined;\n\t}\n\n\tgetKey() {\n\t\tif (this.props.user && this.props.user.id) {\n\t\t\treturn this.props.user.id;\n\t\t}\n\t\treturn this.props.id;\n\t}\n\n\tgetText() {\n\t\tif (this.props.user && this.props.user.displayName) {\n\t\t\treturn this.props.user.displayName;\n\t\t}\n\t\treturn this.props.title;\n\t}\n\n\tgetBorderRadius() {\n\t\tif (this.props.squareImage) {\n\t\t\treturn 4;\n\t\t}\n\t\treturn this.getSize() / 2;\n\t}\n\n\tisLoading() {\n\t\tif (this.props.user && this.props.user.loading) {\n\t\t\treturn this.props.user && this.props.user.loading;\n\t\t}\n\t\treturn this.props.isLoading;\n\t}\n\n\trenderRight() {\n\t\tif (!this.props.rightContent) {\n\t\t\treturn null;\n\t\t}\n\t\treturn this.props.rightContent;\n\t}\n\n\trenderSub() {\n\t\tif (!this.props.subContent) {\n\t\t\treturn null;\n\t\t}\n\t\treturn this.props.subContent;\n\t}\n\n\trenderImage() {\n\t\tif (this.props.squareImage) {\n\t\t\treturn (\n\t\t\t\t<div\n\t\t\t\t\tstyle={{\n\t\t\t\t\t\theight: this.getSize(),\n\t\t\t\t\t\twidth: this.getSize(),\n\t\t\t\t\t\tborderRadius: this.getBorderRadius(),\n\t\t\t\t\t\tmarginRight: 8,\n\t\t\t\t\t\tbackgroundSize: \"cover\",\n\t\t\t\t\t\tbackgroundPosition: \"center\",\n\t\t\t\t\t\tbackgroundImage: `url(${this.getImage()})`,\n\t\t\t\t\t\tbackgroundColor: COLOUR_BRANDING_MAIN,\n\t\t\t\t\t}}\n\t\t\t\t\talt={`${this.getText()} Image`}\n\t\t\t\t/>\n\t\t\t);\n\t\t}\n\t\treturn (\n\t\t\t<ProfilePic\n\t\t\t\tsize={this.getSize()}\n\t\t\t\tclassName=\"userListing_profilePic\"\n\t\t\t\timage={this.getImage()}\n\t\t\t/>\n\t\t);\n\t}\n\n\trender() {\n\t\treturn (\n\t\t\t<div\n\t\t\t\tkey={this.getKey()}\n\t\t\t\tclassName=\"userListing\"\n\t\t\t\tstyle={{\n\t\t\t\t\tminHeight: this.getSize() + 5,\n\t\t\t\t\tcursor: this.props.onClick ? \"pointer\" : \"inherit\",\n\t\t\t\t\topacity: this.isLoading() ? 0.5 : 1,\n\t\t\t\t}}\n\t\t\t\tonClick={this.props.onClick}\n\t\t\t>\n\t\t\t\t<div className=\"userListing_inner\">\n\t\t\t\t\t{this.renderImage()}\n\t\t\t\t\t<div\n\t\t\t\t\t\tclassName=\"userListing_middle\"\n\t\t\t\t\t\tstyle={{ height: this.getSize() }}\n\t\t\t\t\t>\n\t\t\t\t\t\t<Text\n\t\t\t\t\t\t\ttype=\"name\"\n\t\t\t\t\t\t\tstyle={this.props.whiteText ? { color: \"#fff\" } : null}\n\t\t\t\t\t\t\tclassName={this.props.textClass}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{this.getText()}\n\t\t\t\t\t\t</Text>\n\t\t\t\t\t\t{this.renderSub()}\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t\t{this.renderRight()}\n\t\t\t</div>\n\t\t);\n\t}\n}\n\nexport { UserListing };\n","import React, { Component } from \"react\";\nimport moment from \"moment\";\nimport _ from \"lodash\";\nimport { randomString } from \"../helper\";\nimport { COLOUR_DUSK_LIGHT } from \"../colours\";\nimport { Icon } from \"@plusscommunities/pluss-icons\";\n\nclass TimePicker extends Component {\n\tstate = {\n\t\tid: randomString(),\n\t\tselectedTime: this.props.optional ? this.props.selectedTime : moment(),\n\t\tgrid: [],\n\t\thourInput: \"\",\n\t\tminuteInput: \"\",\n\t\tmInput: \"\",\n\t};\n\n\tUNSAFE_componentWillMount() {\n\t\tthis.onNewProps(this.props, !this.props.optional);\n\t}\n\n\tUNSAFE_componentWillReceiveProps(nextProps) {\n\t\tthis.onNewProps(nextProps);\n\t}\n\n\tonNewProps(nextProps, forceUpdate) {\n\t\tif (forceUpdate || nextProps.selectedTime !== this.props.selectedTime) {\n\t\t\tlet mDate = moment(nextProps.selectedTime, \"h:mma\");\n\t\t\tif (!mDate.isValid()) {\n\t\t\t\tthis.setState({\n\t\t\t\t\tselectedTime: null,\n\t\t\t\t\thourInput: \"\",\n\t\t\t\t\tminuteInput: \"\",\n\t\t\t\t\tmInput: \"\",\n\t\t\t\t});\n\t\t\t} else {\n\t\t\t\tconst minutesFocused =\n\t\t\t\t\tdocument.getElementById(`time_minute_${this.state.id}`) ===\n\t\t\t\t\tdocument.activeElement;\n\t\t\t\tthis.setState({\n\t\t\t\t\tselectedTime: mDate,\n\t\t\t\t\thourInput: mDate.format(\"h\"),\n\t\t\t\t\tminuteInput: mDate.format(minutesFocused ? \"m\" : \"mm\"),\n\t\t\t\t\tmInput: mDate.format(\"a\"),\n\t\t\t\t});\n\t\t\t}\n\t\t}\n\t}\n\n\tgetDefaultTime() {\n\t\tconst result = moment();\n\t\tresult.hour(12);\n\t\tresult.minute(0);\n\t\tresult.second(0);\n\t\treturn result;\n\t}\n\n\tonChangeHour(event) {\n\t\tlet hour = 0;\n\t\tif (!_.isEmpty(event.target.value)) {\n\t\t\thour = parseInt(event.target.value, 10);\n\t\t} else {\n\t\t\tthis.setState({ ...this.state, hourInput: \"\" });\n\t\t\treturn;\n\t\t}\n\t\tif (isNaN(hour)) {\n\t\t\treturn;\n\t\t}\n\t\thour = Math.max(Math.min(12, hour), 0);\n\t\tconst dateToUse = this.state.selectedTime || this.getDefaultTime();\n\t\tconst selectNext = hour > 1; // if hour is > 1, assume user is done typing and select minutes input\n\t\tif (dateToUse.format(\"a\") === \"pm\") {\n\t\t\thour += 12;\n\t\t}\n\t\tdateToUse.hour(hour);\n\t\tthis.setState({\n\t\t\tselectedTime: moment(dateToUse),\n\t\t});\n\n\t\tthis.selectTime(dateToUse);\n\n\t\tif (selectNext) {\n\t\t\tthis.select(`time_minute_${this.state.id}`);\n\t\t}\n\t}\n\n\tonChangeMinute(event) {\n\t\tlet minute = 0;\n\t\tif (!_.isEmpty(event.target.value)) {\n\t\t\tminute = parseInt(event.target.value, 10);\n\t\t} else {\n\t\t\tthis.setState({ ...this.state, minuteInput: \"\" });\n\t\t\treturn;\n\t\t}\n\t\tif (isNaN(minute)) {\n\t\t\treturn;\n\t\t}\n\t\tminute = Math.max(Math.min(59, minute), 0);\n\t\tconst dateToUse = this.state.selectedTime || this.getDefaultTime();\n\t\tdateToUse.minute(minute);\n\t\tthis.setState({\n\t\t\tselectedTime: moment(dateToUse),\n\t\t});\n\n\t\tthis.selectTime(dateToUse);\n\n\t\tif (minute >= 10 || event.target.value === \"00\") {\n\t\t\tthis.select(`time_am_${this.state.id}`);\n\t\t}\n\t}\n\n\tonBlurMinute() {\n\t\tif (this.state.selectedTime) {\n\t\t\tthis.setState({\n\t\t\t\tminuteInput: this.state.selectedTime.format(\"mm\"),\n\t\t\t});\n\t\t}\n\t}\n\n\tonChangeM(event) {\n\t\tconst dateToUse = this.state.selectedTime || this.getDefaultTime();\n\t\tif (event.target.value.toLowerCase().indexOf(\"a\") > -1) {\n\t\t\t// am\n\t\t\tif (dateToUse.format(\"a\") === \"pm\") {\n\t\t\t\tdateToUse.hour(dateToUse.hour() - 12);\n\t\t\t}\n\t\t} else {\n\t\t\t// pm\n\t\t\tif (dateToUse.format(\"a\") === \"am\") {\n\t\t\t\tdateToUse.hour(dateToUse.hour() + 12);\n\t\t\t}\n\t\t}\n\t\tthis.setState({\n\t\t\tselectedTime: moment(dateToUse),\n\t\t});\n\t\tthis.selectTime(dateToUse);\n\t}\n\n\tselectTime(date) {\n\t\tthis.props.selectTime(\n\t\t\tmoment(date).format(this.props.callbackFormat || \"h:mma\"),\n\t\t);\n\t}\n\n\tonClear = () => {\n\t\tthis.props.selectTime(undefined);\n\t};\n\n\tselect(id) {\n\t\tdocument.getElementById(id).select();\n\t}\n\n\trenderClear() {\n\t\tif (!this.props.hasClear) return null;\n\t\treturn (\n\t\t\t<Icon\n\t\t\t\tcolour={COLOUR_DUSK_LIGHT}\n\t\t\t\ticon=\"xmark\"\n\t\t\t\tclassName=\"timepicker_clear\"\n\t\t\t\tonClick={this.onClear}\n\t\t\t/>\n\t\t);\n\t}\n\n\trender() {\n\t\tconst { disabled } = this.props;\n\t\tif (disabled) {\n\t\t\treturn (\n\t\t\t\t<div className=\"timepicker disabled\" style={this.props.style}>\n\t\t\t\t\t<span\n\t\t\t\t\t\tclassName=\"timepicker__span\"\n\t\t\t\t\t\tstyle={this.props.inputStyle}\n\t\t\t\t\t>{`${this.state.hourInput} : ${this.state.minuteInput} ${this.state.mInput}`}</span>\n\t\t\t\t</div>\n\t\t\t);\n\t\t}\n\t\treturn (\n\t\t\t<div\n\t\t\t\tclassName={`timepicker ${this.props.className}`}\n\t\t\t\tstyle={this.props.style}\n\t\t\t>\n\t\t\t\t<input\n\t\t\t\t\tclassName=\"timepicker__input\"\n\t\t\t\t\tmaxLength=\"2\"\n\t\t\t\t\tplaceholder=\"hh\"\n\t\t\t\t\ttype=\"text\"\n\t\t\t\t\tid={`time_hour_${this.state.id}`}\n\t\t\t\t\tvalue={this.state.hourInput}\n\t\t\t\t\tonChange={this.onChangeHour.bind(this)}\n\t\t\t\t\tonClick={this.select.bind(this, `time_hour_${this.state.id}`)}\n\t\t\t\t\tstyle={this.props.inputStyle}\n\t\t\t\t/>\n\t\t\t\t<span className=\"timepicker__separator\" style={this.props.inputStyle}>\n\t\t\t\t\t:\n\t\t\t\t</span>\n\t\t\t\t<input\n\t\t\t\t\tclassName=\"timepicker__input\"\n\t\t\t\t\tmaxLength=\"2\"\n\t\t\t\t\tplaceholder=\"mm\"\n\t\t\t\t\ttype=\"text\"\n\t\t\t\t\tid={`time_minute_${this.state.id}`}\n\t\t\t\t\tvalue={this.state.minuteInput}\n\t\t\t\t\tonChange={this.onChangeMinute.bind(this)}\n\t\t\t\t\tonBlur={this.onBlurMinute.bind(this)}\n\t\t\t\t\tonClick={this.select.bind(this, `time_minute_${this.state.id}`)}\n\t\t\t\t\tstyle={this.props.inputStyle}\n\t\t\t\t/>\n\t\t\t\t<input\n\t\t\t\t\tclassName=\"timepicker__input\"\n\t\t\t\t\tmaxLength=\"2\"\n\t\t\t\t\tplaceholder=\"pm\"\n\t\t\t\t\ttype=\"text\"\n\t\t\t\t\tid={`time_am_${this.state.id}`}\n\t\t\t\t\tvalue={this.state.mInput}\n\t\t\t\t\tonChange={this.onChangeM.bind(this)}\n\t\t\t\t\tonClick={this.select.bind(this, `time_am_${this.state.id}`)}\n\t\t\t\t\tstyle={this.props.inputStyle}\n\t\t\t\t/>\n\t\t\t\t{this.renderClear()}\n\t\t\t</div>\n\t\t);\n\t}\n}\n\nexport { TimePicker };\n","import React, { Component } from \"react\";\nimport _ from \"lodash\";\nimport { withRouter } from \"react-router\";\nimport { connect } from \"react-redux\";\nimport Config from \"../config\";\nimport { GenericInput } from \"./GenericInput\";\nimport { Text } from \"./Text\";\nimport { COLOUR_DUSK } from \"../colours\";\nimport { Icon } from \"@plusscommunities/pluss-icons\";\n\nclass AudienceIncluder extends Component {\n\tconstructor(props) {\n\t\tsuper(props);\n\t\tthis.state = {\n\t\t\tshowUserAdd: false,\n\t\t\tuserSearch: \"\",\n\t\t\treturnList: [],\n\t\t\tuserList: [],\n\n\t\t\tselectionList: [],\n\t\t};\n\t}\n\n\tUNSAFE_componentWillMount() {\n\t\tthis.updateProps(this.props);\n\t}\n\n\tUNSAFE_componentWillReceiveProps(nextProps) {\n\t\tthis.updateProps(nextProps);\n\t}\n\n\tupdateProps(props) {\n\t\tvar stateChange = {\n\t\t\tselectionList: props.selectionList,\n\t\t\tuserList: props.userList,\n\t\t};\n\n\t\tif (!_.isEmpty(this.state.userSearch) && this.state.userSearch.length > 1) {\n\t\t\tstateChange.returnList = _.filter(props.userList, (ev) => {\n\t\t\t\treturn (\n\t\t\t\t\tev.displayName\n\t\t\t\t\t\t.toLowerCase()\n\t\t\t\t\t\t.indexOf(this.state.userSearch.toLowerCase()) > -1\n\t\t\t\t);\n\t\t\t});\n\n\t\t\tstateChange.returnList = _.reject(stateChange.returnList, (item) =>\n\t\t\t\t_.find(props.selectionList, (t) => {\n\t\t\t\t\treturn t.Id === item.Id;\n\t\t\t\t}),\n\t\t\t);\n\t\t}\n\t\tthis.setState(stateChange);\n\t}\n\n\tshowUserAdd() {\n\t\tthis.setState({ showUserAdd: true });\n\t}\n\n\thandleChange(event) {\n\t\tif (this.state.searchUserLoading) {\n\t\t\treturn;\n\t\t}\n\t\tvar stateChange = { returnList: [] };\n\t\tstateChange[event.target.getAttribute(\"id\")] = event.target.value;\n\n\t\tif (!_.isEmpty(event.target.value) && event.target.value.length > 1) {\n\t\t\tstateChange.returnList = _.filter(this.props.userList, (ev) => {\n\t\t\t\treturn (\n\t\t\t\t\tev.displayName\n\t\t\t\t\t\t.toLowerCase()\n\t\t\t\t\t\t.indexOf(event.target.value.toLowerCase()) > -1\n\t\t\t\t);\n\t\t\t});\n\n\t\t\tstateChange.returnList = _.reject(stateChange.returnList, (item) =>\n\t\t\t\t_.find(this.state.selectionList, (t) => {\n\t\t\t\t\treturn t.Id === item.Id;\n\t\t\t\t}),\n\t\t\t);\n\t\t}\n\n\t\tthis.setState(stateChange);\n\t}\n\n\trenderSearch() {\n\t\treturn (\n\t\t\t<div style={{}}>\n\t\t\t\t{this.state.returnList.map((user, index) => {\n\t\t\t\t\treturn (\n\t\t\t\t\t\t<div\n\t\t\t\t\t\t\tonClick={() => {\n\t\t\t\t\t\t\t\tthis.props.add(user);\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\tkey={user.Id}\n\t\t\t\t\t\t\tclassName=\"pointer\"\n\t\t\t\t\t\t\tstyle={{\n\t\t\t\t\t\t\t\tmarginBottom: 8,\n\t\t\t\t\t\t\t\tdisplay: \"flex\",\n\t\t\t\t\t\t\t\tflexDirection: \"row\",\n\t\t\t\t\t\t\t\talignItems: \"center\",\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<img\n\t\t\t\t\t\t\t\tstyle={{\n\t\t\t\t\t\t\t\t\theight: 30,\n\t\t\t\t\t\t\t\t\twidth: 30,\n\t\t\t\t\t\t\t\t\tborderRadius: 15,\n\t\t\t\t\t\t\t\t\tmarginRight: 16,\n\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\tsrc={\n\t\t\t\t\t\t\t\t\tuser.profilePic != null\n\t\t\t\t\t\t\t\t\t\t? user.profilePic\n\t\t\t\t\t\t\t\t\t\t: Config.env.defaultProfileImage\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\talt=\"user profilePic\"\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t<div className={`fontMedium fontSize-16 text-dark'`}>\n\t\t\t\t\t\t\t\t{user.displayName}\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t);\n\t\t\t\t})}\n\t\t\t</div>\n\t\t);\n\t}\n\n\trenderUserAdd() {\n\t\treturn (\n\t\t\t<div className=\"\" style={{ backgroundColor: \"#fff\" }}>\n\t\t\t\t{\" \"}\n\t\t\t\t{/* Search for peeps */}\n\t\t\t\t<GenericInput\n\t\t\t\t\tid=\"userSearch\"\n\t\t\t\t\ttype=\"text\"\n\t\t\t\t\tlabel=\"Search for User\"\n\t\t\t\t\tplaceholder=\"Search for user\"\n\t\t\t\t\tvalue={this.state.userSearch}\n\t\t\t\t\tonChange={(e) => this.handleChange(e)}\n\t\t\t\t\talwaysShowLabel\n\t\t\t\t/>\n\t\t\t\t{this.renderSearch()}\n\t\t\t</div>\n\t\t);\n\t}\n\n\trenderAttendees() {\n\t\tif (this.state.selectionList && !_.isEmpty(this.state.selectionList)) {\n\t\t\treturn (\n\t\t\t\t<div style={{ marginTop: 16 }}>\n\t\t\t\t\t<Text type=\"formLabel\" className=\"marginBottom-8\">\n\t\t\t\t\t\tSelected Users\n\t\t\t\t\t</Text>\n\t\t\t\t\t{this.state.selectionList.map((user, index) => {\n\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t\tkey={user.Id}\n\t\t\t\t\t\t\t\tstyle={{\n\t\t\t\t\t\t\t\t\tmarginBottom: 8,\n\t\t\t\t\t\t\t\t\tdisplay: \"flex\",\n\t\t\t\t\t\t\t\t\tflexDirection: \"row\",\n\t\t\t\t\t\t\t\t\tjustifyContent: \"space-between\",\n\t\t\t\t\t\t\t\t\talignItems: \"center\",\n\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t<div className=\"flex\" style={{ alignItems: \"center\" }}>\n\t\t\t\t\t\t\t\t\t<img\n\t\t\t\t\t\t\t\t\t\tstyle={{\n\t\t\t\t\t\t\t\t\t\t\theight: 30,\n\t\t\t\t\t\t\t\t\t\t\twidth: 30,\n\t\t\t\t\t\t\t\t\t\t\tborderRadius: 15,\n\t\t\t\t\t\t\t\t\t\t\tmarginRight: 16,\n\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t\tsrc={\n\t\t\t\t\t\t\t\t\t\t\tuser.profilePic != null\n\t\t\t\t\t\t\t\t\t\t\t\t? user.profilePic\n\t\t\t\t\t\t\t\t\t\t\t\t: Config.env.defaultProfileImage\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\talt=\"user profilePic\"\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t<div className={`fontMedium fontSize-16 text-dark'`}>\n\t\t\t\t\t\t\t\t\t\t{user.displayName}\n\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t<Icon\n\t\t\t\t\t\t\t\t\tclassName=\"removeIcon\"\n\t\t\t\t\t\t\t\t\ticon=\"xmark\"\n\t\t\t\t\t\t\t\t\tonClick={() => {\n\t\t\t\t\t\t\t\t\t\tthis.props.remove(user);\n\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\tcolour={COLOUR_DUSK}\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t{/* <ConfirmActions declineOnly onDecline={() => {}} /> */}\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t);\n\t\t\t\t\t})}\n\t\t\t\t</div>\n\t\t\t);\n\t\t}\n\t\treturn null;\n\t}\n\n\trender() {\n\t\treturn (\n\t\t\t<div>\n\t\t\t\t<div>{this.renderUserAdd()}</div>\n\t\t\t\t<div>{this.renderAttendees()}</div>\n\t\t\t</div>\n\t\t);\n\t}\n}\n\nconst mapStateToProps = (state) => {\n\treturn { auth: state.auth };\n};\n\nlet exportObj = connect(mapStateToProps, {})(withRouter(AudienceIncluder));\n\nexport { exportObj as AudienceIncluder };\n","import React, { Component } from \"react\";\nimport _ from \"lodash\";\nimport { INACTIVE_TEXT } from \"../colours\";\nimport { Icon } from \"@plusscommunities/pluss-icons\";\n\nclass DropdownInput extends Component {\n\tconstructor(props) {\n\t\tsuper(props);\n\t\tthis.state = {\n\t\t\twidth: 0,\n\t\t\theight: 0,\n\t\t\topen: false,\n\t\t};\n\n\t\tthis.setWrapperRef = this.setWrapperRef.bind(this);\n\t\tthis.handleClickOutside = this.handleClickOutside.bind(this);\n\t}\n\n\tcomponentDidMount() {\n\t\tdocument.addEventListener(\"mousedown\", this.handleClickOutside);\n\t}\n\n\tcomponentWillUnmount() {\n\t\tdocument.removeEventListener(\"mousedown\", this.handleClickOutside);\n\t}\n\n\tsetWrapperRef(node) {\n\t\tthis.wrapperRef = node;\n\t}\n\n\thandleClickOutside(event) {\n\t\tif (this.wrapperRef && !this.wrapperRef.contains(event.target)) {\n\t\t\tthis.setState({ open: false });\n\t\t}\n\t}\n\n\tgetAutoComplete() {\n\t\tif (!_.isUndefined(this.props.autoComplete)) {\n\t\t\treturn this.props.autoComplete ? \"on\" : \"off\";\n\t\t}\n\t\treturn \"off\";\n\t}\n\n\tgetClassNames() {\n\t\tlet string = \"\";\n\t\tif (this.props.className) {\n\t\t\tstring += `${this.props.className} `;\n\t\t}\n\t\tif (!_.isUndefined(this.props.disabled) && this.props.disabled) {\n\t\t\tstring = \"genericInput-disabled \";\n\t\t}\n\t\tif (this.props.large) {\n\t\t\tstring += \"genericInput-large \";\n\t\t}\n\t\tif (!_.isUndefined(this.props.showError) && this.props.showError()) {\n\t\t\treturn string + \"genericInput-error\";\n\t\t}\n\t\tif (!_.isUndefined(this.props.isValid) && this.props.isValid()) {\n\t\t\treturn string + \"genericInput-valid\";\n\t\t}\n\t\treturn string;\n\t}\n\n\tgetLabelStyle() {\n\t\tconst style = {};\n\t\tif (_.isEmpty(this.props.value) && !this.props.alwaysShowLabel) {\n\t\t\tstyle.opacity = 0;\n\t\t}\n\t\tif (\n\t\t\t!_.isUndefined(this.props.ignoreValue) &&\n\t\t\tthis.props.value === this.props.ignoreValue &&\n\t\t\t!this.props.alwaysShowLabel\n\t\t) {\n\t\t\tstyle.opacity = 0;\n\t\t}\n\t\t// if (this.props.isRequired) {\n\t\t// style.marginLeft = 12;\n\t\t// }\n\t\treturn style;\n\t}\n\n\trenderError() {\n\t\tif (!_.isUndefined(this.props.showError) && this.props.showError()) {\n\t\t\treturn (\n\t\t\t\t<div className={\"fieldLabel fieldLabel-warning\"}>\n\t\t\t\t\t{this.props.errorMessage ? this.props.errorMessage : \"Required\"}\n\t\t\t\t</div>\n\t\t\t);\n\t\t}\n\t\treturn null;\n\t}\n\n\trenderHelp() {\n\t\tif (!_.isUndefined(this.props.help)) {\n\t\t\treturn <div className=\"genericInput-help\">{this.props.help}</div>;\n\t\t}\n\t\treturn null;\n\t}\n\n\topen() {\n\t\tif (this.props.disabled) {\n\t\t\treturn;\n\t\t}\n\t\tthis.setState({ open: !this.state.open });\n\t}\n\n\trenderOption() {\n\t\tif (!this.state.open) {\n\t\t\treturn null;\n\t\t}\n\t\treturn (\n\t\t\t<div style={styles.dropdownItemsWrapper}>\n\t\t\t\t{_.values(this.props.options).map((cat) => {\n\t\t\t\t\treturn (\n\t\t\t\t\t\t<div\n\t\t\t\t\t\t\tkey={cat.Key}\n\t\t\t\t\t\t\tclassName=\"subtleHover fontRegular fontSize-16 text-dark\"\n\t\t\t\t\t\t\tstyle={styles.dropDownOption}\n\t\t\t\t\t\t\tonClick={() => {\n\t\t\t\t\t\t\t\tthis.props.onSelect(cat.Key);\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{cat.Title}\n\t\t\t\t\t\t</div>\n\t\t\t\t\t);\n\t\t\t\t})}\n\t\t\t</div>\n\t\t);\n\t}\n\n\tgetBottomBorder() {\n\t\tif (!_.isUndefined(this.props.disabled) && this.props.disabled) {\n\t\t\treturn \"dropdownInput-bottomBorder--disabled\";\n\t\t}\n\t\tif (!_.isUndefined(this.props.showError) && this.props.showError()) {\n\t\t\treturn \"dropdownInput-bottomBorder--error\";\n\t\t}\n\t\treturn \"\";\n\t}\n\n\trenderInput() {\n\t\treturn (\n\t\t\t<div style={styles.row}>\n\t\t\t\t{this.props.isRequired && <div className=\"inputRequired \" />}\n\t\t\t\t<div\n\t\t\t\t\tonClick={this.open.bind(this)}\n\t\t\t\t\tclassName={`dropdownInput-bottomBorder ${this.getBottomBorder()} ${!this.props.disabled ? \"pointer\" : \"\"}`}\n\t\t\t\t>\n\t\t\t\t\t<input\n\t\t\t\t\t\tid={this.props.id}\n\t\t\t\t\t\tplaceholder={\n\t\t\t\t\t\t\t!_.isUndefined(this.props.placeholder)\n\t\t\t\t\t\t\t\t? this.props.placeholder\n\t\t\t\t\t\t\t\t: this.props.label\n\t\t\t\t\t\t}\n\t\t\t\t\t\ttype={!_.isUndefined(this.props.type) ? this.props.type : \"text\"}\n\t\t\t\t\t\tclassName={`genericInput ${!this.props.disabled ? \"pointer\" : \"\"}`}\n\t\t\t\t\t\tvalue={this.props.value}\n\t\t\t\t\t\tonChange={this.props.onChange}\n\t\t\t\t\t\tonKeyPress={this.props.onEnter}\n\t\t\t\t\t\tstyle={{ ...this.props.inputStyle }}\n\t\t\t\t\t\tdisabled\n\t\t\t\t\t\tautoComplete=\"false\"\n\t\t\t\t\t/>\n\t\t\t\t\t<div style={styles.chevronWrapper}>\n\t\t\t\t\t\t<Icon\n\t\t\t\t\t\t\tstyle={{\n\t\t\t\t\t\t\t\t...styles.chevron,\n\t\t\t\t\t\t\t\tcolor:\n\t\t\t\t\t\t\t\t\t!_.isUndefined(this.props.disabled) && this.props.disabled\n\t\t\t\t\t\t\t\t\t\t? \"transparent\"\n\t\t\t\t\t\t\t\t\t\t: INACTIVE_TEXT,\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\ticon={\n\t\t\t\t\t\t\t\tthis.state.open ? `fa-${\"chevron-up\"}` : `fa-${\"chevron-down\"}`\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t/>\n\t\t\t\t\t</div>\n\t\t\t\t\t{this.renderOption()}\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t);\n\t}\n\n\trender() {\n\t\treturn (\n\t\t\t<div\n\t\t\t\tref={this.setWrapperRef}\n\t\t\t\tclassName={`dropdownInput ${this.getClassNames()}`}\n\t\t\t\tstyle={{ marginBottom: 16, position: \"relative\", ...this.props.style }}\n\t\t\t>\n\t\t\t\t<div\n\t\t\t\t\tstyle={{\n\t\t\t\t\t\t...styles.row,\n\t\t\t\t\t\tmarginBottom: 0,\n\t\t\t\t\t\tjustifyContent: \"space-between\",\n\t\t\t\t\t}}\n\t\t\t\t>\n\t\t\t\t\t{!_.isUndefined(this.props.label) && (\n\t\t\t\t\t\t<div className=\"fieldLabel\" style={this.getLabelStyle()}>\n\t\t\t\t\t\t\t{this.props.label}\n\t\t\t\t\t\t</div>\n\t\t\t\t\t)}\n\t\t\t\t\t{this.renderError()}\n\t\t\t\t</div>\n\t\t\t\t{/* Render either generic input or large text area */}\n\t\t\t\t{this.renderInput()}\n\t\t\t\t{/* Render bottom help info */}\n\t\t\t\t{this.renderHelp()}\n\t\t\t</div>\n\t\t);\n\t}\n}\n\nconst styles = {\n\trow: {\n\t\tdisplay: \"flex\",\n\t\tflexDirection: \"row\",\n\t\talignItems: \"center\",\n\t},\n\tchevronWrapper: {\n\t\tdisplay: \"flex\",\n\t\tflexDirection: \"column\",\n\t\tjustifyContent: \"center\",\n\t},\n\tchevron: {\n\t\tfontSize: 12,\n\t\tpaddingBottom: 4,\n\t},\n\tdropdownItemsWrapper: {\n\t\tbackgroundColor: \"#fff\",\n\t\tposition: \"absolute\",\n\t\twidth: \"100%\",\n\t\ttop: 35,\n\t\tboxShadow: \"2px 2px 10px rgba(106, 163, 216, 0.7)\",\n\t\tzIndex: 90,\n\t\tborderRadius: 4,\n\t\tpaddingTop: 4,\n\t\tpaddingBottom: 4,\n\t},\n\tdropDownOption: {\n\t\tpadding: \"4px 16px\",\n\t},\n};\n\nexport { DropdownInput };\n","import React, { Component } from \"react\";\nimport { Icon } from \"@plusscommunities/pluss-icons\";\nimport _ from \"lodash\";\nimport { connect } from \"react-redux\";\nimport { setAuth } from \"../actions\";\nimport { profileActions, typeActions, userActions } from \"../apis\";\nimport { COLOUR_DUSK } from \"../colours\";\nimport { AudienceIncluder } from \"./AudienceIncluder\";\nimport { Text } from \"./Text\";\nimport { RadioButton } from \"./RadioButton\";\nimport { DropdownInput } from \"./DropdownInput\";\nimport { Tag } from \"./Tag\";\n\nclass AudienceSelector extends Component {\n\tconstructor(props) {\n\t\tsuper(props);\n\n\t\tthis.state = {\n\t\t\tcategories: [\n\t\t\t\t{\n\t\t\t\t\tTitle: \"All Primary Users\",\n\t\t\t\t\tKey: \"resident\",\n\t\t\t\t\tShortName: \"Primary\",\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tTitle: \"All Staff Users\",\n\t\t\t\t\tKey: \"staff\",\n\t\t\t\t\tShortName: \"Staff\",\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tTitle: \"All Linked Users\",\n\t\t\t\t\tKey: \"family\",\n\t\t\t\t\tShortName: \"Linked\",\n\t\t\t\t},\n\t\t\t],\n\t\t\ttypes: [],\n\t\t\tAudienceType: props.audienceType || \"All\",\n\t\t\tshowInclude: false,\n\t\t\tincludeList: [],\n\t\t\tshowExclude: false,\n\t\t\texcludeList: [],\n\t\t\tType: \"\",\n\t\t\tCategory: \"\",\n\n\t\t\tuserList: [],\n\t\t\ttagList: [],\n\t\t\tAudienceTagList: props.audienceTypeSelection || [],\n\t\t};\n\t}\n\n\tcomponentDidMount() {\n\t\tconst { custom, disallowSingleUsers, allowTags } = this.props;\n\t\tthis.getUserTypes();\n\t\tif (!disallowSingleUsers) this.getUsers();\n\t\tif (allowTags || custom) this.getUserTags();\n\t}\n\n\tcomponentDidUpdate(prevProps) {\n\t\tconst newState = {};\n\t\tif (prevProps.audienceType !== this.props.audienceType)\n\t\t\tnewState.AudienceType = this.props.audienceType;\n\t\tif (\n\t\t\t!_.isEqual(\n\t\t\t\tprevProps.audienceTypeSelection,\n\t\t\t\tthis.props.audienceTypeSelection,\n\t\t\t)\n\t\t)\n\t\t\tnewState.AudienceTagList = this.props.audienceTypeSelection;\n\t\tif (!_.isEmpty(newState)) this.setState(newState);\n\t}\n\n\tonSubmit() {\n\t\tif (\n\t\t\tthis.state.AudienceType === \"User\" &&\n\t\t\t_.isEmpty(this.state.includeList)\n\t\t) {\n\t\t\tthis.setState({ showInclude: true });\n\t\t}\n\t}\n\n\tgetAudienceType() {\n\t\treturn this.state.AudienceType;\n\t}\n\n\tgetAudienceTypeSelection() {\n\t\tconst { AudienceType, AudienceTagList, Category, Tag, Type } = this.state;\n\t\tif (AudienceType === \"Custom\") return AudienceTagList || [];\n\t\tif (AudienceType === \"Category\") return Category;\n\t\tif (AudienceType === \"UserTags\") return Tag;\n\t\treturn Type;\n\t}\n\n\tgetIncludeList() {\n\t\treturn this.state.includeList;\n\t}\n\n\tgetExcludeList() {\n\t\treturn this.state.excludeList;\n\t}\n\n\tgetUsers() {\n\t\tuserActions\n\t\t\t.fetchUsers(this.props.auth.site)\n\t\t\t.then((res) => {\n\t\t\t\tthis.setState({\n\t\t\t\t\tuserList: res.data.results.Items,\n\t\t\t\t});\n\t\t\t})\n\t\t\t.catch((error) => {});\n\t}\n\n\tgetUserTags() {\n\t\tprofileActions\n\t\t\t.getUserTagsBySite(this.props.auth.site)\n\t\t\t.then((res) => {\n\t\t\t\tthis.setState({\n\t\t\t\t\ttagList: res.data.map((t) => {\n\t\t\t\t\t\treturn { ...t, Key: t.Id };\n\t\t\t\t\t}),\n\t\t\t\t});\n\t\t\t})\n\t\t\t.catch((error) => {});\n\t}\n\n\tsetType(type, selection) {\n\t\tconst newState = { AudienceType: type };\n\t\tif (type === \"Custom\") newState.AudienceTagList = selection;\n\t\tif (type === \"UserType\") newState.Type = selection;\n\t\tif (type === \"Category\") newState.Category = selection;\n\t\tthis.setState(newState);\n\t}\n\n\tonChangeSelection = () => {\n\t\tconst { updateValidation, onChange } = this.props;\n\t\tconst isValid = this.validateAudienceSelection();\n\t\tif (updateValidation) updateValidation(isValid);\n\t\tif (onChange)\n\t\t\tonChange(\n\t\t\t\tthis.getAudienceType(),\n\t\t\t\tthis.getAudienceTypeSelection(),\n\t\t\t\tisValid,\n\t\t\t);\n\t};\n\n\tonChangeOption(type) {\n\t\tthis.setState({\n\t\t\tAudienceType: type,\n\t\t\tType: \"\",\n\t\t\tCategory: \"\",\n\t\t\tincludeList: [],\n\t\t\texcludeList: [],\n\t\t\tAudienceTagList: [],\n\t\t});\n\t\tsetTimeout(this.onChangeSelection, 50);\n\t}\n\n\tgetOptions() {\n\t\tconst options = [\n\t\t\t{\n\t\t\t\tLabel: \"All users\",\n\t\t\t\tValue: \"All\",\n\t\t\t\tonChange: () => this.onChangeOption(\"All\"),\n\t\t\t},\n\t\t];\n\t\tif (this.props.custom) {\n\t\t\toptions.push({\n\t\t\t\tLabel: \"Custom\",\n\t\t\t\tValue: \"Custom\",\n\t\t\t\tonChange: () => this.onChangeOption(\"Custom\"),\n\t\t\t});\n\t\t} else {\n\t\t\toptions.push({\n\t\t\t\tLabel: \"By user category\",\n\t\t\t\tValue: \"Category\",\n\t\t\t\tonChange: () => this.onChangeOption(\"Category\"),\n\t\t\t});\n\t\t}\n\t\tif (!this.props.disallowUserType) {\n\t\t\toptions.push({\n\t\t\t\tLabel: \"By user type\",\n\t\t\t\tValue: \"UserType\",\n\t\t\t\tonChange: () => this.onChangeOption(\"UserType\"),\n\t\t\t});\n\t\t}\n\t\tif (this.props.allowTags) {\n\t\t\toptions.push({\n\t\t\t\tLabel: \"By user tag\",\n\t\t\t\tValue: \"UserTags\",\n\t\t\t\tonChange: () => this.onChangeOption(\"UserTags\"),\n\t\t\t});\n\t\t}\n\t\tif (!this.props.disallowSingleUsers) {\n\t\t\toptions.push({\n\t\t\t\tLabel: \"To single users\",\n\t\t\t\tValue: \"User\",\n\t\t\t\tonChange: () => this.onChangeOption(\"User\"),\n\t\t\t});\n\t\t}\n\t\treturn options;\n\t}\n\n\tvalidateAudienceSelection() {\n\t\tconst { AudienceType, includeList } = this.state;\n\t\tif (AudienceType === \"Custom\" && !this.validateCustom()) return false;\n\t\tif (AudienceType === \"Category\" && !this.validateCategory()) return false;\n\t\tif (AudienceType === \"UserType\" && !this.validateType()) return false;\n\t\tif (AudienceType === \"User\" && _.isEmpty(includeList)) return false;\n\t\tif (AudienceType === \"UserTags\" && !this.validateTag()) return false;\n\t\treturn true;\n\t}\n\n\tselectType(key) {\n\t\tthis.setState({\n\t\t\tType: key,\n\t\t\tincludeList: [],\n\t\t\texcludeList: [],\n\t\t});\n\t\tsetTimeout(this.onChangeSelection, 50);\n\t}\n\n\tgetTypeTitle() {\n\t\tconst typeObject = _.find(this.state.types, (t) => {\n\t\t\treturn t.typeName === this.state.Type;\n\t\t});\n\t\tif (typeObject) {\n\t\t\treturn typeObject.displayName;\n\t\t}\n\t\treturn \"\";\n\t}\n\n\tselectTag = (key) => {\n\t\tthis.setState({\n\t\t\tTag: key,\n\t\t\tincludeList: [],\n\t\t\texcludeList: [],\n\t\t});\n\t\tsetTimeout(this.onChangeSelection, 50);\n\t};\n\n\tgetTagTitle() {\n\t\tconst tag = _.find(this.state.tagList, (t) => {\n\t\t\treturn t.Id === this.state.Tag;\n\t\t});\n\t\tif (tag) {\n\t\t\treturn tag.Title;\n\t\t}\n\t\treturn \"\";\n\t}\n\n\tgetUserTypes() {\n\t\ttypeActions\n\t\t\t.getUserTypes(this.props.auth.site)\n\t\t\t.then((res) => {\n\t\t\t\tthis.props.setAuth({ userTypes: _.cloneDeep(res.data) });\n\t\t\t\tres.data.forEach((e) => {\n\t\t\t\t\te.Title = e.displayName;\n\t\t\t\t\te.Key = e.typeName;\n\n\t\t\t\t\tif (e.category) {\n\t\t\t\t\t\tconst category = _.find(this.state.categories, (c) => {\n\t\t\t\t\t\t\treturn c.Key === e.category;\n\t\t\t\t\t\t});\n\t\t\t\t\t\tconst shortName = category ? `(${category.ShortName}) ` : \"\";\n\t\t\t\t\t\te.Title = `${shortName} ${e.Title}`;\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t\tconst newState = {\n\t\t\t\t\ttypes: res.data,\n\t\t\t\t};\n\t\t\t\tif (!_.some(res.data, (t) => t.category === \"family\")) {\n\t\t\t\t\tnewState.categories = _.filter(\n\t\t\t\t\t\tthis.state.categories,\n\t\t\t\t\t\t(c) => c.Key !== \"family\",\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t\tthis.setState(newState);\n\t\t\t})\n\t\t\t.catch((error) => {});\n\t}\n\n\tgetUserList() {\n\t\tif (this.state.AudienceType === \"UserType\" && !_.isEmpty(this.state.Type)) {\n\t\t\tlet users = [];\n\t\t\tthis.state.userList.forEach((element) => {\n\t\t\t\tif (element.type !== this.state.Type) users.push(element);\n\t\t\t});\n\t\t\treturn _.sortBy(users, \"displayName\");\n\t\t}\n\t\tif (\n\t\t\tthis.state.AudienceType === \"Category\" &&\n\t\t\t!_.isEmpty(this.state.Category)\n\t\t) {\n\t\t\tlet users = [];\n\t\t\tlet types = _.filter(this.state.types, (type) => {\n\t\t\t\treturn type.category === this.state.Category;\n\t\t\t}).map((type) => {\n\t\t\t\treturn type.typeName;\n\t\t\t});\n\t\t\tthis.state.userList.forEach((element) => {\n\t\t\t\tif (types.indexOf(element.type) === -1) {\n\t\t\t\t\tusers.push(element);\n\t\t\t\t}\n\t\t\t});\n\t\t\treturn _.sortBy(users, \"displayName\");\n\t\t}\n\t\treturn _.sortBy(this.state.userList, \"displayName\");\n\t}\n\n\tselectCat(key, e) {\n\t\tthis.setState({\n\t\t\tCategory: key,\n\t\t\tincludeList: [],\n\t\t\texcludeList: [],\n\t\t});\n\t\tsetTimeout(this.onChangeSelection, 50);\n\t}\n\n\tgetCatTitle() {\n\t\tconst typeObject = _.find(this.state.categories, (t) => {\n\t\t\treturn t.Key === this.state.Category;\n\t\t});\n\t\tif (typeObject) {\n\t\t\treturn typeObject.Title;\n\t\t}\n\t\treturn \"\";\n\t}\n\n\tvalidateCustom = () => {\n\t\treturn !_.isEmpty(this.state.AudienceTagList);\n\t};\n\n\tvalidateCategory() {\n\t\treturn (\n\t\t\t!_.isUndefined(this.state.Category) && !_.isEmpty(this.state.Category)\n\t\t);\n\t}\n\n\tvalidateType() {\n\t\treturn !_.isUndefined(this.state.Type) && !_.isEmpty(this.state.Type);\n\t}\n\n\tvalidateTag() {\n\t\treturn !_.isEmpty(this.state.Tag);\n\t}\n\n\tshowUserPickers(isInclude) {\n\t\tif (isInclude && this.state.AudienceType === \"User\") {\n\t\t\treturn true;\n\t\t}\n\t\tif (isInclude && !this.props.allowIncludes) {\n\t\t\treturn false;\n\t\t}\n\t\tif (!isInclude && !this.props.allowExcludes) {\n\t\t\treturn false;\n\t\t}\n\t\tif (isInclude && this.state.AudienceType === \"All\") {\n\t\t\treturn false;\n\t\t}\n\t\tif (!isInclude && this.state.AudienceType === \"User\") {\n\t\t\treturn false;\n\t\t}\n\t\tif (\n\t\t\t(this.state.AudienceType === \"Category\" &&\n\t\t\t\t_.isEmpty(this.state.Category)) ||\n\t\t\t(this.state.AudienceType === \"UserType\" && _.isEmpty(this.state.Type))\n\t\t) {\n\t\t\treturn false;\n\t\t}\n\t\treturn true;\n\t}\n\n\tgetUserExcludeList() {\n\t\tif (this.state.AudienceType === \"UserType\" && !_.isEmpty(this.state.Type)) {\n\t\t\tlet users = [];\n\t\t\tthis.state.userList.forEach((element) => {\n\t\t\t\tif (element.type === this.state.Type) users.push(element);\n\t\t\t});\n\t\t\treturn _.sortBy(users, \"displayName\");\n\t\t}\n\t\tif (\n\t\t\tthis.state.AudienceType === \"Category\" &&\n\t\t\t!_.isEmpty(this.state.Category)\n\t\t) {\n\t\t\tlet users = [];\n\t\t\tlet types = _.filter(this.state.types, (type) => {\n\t\t\t\treturn type.category === this.state.Category;\n\t\t\t}).map((type) => {\n\t\t\t\treturn type.typeName;\n\t\t\t});\n\t\t\tthis.state.userList.forEach((element) => {\n\t\t\t\tif (types.indexOf(element.type) > -1) {\n\t\t\t\t\tusers.push(element);\n\t\t\t\t}\n\t\t\t});\n\t\t\treturn _.sortBy(users, \"displayName\");\n\t\t}\n\t\treturn _.sortBy(this.state.userList, \"displayName\");\n\t}\n\n\taddToInc(user) {\n\t\tlet list = [...this.state.includeList];\n\t\tlist.push({\n\t\t\tId: user.Id,\n\t\t\tdisplayName: user.displayName,\n\t\t\tprofilePic: user.profilePic,\n\t\t});\n\t\tthis.setState({ includeList: list });\n\t\tsetTimeout(this.onChangeSelection, 50);\n\t}\n\n\tremoveUserInc(user) {\n\t\tthis.setState({\n\t\t\tincludeList: _.filter(this.state.includeList, (ev) => {\n\t\t\t\treturn ev.Id !== user.Id;\n\t\t\t}),\n\t\t});\n\t\tsetTimeout(this.onChangeSelection, 50);\n\t}\n\n\taddToEx(user) {\n\t\tlet list = [...this.state.excludeList];\n\t\tlist.push({\n\t\t\tId: user.Id,\n\t\t\tdisplayName: user.displayName,\n\t\t\tprofilePic: user.profilePic,\n\t\t});\n\t\tthis.setState({ excludeList: list });\n\t}\n\n\tremoveUserEx(user) {\n\t\tthis.setState({\n\t\t\texcludeList: _.filter(this.state.excludeList, (ev) => {\n\t\t\t\treturn ev.Id !== user.Id;\n\t\t\t}),\n\t\t});\n\t}\n\n\tgetAvailableAudienceTags = (includeSelected = false) => {\n\t\tconst { categories, types, tagList, AudienceTagList } = this.state;\n\t\tconst categoryTags = categories.map((c) => {\n\t\t\treturn {\n\t\t\t\tAudienceType: \"Category\",\n\t\t\t\tAudienceTypeSelection: c.Key,\n\t\t\t\tId: `category_${c.Key}`,\n\t\t\t\tTitle: c.Title,\n\t\t\t};\n\t\t});\n\t\tconst userTypeTags = types.map((t) => {\n\t\t\treturn {\n\t\t\t\tAudienceType: \"UserType\",\n\t\t\t\tAudienceTypeSelection: t.typeName,\n\t\t\t\tId: `userType_${t.typeName}`,\n\t\t\t\tTitle: `User Type: ${t.displayName}`,\n\t\t\t};\n\t\t});\n\t\tconst userTagTags = tagList.map((t) => {\n\t\t\treturn {\n\t\t\t\tAudienceType: \"UserTags\",\n\t\t\t\tAudienceTypeSelection: t.Id,\n\t\t\t\tId: `userTag_${t.Id}`,\n\t\t\t\tTitle: `User Tag: ${t.Title}`,\n\t\t\t};\n\t\t});\n\t\tconst result = [...categoryTags, ...userTypeTags, ...userTagTags];\n\t\treturn includeSelected\n\t\t\t? result\n\t\t\t: result.filter((t) => !_.some(AudienceTagList, (at) => at.Id === t.Id));\n\t};\n\n\tonAttachAudienceTag = (tag) => {\n\t\tconst AudienceTagList = [...this.state.AudienceTagList, tag];\n\t\tthis.setState({ AudienceTagList }, this.onChangeSelection);\n\t};\n\n\tonDetachAudienceTag = (tag) => {\n\t\tconst AudienceTagList = _.filter(\n\t\t\tthis.state.AudienceTagList,\n\t\t\t(at) => at.Id !== tag.Id,\n\t\t);\n\t\tthis.setState({ AudienceTagList }, this.onChangeSelection);\n\t};\n\n\trenderExcludes() {\n\t\tif (!this.showUserPickers(false)) {\n\t\t\treturn null;\n\t\t}\n\t\treturn (\n\t\t\t<div key=\"excludes\" className=\"marginTop-16\">\n\t\t\t\t<div\n\t\t\t\t\tclassName=\"flex flex-between pointer\"\n\t\t\t\t\tonClick={() => {\n\t\t\t\t\t\tthis.setState({ showExclude: !this.state.showExclude });\n\t\t\t\t\t}}\n\t\t\t\t>\n\t\t\t\t\t<div className=\"flex\">\n\t\t\t\t\t\t<Text type=\"formTitleSmall\" className=\"marginBottom-16\">\n\t\t\t\t\t\t\tExclude Users From Selection{\" \"}\n\t\t\t\t\t\t\t{`(${this.state.excludeList.length})`}\n\t\t\t\t\t\t</Text>\n\t\t\t\t\t</div>\n\t\t\t\t\t<Icon\n\t\t\t\t\t\tstyle={{ color: COLOUR_DUSK, fontSize: 12 }}\n\t\t\t\t\t\ticon={\n\t\t\t\t\t\t\tthis.state.showExclude\n\t\t\t\t\t\t\t\t? `fa-${\"chevron-up\"}`\n\t\t\t\t\t\t\t\t: `fa-${\"chevron-down\"}`\n\t\t\t\t\t\t}\n\t\t\t\t\t/>\n\t\t\t\t</div>\n\t\t\t\t{this.state.showExclude && (\n\t\t\t\t\t<AudienceIncluder\n\t\t\t\t\t\tadd={this.addToEx.bind(this)}\n\t\t\t\t\t\tremove={this.removeUserEx.bind(this)}\n\t\t\t\t\t\tselectionList={this.state.excludeList}\n\t\t\t\t\t\tuserList={this.getUserExcludeList()}\n\t\t\t\t\t/>\n\t\t\t\t)}\n\t\t\t</div>\n\t\t);\n\t}\n\n\trenderIncludes() {\n\t\tif (!this.showUserPickers(true)) {\n\t\t\treturn null;\n\t\t}\n\t\treturn (\n\t\t\t<div key=\"includes\" className=\"marginTop-16\">\n\t\t\t\t<div\n\t\t\t\t\tclassName=\"flex flex-between pointer\"\n\t\t\t\t\tonClick={() => {\n\t\t\t\t\t\tthis.setState({ showInclude: !this.state.showInclude });\n\t\t\t\t\t}}\n\t\t\t\t>\n\t\t\t\t\t<div className=\"flex\">\n\t\t\t\t\t\t<Text type=\"formTitleSmall\" className=\"marginBottom-16\">\n\t\t\t\t\t\t\t{this.state.AudienceType !== \"User\" ? \"Add Other\" : \"Select\"}{\" \"}\n\t\t\t\t\t\t\tUsers {`(${this.state.includeList.length})`}\n\t\t\t\t\t\t</Text>\n\t\t\t\t\t</div>\n\t\t\t\t\t<Icon\n\t\t\t\t\t\tstyle={{ color: COLOUR_DUSK, fontSize: 12 }}\n\t\t\t\t\t\ticon={\n\t\t\t\t\t\t\tthis.state.showInclude\n\t\t\t\t\t\t\t\t? `fa-${\"chevron-up\"}`\n\t\t\t\t\t\t\t\t: `fa-${\"chevron-down\"}`\n\t\t\t\t\t\t}\n\t\t\t\t\t/>\n\t\t\t\t</div>\n\t\t\t\t{this.state.showInclude && (\n\t\t\t\t\t<AudienceIncluder\n\t\t\t\t\t\tadd={this.addToInc.bind(this)}\n\t\t\t\t\t\tremove={this.removeUserInc.bind(this)}\n\t\t\t\t\t\tselectionList={this.state.includeList}\n\t\t\t\t\t\tuserList={this.getUserList()}\n\t\t\t\t\t/>\n\t\t\t\t)}\n\t\t\t</div>\n\t\t);\n\t}\n\n\trenderAssignedAudiences() {\n\t\tconst { AudienceTagList } = this.state;\n\t\tconst { maxWidth } = this.props;\n\n\t\treturn (\n\t\t\t<div className=\"selectedAudienceTags\" style={{ maxWidth }}>\n\t\t\t\t{_.isEmpty(AudienceTagList) && (\n\t\t\t\t\t<Text type=\"body\" className=\"text-italic\">\n\t\t\t\t\t\tNo audiences selected\n\t\t\t\t\t</Text>\n\t\t\t\t)}\n\t\t\t\t{AudienceTagList.map((t) => {\n\t\t\t\t\treturn (\n\t\t\t\t\t\t<Tag\n\t\t\t\t\t\t\tkey={t.Id}\n\t\t\t\t\t\t\tclassName=\"marginLeft-16 marginBottom-8\"\n\t\t\t\t\t\t\ttext={t.Title}\n\t\t\t\t\t\t\trightIcon=\"xmark\"\n\t\t\t\t\t\t\trightClick={() => this.onDetachAudienceTag(t)}\n\t\t\t\t\t\t/>\n\t\t\t\t\t);\n\t\t\t\t})}\n\t\t\t</div>\n\t\t);\n\t}\n\n\trenderAvailableAudiences() {\n\t\tconst { maxWidth } = this.props;\n\t\tconst tags = this.getAvailableAudienceTags();\n\n\t\treturn (\n\t\t\t<div className=\"availableAudienceTags\" style={{ maxWidth }}>\n\t\t\t\t{tags.map((t) => {\n\t\t\t\t\treturn (\n\t\t\t\t\t\t<Tag\n\t\t\t\t\t\t\tkey={t.Id}\n\t\t\t\t\t\t\tclassName=\"marginLeft-16 marginBottom-8\"\n\t\t\t\t\t\t\ttext={t.Title}\n\t\t\t\t\t\t\tonClick={() => this.onAttachAudienceTag(t)}\n\t\t\t\t\t\t/>\n\t\t\t\t\t);\n\t\t\t\t})}\n\t\t\t</div>\n\t\t);\n\t}\n\n\trenderCustom() {\n\t\tif (this.state.AudienceType !== \"Custom\") return null;\n\n\t\treturn (\n\t\t\t<div className=\"optionsContent_bottom\">\n\t\t\t\t<Text type=\"formLabel\">Selected Audience</Text>\n\t\t\t\t{this.renderAssignedAudiences()}\n\t\t\t\t<Text type=\"formLabel\" className=\"marginTop-32\">\n\t\t\t\t\tSelect Audience\n\t\t\t\t</Text>\n\t\t\t\t{this.renderAvailableAudiences()}\n\t\t\t</div>\n\t\t);\n\t}\n\n\trender() {\n\t\treturn (\n\t\t\t<div>\n\t\t\t\t{/* <div className={this.props.className || 'padding-32 paddingVertical-40 bottomDivideBorder'}> */}\n\t\t\t\t<Text type=\"formTitleSmall\" className=\"marginBottom-16\">\n\t\t\t\t\t{this.props.title || \"Target Audience\"}\n\t\t\t\t</Text>\n\t\t\t\t<RadioButton\n\t\t\t\t\tisActive={this.state.AudienceType}\n\t\t\t\t\trowStyle={{ flexDirection: \"column\" }}\n\t\t\t\t\tbuttonStyle={{ marginBottom: 8 }}\n\t\t\t\t\toptions={this.getOptions()}\n\t\t\t\t\tdisabled={this.props.disabled}\n\t\t\t\t/>\n\t\t\t\t{this.state.AudienceType === \"Category\" && (\n\t\t\t\t\t<DropdownInput\n\t\t\t\t\t\tid=\"typeSelect\"\n\t\t\t\t\t\t// label='User Category'\n\t\t\t\t\t\talwaysShowLabel\n\t\t\t\t\t\tplaceholder=\"User Category\"\n\t\t\t\t\t\tvalue={this.getCatTitle()}\n\t\t\t\t\t\tisValid={() => {\n\t\t\t\t\t\t\treturn this.validateCategory();\n\t\t\t\t\t\t}}\n\t\t\t\t\t\tshowError={() => {\n\t\t\t\t\t\t\treturn this.state.showWarnings && !this.validateCategory();\n\t\t\t\t\t\t}}\n\t\t\t\t\t\toptions={this.state.categories}\n\t\t\t\t\t\tonSelect={this.selectCat.bind(this)}\n\t\t\t\t\t\tstyle={{ width: 325, marginTop: 16 }}\n\t\t\t\t\t\tisRequired\n\t\t\t\t\t\tdisabled={this.props.disabled}\n\t\t\t\t\t/>\n\t\t\t\t)}\n\t\t\t\t{this.state.AudienceType === \"UserType\" && (\n\t\t\t\t\t<DropdownInput\n\t\t\t\t\t\tid=\"typeSelect\"\n\t\t\t\t\t\t// label='User Type'\n\t\t\t\t\t\talwaysShowLabel\n\t\t\t\t\t\tplaceholder=\"User Type\"\n\t\t\t\t\t\tvalue={this.getTypeTitle()}\n\t\t\t\t\t\tisValid={() => {\n\t\t\t\t\t\t\treturn this.validateType();\n\t\t\t\t\t\t}}\n\t\t\t\t\t\tshowError={() => {\n\t\t\t\t\t\t\treturn this.state.showWarnings && !this.validateType();\n\t\t\t\t\t\t}}\n\t\t\t\t\t\toptions={this.state.types}\n\t\t\t\t\t\tonSelect={this.selectType.bind(this)}\n\t\t\t\t\t\tstyle={{ width: 325, marginTop: 16 }}\n\t\t\t\t\t\tisRequired\n\t\t\t\t\t\tdisabled={this.props.disabled}\n\t\t\t\t\t/>\n\t\t\t\t)}\n\t\t\t\t{this.state.AudienceType === \"UserTags\" && (\n\t\t\t\t\t<DropdownInput\n\t\t\t\t\t\tid=\"tagSelect\"\n\t\t\t\t\t\talwaysShowLabel\n\t\t\t\t\t\tplaceholder=\"User Tag\"\n\t\t\t\t\t\tvalue={this.getTagTitle()}\n\t\t\t\t\t\tisValid={() => {\n\t\t\t\t\t\t\treturn this.validateTag();\n\t\t\t\t\t\t}}\n\t\t\t\t\t\tshowError={() => {\n\t\t\t\t\t\t\treturn this.state.showWarnings && !this.validateTag();\n\t\t\t\t\t\t}}\n\t\t\t\t\t\toptions={this.state.tagList}\n\t\t\t\t\t\tonSelect={this.selectTag}\n\t\t\t\t\t\tstyle={{ width: 325, marginTop: 16 }}\n\t\t\t\t\t\tisRequired\n\t\t\t\t\t\tdisabled={this.props.disabled}\n\t\t\t\t\t/>\n\t\t\t\t)}\n\t\t\t\t{/* </div> */}\n\t\t\t\t{this.renderIncludes()}\n\t\t\t\t{this.renderExcludes()}\n\t\t\t\t{this.renderCustom()}\n\t\t\t</div>\n\t\t);\n\t}\n}\n\nconst toExport = connect(null, { setAuth }, null, { forwardRef: true })(\n\tAudienceSelector,\n);\n\nexport { toExport as AudienceSelector };\n","import React, { Component } from \"react\";\nimport { Button } from \"./Button\";\nimport { COLOUR_BRANDING_MAIN } from \"../colours\";\n\nclass TextFormatPopup extends Component {\n\trender() {\n\t\tif (!this.props.isOpen) {\n\t\t\treturn null;\n\t\t}\n\t\treturn (\n\t\t\t<div className=\"successPopupBackground pointer\">\n\t\t\t\t<div className=\"successPopup\">\n\t\t\t\t\t<p className={`successPopup_text successPopup_text-small`}>\n\t\t\t\t\t\t<br />\n\t\t\t\t\t\t<span style={{ fontWeight: 600 }}>Text formatting:</span>\n\t\t\t\t\t\t<br />\n\t\t\t\t\t\t<br />\n\t\t\t\t\t\tSurround text with <span style={{ fontWeight: 400 }}>**</span> to\n\t\t\t\t\t\tcreate bold text:\n\t\t\t\t\t\t<br />\n\t\t\t\t\t\t<span style={{ fontWeight: 400 }}>**</span>Some Text\n\t\t\t\t\t\t<span style={{ fontWeight: 400 }}>**</span> ={\" \"}\n\t\t\t\t\t\t<span style={{ fontWeight: 600 }}>Some Text</span>\n\t\t\t\t\t\t<br />\n\t\t\t\t\t\t<br />\n\t\t\t\t\t\tSurround text with <span style={{ fontWeight: 400 }}>*t*</span> to\n\t\t\t\t\t\tcreate a title:\n\t\t\t\t\t\t<br />\n\t\t\t\t\t\t<span style={{ fontWeight: 400 }}>*t*</span>Some Text\n\t\t\t\t\t\t<span style={{ fontWeight: 400 }}>*t*</span> ={\" \"}\n\t\t\t\t\t\t<span\n\t\t\t\t\t\t\tstyle={{\n\t\t\t\t\t\t\t\tfontWeight: 600,\n\t\t\t\t\t\t\t\tcolor: COLOUR_BRANDING_MAIN,\n\t\t\t\t\t\t\t\tfontSize: 20,\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\tSome Text\n\t\t\t\t\t\t</span>\n\t\t\t\t\t\t<br />\n\t\t\t\t\t\t<br />\n\t\t\t\t\t\tSurround text with <span style={{ fontWeight: 400 }}>*s*</span> to\n\t\t\t\t\t\tcreate a smaller title:\n\t\t\t\t\t\t<br />\n\t\t\t\t\t\t<span style={{ fontWeight: 400 }}>*s*</span>Some Text\n\t\t\t\t\t\t<span style={{ fontWeight: 400 }}>*s*</span> ={\" \"}\n\t\t\t\t\t\t<span style={{ fontWeight: 600, fontSize: 16 }}>Some Text</span>\n\t\t\t\t\t\t<br />\n\t\t\t\t\t\t<br />\n\t\t\t\t\t\tCreate links with{\" \"}\n\t\t\t\t\t\t<span style={{ fontWeight: 400 }}>[website|text]</span>:\n\t\t\t\t\t\t<br />\n\t\t\t\t\t\t<span style={{ fontWeight: 400 }}>\n\t\t\t\t\t\t\t[https://example.com|Click here]\n\t\t\t\t\t\t</span>{\" \"}\n\t\t\t\t\t\t={\" \"}\n\t\t\t\t\t\t<a\n\t\t\t\t\t\t\thref=\"https://example.com\"\n\t\t\t\t\t\t\ttarget=\"_blank\"\n\t\t\t\t\t\t\trel=\"noopener noreferrer\"\n\t\t\t\t\t\t\tstyle={{ fontWeight: 600, fontSize: 16 }}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\tClick here\n\t\t\t\t\t\t</a>\n\t\t\t\t\t</p>\n\t\t\t\t\t<div className=\"successPopup_buttons\">\n\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\tbuttonClassName=\"successPopup_button\"\n\t\t\t\t\t\t\tbuttonType=\"primary\"\n\t\t\t\t\t\t\tisActive\n\t\t\t\t\t\t\tonClick={this.props.onClose}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\tClose\n\t\t\t\t\t\t</Button>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t);\n\t}\n}\n\nexport { TextFormatPopup };\n","import React, { Component } from \"react\";\nimport _ from \"lodash\";\nimport { COLOUR_BRANDING_MAIN } from \"../colours\";\nimport { Icon } from \"@plusscommunities/pluss-icons\";\nimport { Text } from \"./Text\";\n\nclass OptionsSection extends Component {\n\tgetSelectedOption() {\n\t\treturn _.find(this.props.options, (o) => this.props.selected === o.key);\n\t}\n\n\tgetTitle() {\n\t\tconst selectedOption = this.getSelectedOption();\n\t\tif (!selectedOption) {\n\t\t\treturn \"\";\n\t\t}\n\t\treturn selectedOption.text;\n\t}\n\n\trenderOptionButton(o) {\n\t\tconst isSelected = this.props.selected === o.key;\n\t\treturn (\n\t\t\t<div\n\t\t\t\tclassName={`optionsButton${isSelected ? \" optionsButton-selected\" : \"\"}`}\n\t\t\t\tkey={o.key}\n\t\t\t\tonClick={() => {\n\t\t\t\t\tthis.props.selectOption(o.key);\n\t\t\t\t}}\n\t\t\t>\n\t\t\t\t<div className=\"optionsButton_iconContainer\">\n\t\t\t\t\t<Icon className=\"optionsButton_icon\" icon={o.icon} />\n\t\t\t\t</div>\n\t\t\t\t<Text type=\"formLabelSmall\" className=\"optionsButton_text\">\n\t\t\t\t\t{o.text}\n\t\t\t\t</Text>\n\t\t\t</div>\n\t\t);\n\t}\n\n\trenderContent() {\n\t\tconst selectedOption = this.getSelectedOption();\n\t\tif (selectedOption && selectedOption.content) {\n\t\t\treturn selectedOption.content;\n\t\t}\n\t\treturn this.props.children;\n\t}\n\n\trender() {\n\t\treturn (\n\t\t\t<div\n\t\t\t\tclassName={`optionsSection${this.props.overflowButtons ? \" optionsSection-overflowButtons\" : \"\"}`}\n\t\t\t>\n\t\t\t\t<div className=\"optionsSection_banner\">\n\t\t\t\t\t<div className=\"optionsSection_banner_top\">\n\t\t\t\t\t\t<Text\n\t\t\t\t\t\t\ttype=\"formTitleMedium\"\n\t\t\t\t\t\t\tclassName=\"optionsSection_banner_top_title\"\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\tMore Options\n\t\t\t\t\t\t</Text>\n\t\t\t\t\t</div>\n\t\t\t\t\t<div className=\"optionsSection_banner_buttonSection\">\n\t\t\t\t\t\t{this.props.options.map((o) => {\n\t\t\t\t\t\t\treturn this.renderOptionButton(o);\n\t\t\t\t\t\t})}\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t\t<div className=\"optionsContent\">\n\t\t\t\t\t<div className=\"optionsContent_box\">\n\t\t\t\t\t\t<div className=\"optionsContent_box_top\">\n\t\t\t\t\t\t\t<Text type=\"formTitleSmall\">{this.getTitle()}</Text>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t\t{this.renderContent()}\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t);\n\t}\n}\n\nexport { OptionsSection };\n","import React, { Component } from \"react\";\nimport { connect } from \"react-redux\";\nimport Lottie from \"react-lottie\";\nimport _ from \"lodash\";\nimport { unauthedFunction } from \"../session\";\nimport { Popup } from \"./Popup\";\nimport { GenericInput } from \"./GenericInput\";\nimport { Text } from \"./Text\";\nimport { Button } from \"./Button\";\nimport { DropdownInput } from \"./DropdownInput\";\nimport { typeActions, utilityActions } from \"../apis\";\nimport Config from \"../config\";\nimport { COLOUR_BRANDING_APP } from \"../colours\";\nimport { getPluralOptions } from \"../helper\";\n\nclass MakerPopup extends Component {\n\tconstructor(props) {\n\t\tsuper(props);\n\n\t\tthis.sizes = [\n\t\t\t{ Key: \"A3\", Title: \"A3\" },\n\t\t\t{ Key: \"A4\", Title: \"A4\" },\n\t\t\t{ Key: \"A5\", Title: \"A5\" },\n\t\t];\n\t\tthis.formats = [\n\t\t\t{ Key: \"pdf\", Title: \"PDF\" },\n\t\t\t{ Key: \"png\", Title: \"PNG\" },\n\t\t\t{ Key: \"jpg\", Title: \"JPEG\" },\n\t\t];\n\n\t\tthis.lottieAnimationUrl =\n\t\t\t\"https://pluss-prd-media.s3-ap-southeast-2.amazonaws.com/assets/lottie-layout.json\";\n\n\t\tthis.state = {\n\t\t\t...this.props.initialData,\n\t\t\tlogo: null,\n\t\t\tcolour: null,\n\t\t\tsubmitting: false,\n\t\t\tloadingBranding: true,\n\t\t\tasset: null,\n\t\t\tselectedSize: \"A4\",\n\t\t\tselectedFormat: \"pdf\",\n\t\t\tlottieConfig: {\n\t\t\t\tloop: true,\n\t\t\t\tautoplay: true,\n\t\t\t\tname: \"lottie-layout\",\n\t\t\t},\n\t\t};\n\t}\n\n\tcomponentDidMount() {\n\t\tthis.getBranding();\n\t\tthis.getLottieConfig();\n\t}\n\n\tgetBranding() {\n\t\ttypeActions.getSiteBranding(this.props.auth.site).then((res) => {\n\t\t\tconsole.log(res.data);\n\t\t\tthis.setState({\n\t\t\t\tloadingBranding: false,\n\t\t\t\tsiteName: res.data.Name,\n\t\t\t\tcolour: res.data.MainBrandingColour || COLOUR_BRANDING_APP,\n\t\t\t\tlogo: res.data.Logo || Config.env.logo,\n\t\t\t\theaderType: res.data.HeaderType || \"white\",\n\t\t\t});\n\t\t});\n\t}\n\n\tgetLottieConfig() {\n\t\tunauthedFunction({\n\t\t\tmethod: \"GET\",\n\t\t\turl: this.lottieAnimationUrl,\n\t\t}).then((res) => {\n\t\t\tthis.setState({\n\t\t\t\tlottieConfig: {\n\t\t\t\t\t...this.state.lottieConfig,\n\t\t\t\t\tanimationData: res.data,\n\t\t\t\t},\n\t\t\t});\n\t\t});\n\t}\n\n\thandleChange(key, value) {\n\t\tthis.setState({ [key]: value });\n\t}\n\n\tselectSize = (size) => {\n\t\tthis.setState({\n\t\t\tselectedSize: size,\n\t\t});\n\t};\n\n\tgetSelectedSizeTitle = () => {\n\t\treturn _.find(this.sizes, (f) => {\n\t\t\treturn f.Key === this.state.selectedSize;\n\t\t}).Title;\n\t};\n\n\tselectFormat = (format) => {\n\t\tthis.setState({\n\t\t\tselectedFormat: format,\n\t\t});\n\t};\n\n\tgetSelectedFormatTitle = () => {\n\t\treturn _.find(this.formats, (f) => {\n\t\t\treturn f.Key === this.state.selectedFormat;\n\t\t}).Title;\n\t};\n\n\tcompileData = () => {\n\t\tconst result = {};\n\t\tthis.props.inputs.forEach((input) => {\n\t\t\tresult[input.key] = this.state[input.key];\n\t\t});\n\t\tresult.colour = this.state.colour;\n\t\tresult.logo = this.state.logo;\n\t\tresult.headerType = this.state.headerType;\n\t\treturn { ...result, ...this.props.requestData };\n\t};\n\n\tcompileRequestData = () => {\n\t\tconst result = {};\n\n\t\tif (!this.props.hideFormat) {\n\t\t\tresult.format = this.state.selectedFormat;\n\t\t}\n\t\tif (!this.props.hideSize) {\n\t\t\tresult.size = this.state.selectedSize;\n\t\t}\n\t\treturn { ...result, ...this.props.requestData, data: this.compileData() };\n\t};\n\n\tisReadyToSubmit = () => {\n\t\tif (this.state.loadingBranding) {\n\t\t\treturn false;\n\t\t}\n\t\tif (this.state.submitting) {\n\t\t\treturn false;\n\t\t}\n\t\treturn true;\n\t};\n\n\tonGenerateAsset = () => {\n\t\tif (!this.isReadyToSubmit()) {\n\t\t\treturn;\n\t\t}\n\t\tconst data = this.compileRequestData();\n\t\tthis.setState({\n\t\t\tsubmitting: true,\n\t\t});\n\n\t\tutilityActions\n\t\t\t.generateMake(this.props.templateId, data)\n\t\t\t.then((res) => {\n\t\t\t\tthis.setState({\n\t\t\t\t\tsubmitting: false,\n\t\t\t\t\tasset: res.data.resultUrl,\n\t\t\t\t});\n\t\t\t})\n\t\t\t.catch((err) => {\n\t\t\t\tthis.setState({\n\t\t\t\t\tsubmitting: false,\n\t\t\t\t});\n\t\t\t});\n\t};\n\n\tdownloadAsset = () => {\n\t\twindow.open(this.state.asset, \"_blank\");\n\t};\n\n\tgetButtons() {\n\t\tif (this.state.submitting) {\n\t\t\treturn [];\n\t\t}\n\t\tif (this.state.asset) {\n\t\t\treturn [\n\t\t\t\t{\n\t\t\t\t\ttype: \"tertiary\",\n\t\t\t\t\tonClick: this.props.onClose,\n\t\t\t\t\tisActive: true,\n\t\t\t\t\ttext: \"Done\",\n\t\t\t\t},\n\t\t\t];\n\t\t}\n\t\treturn [\n\t\t\t{\n\t\t\t\ttype: \"primary\",\n\t\t\t\tonClick: this.onGenerateAsset,\n\t\t\t\tisActive: this.isReadyToSubmit(),\n\t\t\t\ttext: \"Create\",\n\t\t\t},\n\t\t\t{\n\t\t\t\ttype: \"tertiary\",\n\t\t\t\tonClick: this.props.onClose,\n\t\t\t\tisActive: true,\n\t\t\t\ttext: \"Cancel\",\n\t\t\t},\n\t\t];\n\t}\n\n\trenderInput(input) {\n\t\tif (input.type === \"array\") {\n\t\t\treturn (\n\t\t\t\t<div className=\"marginTop-16\">\n\t\t\t\t\t<Text type=\"formLabel\">{input.title}</Text>\n\t\t\t\t\t<Text type=\"body\">\n\t\t\t\t\t\t{this.state[input.key].length}{\" \"}\n\t\t\t\t\t\t{getPluralOptions(this.state[input.key].length, \"entry\", \"entries\")}\n\t\t\t\t\t</Text>\n\t\t\t\t</div>\n\t\t\t);\n\t\t}\n\t\treturn (\n\t\t\t<GenericInput\n\t\t\t\tkey={input.key}\n\t\t\t\tid={`maker_${input.key}`}\n\t\t\t\ttype={input.type}\n\t\t\t\tlabel={input.title}\n\t\t\t\tvalue={this.state[input.key]}\n\t\t\t\tonChange={(e) => this.setState({ [input.key]: e.target.value })}\n\t\t\t\talwaysShowLabel\n\t\t\t\tdisabled={input.readOnly}\n\t\t\t\tplaceholder={input.placeholder}\n\t\t\t/>\n\t\t);\n\t}\n\n\trenderContent() {\n\t\tif (this.state.submitting) {\n\t\t\treturn (\n\t\t\t\t<div className=\"flex flex-column flex-center\">\n\t\t\t\t\t{this.state.lottieConfig.animationData && (\n\t\t\t\t\t\t<Lottie\n\t\t\t\t\t\t\tkey=\"lottie-layout\"\n\t\t\t\t\t\t\theight={260}\n\t\t\t\t\t\t\twidth={260}\n\t\t\t\t\t\t\toptions={this.state.lottieConfig}\n\t\t\t\t\t\t\tisClickToPauseDisabled\n\t\t\t\t\t\t/>\n\t\t\t\t\t)}\n\t\t\t\t\t<Text type=\"h3\" className=\"marginTop-16\">\n\t\t\t\t\t\tGenerating\n\t\t\t\t\t</Text>\n\t\t\t\t</div>\n\t\t\t);\n\t\t}\n\t\tif (this.state.asset) {\n\t\t\treturn (\n\t\t\t\t<div>\n\t\t\t\t\t<Text type=\"h4\">Your file is ready</Text>\n\t\t\t\t\t<Button\n\t\t\t\t\t\tleftIcon=\"download\"\n\t\t\t\t\t\tbuttonType=\"primary\"\n\t\t\t\t\t\tonClick={this.downloadAsset}\n\t\t\t\t\t\tisActive\n\t\t\t\t\t\tclassName=\"marginTop-16\"\n\t\t\t\t\t>\n\t\t\t\t\t\tDownload\n\t\t\t\t\t</Button>\n\t\t\t\t</div>\n\t\t\t);\n\t\t}\n\t\treturn (\n\t\t\t<div>\n\t\t\t\t{!this.props.hideSize && (\n\t\t\t\t\t<DropdownInput\n\t\t\t\t\t\tid=\"size\"\n\t\t\t\t\t\tlabel=\"Size\"\n\t\t\t\t\t\tplaceholder=\"Size\"\n\t\t\t\t\t\tvalue={this.getSelectedSizeTitle()}\n\t\t\t\t\t\toptions={this.sizes}\n\t\t\t\t\t\tonSelect={this.selectSize}\n\t\t\t\t\t/>\n\t\t\t\t)}\n\t\t\t\t{!this.props.hideFormat && (\n\t\t\t\t\t<DropdownInput\n\t\t\t\t\t\tid=\"format\"\n\t\t\t\t\t\tlabel=\"Format\"\n\t\t\t\t\t\tplaceholder=\"Format\"\n\t\t\t\t\t\tvalue={this.getSelectedFormatTitle()}\n\t\t\t\t\t\toptions={this.formats}\n\t\t\t\t\t\tonSelect={this.selectFormat}\n\t\t\t\t\t/>\n\t\t\t\t)}\n\t\t\t\t{this.props.inputs.map((input) => {\n\t\t\t\t\treturn this.renderInput(input);\n\t\t\t\t})}\n\t\t\t</div>\n\t\t);\n\t}\n\n\trender() {\n\t\treturn (\n\t\t\t<Popup\n\t\t\t\ttitle={this.props.title}\n\t\t\t\tbuttons={this.getButtons()}\n\t\t\t\tonClose={this.props.onClose}\n\t\t\t\thasPadding\n\t\t\t\tminWidth={this.props.minWidth}\n\t\t\t\tmaxWidth={this.props.maxWidth}\n\t\t\t\tminHeight={this.props.minHeight}\n\t\t\t\tmaxHeight={this.props.maxHeight}\n\t\t\t>\n\t\t\t\t{this.renderContent()}\n\t\t\t</Popup>\n\t\t);\n\t}\n}\n\nconst mapStateToProps = (state) => {\n\treturn { auth: state.auth };\n};\n\nlet exportObj = connect(mapStateToProps, {})(MakerPopup);\n\nexport { exportObj as MakerPopup };\n","import React, { Component } from \"react\";\nimport _ from \"lodash\";\nimport moment from \"moment\";\nimport { Icon } from \"@plusscommunities/pluss-icons\";\nimport { CSVLink } from \"react-csv\";\nimport { Popup } from \"./Popup\";\nimport { CheckBox } from \"./CheckBox\";\nimport { GenericInput } from \"./GenericInput\";\nimport { DatePicker } from \"./DatePicker\";\nimport { Text } from \"./Text\";\n\nclass ExportCsvPopup extends Component {\n\tconstructor(props) {\n\t\tsuper(props);\n\n\t\tconst state = {\n\t\t\tcolumns: props.columns,\n\t\t\tselectedHeaders: props.columns.filter((c) => c.key && c.selected),\n\t\t\tselectedSource: [],\n\t\t\tsaving: false,\n\t\t};\n\n\t\tif (props.timestampFilter) {\n\t\t\tstate.filterDateStart = props.timestampFilter.startDate;\n\t\t\tstate.filterDateEnd = props.timestampFilter.endDate;\n\t\t}\n\n\t\tthis.state = state;\n\t}\n\n\tcanSave = () => {\n\t\treturn _.some(this.state.columns, (c) => c.selected);\n\t};\n\n\tonConfirm = () => {\n\t\treturn this.canSave();\n\t};\n\n\tonClose = () => {\n\t\tif (this.props.onClose) this.props.onClose();\n\t};\n\n\tonToggleColumn = (key) => {\n\t\tconst columns = _.cloneDeep(this.state.columns);\n\t\tconst column = columns.find((c) => c.key === key);\n\t\tif (column) {\n\t\t\tcolumn.selected = !column.selected;\n\t\t\tif (!column.key) columns.map((c) => (c.selected = column.selected)); // Toggle all\n\t\t\tconst selectedHeaders = columns.filter((c) => c.key && c.selected);\n\t\t\tthis.setState({ columns, selectedHeaders });\n\t\t}\n\t};\n\n\tonToggleStartDateFilter = () => {\n\t\tconst { filterDateStartVisible } = this.state;\n\t\tif (filterDateStartVisible) {\n\t\t\tsetTimeout(() => this.setState({ filterDateStartVisible: false }), 200);\n\t\t} else {\n\t\t\tthis.setState({ filterDateStartVisible: true });\n\t\t}\n\t};\n\n\tonToggleEndDateFilter = () => {\n\t\tconst { filterDateEndVisible } = this.state;\n\t\tif (filterDateEndVisible) {\n\t\t\tsetTimeout(() => this.setState({ filterDateEndVisible: false }), 200);\n\t\t} else {\n\t\t\tthis.setState({ filterDateEndVisible: true });\n\t\t}\n\t};\n\n\tonDateFilterStartChanged = (date) => {\n\t\tconst { filterDateEnd } = this.state;\n\t\tconst start = moment(date);\n\t\tif (start.isSameOrBefore(filterDateEnd)) {\n\t\t\tthis.setState({\n\t\t\t\tfilterDateStart: start.startOf(\"day\"),\n\t\t\t\tfilterDateStartVisible: false,\n\t\t\t});\n\t\t}\n\t};\n\n\tonDateFilterEndChanged = (date) => {\n\t\tconst { filterDateStart } = this.state;\n\t\tconst end = moment(date);\n\t\tif (end.isSameOrAfter(filterDateStart)) {\n\t\t\tthis.setState({\n\t\t\t\tfilterDateEnd: end.endOf(\"day\"),\n\t\t\t\tfilterDateEndVisible: false,\n\t\t\t});\n\t\t}\n\t};\n\n\tgetSelectedSource = () => {\n\t\tconst { source } = this.props;\n\t\tconst { selectedHeaders } = this.state;\n\n\t\tlet result = source;\n\n\t\t// apply timestamp filter\n\t\tif (this.props.timestampFilter) {\n\t\t\tconst { filterDateStart, filterDateEnd } = this.state;\n\t\t\tconst { filterKey } = this.props.timestampFilter;\n\t\t\tconst minDate = filterDateStart.valueOf();\n\t\t\tconst maxDate = filterDateEnd.valueOf();\n\t\t\tresult = _.filter(source, (item) => {\n\t\t\t\treturn item[filterKey] >= minDate && item[filterKey] <= maxDate;\n\t\t\t});\n\t\t}\n\n\t\t// map result to columns\n\t\tconst selectedheaderKeys = selectedHeaders.map((h) => h.key);\n\t\treturn result.map((i) => _.pick(i, selectedheaderKeys));\n\t};\n\n\trenderTimestampFilter = () => {\n\t\tif (!this.props.timestampFilter) {\n\t\t\treturn null;\n\t\t}\n\t\treturn (\n\t\t\t<div>\n\t\t\t\t<GenericInput\n\t\t\t\t\tid=\"dateStart\"\n\t\t\t\t\tlabel=\"Start Date\"\n\t\t\t\t\talwaysShowLabel\n\t\t\t\t\tplaceholder={\"Select start date\"}\n\t\t\t\t\tvalue={this.state.filterDateStart.format(\"DD/MM/YYYY\")}\n\t\t\t\t\tonClick={this.onToggleStartDateFilter}\n\t\t\t\t\treadOnly\n\t\t\t\t/>\n\t\t\t\t{this.state.filterDateStartVisible ? (\n\t\t\t\t\t<DatePicker\n\t\t\t\t\t\thideTop\n\t\t\t\t\t\tselectedDate={this.state.filterDateStart}\n\t\t\t\t\t\tselectDate={this.onDateFilterStartChanged}\n\t\t\t\t\t/>\n\t\t\t\t) : null}\n\t\t\t\t<GenericInput\n\t\t\t\t\tid=\"dateEnd\"\n\t\t\t\t\tlabel=\"End Date\"\n\t\t\t\t\talwaysShowLabel\n\t\t\t\t\tplaceholder={\"Select end date\"}\n\t\t\t\t\tvalue={this.state.filterDateEnd.format(\"DD/MM/YYYY\")}\n\t\t\t\t\tonClick={this.onToggleEndDateFilter}\n\t\t\t\t\treadOnly\n\t\t\t\t/>\n\t\t\t\t{this.state.filterDateEndVisible ? (\n\t\t\t\t\t<DatePicker\n\t\t\t\t\t\thideTop\n\t\t\t\t\t\tselectedDate={this.state.filterDateEnd}\n\t\t\t\t\t\tselectDate={this.onDateFilterEndChanged}\n\t\t\t\t\t/>\n\t\t\t\t) : null}\n\t\t\t</div>\n\t\t);\n\t};\n\n\trenderContent = () => {\n\t\tconst { saving, columns } = this.state;\n\n\t\tif (saving) {\n\t\t\treturn (\n\t\t\t\t<div\n\t\t\t\t\tclassName=\"marginTop-32\"\n\t\t\t\t\tstyle={{ maxWidth: 500, textAlign: \"center\" }}\n\t\t\t\t>\n\t\t\t\t\t<Icon style={{ fontSize: 30 }} icon=\"spinner\" fixedWidth pulse />\n\t\t\t\t</div>\n\t\t\t);\n\t\t}\n\n\t\tif (!columns) return null;\n\t\treturn (\n\t\t\t<div className=\"marginTop-16\">\n\t\t\t\t{columns.map((c) => {\n\t\t\t\t\treturn (\n\t\t\t\t\t\t<CheckBox\n\t\t\t\t\t\t\tkey={c.key}\n\t\t\t\t\t\t\tlabel={c.label}\n\t\t\t\t\t\t\tisActive={c.selected}\n\t\t\t\t\t\t\tonChange={() => this.onToggleColumn(c.key)}\n\t\t\t\t\t\t\tstyle={{ marginBottom: 8 }}\n\t\t\t\t\t\t/>\n\t\t\t\t\t);\n\t\t\t\t})}\n\t\t\t</div>\n\t\t);\n\t};\n\n\trender() {\n\t\tconst { selectedHeaders } = this.state;\n\t\tconst { filename } = this.props;\n\n\t\tconst buttons = [\n\t\t\t{\n\t\t\t\ttype: \"primary\",\n\t\t\t\tisActive: this.canSave(),\n\t\t\t\ttext: (\n\t\t\t\t\t<CSVLink\n\t\t\t\t\t\theaders={selectedHeaders}\n\t\t\t\t\t\tdata={this.getSelectedSource()}\n\t\t\t\t\t\tstyle={{ textDecoration: \"none\", color: \"#fff\" }}\n\t\t\t\t\t\tfilename={filename || \"export.csv\"}\n\t\t\t\t\t\tonClick={this.onConfirm}\n\t\t\t\t\t>\n\t\t\t\t\t\tConfirm\n\t\t\t\t\t</CSVLink>\n\t\t\t\t),\n\t\t\t},\n\t\t\t{\n\t\t\t\ttype: \"tertiary\",\n\t\t\t\tonClick: this.onClose,\n\t\t\t\tisActive: true,\n\t\t\t\ttext: \"Close\",\n\t\t\t},\n\t\t];\n\n\t\treturn (\n\t\t\t<Popup\n\t\t\t\ttitle=\"Confirm Export\"\n\t\t\t\tboxClasses=\"flex flex-column\"\n\t\t\t\tinnerClasses=\"flex flex-column fillSpace flex-1\"\n\t\t\t\tminWidth={500}\n\t\t\t\tmaxWidth={500}\n\t\t\t\tminHeight={\"50vh\"}\n\t\t\t\tmaxHeight={\"100vh\"}\n\t\t\t\thasPadding\n\t\t\t\tonClose={this.onClose}\n\t\t\t\tbuttons={buttons}\n\t\t\t>\n\t\t\t\t{this.renderTimestampFilter()}\n\t\t\t\t<Text type=\"bodyLarge\">\n\t\t\t\t\tSelect which columns to include in the export\n\t\t\t\t</Text>\n\t\t\t\t{this.renderContent()}\n\t\t\t</Popup>\n\t\t);\n\t}\n}\n\nexport { ExportCsvPopup };\n","import React from \"react\";\nimport { FormGroup, FormControl, FormLabel, FormText } from \"react-bootstrap\";\nimport { COLOUR_RED } from \"../colours\";\n\nfunction InputGroup({ id, label, help, showError, required, ...props }) {\n\treturn (\n\t\t<FormGroup controlId={id} validationState={showError ? \"error\" : null}>\n\t\t\t<FormLabel>\n\t\t\t\t<span>{label}</span>\n\t\t\t\t{required && (\n\t\t\t\t\t<span style={{ color: COLOUR_RED, marginLeft: 5 }}>*</span>\n\t\t\t\t)}\n\t\t\t</FormLabel>\n\t\t\t<FormControl {...props} />\n\t\t\t{help && <FormText>{help}</FormText>}\n\t\t</FormGroup>\n\t);\n}\n\nexport { InputGroup };\n","import React, { Component } from \"react\";\n\nclass Tabs extends Component {\n\tconstructor(props) {\n\t\tsuper(props);\n\n\t\tthis.state = {\n\t\t\teditKey: null,\n\t\t};\n\t}\n\n\tgetTabClass(tab) {\n\t\tlet classes = \"tab\";\n\t\tif (this.props.selectedTab === tab.value) {\n\t\t\tclasses += \" tab-selected\";\n\t\t}\n\t\tif (tab.strikethrough) {\n\t\t\tclasses += \" tab-strikethrough\";\n\t\t}\n\t\tif (tab.isInvalid) {\n\t\t\tclasses += \" tab-invalid\";\n\t\t}\n\t\treturn classes;\n\t}\n\n\trenderTab(tab) {\n\t\treturn (\n\t\t\t<div\n\t\t\t\tkey={tab.value}\n\t\t\t\tonClick={() => {\n\t\t\t\t\tthis.props.onSelectTab(tab.value);\n\t\t\t\t}}\n\t\t\t\tclassName={this.getTabClass(tab)}\n\t\t\t\tid={tab.value}\n\t\t\t\tstyle={this.props.tabStyle}\n\t\t\t>\n\t\t\t\t<p className=\"tab_text\" id={`tab_${tab.value}`}>\n\t\t\t\t\t{tab.text}\n\t\t\t\t</p>\n\t\t\t</div>\n\t\t);\n\t}\n\n\trender() {\n\t\treturn (\n\t\t\t<div\n\t\t\t\tclassName={`tabContainer ${this.props.className || \"\"}`}\n\t\t\t\tstyle={this.props.containerStyle}\n\t\t\t>\n\t\t\t\t{this.props.tabs.map((t) => {\n\t\t\t\t\treturn this.renderTab(t);\n\t\t\t\t})}\n\t\t\t\t{this.props.children}\n\t\t\t</div>\n\t\t);\n\t}\n}\n\nexport { Tabs };\n","import React, { Component } from \"react\";\nimport _ from \"lodash\";\nimport { ChromePicker } from \"react-color\";\nimport tinycolor from \"tinycolor2\";\nimport { Icon } from \"@plusscommunities/pluss-icons\";\nimport { Tabs } from \"./Tabs\";\n\nclass ColourOptions extends Component {\n\tconstructor(props) {\n\t\tsuper(props);\n\t\tthis.state = {\n\t\t\tselectedColour: props.value || \"\",\n\t\t\tcolour: props.value,\n\t\t\tselectedOption: props.defaultTab || \"vibrant\",\n\t\t\tcolourCircleTop: 0,\n\t\t\tcolourCircleLeft: 0,\n\t\t};\n\t}\n\n\tcomponentDidMount() {\n\t\tthis.setColourCircle();\n\t}\n\n\tcomponentDidUpdate(prevProps) {\n\t\tif (this.props.value !== prevProps.value) {\n\t\t\tconst { value } = this.props;\n\t\t\tthis.setState(\n\t\t\t\t{ selectedColour: value, colour: value },\n\t\t\t\tthis.setColourCircle,\n\t\t\t);\n\t\t}\n\t}\n\n\tsetColourCircle = () => {\n\t\tconst tc = tinycolor(this.state.colour);\n\t\tthis.setState({\n\t\t\tcolourCircleTop: 100 - (100 * tc.getBrightness()) / 255,\n\t\t\tcolourCircleLeft: (100 * tc.toHsv().h) / 360,\n\t\t});\n\t};\n\n\tgetQuickChoiceTabs() {\n\t\tconst { options } = this.props;\n\t\tconst optionsArray =\n\t\t\ttypeof options === \"string\"\n\t\t\t\t? options.split(\",\").map((o) => o.trim())\n\t\t\t\t: options;\n\t\tconst available = [\n\t\t\t{\n\t\t\t\tvalue: \"vibrant\",\n\t\t\t\ttext: \"Vibrant\",\n\t\t\t},\n\t\t\t{\n\t\t\t\tvalue: \"soft\",\n\t\t\t\ttext: \"Soft\",\n\t\t\t},\n\t\t\t{\n\t\t\t\tvalue: \"picker\",\n\t\t\t\ttext: \"Picker\",\n\t\t\t},\n\t\t];\n\t\treturn !optionsArray || optionsArray.length === 0\n\t\t\t? available\n\t\t\t: available.filter((o) => optionsArray.includes(o.value));\n\t}\n\n\tonColourChange = (color) => {\n\t\t// console.log('onColourChange', color);\n\t\tconst colour = (\n\t\t\ttypeof color === \"object\" ? color.hex : color\n\t\t).toUpperCase();\n\t\tthis.setState({ selectedColour: colour, colour }, () => {\n\t\t\tthis.setColourCircle();\n\t\t\tconst { onColourSelected } = this.props;\n\t\t\tif (onColourSelected) onColourSelected(this.state.colour);\n\t\t});\n\t};\n\n\tonSelectOption = (selectedOption) => {\n\t\tthis.setState({ selectedOption });\n\t};\n\n\trenderColourQuickChoicesCircle(colour, selectedColour) {\n\t\tconst isSelected = selectedColour.toLowerCase() === colour.toLowerCase();\n\t\treturn (\n\t\t\t<div\n\t\t\t\tclassName={`colourQuickChoices_circle${isSelected ? \" colourQuickChoices_circle-selected\" : \"\"}`}\n\t\t\t\tstyle={{ backgroundColor: colour }}\n\t\t\t\tonClick={() => this.onColourChange(colour)}\n\t\t\t>\n\t\t\t\t<Icon icon=\"check\" className=\"colourQuickChoices_circle_tick\" />\n\t\t\t</div>\n\t\t);\n\t}\n\n\trenderColourOptions() {\n\t\tconst { selectedColour, selectedOption } = this.state;\n\n\t\tlet content;\n\t\tswitch (selectedOption) {\n\t\t\tcase \"picker\":\n\t\t\t\tcontent = (\n\t\t\t\t\t<div\n\t\t\t\t\t\tclassName=\"flex flex-center-row colourQuickChoices\"\n\t\t\t\t\t\tstyle={{ marginBottom: \"unset\" }}\n\t\t\t\t\t>\n\t\t\t\t\t\t<ChromePicker\n\t\t\t\t\t\t\tcolor={selectedColour}\n\t\t\t\t\t\t\tonChangeComplete={this.onColourChange}\n\t\t\t\t\t\t\tdisableAlpha\n\t\t\t\t\t\t\tclassName=\"chrome-picker-noShadow\"\n\t\t\t\t\t\t/>\n\t\t\t\t\t</div>\n\t\t\t\t);\n\t\t\t\tbreak;\n\t\t\tcase \"vibrant\":\n\t\t\t\tcontent = (\n\t\t\t\t\t<div\n\t\t\t\t\t\tclassName=\"flex flex-between colourQuickChoices\"\n\t\t\t\t\t\tstyle={{ marginBottom: \"unset\" }}\n\t\t\t\t\t>\n\t\t\t\t\t\t<div className=\"colourQuickChoices_column\">\n\t\t\t\t\t\t\t{this.renderColourQuickChoicesCircle(\"#c44569\", selectedColour)}\n\t\t\t\t\t\t\t{this.renderColourQuickChoicesCircle(\"#f1a459\", selectedColour)}\n\t\t\t\t\t\t\t{this.renderColourQuickChoicesCircle(\"#38ada9\", selectedColour)}\n\t\t\t\t\t\t\t{this.renderColourQuickChoicesCircle(\"#7064a7\", selectedColour)}\n\t\t\t\t\t\t</div>\n\t\t\t\t\t\t<div className=\"colourQuickChoices_column\">\n\t\t\t\t\t\t\t{this.renderColourQuickChoicesCircle(\"#ea4c88\", selectedColour)}\n\t\t\t\t\t\t\t{this.renderColourQuickChoicesCircle(\"#e8bb67\", selectedColour)}\n\t\t\t\t\t\t\t{this.renderColourQuickChoicesCircle(\"#60a3bc\", selectedColour)}\n\t\t\t\t\t\t\t{this.renderColourQuickChoicesCircle(\"#546de5\", selectedColour)}\n\t\t\t\t\t\t</div>\n\t\t\t\t\t\t<div className=\"colourQuickChoices_column\">\n\t\t\t\t\t\t\t{this.renderColourQuickChoicesCircle(\"#e66767\", selectedColour)}\n\t\t\t\t\t\t\t{this.renderColourQuickChoicesCircle(\"#94d0c5\", selectedColour)}\n\t\t\t\t\t\t\t{this.renderColourQuickChoicesCircle(\"#5badda\", selectedColour)}\n\t\t\t\t\t\t\t{this.renderColourQuickChoicesCircle(\"#dfad8c\", selectedColour)}\n\t\t\t\t\t\t</div>\n\t\t\t\t\t\t<div className=\"colourQuickChoices_column\">\n\t\t\t\t\t\t\t{this.renderColourQuickChoicesCircle(\"#ff6c5c\", selectedColour)}\n\t\t\t\t\t\t\t{this.renderColourQuickChoicesCircle(\"#7abf9e\", selectedColour)}\n\t\t\t\t\t\t\t{this.renderColourQuickChoicesCircle(\"#9fcfd9\", selectedColour)}\n\t\t\t\t\t\t\t{this.renderColourQuickChoicesCircle(\"#dd91a7\", selectedColour)}\n\t\t\t\t\t\t</div>\n\t\t\t\t\t\t<div className=\"colourQuickChoices_column\">\n\t\t\t\t\t\t\t{this.renderColourQuickChoicesCircle(\"#f19066\", selectedColour)}\n\t\t\t\t\t\t\t{this.renderColourQuickChoicesCircle(\"#a1ab94\", selectedColour)}\n\t\t\t\t\t\t\t{this.renderColourQuickChoicesCircle(\"#a67db7\", selectedColour)}\n\t\t\t\t\t\t\t{this.renderColourQuickChoicesCircle(\"#596275\", selectedColour)}\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</div>\n\t\t\t\t);\n\t\t\t\tbreak;\n\t\t\tcase \"soft\":\n\t\t\t\tcontent = (\n\t\t\t\t\t<div\n\t\t\t\t\t\tclassName=\"flex flex-between colourQuickChoices\"\n\t\t\t\t\t\tstyle={{ marginBottom: \"unset\" }}\n\t\t\t\t\t>\n\t\t\t\t\t\t<div className=\"colourQuickChoices_column\">\n\t\t\t\t\t\t\t{this.renderColourQuickChoicesCircle(\"#eacdd0\", selectedColour)}\n\t\t\t\t\t\t\t{this.renderColourQuickChoicesCircle(\"#a4c9d7\", selectedColour)}\n\t\t\t\t\t\t\t{this.renderColourQuickChoicesCircle(\"#c6b9c0\", selectedColour)}\n\t\t\t\t\t\t\t{this.renderColourQuickChoicesCircle(\"#cdc4af\", selectedColour)}\n\t\t\t\t\t\t</div>\n\t\t\t\t\t\t<div className=\"colourQuickChoices_column\">\n\t\t\t\t\t\t\t{this.renderColourQuickChoicesCircle(\"#d6b7b1\", selectedColour)}\n\t\t\t\t\t\t\t{this.renderColourQuickChoicesCircle(\"#eaf2f4\", selectedColour)}\n\t\t\t\t\t\t\t{this.renderColourQuickChoicesCircle(\"#cce0db\", selectedColour)}\n\t\t\t\t\t\t\t{this.renderColourQuickChoicesCircle(\"#b9bee4\", selectedColour)}\n\t\t\t\t\t\t</div>\n\t\t\t\t\t\t<div className=\"colourQuickChoices_column\">\n\t\t\t\t\t\t\t{this.renderColourQuickChoicesCircle(\"#9bd3cb\", selectedColour)}\n\t\t\t\t\t\t\t{this.renderColourQuickChoicesCircle(\"#f1d7bb\", selectedColour)}\n\t\t\t\t\t\t\t{this.renderColourQuickChoicesCircle(\"#fcbc7b\", selectedColour)}\n\t\t\t\t\t\t\t{this.renderColourQuickChoicesCircle(\"#caeff5\", selectedColour)}\n\t\t\t\t\t\t</div>\n\t\t\t\t\t\t<div className=\"colourQuickChoices_column\">\n\t\t\t\t\t\t\t{this.renderColourQuickChoicesCircle(\"#e0dceb\", selectedColour)}\n\t\t\t\t\t\t\t{this.renderColourQuickChoicesCircle(\"#b1becd\", selectedColour)}\n\t\t\t\t\t\t\t{this.renderColourQuickChoicesCircle(\"#e6cfc5\", selectedColour)}\n\t\t\t\t\t\t\t{this.renderColourQuickChoicesCircle(\"#cfd6df\", selectedColour)}\n\t\t\t\t\t\t</div>\n\t\t\t\t\t\t<div className=\"colourQuickChoices_column\">\n\t\t\t\t\t\t\t{this.renderColourQuickChoicesCircle(\"#f39ca4\", selectedColour)}\n\t\t\t\t\t\t\t{this.renderColourQuickChoicesCircle(\"#c0adc5\", selectedColour)}\n\t\t\t\t\t\t\t{this.renderColourQuickChoicesCircle(\"#fcbca4\", selectedColour)}\n\t\t\t\t\t\t\t{this.renderColourQuickChoicesCircle(\"#c5ceb9\", selectedColour)}\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</div>\n\t\t\t\t);\n\t\t\t\tbreak;\n\t\t\tdefault:\n\t\t\t\tcontent = null;\n\t\t\t\tbreak;\n\t\t}\n\t\tconst tabs = this.getQuickChoiceTabs();\n\n\t\treturn (\n\t\t\t<div>\n\t\t\t\t{tabs && tabs.length > 1 ? (\n\t\t\t\t\t<Tabs\n\t\t\t\t\t\tonSelectTab={this.onSelectOption}\n\t\t\t\t\t\tselectedTab={selectedOption}\n\t\t\t\t\t\ttabs={tabs}\n\t\t\t\t\t\tcontainerStyle={{ display: \"flex\" }}\n\t\t\t\t\t\ttabStyle={{ flex: 1 }}\n\t\t\t\t\t/>\n\t\t\t\t) : null}\n\t\t\t\t<div className=\"flex flex-center flex-center-row\">{content}</div>\n\t\t\t</div>\n\t\t);\n\t}\n\n\trender() {\n\t\treturn this.renderColourOptions();\n\t}\n}\n\nexport { ColourOptions };\n","import React, { Component } from \"react\";\nimport _ from \"lodash\";\nimport { ChromePicker } from \"react-color\";\nimport tinycolor from \"tinycolor2\";\nimport { Popup } from \"./Popup\";\nimport { Icon } from \"@plusscommunities/pluss-icons\";\nimport { Tabs } from \"./Tabs\";\n\nclass ColourPicker extends Component {\n\tconstructor(props) {\n\t\tsuper(props);\n\t\tthis.state = {\n\t\t\tselectedColour: props.value,\n\t\t\tcolour: props.value,\n\t\t\tselectedOption: props.defaultTab || \"vibrant\",\n\t\t\tcolourPickerOpen: false,\n\t\t\tcolourCircleTop: 0,\n\t\t\tcolourCircleLeft: 0,\n\t\t};\n\t}\n\n\tcomponentDidMount() {\n\t\tthis.setColourCircle();\n\t}\n\n\tcomponentDidUpdate(prevProps) {\n\t\tif (this.props.value !== prevProps.value) {\n\t\t\tconst { value } = this.props;\n\t\t\tthis.setState(\n\t\t\t\t{ selectedColour: value, colour: value },\n\t\t\t\tthis.setColourCircle,\n\t\t\t);\n\t\t}\n\t}\n\n\tsetColourCircle = () => {\n\t\tconst tc = tinycolor(this.state.colour);\n\t\tthis.setState({\n\t\t\tcolourCircleTop: 100 - (100 * tc.getBrightness()) / 255,\n\t\t\tcolourCircleLeft: (100 * tc.toHsv().h) / 360,\n\t\t});\n\t};\n\n\tgetQuickChoiceTabs() {\n\t\tconst { options } = this.props;\n\t\tconst optionsArray =\n\t\t\ttypeof options === \"string\"\n\t\t\t\t? options.split(\",\").map((o) => o.trim())\n\t\t\t\t: options;\n\t\tconst available = [\n\t\t\t{\n\t\t\t\tvalue: \"vibrant\",\n\t\t\t\ttext: \"Vibrant\",\n\t\t\t},\n\t\t\t{\n\t\t\t\tvalue: \"soft\",\n\t\t\t\ttext: \"Soft\",\n\t\t\t},\n\t\t\t{\n\t\t\t\tvalue: \"picker\",\n\t\t\t\ttext: \"Picker\",\n\t\t\t},\n\t\t];\n\t\treturn !optionsArray || optionsArray.length === 0\n\t\t\t? available\n\t\t\t: available.filter((o) => optionsArray.includes(o.value));\n\t}\n\n\tonTogglePopup = () => {\n\t\tif (this.props.disabled) return;\n\t\tthis.setState({ colourPickerOpen: !this.state.colourPickerOpen });\n\t};\n\n\tonColourChange = (color) => {\n\t\t// console.log('onColourChange', color);\n\t\tlet colour = color;\n\t\tif (typeof color === \"object\") {\n\t\t\tcolour = color.hex;\n\t\t}\n\t\tthis.setState({ selectedColour: colour.toUpperCase() });\n\t};\n\n\tonSelectOption = (selectedOption) => {\n\t\tthis.setState({ selectedOption });\n\t};\n\n\tonDone = () => {\n\t\tconst { colourPickerOpen, selectedColour } = this.state;\n\t\tthis.setState(\n\t\t\t{ colourPickerOpen: !colourPickerOpen, colour: selectedColour },\n\t\t\t() => {\n\t\t\t\tthis.setColourCircle();\n\n\t\t\t\tconst { onColourSelected } = this.props;\n\t\t\t\tif (onColourSelected) onColourSelected(this.state.colour);\n\t\t\t},\n\t\t);\n\t};\n\n\tonCancel = () => {\n\t\tconst { colourPickerOpen, colour } = this.state;\n\t\tthis.setState({\n\t\t\tcolourPickerOpen: !colourPickerOpen,\n\t\t\tselectedColour: colour,\n\t\t});\n\t};\n\n\trenderColourQuickChoicesCircle(colour, selectedColour) {\n\t\tconst isSelected = selectedColour.toLowerCase() === colour.toLowerCase();\n\t\treturn (\n\t\t\t<div\n\t\t\t\tclassName={`colourQuickChoices_circle${isSelected ? \" colourQuickChoices_circle-selected\" : \"\"}`}\n\t\t\t\tstyle={{ backgroundColor: colour }}\n\t\t\t\tonClick={() => this.onColourChange(colour)}\n\t\t\t>\n\t\t\t\t<Icon icon=\"check\" className=\"colourQuickChoices_circle_tick\" />\n\t\t\t</div>\n\t\t);\n\t}\n\n\trenderColourOptions() {\n\t\tconst { selectedColour, selectedOption } = this.state;\n\n\t\tlet content;\n\t\tswitch (selectedOption) {\n\t\t\tcase \"picker\":\n\t\t\t\tcontent = (\n\t\t\t\t\t<div\n\t\t\t\t\t\tclassName=\"flex flex-center-row colourQuickChoices\"\n\t\t\t\t\t\tstyle={{ marginBottom: \"unset\" }}\n\t\t\t\t\t>\n\t\t\t\t\t\t<ChromePicker\n\t\t\t\t\t\t\tcolor={selectedColour}\n\t\t\t\t\t\t\tonChangeComplete={this.onColourChange}\n\t\t\t\t\t\t\tdisableAlpha\n\t\t\t\t\t\t\tclassName=\"chrome-picker-noShadow\"\n\t\t\t\t\t\t/>\n\t\t\t\t\t</div>\n\t\t\t\t);\n\t\t\t\tbreak;\n\t\t\tcase \"vibrant\":\n\t\t\t\tcontent = (\n\t\t\t\t\t<div\n\t\t\t\t\t\tclassName=\"flex flex-between colourQuickChoices\"\n\t\t\t\t\t\tstyle={{ marginBottom: \"unset\" }}\n\t\t\t\t\t>\n\t\t\t\t\t\t<div className=\"colourQuickChoices_column\">\n\t\t\t\t\t\t\t{this.renderColourQuickChoicesCircle(\"#c44569\", selectedColour)}\n\t\t\t\t\t\t\t{this.renderColourQuickChoicesCircle(\"#f1a459\", selectedColour)}\n\t\t\t\t\t\t\t{this.renderColourQuickChoicesCircle(\"#38ada9\", selectedColour)}\n\t\t\t\t\t\t\t{this.renderColourQuickChoicesCircle(\"#7064a7\", selectedColour)}\n\t\t\t\t\t\t</div>\n\t\t\t\t\t\t<div className=\"colourQuickChoices_column\">\n\t\t\t\t\t\t\t{this.renderColourQuickChoicesCircle(\"#ea4c88\", selectedColour)}\n\t\t\t\t\t\t\t{this.renderColourQuickChoicesCircle(\"#e8bb67\", selectedColour)}\n\t\t\t\t\t\t\t{this.renderColourQuickChoicesCircle(\"#60a3bc\", selectedColour)}\n\t\t\t\t\t\t\t{this.renderColourQuickChoicesCircle(\"#546de5\", selectedColour)}\n\t\t\t\t\t\t</div>\n\t\t\t\t\t\t<div className=\"colourQuickChoices_column\">\n\t\t\t\t\t\t\t{this.renderColourQuickChoicesCircle(\"#e66767\", selectedColour)}\n\t\t\t\t\t\t\t{this.renderColourQuickChoicesCircle(\"#94d0c5\", selectedColour)}\n\t\t\t\t\t\t\t{this.renderColourQuickChoicesCircle(\"#5badda\", selectedColour)}\n\t\t\t\t\t\t\t{this.renderColourQuickChoicesCircle(\"#dfad8c\", selectedColour)}\n\t\t\t\t\t\t</div>\n\t\t\t\t\t\t<div className=\"colourQuickChoices_column\">\n\t\t\t\t\t\t\t{this.renderColourQuickChoicesCircle(\"#ff6c5c\", selectedColour)}\n\t\t\t\t\t\t\t{this.renderColourQuickChoicesCircle(\"#7abf9e\", selectedColour)}\n\t\t\t\t\t\t\t{this.renderColourQuickChoicesCircle(\"#9fcfd9\", selectedColour)}\n\t\t\t\t\t\t\t{this.renderColourQuickChoicesCircle(\"#dd91a7\", selectedColour)}\n\t\t\t\t\t\t</div>\n\t\t\t\t\t\t<div className=\"colourQuickChoices_column\">\n\t\t\t\t\t\t\t{this.renderColourQuickChoicesCircle(\"#f19066\", selectedColour)}\n\t\t\t\t\t\t\t{this.renderColourQuickChoicesCircle(\"#a1ab94\", selectedColour)}\n\t\t\t\t\t\t\t{this.renderColourQuickChoicesCircle(\"#a67db7\", selectedColour)}\n\t\t\t\t\t\t\t{this.renderColourQuickChoicesCircle(\"#596275\", selectedColour)}\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</div>\n\t\t\t\t);\n\t\t\t\tbreak;\n\t\t\tcase \"soft\":\n\t\t\t\tcontent = (\n\t\t\t\t\t<div\n\t\t\t\t\t\tclassName=\"flex flex-between colourQuickChoices\"\n\t\t\t\t\t\tstyle={{ marginBottom: \"unset\" }}\n\t\t\t\t\t>\n\t\t\t\t\t\t<div className=\"colourQuickChoices_column\">\n\t\t\t\t\t\t\t{this.renderColourQuickChoicesCircle(\"#eacdd0\", selectedColour)}\n\t\t\t\t\t\t\t{this.renderColourQuickChoicesCircle(\"#a4c9d7\", selectedColour)}\n\t\t\t\t\t\t\t{this.renderColourQuickChoicesCircle(\"#c6b9c0\", selectedColour)}\n\t\t\t\t\t\t\t{this.renderColourQuickChoicesCircle(\"#cdc4af\", selectedColour)}\n\t\t\t\t\t\t</div>\n\t\t\t\t\t\t<div className=\"colourQuickChoices_column\">\n\t\t\t\t\t\t\t{this.renderColourQuickChoicesCircle(\"#d6b7b1\", selectedColour)}\n\t\t\t\t\t\t\t{this.renderColourQuickChoicesCircle(\"#eaf2f4\", selectedColour)}\n\t\t\t\t\t\t\t{this.renderColourQuickChoicesCircle(\"#cce0db\", selectedColour)}\n\t\t\t\t\t\t\t{this.renderColourQuickChoicesCircle(\"#b9bee4\", selectedColour)}\n\t\t\t\t\t\t</div>\n\t\t\t\t\t\t<div className=\"colourQuickChoices_column\">\n\t\t\t\t\t\t\t{this.renderColourQuickChoicesCircle(\"#9bd3cb\", selectedColour)}\n\t\t\t\t\t\t\t{this.renderColourQuickChoicesCircle(\"#f1d7bb\", selectedColour)}\n\t\t\t\t\t\t\t{this.renderColourQuickChoicesCircle(\"#fcbc7b\", selectedColour)}\n\t\t\t\t\t\t\t{this.renderColourQuickChoicesCircle(\"#caeff5\", selectedColour)}\n\t\t\t\t\t\t</div>\n\t\t\t\t\t\t<div className=\"colourQuickChoices_column\">\n\t\t\t\t\t\t\t{this.renderColourQuickChoicesCircle(\"#e0dceb\", selectedColour)}\n\t\t\t\t\t\t\t{this.renderColourQuickChoicesCircle(\"#b1becd\", selectedColour)}\n\t\t\t\t\t\t\t{this.renderColourQuickChoicesCircle(\"#e6cfc5\", selectedColour)}\n\t\t\t\t\t\t\t{this.renderColourQuickChoicesCircle(\"#cfd6df\", selectedColour)}\n\t\t\t\t\t\t</div>\n\t\t\t\t\t\t<div className=\"colourQuickChoices_column\">\n\t\t\t\t\t\t\t{this.renderColourQuickChoicesCircle(\"#f39ca4\", selectedColour)}\n\t\t\t\t\t\t\t{this.renderColourQuickChoicesCircle(\"#c0adc5\", selectedColour)}\n\t\t\t\t\t\t\t{this.renderColourQuickChoicesCircle(\"#fcbca4\", selectedColour)}\n\t\t\t\t\t\t\t{this.renderColourQuickChoicesCircle(\"#c5ceb9\", selectedColour)}\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</div>\n\t\t\t\t);\n\t\t\t\tbreak;\n\t\t\tdefault:\n\t\t\t\tcontent = null;\n\t\t\t\tbreak;\n\t\t}\n\t\tconst tabs = this.getQuickChoiceTabs();\n\n\t\treturn (\n\t\t\t<div>\n\t\t\t\t{tabs && tabs.length > 1 ? (\n\t\t\t\t\t<Tabs\n\t\t\t\t\t\tonSelectTab={this.onSelectOption}\n\t\t\t\t\t\tselectedTab={selectedOption}\n\t\t\t\t\t\ttabs={tabs}\n\t\t\t\t\t/>\n\t\t\t\t) : null}\n\t\t\t\t<div className=\"flex flex-center flex-center-row\">{content}</div>\n\t\t\t</div>\n\t\t);\n\t}\n\n\trenderColourPopup() {\n\t\tconst { colourPickerOpen } = this.state;\n\t\tif (!colourPickerOpen) return null;\n\t\tconst { title } = this.props;\n\n\t\treturn (\n\t\t\t<Popup\n\t\t\t\ttitle={title || `Colour Picker`}\n\t\t\t\tmaxWidth={500}\n\t\t\t\thasPadding\n\t\t\t\tbuttons={[\n\t\t\t\t\t{\n\t\t\t\t\t\ttype: \"primary\",\n\t\t\t\t\t\tonClick: this.onDone,\n\t\t\t\t\t\tstyle: { width: 100 },\n\t\t\t\t\t\tisActive: true,\n\t\t\t\t\t\ttext: \"Done\",\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\ttype: \"outlinedAction\",\n\t\t\t\t\t\tonClick: this.onCancel,\n\t\t\t\t\t\tstyle: { width: 100 },\n\t\t\t\t\t\tisActive: true,\n\t\t\t\t\t\ttext: \"Cancel\",\n\t\t\t\t\t},\n\t\t\t\t]}\n\t\t\t>\n\t\t\t\t{this.renderColourOptions()}\n\t\t\t</Popup>\n\t\t);\n\t}\n\n\trender() {\n\t\tconst { colourCircleTop, colourCircleLeft, colour } = this.state;\n\t\tconst { children, showHex } = this.props;\n\n\t\treturn (\n\t\t\t<div>\n\t\t\t\t<div className=\"flex flex-center\">\n\t\t\t\t\t{children ? (\n\t\t\t\t\t\t<div onClick={this.onTogglePopup}>{children}</div>\n\t\t\t\t\t) : (\n\t\t\t\t\t\t<div\n\t\t\t\t\t\t\tclassName=\"colourPicker_button\"\n\t\t\t\t\t\t\tstyle={{ width: 80, marginBottom: \"unset\" }}\n\t\t\t\t\t\t\tonClick={this.onTogglePopup}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<div className=\"colourPicker_rainbow\">\n\t\t\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t\t\tclassName=\"colourPicker_rainbow_circle\"\n\t\t\t\t\t\t\t\t\tstyle={{\n\t\t\t\t\t\t\t\t\t\ttop: `${colourCircleTop}%`,\n\t\t\t\t\t\t\t\t\t\tleft: `${colourCircleLeft}%`,\n\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t></div>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t)}\n\t\t\t\t\t{showHex ? (\n\t\t\t\t\t\t<div className=\"marginLeft-10\">\n\t\t\t\t\t\t\t{colour && colour.toUpperCase()}\n\t\t\t\t\t\t</div>\n\t\t\t\t\t) : null}\n\t\t\t\t</div>\n\t\t\t\t{this.renderColourPopup()}\n\t\t\t</div>\n\t\t);\n\t}\n}\n\nexport { ColourPicker };\n","import React from \"react\";\nimport { Link } from \"react-router-dom\";\nimport { Icon } from \"@plusscommunities/pluss-icons\";\nimport { Text } from \"./Text\";\n\n// StatBox Component\nconst StatBox = ({\n\ttitle,\n\ticon,\n\tvalue,\n\tpreviousValue,\n\tprevText,\n\tviewGraphLink,\n\tisLoading,\n}) => {\n\tlet change = (value / previousValue - 1) * 100;\n\tif (isNaN(change)) {\n\t\tchange = 0;\n\t}\n\tif (!isFinite(change)) {\n\t\tchange = 100;\n\t}\n\tchange = parseInt(change);\n\tconst opacity = isLoading ? 0 : 1;\n\treturn (\n\t\t<div\n\t\t\tclassName={`dashboardBox dashboardBox-stats dashboardBox-inline${change > 0 ? \" dashboardBox-stats-positive\" : \"\"}${\n\t\t\t\tchange < 0 ? \" dashboardBox-stats-negative\" : \"\"\n\t\t\t}`}\n\t\t>\n\t\t\t<div className=\"dashboardBox-stats_title\">\n\t\t\t\t<Text type=\"h6\">{title}</Text>\n\t\t\t</div>\n\t\t\t<div className=\"dashboardBox-stats_mid\" style={{ opacity }}>\n\t\t\t\t<Icon className=\"dashboardBox-stats_icon\" icon={icon} />\n\t\t\t\t<Text type=\"h2\" className=\"dashboardBox-stats_count\">\n\t\t\t\t\t{value}\n\t\t\t\t</Text>\n\t\t\t\t<p className=\"dashboardBox-stats_change\">\n\t\t\t\t\t{change === 0 ? \"No change\" : `${change}% ${change < 0 ? \"↓\" : \"↑\"}`}\n\t\t\t\t</p>\n\t\t\t</div>\n\t\t\t<Text type=\"help\" style={{ opacity }}>\n\t\t\t\tCompared to {prevText}\n\t\t\t</Text>\n\t\t\t{viewGraphLink && (\n\t\t\t\t<Link to={`${viewGraphLink}&title=${title}`}>\n\t\t\t\t\t<Text type=\"h5-noUpper\" className=\"text-link marginTop-10\">\n\t\t\t\t\t\t<Icon icon=\"chart-line\" style={{ marginRight: 4 }} />\n\t\t\t\t\t\tView Graph\n\t\t\t\t\t</Text>\n\t\t\t\t</Link>\n\t\t\t)}\n\t\t</div>\n\t);\n};\n\nexport { StatBox };\n","const HelpGuide = {\n\tDashboard: \"https://www.plusscommunities.com/user-guide\",\n\tFeaturePicker:\n\t\t\"https://www.plusscommunities.com/getting-started-on-community-manager\",\n\tNews: \"https://www.plusscommunities.com/news-feature\",\n\tEvents: \"https://www.plusscommunities.com/events-feature\",\n\tAlerts: \"https://www.plusscommunities.com/alerts-feature\",\n\tGallery: \"https://www.plusscommunities.com/gallery-feature\",\n\tGroups: \"https://www.plusscommunities.com/groups-feature\",\n\tMaintenance: \"https://www.plusscommunities.com/maintenance-feature\",\n\tFacilities: \"https://www.plusscommunities.com/facilities-feature\",\n\tServices: \"https://www.plusscommunities.com/services-feature\",\n\tOffers: \"https://www.plusscommunities.com/offers-feature\",\n\tSurvey: \"https://www.plusscommunities.com/surveys-feature\",\n\tInformation: \"https://www.plusscommunities.com/information-feature\",\n\tUsers: \"https://www.plusscommunities.com/managing-your-users\",\n\tPayment: \"https://www.plusscommunities.com/setting-up-your-payment-gateway\",\n};\n\nexport const Urls = {\n\tHelpGuide,\n};\n","import _ from \"lodash\";\n\nimport { TEMPLATES_LOADED, TEMPLATE_REMOVED } from \"../actions/types\";\n\nconst INITIAL_STATE = {\n\tlist: [],\n};\n\nexport default (state = INITIAL_STATE, action) => {\n\tswitch (action.type) {\n\t\tcase TEMPLATES_LOADED:\n\t\t\tconst result = _.unionWith(action.payload, state.list, (v1, v2) => {\n\t\t\t\treturn v1 != null && v2 != null && v1.RowId === v2.RowId;\n\t\t\t});\n\t\t\treturn { ...state, list: result };\n\t\tcase TEMPLATE_REMOVED:\n\t\t\tconst index = _.findIndex(state.list, (app) => {\n\t\t\t\treturn app != null && app.RowId === action.payload;\n\t\t\t});\n\t\t\tif (index > -1) {\n\t\t\t\tconst newTemplates = [...state.list];\n\t\t\t\tnewTemplates.splice(index, 1);\n\t\t\t\treturn { ...state, list: newTemplates };\n\t\t\t}\n\t\t\treturn state;\n\t\tdefault:\n\t\t\treturn state;\n\t}\n};\n","import { SCHEDULED_ACTIONS_LOADED } from \"../actions/types\";\n\nconst INITIAL_STATE = {\n\tlist: [],\n};\n\nexport default (state = INITIAL_STATE, action) => {\n\tswitch (action.type) {\n\t\tcase SCHEDULED_ACTIONS_LOADED:\n\t\t\treturn { ...state, list: action.payload };\n\t\tdefault:\n\t\t\treturn state;\n\t}\n};\n","import TemplatesReducer from \"./TemplatesReducer\";\nimport ScheduledActionsReducer from \"./ScheduledActionsReducer\";\n\nexport const Reducers = {\n\ttemplates: TemplatesReducer,\n\tscheduledActions: ScheduledActionsReducer,\n};\n","// Categories for organising permissions\nexport const PERMISSION_CATEGORIES = {\n\tUSER_MANAGEMENT: \"User Management\",\n\tEVENTS: \"Events\",\n\tCOMMUNICATION: \"Communication\",\n\tFACILITIES_BOOKINGS: \"Facilities & Bookings\",\n\tSITE_ADMINISTRATION: \"Site Administration\",\n\tPAYMENTS: \"Payments\",\n\tCONTENT: \"Content Management\",\n\tEXTRAS: \"Extras\",\n\tPROFILE_SETTINGS: \"Profile Settings\",\n\tUSER_FEATURES: \"User Features\",\n};\n\n// NOTE: important and optional are currently hidden\nexport const IMPORTANCE_LEVELS = {\n\tCRITICAL: \"critical\",\n\tIMPORTANT: \"important\",\n\tOPTIONAL: \"optional\",\n};\n"],"names":["CoreConfig","env","baseStage","baseAPIUrl","baseUploadsUrl","baseLibraryUrl","uploadBucket","colourBrandingMain","colourBrandingOff","colourBrandingApp","defaultProfileImage","utcOffset","hasAvailableNews","newsHaveTags","defaultAllowComments","makeApiKey","logo","clientName","init","environment","getSessionTokenAWS","_ref","_asyncToGenerator","prefix","data","Auth","currentSession","token","getAccessToken","getJwtToken","_","isUndefined","concat","_x","apply","arguments","authedFunction","_ref2","request","authkey","headers","axios","error","console","_x2","unauthedFunction","getCurrentUserSub","_ref3","user","currentUserInfo","id","checkLoggedIn","_ref4","self","currentAuthenticatedUser","username","log","props","history","push","_x3","isTheBest","auth","isPlussSpaceMaster","validateAccess","site","type","noRole","roles","Roles","isEmpty","some","r","role","find","Permissions","includes","getApiError","errorData","response","errorMessage","e","isTVEnabled","interfaces","feature","t","Type","Settings","widgets","f","key","compileStats","stats","totalStats","Object","keys","forEach","activityId","Array","isArray","prototype","uniq","getInsight","previousStats","source","activity","top","Stats","entityId","entity","s","Entity","PreviousStats","getAnalyticsFilterOptions","text","dayCount","prevText","countActivities","activityKey","countType","count","set","Set","entry","entityStats","add","values","value","size","generateDateRangeObjects","startTime","endTime","groupBy","length","undefined","startDate","moment","endDate","dates","isSameOrBefore","dateString","format","Date","Timestamp","valueOf","generateDateActivities","result","formatToUse","labelFormat","d","datesToUse","filter","date","compiledValue","label","getUrl","baseAction","action","query","url","stage","Config","queryPart","index","encodeURIComponent","getUrlParams","vars","window","location","href","replace","m","safeReadParams","match","params","getUserFromState","state","getAppColourFromState","siteBranding","MainBrandingColour","getExtension","fileSplit","split","toLowerCase","isVideo","extension","get1400","indexOf","urlToUse","substring","generateImageName","name","c","Math","random","v","toString","getFileName","noExtension","getThumb300","getFirstName","string","isEmail","email","atpos","dotpos","lastIndexOf","isUrl","randomString","toParagraphed","style","textSplit","map","i","_jsx","_objectSpread","display","children","onlyAlphanumeric","input","htmlDecode","$","html","htmlEncode","getSiteName","sites","siteObject","Id","siteName","getSiteNameFromRoles","siteInfo","getSiteSettingFromState","defaultValue","siteSettings","getSiteLevelFromState","siteType","siteConfig","featurePickerUrl","hasTV","hasKiosk","hasPayments","hasLinkedContent","hasPersonalNotes","hasEmergencyContacts","hasPersonalDocuments","getMerchantsFromState","currentSite","Accounts","readJSONFromStorage","storage","fallback","getItem","JSON","parse","setLocalStorage","isJson","localStorage","setItem","stringify","readStorageWithCookie","Cookies","getJSON","get","getTimepickerTime","timeSplit","parseInt","hours","minutes","timeToMinutes","time","hasTimeframeOverlap","aStart","aEnd","bStart","bEnd","timepickerToMinutes","getDateFromTimeDatePickers","dateInput","timeInput","dateObject","setHours","setMinutes","formatTime","period","adjustedHours","adjustedMinutes","String","padStart","minutesToString","isTimeOfDay","floor","remainingMinutes","hoursString","minutesString","getUTCFromTimeDatePickers","utc","getPluralS","getPluralOptions","singular","plural","setChatUser","openChat","hideChat","COLOUR_BRANDING_MAIN","COLOUR_BRANDING_OFF","COLOUR_BRANDING_ACTION","COLOUR_BRANDING_INACTIVE","TEXT_LIGHT","COLOUR_DUSK","COLOUR_DUSK_LIGHT","COLOUR_DUSK_LIGHTER","LINEGREY","COLOUR_RED","COLOUR_GREEN","COLOUR_LIGHTGREY","INACTIVE_TEXT","COLOUR_BRANDING_APP","hexToRGB","hex","shorthandRegex","g","b","exec","hexToRGBAstring","opacity","SET_AUTH","LOGOUT","CHANGE_SITE","UPDATE_PROFILE","ADD_RECENTLY_CREATED","USERS_LOADED","USER_REMOVED","USERS_PURGE","USERS_LOADING","USERS_RESIDENT_COUNT_SET","INVITE_CODES_LOADED","INVITE_CODE_UPDATED","INVITE_CODE_REMOVED","SET_NAV_DATA","TEMPLATES_LOADED","TEMPLATE_REMOVED","SCHEDULED_ACTIONS_LOADED","setAuth","stuff","payload","setAuthUser","dispatch","originalSite","setRemember","chooken","setAuthLocation","updateProfile","changes","addRecentlyCreated","analyticsActions","actionType","entityType","method","getEntityStats","getActivityLog","minTime","maxTime","getAggregateUserStats","getAggregateEntityStats","raw","authActions","checkUserAuth","userId","fetchForgotPasswordId","phoneNumber","authorization","disableUser","getUserSignin","_getUserSignin","copyDummy","CanvasImageUploader","options","maxSize","jpegQuality","image","imageData","base64toBlob","base64Data","contentType","sliceSize","byteCharacters","atob","byteArrays","offset","slice","byteNumbers","charCodeAt","byteArray","Uint8Array","Blob","calculateSize","width","height","ratio","setDimensions","$canvas","attr","drawOnCanvas","canvas","ctx","getContext","clearRect","drawImage","readImageToCanvasOnLoad","callback","warn","newImage","Image","getImageData","copyToCanvas","$destination","destCtx","readImageToCanvas","file","reader","FileReader","onload","fileReaderEvent","src","target","readAsDataURL","saveCanvasToImageData","base64","toDataURL","fileActions","uploadMediaAsync","_uploadMediaAsync","filename","newFilename","Storage","put","level","bucket","compressImage","quality","noCompress","Promise","resolve","reject","css","append","canvasUploader","blobToFile","theBlob","fileName","File","lastModified","putCanvas","img","getTrimmedCanvas","Buffer","from","off","imgName","then","res","catch","err","getMediaFolders","addMediaFolder","published","updateMediaFolder","deleteMediaFolder","addImagesToFolder","images","deleteImagesFromFolder","getMediaLibrary","typeActions","getSubdomains","getSubdomain","updateSubdomain","background","Key","Background","getSites","getSite","_getSite","getUserTypes","setTypePermissions","adminId","deleteUserType","createNewSite","signUpNewSite","getInterface","getInterfaces","q","deleteInterface","saveInterface","title","settings","attachInterface","typeName","interfaceId","getSiteBranding","generateSiteBranding","editSiteBranding","branding","editSiteSettings","getDefaultTVSettings","getDefaultTabSettings","tabTitle","isEnabled","widgetOptions","stringActions","getString","useDefault","setString","userActions","createNewUser","userExtra","bulkNewUser","users","sendWelcome","getbulks","fetchUsers","fetchInitialPasswords","fetchUser","updateUser","getSiteResidentsCount","isCount","sendWelcomeEmail","sendWelcomeText","getInviteCode","generateInviteCode","createInviteCode","userType","expiry","editInviteCode","code","deleteInviteCode","getInviteCodes","excludeFamily","getInviteCodeByCode","details","profileActions","addEC","phone","relationship","editEC","deleteEC","getECs","addPD","isPublic","editPD","deletePD","getPDs","addPN","attachments","editPN","deletePN","getPNs","addUserTag","editUserTag","deleteUserTag","attachUserTag","tagId","detachUserTag","getUserTagsByUser","getUserTagsBySite","utilityActions","getUpvotyToken","getBoardHash","getRoadmapHash","generateMake","templateId","templateActions","getTemplates","featureKey","getTemplate","rowId","createTemplate","template","content","editTemplate","deleteTemplate","scheduledActionsActions","getActions","entityKey","usersUpdate","userFetchFail","results","Items","allList","getUserCount","usersLoaded","events","userKey","inviteCodesLoaded","inviteCodes","inviteCodeUpdated","inviteCode","inviteCodeRemoved","clearUsers","setNavData","templatesLoaded","removeTemplate","scheduledActionsLoaded","scheduledActions","AddButton","Component","getClasses","classes","inactive","renderIcon","Icon","className","icon","render","_jsxs","onClick","Attachment","white","pulse","uploading","fixedWidth","onRemove","colour","Button","inline","isActive","buttonType","compact","narrow","noHoverHighlight","getButtonClasses","buttonClassName","getButtonTextClasses","leftIcon","buttonTextClassName","buttonClick","renderLeftIcon","buttonStyle","textStyle","CheckBox","PureComponent","constructor","_defineProperty","disabled","onChange","generateClassNames","getLabelClasses","getBoxStyle","highlightColour","borderColor","backgroundColor","showWarning","styles","row","marginLeft","fontSize","lineHeight","labelStyle","flexDirection","marginBottom","Text","getClassName","ProfilePicComponent","renderPic","borderRadius","backgroundSize","backgroundPosition","backgroundImage","alt","hoverText","containerClass","mapStateToProps","ProfilePic","connect","Comment","renderImage","rel","renderComment","comment","User","profilePic","displayName","local","bottomContent","CommentSection","_this","this","event","stateChange","getAttribute","setState","commentInput","onAddComment","onlyParents","comments","ParentId","onOpenThread","threadComments","innerC","profilePics","take","uniqBy","UserId","includeTitle","getComments","renderReplyText","Textarea","placeholder","onHandleChange","DatePicker","shownMonth","grid","UNSAFE_componentWillMount","onNewProps","UNSAFE_componentWillReceiveProps","nextProps","forceUpdate","getFullYear","getMonth","generateGrid","multiple","selectedDates","selectedDate","dateToUse","isNaN","getDate","getShortDate","isDateSelected","isSame","isDateEnabled","enabledDates","found","day","enabled","changeMonth","change","newShownDate","selectRange","d1","lastSelected","d2","dateRange","selectDate","newSelection","isBeforeMinDate","minDate","isBefore","dateKey","shiftKey","splice","month","dateToTarget","endOf","dateToModify","startOf","selectedDateToUse","rows","thisDate","isFaded","isToday","isSelected","renderGrid","renderTop","hideTop","bind","DurationInput","handleChange","labelWidth","handleHourChange","newHours","max","min","handleMinuteChange","newMinutes","marginRight","DEFAULT_INPUT","uploadingFile","FileInputComponent","inputs","accept","last","refreshCallback","files","newInputs","clone","limit","newInput","handleFile","checkRefreshCallback","checkSetDisplayValue","uploadFile","componentDidMount","setTimeout","hasDefault","setValue","val","uploadingImage","str","getClassNames","inputsLength","onlyAllowUpload","getErrorState","showError","removeFile","newState","renderInput","renderContent","Dropzone","getAccept","onDrop","getRootProps","getInputProps","padding","renderRemove","disableRemove","simpleStyle","renderDownload","noDownload","isDragActive","renderUploadFiles","containerStyle","FileInput","forwardRef","GenericInput","componentDidUpdate","prevProps","prevState","autofocus","_input","focus","getAutoComplete","autoComplete","isValid","large","getLabelStyle","alwaysShowLabel","renderError","renderHelp","help","inputComponent","alignItems","isRequired","rightContent","inputClass","onKeyPress","onEnter","onKeyDown","inputStyle","readOnly","maxLength","onFocus","onBlur","textWrapperStyle","ref","autoFocus","justifyContent","Header","open","isSideMenuOpen","getHomeLink","renderRight","goToHelpGuide","renderHeader","renderSimpleHeader","fixed","renderContainerHeader","simple","onlyContainer","nav","exportObj","withRouter","SideNavItem","onUrlChange","Link","pathname","selected","subStyle","section","goTo","noSideDot","sideNavDot","isNil","minHeight","HubSidebar","helpGuide","onHelpGuidePress","showSidebar","condensedSidebar","componentWillUnmount","renderButton","item","renderNewButton","renderNavItem","isFontAwesome","isSVG","renderSection","items","itemIndex","sections","renderHelpGuide","Popup","renderClose","onClose","renderTitle","renderSubtitle","subtitle","renderButtons","buttons","verticalButtonStack","loading","leftIconType","leftIconColour","boxClasses","maxHeight","maxWidth","minWidth","hasPadding","innerClasses","topContent","displayValue","ImageInputComponent","selectedTab","libraryLoadTriggered","libraryLoaded","imageLibrary","loadingFolders","addingFolder","deletingFolder","deletingImage","folders","addFolderOpen","addFolderInput","selectedFolder","saveErrorMessage","allowVideo","uri","image1400","Value","Thumb","Selected","document","getElementById","cancelAddStates","refreshFolders","message","folder","RowId","isStockFolder","parsedImages","parseImagesArray","Images","getFolders","fromLibrary","stopPropagation","confirm","Name","toggleLibraryItem","getLibrary","getUploading","getValue","getImageStyle","getContainerClasses","noMenu","_this2","_this3","findIndex","newFile","storeValue","on","remove","removeImage","selectedFolderImages","imageList","libraryFile","selectTab","tab","controls","mediaText","horizontalText","renderLibraryImage","allowDelete","saveImageSpinner","deleteImage","renderMenu","renderAddFolder","isSaving","addFolderInputContainer","addFolderInputText","saveFolderSpinner","cancelAddFolder","addFolderCancel","saveFolder","addFolderSave","addFolder","renderFolder","timeStamp","countText","selectFolder","textAlign","paddingRight","canManageLibrary","deleteFolder","removeFolderButton","renderFolders","canAddImageToLibrary","renderBreadCrumbs","selectRoot","renderFolderImages","stockFolder","canDelete","uploadingImages","renderUploadImages","renderLibraryPopup","paddingBottom","paddingLeft","cursor","ImageInput","MoreMenu","ev","onPress","OverlayPage","updateWindowDimensions","addEventListener","removeEventListener","innerWidth","innerHeight","fullPage","fullPageStyle","pageWrapper","backgroundOverlay","backgroundStyle","position","zIndex","left","OverlayPageContents","wrapper","noBottomButtons","clear","whiteSpace","overflow","overflowX","OverlayPageSection","OverlayPageBottomButtons","borderTop","borderTopColor","PageTitle","RadioButton","isSquare","generateWrapperClassNames","wrapperClass","getButtonStyle","performSingleAction","performMultiAction","renderLabel","renderSubLabel","subLabel","subLabelStyle","renderOptions","rowStyle","Label","marginTop","single","centeredRow","Tag","renderLeft","leftClick","leftIconStyle","rightIcon","rightClick","rightIconStyle","renderText","centerClass","StatusButton","deactivate","activeText","deactivateText","activate","inactiveText","activateText","SuccessPopup","getBackgroundClasses","backgroundClose","closeAction","right","noIcon","getReactions","Reactions","reactions","getReaction","renderReactions","AnalyticsFilter","filterOptions","hideOptions","DropdownItem","eventKey","active","selectedFilter","o","dateRangeText","calendarVisible","filterChanged","start","end","getDateRangeText","filterDateRangeChanged","isSameOrAfter","defaultFilter","defaultStart","defaultEnd","_Fragment","DropdownButton","bsSize","onSelect","selectFilter","toggleDateSelectors","startDateChanged","endDateChanged","UserListing","getSize","getImage","getKey","getText","getBorderRadius","squareImage","isLoading","renderSub","subContent","whiteText","color","textClass","TimePicker","selectedTime","optional","hourInput","minuteInput","mInput","selectTime","mDate","minutesFocused","activeElement","getDefaultTime","hour","minute","second","onChangeHour","selectNext","select","onChangeMinute","onBlurMinute","onChangeM","callbackFormat","renderClear","hasClear","onClear","AudienceIncluder","showUserAdd","userSearch","returnList","userList","selectionList","updateProps","searchUserLoading","renderSearch","renderUserAdd","renderAttendees","DropdownInput","setWrapperRef","handleClickOutside","node","wrapperRef","contains","ignoreValue","renderOption","dropdownItemsWrapper","cat","dropDownOption","Title","getBottomBorder","chevronWrapper","chevron","boxShadow","paddingTop","AudienceSelector","updateValidation","validateAudienceSelection","getAudienceType","getAudienceTypeSelection","includeList","excludeList","onChangeSelection","AudienceTagList","includeSelected","categories","types","tagList","categoryTags","AudienceType","AudienceTypeSelection","userTypeTags","userTagTags","at","tag","ShortName","audienceType","showInclude","showExclude","Category","audienceTypeSelection","custom","disallowSingleUsers","allowTags","getUsers","getUserTags","isEqual","onSubmit","getIncludeList","getExcludeList","setType","selection","onChangeOption","getOptions","disallowUserType","validateCustom","validateCategory","validateType","validateTag","selectType","getTypeTitle","typeObject","getTagTitle","userTypes","cloneDeep","category","shortName","getUserList","element","sortBy","selectCat","getCatTitle","showUserPickers","isInclude","allowIncludes","allowExcludes","getUserExcludeList","addToInc","list","removeUserInc","addToEx","removeUserEx","renderExcludes","renderIncludes","renderAssignedAudiences","onDetachAudienceTag","renderAvailableAudiences","tags","getAvailableAudienceTags","onAttachAudienceTag","renderCustom","showWarnings","selectTag","toExport","TextFormatPopup","isOpen","fontWeight","OptionsSection","getSelectedOption","getTitle","selectedOption","renderOptionButton","selectOption","overflowButtons","MakerPopup","selectedSize","sizes","selectedFormat","formats","headerType","requestData","hideFormat","hideSize","compileData","loadingBranding","submitting","isReadyToSubmit","compileRequestData","asset","resultUrl","lottieAnimationUrl","initialData","lottieConfig","loop","autoplay","getBranding","getLottieConfig","Logo","HeaderType","animationData","getButtons","onGenerateAsset","Lottie","isClickToPauseDisabled","downloadAsset","getSelectedSizeTitle","selectSize","getSelectedFormatTitle","selectFormat","ExportCsvPopup","columns","canSave","column","selectedHeaders","filterDateStartVisible","filterDateEndVisible","filterDateEnd","filterDateStart","timestampFilter","filterKey","maxDate","selectedheaderKeys","h","pick","onToggleStartDateFilter","onDateFilterStartChanged","onToggleEndDateFilter","onDateFilterEndChanged","saving","onToggleColumn","selectedSource","CSVLink","getSelectedSource","textDecoration","onConfirm","renderTimestampFilter","InputGroup","required","_objectWithoutProperties","_excluded","FormGroup","controlId","validationState","FormLabel","FormControl","FormText","Tabs","editKey","getTabClass","strikethrough","isInvalid","renderTab","onSelectTab","tabStyle","tabs","ColourOptions","tc","tinycolor","colourCircleTop","getBrightness","colourCircleLeft","toHsv","toUpperCase","selectedColour","setColourCircle","onColourSelected","defaultTab","getQuickChoiceTabs","optionsArray","trim","available","renderColourQuickChoicesCircle","onColourChange","renderColourOptions","ChromePicker","onChangeComplete","disableAlpha","onSelectOption","flex","ColourPicker","colourPickerOpen","renderColourPopup","onDone","onCancel","showHex","onTogglePopup","StatBox","previousValue","viewGraphLink","isFinite","to","HelpGuide","Dashboard","FeaturePicker","News","Events","Alerts","Gallery","Groups","Maintenance","Facilities","Services","Offers","Survey","Information","Users","Payment","Urls","INITIAL_STATE","unionWith","v1","v2","app","newTemplates","Reducers","templates","TemplatesReducer","ScheduledActionsReducer","PERMISSION_CATEGORIES","USER_MANAGEMENT","EVENTS","COMMUNICATION","FACILITIES_BOOKINGS","SITE_ADMINISTRATION","PAYMENTS","CONTENT","EXTRAS","PROFILE_SETTINGS","USER_FEATURES","IMPORTANCE_LEVELS","CRITICAL","IMPORTANT","OPTIONAL"],"mappings":"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OAAOuC,CAAC,EAAE;AACX,IAAA,OAAOvC,KAAK,CAAA;AACb,GAAA;AACD,CAAC,CAAA;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEO,IAAMwC,WAAW,GAAGA,CAACC,UAAU,EAAEC,OAAO,KAAK;AACnD,EAAA,OAAOtD,CAAC,CAACyC,IAAI,CAACY,UAAU,EAAGE,CAAC,IAAK;IAChC,OACCA,CAAC,CAACC,IAAI,KAAK,IAAI,KACd,CAACF,OAAO,IACRtD,CAAC,CAACyC,IAAI,CAACc,CAAC,CAACE,QAAQ,CAACC,OAAO,EAAGC,CAAC,IAAK;AACjC,MAAA,OAAOA,CAAC,CAACC,GAAG,KAAKN,OAAO,CAAA;AACzB,KAAC,CAAC,CAAC,CAAA;AAEN,GAAC,CAAC,CAAA;AACH,CAAC;;;;;;;;;;;;;;;AC7RM,IAAMO,YAAY,GAAIC,KAAK,IAAK;EACtC,IAAMC,UAAU,GAAG,EAAE,CAAA;EACrBC,MAAM,CAACC,IAAI,CAACH,KAAK,CAAC,CAACI,OAAO,CAAE9C,EAAE,IAAK;AAClC4C,IAAAA,MAAM,CAACC,IAAI,CAACH,KAAK,CAAC1C,EAAE,CAAC,CAAC,CAAC8C,OAAO,CAAEC,UAAU,IAAK;AAC9C,MAAA,IAAIC,KAAK,CA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"}
|