@plusscommunities/pluss-core-web 1.8.6-beta.0 → 1.8.8-beta.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/components.js +496 -603
- package/dist/components.js.map +1 -1
- package/dist/index.js +697 -746
- 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/ComparisonStatBox.js","../src/components/StatBox.js","../src/urls.js","../src/reducers/TemplatesReducer.js","../src/reducers/ScheduledActionsReducer.js","../src/reducers/index.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\n// Distinct colour palette for multi-site comparison charts.\n// Uses a fixed palette rather than each site's MainBrandingColour because:\n// 1. Site branding colours aren't pre-loaded — only the active site's branding is in Redux state.\n// Fetching branding for each comparison site would require extra API calls.\n// 2. Two sites could share the same or similar branding colour, making bars indistinguishable.\n// 3. A curated palette guarantees contrast and visual distinctiveness.\n// Future enhancement: use site branding colours with collision fallback to this palette.\n// Wraps around via modulo for 10+ sites (unlikely in practice).\nconst SITE_COLOURS = [\n\t\"#5e9efc\", // Blue\n\t\"#49bdbb\", // Teal\n\t\"#ff8c75\", // Tangerine\n\t\"#6e79c5\", // Purple\n\t\"#00cc9c\", // Green\n\t\"#c02743\", // Red\n\t\"#bdbd27\", // Citron\n\t\"#191e78\", // Dark Blue\n\t\"#ff6363\", // Grapefruit\n\t\"#536280\", // Dusk\n];\n\nexport const getSiteColour = (index) => {\n\treturn SITE_COLOURS[index % SITE_COLOURS.length];\n};\n\nexport const fetchMultiSiteData = async (sites, fetchFn) => {\n\tconst results = {};\n\tconst promises = sites.map(async (site) => {\n\t\ttry {\n\t\t\tconst data = await fetchFn(site);\n\t\t\tresults[site] = data;\n\t\t} catch (error) {\n\t\t\tconsole.log(`fetchMultiSiteData failed for site ${site}:`, error);\n\t\t\tresults[site] = null;\n\t\t}\n\t});\n\tawait Promise.all(promises);\n\treturn results;\n};\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\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\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}`} iconStyle={{ 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: (\n\t\tentityId,\n\t\tentityType,\n\t\tactionType,\n\t\tminTime,\n\t\tmaxTime,\n\t\t{ userType, userCategory } = {},\n\t) => {\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\tif (userType) query.userType = userType;\n\t\tif (userCategory) query.userCategory = userCategory;\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: (\n\t\tsite,\n\t\ttype,\n\t\tminTime,\n\t\tmaxTime,\n\t\traw,\n\t\t{ userType, userCategory } = {},\n\t) => {\n\t\tconst query = { site, type, minTime, maxTime };\n\t\tif (raw) query.raw = raw;\n\t\tif (userType) query.userType = userType;\n\t\tif (userCategory) query.userCategory = userCategory;\n\t\treturn authedFunction({\n\t\t\tmethod: \"GET\",\n\t\t\turl: getUrl(\"analytics\", \"aggregate\", query),\n\t\t});\n\t},\n\tgetUserRetention: (site, { userType, userCategory } = {}) => {\n\t\tconst query = { site };\n\t\tif (userType) query.userType = userType;\n\t\tif (userCategory) query.userCategory = userCategory;\n\t\treturn authedFunction({\n\t\t\tmethod: \"GET\",\n\t\t\turl: getUrl(\"analytics\", \"get/userretention\", 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 \"./Icon\";\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 || \"fa-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 \"./Icon\";\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 ? \"fa-spinner\" : \"fa-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 \"./Icon\";\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 name={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 \"./Icon\";\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={\"fa-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 \"./Icon\";\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 \"./Icon\";\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\" iconStyle={{ 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 \"./Icon\";\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 iconStyle={{ 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\" iconStyle={{ ...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\" iconStyle={{ ...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 iconStyle={{ ...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 iconStyle={{ ...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 iconStyle={{ ...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()} iconStyle={{ ...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\" iconStyle={{ 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 \"./Icon\";\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 iconStyle={{ ...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.iconStyle}\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 iconStyle={{ ...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<Icon\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 \"./Icon\";\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 ? (\n\t\t\t\t\t\t\t\t\t<Icon pulse fixedWidth icon=\"spinner\" />\n\t\t\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t\t\tb.text\n\t\t\t\t\t\t\t\t)}\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 \"./Icon\";\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\" iconStyle={{ ...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={\"fa-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\ticonStyle={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 name={\"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\ticonStyle={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 name={\"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 name={\"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\"} iconStyle={{ 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\ticonStyle={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\n\t\t\t\t\t\t\t\t\t\ticonStyle={styles.removeFolderButton}\n\t\t\t\t\t\t\t\t\t\ticon=\"circle-minus\"\n\t\t\t\t\t\t\t\t\t/>\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 name={\"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 iconStyle={{ ...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 iconStyle={{ ...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\" iconStyle={{ 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 \"./Icon\";\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 \"./Icon\";\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={\"fa-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 \"./Icon\";\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 \"./Icon\";\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 iconStyle={{}}>\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=\"\" iconStyle={{ 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 iconStyle={{ 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\" iconStyle={{ 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 \"./Icon\";\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 \"./Icon\";\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\" iconStyle={{ 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\" iconStyle={{ 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 iconStyle={{ 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 iconStyle={{ 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 iconStyle={{ fontWeight: 400 }}>**</span>Some Text\n\t\t\t\t\t\t<span iconStyle={{ fontWeight: 400 }}>**</span> ={\" \"}\n\t\t\t\t\t\t<span iconStyle={{ 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 iconStyle={{ 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 iconStyle={{ fontWeight: 400 }}>*t*</span>Some Text\n\t\t\t\t\t\t<span iconStyle={{ 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 iconStyle={{ 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 iconStyle={{ fontWeight: 400 }}>*s*</span>Some Text\n\t\t\t\t\t\t<span iconStyle={{ fontWeight: 400 }}>*s*</span> ={\" \"}\n\t\t\t\t\t\t<span iconStyle={{ 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 iconStyle={{ fontWeight: 400 }}>[website|text]</span>:\n\t\t\t\t\t\t<br />\n\t\t\t\t\t\t<span iconStyle={{ 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 \"./Icon\";\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 \"./Icon\";\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 iconStyle={{ 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 \"./Icon\";\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 \"./Icon\";\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 {\n\tBarChart,\n\tBar,\n\tXAxis,\n\tYAxis,\n\tResponsiveContainer,\n\tTooltip,\n\tCell,\n} from \"recharts\";\nimport { Icon } from \"@plusscommunities/pluss-icons\";\nimport { Text } from \"./Text\";\nimport { getSiteColour } from \"../analytics\";\n\nconst BAR_HEIGHT = 48;\nconst CHART_PADDING = 10;\n\nconst BarLabel = ({ x, y, width, height, value }) => {\n\tif (!width || width < 30) return null;\n\treturn (\n\t\t<text\n\t\t\tx={x + 10}\n\t\t\ty={y + height / 2}\n\t\t\tfill=\"#fff\"\n\t\t\tfontSize={13}\n\t\t\tfontWeight=\"bold\"\n\t\t\tdominantBaseline=\"middle\"\n\t\t>\n\t\t\t{value}\n\t\t</text>\n\t);\n};\n\nconst ComparisonStatBox = ({\n\ttitle,\n\tdata,\n\tprevText,\n\tviewGraphLink,\n\tisLoading,\n\tborderless,\n\thideTotal,\n}) => {\n\tconst total = data.reduce((sum, d) => sum + (d.value || 0), 0);\n\tconst chartHeight = data.length * BAR_HEIGHT + CHART_PADDING;\n\tconst maxLabelLength = data.reduce(\n\t\t(max, d) => Math.max(max, d.name.length),\n\t\t0,\n\t);\n\tconst yAxisWidth = Math.min(Math.max(maxLabelLength * 7, 80), 160);\n\tconst opacity = isLoading ? 0.3 : 1;\n\n\tconst wrapperStyle = borderless\n\t\t? { opacity, padding: \"12px 0\" }\n\t\t: { opacity, padding: 20 };\n\n\tconst wrapperClass = borderless ? \"\" : \"dashboardBox\";\n\n\treturn (\n\t\t<div className={wrapperClass} style={wrapperStyle}>\n\t\t\t<div\n\t\t\t\tstyle={{\n\t\t\t\t\tdisplay: \"flex\",\n\t\t\t\t\tjustifyContent: \"space-between\",\n\t\t\t\t\talignItems: \"center\",\n\t\t\t\t\tmarginBottom: 8,\n\t\t\t\t}}\n\t\t\t>\n\t\t\t\t<Text type=\"h6\">{title}</Text>\n\t\t\t\t{!hideTotal && (\n\t\t\t\t\t<div\n\t\t\t\t\t\tstyle={{\n\t\t\t\t\t\t\tborder: \"1px solid #e0e0e0\",\n\t\t\t\t\t\t\tborderRadius: 4,\n\t\t\t\t\t\t\tpadding: \"4px 10px\",\n\t\t\t\t\t\t\tfontSize: 13,\n\t\t\t\t\t\t}}\n\t\t\t\t\t>\n\t\t\t\t\t\tTotal: <strong>{total.toLocaleString()}</strong>\n\t\t\t\t\t</div>\n\t\t\t\t)}\n\t\t\t</div>\n\t\t\t<div style={{ marginLeft: -8 }}>\n\t\t\t\t<ResponsiveContainer width=\"100%\" height={chartHeight}>\n\t\t\t\t\t<BarChart\n\t\t\t\t\t\tdata={data}\n\t\t\t\t\t\tlayout=\"vertical\"\n\t\t\t\t\t\tmargin={{ top: 4, right: 4, bottom: 0, left: 0 }}\n\t\t\t\t\t\tbarCategoryGap=\"20%\"\n\t\t\t\t\t>\n\t\t\t\t\t\t<XAxis type=\"number\" hide />\n\t\t\t\t\t\t<YAxis\n\t\t\t\t\t\t\ttype=\"category\"\n\t\t\t\t\t\t\tdataKey=\"name\"\n\t\t\t\t\t\t\twidth={yAxisWidth}\n\t\t\t\t\t\t\ttick={{ fontSize: 13 }}\n\t\t\t\t\t\t\taxisLine={false}\n\t\t\t\t\t\t\ttickLine={false}\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t<Tooltip formatter={(value) => [value.toLocaleString(), title]} />\n\t\t\t\t\t\t<Bar\n\t\t\t\t\t\t\tdataKey=\"value\"\n\t\t\t\t\t\t\tradius={[4, 4, 4, 4]}\n\t\t\t\t\t\t\tbackground={{ fill: \"#f0f0f4\", radius: 4 }}\n\t\t\t\t\t\t\tlabel={BarLabel}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{data.map((entry, index) => (\n\t\t\t\t\t\t\t\t<Cell key={entry.name} fill={getSiteColour(index)} />\n\t\t\t\t\t\t\t))}\n\t\t\t\t\t\t</Bar>\n\t\t\t\t\t</BarChart>\n\t\t\t\t</ResponsiveContainer>\n\t\t\t</div>\n\t\t\t{!borderless && (\n\t\t\t\t<div\n\t\t\t\t\tstyle={{\n\t\t\t\t\t\tdisplay: \"flex\",\n\t\t\t\t\t\tjustifyContent: \"space-between\",\n\t\t\t\t\t\talignItems: \"center\",\n\t\t\t\t\t\tmarginTop: 8,\n\t\t\t\t\t\tborderTop: \"1px solid #f0f0f0\",\n\t\t\t\t\t\tpaddingTop: 12,\n\t\t\t\t\t}}\n\t\t\t\t>\n\t\t\t\t\t<Text type=\"help\">{prevText ? \"Compared to \" + prevText : \"\"}</Text>\n\t\t\t\t\t{viewGraphLink ? (\n\t\t\t\t\t\t<Link to={viewGraphLink + \"&title=\" + title}>\n\t\t\t\t\t\t\t<Text type=\"h5-noUpper\" className=\"text-link\">\n\t\t\t\t\t\t\t\t<Icon\n\t\t\t\t\t\t\t\t\ticon=\"chart-line\"\n\t\t\t\t\t\t\t\t\ticonStyle={{ marginRight: 4 }}\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\tView Graph\n\t\t\t\t\t\t\t</Text>\n\t\t\t\t\t\t</Link>\n\t\t\t\t\t) : (\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</div>\n\t);\n};\n\nexport { ComparisonStatBox };\n","import React from \"react\";\nimport { Link } from \"react-router-dom\";\nimport { Icon } from \"./Icon\";\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\" iconStyle={{ 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\" iconStyle={{ 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\" iconStyle={{ 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"],"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","SITE_COLOURS","getSiteColour","index","length","fetchMultiSiteData","sites","fetchFn","results","promises","map","Promise","all","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","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","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","i","_jsx","iconStyle","_objectSpread","display","children","onlyAlphanumeric","input","htmlDecode","$","html","htmlEncode","getSiteName","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","userType","userCategory","getAggregateUserStats","getAggregateEntityStats","raw","getUserRetention","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","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","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","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","BAR_HEIGHT","CHART_PADDING","BarLabel","x","y","fill","dominantBaseline","ComparisonStatBox","viewGraphLink","borderless","hideTotal","total","reduce","sum","chartHeight","maxLabelLength","yAxisWidth","wrapperStyle","border","toLocaleString","ResponsiveContainer","BarChart","layout","margin","bottom","barCategoryGap","XAxis","hide","YAxis","dataKey","tick","axisLine","tickLine","Tooltip","formatter","Bar","radius","Cell","to","StatBox","previousValue","isFinite","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"],"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;;;;;;;;;;;;;;;AC7RD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAMO,YAAY,GAAG,CACpB,SAAS;AAAE;AACX,SAAS;AAAE;AACX,SAAS;AAAE;AACX,SAAS;AAAE;AACX,SAAS;AAAE;AACX,SAAS;AAAE;AACX,SAAS;AAAE;AACX,SAAS;AAAE;AACX,SAAS;AAAE;AACX,SAAS;AAAE,CACX,CAAA;AAEM,IAAMC,aAAa,GAAIC,K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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/ComparisonStatBox.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\n// Distinct colour palette for multi-site comparison charts.\n// Uses a fixed palette rather than each site's MainBrandingColour because:\n// 1. Site branding colours aren't pre-loaded — only the active site's branding is in Redux state.\n// Fetching branding for each comparison site would require extra API calls.\n// 2. Two sites could share the same or similar branding colour, making bars indistinguishable.\n// 3. A curated palette guarantees contrast and visual distinctiveness.\n// Future enhancement: use site branding colours with collision fallback to this palette.\n// Wraps around via modulo for 10+ sites (unlikely in practice).\nconst SITE_COLOURS = [\n\t\"#5e9efc\", // Blue\n\t\"#49bdbb\", // Teal\n\t\"#ff8c75\", // Tangerine\n\t\"#6e79c5\", // Purple\n\t\"#00cc9c\", // Green\n\t\"#c02743\", // Red\n\t\"#bdbd27\", // Citron\n\t\"#191e78\", // Dark Blue\n\t\"#ff6363\", // Grapefruit\n\t\"#536280\", // Dusk\n];\n\nexport const getSiteColour = (index) => {\n\treturn SITE_COLOURS[index % SITE_COLOURS.length];\n};\n\nexport const fetchMultiSiteData = async (sites, fetchFn) => {\n\tconst results = {};\n\tconst promises = sites.map(async (site) => {\n\t\ttry {\n\t\t\tconst data = await fetchFn(site);\n\t\t\tresults[site] = data;\n\t\t} catch (error) {\n\t\t\tconsole.log(`fetchMultiSiteData failed for site ${site}:`, error);\n\t\t\tresults[site] = null;\n\t\t}\n\t});\n\tawait Promise.all(promises);\n\treturn results;\n};\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\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\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}`} iconStyle={{ 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: (\n\t\tentityId,\n\t\tentityType,\n\t\tactionType,\n\t\tminTime,\n\t\tmaxTime,\n\t\t{ userType, userCategory } = {},\n\t) => {\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\tif (userType) query.userType = userType;\n\t\tif (userCategory) query.userCategory = userCategory;\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: (\n\t\tsite,\n\t\ttype,\n\t\tminTime,\n\t\tmaxTime,\n\t\traw,\n\t\t{ userType, userCategory } = {},\n\t) => {\n\t\tconst query = { site, type, minTime, maxTime };\n\t\tif (raw) query.raw = raw;\n\t\tif (userType) query.userType = userType;\n\t\tif (userCategory) query.userCategory = userCategory;\n\t\treturn authedFunction({\n\t\t\tmethod: \"GET\",\n\t\t\turl: getUrl(\"analytics\", \"aggregate\", query),\n\t\t});\n\t},\n\tgetUserRetention: (site, { userType, userCategory } = {}) => {\n\t\tconst query = { site };\n\t\tif (userType) query.userType = userType;\n\t\tif (userCategory) query.userCategory = userCategory;\n\t\treturn authedFunction({\n\t\t\tmethod: \"GET\",\n\t\t\turl: getUrl(\"analytics\", \"get/userretention\", 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 \"./Icon\";\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 || \"fa-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 \"./Icon\";\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 ? \"fa-spinner\" : \"fa-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 \"./Icon\";\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 name={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 \"./Icon\";\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={\"fa-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 \"./Icon\";\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 \"./Icon\";\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\" iconStyle={{ 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 \"./Icon\";\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 iconStyle={{ 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\" iconStyle={{ ...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\" iconStyle={{ ...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 iconStyle={{ ...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 iconStyle={{ ...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 iconStyle={{ ...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()} iconStyle={{ ...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\" iconStyle={{ 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 \"./Icon\";\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 iconStyle={{ ...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.iconStyle}\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 iconStyle={{ ...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<Icon\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 \"./Icon\";\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 ? (\n\t\t\t\t\t\t\t\t\t<Icon pulse fixedWidth icon=\"spinner\" />\n\t\t\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t\t\tb.text\n\t\t\t\t\t\t\t\t)}\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 \"./Icon\";\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\" iconStyle={{ ...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={\"fa-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\ticonStyle={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 name={\"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\ticonStyle={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 name={\"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 name={\"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\"} iconStyle={{ 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\ticonStyle={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\n\t\t\t\t\t\t\t\t\t\ticonStyle={styles.removeFolderButton}\n\t\t\t\t\t\t\t\t\t\ticon=\"circle-minus\"\n\t\t\t\t\t\t\t\t\t/>\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 name={\"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 iconStyle={{ ...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 iconStyle={{ ...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\" iconStyle={{ 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 \"./Icon\";\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 \"./Icon\";\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={\"fa-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 \"./Icon\";\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 \"./Icon\";\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 iconStyle={{}}>\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=\"\" iconStyle={{ 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 iconStyle={{ 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\" iconStyle={{ 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 \"./Icon\";\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 \"./Icon\";\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\" iconStyle={{ 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\" iconStyle={{ 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 iconStyle={{ 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 iconStyle={{ 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 iconStyle={{ fontWeight: 400 }}>**</span>Some Text\n\t\t\t\t\t\t<span iconStyle={{ fontWeight: 400 }}>**</span> ={\" \"}\n\t\t\t\t\t\t<span iconStyle={{ 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 iconStyle={{ 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 iconStyle={{ fontWeight: 400 }}>*t*</span>Some Text\n\t\t\t\t\t\t<span iconStyle={{ 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 iconStyle={{ 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 iconStyle={{ fontWeight: 400 }}>*s*</span>Some Text\n\t\t\t\t\t\t<span iconStyle={{ fontWeight: 400 }}>*s*</span> ={\" \"}\n\t\t\t\t\t\t<span iconStyle={{ 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 iconStyle={{ fontWeight: 400 }}>[website|text]</span>:\n\t\t\t\t\t\t<br />\n\t\t\t\t\t\t<span iconStyle={{ 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 \"./Icon\";\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 \"./Icon\";\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 iconStyle={{ 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 \"./Icon\";\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 \"./Icon\";\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 {\n\tBarChart,\n\tBar,\n\tXAxis,\n\tYAxis,\n\tResponsiveContainer,\n\tTooltip,\n\tCell,\n} from \"recharts\";\nimport { Icon } from \"@plusscommunities/pluss-icons\";\nimport { Text } from \"./Text\";\nimport { getSiteColour } from \"../analytics\";\n\nconst BAR_HEIGHT = 48;\nconst CHART_PADDING = 10;\n\nconst BarLabel = ({ x, y, width, height, value }) => {\n\tif (!width || width < 30) return null;\n\treturn (\n\t\t<text\n\t\t\tx={x + 10}\n\t\t\ty={y + height / 2}\n\t\t\tfill=\"#fff\"\n\t\t\tfontSize={13}\n\t\t\tfontWeight=\"bold\"\n\t\t\tdominantBaseline=\"middle\"\n\t\t>\n\t\t\t{value}\n\t\t</text>\n\t);\n};\n\nconst ComparisonStatBox = ({\n\ttitle,\n\tdata,\n\tprevText,\n\tviewGraphLink,\n\tisLoading,\n\tborderless,\n\thideTotal,\n}) => {\n\tconst total = data.reduce((sum, d) => sum + (d.value || 0), 0);\n\tconst chartHeight = data.length * BAR_HEIGHT + CHART_PADDING;\n\tconst maxLabelLength = data.reduce(\n\t\t(max, d) => Math.max(max, d.name.length),\n\t\t0,\n\t);\n\tconst yAxisWidth = Math.min(Math.max(maxLabelLength * 7, 80), 160);\n\tconst opacity = isLoading ? 0.3 : 1;\n\n\tconst wrapperStyle = borderless\n\t\t? { opacity, padding: \"12px 0\" }\n\t\t: { opacity, padding: 20 };\n\n\tconst wrapperClass = borderless ? \"\" : \"dashboardBox\";\n\n\treturn (\n\t\t<div className={wrapperClass} style={wrapperStyle}>\n\t\t\t<div\n\t\t\t\tstyle={{\n\t\t\t\t\tdisplay: \"flex\",\n\t\t\t\t\tjustifyContent: \"space-between\",\n\t\t\t\t\talignItems: \"center\",\n\t\t\t\t\tmarginBottom: 8,\n\t\t\t\t}}\n\t\t\t>\n\t\t\t\t<Text type=\"h6\">{title}</Text>\n\t\t\t\t{!hideTotal && (\n\t\t\t\t\t<div\n\t\t\t\t\t\tstyle={{\n\t\t\t\t\t\t\tborder: \"1px solid #e0e0e0\",\n\t\t\t\t\t\t\tborderRadius: 4,\n\t\t\t\t\t\t\tpadding: \"4px 10px\",\n\t\t\t\t\t\t\tfontSize: 13,\n\t\t\t\t\t\t}}\n\t\t\t\t\t>\n\t\t\t\t\t\tTotal: <strong>{total.toLocaleString()}</strong>\n\t\t\t\t\t</div>\n\t\t\t\t)}\n\t\t\t</div>\n\t\t\t<div style={{ marginLeft: -8 }}>\n\t\t\t\t<ResponsiveContainer width=\"100%\" height={chartHeight}>\n\t\t\t\t\t<BarChart\n\t\t\t\t\t\tdata={data}\n\t\t\t\t\t\tlayout=\"vertical\"\n\t\t\t\t\t\tmargin={{ top: 4, right: 4, bottom: 0, left: 0 }}\n\t\t\t\t\t\tbarCategoryGap=\"20%\"\n\t\t\t\t\t>\n\t\t\t\t\t\t<XAxis type=\"number\" hide />\n\t\t\t\t\t\t<YAxis\n\t\t\t\t\t\t\ttype=\"category\"\n\t\t\t\t\t\t\tdataKey=\"name\"\n\t\t\t\t\t\t\twidth={yAxisWidth}\n\t\t\t\t\t\t\ttick={{ fontSize: 13 }}\n\t\t\t\t\t\t\taxisLine={false}\n\t\t\t\t\t\t\ttickLine={false}\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t<Tooltip formatter={(value) => [value.toLocaleString(), title]} />\n\t\t\t\t\t\t<Bar\n\t\t\t\t\t\t\tdataKey=\"value\"\n\t\t\t\t\t\t\tradius={[4, 4, 4, 4]}\n\t\t\t\t\t\t\tbackground={{ fill: \"#f0f0f4\", radius: 4 }}\n\t\t\t\t\t\t\tlabel={BarLabel}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{data.map((entry, index) => (\n\t\t\t\t\t\t\t\t<Cell key={entry.name} fill={getSiteColour(index)} />\n\t\t\t\t\t\t\t))}\n\t\t\t\t\t\t</Bar>\n\t\t\t\t\t</BarChart>\n\t\t\t\t</ResponsiveContainer>\n\t\t\t</div>\n\t\t\t{!borderless && (\n\t\t\t\t<div\n\t\t\t\t\tstyle={{\n\t\t\t\t\t\tdisplay: \"flex\",\n\t\t\t\t\t\tjustifyContent: \"space-between\",\n\t\t\t\t\t\talignItems: \"center\",\n\t\t\t\t\t\tmarginTop: 8,\n\t\t\t\t\t\tborderTop: \"1px solid #f0f0f0\",\n\t\t\t\t\t\tpaddingTop: 12,\n\t\t\t\t\t}}\n\t\t\t\t>\n\t\t\t\t\t<Text type=\"help\">{prevText ? \"Compared to \" + prevText : \"\"}</Text>\n\t\t\t\t\t{viewGraphLink ? (\n\t\t\t\t\t\t<Link to={viewGraphLink + \"&title=\" + title}>\n\t\t\t\t\t\t\t<Text type=\"h5-noUpper\" className=\"text-link\">\n\t\t\t\t\t\t\t\t<Icon\n\t\t\t\t\t\t\t\t\ticon=\"chart-line\"\n\t\t\t\t\t\t\t\t\ticonStyle={{ marginRight: 4 }}\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\tView Graph\n\t\t\t\t\t\t\t</Text>\n\t\t\t\t\t\t</Link>\n\t\t\t\t\t) : (\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</div>\n\t);\n};\n\nexport { ComparisonStatBox };\n","import React from \"react\";\nimport { Link } from \"react-router-dom\";\nimport { Icon } from \"./Icon\";\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\" iconStyle={{ 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\" iconStyle={{ 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\" iconStyle={{ 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","export 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\tCONTENT: \"Content\",\n\tPAYMENTS: \"Payments\",\n\tPROFILE_SETTINGS: \"Profile Settings\",\n};\n\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","prefix","data","Auth","currentSession","token","getAccessToken","getJwtToken","_","isUndefined","concat","authedFunction","request","authkey","headers","axios","error","console","unauthedFunction","getCurrentUserSub","user","currentUserInfo","id","checkLoggedIn","self","currentAuthenticatedUser","username","log","props","history","push","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","SITE_COLOURS","getSiteColour","index","length","fetchMultiSiteData","sites","fetchFn","results","promises","map","Promise","all","compileStats","stats","totalStats","Object","keys","forEach","activityId","Array","isArray","prototype","apply","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","arguments","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","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","i","_jsx","iconStyle","_objectSpread","display","children","onlyAlphanumeric","input","htmlDecode","$","html","htmlEncode","getSiteName","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","userType","userCategory","getAggregateUserStats","getAggregateEntityStats","raw","getUserRetention","authActions","checkUserAuth","userId","fetchForgotPasswordId","phoneNumber","authorization","disableUser","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","filename","newFilename","Storage","put","level","bucket","compressImage","quality","noCompress","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","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","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","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","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","_ref","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","_this","this","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","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","BAR_HEIGHT","CHART_PADDING","BarLabel","x","y","fill","dominantBaseline","ComparisonStatBox","_ref2","viewGraphLink","borderless","hideTotal","total","reduce","sum","chartHeight","maxLabelLength","yAxisWidth","wrapperStyle","border","toLocaleString","ResponsiveContainer","BarChart","layout","margin","bottom","barCategoryGap","XAxis","hide","YAxis","dataKey","tick","axisLine","tickLine","Tooltip","formatter","Bar","radius","Cell","to","StatBox","previousValue","isFinite","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","CONTENT","PAYMENTS","PROFILE_SETTINGS","IMPORTANCE_LEVELS","CRITICAL","IMPORTANT","OPTIONAL"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;AAAA,MAAMA,UAAU,GAAG;AAClBC,EAAAA,GAAG,EAAE;AACJC,IAAAA,SAAS,EAAE,EAAE;AACbC,IAAAA,UAAU,EAAE,EAAE;AACdC,IAAAA,cAAc,EAAE,EAAE;AAClBC,IAAAA,cAAc,EAAE,EAAE;AAClBC,IAAAA,YAAY,EAAE,EAAE;AAChBC,IAAAA,kBAAkB,EAAE,EAAE;AACtBC,IAAAA,iBAAiB,EAAE,EAAE;AACrBC,IAAAA,iBAAiB,EAAE,EAAE;AACrBC,IAAAA,mBAAmB,EAClB,yLAAyL;AAC1LC,IAAAA,SAAS,EAAE,EAAE;AACbC,IAAAA,gBAAgB,EAAE,KAAK;AACvBC,IAAAA,YAAY,EAAE,IAAI;AAClBC,IAAAA,oBAAoB,EAAE,IAAI;AAC1BC,IAAAA,UAAU,EAAE,EAAE;AACdC,IAAAA,IAAI,EAAE,EAAE;AACRC,IAAAA,UAAU,EAAE,EAAA;GACZ;EACDC,IAAI,EAAGC,WAAW,IAAK;IACtBnB,UAAU,CAACC,GAAG,GAAGkB,WAAW,CAAA;AAC7B,GAAA;AACD;;ACnBO,MAAMC,kBAAkB,GAAG,MAAOC,MAAM,IAAK;AACnD,EAAA,MAAMC,IAAI,GAAG,MAAMC,IAAI,CAACC,cAAc,EAAE,CAAA;EACxC,MAAMC,KAAK,GAAGH,IAAI,CAACI,cAAc,EAAE,CAACC,WAAW,EAAE,CAAA;EACjD,IAAIC,CAAC,CAACC,WAAW,CAACR,MAAM,CAAC,EAAE,OAAOI,KAAK,CAAA;AACvC,EAAA,OAAA,EAAA,CAAAK,MAAA,CAAUT,MAAM,EAAAS,GAAAA,CAAAA,CAAAA,MAAA,CAAIL,KAAK,CAAA,CAAA;AAC1B,CAAC,CAAA;;AAED;AACA;AACA;AACA;;AAEO,MAAMM,cAAc,GAAG,MAAOC,OAAO,IAAK;EAChD,IAAI;AACH,IAAA,MAAMC,OAAO,GAAG,MAAMb,kBAAkB,EAAE,CAAA;IAE1C,IAAI,CAACY,OAAO,CAACE,OAAO,EAAEF,OAAO,CAACE,OAAO,GAAG,EAAE,CAAA;AAC1CF,IAAAA,OAAO,CAACE,OAAO,CAACD,OAAO,GAAGA,OAAO,CAAA;AAEjC,IAAA,OAAO,MAAME,KAAK,CAACH,OAAO,CAAC,CAAA;GAC3B,CAAC,OAAOI,KAAK,EAAE;IACfC,OAAO,CAACD,KAAK,CAAC,sBAAsB,EAAEA,KAAK,EAAEJ,OAAO,CAAC,CAAA;AACrD,IAAA,MAAMI,KAAK,CAAA;AACZ,GAAA;AACD,CAAC,CAAA;AAEM,MAAME,gBAAgB,GAAIN,OAAO,IAAK;EAC5C,OAAOG,KAAK,CAACH,OAAO,CAAC,CAAA;AACtB,CAAC,CAAA;AAEM,MAAMO,iBAAiB,GAAG,YAAY;EAC5C,IAAI;AACH,IAAA,MAAMC,IAAI,GAAG,MAAMjB,IAAI,CAACkB,eAAe,EAAE,CAAA;IACzC,OAAOD,IAAI,CAACE,EAAE,CAAA;GACd,CAAC,OAAON,KAAK,EAAE;AACf,IAAA,OAAO,IAAI,CAAA;AACZ,GAAA;AACD,CAAC,CAAA;AAEM,MAAMO,aAAa,GAAG,MAAOC,IAAI,IAAK;EAC5C,IAAI;AACH,IAAA,MAAMJ,IAAI,GAAG,MAAMjB,IAAI,CAACsB,wBAAwB,EAAE,CAAA;AAClD,IAAA,IAAIjB,CAAC,CAACC,WAAW,CAACW,IAAI,CAAC,IAAIA,IAAI,IAAI,IAAI,IAAIA,IAAI,CAACM,QAAQ,IAAI,IAAI,EAAE;AACjET,MAAAA,OAAO,CAACU,GAAG,CAAC,sBAAsB,CAAC,CAAA;MACnCH,IAAI,CAACI,KAAK,CAACC,OAAO,CAACC,IAAI,CAAC,QAAQ,CAAC,CAAA;AAClC,KAAA;GACA,CAAC,OAAOd,KAAK,EAAE;IACf,IAAIA,KAAK,KAAK,mBAAmB,EAAE;AAClCC,MAAAA,OAAO,CAACU,GAAG,CAAC,uBAAuB,CAAC,CAAA;MACpCH,IAAI,CAACI,KAAK,CAACC,OAAO,CAACC,IAAI,CAAC,SAAS,CAAC,CAAA;AACnC,KAAA;AACD,GAAA;AACD,CAAC,CAAA;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEO,MAAMC,SAAS,GAAGA,CAACC,IAAI,EAAEC,kBAAkB,KAAK;AACtD,EAAA,IAAID,IAAI,IAAIA,IAAI,CAACZ,IAAI,EAAE;AACtB,IAAA,IAAIa,kBAAkB,EAAE;AACvB;AACA,MAAA,OAAOC,cAAc,CAAC,YAAY,EAAE,QAAQ,EAAEF,IAAI,CAAC,CAAA;AACpD,KAAA;AACA;AACA,IAAA,OAAOE,cAAc,CAAC,IAAI,EAAE,QAAQ,EAAEF,IAAI,CAAC,CAAA;AAC5C,GAAA;AACA,EAAA,OAAO,KAAK,CAAA;AACb,CAAC,CAAA;;AAED;AACA;AACA;AACA;AACA;;AAEA;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,MAAME,cAAc,GAAGA,CAACC,IAAI,EAAEC,IAAI,EAAEJ,IAAI,EAAEK,MAAM,KAAK;AAC3D,EAAA,MAAMC,KAAK,GAAGN,IAAI,IAAIA,IAAI,CAACZ,IAAI,GAAGY,IAAI,CAACZ,IAAI,CAACmB,KAAK,GAAG,EAAE,CAAA;EACtD,IAAI/B,CAAC,CAACgC,OAAO,CAACF,KAAK,CAAC,EAAE,OAAOD,MAAM,CAAA;AACnC,EAAA,IAAIF,IAAI,KAAK,YAAY,IAAIC,IAAI,KAAK,QAAQ,EAAE;AAC/C,IAAA,OAAO5B,CAAC,CAACiC,IAAI,CAACH,KAAK,EAAGI,CAAC,IAAKA,CAAC,CAACP,IAAI,KAAK,YAAY,IAAIO,CAAC,CAACN,IAAI,KAAK,QAAQ,CAAC,CAAA;AAC5E,GAAA;AACA,EAAA,IAAI5B,CAAC,CAACiC,IAAI,CAACH,KAAK,EAAGI,CAAC,IAAKA,CAAC,CAACN,IAAI,KAAK,QAAQ,CAAC,EAAE,OAAO,IAAI,CAAA;AAC1D,EAAA,MAAMO,IAAI,GAAGnC,CAAC,CAACoC,IAAI,CAACN,KAAK,EAAGI,CAAC,IAAKA,CAAC,CAACP,IAAI,KAAKA,IAAI,CAAC,CAAA;AAClD,EAAA,IAAI,CAACQ,IAAI,EAAE,OAAO,KAAK,CAAA;AACvB,EAAA,IAAIP,IAAI,KAAK,KAAK,EAAE,OAAO,IAAI,CAAA;AAC/B,EAAA,OAAO,CAAC5B,CAAC,CAACgC,OAAO,CAACG,IAAI,CAACE,WAAW,CAAC,IAAIrC,CAAC,CAACsC,QAAQ,CAACH,IAAI,CAACE,WAAW,EAAET,IAAI,CAAC,CAAA;AAC1E,CAAC,CAAA;AAEM,MAAMW,WAAW,GAAI/B,KAAK,IAAK;EACrC,IAAI;AACH,IAAA,MAAMgC,SAAS,GAAGhC,KAAK,CAACiC,QAAQ,CAAC/C,IAAI,CAAA;AACrC,IAAA,MAAMgD,YAAY,GAAGF,SAAS,IAAIA,SAAS,CAAChC,KAAK,CAAA;AACjD,IAAA,OAAOkC,YAAY,IAAIF,SAAS,IAAIhC,KAAK,CAAA;GACzC,CAAC,OAAOmC,CAAC,EAAE;AACX,IAAA,OAAOnC,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,MAAMoC,WAAW,GAAGA,CAACC,UAAU,EAAEC,OAAO,KAAK;AACnD,EAAA,OAAO9C,CAAC,CAACiC,IAAI,CAACY,UAAU,EAAGE,CAAC,IAAK;IAChC,OACCA,CAAC,CAACC,IAAI,K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"}
|