@plusscommunities/pluss-core-web 1.7.6-beta.2 → 1.8.1-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 +305 -130
- package/dist/components.js.map +1 -1
- package/dist/index.js +363 -159
- package/dist/index.js.map +1 -1
- package/package.json +5 -12
package/dist/components.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"components.js","sources":["../src/components/AddButton.js","../src/colours.js","../src/helper/files/getFileName.js","../src/components/Attachment.js","../src/components/Button.js","../src/components/CheckBox.js","../src/config.js","../src/helper/api/getUrl.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/getThumb300.js","../src/helper/strings/getFirstName.js","../src/helper/strings/randomString.js","../src/helper/strings/toParagraphed.js","../src/helper/helper.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/session.js","../src/apis/authActions.js","../src/helper/files/canvasImageUploader.js","../src/apis/fileActions.js","../src/apis/typeActions.js","../src/apis/userActions.js","../src/apis/profileActions.js","../src/apis/utilityActions.js","../src/components/FileInput.js","../src/components/GenericInput.js","../src/actions/types.js","../src/actions/AuthActions.js","../src/actions/NavActions.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/analytics.js","../src/components/AnalyticsFilter.js","../src/components/UserListing.js","../src/components/TimePicker.js","../src/components/AudienceIncluder.js","../src/components/DropdownInput.js","../src/components/AudienceSelector.js","../src/components/TextFormatPopup.js","../src/components/OptionsSection.js","../src/components/MakerPopup.js","../src/components/ExportCsvPopup.js","../src/components/InputGroup.js","../src/components/Tabs.js","../src/components/ColourOptions.js","../src/components/ColourPicker.js","../src/components/StatBox.js"],"sourcesContent":["import React, { Component } from \"react\";\nimport { Icon } from \"@plusscommunities/pluss-icons\";\n\nclass AddButton extends Component {\n\tgetClasses() {\n\t\tlet classes = \"addButton\";\n\t\tif (this.props.inactive) {\n\t\t\tclasses += \" addButton--inactive\";\n\t\t}\n\t\treturn classes;\n\t}\n\n\trenderIcon() {\n\t\treturn (\n\t\t\t<Icon className=\"addButton__icon\" icon={this.props.icon || \"plus\"} />\n\t\t);\n\t}\n\n\trender() {\n\t\treturn (\n\t\t\t<div\n\t\t\t\tstyle={this.props.style}\n\t\t\t\tonClick={this.props.onClick}\n\t\t\t\tclassName={this.getClasses()}\n\t\t\t>\n\t\t\t\t<div className=\"addButton__text\">{this.props.text}</div>\n\t\t\t\t<div className=\"addButton__right\">{this.renderIcon()}</div>\n\t\t\t</div>\n\t\t);\n\t}\n}\n\nexport { AddButton };\n","// 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","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 React, { Component } from \"react\";\nimport { COLOUR_DUSK_LIGHT } from \"../colours\";\nimport getFileName from \"../helper/files/getFileName\";\nimport { Icon } from \"@plusscommunities/pluss-icons\";\n\nclass Attachment extends Component {\n\trender() {\n\t\treturn (\n\t\t\t<div\n\t\t\t\tclassName={`pdfAttachment${this.props.className ? ` ${this.props.className}` : \"\"}${\n\t\t\t\t\tthis.props.white ? \" pdfAttachment-white\" : \"\"\n\t\t\t\t}`}\n\t\t\t>\n\t\t\t\t<a\n\t\t\t\t\thref={this.props.source}\n\t\t\t\t\ttarget=\"_blank\"\n\t\t\t\t\tclassName=\"pdfAttachment_container\"\n\t\t\t\t>\n\t\t\t\t\t<Icon\n\t\t\t\t\t\tclassName=\"pdfAttachment_icon\"\n\t\t\t\t\t\tpulse={this.props.uploading}\n\t\t\t\t\t\tfixedWidth\n\t\t\t\t\t\ticon={`${this.props.uploading ? \"spinner\" : \"paperclip\"}`}\n\t\t\t\t\t/>\n\t\t\t\t\t<p className=\"pdfAttachment_title\">\n\t\t\t\t\t\t{this.props.title || getFileName(this.props.source)}\n\t\t\t\t\t</p>\n\t\t\t\t</a>\n\t\t\t\t{this.props.onRemove && (\n\t\t\t\t\t<Icon\n\t\t\t\t\t\tcolour={COLOUR_DUSK_LIGHT}\n\t\t\t\t\t\ticon=\"xmark\"\n\t\t\t\t\t\tclassName=\"pdfAttachment_close\"\n\t\t\t\t\t\tonClick={this.props.onRemove}\n\t\t\t\t\t/>\n\t\t\t\t)}\n\t\t\t</div>\n\t\t);\n\t}\n}\n\nexport { Attachment };\n","import React, { Component } from \"react\";\nimport { Icon } from \"@plusscommunities/pluss-icons\";\n\nclass Button extends Component {\n\tgetClasses() {\n\t\tlet string = \"\";\n\t\tif (this.props.inline) string = string + \"buttonWrapper--inline \";\n\t\tif (this.props.isActive) string = string + \"button--active \";\n\t\tif (this.props.buttonType)\n\t\t\tstring = string + `button--${this.props.buttonType}`;\n\t\tif (this.props.compact) string = string + \" buttonWrapper--compact\";\n\t\tif (this.props.narrow) string = string + \" buttonWrapper--narrow\";\n\t\tif (this.props.noHoverHighlight)\n\t\t\tstring = string + \" button--noHoverHighlight\";\n\t\tif (this.props.className) string = string + \" \" + this.props.className;\n\t\treturn string;\n\t}\n\n\tgetButtonClasses() {\n\t\tif (this.props.buttonClassName) {\n\t\t\treturn `button ${this.props.buttonClassName}`;\n\t\t}\n\t\treturn \"button\";\n\t}\n\n\tgetButtonTextClasses() {\n\t\tlet result = \"buttonText\";\n\t\tif (this.props.leftIcon) {\n\t\t\tresult = result + ` buttonTextWithIcon`;\n\t\t}\n\t\tif (this.props.buttonTextClassName) {\n\t\t\tresult = result + ` ${this.props.buttonTextClassName}`;\n\t\t}\n\t\treturn result;\n\t}\n\n\tbuttonClick() {\n\t\tif (this.props.onClick) {\n\t\t\tthis.props.onClick();\n\t\t}\n\t}\n\n\trenderLeftIcon() {\n\t\tif (!this.props.leftIcon) {\n\t\t\treturn null;\n\t\t}\n\t\treturn (\n\t\t\t<Icon icon={this.props.leftIcon} className=\"buttonTextWithIcon_icon\" />\n\t\t);\n\t}\n\n\trender() {\n\t\treturn (\n\t\t\t<div\n\t\t\t\tclassName={`buttonWrapper ${this.getClasses()}`}\n\t\t\t\tstyle={{ ...this.props.buttonStyle }}\n\t\t\t>\n\t\t\t\t<div\n\t\t\t\t\tonClick={() => this.buttonClick()}\n\t\t\t\t\tclassName={this.getButtonClasses()}\n\t\t\t\t\tstyle={{ ...this.props.style }}\n\t\t\t\t>\n\t\t\t\t\t<div\n\t\t\t\t\t\tclassName={this.getButtonTextClasses()}\n\t\t\t\t\t\tstyle={{ ...this.props.textStyle }}\n\t\t\t\t\t>\n\t\t\t\t\t\t{this.renderLeftIcon()}\n\t\t\t\t\t\t{this.props.children}\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t);\n\t}\n}\n\nexport { Button };\n","import React, { PureComponent } from \"react\";\nimport { Icon } from \"@plusscommunities/pluss-icons\";\nimport _ from \"lodash\";\n\nclass CheckBox extends PureComponent {\n\tgenerateClassNames() {\n\t\tlet result = \"checkBox\";\n\t\tif (this.props.isActive) {\n\t\t\tresult = result + \" checkBox--active\";\n\t\t}\n\t\tif (this.props.disabled) {\n\t\t\tresult = result + \" checkBox--disabled\";\n\t\t}\n\t\tif (this.props.noHoverHighlight) {\n\t\t\tresult = result + \" checkBox--noHoverHighlight\";\n\t\t}\n\t\treturn result;\n\t}\n\n\tgetLabelClasses() {\n\t\tlet result = \"actionText pointer\";\n\t\tif (this.props.disabled) {\n\t\t\tresult = result + \" actionText--disabled\";\n\t\t}\n\t\treturn result;\n\t}\n\n\tgetBoxStyle() {\n\t\tconst result = {};\n\t\tif (this.props.highlightColour && this.props.isActive) {\n\t\t\tresult.borderColor = this.props.highlightColour;\n\t\t\tresult.backgroundColor = this.props.highlightColour;\n\t\t}\n\t\treturn result;\n\t}\n\n\tonChange = (e) => {\n\t\tif (this.props.disabled) {\n\t\t\treturn;\n\t\t}\n\t\treturn this.props.onChange(e);\n\t};\n\n\trender() {\n\t\treturn (\n\t\t\t<div className={this.props.className}>\n\t\t\t\t<div\n\t\t\t\t\tclassName={this.props.showWarning ? \"checkBox--error\" : null}\n\t\t\t\t\tstyle={{ ...styles.row, ...this.props.style }}\n\t\t\t\t>\n\t\t\t\t\t<div\n\t\t\t\t\t\tclassName={this.generateClassNames()}\n\t\t\t\t\t\tonClick={this.onChange}\n\t\t\t\t\t\tstyle={this.getBoxStyle()}\n\t\t\t\t\t>\n\t\t\t\t\t\t<div className=\"checkBoxTick\">\n\t\t\t\t\t\t\t<Icon className=\"checkBoxTick-font\" icon=\"check\" />\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</div>\n\t\t\t\t\t{!_.isEmpty(this.props.label) && (\n\t\t\t\t\t\t<div\n\t\t\t\t\t\t\tclassName={this.getLabelClasses()}\n\t\t\t\t\t\t\tstyle={{\n\t\t\t\t\t\t\t\tmarginLeft: 8,\n\t\t\t\t\t\t\t\tfontSize: 14,\n\t\t\t\t\t\t\t\tlineHeight: \"20px\",\n\t\t\t\t\t\t\t\t...this.props.labelStyle,\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\tonClick={this.onChange}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{this.props.label}\n\t\t\t\t\t\t</div>\n\t\t\t\t\t)}\n\t\t\t\t</div>\n\t\t\t\t{this.props.children}\n\t\t\t</div>\n\t\t);\n\t}\n}\n\nconst styles = {\n\trow: {\n\t\tdisplay: \"flex\",\n\t\tflexDirection: \"row\",\n\t\tmarginBottom: 8,\n\t},\n};\n\nexport { CheckBox };\n","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 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","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","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","const randomString = () => {\n\treturn \"xxxxxxxx4xxxyxxxxxxxxxxxxx\".replace(/[xy]/g, (c) => {\n\t\t// eslint-disable-next-line\n\t\tvar r = (Math.random() * 16) | 0,\n\t\t\tv = c === \"x\" ? r : (r & 0x3) | 0x8;\n\t\treturn v.toString(16);\n\t});\n};\n\nexport default randomString;\n","import React from \"react\";\nimport _ from \"lodash\";\n\nconst toParagraphed = (text, style) => {\n\tif (!text) return text;\n\ttext = text.replace(/\\t/g, \"\\u00a0\\u00a0\\u00a0\\u00a0\");\n\tconst textSplit = text.split(\"\\n\");\n\treturn _.map(textSplit, (t, i) => {\n\t\treturn (\n\t\t\t<span key={`paragraph_${i}`} style={{ display: \"block\", ...style }}>\n\t\t\t\t{t || \"\\u00A0\"}\n\t\t\t</span>\n\t\t);\n\t});\n};\n\nexport default toParagraphed;\n","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 React, { Component } from \"react\";\n\nclass Text extends Component {\n\tgetClassName() {\n\t\tif (this.props.className) {\n\t\t\treturn ` ${this.props.className}`;\n\t\t}\n\t\treturn \"\";\n\t}\n\n\trender() {\n\t\treturn (\n\t\t\t<p\n\t\t\t\t{...this.props}\n\t\t\t\tclassName={`text-${this.props.type}${this.getClassName()}`}\n\t\t\t\tstyle={this.props.style}\n\t\t\t>\n\t\t\t\t{this.props.children}\n\t\t\t</p>\n\t\t);\n\t}\n}\n\nexport { Text };\n","import React, { Component } from \"react\";\nimport _ from \"lodash\";\nimport { connect } from \"react-redux\";\nimport Config from \"../config\";\nimport { getAppColourFromState } from \"../helper\";\nimport { Text } from \"./Text\";\n\nclass ProfilePicComponent extends Component {\n\trenderPic() {\n\t\treturn (\n\t\t\t<div\n\t\t\t\tclassName={this.props.className}\n\t\t\t\tstyle={{\n\t\t\t\t\twidth: this.props.size || 30,\n\t\t\t\t\theight: this.props.size || 30,\n\t\t\t\t\tborderRadius: this.props.size / 2 || 15,\n\t\t\t\t\tbackgroundColor: this.props.colourBrandingApp,\n\t\t\t\t\tbackgroundSize: \"cover\",\n\t\t\t\t\tbackgroundPosition: \"center\",\n\t\t\t\t\tbackgroundImage: `url(${!_.isEmpty(this.props.image) ? this.props.image : Config.env.defaultProfileImage})`,\n\t\t\t\t\t...this.props.style,\n\t\t\t\t}}\n\t\t\t\talt=\"Profile Pic\"\n\t\t\t></div>\n\t\t);\n\t}\n\n\trender() {\n\t\tif (this.props.hoverText) {\n\t\t\treturn (\n\t\t\t\t<div className={`profilePicHover ${this.props.containerClass}`}>\n\t\t\t\t\t{this.renderPic()}\n\t\t\t\t\t<Text type=\"h5\" className=\"profilePicHover_text\">\n\t\t\t\t\t\t{this.props.hoverText}\n\t\t\t\t\t</Text>\n\t\t\t\t</div>\n\t\t\t);\n\t\t}\n\t\treturn this.renderPic();\n\t}\n}\n\nconst mapStateToProps = (state) => {\n\treturn {\n\t\tcolourBrandingApp: getAppColourFromState(state),\n\t};\n};\n\nconst ProfilePic = connect(mapStateToProps, {})(ProfilePicComponent);\nexport { ProfilePic };\n","import React, { Component } from \"react\";\nimport moment from \"moment\";\nimport { get1400, toParagraphed } from \"../helper\";\nimport { ProfilePic } from \"./ProfilePic\";\nimport _ from \"lodash\";\n\nclass Comment extends Component {\n\trenderImage(image) {\n\t\tif (_.isEmpty(image)) {\n\t\t\treturn null;\n\t\t}\n\t\treturn (\n\t\t\t<div className=\"imageGrid\">\n\t\t\t\t<a href={image} target=\"_blank\" rel=\"noopener noreferrer\">\n\t\t\t\t\t<div\n\t\t\t\t\t\tclassName=\"imageGrid_image\"\n\t\t\t\t\t\tstyle={{ backgroundImage: `url('${get1400(image)}')` }}\n\t\t\t\t\t></div>\n\t\t\t\t</a>\n\t\t\t</div>\n\t\t);\n\t}\n\n\trenderComment() {\n\t\tconst { comment } = this.props;\n\t\treturn (\n\t\t\t<div key={comment.Id} className=\"comment\">\n\t\t\t\t<p className=\"comment_text\">{toParagraphed(comment.Comment)}</p>\n\t\t\t\t{this.renderImage(comment.Image)}\n\t\t\t\t<div className=\"comment_bottom\">\n\t\t\t\t\t<ProfilePic\n\t\t\t\t\t\tclassName=\"comment_profilePic\"\n\t\t\t\t\t\tsize={25}\n\t\t\t\t\t\timage={comment.User.profilePic}\n\t\t\t\t\t/>\n\t\t\t\t\t<p className=\"comment_name\">{comment.User.displayName}</p>\n\t\t\t\t\t<p className=\"comment_time\">\n\t\t\t\t\t\t{moment.utc(comment.Timestamp).local().format(\"D MMM YYYY • h:mma\")}\n\t\t\t\t\t</p>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t);\n\t}\n\n\trender() {\n\t\treturn (\n\t\t\t<div>\n\t\t\t\t{this.renderComment()}\n\t\t\t\t{this.props.bottomContent}\n\t\t\t</div>\n\t\t);\n\t}\n}\n\nexport { Comment };\n","import React, { Component } from \"react\";\nimport _ from \"lodash\";\nimport Textarea from \"react-textarea-autosize\";\nimport { Text } from \"./Text\";\nimport { Icon } from \"@plusscommunities/pluss-icons\";\nimport { Comment } from \"./Comment\";\nimport { getFirstName, getPluralOptions } from \"../helper\";\nimport { ProfilePic } from \"./ProfilePic\";\n\nclass CommentSection extends Component {\n\tconstructor(props) {\n\t\tsuper(props);\n\n\t\tthis.state = {\n\t\t\tcommentInput: \"\",\n\t\t};\n\t}\n\n\tonHandleChange = (event) => {\n\t\tvar stateChange = {};\n\t\tstateChange[event.target.getAttribute(\"id\")] = event.target.value;\n\t\tthis.setState(stateChange);\n\t};\n\n\tonAddComment = async () => {\n\t\tconst { commentInput } = this.state;\n\t\tthis.setState({ commentInput: \"\" });\n\t\tthis.props.onAddComment(commentInput);\n\t};\n\n\tgetComments = () => {\n\t\tif (!this.props.onlyParents) {\n\t\t\treturn this.props.comments;\n\t\t}\n\t\treturn _.filter(this.props.comments, (c) => {\n\t\t\treturn !c.ParentId;\n\t\t});\n\t};\n\n\trenderReplyText = (c) => {\n\t\tif (!this.props.onOpenThread) {\n\t\t\treturn null;\n\t\t}\n\n\t\tconst threadComments = _.filter(this.props.comments, (innerC) => {\n\t\t\treturn innerC.ParentId === c.Id;\n\t\t});\n\t\tif (_.isEmpty(threadComments)) {\n\t\t\treturn (\n\t\t\t\t<div className=\"comment_reply\">\n\t\t\t\t\t<Text\n\t\t\t\t\t\tclassName=\"comment_reply_button\"\n\t\t\t\t\t\ttype=\"button\"\n\t\t\t\t\t\tonClick={() => {\n\t\t\t\t\t\t\tthis.props.onOpenThread(c);\n\t\t\t\t\t\t}}\n\t\t\t\t\t>{`Reply to ${getFirstName(c.User ? c.User.displayName : \"comment\")}`}</Text>\n\t\t\t\t</div>\n\t\t\t);\n\t\t}\n\n\t\tconst profilePics = _.take(\n\t\t\t_.uniqBy(threadComments, (c) => c.UserId),\n\t\t\t3,\n\t\t);\n\t\treturn (\n\t\t\t<div className=\"comment_reply comment_reply-hasReplies\">\n\t\t\t\t{profilePics.map((c) => {\n\t\t\t\t\treturn (\n\t\t\t\t\t\t<ProfilePic\n\t\t\t\t\t\t\tclassName=\"comment_reply_profilePic\"\n\t\t\t\t\t\t\tsize={20}\n\t\t\t\t\t\t\timage={c.User.profilePic}\n\t\t\t\t\t\t/>\n\t\t\t\t\t);\n\t\t\t\t})}\n\t\t\t\t<Text\n\t\t\t\t\tclassName=\"comment_reply_button\"\n\t\t\t\t\ttype=\"button\"\n\t\t\t\t\tonClick={() => {\n\t\t\t\t\t\tthis.props.onOpenThread(c);\n\t\t\t\t\t}}\n\t\t\t\t>{`${threadComments.length} repl${getPluralOptions(threadComments.length, \"y\", \"ies\")}`}</Text>\n\t\t\t</div>\n\t\t);\n\t};\n\n\trender() {\n\t\treturn (\n\t\t\t<div>\n\t\t\t\t{this.props.includeTitle && (\n\t\t\t\t\t<Text type=\"formTitleSmall\" className=\"marginBottom-16\">\n\t\t\t\t\t\tComments\n\t\t\t\t\t</Text>\n\t\t\t\t)}\n\t\t\t\t<div className=\"commentSection\">\n\t\t\t\t\t{this.getComments().map((c) => (\n\t\t\t\t\t\t<Comment\n\t\t\t\t\t\t\tkey={c.Id}\n\t\t\t\t\t\t\tcomment={c}\n\t\t\t\t\t\t\tbottomContent={this.renderReplyText(c)}\n\t\t\t\t\t\t/>\n\t\t\t\t\t))}\n\t\t\t\t</div>\n\t\t\t\t<div className=\"commentReply\">\n\t\t\t\t\t<div\n\t\t\t\t\t\tclassName={`commentReply_button${!_.isEmpty(this.state.commentInput) ? \" commentReply_button-active\" : \"\"}`}\n\t\t\t\t\t\tonClick={this.onAddComment}\n\t\t\t\t\t>\n\t\t\t\t\t\t<Icon className=\"commentReply_icon\" icon=\"paper-plane\" />\n\t\t\t\t\t</div>\n\t\t\t\t\t<Textarea\n\t\t\t\t\t\tid=\"commentInput\"\n\t\t\t\t\t\tplaceholder=\"Reply here...\"\n\t\t\t\t\t\ttype=\"text\"\n\t\t\t\t\t\tclassName=\"commentReply_input\"\n\t\t\t\t\t\tvalue={this.state.commentInput}\n\t\t\t\t\t\tonChange={(e) => this.onHandleChange(e)}\n\t\t\t\t\t/>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t);\n\t}\n}\n\nexport { CommentSection };\n","import React, { Component } from \"react\";\nimport { Icon } from \"@plusscommunities/pluss-icons\";\nimport moment from \"moment\";\nimport _ from \"lodash\";\n\nclass DatePicker extends Component {\n\tstate = {\n\t\tshownMonth: new Date(),\n\t\tgrid: [],\n\t};\n\n\tUNSAFE_componentWillMount() {\n\t\tthis.onNewProps(this.props, true);\n\t}\n\n\tUNSAFE_componentWillReceiveProps(nextProps) {\n\t\tthis.onNewProps(nextProps);\n\t}\n\n\tonNewProps(nextProps, forceUpdate) {\n\t\tif (\n\t\t\t!!nextProps.shownMonth &&\n\t\t\tnextProps.shownMonth !== this.props.shownMonth\n\t\t) {\n\t\t\tconst shownMonth = new Date(\n\t\t\t\tnextProps.shownMonth.getFullYear(),\n\t\t\t\tnextProps.shownMonth.getMonth() + 1,\n\t\t\t\t0,\n\t\t\t);\n\t\t\tthis.setState({ shownMonth });\n\t\t\tthis.generateGrid(shownMonth);\n\t\t} else if (\n\t\t\tthis.props.multiple &&\n\t\t\tnextProps.selectedDates !== this.props.selectedDates\n\t\t) {\n\t\t\tthis.generateGrid(this.state.shownMonth, nextProps.selectedDates);\n\t\t} else if (\n\t\t\tforceUpdate ||\n\t\t\tnextProps.selectedDate !== this.props.selectedDate\n\t\t) {\n\t\t\tlet dateToUse = nextProps.selectedDate;\n\t\t\tif (!(dateToUse instanceof Date)) {\n\t\t\t\tdateToUse = new Date(dateToUse);\n\t\t\t}\n\t\t\tif (isNaN(dateToUse)) {\n\t\t\t\tdateToUse = new Date();\n\t\t\t}\n\t\t\tconst shownMonth = this.props.shownMonth\n\t\t\t\t? this.state.shownMonth\n\t\t\t\t: dateToUse;\n\t\t\tthis.setState({\n\t\t\t\tshownMonth: shownMonth,\n\t\t\t\tselectedDate: dateToUse,\n\t\t\t});\n\t\t\tthis.generateGrid(shownMonth, dateToUse);\n\t\t}\n\t}\n\n\tgetDate() {\n\t\tif (!this.props.selectedDate) {\n\t\t\treturn \"Select day\";\n\t\t}\n\t\treturn moment(this.props.selectedDate).format(\"dddd, Do MMMM\");\n\t}\n\n\tgetShortDate() {\n\t\tif (!this.props.selectedDate) {\n\t\t\treturn \"\";\n\t\t}\n\t\treturn moment(this.props.selectedDate).format(\"DD/MM/YYYY\");\n\t}\n\n\tgetMonth() {\n\t\treturn moment(this.state.shownMonth).format(\"MMMM YYYY\");\n\t}\n\n\tisDateSelected(date, selectedDate) {\n\t\tif (this.props.multiple) {\n\t\t\treturn _.includes(selectedDate, date.format(\"DD-MM-YYYY\"));\n\t\t}\n\t\treturn date.isSame(selectedDate, \"date\");\n\t}\n\n\tisDateEnabled(date) {\n\t\tif (this.props.enabledDates) {\n\t\t\tconst found = this.props.enabledDates.find(\n\t\t\t\t(d) => moment(d.day).format(\"YYYYMMDD\") === date.format(\"YYYYMMDD\"),\n\t\t\t);\n\t\t\tif (found) return found.enabled;\n\t\t}\n\t\treturn null;\n\t}\n\n\tchangeMonth(change) {\n\t\tconst newShownDate = new Date(\n\t\t\tthis.state.shownMonth.getFullYear(),\n\t\t\tthis.state.shownMonth.getMonth() + 1 + change,\n\t\t\t0,\n\t\t);\n\t\tthis.setState(\n\t\t\t{\n\t\t\t\tshownMonth: newShownDate,\n\t\t\t},\n\t\t\t() => {\n\t\t\t\tif (this.props.changeMonth)\n\t\t\t\t\tthis.props.changeMonth(this.state.shownMonth);\n\t\t\t},\n\t\t);\n\t\tthis.generateGrid(newShownDate);\n\t}\n\n\tselectRange(date) {\n\t\tconst d1 = moment(this.state.lastSelected, \"DD-MM-YYYY\");\n\t\tconst d2 = moment(date, \"DD-MM-YYYY\");\n\n\t\tlet startDate, endDate;\n\n\t\tif (d1.valueOf() > d2.valueOf()) {\n\t\t\t// clicked an earlier day\n\t\t\tstartDate = moment(d2);\n\t\t\tendDate = moment(d1);\n\t\t} else {\n\t\t\t// clicked a later day\n\t\t\tstartDate = moment(d1);\n\t\t\tendDate = moment(d2);\n\t\t}\n\n\t\tconst dateRange = [startDate.format(\"DD-MM-YYYY\")];\n\t\twhile (startDate.format(\"DD-MM-YYYY\") !== endDate.format(\"DD-MM-YYYY\")) {\n\t\t\tstartDate.add(1, \"d\");\n\t\t\tdateRange.push(startDate.format(\"DD-MM-YYYY\"));\n\t\t}\n\n\t\tif (\n\t\t\t(_.includes(this.props.selectedDates, d2.format(\"DD-MM-YYYY\")) &&\n\t\t\t\t!_.includes(this.props.selectedDates, d1.format(\"DD-MM-YYYY\"))) ||\n\t\t\t!_.some(dateRange, (d) => {\n\t\t\t\treturn !_.includes(this.props.selectedDates, d);\n\t\t\t})\n\t\t) {\n\t\t\t// the first clicked date was just de-selected and then clicked on a selected date\n\t\t\t// or every date in the range is already selected, then\n\t\t\t// de-select the range\n\t\t\tthis.props.selectDate(\n\t\t\t\t_.filter(this.props.selectedDates, (d) => {\n\t\t\t\t\treturn !_.includes(dateRange, d);\n\t\t\t\t}),\n\t\t\t);\n\t\t} else {\n\t\t\t// select the range\n\t\t\tconst newSelection = [...this.props.selectedDates, ...dateRange];\n\t\t\tthis.props.selectDate(_.uniq(newSelection));\n\t\t}\n\t}\n\n\tselectDate(date, e) {\n\t\tconst enabled = this.isDateEnabled(date);\n\t\tconst isBeforeMinDate =\n\t\t\tthis.props.minDate && moment(date).isBefore(this.props.minDate);\n\t\tconsole.log(\"selected a date\", { date, enabled, isBeforeMinDate });\n\t\tif (enabled === false || isBeforeMinDate) return;\n\n\t\tif (this.props.multiple) {\n\t\t\tconst dateKey = moment(date).format(\"DD-MM-YYYY\");\n\n\t\t\tif (\n\t\t\t\te.shiftKey &&\n\t\t\t\tthis.state.lastSelected &&\n\t\t\t\tthis.state.lastSelected !== dateKey\n\t\t\t) {\n\t\t\t\t// shift-click to select range\n\t\t\t\tthis.selectRange(dateKey);\n\t\t\t} else {\n\t\t\t\t// toggle single date\n\t\t\t\tconst index = this.props.selectedDates.indexOf(dateKey);\n\t\t\t\tconst newSelection = [...this.props.selectedDates];\n\t\t\t\tif (index > -1) {\n\t\t\t\t\tnewSelection.splice(index, 1);\n\t\t\t\t} else {\n\t\t\t\t\tnewSelection.push(dateKey);\n\t\t\t\t}\n\t\t\t\tthis.props.selectDate(newSelection);\n\t\t\t}\n\t\t\tthis.setState({\n\t\t\t\tlastSelected: dateKey,\n\t\t\t});\n\t\t} else {\n\t\t\tthis.props.selectDate(moment(date).format(\"YYYY-MM-DD\"));\n\t\t}\n\t}\n\n\tgenerateGrid(date, selectedDate) {\n\t\tconst month = moment(date);\n\t\tlet dateToTarget = moment(date).endOf(\"month\");\n\t\tlet dateToModify = moment(date).startOf(\"month\");\n\t\tconst selectedDateToUse = this.props.multiple\n\t\t\t? selectedDate || this.props.selectedDates || []\n\t\t\t: moment(selectedDate || this.state.selectedDate);\n\n\t\t// set dateToModify to be Sunday of that week\n\t\twhile (dateToModify.day() !== 0) {\n\t\t\tdateToModify = dateToModify.add(-1, \"day\");\n\t\t}\n\n\t\tconst rows = [[]];\n\n\t\twhile (dateToTarget.day() !== 6) {\n\t\t\tdateToTarget = dateToTarget.add(1, \"day\");\n\t\t}\n\t\tdateToTarget = dateToTarget.add(1, \"day\"); // add an extra day to complete the week\n\n\t\twhile (!dateToModify.isSame(dateToTarget, \"day\")) {\n\t\t\tif (rows[rows.length - 1].length === 7) {\n\t\t\t\t// week has filled - add new row\n\t\t\t\trows.push([]);\n\t\t\t}\n\t\t\tconst thisDate = moment(dateToModify);\n\n\t\t\trows[rows.length - 1].push({\n\t\t\t\tdate: thisDate,\n\t\t\t\tdateKey: thisDate.format(\"DD-MM-YYYY\"),\n\t\t\t\tdisplay: thisDate.date(),\n\t\t\t\tisFaded: !thisDate.isSame(month, \"month\"),\n\t\t\t\tisToday: thisDate.isSame(moment(), \"date\"),\n\t\t\t\tisSelected: this.isDateSelected(thisDate, selectedDateToUse),\n\t\t\t\tisEnabled: this.isDateEnabled(thisDate),\n\t\t\t});\n\n\t\t\tdateToModify = dateToModify.add(1, \"day\");\n\t\t}\n\n\t\t// console.log('generateGrid', JSON.stringify(rows, null, 2));\n\t\tthis.setState({\n\t\t\tgrid: rows,\n\t\t});\n\t}\n\n\trenderGrid() {\n\t\treturn this.state.grid.map((row, index) => {\n\t\t\treturn (\n\t\t\t\t<div className=\"datepicker__row marginTop-8\" key={index}>\n\t\t\t\t\t{row.map((date) => {\n\t\t\t\t\t\tlet classes = \"datepicker__date\";\n\t\t\t\t\t\tif (date.isFaded) {\n\t\t\t\t\t\t\tclasses += \" datepicker__date--faded\";\n\t\t\t\t\t\t}\n\t\t\t\t\t\tif (date.isToday) {\n\t\t\t\t\t\t\tclasses += \" datepicker__date--today\";\n\t\t\t\t\t\t}\n\t\t\t\t\t\tif (date.isSelected) {\n\t\t\t\t\t\t\tclasses += \" datepicker__date--selected\";\n\t\t\t\t\t\t}\n\t\t\t\t\t\tif (typeof date.isEnabled === \"boolean\") {\n\t\t\t\t\t\t\tclasses += date.isEnabled\n\t\t\t\t\t\t\t\t? \" datepicker__date--enabled\"\n\t\t\t\t\t\t\t\t: \" datepicker__date--disabled\";\n\t\t\t\t\t\t}\n\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t<div className={classes} key={date.dateKey}>\n\t\t\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t\t\tclassName=\"datepicker__date__inner\"\n\t\t\t\t\t\t\t\t\tonClick={(e) => this.selectDate(date.date, e)}\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t{date.display}\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t);\n\t\t\t\t\t})}\n\t\t\t\t</div>\n\t\t\t);\n\t\t});\n\t}\n\n\trenderTop() {\n\t\tif (this.props.hideTop) {\n\t\t\treturn null;\n\t\t}\n\t\tif (this.props.multiple) {\n\t\t\treturn (\n\t\t\t\t<div className=\"datepicker__multitop\">\n\t\t\t\t\t<p className=\"datepicker__multitop__text\">\n\t\t\t\t\t\tShift + Click to select a range of dates\n\t\t\t\t\t</p>\n\t\t\t\t</div>\n\t\t\t);\n\t\t}\n\t\treturn (\n\t\t\t<div className=\"datepicker__top\">\n\t\t\t\t<p className=\"datepicker__title truncate\">{this.getDate()}</p>\n\t\t\t</div>\n\t\t);\n\t}\n\n\trender() {\n\t\treturn (\n\t\t\t<div className=\"datepicker noselect\" style={this.props.style}>\n\t\t\t\t{this.renderTop()}\n\t\t\t\t<div className=\"datepicker__bottom\">\n\t\t\t\t\t<div className=\"datepicker__bottomHeader\">\n\t\t\t\t\t\t{/* <div className='datepicker__selectedDate'>\n <p className='datepicker__selectedDateText'>{this.getShortDate()}</p>\n </div> */}\n\t\t\t\t\t\t<div className=\"datepicker__monthSelector\">\n\t\t\t\t\t\t\t<Icon\n\t\t\t\t\t\t\t\tclassName=\"datepicker__monthChevron\"\n\t\t\t\t\t\t\t\ticon=\"chevron-left\"\n\t\t\t\t\t\t\t\tonClick={this.changeMonth.bind(this, -1)}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t<p className=\"datepicker__selectedMonth\">{this.getMonth()}</p>\n\t\t\t\t\t\t\t<Icon\n\t\t\t\t\t\t\t\tclassName=\"datepicker__monthChevron\"\n\t\t\t\t\t\t\t\ticon=\"chevron-right\"\n\t\t\t\t\t\t\t\tonClick={this.changeMonth.bind(this, 1)}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</div>\n\t\t\t\t\t<div className=\"datepicker__row marginTop-16\">\n\t\t\t\t\t\t<p className=\"datepicker__colHeader\">SUN</p>\n\t\t\t\t\t\t<p className=\"datepicker__colHeader\">MON</p>\n\t\t\t\t\t\t<p className=\"datepicker__colHeader\">TUE</p>\n\t\t\t\t\t\t<p className=\"datepicker__colHeader\">WED</p>\n\t\t\t\t\t\t<p className=\"datepicker__colHeader\">THU</p>\n\t\t\t\t\t\t<p className=\"datepicker__colHeader\">FRI</p>\n\t\t\t\t\t\t<p className=\"datepicker__colHeader\">SAT</p>\n\t\t\t\t\t</div>\n\t\t\t\t\t{this.renderGrid()}\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t);\n\t}\n}\n\nexport { DatePicker };\n","import React from \"react\";\nimport { Text } from \"./Text\";\n\nfunction DurationInput({ handleChange, label, value, className, labelWidth }) {\n\tconst hours = Math.floor(value / 60);\n\tconst minutes = value % 60;\n\n\tconst handleHourChange = (event) => {\n\t\tconst newHours = Math.max(0, Math.min(+event.target.value, 24));\n\t\thandleChange(newHours * 60 + minutes);\n\t};\n\n\tconst handleMinuteChange = (event) => {\n\t\tconst newMinutes = Math.max(0, Math.min(+event.target.value, 59));\n\t\thandleChange(hours * 60 + newMinutes);\n\t};\n\n\treturn (\n\t\t<div className={`flex flex-center ${className ? className : \"\"}`}>\n\t\t\t{label && (\n\t\t\t\t<Text\n\t\t\t\t\ttype=\"formTitleSmall\"\n\t\t\t\t\tstyle={{ marginRight: \"10px\", width: labelWidth || 50 }}\n\t\t\t\t>\n\t\t\t\t\t{label}\n\t\t\t\t</Text>\n\t\t\t)}\n\t\t\t<input\n\t\t\t\tclassName=\"genericInput\"\n\t\t\t\ttype=\"number\"\n\t\t\t\tmin=\"0\"\n\t\t\t\tmax=\"24\"\n\t\t\t\tvalue={hours}\n\t\t\t\tonChange={handleHourChange}\n\t\t\t\tstyle={{ width: 50, marginRight: 5 }}\n\t\t\t/>\n\t\t\t<Text type=\"formTitleSmall\" style={{ marginRight: 10 }}>\n\t\t\t\tHour(s)\n\t\t\t</Text>\n\t\t\t<input\n\t\t\t\tclassName=\"genericInput\"\n\t\t\t\ttype=\"number\"\n\t\t\t\tmin=\"0\"\n\t\t\t\tmax=\"59\"\n\t\t\t\tvalue={minutes}\n\t\t\t\tonChange={handleMinuteChange}\n\t\t\t\tstyle={{ width: 50, marginRight: 5 }}\n\t\t\t/>\n\t\t\t<Text type=\"formTitleSmall\">Minute(s)</Text>\n\t\t</div>\n\t);\n}\n\nexport { DurationInput };\n","import _ 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 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 _ 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 React, { Component } from \"react\";\nimport { connect } from \"react-redux\";\nimport _ from \"lodash\";\nimport Dropzone from \"react-dropzone\";\nimport { Icon } from \"@plusscommunities/pluss-icons\";\nimport { Button } from \"./Button\";\nimport { fileActions } from \"../apis\";\nimport { getFileName } from \"../helper\";\n\nconst DEFAULT_INPUT = {\n\tuploadingFile: false,\n\tvalue: \"\",\n};\n\nclass FileInputComponent extends Component {\n\tstate = {\n\t\tinputs: [\n\t\t\t{\n\t\t\t\tuploadingFile: false,\n\t\t\t\tvalue: \"\",\n\t\t\t},\n\t\t],\n\t};\n\n\tcomponentDidMount() {\n\t\tsetTimeout(() => {\n\t\t\tif (this.props.hasDefault) {\n\t\t\t\tthis.setState({\n\t\t\t\t\tinputs: [\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tuploadingFile: false,\n\t\t\t\t\t\t\tvalue: this.props.hasDefault,\n\t\t\t\t\t\t},\n\t\t\t\t\t],\n\t\t\t\t});\n\t\t\t\tif (this.props.refreshCallback) {\n\t\t\t\t\tthis.props.refreshCallback(this.props.hasDefault);\n\t\t\t\t}\n\t\t\t}\n\t\t}, 100);\n\t}\n\n\tsetValue(val) {\n\t\tif (typeof val === \"string\") {\n\t\t\tthis.setState({\n\t\t\t\tinputs: [\n\t\t\t\t\t{\n\t\t\t\t\t\tuploadingImage: false,\n\t\t\t\t\t\tvalue: val,\n\t\t\t\t\t},\n\t\t\t\t],\n\t\t\t});\n\t\t} else {\n\t\t\tconst inputs = [];\n\t\t\t_.forEach(val, (str) => {\n\t\t\t\tinputs.push({\n\t\t\t\t\tuploadingImage: false,\n\t\t\t\t\tvalue: str,\n\t\t\t\t});\n\t\t\t});\n\t\t\tif (!this.props.limit || this.props.limit > inputs.length)\n\t\t\t\tinputs.push(DEFAULT_INPUT);\n\t\t\tthis.setState({ inputs });\n\t\t}\n\t}\n\n\tgetClassNames(input, inputsLength) {\n\t\tlet classes = \"clearfix imageInput\";\n\t\tif (input.uploadingFile) {\n\t\t\tclasses += \" imageInput-uploading\";\n\t\t} else if (!_.isEmpty(input.value) && !this.props.onlyAllowUpload) {\n\t\t\tclasses += \" imageInput-hasImage\";\n\t\t}\n\t\tif (inputsLength === 1) {\n\t\t\tclasses += \" imageInput-only\";\n\t\t}\n\t\tif (\n\t\t\tthis.props.style &&\n\t\t\tthis.props.style.height &&\n\t\t\tthis.props.style.height < 150\n\t\t) {\n\t\t\tclasses += \" imageInput-condensed\";\n\t\t}\n\t\treturn classes;\n\t}\n\n\tgetErrorState() {\n\t\tif (!_.isUndefined(this.props.showError) && this.props.showError()) {\n\t\t\treturn \" imageInput_upload--error\";\n\t\t}\n\t\treturn \"\";\n\t}\n\n\tgetAccept = () => {\n\t\tif (typeof this.props.accept === \"object\") {\n\t\t\treturn this.props.accept;\n\t\t}\n\t\tif (typeof this.props.accept === \"string\") {\n\t\t\tconst accept = {\n\t\t\t\t[this.props.accept]: [`.${_.last(this.props.accept.split(\"/\"))}`],\n\t\t\t};\n\t\t\treturn accept;\n\t\t}\n\t\treturn null;\n\t};\n\n\tcheckRefreshCallback = (inputs) => {\n\t\tif (_.isUndefined(this.props.refreshCallback)) {\n\t\t\treturn;\n\t\t}\n\t\tif (!this.props.multiple) {\n\t\t\tconst file = _.find(inputs, (i) => {\n\t\t\t\treturn !i.uploadingFile && !_.isEmpty(i.value);\n\t\t\t});\n\t\t\tthis.props.refreshCallback(file ? file.value : undefined);\n\t\t} else {\n\t\t\tconst files = _.filter(inputs, (i) => {\n\t\t\t\treturn !i.uploadingFile && !_.isEmpty(i.value);\n\t\t\t}).map((i) => {\n\t\t\t\treturn i.value;\n\t\t\t});\n\t\t\tthis.props.refreshCallback(files);\n\t\t}\n\t};\n\n\tcheckSetDisplayValue(input, value) {\n\t\tinput.value = value;\n\t\tinput.uploadingFile = false;\n\t\tconst newInputs = _.clone(this.state.inputs);\n\t\tthis.setState({ inputs: newInputs });\n\t\tthis.checkRefreshCallback(newInputs);\n\t}\n\n\tonDrop = (files) => {\n\t\tif (this.props.multiple) {\n\t\t\tconst newInputs = _.clone(this.state.inputs);\n\t\t\tfiles.forEach((file) => {\n\t\t\t\tif (this.props.limit && newInputs.length === this.props.limit) {\n\t\t\t\t\t// hit limit - replace last input if it's empty\n\t\t\t\t\tif (_.isEmpty(newInputs[newInputs.length - 1].value)) {\n\t\t\t\t\t\tconst newInput = newInputs[newInputs.length - 1];\n\t\t\t\t\t\tthis.handleFile(newInput, file);\n\t\t\t\t\t}\n\t\t\t\t} else {\n\t\t\t\t\tconst newInput = {\n\t\t\t\t\t\t...DEFAULT_INPUT,\n\t\t\t\t\t};\n\t\t\t\t\tnewInputs.splice(newInputs.length - 1, 0, newInput);\n\t\t\t\t\tthis.handleFile(newInput, file);\n\t\t\t\t}\n\t\t\t});\n\t\t\tthis.setState({\n\t\t\t\tinputs: newInputs,\n\t\t\t});\n\t\t\tthis.checkRefreshCallback(newInputs);\n\t\t} else {\n\t\t\tthis.handleFile(this.state.inputs[0], files[0]);\n\t\t}\n\t};\n\n\thandleFile = async (input, file) => {\n\t\tif (!file || input.uploadingFile) {\n\t\t\treturn;\n\t\t}\n\t\tinput.uploadingFile = true;\n\t\tconst newInputs = _.clone(this.state.inputs);\n\t\tthis.setState({\n\t\t\tinputs: newInputs,\n\t\t});\n\t\tthis.checkRefreshCallback(newInputs);\n\t\tif (this.props.handleFile) {\n\t\t\tawait this.props.handleFile(file, newInputs);\n\t\t\tthis.checkSetDisplayValue(input, \"\");\n\t\t} else {\n\t\t\ttry {\n\t\t\t\tlet uploadFile = file;\n\t\t\t\tconst url = await fileActions.uploadMediaAsync(\n\t\t\t\t\tuploadFile,\n\t\t\t\t\tuploadFile.name,\n\t\t\t\t);\n\t\t\t\tthis.checkSetDisplayValue(input, url);\n\t\t\t} catch (error) {\n\t\t\t\tconsole.log(\"handleFile error\", error);\n\t\t\t\tthis.setState({ uploadingFile: false });\n\t\t\t}\n\t\t}\n\t};\n\n\tremoveFile(input) {\n\t\tconst newState = {};\n\n\t\tinput.value = \"\";\n\n\t\tconst newInputs = _.clone(this.state.inputs);\n\n\t\tif (newInputs.length > 1) {\n\t\t\tnewInputs.splice(newInputs.indexOf(input), 1);\n\t\t\tif (\n\t\t\t\tnewInputs.length === this.props.limit - 1 &&\n\t\t\t\t!_.isEmpty(newInputs[newInputs.length - 1].value)\n\t\t\t) {\n\t\t\t\t// was full\n\t\t\t\tnewInputs.push(DEFAULT_INPUT);\n\t\t\t}\n\t\t}\n\n\t\tnewState.inputs = newInputs;\n\n\t\tthis.setState(newState);\n\t\t// for single item\n\t\tif (!_.isUndefined(this.props.refreshCallback)) {\n\t\t\tthis.props.refreshCallback();\n\t\t}\n\t}\n\n\trenderInput(input, index, inputsLength) {\n\t\tconst renderContent = () => {\n\t\t\tif (this.props.onlyAllowUpload) {\n\t\t\t\treturn null;\n\t\t\t}\n\t\t\tif (!_.isEmpty(input.value) && !input.uploadingFile) {\n\t\t\t\treturn (\n\t\t\t\t\t<div className=\"imageInput_simpleContainer\">\n\t\t\t\t\t\t<div\n\t\t\t\t\t\t\tclassName=\"imageInput_image\"\n\t\t\t\t\t\t\tstyle={{\n\t\t\t\t\t\t\t\t...this.props.style,\n\t\t\t\t\t\t\t\theight:\n\t\t\t\t\t\t\t\t\tthis.props.style && this.props.style.height\n\t\t\t\t\t\t\t\t\t\t? this.props.style.height - 62\n\t\t\t\t\t\t\t\t\t\t: 80,\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<img\n\t\t\t\t\t\t\t\tsrc=\"https://s3-ap-southeast-2.amazonaws.com/pluss60-dev-media/pluss/document.svg\"\n\t\t\t\t\t\t\t\tclassName=\"imageInput_icon\"\n\t\t\t\t\t\t\t\talt=\"file\"\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t<p className=\"imageInput_text\">{getFileName(input.value)}</p>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t\t<Dropzone\n\t\t\t\t\t\t\taccept={this.getAccept()}\n\t\t\t\t\t\t\tonDrop={(files) => this.onDrop(files, true)}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{(state) => {\n\t\t\t\t\t\t\t\tconst { getRootProps, getInputProps } = state;\n\t\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t\t<div style={{ padding: 10 }} {...getRootProps()}>\n\t\t\t\t\t\t\t\t\t\t<input {...getInputProps()} />\n\t\t\t\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\t\t\t\tbuttonType=\"secondary\"\n\t\t\t\t\t\t\t\t\t\t\tclassName=\"imageInput_button\"\n\t\t\t\t\t\t\t\t\t\t\tdisabled\n\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\tChange file\n\t\t\t\t\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t</Dropzone>\n\t\t\t\t\t</div>\n\t\t\t\t);\n\t\t\t}\n\t\t\treturn (\n\t\t\t\t<div className=\"imageInput_image\" style={{ ...this.props.style }}></div>\n\t\t\t);\n\t\t};\n\n\t\tconst renderRemove = () => {\n\t\t\treturn (\n\t\t\t\t!this.props.disableRemove &&\n\t\t\t\t!this.props.disabled &&\n\t\t\t\t(this.props.simpleStyle ? (\n\t\t\t\t\t<Icon\n\t\t\t\t\t\ticon=\"xmark\"\n\t\t\t\t\t\tclassName=\"imageInput_removeIcon\"\n\t\t\t\t\t\tonClick={this.removeFile.bind(this, input)}\n\t\t\t\t\t/>\n\t\t\t\t) : (\n\t\t\t\t\t<p\n\t\t\t\t\t\tclassName=\"imageInput_remove\"\n\t\t\t\t\t\tonClick={this.removeFile.bind(this, input)}\n\t\t\t\t\t>\n\t\t\t\t\t\tremove\n\t\t\t\t\t</p>\n\t\t\t\t))\n\t\t\t);\n\t\t};\n\n\t\tconst renderDownload = () => {\n\t\t\tif (this.props.noDownload) return null;\n\t\t\treturn (\n\t\t\t\t<a href={input.value} target=\"_blank\" className=\"imageInput_download\">\n\t\t\t\t\t<img\n\t\t\t\t\t\talt=\"\"\n\t\t\t\t\t\tclassName=\"dlicon\"\n\t\t\t\t\t\tsrc=\"https://pluss60-dev-uploads.s3.ap-southeast-2.amazonaws.com/uploads/users/ap-southeast-2:efbab8db-136a-446e-b14a-d00af0067841/public/025971e94153af280049fdf3e3/downloadicon.png\"\n\t\t\t\t\t></img>\n\t\t\t\t</a>\n\t\t\t);\n\t\t};\n\n\t\treturn (\n\t\t\t<div\n\t\t\t\tkey={index}\n\t\t\t\tclassName={this.getClassNames(input, inputsLength)}\n\t\t\t\tstyle={{ ...this.props.style }}\n\t\t\t>\n\t\t\t\t<Dropzone accept={this.getAccept()} onDrop={this.onDrop}>\n\t\t\t\t\t{(state) => {\n\t\t\t\t\t\tconst { getRootProps, getInputProps, isDragActive } = state;\n\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t\tclassName={`imageInput_upload ${this.getErrorState()}`}\n\t\t\t\t\t\t\t\tstyle={{ ...this.props.style }}\n\t\t\t\t\t\t\t\t{...getRootProps()}\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t<input {...getInputProps()} />\n\t\t\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t\t\tclassName={`${isDragActive ? \"imageInput_dropZoneActive\" : \"\"}`}\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t{!this.props.simpleStyle && (\n\t\t\t\t\t\t\t\t\t\t<img\n\t\t\t\t\t\t\t\t\t\t\tsrc=\"https://s3-ap-southeast-2.amazonaws.com/pluss60-dev-media/pluss/document.svg\"\n\t\t\t\t\t\t\t\t\t\t\tclassName=\"imageInput_icon\"\n\t\t\t\t\t\t\t\t\t\t\talt=\"file\"\n\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t\t<p className=\"imageInput_helpText\">\n\t\t\t\t\t\t\t\t\t\t{isDragActive ? `Drop file here` : `Drag and drop file or`}\n\t\t\t\t\t\t\t\t\t</p>\n\t\t\t\t\t\t\t\t\t{!isDragActive && (\n\t\t\t\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\t\t\t\tbuttonType=\"secondary\"\n\t\t\t\t\t\t\t\t\t\t\tclassName=\"imageInput_button\"\n\t\t\t\t\t\t\t\t\t\t\tdisabled\n\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t{this.props.multiple ? `Upload files` : `Upload a file`}\n\t\t\t\t\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t);\n\t\t\t\t\t}}\n\t\t\t\t</Dropzone>\n\t\t\t\t<div className=\"imageInput_uploading\" style={{ ...this.props.style }}>\n\t\t\t\t\t<Icon\n\t\t\t\t\t\tclassName=\"spinner imageInput_spinner\"\n\t\t\t\t\t\ticon=\"spinner\"\n\t\t\t\t\t\tfixedWidth\n\t\t\t\t\t\tpulse\n\t\t\t\t\t/>\n\t\t\t\t</div>\n\t\t\t\t{renderContent()}\n\t\t\t\t{renderRemove()}\n\t\t\t\t{renderDownload()}\n\t\t\t</div>\n\t\t);\n\t}\n\n\trenderUploadFiles(inputs) {\n\t\treturn (\n\t\t\t<div\n\t\t\t\tclassName={`imageInputContainer clearfix ${inputs.length === 1 ? \"imageInputContainer-noPadding\" : \"\"} ${\n\t\t\t\t\tthis.props.simpleStyle ? \"imageInputContainer-simple\" : \"\"\n\t\t\t\t}`}\n\t\t\t\tstyle={{ ...this.props.style }}\n\t\t\t>\n\t\t\t\t{inputs.map((input, index) => {\n\t\t\t\t\treturn this.renderInput(input, index, inputs.length);\n\t\t\t\t})}\n\t\t\t</div>\n\t\t);\n\t}\n\n\trenderContent() {\n\t\treturn this.renderUploadFiles(this.state.inputs);\n\t}\n\n\trender() {\n\t\treturn <div style={this.props.containerStyle}>{this.renderContent()}</div>;\n\t}\n}\n\nconst mapStateToProps = () => {\n\treturn {};\n};\n\nconst FileInput = connect(mapStateToProps, {}, null, { forwardRef: true })(\n\tFileInputComponent,\n);\nexport { FileInput };\n","import React, { Component } from \"react\";\nimport _ from \"lodash\";\nimport Textarea from \"react-textarea-autosize\";\n\nclass GenericInput extends Component {\n\tcomponentDidUpdate(prevProps, prevState) {\n\t\tif (!_.isUndefined(this.props.autofocus) && this.props.autofocus) {\n\t\t\tthis._input.focus();\n\t\t}\n\t}\n\n\tgetAutoComplete() {\n\t\tif (!_.isUndefined(this.props.autoComplete)) {\n\t\t\treturn this.props.autoComplete ? \"on\" : \"off\";\n\t\t}\n\t\treturn \"off\";\n\t}\n\n\tisValid() {\n\t\tif (\n\t\t\t!_.isUndefined(this.props.isValid) &&\n\t\t\ttypeof this.props.isValid === \"function\"\n\t\t) {\n\t\t\treturn this.props.isValid();\n\t\t}\n\t\treturn this.props.isValid;\n\t}\n\n\tshowError() {\n\t\treturn (\n\t\t\t!_.isUndefined(this.props.showError) &&\n\t\t\t((typeof this.props.showError === \"function\" && this.props.showError()) ||\n\t\t\t\t(typeof this.props.showError === \"boolean\" && this.props.showError))\n\t\t);\n\t}\n\n\tgetClassNames() {\n\t\tlet string = `${this.props.className} genericInputContainer`;\n\t\tif (!_.isUndefined(this.props.disabled) && this.props.disabled) {\n\t\t\tstring += \" genericInput-disabled\";\n\t\t}\n\t\tif (this.props.large) {\n\t\t\tstring += \" genericInput-large\";\n\t\t}\n\t\tif (!_.isUndefined(this.props.type) && this.props.type === \"textarea\") {\n\t\t\tstring += \" genericInput-textarea\";\n\t\t}\n\t\tif (this.isValid()) {\n\t\t\treturn string + \" genericInput-valid\";\n\t\t}\n\t\tif (this.showError()) {\n\t\t\treturn string + \" genericInput-error\";\n\t\t}\n\t\treturn string;\n\t}\n\n\tgetLabelStyle() {\n\t\tconst style = {};\n\t\tif (_.isEmpty(this.props.value) && !this.props.alwaysShowLabel) {\n\t\t\tstyle.opacity = 0;\n\t\t}\n\t\treturn style;\n\t}\n\n\trenderError() {\n\t\tif (this.showError() && !this.isValid()) {\n\t\t\treturn (\n\t\t\t\t<div className={\"fieldLabel fieldLabel-warning\"}>\n\t\t\t\t\t{this.props.errorMessage ? this.props.errorMessage : \"Required\"}\n\t\t\t\t</div>\n\t\t\t);\n\t\t}\n\t\treturn null;\n\t}\n\trenderHelp() {\n\t\tif (!_.isEmpty(this.props.help)) {\n\t\t\treturn <div className=\"genericInput-help\">{this.props.help}</div>;\n\t\t}\n\t\treturn null;\n\t}\n\n\trenderInput() {\n\t\tif (!_.isUndefined(this.props.inputComponent)) {\n\t\t\treturn (\n\t\t\t\t<div style={{ ...styles.row, alignItems: \"flex-start\" }}>\n\t\t\t\t\t{this.props.isRequired && <div className=\"inputRequired \" />}\n\t\t\t\t\t{this.props.inputComponent}\n\t\t\t\t\t{this.props.rightContent}\n\t\t\t\t</div>\n\t\t\t);\n\t\t}\n\t\tif (!_.isUndefined(this.props.type) && this.props.type === \"textarea\") {\n\t\t\t// Render expandable text area\n\t\t\treturn (\n\t\t\t\t<div style={{ ...styles.row, alignItems: \"flex-start\" }}>\n\t\t\t\t\t{this.props.isRequired && <div className=\"inputRequired \" />}\n\t\t\t\t\t<Textarea\n\t\t\t\t\t\tid={this.props.id}\n\t\t\t\t\t\tplaceholder={\n\t\t\t\t\t\t\t!_.isUndefined(this.props.placeholder)\n\t\t\t\t\t\t\t\t? this.props.placeholder\n\t\t\t\t\t\t\t\t: this.props.label\n\t\t\t\t\t\t}\n\t\t\t\t\t\ttype={!_.isUndefined(this.props.type) ? this.props.type : \"text\"}\n\t\t\t\t\t\tclassName={`genericInput ${this.props.inputClass}`}\n\t\t\t\t\t\tvalue={this.props.value || \"\"}\n\t\t\t\t\t\tonChange={this.props.onChange}\n\t\t\t\t\t\tonKeyPress={this.props.onKeyPress || this.props.onEnter}\n\t\t\t\t\t\tonKeyDown={this.props.onKeyDown}\n\t\t\t\t\t\tstyle={{ ...this.props.inputStyle }}\n\t\t\t\t\t\treadOnly={\n\t\t\t\t\t\t\t!_.isUndefined(this.props.readOnly) ? this.props.readOnly : false\n\t\t\t\t\t\t}\n\t\t\t\t\t\tdisabled={\n\t\t\t\t\t\t\t!_.isUndefined(this.props.disabled) ? this.props.disabled : false\n\t\t\t\t\t\t}\n\t\t\t\t\t\tautoComplete={this.getAutoComplete()}\n\t\t\t\t\t\tmaxLength={this.props.maxLength}\n\t\t\t\t\t\tonFocus={this.props.onFocus}\n\t\t\t\t\t\tonBlur={this.props.onBlur}\n\t\t\t\t\t/>\n\t\t\t\t\t{this.props.rightContent}\n\t\t\t\t</div>\n\t\t\t);\n\t\t}\n\t\t// Render default input\n\t\treturn (\n\t\t\t<div style={{ ...styles.row, ...this.props.textWrapperStyle }}>\n\t\t\t\t{this.props.isRequired && <div className=\"inputRequired \" />}\n\t\t\t\t<input\n\t\t\t\t\tref={(c) => (this._input = c)}\n\t\t\t\t\tid={this.props.id}\n\t\t\t\t\tplaceholder={\n\t\t\t\t\t\t!_.isUndefined(this.props.placeholder)\n\t\t\t\t\t\t\t? this.props.placeholder\n\t\t\t\t\t\t\t: this.props.label\n\t\t\t\t\t}\n\t\t\t\t\ttype={!_.isUndefined(this.props.type) ? this.props.type : \"text\"}\n\t\t\t\t\tclassName={`genericInput ${this.props.inputClass}`}\n\t\t\t\t\tvalue={this.props.value || \"\"}\n\t\t\t\t\tonChange={this.props.onChange}\n\t\t\t\t\tonClick={this.props.onClick}\n\t\t\t\t\tonKeyPress={this.props.onKeyPress || this.props.onEnter}\n\t\t\t\t\tonKeyDown={this.props.onKeyDown}\n\t\t\t\t\tstyle={{ ...this.props.inputStyle }}\n\t\t\t\t\treadOnly={\n\t\t\t\t\t\t!_.isUndefined(this.props.readOnly) ? this.props.readOnly : false\n\t\t\t\t\t}\n\t\t\t\t\tdisabled={\n\t\t\t\t\t\t!_.isUndefined(this.props.disabled) ? this.props.disabled : false\n\t\t\t\t\t}\n\t\t\t\t\tautoComplete={this.getAutoComplete()}\n\t\t\t\t\tautoFocus={\n\t\t\t\t\t\t!_.isUndefined(this.props.autofocus) ? this.props.autofocus : false\n\t\t\t\t\t}\n\t\t\t\t\tmaxLength={this.props.maxLength}\n\t\t\t\t\tonFocus={this.props.onFocus}\n\t\t\t\t\tonBlur={this.props.onBlur}\n\t\t\t\t/>\n\t\t\t\t{this.props.rightContent}\n\t\t\t</div>\n\t\t);\n\t}\n\n\trender() {\n\t\treturn (\n\t\t\t<div className={this.getClassNames()} style={{ ...this.props.style }}>\n\t\t\t\t<div\n\t\t\t\t\tstyle={{\n\t\t\t\t\t\t...styles.row,\n\t\t\t\t\t\tmarginBottom: 0,\n\t\t\t\t\t\tjustifyContent: \"space-between\",\n\t\t\t\t\t}}\n\t\t\t\t>\n\t\t\t\t\t{!_.isUndefined(this.props.label) && (\n\t\t\t\t\t\t<div className=\"fieldLabel\" style={this.getLabelStyle()}>\n\t\t\t\t\t\t\t{this.props.label}\n\t\t\t\t\t\t</div>\n\t\t\t\t\t)}\n\t\t\t\t\t{this.renderError()}\n\t\t\t\t</div>\n\t\t\t\t{/* Render either generic input or large text area */}\n\t\t\t\t{this.renderInput()}\n\t\t\t\t{/* Render bottom help info */}\n\t\t\t\t{this.renderHelp()}\n\t\t\t</div>\n\t\t);\n\t}\n}\n\nconst styles = {\n\trow: {\n\t\tdisplay: \"flex\",\n\t\tflexDirection: \"row\",\n\t\t// marginBottom: 8,\n\t\talignItems: \"center\",\n\t},\n};\n\nexport { GenericInput };\n","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 { 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 React, { Component } from \"react\";\nimport { withRouter } from \"react-router\";\nimport { connect } from \"react-redux\";\nimport { setNavData } from \"../actions\";\nimport { Button } from \"./Button\";\n\nclass Header extends Component {\n\tgetHomeLink() {\n\t\tthis.props.history.replace(\"/\");\n\t}\n\n\tgoToHelpGuide = () => {\n\t\twindow.open(\"https://www.plusscommunities.com/user-guide\", \"_blank\");\n\t};\n\n\ttoggleSideMenu = () => {\n\t\tthis.props.setNavData({ isSideMenuOpen: !this.props.isSideMenuOpen });\n\t};\n\n\trenderRight() {\n\t\tif (this.props.rightContent) {\n\t\t\treturn this.props.rightContent;\n\t\t}\n\t\treturn (\n\t\t\t<div className=\"flex flex-center\">\n\t\t\t\t<Button\n\t\t\t\t\tbuttonType=\"primary\"\n\t\t\t\t\tonClick={this.goToHelpGuide}\n\t\t\t\t\tnarrow\n\t\t\t\t\tisActive\n\t\t\t\t\tclassName=\"marginRight-16\"\n\t\t\t\t>\n\t\t\t\t\tHelp Guide\n\t\t\t\t</Button>\n\t\t\t\t<div className=\"sideMenuButtonContainer\"></div>\n\t\t\t</div>\n\t\t);\n\t}\n\n\trenderHeader() {\n\t\treturn (\n\t\t\t<div className=\"header\">\n\t\t\t\t<div id=\"leftContainer\" style={{ display: \"inline-block\" }}>\n\t\t\t\t\t{this.props.children && (\n\t\t\t\t\t\t<div\n\t\t\t\t\t\t\tstyle={{\n\t\t\t\t\t\t\t\tdisplay: \"flex\",\n\t\t\t\t\t\t\t\theight: \"100%\",\n\t\t\t\t\t\t\t\talignItems: \"center\",\n\t\t\t\t\t\t\t\tmarginLeft: 16,\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{this.props.children}\n\t\t\t\t\t\t</div>\n\t\t\t\t\t)}\n\t\t\t\t</div>\n\t\t\t\t{this.renderRight()}\n\t\t\t</div>\n\t\t);\n\t}\n\n\trenderSimpleHeader() {\n\t\treturn (\n\t\t\t<div\n\t\t\t\tclassName={`header header-simple ${this.props.fixed ? \"header-fixed\" : \"\"}`}\n\t\t\t>\n\t\t\t\t<div className=\"container1200 flex flex-center\">\n\t\t\t\t\t<img\n\t\t\t\t\t\tclassName=\"header_logo\"\n\t\t\t\t\t\tsrc=\"https://pluss-prd-media.s3-ap-southeast-2.amazonaws.com/assets/plusscommunities-new.svg\"\n\t\t\t\t\t\talt=\"logo\"\n\t\t\t\t\t/>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t);\n\t}\n\n\trenderContainerHeader() {\n\t\treturn (\n\t\t\t<div\n\t\t\t\tclassName={`header header-simple ${this.props.fixed ? \"header-fixed\" : \"\"}`}\n\t\t\t>\n\t\t\t\t{this.props.children}\n\t\t\t</div>\n\t\t);\n\t}\n\n\trender() {\n\t\tif (this.props.simple) {\n\t\t\treturn this.renderSimpleHeader();\n\t\t}\n\t\tif (this.props.onlyContainer) {\n\t\t\treturn this.renderContainerHeader();\n\t\t}\n\t\treturn this.renderHeader();\n\t}\n}\n\nconst mapStateToProps = (state) => {\n\treturn { auth: state.auth, isSideMenuOpen: state.nav.isSideMenuOpen };\n};\n\nlet exportObj = connect(mapStateToProps, { setNavData })(withRouter(Header));\n\nexport { exportObj as Header };\n","import React, { Component } from \"react\";\nimport { withRouter } from \"react-router\";\nimport { connect } from \"react-redux\";\nimport _ from \"lodash\";\nimport { Icon } from \"@plusscommunities/pluss-icons\";\nimport { COLOUR_DUSK_LIGHTER } from \"../colours\";\n\nclass SideNavItem extends Component {\n\tconstructor(props) {\n\t\tsuper(props);\n\t\tthis.state = { url: window.location.pathname };\n\t}\n\n\tUNSAFE_componentWillReceiveProps(nextProps) {\n\t\tif (!_.isUndefined(nextProps.url) && !_.isEmpty(nextProps.url)) {\n\t\t\tthis.setState({ url: nextProps.url });\n\t\t}\n\t}\n\n\tgoTo = () => {\n\t\tif (this.props.onClick) {\n\t\t\treturn this.props.onClick();\n\t\t}\n\t\tif (!_.isUndefined(this.props.onUrlChange)) {\n\t\t\tthis.props.onUrlChange();\n\t\t}\n\t\tthis.props.history.push(this.props.Link);\n\t};\n\n\tgetClassNames() {\n\t\tlet result = \"\";\n\t\tif (this.props.className) {\n\t\t\tresult += ` ${this.props.className}`;\n\t\t}\n\t\tif (this.state.url === this.props.Link || this.props.selected) {\n\t\t\tresult += \" sideNav-item--active\";\n\t\t}\n\t\tif (this.props.subStyle) {\n\t\t\tresult += \" sideNav-item-subStyle\";\n\t\t}\n\t\treturn result;\n\t}\n\n\trenderIcon() {\n\t\tif (!this.props.Icon) {\n\t\t\treturn null;\n\t\t}\n\n\t\treturn (\n\t\t\t<div style={{ ...styles.section, width: 18, marginRight: 16 }}>\n\t\t\t\t<Icon\n\t\t\t\t\tclassName=\"sideNav-item-icon\"\n\t\t\t\t\ticon={this.props.Icon}\n\t\t\t\t\tstyle={this.props.style}\n\t\t\t\t/>\n\t\t\t</div>\n\t\t);\n\t}\n\n\trender() {\n\t\treturn (\n\t\t\t<div\n\t\t\t\tclassName={`sideNav-item${this.getClassNames()}`}\n\t\t\t\tstyle={this.props.style}\n\t\t\t\tonClick={this.goTo}\n\t\t\t>\n\t\t\t\t{!this.props.noSideDot && (\n\t\t\t\t\t<div style={{ ...styles.section, marginRight: 15 }}>\n\t\t\t\t\t\t<div className=\"sideNav-item-dot\" style={styles.sideNavDot} />\n\t\t\t\t\t</div>\n\t\t\t\t)}\n\t\t\t\t{this.renderIcon()}\n\t\t\t\t<div className=\"sideNav-item-text\" style={styles.section}>\n\t\t\t\t\t{this.props.Text}\n\t\t\t\t</div>\n\t\t\t\t{!_.isNil(this.props.count) && this.props.count > 0 && (\n\t\t\t\t\t<div className=\"sideNav-item-extra\">\n\t\t\t\t\t\t<div className=\"count\">\n\t\t\t\t\t\t\t{this.props.count > 99 ? 99 : this.props.count}\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</div>\n\t\t\t\t)}\n\t\t\t</div>\n\t\t);\n\t}\n}\n\nconst styles = {\n\tsection: {\n\t\tdisplay: \"flex\",\n\t\talignItems: \"center\",\n\t\tminHeight: 22,\n\t},\n\tsideNavDot: {\n\t\twidth: 5,\n\t\theight: 5,\n\t\tborderRadius: 5,\n\t},\n};\n\nlet exportObj = connect(null, {})(withRouter(SideNavItem));\n\nexport { exportObj as SideNavItem };\n","import React, { PureComponent } from \"react\";\nimport _ from \"lodash\";\nimport { connect } from \"react-redux\";\nimport { setNavData } from \"../actions\";\nimport { SideNavItem } from \"./SideNavItem\";\nimport { Button } from \"./Button\";\nimport { Text } from \"./Text\";\n\nclass HubSidebar extends PureComponent {\n\tconstructor(props) {\n\t\tsuper(props);\n\n\t\tthis.state = {\n\t\t\tshowSidebar: false,\n\t\t};\n\t}\n\n\tcomponentDidMount() {\n\t\tthis.props.setNavData({\n\t\t\tcondensedSidebar: true,\n\t\t});\n\t\tsetTimeout(() => {\n\t\t\tthis.setState({\n\t\t\t\tshowSidebar: true,\n\t\t\t});\n\t\t}, 50);\n\t}\n\n\tcomponentWillUnmount() {\n\t\tthis.props.setNavData({\n\t\t\tcondensedSidebar: false,\n\t\t});\n\t\tthis.setState({\n\t\t\tshowSidebar: false,\n\t\t});\n\t}\n\n\trenderButton(item, index) {\n\t\treturn (\n\t\t\t<div key={`button_${index}`} className=\"hubSidebar_newButtonContainer\">\n\t\t\t\t<Button\n\t\t\t\t\tbuttonType={item.buttonType || \"primary\"}\n\t\t\t\t\tisActive\n\t\t\t\t\tleftIcon={item.icon}\n\t\t\t\t\tnarrow\n\t\t\t\t\tonClick={item.onClick}\n\t\t\t\t>\n\t\t\t\t\t{item.text}\n\t\t\t\t</Button>\n\t\t\t</div>\n\t\t);\n\t}\n\n\trenderNewButton(item, index) {\n\t\treturn this.renderButton({ ...item, icon: \"plus\" }, index);\n\t}\n\n\trenderNavItem(item, index) {\n\t\treturn (\n\t\t\t<SideNavItem\n\t\t\t\tText={item.text}\n\t\t\t\tIcon={item.icon}\n\t\t\t\tLink={item.url}\n\t\t\t\tisFontAwesome={item.isFontAwesome}\n\t\t\t\tisSVG={item.isSVG}\n\t\t\t\tkey={`navitem_${index}`}\n\t\t\t\tselected={item.selected}\n\t\t\t\tonClick={item.onClick}\n\t\t\t/>\n\t\t);\n\t}\n\n\trenderSection(section, index) {\n\t\treturn (\n\t\t\t<div className=\"hubSidebar_section\" key={`section_${index}`}>\n\t\t\t\t<Text type=\"h3\" className=\"hubSidebar_sectionTitle\">\n\t\t\t\t\t{section.title}\n\t\t\t\t</Text>\n\t\t\t\t{section.items.map((item, itemIndex) => {\n\t\t\t\t\tswitch (item.type) {\n\t\t\t\t\t\tcase \"button\":\n\t\t\t\t\t\t\treturn this.renderButton(item, itemIndex);\n\t\t\t\t\t\tcase \"newButton\":\n\t\t\t\t\t\t\treturn this.renderNewButton(item, itemIndex);\n\t\t\t\t\t\tcase \"navItem\":\n\t\t\t\t\t\t\treturn this.renderNavItem(item, itemIndex);\n\t\t\t\t\t\tdefault:\n\t\t\t\t\t\t\treturn null;\n\t\t\t\t\t}\n\t\t\t\t})}\n\t\t\t</div>\n\t\t);\n\t}\n\n\trenderHelpGuide = () => {\n\t\tif (!this.props.helpGuide) return null;\n\n\t\tconst { text, url } = this.props.helpGuide;\n\n\t\tconst onHelpGuidePress = () => {\n\t\t\tif (!url) return;\n\t\t\twindow.open(url, \"_blank\");\n\t\t};\n\t\treturn (\n\t\t\t<div className=\"hubSidebar_helpGuideContainer\">\n\t\t\t\t<Button\n\t\t\t\t\tbuttonType=\"outlined\"\n\t\t\t\t\tisActive\n\t\t\t\t\tleftIcon=\"circle-info\"\n\t\t\t\t\tnarrow\n\t\t\t\t\tonClick={onHelpGuidePress}\n\t\t\t\t>\n\t\t\t\t\t{text || \"Help Guide\"}\n\t\t\t\t</Button>\n\t\t\t</div>\n\t\t);\n\t};\n\n\trender() {\n\t\treturn (\n\t\t\t<div\n\t\t\t\tclassName={`hubSidebar${this.state.showSidebar ? \" hubSidebar-show\" : \"\"} ${this.props.className ? this.props.className : \"\"}`}\n\t\t\t\tstyle={this.props.style}\n\t\t\t>\n\t\t\t\t{/* Top Add Button */}\n\t\t\t\t<div className=\"hubSidebar_content\">\n\t\t\t\t\t{/* Title */}\n\t\t\t\t\t{this.props.sections.map((section, i) => {\n\t\t\t\t\t\treturn this.renderSection(section, i);\n\t\t\t\t\t})}\n\t\t\t\t</div>\n\n\t\t\t\t{/* Help Guide Button. */}\n\t\t\t\t{this.renderHelpGuide()}\n\t\t\t</div>\n\t\t);\n\t}\n}\n\nconst mapStateToProps = (state) => {\n\treturn { auth: state.auth, isSideMenuOpen: state.nav.isSideMenuOpen };\n};\n\nlet exportObj = connect(mapStateToProps, { setNavData })(HubSidebar);\n\nexport { exportObj as HubSidebar };\n","import React, { Component } from \"react\";\nimport _ from \"lodash\";\nimport { Icon } from \"@plusscommunities/pluss-icons\";\nimport { Button } from \"./Button\";\nimport { COLOUR_DUSK_LIGHT } from \"../colours\";\n\nclass Popup extends Component {\n\trenderClose() {\n\t\tif (!this.props.onClose) {\n\t\t\treturn null;\n\t\t}\n\t\treturn (\n\t\t\t<Icon\n\t\t\t\tcolour={COLOUR_DUSK_LIGHT}\n\t\t\t\ticon=\"xmark\"\n\t\t\t\tclassName=\"popup_closeIcon\"\n\t\t\t\tonClick={this.props.onClose}\n\t\t\t/>\n\t\t);\n\t}\n\n\trenderTitle() {\n\t\tif (_.isEmpty(this.props.title)) {\n\t\t\treturn null;\n\t\t}\n\t\treturn <p className=\"popup_title\">{this.props.title}</p>;\n\t}\n\n\trenderSubtitle() {\n\t\tif (_.isEmpty(this.props.subtitle)) {\n\t\t\treturn null;\n\t\t}\n\t\treturn <p className=\"popup_subtitle\">{this.props.subtitle}</p>;\n\t}\n\n\trenderButtons() {\n\t\tif (_.isEmpty(this.props.buttons)) {\n\t\t\treturn null;\n\t\t}\n\t\tif (this.props.verticalButtonStack) {\n\t\t\treturn (\n\t\t\t\t<div\n\t\t\t\t\tclassName={`flex flex-1 marginTop-20${this.props.verticalButtonStack ? \" flex-column flex-center\" : \" flex-center-row\"}`}\n\t\t\t\t>\n\t\t\t\t\t{this.props.buttons.map((b, index) => {\n\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\tkey={index}\n\t\t\t\t\t\t\t\tbuttonType={b.type}\n\t\t\t\t\t\t\t\tstyle={{ marginLeft: 8, marginRight: 8, ...b.style }}\n\t\t\t\t\t\t\t\tclassName={b.className}\n\t\t\t\t\t\t\t\tonClick={b.onClick}\n\t\t\t\t\t\t\t\tisActive={b.isActive}\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t{b.loading ? <Icon pulse fixedWidth icon=\"spinner\" /> : b.text}\n\t\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t);\n\t\t\t\t\t})}\n\t\t\t\t</div>\n\t\t\t);\n\t\t}\n\t\treturn (\n\t\t\t<div className=\"popup_buttonSection\">\n\t\t\t\t{this.props.buttons.map((b, index) => {\n\t\t\t\t\treturn (\n\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\tkey={index}\n\t\t\t\t\t\t\tbuttonType={b.type}\n\t\t\t\t\t\t\tstyle={{ marginLeft: 16, ...b.style }}\n\t\t\t\t\t\t\tbuttonStyle={b.buttonStyle}\n\t\t\t\t\t\t\tclassName={b.className}\n\t\t\t\t\t\t\tonClick={b.onClick}\n\t\t\t\t\t\t\tisActive={b.isActive}\n\t\t\t\t\t\t\tleftIcon={b.leftIcon}\n\t\t\t\t\t\t\tleftIconType={b.leftIconType}\n\t\t\t\t\t\t\tleftIconColour={b.leftIconColour}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{b.loading ? <Icon pulse fixedWidth icon=\"spinner\" /> : b.text}\n\t\t\t\t\t\t</Button>\n\t\t\t\t\t);\n\t\t\t\t})}\n\t\t\t</div>\n\t\t);\n\t}\n\n\trender() {\n\t\treturn (\n\t\t\t<div className={`popup ${this.props.className}`}>\n\t\t\t\t<div\n\t\t\t\t\tclassName={`popup_box ${this.props.boxClasses}`}\n\t\t\t\t\tstyle={{\n\t\t\t\t\t\tmaxHeight: this.props.maxHeight ? this.props.maxHeight : \"auto\",\n\t\t\t\t\t\tmaxWidth: this.props.maxWidth ? this.props.maxWidth : \"auto\",\n\t\t\t\t\t\tminHeight: this.props.minHeight ? this.props.minHeight : \"auto\",\n\t\t\t\t\t\tminWidth: this.props.minWidth ? this.props.minWidth : \"auto\",\n\t\t\t\t\t}}\n\t\t\t\t>\n\t\t\t\t\t<div\n\t\t\t\t\t\tclassName={`popup_box_inner ${this.props.hasPadding ? \"popup_box-hasPadding\" : \"\"} ${this.props.innerClasses}`}\n\t\t\t\t\t>\n\t\t\t\t\t\t{this.renderClose()}\n\t\t\t\t\t\t{this.props.topContent}\n\t\t\t\t\t\t{this.renderTitle()}\n\t\t\t\t\t\t{this.renderSubtitle()}\n\t\t\t\t\t\t{this.props.children}\n\t\t\t\t\t</div>\n\t\t\t\t\t{this.renderButtons()}\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t);\n\t}\n}\n\nexport { Popup };\n","import React, { Component } from \"react\";\nimport { connect } from \"react-redux\";\nimport _ from \"lodash\";\nimport $ from \"jquery\";\nimport moment from \"moment\";\nimport Dropzone from \"react-dropzone\";\nimport { get1400, getThumb300, isVideo } from \"../helper\";\nimport { fileActions } from \"../apis\";\nimport { validateAccess, getApiError } from \"../session\";\nimport { Popup } from \"./Popup\";\nimport { Button } from \"./Button\";\nimport { GenericInput } from \"./GenericInput\";\nimport { Icon } from \"@plusscommunities/pluss-icons\";\n\nconst DEFAULT_INPUT = {\n\tuploadingImage: false,\n\tvalue: \"\",\n\tdisplayValue: \"\",\n};\n\nclass ImageInputComponent extends Component {\n\tstate = {\n\t\tselectedTab: \"upload\",\n\t\tinputs: [\n\t\t\t{\n\t\t\t\tuploadingImage: false,\n\t\t\t\tvalue: \"\",\n\t\t\t\tdisplayValue: \"\",\n\t\t\t},\n\t\t],\n\t\tlibraryLoadTriggered: false,\n\t\tlibraryLoaded: false,\n\t\timageLibrary: [],\n\t\tloadingFolders: false,\n\t\taddingFolder: false,\n\t\tdeletingFolder: {},\n\t\tdeletingImage: {},\n\t\tfolders: [],\n\t\taddFolderOpen: false,\n\t\taddFolderInput: \"\",\n\t\tselectedFolder: null,\n\t\tsaveErrorMessage: \"\",\n\t};\n\n\tUNSAFE_componentWillMount() {\n\t\tsetTimeout(() => {\n\t\t\tif (this.props.hasDefault) {\n\t\t\t\tthis.setState({\n\t\t\t\t\tinputs: [\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tuploadingImage: false,\n\t\t\t\t\t\t\tvalue: this.props.hasDefault,\n\t\t\t\t\t\t\tdisplayValue: this.props.hasDefault,\n\t\t\t\t\t\t},\n\t\t\t\t\t],\n\t\t\t\t});\n\t\t\t\tif (this.props.refreshCallback) {\n\t\t\t\t\tthis.props.refreshCallback(this.props.hasDefault);\n\t\t\t\t}\n\t\t\t}\n\t\t}, 100);\n\t}\n\n\tcomponentDidMount() {\n\t\tthis.getFolders();\n\t\tthis.getLibrary();\n\t}\n\n\tgetUploading(index) {\n\t\treturn this.state.inputs[index].uploadingImage;\n\t}\n\n\tgetValue() {\n\t\tif (this.props.multiple) {\n\t\t\treturn _.filter(\n\t\t\t\tthis.state.inputs.map((input) => {\n\t\t\t\t\treturn input.value;\n\t\t\t\t}),\n\t\t\t\t(url) => {\n\t\t\t\t\treturn !_.isEmpty(url);\n\t\t\t\t},\n\t\t\t);\n\t\t}\n\t\treturn this.state.inputs[0].value;\n\t}\n\n\tsetValue(val) {\n\t\tif (typeof val === \"string\") {\n\t\t\tthis.setState({\n\t\t\t\tinputs: [\n\t\t\t\t\t{\n\t\t\t\t\t\tuploadingImage: false,\n\t\t\t\t\t\tvalue: val,\n\t\t\t\t\t\tdisplayValue: val,\n\t\t\t\t\t},\n\t\t\t\t],\n\t\t\t});\n\t\t} else {\n\t\t\tconst inputs = [];\n\t\t\t_.forEach(val, (str) => {\n\t\t\t\tinputs.push({\n\t\t\t\t\tuploadingImage: false,\n\t\t\t\t\tvalue: str,\n\t\t\t\t\tdisplayValue: str,\n\t\t\t\t});\n\t\t\t});\n\t\t\tif (!this.props.limit || this.props.limit > inputs.length)\n\t\t\t\tinputs.push(DEFAULT_INPUT);\n\t\t\tthis.setState({ inputs });\n\t\t}\n\t}\n\n\tgetImageStyle(displayValue) {\n\t\tif (_.isEmpty(displayValue)) {\n\t\t\treturn null;\n\t\t}\n\t\tconst image = isVideo(displayValue) ? get1400(displayValue) : displayValue;\n\t\tif (this.props.noCompress) {\n\t\t\treturn { backgroundImage: `url(${image})`, backgroundSize: \"contain\" };\n\t\t}\n\t\treturn { backgroundImage: `url(${getThumb300(image)})` };\n\t}\n\n\tgetAccept = () => {\n\t\tconst accept = {\n\t\t\t\"image/*\": [\".jpeg\", \".png\"],\n\t\t};\n\t\tif (this.props.allowVideo) {\n\t\t\taccept[\"video/*\"] = [\".mp4\"];\n\t\t}\n\t\treturn accept;\n\t};\n\n\tgetContainerClasses() {\n\t\tlet result = this.props.className || \"\";\n\t\tif (this.props.noMenu) {\n\t\t\tresult += \" imageInputOuter-noMenu\";\n\t\t}\n\t\tif (!this.props.multiple) {\n\t\t\tresult += \" imageInputOuter-single\";\n\t\t}\n\t\tif (this.props.grid) {\n\t\t\tresult += \" imageInputOuter-grid\";\n\t\t}\n\t\treturn result;\n\t}\n\n\tgetClassNames(input, inputsLength) {\n\t\tlet classes = \"imageInput\";\n\t\tif (input.uploadingImage) {\n\t\t\tclasses += \" imageInput-uploading\";\n\t\t} else if (!_.isEmpty(input.value) && !this.props.onlyAllowUpload) {\n\t\t\tclasses += \" imageInput-hasImage\";\n\t\t}\n\t\tif (inputsLength === 1) {\n\t\t\tclasses += \" imageInput-only\";\n\t\t}\n\t\treturn classes;\n\t}\n\n\tgetErrorState() {\n\t\tif (!_.isUndefined(this.props.showError) && this.props.showError()) {\n\t\t\treturn \" imageInput_upload--error\";\n\t\t}\n\t\treturn \"\";\n\t}\n\n\trefreshFolders = async () => {\n\t\tconst res = await fileActions.getMediaFolders(this.props.auth.site);\n\t\treturn res.data;\n\t};\n\n\tgetFolders() {\n\t\tthis.setState({ loadingFolders: true }, async () => {\n\t\t\ttry {\n\t\t\t\tconst folders = await this.refreshFolders();\n\t\t\t\tthis.setState({ loadingFolders: false, folders });\n\t\t\t} catch (error) {\n\t\t\t\tconsole.log(\"getFolders - error\", error);\n\t\t\t\tthis.setState({ loadingFolders: false });\n\t\t\t}\n\t\t});\n\t}\n\n\tcheckRefreshCallback = (inputs) => {\n\t\tif (_.isUndefined(this.props.refreshCallback)) {\n\t\t\treturn;\n\t\t}\n\t\tif (!this.props.multiple) {\n\t\t\tconst image = _.find(inputs, (i) => {\n\t\t\t\treturn !i.uploadingImage && !_.isEmpty(i.value);\n\t\t\t});\n\t\t\tthis.props.refreshCallback(image ? image.value : undefined);\n\t\t} else {\n\t\t\tconst images = _.filter(inputs, (i) => {\n\t\t\t\treturn !i.uploadingImage && !_.isEmpty(i.value);\n\t\t\t}).map((i) => {\n\t\t\t\treturn i.value;\n\t\t\t});\n\t\t\tthis.props.refreshCallback(images);\n\t\t}\n\t};\n\n\tparseImagesArray = (images) => {\n\t\treturn _.map(images, (f) => {\n\t\t\tconst uri = typeof f === \"string\" ? f : f.uri;\n\t\t\tconst image1400 = get1400(uri);\n\t\t\treturn {\n\t\t\t\tValue: uri,\n\t\t\t\tThumb: getThumb300(uri),\n\t\t\t\t1400: image1400,\n\t\t\t\tSelected: _.some(\n\t\t\t\t\tthis.state.inputs,\n\t\t\t\t\t(input) => input.value === uri || input.value === image1400,\n\t\t\t\t),\n\t\t\t};\n\t\t});\n\t};\n\n\tgetLibrary() {\n\t\tif (this.state.libraryLoadTriggered) return;\n\n\t\tthis.setState({ libraryLoadTriggered: true }, async () => {\n\t\t\ttry {\n\t\t\t\tconst res = await fileActions.getMediaLibrary();\n\t\t\t\t// console.log('getLibrary', res.data);\n\t\t\t\tthis.setState({\n\t\t\t\t\tlibraryLoaded: true,\n\t\t\t\t\timageLibrary: this.parseImagesArray(res.data),\n\t\t\t\t});\n\t\t\t} catch (error) {\n\t\t\t\tconsole.log(\"getLibrary - error\", error);\n\t\t\t}\n\t\t});\n\t}\n\n\ttoggleLibraryItem(image) {\n\t\tconst newInputs = _.clone(this.state.inputs);\n\t\tif (image.Selected) {\n\t\t\t// Unselelct selected image\n\t\t\tconst index = _.findIndex(newInputs, (input) => {\n\t\t\t\treturn input.value === image.Value || input.value === image[1400];\n\t\t\t});\n\t\t\tif (index !== -1) {\n\t\t\t\tnewInputs.splice(index, 1);\n\t\t\t}\n\t\t\timage.Selected = false;\n\t\t} else {\n\t\t\t// Select unselected image\n\t\t\tconst newFile = {\n\t\t\t\tuploadingImage: false,\n\t\t\t\tvalue: image.Value,\n\t\t\t\tdisplayValue: image[1400],\n\t\t\t\tfromLibrary: true,\n\t\t\t};\n\t\t\tif (!this.props.multiple) {\n\t\t\t\tnewInputs[newInputs.length - 1] = newFile;\n\t\t\t\t// Single image selector -> Unselect others\n\t\t\t\tthis.state.imageLibrary.map((i) => (i.Selected = false));\n\t\t\t\tif (this.state.selectedFolder && this.state.selectedFolder.parsedImages)\n\t\t\t\t\tthis.state.selectedFolder.parsedImages.map(\n\t\t\t\t\t\t(i) => (i.Selected = false),\n\t\t\t\t\t);\n\t\t\t\timage.Selected = true;\n\t\t\t} else if (!(this.props.limit && newInputs.length === this.props.limit)) {\n\t\t\t\tnewInputs.splice(newInputs.length - 1, 0, newFile);\n\t\t\t\timage.Selected = true;\n\t\t\t}\n\t\t}\n\n\t\tif (_.isEmpty(newInputs)) newInputs.push(DEFAULT_INPUT);\n\t\tthis.setState({\n\t\t\tinputs: newInputs,\n\t\t\timageLibrary: _.clone(this.state.imageLibrary),\n\t\t\tselectedFolder: this.state.selectedFolder\n\t\t\t\t? _.clone(this.state.selectedFolder)\n\t\t\t\t: undefined,\n\t\t});\n\t\tthis.checkRefreshCallback(newInputs);\n\t}\n\n\taddFolder = () => {\n\t\tthis.setState({ addFolderOpen: true }, () => {\n\t\t\tconst input = document.getElementById(\"addFolderInput\");\n\t\t\tif (input) input.focus();\n\t\t});\n\t};\n\n\tcancelAddStates = {\n\t\taddFolderOpen: false,\n\t\taddFolderInput: \"\",\n\t\tsaveErrorMessage: \"\",\n\t};\n\tcancelAddFolder = () => {\n\t\tthis.setState(this.cancelAddStates);\n\t};\n\n\tsaveFolder = () => {\n\t\tthis.setState({ addingFolder: true }, async () => {\n\t\t\ttry {\n\t\t\t\tawait fileActions.addMediaFolder(\n\t\t\t\t\tthis.props.auth.site,\n\t\t\t\t\tthis.state.addFolderInput,\n\t\t\t\t);\n\t\t\t\tconst folders = await this.refreshFolders();\n\t\t\t\tthis.setState({\n\t\t\t\t\taddingFolder: false,\n\t\t\t\t\tfolders,\n\t\t\t\t\t...this.cancelAddStates,\n\t\t\t\t});\n\t\t\t} catch (error) {\n\t\t\t\tconsole.log(\"addFolder - error\", error);\n\t\t\t\tthis.setState({\n\t\t\t\t\taddingFolder: false,\n\t\t\t\t\tsaveErrorMessage: getApiError(error).message,\n\t\t\t\t});\n\t\t\t}\n\t\t});\n\t};\n\n\tisStockFolder = (folder) => {\n\t\tif (!folder) folder = this.state.selectedFolder;\n\t\treturn folder && _.isNil(folder.RowId);\n\t};\n\n\tselectFolder = (selectedFolder) => {\n\t\tif (!this.isStockFolder(selectedFolder)) {\n\t\t\tselectedFolder.parsedImages = this.parseImagesArray(\n\t\t\t\tselectedFolder.Images,\n\t\t\t);\n\t\t}\n\t\tthis.setState({ selectedFolder });\n\t};\n\n\tselectRoot = () => {\n\t\tthis.getFolders();\n\t\tthis.setState({ selectedFolder: null });\n\t};\n\n\tcheckSetDisplayValue(input, value) {\n\t\tconst displayValue = get1400(value);\n\t\tconst storeValue =\n\t\t\tisVideo(value) || this.props.noCompress ? value : get1400(value);\n\t\t$(\"<img/>\")\n\t\t\t.attr(\"src\", `${displayValue}?t=${moment().valueOf()}`)\n\t\t\t.on(\"load\", () => {\n\t\t\t\t$(this).remove();\n\t\t\t\tinput.value = storeValue;\n\t\t\t\tinput.displayValue = storeValue;\n\t\t\t\tinput.uploadingImage = false;\n\t\t\t\tconst newInputs = _.clone(this.state.inputs);\n\t\t\t\tthis.setState({ inputs: newInputs }, () => {\n\t\t\t\t\tconst { selectedTab, selectedFolder } = this.state;\n\t\t\t\t\tif (selectedTab === \"library\" && selectedFolder) {\n\t\t\t\t\t\t// Uploading to a user folder\n\t\t\t\t\t\tconst { RowId, Images } = selectedFolder;\n\t\t\t\t\t\tconst images = [...Images, value];\n\t\t\t\t\t\tfileActions\n\t\t\t\t\t\t\t.addImagesToFolder(RowId, this.props.auth.site, [value])\n\t\t\t\t\t\t\t.catch((error) => {\n\t\t\t\t\t\t\t\tconsole.log(\"addImagesToFolder error\", error);\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\tselectedFolder.Images = images;\n\t\t\t\t\t\tselectedFolder.parsedImages = this.parseImagesArray(images);\n\t\t\t\t\t\tthis.setState({ selectedFolder: _.clone(selectedFolder) });\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t\tthis.checkRefreshCallback(newInputs);\n\t\t\t})\n\t\t\t.on(\"error\", () => {\n\t\t\t\t$(this).remove();\n\t\t\t\tsetTimeout(() => {\n\t\t\t\t\tthis.checkSetDisplayValue(input, value);\n\t\t\t\t}, 200);\n\t\t\t});\n\t}\n\n\tonDrop = (files, fromLibrary = false) => {\n\t\tif (this.props.multiple) {\n\t\t\tconst newInputs = _.clone(this.state.inputs);\n\t\t\tfiles.forEach((file) => {\n\t\t\t\tif (this.props.limit && newInputs.length === this.props.limit) {\n\t\t\t\t\t// hit limit - replace last input if it's empty\n\t\t\t\t\tif (_.isEmpty(newInputs[newInputs.length - 1].value)) {\n\t\t\t\t\t\tconst newInput = newInputs[newInputs.length - 1];\n\t\t\t\t\t\tthis.handleFile(newInput, file);\n\t\t\t\t\t}\n\t\t\t\t} else {\n\t\t\t\t\tconst newInput = {\n\t\t\t\t\t\t...DEFAULT_INPUT,\n\t\t\t\t\t\tfromLibrary,\n\t\t\t\t\t};\n\t\t\t\t\tnewInputs.splice(newInputs.length - 1, 0, newInput);\n\t\t\t\t\tthis.handleFile(newInput, file);\n\t\t\t\t}\n\t\t\t});\n\t\t\tthis.setState({\n\t\t\t\tinputs: newInputs,\n\t\t\t});\n\t\t\tthis.checkRefreshCallback(newInputs);\n\t\t} else {\n\t\t\tthis.handleFile(this.state.inputs[0], files[0]);\n\t\t}\n\t};\n\n\thandleFile = async (input, file) => {\n\t\tif (!file || input.uploadingImage) {\n\t\t\treturn;\n\t\t}\n\t\tinput.uploadingImage = true;\n\t\tconst newInputs = _.clone(this.state.inputs);\n\t\tthis.setState({\n\t\t\tinputs: newInputs,\n\t\t});\n\t\tthis.checkRefreshCallback(newInputs);\n\t\ttry {\n\t\t\tlet uploadFile = file;\n\t\t\tif (!isVideo(file.name)) {\n\t\t\t\tuploadFile = await fileActions.compressImage(\n\t\t\t\t\tfile,\n\t\t\t\t\tthis.props.maxSize || 1400,\n\t\t\t\t\tthis.props.quality || 0.8,\n\t\t\t\t\tthis.props.noCompress || false,\n\t\t\t\t);\n\t\t\t}\n\t\t\tconst url = await fileActions.uploadMediaAsync(\n\t\t\t\tuploadFile,\n\t\t\t\tuploadFile.name,\n\t\t\t);\n\t\t\tthis.checkSetDisplayValue(input, url);\n\t\t} catch (error) {\n\t\t\tconsole.log(\"handleFile error\", error);\n\t\t\tthis.setState({ uploadingImage: false });\n\t\t}\n\t};\n\n\tremoveImage(input) {\n\t\tconst newState = {};\n\t\tif (input.fromLibrary) {\n\t\t\tinput.fromLibrary = undefined;\n\t\t\tconst selectedFolderImages = this.state.selectedFolder\n\t\t\t\t? this.state.selectedFolder.parsedImages\n\t\t\t\t: [];\n\t\t\tconst imageList = this.isStockFolder()\n\t\t\t\t? this.state.imageLibrary\n\t\t\t\t: selectedFolderImages;\n\t\t\tconst libraryFile = _.find(imageList, (f) => {\n\t\t\t\treturn f.Value === input.value || f[1400] === input.value;\n\t\t\t});\n\t\t\tif (libraryFile) {\n\t\t\t\tlibraryFile.Selected = false;\n\t\t\t\tif (this.isStockFolder()) {\n\t\t\t\t\tnewState.imageLibrary = _.clone(this.state.imageLibrary);\n\t\t\t\t} else {\n\t\t\t\t\tnewState.selectedFolder = this.state.selectedFolder\n\t\t\t\t\t\t? _.clone(this.state.selectedFolder)\n\t\t\t\t\t\t: undefined;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\tinput.value = \"\";\n\t\tinput.displayValue = \"\";\n\n\t\tconst newInputs = _.clone(this.state.inputs);\n\n\t\tif (newInputs.length > 1) {\n\t\t\tnewInputs.splice(newInputs.indexOf(input), 1);\n\t\t\tif (\n\t\t\t\tnewInputs.length === this.props.limit - 1 &&\n\t\t\t\t!_.isEmpty(newInputs[newInputs.length - 1].value)\n\t\t\t) {\n\t\t\t\t// was full\n\t\t\t\tnewInputs.push(DEFAULT_INPUT);\n\t\t\t}\n\t\t}\n\n\t\tnewState.inputs = newInputs;\n\n\t\tthis.setState(newState);\n\n\t\tthis.checkRefreshCallback(newInputs);\n\t}\n\n\tselectTab(tab) {\n\t\tthis.setState({ selectedTab: tab });\n\t}\n\n\thandleChange = (event) => {\n\t\tvar stateChange = {};\n\t\tstateChange[event.target.getAttribute(\"id\")] = event.target.value;\n\t\tthis.setState(stateChange);\n\t};\n\n\tdeleteFolder = (event, folder) => {\n\t\tevent.stopPropagation();\n\n\t\tif (window.confirm(`Are you sure you want to delete ${folder.Name}?`)) {\n\t\t\tconst deletingFolder = { ...this.state.deletingFolder };\n\t\t\tdeletingFolder[folder.RowId] = true;\n\t\t\tthis.setState(\n\t\t\t\t{ deletingFolder: _.clone(deletingFolder), ...this.cancelAddStates },\n\t\t\t\tasync () => {\n\t\t\t\t\ttry {\n\t\t\t\t\t\tawait fileActions.deleteMediaFolder(\n\t\t\t\t\t\t\tfolder.RowId,\n\t\t\t\t\t\t\tthis.props.auth.site,\n\t\t\t\t\t\t);\n\t\t\t\t\t\tconst folders = await this.refreshFolders();\n\t\t\t\t\t\tdeletingFolder[folder.RowId] = false;\n\t\t\t\t\t\tthis.setState({\n\t\t\t\t\t\t\tdeletingFolder: _.clone(deletingFolder),\n\t\t\t\t\t\t\tfolders,\n\t\t\t\t\t\t});\n\t\t\t\t\t} catch (error) {\n\t\t\t\t\t\tconsole.log(\"addFolder - error\", getApiError(error));\n\t\t\t\t\t\tdeletingFolder[folder.RowId] = false;\n\t\t\t\t\t\tthis.setState({ deletingFolder: _.clone(deletingFolder) });\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t);\n\t\t}\n\t};\n\n\tdeleteImage = (event, image) => {\n\t\tif (window.confirm(\"Are you sure you want to delete the image?\")) {\n\t\t\t// Unselect the image first if selected\n\t\t\tif (image.Selected) this.toggleLibraryItem(image);\n\n\t\t\tconst deletingImage = { ...this.state.deletingImage };\n\t\t\tdeletingImage[image.Value] = true;\n\t\t\tthis.setState({ deletingImage: _.clone(deletingImage) }, async () => {\n\t\t\t\ttry {\n\t\t\t\t\tconst { selectedFolder } = this.state;\n\t\t\t\t\tconst { RowId, Images } = selectedFolder;\n\t\t\t\t\tawait fileActions.deleteImagesFromFolder(\n\t\t\t\t\t\tRowId,\n\t\t\t\t\t\tthis.props.auth.site,\n\t\t\t\t\t\t[image.Value],\n\t\t\t\t\t);\n\t\t\t\t\tconst images = Images.filter((i) => i.uri !== image.Value);\n\t\t\t\t\tselectedFolder.Images = images;\n\t\t\t\t\tselectedFolder.parsedImages = this.parseImagesArray(images);\n\t\t\t\t\tdeletingImage[image.Value] = false;\n\t\t\t\t\tthis.setState({\n\t\t\t\t\t\tdeletingImage: _.clone(deletingImage),\n\t\t\t\t\t\tselectedFolder: _.clone(selectedFolder),\n\t\t\t\t\t});\n\t\t\t\t} catch (error) {\n\t\t\t\t\tconsole.log(\"deleteImage - error\", getApiError(error));\n\t\t\t\t\tdeletingImage[image.Value] = false;\n\t\t\t\t\tthis.setState({ deletingImage: _.clone(deletingImage) });\n\t\t\t\t}\n\t\t\t});\n\t\t}\n\t};\n\n\tcanManageLibrary = () => {\n\t\treturn validateAccess(\n\t\t\tthis.props.auth.site,\n\t\t\t\"manageImageLibrary\",\n\t\t\tthis.props.auth,\n\t\t);\n\t};\n\n\tcanAddImageToLibrary = () => {\n\t\treturn validateAccess(\n\t\t\tthis.props.auth.site,\n\t\t\t\"addToImageLibrary\",\n\t\t\tthis.props.auth,\n\t\t);\n\t};\n\n\trenderInput(input, index, inputsLength) {\n\t\tconst renderContent = () => {\n\t\t\tif (this.props.onlyAllowUpload) {\n\t\t\t\treturn null;\n\t\t\t}\n\t\t\tif (isVideo(input.displayValue)) {\n\t\t\t\treturn (\n\t\t\t\t\t<video\n\t\t\t\t\t\tclassName=\"imageInput_image\"\n\t\t\t\t\t\tstyle={this.props.style}\n\t\t\t\t\t\tcontrols\n\t\t\t\t\t\tsrc={input.displayValue}\n\t\t\t\t\t/>\n\t\t\t\t);\n\t\t\t}\n\t\t\tif (\n\t\t\t\tthis.props.simpleStyle &&\n\t\t\t\t!_.isEmpty(input.displayValue) &&\n\t\t\t\t!input.uploadingImage\n\t\t\t) {\n\t\t\t\treturn (\n\t\t\t\t\t<div className=\"imageInput_simpleContainer\">\n\t\t\t\t\t\t<div\n\t\t\t\t\t\t\tclassName=\"imageInput_image\"\n\t\t\t\t\t\t\tstyle={{\n\t\t\t\t\t\t\t\t...this.getImageStyle(input.displayValue),\n\t\t\t\t\t\t\t\t...this.props.style,\n\t\t\t\t\t\t\t\t// height: this.props.style && this.props.style.height ? this.props.style.height : 80,\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<Dropzone\n\t\t\t\t\t\t\t\tdisabled={this.props.disabled}\n\t\t\t\t\t\t\t\taccept={this.getAccept()}\n\t\t\t\t\t\t\t\tonDrop={(files) => this.onDrop(files, true)}\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t{(state) => {\n\t\t\t\t\t\t\t\t\tconst { getRootProps, getInputProps } = state;\n\n\t\t\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t\t\t\t\tclassName=\"imageInput_buttonContainer-simple\"\n\t\t\t\t\t\t\t\t\t\t\t{...getRootProps()}\n\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t<input {...getInputProps()} />\n\t\t\t\t\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\t\t\t\t\tbuttonType=\"secondary\"\n\t\t\t\t\t\t\t\t\t\t\t\tclassName=\"imageInput_button imageInput_button-simple\"\n\t\t\t\t\t\t\t\t\t\t\t\tdisabled\n\t\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t\tChange image\n\t\t\t\t\t\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t</Dropzone>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</div>\n\t\t\t\t);\n\t\t\t}\n\t\t\treturn (\n\t\t\t\t<div\n\t\t\t\t\tclassName=\"imageInput_image\"\n\t\t\t\t\tstyle={{\n\t\t\t\t\t\t...this.getImageStyle(input.displayValue),\n\t\t\t\t\t\t...this.props.style,\n\t\t\t\t\t}}\n\t\t\t\t></div>\n\t\t\t);\n\t\t};\n\n\t\tconst renderRemove = () => {\n\t\t\treturn (\n\t\t\t\t!this.props.disableRemove &&\n\t\t\t\t!this.props.disabled &&\n\t\t\t\t(this.props.simpleStyle ? (\n\t\t\t\t\t<Icon\n\t\t\t\t\t\ticon=\"xmark\"\n\t\t\t\t\t\tclassName=\"imageInput_removeIcon\"\n\t\t\t\t\t\tonClick={this.removeImage.bind(this, input)}\n\t\t\t\t\t/>\n\t\t\t\t) : (\n\t\t\t\t\t<p\n\t\t\t\t\t\tclassName=\"imageInput_remove\"\n\t\t\t\t\t\tonClick={this.removeImage.bind(this, input)}\n\t\t\t\t\t>\n\t\t\t\t\t\tremove\n\t\t\t\t\t</p>\n\t\t\t\t))\n\t\t\t);\n\t\t};\n\n\t\tconst renderDownload = () => {\n\t\t\tif (isVideo(input.displayValue)) return null;\n\t\t\tif (this.props.noDownload) return null;\n\t\t\treturn (\n\t\t\t\t<a href={input.value} target=\"_blank\" className=\"imageInput_download\">\n\t\t\t\t\t<img\n\t\t\t\t\t\talt=\"\"\n\t\t\t\t\t\tclassName=\"dlicon\"\n\t\t\t\t\t\tsrc=\"https://pluss60-dev-uploads.s3.ap-southeast-2.amazonaws.com/uploads/users/ap-southeast-2:efbab8db-136a-446e-b14a-d00af0067841/public/025971e94153af280049fdf3e3/downloadicon.png\"\n\t\t\t\t\t></img>\n\t\t\t\t</a>\n\t\t\t);\n\t\t};\n\n\t\tconst mediaText = this.props.allowVideo\n\t\t\t? \"media\"\n\t\t\t: `image${this.props.multiple ? \"s\" : \"\"}`;\n\t\treturn (\n\t\t\t<div\n\t\t\t\tkey={index}\n\t\t\t\tclassName={this.getClassNames(input, inputsLength)}\n\t\t\t\tstyle={{ ...this.props.style }}\n\t\t\t>\n\t\t\t\t<Dropzone\n\t\t\t\t\tdisabled={this.props.disabled}\n\t\t\t\t\taccept={this.getAccept()}\n\t\t\t\t\tonDrop={this.onDrop}\n\t\t\t\t>\n\t\t\t\t\t{(state) => {\n\t\t\t\t\t\tconst { getRootProps, getInputProps, isDragActive } = state;\n\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t\tstyle={{ ...this.props.style }}\n\t\t\t\t\t\t\t\tclassName={`imageInput_upload ${this.getErrorState()}`}\n\t\t\t\t\t\t\t\t{...getRootProps()}\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t<input {...getInputProps()} />\n\t\t\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t\t\tclassName={`${isDragActive ? \"imageInput_dropZoneActive\" : \"\"} ${\n\t\t\t\t\t\t\t\t\t\tthis.props.horizontalText\n\t\t\t\t\t\t\t\t\t\t\t? \" imageInput_horizontalText\"\n\t\t\t\t\t\t\t\t\t\t\t: \"\"\n\t\t\t\t\t\t\t\t\t}`}\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t{!this.props.simpleStyle && (\n\t\t\t\t\t\t\t\t\t\t<img\n\t\t\t\t\t\t\t\t\t\t\tsrc=\"https://s3-ap-southeast-2.amazonaws.com/pluss60-dev-media/pluss/document.svg\"\n\t\t\t\t\t\t\t\t\t\t\tclassName=\"imageInput_icon\"\n\t\t\t\t\t\t\t\t\t\t\talt=\"file\"\n\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t\t<p className=\"imageInput_helpText\">\n\t\t\t\t\t\t\t\t\t\t{isDragActive\n\t\t\t\t\t\t\t\t\t\t\t? `Drop ${mediaText} here`\n\t\t\t\t\t\t\t\t\t\t\t: `Drag and drop ${mediaText} or`}\n\t\t\t\t\t\t\t\t\t</p>\n\t\t\t\t\t\t\t\t\t{!isDragActive && (\n\t\t\t\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\t\t\t\tbuttonType=\"secondary\"\n\t\t\t\t\t\t\t\t\t\t\tclassName=\"imageInput_button\"\n\t\t\t\t\t\t\t\t\t\t\tdisabled\n\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t{this.props.multiple\n\t\t\t\t\t\t\t\t\t\t\t\t? `Upload ${mediaText}`\n\t\t\t\t\t\t\t\t\t\t\t\t: `Upload an ${mediaText}`}\n\t\t\t\t\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t);\n\t\t\t\t\t}}\n\t\t\t\t</Dropzone>\n\t\t\t\t<div className=\"imageInput_uploading\" style={{ ...this.props.style }}>\n\t\t\t\t\t<Icon\n\t\t\t\t\t\tpulse\n\t\t\t\t\t\tfixedWidth\n\t\t\t\t\t\tclassName=\"spinner imageInput_spinner\"\n\t\t\t\t\t\ticon=\"spinner\"\n\t\t\t\t\t/>\n\t\t\t\t</div>\n\t\t\t\t{renderContent()}\n\t\t\t\t{renderRemove()}\n\t\t\t\t{renderDownload()}\n\t\t\t</div>\n\t\t);\n\t}\n\n\trenderLibraryImage(image, index, allowDelete) {\n\t\t// console.log(image);\n\t\tlet classes = \"imageInput imageInput-hasImage imageInput-libraryImage\";\n\t\tif (image.Selected) {\n\t\t\tclasses += \" imageInput-librarySelected\";\n\t\t}\n\t\tif (\n\t\t\tthis.props.multiple &&\n\t\t\tthis.props.limit &&\n\t\t\tthis.state.inputs.length === this.props.limit\n\t\t) {\n\t\t\tclasses += \" imageInput-libraryDisabled\";\n\t\t}\n\t\treturn (\n\t\t\t<div key={index} className={classes}>\n\t\t\t\t<div\n\t\t\t\t\tclassName=\"imageInput_image\"\n\t\t\t\t\tstyle={{ ...this.getImageStyle(image[1400]) }}\n\t\t\t\t\tonClick={this.toggleLibraryItem.bind(this, image)}\n\t\t\t\t></div>\n\t\t\t\t<div className=\"imageInput_selected\">\n\t\t\t\t\t<Icon className=\"imageInput_selectedIcon\" icon=\"check\" />\n\t\t\t\t</div>\n\t\t\t\t{allowDelete && (\n\t\t\t\t\t<div className=\"imageInput_delete\">\n\t\t\t\t\t\t{this.state.deletingImage[image.Value] ? (\n\t\t\t\t\t\t\t<Icon\n\t\t\t\t\t\t\t\tstyle={styles.saveImageSpinner}\n\t\t\t\t\t\t\t\tfixedWidth\n\t\t\t\t\t\t\t\tpulse\n\t\t\t\t\t\t\t\ticon=\"spinner\"\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t<Icon\n\t\t\t\t\t\t\t\tclassName=\"imageInput_deleteIcon\"\n\t\t\t\t\t\t\t\ticon=\"circle-minus\"\n\t\t\t\t\t\t\t\tonClick={(event) => this.deleteImage(event, image)}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t)}\n\t\t\t\t\t</div>\n\t\t\t\t)}\n\t\t\t</div>\n\t\t);\n\t}\n\n\trenderError() {\n\t\tif (!_.isUndefined(this.props.showError) && this.props.showError()) {\n\t\t\treturn (\n\t\t\t\t<div className={\"fieldLabel fieldLabel-warning\"}>\n\t\t\t\t\t{this.props.errorMessage ? this.props.errorMessage : \"Required\"}\n\t\t\t\t</div>\n\t\t\t);\n\t\t}\n\t\treturn null;\n\t}\n\n\trenderMenu() {\n\t\tif (this.props.noMenu || this.props.disabled) {\n\t\t\treturn null;\n\t\t}\n\t\treturn (\n\t\t\t<div className=\"imageInputMenu\">\n\t\t\t\t<p\n\t\t\t\t\tclassName={`imageInputMenu__option ${this.state.selectedTab === \"upload\" ? \"imageInputMenu__option--selected\" : \"\"}`}\n\t\t\t\t\tonClick={() => {\n\t\t\t\t\t\tthis.selectTab(\"upload\");\n\t\t\t\t\t}}\n\t\t\t\t>\n\t\t\t\t\tUPLOAD\n\t\t\t\t</p>\n\t\t\t\t<p\n\t\t\t\t\tclassName={`imageInputMenu__option ${this.state.selectedTab === \"library\" ? \"imageInputMenu__option--selected\" : \"\"}`}\n\t\t\t\t\tonClick={() => {\n\t\t\t\t\t\tthis.selectTab(\"library\");\n\t\t\t\t\t}}\n\t\t\t\t>\n\t\t\t\t\tLIBRARY\n\t\t\t\t</p>\n\t\t\t</div>\n\t\t);\n\t}\n\n\trenderAddFolder() {\n\t\tconst isSaving = this.state.addingFolder;\n\n\t\tif (this.state.addFolderOpen) {\n\t\t\treturn (\n\t\t\t\t<div className={\"imageFolderContainer\"}>\n\t\t\t\t\t<Icon icon={\"folder\"} className={\"folderIcon\"} />\n\t\t\t\t\t<GenericInput\n\t\t\t\t\t\tid=\"addFolderInput\"\n\t\t\t\t\t\ttype=\"text\"\n\t\t\t\t\t\tplaceholder=\"Enter folder name here\"\n\t\t\t\t\t\tvalue={this.state.addFolderInput}\n\t\t\t\t\t\tonChange={this.handleChange}\n\t\t\t\t\t\tstyle={styles.addFolderInputContainer}\n\t\t\t\t\t\tinputStyle={styles.addFolderInputText}\n\t\t\t\t\t\treadOnly={isSaving}\n\t\t\t\t\t\tshowError={() => !_.isEmpty(this.state.saveErrorMessage)}\n\t\t\t\t\t\terrorMessage={this.state.saveErrorMessage}\n\t\t\t\t\t/>\n\t\t\t\t\t{isSaving ? (\n\t\t\t\t\t\t<div className={\"addControlContainer\"}>\n\t\t\t\t\t\t\t<Icon\n\t\t\t\t\t\t\t\tstyle={styles.saveFolderSpinner}\n\t\t\t\t\t\t\t\ticon=\"spinner\"\n\t\t\t\t\t\t\t\tpulse\n\t\t\t\t\t\t\t\tfixedWidth\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t) : (\n\t\t\t\t\t\t<div className={\"addControlContainer\"}>\n\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\tinline\n\t\t\t\t\t\t\t\tbuttonType=\"secondary\"\n\t\t\t\t\t\t\t\tonClick={this.cancelAddFolder}\n\t\t\t\t\t\t\t\tstyle={styles.addFolderCancel}\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\tCancel\n\t\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\tinline\n\t\t\t\t\t\t\t\tbuttonType=\"primary\"\n\t\t\t\t\t\t\t\tisActive={!_.isEmpty(this.state.addFolderInput)}\n\t\t\t\t\t\t\t\tonClick={this.saveFolder}\n\t\t\t\t\t\t\t\tstyle={styles.addFolderSave}\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\tSave\n\t\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t)}\n\t\t\t\t</div>\n\t\t\t);\n\t\t}\n\t\treturn (\n\t\t\t<div className={\"imageFolderContainer\"} onClick={this.addFolder}>\n\t\t\t\t<Icon icon={\"plus\"} className={\"addIcon\"} />\n\t\t\t\t<div className={\"addText\"}>Add New Folder</div>\n\t\t\t</div>\n\t\t);\n\t}\n\n\trenderFolder(folder, index) {\n\t\tconst timeStamp = moment(folder.Timestamp).format(\"DD MMM, YYYY, h:mma\");\n\t\tconst countText = `${folder.Images ? folder.Images.length : 0} images`;\n\n\t\treturn (\n\t\t\t<div\n\t\t\t\tkey={index}\n\t\t\t\tclassName={\"imageFolderContainer\"}\n\t\t\t\tonClick={this.selectFolder.bind(this, folder)}\n\t\t\t>\n\t\t\t\t<Icon icon={\"folder\"} className={\"folderIcon\"} />\n\t\t\t\t<div className={\"folderTitle\"}>{folder.Name}</div>\n\t\t\t\t{!this.isStockFolder(folder) && (\n\t\t\t\t\t<div className={\"folderAttributeGroup\"}>\n\t\t\t\t\t\t<div className={\"folderAttribute\"}>\n\t\t\t\t\t\t\t{folder.User && folder.User.displayName}\n\t\t\t\t\t\t</div>\n\t\t\t\t\t\t<div className={\"folderAttribute\"} style={{ width: \"130px\" }}>\n\t\t\t\t\t\t\t{timeStamp}\n\t\t\t\t\t\t</div>\n\t\t\t\t\t\t<div\n\t\t\t\t\t\t\tclassName={\"folderAttribute\"}\n\t\t\t\t\t\t\tstyle={{ textAlign: \"right\", paddingRight: \"5px\" }}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{countText}\n\t\t\t\t\t\t</div>\n\t\t\t\t\t\t{this.state.deletingFolder[folder.RowId] ? (\n\t\t\t\t\t\t\t<Icon\n\t\t\t\t\t\t\t\tstyle={styles.saveFolderSpinner}\n\t\t\t\t\t\t\t\ticon=\"spinner\"\n\t\t\t\t\t\t\t\tpulse\n\t\t\t\t\t\t\t\tfixedWidth\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\tthis.canManageLibrary() && (\n\t\t\t\t\t\t\t\t<a onClick={(event) => this.deleteFolder(event, folder)}>\n\t\t\t\t\t\t\t\t\t<Icon style={styles.removeFolderButton} icon=\"circle-minus\" />\n\t\t\t\t\t\t\t\t</a>\n\t\t\t\t\t\t\t)\n\t\t\t\t\t\t)}\n\t\t\t\t\t</div>\n\t\t\t\t)}\n\t\t\t</div>\n\t\t);\n\t}\n\n\trenderFolders() {\n\t\treturn (\n\t\t\t<div className={`imageInputContainer imageInputContainer-library`}>\n\t\t\t\t{this.canAddImageToLibrary() && this.renderAddFolder()}\n\t\t\t\t{this.state.folders.map((folder, index) => {\n\t\t\t\t\treturn this.renderFolder(folder, index);\n\t\t\t\t})}\n\t\t\t</div>\n\t\t);\n\t}\n\n\trenderBreadCrumbs() {\n\t\treturn (\n\t\t\t<div className={\"imageBreadCrumb\"}>\n\t\t\t\t<div className={\"root\"} onClick={this.selectRoot}>\n\t\t\t\t\tLibrary\n\t\t\t\t</div>\n\t\t\t\t<Icon icon={\"angle-left\"} className={\"separator\"} />\n\t\t\t\t<div className={\"folder\"}>{this.state.selectedFolder.Name}</div>\n\t\t\t</div>\n\t\t);\n\t}\n\n\trenderFolderImages() {\n\t\tconst stockFolder = this.isStockFolder();\n\t\tconst canDelete = !stockFolder && this.canManageLibrary();\n\t\tconst uploadingImages = this.state.inputs.filter((i) => i.uploadingImage);\n\t\tconst mediaText = this.props.allowVideo\n\t\t\t? \"media\"\n\t\t\t: `image${this.props.multiple ? \"s\" : \"\"}`;\n\n\t\treturn (\n\t\t\t<div\n\t\t\t\tclassName={`imageInputContainer imageInputContainer-library`}\n\t\t\t\tstyle={{ ...this.props.style }}\n\t\t\t>\n\t\t\t\t{this.renderBreadCrumbs()}\n\t\t\t\t{stockFolder ? (\n\t\t\t\t\tthis.state.imageLibrary.map((image, index) => {\n\t\t\t\t\t\treturn this.renderLibraryImage(image, index);\n\t\t\t\t\t})\n\t\t\t\t) : (\n\t\t\t\t\t<div>\n\t\t\t\t\t\t{this.canAddImageToLibrary() && (\n\t\t\t\t\t\t\t<Dropzone\n\t\t\t\t\t\t\t\tdisabled={this.props.disabled}\n\t\t\t\t\t\t\t\taccept={this.getAccept()}\n\t\t\t\t\t\t\t\tonDrop={(files) => this.onDrop(files, true)}\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t{(state) => {\n\t\t\t\t\t\t\t\t\tconst { getRootProps, getInputProps, isDragActive } = state;\n\t\t\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t\t\t\t\tstyle={{ padding: \"15px\" }}\n\t\t\t\t\t\t\t\t\t\t\tclassName={`imageInput_upload folder ${this.getErrorState()}`}\n\t\t\t\t\t\t\t\t\t\t\t{...getRootProps()}\n\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t<input {...getInputProps()} />\n\t\t\t\t\t\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t\t\t\t\t\tclassName={\n\t\t\t\t\t\t\t\t\t\t\t\t\tisDragActive ? \"imageInput_dropZoneActive\" : \"\"\n\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t\t<img\n\t\t\t\t\t\t\t\t\t\t\t\t\tsrc=\"https://s3-ap-southeast-2.amazonaws.com/pluss60-dev-media/pluss/document.svg\"\n\t\t\t\t\t\t\t\t\t\t\t\t\tclassName=\"imageInput_icon\"\n\t\t\t\t\t\t\t\t\t\t\t\t\talt=\"file\"\n\t\t\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t\t\t\t<p className=\"imageInput_helpText\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t{isDragActive\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t? `Drop ${mediaText} here`\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t: `Drag and drop ${mediaText} or`}\n\t\t\t\t\t\t\t\t\t\t\t\t</p>\n\t\t\t\t\t\t\t\t\t\t\t\t{!isDragActive && (\n\t\t\t\t\t\t\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tbuttonType=\"secondary\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tclassName=\"imageInput_button\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tdisabled\n\t\t\t\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t{this.props.multiple\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t? `Upload ${mediaText}`\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t: `Upload an ${mediaText}`}\n\t\t\t\t\t\t\t\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t</Dropzone>\n\t\t\t\t\t\t)}\n\t\t\t\t\t\t{this.state.selectedFolder.parsedImages.map((image, index) => {\n\t\t\t\t\t\t\treturn this.renderLibraryImage(image, index, canDelete);\n\t\t\t\t\t\t})}\n\t\t\t\t\t\t{!_.isNil(uploadingImages) &&\n\t\t\t\t\t\t\tuploadingImages.map((input, index) => {\n\t\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t\t<div key={index} className={this.getClassNames(input)}>\n\t\t\t\t\t\t\t\t\t\t<div className=\"imageInput_uploading\">\n\t\t\t\t\t\t\t\t\t\t\t<Icon\n\t\t\t\t\t\t\t\t\t\t\t\tclassName=\"spinner imageInput_spinner\"\n\t\t\t\t\t\t\t\t\t\t\t\ticon=\"spinner\"\n\t\t\t\t\t\t\t\t\t\t\t\tpulse\n\t\t\t\t\t\t\t\t\t\t\t\tfixedWidth\n\t\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t})}\n\t\t\t\t\t</div>\n\t\t\t\t)}\n\t\t\t</div>\n\t\t);\n\t}\n\n\trenderUploadImages(inputs) {\n\t\treturn (\n\t\t\t<div\n\t\t\t\tclassName={`imageInputContainer ${inputs.length === 1 ? \"imageInputContainer-noPadding\" : \"\"}`}\n\t\t\t\tstyle={{ ...this.props.style }}\n\t\t\t>\n\t\t\t\t{inputs.map((input, index) => {\n\t\t\t\t\treturn this.renderInput(input, index, inputs.length);\n\t\t\t\t})}\n\t\t\t</div>\n\t\t);\n\t}\n\n\trenderContent() {\n\t\treturn this.renderUploadImages(this.state.inputs);\n\t}\n\n\trenderLibraryPopup() {\n\t\tif (this.state.selectedTab === \"upload\") {\n\t\t\treturn null;\n\t\t}\n\t\tlet content = null;\n\t\tif (this.state.selectedFolder) {\n\t\t\tcontent = this.renderFolderImages();\n\t\t} else {\n\t\t\tcontent = this.renderFolders();\n\t\t}\n\t\treturn (\n\t\t\t<Popup\n\t\t\t\tonClose={() => {\n\t\t\t\t\tthis.selectTab(\"upload\");\n\t\t\t\t}}\n\t\t\t\thasPadding\n\t\t\t\tbuttons={[\n\t\t\t\t\t{\n\t\t\t\t\t\ttype: \"primary\",\n\t\t\t\t\t\tonClick: () => {\n\t\t\t\t\t\t\tthis.selectTab(\"upload\");\n\t\t\t\t\t\t},\n\t\t\t\t\t\tisActive: true,\n\t\t\t\t\t\ttext: \"Done\",\n\t\t\t\t\t},\n\t\t\t\t]}\n\t\t\t\ttitle=\"Select images\"\n\t\t\t>\n\t\t\t\t{content}\n\t\t\t</Popup>\n\t\t);\n\t}\n\n\trenderButtons() {\n\t\tif (this.props.noMenu || this.props.disabled) {\n\t\t\treturn null;\n\t\t}\n\t\treturn (\n\t\t\t<div className=\"imageInputRight\">\n\t\t\t\t<Dropzone\n\t\t\t\t\tdisabled={this.props.disabled}\n\t\t\t\t\taccept={this.getAccept()}\n\t\t\t\t\tonDrop={(files) => this.onDrop(files, true)}\n\t\t\t\t>\n\t\t\t\t\t{(state) => {\n\t\t\t\t\t\tconst { getRootProps, getInputProps } = state;\n\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t<div {...getRootProps()} className=\"imageInputRight_button\">\n\t\t\t\t\t\t\t\t<input {...getInputProps()} />\n\t\t\t\t\t\t\t\t<Icon\n\t\t\t\t\t\t\t\t\tclassName=\"imageInputRight_button_icon\"\n\t\t\t\t\t\t\t\t\ticon=\"circle-plus\"\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t<p className=\"imageInputRight_button_text\">Upload File</p>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t);\n\t\t\t\t\t}}\n\t\t\t\t</Dropzone>\n\t\t\t\t<div\n\t\t\t\t\tclassName=\"imageInputRight_button\"\n\t\t\t\t\tonClick={() => {\n\t\t\t\t\t\tthis.selectTab(\"library\");\n\t\t\t\t\t}}\n\t\t\t\t>\n\t\t\t\t\t<Icon className=\"imageInputRight_button_icon\" icon=\"image\" />\n\t\t\t\t\t<p className=\"imageInputRight_button_text\">Image Library</p>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t);\n\t}\n\n\trender() {\n\t\treturn (\n\t\t\t<div\n\t\t\t\tstyle={this.props.containerStyle}\n\t\t\t\tclassName={`imageInputOuter ${this.getContainerClasses()}`}\n\t\t\t>\n\t\t\t\t{this.renderButtons()}\n\t\t\t\t{this.renderContent()}\n\t\t\t\t{this.renderLibraryPopup()}\n\t\t\t</div>\n\t\t);\n\t}\n}\n\nconst styles = {\n\taddFolderInputContainer: {\n\t\tmarginBottom: \"0px\",\n\t\tpaddingRight: \"100px\",\n\t\twidth: \"70%\",\n\t},\n\taddFolderInputText: {\n\t\tpaddingBottom: \"0px\",\n\t},\n\taddFolderCancel: {\n\t\tpaddingLeft: \"8px\",\n\t\tpaddingRight: \"8px\",\n\t\twidth: \"80px\",\n\t\tmarginRight: \"16px\",\n\t},\n\taddFolderSave: {\n\t\tpaddingLeft: \"8px\",\n\t\tpaddingRight: \"8px\",\n\t\twidth: \"80px\",\n\t},\n\tsaveFolderSpinner: {\n\t\tfontSize: \"20px\",\n\t\tmarginLeft: \"16px\",\n\t},\n\tsaveImageSpinner: {\n\t\tfontSize: \"18px\",\n\t},\n\tremoveFolderButton: {\n\t\tfontSize: \"20px\",\n\t\tpadding: \"5px\",\n\t\tmarginLeft: \"16px\",\n\t\tcursor: \"pointer\",\n\t},\n};\n\nconst mapStateToProps = (state) => {\n\treturn {\n\t\tauth: state.auth,\n\t};\n};\n\nconst ImageInput = connect(mapStateToProps, {}, null, { forwardRef: true })(\n\tImageInputComponent,\n);\nexport { ImageInput };\n","import React, { Component } from \"react\";\n\nclass MoreMenu extends Component {\n\trender() {\n\t\treturn (\n\t\t\t<div className=\"moreMenu\">\n\t\t\t\t{this.props.options.map((ev, index) => {\n\t\t\t\t\tif (ev != null) {\n\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t\tclassName=\"moreMenu_option\"\n\t\t\t\t\t\t\t\tkey={ev.key}\n\t\t\t\t\t\t\t\tonClick={ev.onPress}\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t{ev.text}\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t);\n\t\t\t\t\t}\n\t\t\t\t\treturn null;\n\t\t\t\t})}\n\t\t\t</div>\n\t\t);\n\t}\n}\n\nexport { MoreMenu };\n","import React, { Component } from \"react\";\n\nclass OverlayPage extends Component {\n\tconstructor(props) {\n\t\tsuper(props);\n\t\tthis.state = {\n\t\t\twidth: 0,\n\t\t\theight: 0,\n\t\t};\n\t\tthis.updateWindowDimensions = this.updateWindowDimensions.bind(this);\n\t}\n\n\tcomponentDidMount() {\n\t\tthis.updateWindowDimensions();\n\t\twindow.addEventListener(\"resize\", this.updateWindowDimensions);\n\t\t// setTimeout(() => {\n\t\t// this.setState({ opacity: 1 });\n\t\t// }, 100);\n\t}\n\n\tcomponentWillUnmount() {\n\t\twindow.removeEventListener(\"resize\", this.updateWindowDimensions);\n\t}\n\n\tupdateWindowDimensions() {\n\t\tthis.setState({ width: window.innerWidth, height: window.innerHeight });\n\t}\n\n\trenderContent() {\n\t\tif (this.props.fullPage) {\n\t\t\treturn (\n\t\t\t\t<div className=\"overlayPage-full\" style={this.props.fullPageStyle}>\n\t\t\t\t\t{this.props.children}\n\t\t\t\t</div>\n\t\t\t);\n\t\t}\n\t\treturn this.props.children;\n\t}\n\n\trender() {\n\t\treturn (\n\t\t\t<div style={{ ...styles.pageWrapper, ...this.props.style }}>\n\t\t\t\t<div\n\t\t\t\t\tstyle={{\n\t\t\t\t\t\t...styles.backgroundOverlay,\n\t\t\t\t\t\t...this.props.backgroundStyle,\n\t\t\t\t\t}}\n\t\t\t\t/>\n\t\t\t\t{this.renderContent()}\n\t\t\t</div>\n\t\t);\n\t}\n}\n\nconst styles = {\n\tpageWrapper: {\n\t\tposition: \"fixed\",\n\t\tzIndex: 100,\n\t\ttop: 0,\n\t\tleft: 0,\n\t\theight: \"100vh\",\n\t},\n\tbackgroundOverlay: {\n\t\tposition: \"fixed\",\n\t\twidth: \"100vw\",\n\t\theight: \"100vh\",\n\t\tbackgroundColor: \"#3f4264\",\n\t\ttop: 0,\n\t\tleft: 0,\n\t\tzIndex: -1,\n\t},\n};\n\nexport { OverlayPage };\n","import React, { Component } from \"react\";\n\nclass OverlayPageContents extends Component {\n\tconstructor(props) {\n\t\tsuper(props);\n\t\tthis.state = {\n\t\t\topacity: 0,\n\t\t};\n\t}\n\n\tcomponentDidMount() {\n\t\tsetTimeout(() => {\n\t\t\tthis.setState({ opacity: 1 });\n\t\t}, 100);\n\t}\n\n\trender() {\n\t\treturn (\n\t\t\t<div\n\t\t\t\tid={this.props.id}\n\t\t\t\tclassName=\"animateOpacity\"\n\t\t\t\tstyle={{\n\t\t\t\t\t...styles.wrapper,\n\t\t\t\t\theight: this.props.noBottomButtons ? \"100%\" : \"calc(100% - 57px)\",\n\t\t\t\t\topacity: this.state.opacity,\n\t\t\t\t\t...this.props.style,\n\t\t\t\t}}\n\t\t\t>\n\t\t\t\t{this.props.children}\n\t\t\t</div>\n\t\t);\n\t}\n}\n\nconst styles = {\n\twrapper: {\n\t\tclear: \"both\",\n\t\twhiteSpace: \"nowrap\",\n\t\toverflow: \"hidden\",\n\t\toverflowX: \"auto\",\n\t\tfontSize: 0,\n\t\twidth: \"fit-content\",\n\t\tmaxWidth: \"100vw\",\n\t\topacity: 0,\n\t},\n};\n\nexport { OverlayPageContents };\n","import React, { Component } from \"react\";\n\nclass OverlayPageSection extends Component {\n\tgetClassName() {\n\t\tif (this.props.className) {\n\t\t\treturn \"pageSectionWrapper \" + this.props.className;\n\t\t}\n\t\treturn \"pageSectionWrapper\";\n\t}\n\n\trender() {\n\t\treturn (\n\t\t\t<div\n\t\t\t\t{...this.props}\n\t\t\t\tclassName={this.getClassName()}\n\t\t\t\tstyle={{\n\t\t\t\t\t...styles.wrapper,\n\t\t\t\t\t...this.props.style,\n\t\t\t\t}}\n\t\t\t>\n\t\t\t\t{this.props.children}\n\t\t\t</div>\n\t\t);\n\t}\n}\n\nconst styles = {\n\twrapper: {\n\t\t/* height: '100%',\n overflowY: 'auto',\n backgroundColor: '#fff',\n padding: 24,\n display: 'inline-block',\n verticalAlign: 'top' */\n\t},\n};\n\nexport { OverlayPageSection };\n","import React, { Component } from \"react\";\nimport { LINEGREY } from \"../colours\";\n\nclass OverlayPageBottomButtons extends Component {\n\tconstructor(props) {\n\t\tsuper(props);\n\t\tthis.state = {\n\t\t\topacity: 0,\n\t\t};\n\t}\n\n\tcomponentDidMount() {\n\t\tsetTimeout(() => {\n\t\t\tthis.setState({ opacity: 1 });\n\t\t}, 100);\n\t}\n\n\trender() {\n\t\treturn (\n\t\t\t<div\n\t\t\t\tclassName=\"animateOpacity\"\n\t\t\t\tstyle={{\n\t\t\t\t\t...styles.wrapper,\n\t\t\t\t\topacity: this.state.opacity,\n\t\t\t\t\t...this.props.style,\n\t\t\t\t}}\n\t\t\t>\n\t\t\t\t{this.props.children}\n\t\t\t</div>\n\t\t);\n\t}\n}\n\nconst styles = {\n\twrapper: {\n\t\tpadding: 12,\n\t\tpaddingRight: 24,\n\t\twidth: \"100%\",\n\t\tmaxWidth: \"100vw\",\n\t\tbackgroundColor: \"#fff\",\n\t\tborderTop: \"1px solid\",\n\t\tborderTopColor: LINEGREY,\n\t\tdisplay: \"flex\",\n\t\tjustifyContent: \"flex-end\",\n\t},\n};\n\nexport { OverlayPageBottomButtons };\n","import React, { Component } from \"react\";\n\nclass PageTitle extends Component {\n\trender() {\n\t\treturn (\n\t\t\t<p className=\"managingPageTitle\" {...this.props}>\n\t\t\t\t{this.props.children}\n\t\t\t</p>\n\t\t);\n\t}\n}\n\nexport { PageTitle };\n","import React, { Component } from \"react\";\nimport _ from \"lodash\";\n\nclass RadioButton extends Component {\n\tgenerateClassNames(e) {\n\t\tlet string = \"radioButton\";\n\t\tif (this.props.isActive === e) {\n\t\t\tstring = string + \" radioButton--active\";\n\t\t}\n\t\tif (this.props.isSquare) {\n\t\t\tstring = string + \" radioButton--square\";\n\t\t}\n\t\treturn string;\n\t}\n\n\tgenerateWrapperClassNames() {\n\t\tlet string = \"radioButtonWrapper\";\n\t\tif (this.props.disabled) {\n\t\t\tstring = string + \" radioButton--disabled\";\n\t\t}\n\t\tif (this.props.noHoverHighlight) {\n\t\t\tstring = string + \" radioButton--noHoverHighlight\";\n\t\t}\n\t\tif (this.props.wrapperClass) {\n\t\t\tstring = string + this.props.wrapperClass;\n\t\t}\n\t\treturn string;\n\t}\n\n\tgetButtonStyle(e) {\n\t\tconst result = {};\n\t\tif (this.props.highlightColour && this.props.isActive === e) {\n\t\t\tresult.borderColor = this.props.highlightColour;\n\t\t}\n\t\treturn result;\n\t}\n\n\tperformSingleAction(e) {\n\t\tif (this.props.disabled) {\n\t\t\treturn;\n\t\t}\n\t\tthis.props.onChange();\n\t}\n\n\tperformMultiAction(e) {\n\t\tif (this.props.disabled) {\n\t\t\treturn;\n\t\t}\n\t\te.onChange();\n\t}\n\n\trenderLabel() {\n\t\tif (!_.isEmpty(this.props.label)) {\n\t\t\treturn (\n\t\t\t\t<div\n\t\t\t\t\tclassName=\"fieldLabel\"\n\t\t\t\t\tstyle={{ marginBottom: 5, ...this.props.labelStyle }}\n\t\t\t\t>\n\t\t\t\t\t{this.props.label}\n\t\t\t\t</div>\n\t\t\t);\n\t\t}\n\t\treturn null;\n\t}\n\n\trenderSubLabel() {\n\t\tif (!_.isEmpty(this.props.subLabel)) {\n\t\t\treturn (\n\t\t\t\t<div\n\t\t\t\t\tclassName=\"genericInput-help\"\n\t\t\t\t\tstyle={{ marginBottom: 5, ...this.props.subLabelStyle }}\n\t\t\t\t>\n\t\t\t\t\t{this.props.subLabel}\n\t\t\t\t</div>\n\t\t\t);\n\t\t}\n\t\treturn null;\n\t}\n\n\trenderOptions() {\n\t\tif (_.isUndefined(this.props.options) || _.isEmpty(this.props.options)) {\n\t\t\treturn null;\n\t\t}\n\n\t\treturn (\n\t\t\t<div style={{ ...styles.row, ...this.props.rowStyle }}>\n\t\t\t\t{this.props.options.map((e) => {\n\t\t\t\t\treturn (\n\t\t\t\t\t\t<div\n\t\t\t\t\t\t\tclassName={this.generateWrapperClassNames()}\n\t\t\t\t\t\t\tonClick={() => this.performMultiAction(e)}\n\t\t\t\t\t\t\tkey={e.Label}\n\t\t\t\t\t\t\tstyle={{\n\t\t\t\t\t\t\t\t...styles.row,\n\t\t\t\t\t\t\t\tmarginRight: 14,\n\t\t\t\t\t\t\t\t...this.props.buttonStyle,\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t\tclassName={this.generateClassNames(e.Value)}\n\t\t\t\t\t\t\t\tstyle={this.getButtonStyle(e.Value)}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t{e.Label && <span className=\"actionText\">{e.Label}</span>}\n\t\t\t\t\t\t</div>\n\t\t\t\t\t);\n\t\t\t\t})}\n\t\t\t</div>\n\t\t);\n\t}\n\n\trenderHelp() {\n\t\tif (!_.isEmpty(this.props.help)) {\n\t\t\treturn (\n\t\t\t\t<div className=\"genericInput-help\" style={{ marginTop: 4 }}>\n\t\t\t\t\t{this.props.help}\n\t\t\t\t</div>\n\t\t\t);\n\t\t}\n\t\treturn null;\n\t}\n\n\trender() {\n\t\tif (this.props.single) {\n\t\t\treturn (\n\t\t\t\t<div\n\t\t\t\t\tclassName={this.generateWrapperClassNames()}\n\t\t\t\t\tonClick={() => this.performSingleAction()}\n\t\t\t\t\tkey={this.props.val}\n\t\t\t\t\tstyle={this.props.style}\n\t\t\t\t>\n\t\t\t\t\t<div\n\t\t\t\t\t\tclassName={this.generateClassNames(this.props.val)}\n\t\t\t\t\t\tstyle={this.getButtonStyle(this.props.val)}\n\t\t\t\t\t/>\n\t\t\t\t\t{this.renderHelp()}\n\t\t\t\t</div>\n\t\t\t);\n\t\t}\n\t\treturn (\n\t\t\t<div className={this.props.className} style={this.props.style}>\n\t\t\t\t{this.renderLabel()}\n\t\t\t\t{this.renderSubLabel()}\n\t\t\t\t{this.renderOptions()}\n\t\t\t\t{this.renderHelp()}\n\t\t\t</div>\n\t\t);\n\t}\n}\n\nconst styles = {\n\trow: {\n\t\tdisplay: \"flex\",\n\t\tflexDirection: \"row\",\n\t},\n\tcenteredRow: {\n\t\tjustifyContent: \"center\",\n\t},\n};\n\nexport { RadioButton };\n","import React, { Component } from \"react\";\nimport { Icon } from \"@plusscommunities/pluss-icons\";\n\nclass Tag extends Component {\n\trenderLeft() {\n\t\tif (!this.props.leftIcon) {\n\t\t\treturn null;\n\t\t}\n\t\treturn (\n\t\t\t<Icon\n\t\t\t\ticon={this.props.leftIcon}\n\t\t\t\tclassName={`tag_icon tag_icon-left ${this.props.leftClick ? \"tag_icon-clickable\" : \"\"}`}\n\t\t\t\tstyle={this.props.leftIconStyle}\n\t\t\t\tonClick={this.props.leftClick}\n\t\t\t/>\n\t\t);\n\t}\n\n\trenderRight() {\n\t\tif (!this.props.rightIcon) {\n\t\t\treturn null;\n\t\t}\n\t\treturn (\n\t\t\t<Icon\n\t\t\t\ticon={this.props.rightIcon}\n\t\t\t\tclassName={`tag_icon tag_icon-right ${this.props.rightClick ? \"tag_icon-clickable\" : \"\"}`}\n\t\t\t\tstyle={this.props.rightIconStyle}\n\t\t\t\tonClick={this.props.rightClick}\n\t\t\t/>\n\t\t);\n\t}\n\n\trenderText() {\n\t\tif (!this.props.text) {\n\t\t\treturn null;\n\t\t}\n\t\treturn <span className=\"tag_text\">{this.props.text}</span>;\n\t}\n\n\trender() {\n\t\treturn (\n\t\t\t<div\n\t\t\t\tonClick={this.props.onClick}\n\t\t\t\tclassName={`tag ${this.props.onClick ? \"tag-clickable\" : \"\"} ${this.props.className || \"\"} ${\n\t\t\t\t\tthis.props.leftIcon || this.props.rightIcon ? \"tag-hasIcon\" : \"\"\n\t\t\t\t}`}\n\t\t\t\tstyle={this.props.style}\n\t\t\t>\n\t\t\t\t<div className=\"tag_inner\">\n\t\t\t\t\t{this.renderLeft()}\n\t\t\t\t\t<div className={`tag_center ${this.props.centerClass}`}>\n\t\t\t\t\t\t{this.renderText()}\n\t\t\t\t\t\t{this.props.children}\n\t\t\t\t\t</div>\n\t\t\t\t\t{this.renderRight()}\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t);\n\t}\n}\n\nexport { Tag };\n","import React, { Component } from \"react\";\n\nclass StatusButton extends Component {\n\trender() {\n\t\tif (this.props.isActive) {\n\t\t\treturn (\n\t\t\t\t<div\n\t\t\t\t\tclassName=\"tagWrapper tagWrapper--active\"\n\t\t\t\t\tonClick={this.props.deactivate}\n\t\t\t\t>\n\t\t\t\t\t<p className=\"tagWrapper__content tagWrapper__text\">\n\t\t\t\t\t\t{this.props.activeText}\n\t\t\t\t\t</p>\n\t\t\t\t\t<p className=\"tagWrapper__hoverContent tagWrapper__text\">\n\t\t\t\t\t\t{this.props.deactivateText}\n\t\t\t\t\t</p>\n\t\t\t\t</div>\n\t\t\t);\n\t\t}\n\t\treturn (\n\t\t\t<div\n\t\t\t\tclassName=\"tagWrapper tagWrapper--inactive\"\n\t\t\t\tonClick={this.props.activate}\n\t\t\t>\n\t\t\t\t<p className=\"tagWrapper__content tagWrapper__text\">\n\t\t\t\t\t{this.props.inactiveText}\n\t\t\t\t</p>\n\t\t\t\t<p className=\"tagWrapper__hoverContent tagWrapper__text\">\n\t\t\t\t\t{this.props.activateText}\n\t\t\t\t</p>\n\t\t\t</div>\n\t\t);\n\t}\n}\n\nexport { StatusButton };\n","import React, { Component } from \"react\";\nimport { Icon } from \"@plusscommunities/pluss-icons\";\nimport _ from \"lodash\";\nimport { Button } from \"./Button\";\n\nclass SuccessPopup extends Component {\n\tgetBackgroundClasses() {\n\t\treturn this.props.backgroundClose\n\t\t\t? \"successPopupBackground pointer\"\n\t\t\t: \"successPopupBackground\";\n\t}\n\n\trenderButtons() {\n\t\tif (_.isEmpty(this.props.buttons)) return null;\n\n\t\treturn (\n\t\t\t<div className=\"successPopup_buttons\">\n\t\t\t\t{this.props.buttons.map((b, i) => {\n\t\t\t\t\treturn (\n\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\tkey={i}\n\t\t\t\t\t\t\tbuttonClassName=\"successPopup_button\"\n\t\t\t\t\t\t\tbuttonType={b.type}\n\t\t\t\t\t\t\tisActive={!b.inactive}\n\t\t\t\t\t\t\tonClick={b.onClick}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{b.text}\n\t\t\t\t\t\t</Button>\n\t\t\t\t\t);\n\t\t\t\t})}\n\t\t\t</div>\n\t\t);\n\t}\n\n\trenderClose() {\n\t\tif (!this.props.closeAction) {\n\t\t\treturn null;\n\t\t}\n\t\treturn (\n\t\t\t<a\n\t\t\t\tstyle={{ position: \"absolute\", top: 16, right: 16, cursor: \"pointer\" }}\n\t\t\t\tonClick={this.props.closeAction}\n\t\t\t>\n\t\t\t\t<Icon icon=\"xmark\" />\n\t\t\t</a>\n\t\t);\n\t}\n\n\trender() {\n\t\treturn (\n\t\t\t<div className={this.getBackgroundClasses()}>\n\t\t\t\t<div className=\"successPopup\">\n\t\t\t\t\t{this.props.noIcon || (\n\t\t\t\t\t\t<div className=\"successPopup_tick\">\n\t\t\t\t\t\t\t<Icon className=\"successPopup_tick_icon\" icon=\"check\" />\n\t\t\t\t\t\t</div>\n\t\t\t\t\t)}\n\t\t\t\t\t{this.renderClose()}\n\t\t\t\t\t{!_.isEmpty(this.props.text) && (\n\t\t\t\t\t\t<p className=\"successPopup_text\">{this.props.text}</p>\n\t\t\t\t\t)}\n\t\t\t\t\t{this.props.children}\n\t\t\t\t\t{this.renderButtons()}\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t);\n\t}\n}\n\nexport { SuccessPopup };\n","import React, { Component } from \"react\";\nimport { Text } from \"./Text\";\n\nconst getReactions = () => {\n\treturn [\n\t\t{\n\t\t\tkey: \"heart\",\n\t\t\ticon: \"https://pluss60-demo-media.s3-ap-southeast-2.amazonaws.com/assets/emojis/heart.png\",\n\t\t},\n\t\t{\n\t\t\tkey: \"smile\",\n\t\t\ticon: \"https://pluss60-demo-media.s3-ap-southeast-2.amazonaws.com/assets/emojis/smile.png\",\n\t\t},\n\t\t{\n\t\t\tkey: \"sad\",\n\t\t\ticon: \"https://pluss60-demo-media.s3-ap-southeast-2.amazonaws.com/assets/emojis/sad.png\",\n\t\t},\n\t\t{\n\t\t\tkey: \"party\",\n\t\t\ticon: \"https://pluss60-demo-media.s3-ap-southeast-2.amazonaws.com/assets/emojis/party.png\",\n\t\t},\n\t];\n};\n\nclass Reactions extends Component {\n\tstate = {\n\t\treactions: getReactions(),\n\t};\n\n\tgetReaction(key) {\n\t\tif (this.props.reactions) {\n\t\t\tif (!this.props.reactions[key]) {\n\t\t\t\treturn 0;\n\t\t\t}\n\t\t\treturn this.props.reactions[key];\n\t\t}\n\t\tif (!this.props.entity) {\n\t\t\treturn 0;\n\t\t}\n\t\tif (!this.props.entity.Reactions) {\n\t\t\treturn 0;\n\t\t}\n\t\tif (!this.props.entity.Reactions[key]) {\n\t\t\treturn 0;\n\t\t}\n\t\treturn Object.keys(this.props.entity.Reactions[key]).length;\n\t}\n\n\trenderReactions() {\n\t\treturn this.state.reactions.map((r, i) => {\n\t\t\treturn (\n\t\t\t\t<div className=\"polloverview_section\" key={r.key}>\n\t\t\t\t\t<img src={r.icon} className=\"polloverview_iconImage\" alt={r.key} />\n\t\t\t\t\t<div className=\"polloverview_right\">\n\t\t\t\t\t\t<p className=\"polloverview_count\">{this.getReaction(r.key)}</p>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t);\n\t\t});\n\t}\n\n\trender() {\n\t\tif (this.props.compact) {\n\t\t\treturn <div className=\"compactreactions\">{this.renderReactions()}</div>;\n\t\t}\n\t\treturn (\n\t\t\t<div>\n\t\t\t\t<Text type=\"formTitleSmall\" className=\"marginBottom-16\">\n\t\t\t\t\tReactions\n\t\t\t\t</Text>\n\t\t\t\t<div className=\"polloverview\">{this.renderReactions()}</div>\n\t\t\t</div>\n\t\t);\n\t}\n}\n\nexport { Reactions };\n","import _ from \"lodash\";\nimport moment from \"moment\";\n\nexport const compileStats = (stats) => {\n\tconst totalStats = {};\n\tObject.keys(stats).forEach((id) => {\n\t\tObject.keys(stats[id]).forEach((activityId) => {\n\t\t\tif (Array.isArray(stats[id][activityId])) {\n\t\t\t\tif (!totalStats[activityId]) {\n\t\t\t\t\ttotalStats[activityId] = [];\n\t\t\t\t}\n\t\t\t\tArray.prototype.push.apply(\n\t\t\t\t\ttotalStats[activityId],\n\t\t\t\t\tstats[id][activityId],\n\t\t\t\t);\n\t\t\t\ttotalStats[activityId] = _.uniq(totalStats[activityId]);\n\t\t\t} else {\n\t\t\t\tif (!totalStats[activityId]) {\n\t\t\t\t\ttotalStats[activityId] = 0;\n\t\t\t\t}\n\t\t\t\ttotalStats[activityId] += stats[id][activityId];\n\t\t\t}\n\t\t});\n\t});\n\treturn totalStats;\n};\n\nexport const getInsight = (stats, previousStats, source, key, activity) => {\n\tlet top = { Stats: { [activity]: 0 } };\n\tObject.keys(stats).forEach((entityId) => {\n\t\tif (\n\t\t\tstats[entityId][activity] &&\n\t\t\tstats[entityId][activity] > top.Stats[activity]\n\t\t) {\n\t\t\tconst entity = _.find(source, (s) => {\n\t\t\t\treturn s[key] === entityId;\n\t\t\t});\n\t\t\tif (entity) {\n\t\t\t\ttop = { Stats: stats[entityId], Entity: entity };\n\t\t\t}\n\t\t}\n\t});\n\tif (top.Stats[activity] === 0) {\n\t\treturn null;\n\t}\n\tif (previousStats) {\n\t\ttop.PreviousStats = previousStats[top.Entity[key]];\n\t}\n\treturn top;\n};\n\nexport const getAnalyticsFilterOptions = () => {\n\treturn [\n\t\t{\n\t\t\ttext: \"Yesterday\",\n\t\t\tdayCount: 1,\n\t\t\tprevText: \"day before\",\n\t\t},\n\t\t{\n\t\t\ttext: \"Last 7 days\",\n\t\t\tdayCount: 7,\n\t\t\tprevText: \"previous 7 days\",\n\t\t},\n\t\t{\n\t\t\ttext: \"Last 14 days\",\n\t\t\tdayCount: 14,\n\t\t\tprevText: \"previous 14 days\",\n\t\t},\n\t\t{\n\t\t\ttext: \"Last 30 days\",\n\t\t\tdayCount: 30,\n\t\t\tprevText: \"previous 30 days\",\n\t\t},\n\t\t{\n\t\t\ttext: \"Last 90 days\",\n\t\t\tdayCount: 90,\n\t\t\tprevText: \"previous 90 days\",\n\t\t},\n\t\t{\n\t\t\ttext: \"Last 365 days\",\n\t\t\tdayCount: 365,\n\t\t\tprevText: \"previous 365 days\",\n\t\t},\n\t\t{\n\t\t\ttext: \"Custom Range\",\n\t\t\tdayCount: 0,\n\t\t\tprevText: \"previous * days\",\n\t\t},\n\t];\n};\n\nexport const countActivities = (data, activityKey, countType) => {\n\tlet count = 0;\n\tlet set = new Set();\n\n\tdata.forEach((entry) => {\n\t\tconst stats = entry.Stats;\n\n\t\tfor (const entity in stats) {\n\t\t\tconst entityStats = stats[entity];\n\n\t\t\tswitch (countType) {\n\t\t\t\tcase \"unique\":\n\t\t\t\t\tif (entityStats[activityKey]) {\n\t\t\t\t\t\tset.add(entity);\n\t\t\t\t\t}\n\t\t\t\t\tbreak;\n\t\t\t\tcase \"uniquearray\":\n\t\t\t\t\tif (entityStats[activityKey]) {\n\t\t\t\t\t\t_.values(entityStats[activityKey]).forEach((value) => {\n\t\t\t\t\t\t\tset.add(value);\n\t\t\t\t\t\t});\n\t\t\t\t\t}\n\t\t\t\t\tbreak;\n\t\t\t\tcase \"total\":\n\t\t\t\t\tif (entityStats[activityKey]) {\n\t\t\t\t\t\tcount += entityStats[activityKey];\n\t\t\t\t\t}\n\t\t\t\t\tbreak;\n\t\t\t\tdefault:\n\t\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\t});\n\n\tswitch (countType) {\n\t\tcase \"unique\":\n\t\tcase \"uniquearray\":\n\t\t\tconsole.log(countType, set);\n\t\t\treturn set.size;\n\t\tcase \"total\":\n\t\t\treturn count;\n\t\tdefault:\n\t\t\treturn 0;\n\t}\n};\n\nexport const generateDateRangeObjects = (\n\tstartTime,\n\tendTime,\n\tgroupBy = \"day\",\n) => {\n\tconst startDate = moment(startTime);\n\tconst endDate = moment(endTime);\n\tconst dates = {};\n\n\twhile (startDate.isSameOrBefore(endDate)) {\n\t\tconst dateString = startDate.format(\"DD-MM-YYYY\");\n\t\tdates[dateString] = {\n\t\t\tDate: dateString,\n\t\t\tTimestamp: startDate.valueOf(),\n\t\t\tStats: {},\n\t\t};\n\t\tstartDate.add(1, groupBy);\n\t}\n\n\treturn dates;\n};\n\nexport const generateDateActivities = (\n\tdata,\n\tactivityKey,\n\tcountType,\n\tstartTime,\n\tendTime,\n\tgroupBy = \"day\",\n) => {\n\tconst dates = generateDateRangeObjects(startTime, endTime, groupBy);\n\n\tconst result = [];\n\tlet formatToUse = \"DD-MM-YYYY\";\n\tlet labelFormat = \"D MMM\";\n\tswitch (groupBy) {\n\t\tcase \"month\":\n\t\t\tformatToUse = \"MM-YYYY\";\n\t\t\tlabelFormat = \"MMMM\";\n\t\t\tbreak;\n\t\tcase \"week\":\n\t\t\tformatToUse = \"w-gggg\";\n\t\t\tlabelFormat = \"[Week of] D MMM\";\n\t\t\tbreak;\n\t\tdefault:\n\t\t\tbreak;\n\t}\n\n\tObject.keys(dates).forEach((d) => {\n\t\tconst datesToUse = _.filter(data, (date) => {\n\t\t\treturn (\n\t\t\t\tmoment(date.Date, \"DD-MM-YYYY\").format(formatToUse) ===\n\t\t\t\tmoment(d, \"DD-MM-YYYY\").format(formatToUse)\n\t\t\t);\n\t\t}) || [dates[d]];\n\t\tconst compiledValue = {\n\t\t\tdate: d,\n\t\t\tlabel: moment(d, \"DD-MM-YYYY\").format(labelFormat),\n\t\t\tvalue: countActivities(datesToUse, activityKey, countType),\n\t\t};\n\n\t\tresult.push(compiledValue);\n\t});\n\tconsole.log(result);\n\treturn result;\n};\n","import React, { PureComponent } from \"react\";\nimport { DropdownButton, DropdownItem } from \"react-bootstrap\";\nimport _ from \"lodash\";\nimport moment from \"moment\";\nimport { getAnalyticsFilterOptions } from \"../analytics\";\nimport { GenericInput } from \"./GenericInput\";\nimport { DatePicker } from \"./DatePicker\";\n\nclass AnalyticsFilter extends PureComponent {\n\tconstructor(props) {\n\t\tsuper(props);\n\t\tconst filterOptions = getAnalyticsFilterOptions();\n\t\tconst selectedFilter = this.props.defaultFilter || filterOptions[1];\n\n\t\tthis.state = {\n\t\t\tfilterOptions,\n\t\t\tselectedFilter,\n\t\t\tdateRangeText: \"Select date range\",\n\t\t\tstartDate: moment(this.props.defaultStart),\n\t\t\tendDate: moment(this.props.defaultEnd),\n\t\t\tcalendarVisible: true,\n\t\t};\n\t}\n\n\trenderOptions = () => {\n\t\treturn this.state.filterOptions.map((ev) => {\n\t\t\tif (\n\t\t\t\tthis.props.hideOptions &&\n\t\t\t\t_.includes(this.props.hideOptions, ev.dayCount)\n\t\t\t) {\n\t\t\t\treturn null;\n\t\t\t}\n\t\t\treturn (\n\t\t\t\t<DropdownItem\n\t\t\t\t\tkey={ev.dayCount}\n\t\t\t\t\teventKey={ev.dayCount}\n\t\t\t\t\tactive={this.state.selectedFilter === ev}\n\t\t\t\t>\n\t\t\t\t\t{ev.text}\n\t\t\t\t</DropdownItem>\n\t\t\t);\n\t\t});\n\t};\n\n\tselectFilter = (key) => {\n\t\tconst selectedFilter = _.find(this.state.filterOptions, (o) => {\n\t\t\treturn o.dayCount === key;\n\t\t});\n\t\tthis.setState(\n\t\t\t{\n\t\t\t\tselectedFilter,\n\t\t\t\tdateRangeText: \"Select date range\",\n\t\t\t\tstartDate: moment(),\n\t\t\t\tendDate: moment(),\n\t\t\t\tcalendarVisible: true,\n\t\t\t},\n\t\t\t() => {\n\t\t\t\tthis.props.filterChanged(selectedFilter);\n\t\t\t},\n\t\t);\n\t};\n\n\tgetDateRangeText = (start, end) => {\n\t\treturn `${moment(start).format(\"DD/MM/YYYY\")} to ${moment(end).format(\"DD/MM/YYYY\")}`;\n\t};\n\n\ttoggleDateSelectors = () => {\n\t\tthis.setState({ calendarVisible: !this.state.calendarVisible });\n\t};\n\n\tstartDateChanged = (date) => {\n\t\tif (moment(date).isSameOrBefore(this.state.endDate)) {\n\t\t\tthis.setState(\n\t\t\t\t{\n\t\t\t\t\tstartDate: date,\n\t\t\t\t\tdateRangeText: this.getDateRangeText(date, this.state.endDate),\n\t\t\t\t},\n\t\t\t\t() => {\n\t\t\t\t\tthis.props.filterDateRangeChanged(\n\t\t\t\t\t\tthis.state.startDate,\n\t\t\t\t\t\tthis.state.endDate,\n\t\t\t\t\t);\n\t\t\t\t},\n\t\t\t);\n\t\t}\n\t};\n\n\tendDateChanged = (date) => {\n\t\tif (moment(date).isSameOrAfter(this.state.startDate)) {\n\t\t\tthis.setState(\n\t\t\t\t{\n\t\t\t\t\tendDate: date,\n\t\t\t\t\tdateRangeText: this.getDateRangeText(this.state.startDate, date),\n\t\t\t\t},\n\t\t\t\t() => {\n\t\t\t\t\tthis.props.filterDateRangeChanged(\n\t\t\t\t\t\tthis.state.startDate,\n\t\t\t\t\t\tthis.state.endDate,\n\t\t\t\t\t);\n\t\t\t\t},\n\t\t\t);\n\t\t}\n\t};\n\n\trender() {\n\t\treturn (\n\t\t\t<>\n\t\t\t\t<div className=\"analyticsFilter__dropDown\">\n\t\t\t\t\t<DropdownButton\n\t\t\t\t\t\tid=\"secondLevelSort\"\n\t\t\t\t\t\tbsSize=\"xsmall\"\n\t\t\t\t\t\tclassName=\"siteSelector__button analyticsFilter__dropDown__button\"\n\t\t\t\t\t\ttitle={this.state.selectedFilter.text}\n\t\t\t\t\t\tonSelect={this.selectFilter}\n\t\t\t\t\t>\n\t\t\t\t\t\t{this.renderOptions()}\n\t\t\t\t\t</DropdownButton>\n\t\t\t\t\t{this.state.selectedFilter.dayCount === 0 && (\n\t\t\t\t\t\t<GenericInput\n\t\t\t\t\t\t\tid=\"customDateRange\"\n\t\t\t\t\t\t\tplaceholder={\"Select date range\"}\n\t\t\t\t\t\t\tclassName=\"analyticsFilter__dropDown__input\"\n\t\t\t\t\t\t\tvalue={this.state.dateRangeText}\n\t\t\t\t\t\t\tonClick={this.toggleDateSelectors}\n\t\t\t\t\t\t\treadOnly\n\t\t\t\t\t\t/>\n\t\t\t\t\t)}\n\t\t\t\t</div>\n\t\t\t\t{this.state.selectedFilter.dayCount === 0 &&\n\t\t\t\t\tthis.state.calendarVisible && (\n\t\t\t\t\t\t<div className=\"analyticsFilter__dateRange\">\n\t\t\t\t\t\t\t<DatePicker\n\t\t\t\t\t\t\t\thideTop\n\t\t\t\t\t\t\t\tselectedDate={this.state.startDate}\n\t\t\t\t\t\t\t\tselectDate={this.startDateChanged}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t<DatePicker\n\t\t\t\t\t\t\t\thideTop\n\t\t\t\t\t\t\t\tselectedDate={this.state.endDate}\n\t\t\t\t\t\t\t\tselectDate={this.endDateChanged}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t)}\n\t\t\t</>\n\t\t);\n\t}\n}\n\nexport { AnalyticsFilter };\n","import React, { Component } from \"react\";\nimport { Text } from \"./Text\";\nimport { ProfilePic } from \"./ProfilePic\";\nimport { COLOUR_BRANDING_MAIN } from \"../colours\";\n\nclass UserListing extends Component {\n\tgetSize() {\n\t\treturn this.props.size || 30;\n\t}\n\n\tgetImage() {\n\t\tif (this.props.user && this.props.user.profilePic) {\n\t\t\treturn this.props.user.profilePic;\n\t\t}\n\t\tif (this.props.image) {\n\t\t\treturn this.props.image;\n\t\t}\n\t\treturn undefined;\n\t}\n\n\tgetKey() {\n\t\tif (this.props.user && this.props.user.id) {\n\t\t\treturn this.props.user.id;\n\t\t}\n\t\treturn this.props.id;\n\t}\n\n\tgetText() {\n\t\tif (this.props.user && this.props.user.displayName) {\n\t\t\treturn this.props.user.displayName;\n\t\t}\n\t\treturn this.props.title;\n\t}\n\n\tgetBorderRadius() {\n\t\tif (this.props.squareImage) {\n\t\t\treturn 4;\n\t\t}\n\t\treturn this.getSize() / 2;\n\t}\n\n\tisLoading() {\n\t\tif (this.props.user && this.props.user.loading) {\n\t\t\treturn this.props.user && this.props.user.loading;\n\t\t}\n\t\treturn this.props.isLoading;\n\t}\n\n\trenderRight() {\n\t\tif (!this.props.rightContent) {\n\t\t\treturn null;\n\t\t}\n\t\treturn this.props.rightContent;\n\t}\n\n\trenderSub() {\n\t\tif (!this.props.subContent) {\n\t\t\treturn null;\n\t\t}\n\t\treturn this.props.subContent;\n\t}\n\n\trenderImage() {\n\t\tif (this.props.squareImage) {\n\t\t\treturn (\n\t\t\t\t<div\n\t\t\t\t\tstyle={{\n\t\t\t\t\t\theight: this.getSize(),\n\t\t\t\t\t\twidth: this.getSize(),\n\t\t\t\t\t\tborderRadius: this.getBorderRadius(),\n\t\t\t\t\t\tmarginRight: 8,\n\t\t\t\t\t\tbackgroundSize: \"cover\",\n\t\t\t\t\t\tbackgroundPosition: \"center\",\n\t\t\t\t\t\tbackgroundImage: `url(${this.getImage()})`,\n\t\t\t\t\t\tbackgroundColor: COLOUR_BRANDING_MAIN,\n\t\t\t\t\t}}\n\t\t\t\t\talt={`${this.getText()} Image`}\n\t\t\t\t/>\n\t\t\t);\n\t\t}\n\t\treturn (\n\t\t\t<ProfilePic\n\t\t\t\tsize={this.getSize()}\n\t\t\t\tclassName=\"userListing_profilePic\"\n\t\t\t\timage={this.getImage()}\n\t\t\t/>\n\t\t);\n\t}\n\n\trender() {\n\t\treturn (\n\t\t\t<div\n\t\t\t\tkey={this.getKey()}\n\t\t\t\tclassName=\"userListing\"\n\t\t\t\tstyle={{\n\t\t\t\t\tminHeight: this.getSize() + 5,\n\t\t\t\t\tcursor: this.props.onClick ? \"pointer\" : \"inherit\",\n\t\t\t\t\topacity: this.isLoading() ? 0.5 : 1,\n\t\t\t\t}}\n\t\t\t\tonClick={this.props.onClick}\n\t\t\t>\n\t\t\t\t<div className=\"userListing_inner\">\n\t\t\t\t\t{this.renderImage()}\n\t\t\t\t\t<div\n\t\t\t\t\t\tclassName=\"userListing_middle\"\n\t\t\t\t\t\tstyle={{ height: this.getSize() }}\n\t\t\t\t\t>\n\t\t\t\t\t\t<Text\n\t\t\t\t\t\t\ttype=\"name\"\n\t\t\t\t\t\t\tstyle={this.props.whiteText ? { color: \"#fff\" } : null}\n\t\t\t\t\t\t\tclassName={this.props.textClass}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{this.getText()}\n\t\t\t\t\t\t</Text>\n\t\t\t\t\t\t{this.renderSub()}\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t\t{this.renderRight()}\n\t\t\t</div>\n\t\t);\n\t}\n}\n\nexport { UserListing };\n","import React, { Component } from \"react\";\nimport moment from \"moment\";\nimport _ from \"lodash\";\nimport { randomString } from \"../helper\";\nimport { COLOUR_DUSK_LIGHT } from \"../colours\";\nimport { Icon } from \"@plusscommunities/pluss-icons\";\n\nclass TimePicker extends Component {\n\tstate = {\n\t\tid: randomString(),\n\t\tselectedTime: this.props.optional ? this.props.selectedTime : moment(),\n\t\tgrid: [],\n\t\thourInput: \"\",\n\t\tminuteInput: \"\",\n\t\tmInput: \"\",\n\t};\n\n\tUNSAFE_componentWillMount() {\n\t\tthis.onNewProps(this.props, !this.props.optional);\n\t}\n\n\tUNSAFE_componentWillReceiveProps(nextProps) {\n\t\tthis.onNewProps(nextProps);\n\t}\n\n\tonNewProps(nextProps, forceUpdate) {\n\t\tif (forceUpdate || nextProps.selectedTime !== this.props.selectedTime) {\n\t\t\tlet mDate = moment(nextProps.selectedTime, \"h:mma\");\n\t\t\tif (!mDate.isValid()) {\n\t\t\t\tthis.setState({\n\t\t\t\t\tselectedTime: null,\n\t\t\t\t\thourInput: \"\",\n\t\t\t\t\tminuteInput: \"\",\n\t\t\t\t\tmInput: \"\",\n\t\t\t\t});\n\t\t\t} else {\n\t\t\t\tconst minutesFocused =\n\t\t\t\t\tdocument.getElementById(`time_minute_${this.state.id}`) ===\n\t\t\t\t\tdocument.activeElement;\n\t\t\t\tthis.setState({\n\t\t\t\t\tselectedTime: mDate,\n\t\t\t\t\thourInput: mDate.format(\"h\"),\n\t\t\t\t\tminuteInput: mDate.format(minutesFocused ? \"m\" : \"mm\"),\n\t\t\t\t\tmInput: mDate.format(\"a\"),\n\t\t\t\t});\n\t\t\t}\n\t\t}\n\t}\n\n\tgetDefaultTime() {\n\t\tconst result = moment();\n\t\tresult.hour(12);\n\t\tresult.minute(0);\n\t\tresult.second(0);\n\t\treturn result;\n\t}\n\n\tonChangeHour(event) {\n\t\tlet hour = 0;\n\t\tif (!_.isEmpty(event.target.value)) {\n\t\t\thour = parseInt(event.target.value, 10);\n\t\t} else {\n\t\t\tthis.setState({ ...this.state, hourInput: \"\" });\n\t\t\treturn;\n\t\t}\n\t\tif (isNaN(hour)) {\n\t\t\treturn;\n\t\t}\n\t\thour = Math.max(Math.min(12, hour), 0);\n\t\tconst dateToUse = this.state.selectedTime || this.getDefaultTime();\n\t\tconst selectNext = hour > 1; // if hour is > 1, assume user is done typing and select minutes input\n\t\tif (dateToUse.format(\"a\") === \"pm\") {\n\t\t\thour += 12;\n\t\t}\n\t\tdateToUse.hour(hour);\n\t\tthis.setState({\n\t\t\tselectedTime: moment(dateToUse),\n\t\t});\n\n\t\tthis.selectTime(dateToUse);\n\n\t\tif (selectNext) {\n\t\t\tthis.select(`time_minute_${this.state.id}`);\n\t\t}\n\t}\n\n\tonChangeMinute(event) {\n\t\tlet minute = 0;\n\t\tif (!_.isEmpty(event.target.value)) {\n\t\t\tminute = parseInt(event.target.value, 10);\n\t\t} else {\n\t\t\tthis.setState({ ...this.state, minuteInput: \"\" });\n\t\t\treturn;\n\t\t}\n\t\tif (isNaN(minute)) {\n\t\t\treturn;\n\t\t}\n\t\tminute = Math.max(Math.min(59, minute), 0);\n\t\tconst dateToUse = this.state.selectedTime || this.getDefaultTime();\n\t\tdateToUse.minute(minute);\n\t\tthis.setState({\n\t\t\tselectedTime: moment(dateToUse),\n\t\t});\n\n\t\tthis.selectTime(dateToUse);\n\n\t\tif (minute >= 10 || event.target.value === \"00\") {\n\t\t\tthis.select(`time_am_${this.state.id}`);\n\t\t}\n\t}\n\n\tonBlurMinute() {\n\t\tif (this.state.selectedTime) {\n\t\t\tthis.setState({\n\t\t\t\tminuteInput: this.state.selectedTime.format(\"mm\"),\n\t\t\t});\n\t\t}\n\t}\n\n\tonChangeM(event) {\n\t\tconst dateToUse = this.state.selectedTime || this.getDefaultTime();\n\t\tif (event.target.value.toLowerCase().indexOf(\"a\") > -1) {\n\t\t\t// am\n\t\t\tif (dateToUse.format(\"a\") === \"pm\") {\n\t\t\t\tdateToUse.hour(dateToUse.hour() - 12);\n\t\t\t}\n\t\t} else {\n\t\t\t// pm\n\t\t\tif (dateToUse.format(\"a\") === \"am\") {\n\t\t\t\tdateToUse.hour(dateToUse.hour() + 12);\n\t\t\t}\n\t\t}\n\t\tthis.setState({\n\t\t\tselectedTime: moment(dateToUse),\n\t\t});\n\t\tthis.selectTime(dateToUse);\n\t}\n\n\tselectTime(date) {\n\t\tthis.props.selectTime(\n\t\t\tmoment(date).format(this.props.callbackFormat || \"h:mma\"),\n\t\t);\n\t}\n\n\tonClear = () => {\n\t\tthis.props.selectTime(undefined);\n\t};\n\n\tselect(id) {\n\t\tdocument.getElementById(id).select();\n\t}\n\n\trenderClear() {\n\t\tif (!this.props.hasClear) return null;\n\t\treturn (\n\t\t\t<Icon\n\t\t\t\tcolour={COLOUR_DUSK_LIGHT}\n\t\t\t\ticon=\"xmark\"\n\t\t\t\tclassName=\"timepicker_clear\"\n\t\t\t\tonClick={this.onClear}\n\t\t\t/>\n\t\t);\n\t}\n\n\trender() {\n\t\tconst { disabled } = this.props;\n\t\tif (disabled) {\n\t\t\treturn (\n\t\t\t\t<div className=\"timepicker disabled\" style={this.props.style}>\n\t\t\t\t\t<span\n\t\t\t\t\t\tclassName=\"timepicker__span\"\n\t\t\t\t\t\tstyle={this.props.inputStyle}\n\t\t\t\t\t>{`${this.state.hourInput} : ${this.state.minuteInput} ${this.state.mInput}`}</span>\n\t\t\t\t</div>\n\t\t\t);\n\t\t}\n\t\treturn (\n\t\t\t<div\n\t\t\t\tclassName={`timepicker ${this.props.className}`}\n\t\t\t\tstyle={this.props.style}\n\t\t\t>\n\t\t\t\t<input\n\t\t\t\t\tclassName=\"timepicker__input\"\n\t\t\t\t\tmaxLength=\"2\"\n\t\t\t\t\tplaceholder=\"hh\"\n\t\t\t\t\ttype=\"text\"\n\t\t\t\t\tid={`time_hour_${this.state.id}`}\n\t\t\t\t\tvalue={this.state.hourInput}\n\t\t\t\t\tonChange={this.onChangeHour.bind(this)}\n\t\t\t\t\tonClick={this.select.bind(this, `time_hour_${this.state.id}`)}\n\t\t\t\t\tstyle={this.props.inputStyle}\n\t\t\t\t/>\n\t\t\t\t<span className=\"timepicker__separator\" style={this.props.inputStyle}>\n\t\t\t\t\t:\n\t\t\t\t</span>\n\t\t\t\t<input\n\t\t\t\t\tclassName=\"timepicker__input\"\n\t\t\t\t\tmaxLength=\"2\"\n\t\t\t\t\tplaceholder=\"mm\"\n\t\t\t\t\ttype=\"text\"\n\t\t\t\t\tid={`time_minute_${this.state.id}`}\n\t\t\t\t\tvalue={this.state.minuteInput}\n\t\t\t\t\tonChange={this.onChangeMinute.bind(this)}\n\t\t\t\t\tonBlur={this.onBlurMinute.bind(this)}\n\t\t\t\t\tonClick={this.select.bind(this, `time_minute_${this.state.id}`)}\n\t\t\t\t\tstyle={this.props.inputStyle}\n\t\t\t\t/>\n\t\t\t\t<input\n\t\t\t\t\tclassName=\"timepicker__input\"\n\t\t\t\t\tmaxLength=\"2\"\n\t\t\t\t\tplaceholder=\"pm\"\n\t\t\t\t\ttype=\"text\"\n\t\t\t\t\tid={`time_am_${this.state.id}`}\n\t\t\t\t\tvalue={this.state.mInput}\n\t\t\t\t\tonChange={this.onChangeM.bind(this)}\n\t\t\t\t\tonClick={this.select.bind(this, `time_am_${this.state.id}`)}\n\t\t\t\t\tstyle={this.props.inputStyle}\n\t\t\t\t/>\n\t\t\t\t{this.renderClear()}\n\t\t\t</div>\n\t\t);\n\t}\n}\n\nexport { TimePicker };\n","import React, { Component } from \"react\";\nimport _ from \"lodash\";\nimport { withRouter } from \"react-router\";\nimport { connect } from \"react-redux\";\nimport Config from \"../config\";\nimport { GenericInput } from \"./GenericInput\";\nimport { Text } from \"./Text\";\nimport { COLOUR_DUSK } from \"../colours\";\nimport { Icon } from \"@plusscommunities/pluss-icons\";\n\nclass AudienceIncluder extends Component {\n\tconstructor(props) {\n\t\tsuper(props);\n\t\tthis.state = {\n\t\t\tshowUserAdd: false,\n\t\t\tuserSearch: \"\",\n\t\t\treturnList: [],\n\t\t\tuserList: [],\n\n\t\t\tselectionList: [],\n\t\t};\n\t}\n\n\tUNSAFE_componentWillMount() {\n\t\tthis.updateProps(this.props);\n\t}\n\n\tUNSAFE_componentWillReceiveProps(nextProps) {\n\t\tthis.updateProps(nextProps);\n\t}\n\n\tupdateProps(props) {\n\t\tvar stateChange = {\n\t\t\tselectionList: props.selectionList,\n\t\t\tuserList: props.userList,\n\t\t};\n\n\t\tif (!_.isEmpty(this.state.userSearch) && this.state.userSearch.length > 1) {\n\t\t\tstateChange.returnList = _.filter(props.userList, (ev) => {\n\t\t\t\treturn (\n\t\t\t\t\tev.displayName\n\t\t\t\t\t\t.toLowerCase()\n\t\t\t\t\t\t.indexOf(this.state.userSearch.toLowerCase()) > -1\n\t\t\t\t);\n\t\t\t});\n\n\t\t\tstateChange.returnList = _.reject(stateChange.returnList, (item) =>\n\t\t\t\t_.find(props.selectionList, (t) => {\n\t\t\t\t\treturn t.Id === item.Id;\n\t\t\t\t}),\n\t\t\t);\n\t\t}\n\t\tthis.setState(stateChange);\n\t}\n\n\tshowUserAdd() {\n\t\tthis.setState({ showUserAdd: true });\n\t}\n\n\thandleChange(event) {\n\t\tif (this.state.searchUserLoading) {\n\t\t\treturn;\n\t\t}\n\t\tvar stateChange = { returnList: [] };\n\t\tstateChange[event.target.getAttribute(\"id\")] = event.target.value;\n\n\t\tif (!_.isEmpty(event.target.value) && event.target.value.length > 1) {\n\t\t\tstateChange.returnList = _.filter(this.props.userList, (ev) => {\n\t\t\t\treturn (\n\t\t\t\t\tev.displayName\n\t\t\t\t\t\t.toLowerCase()\n\t\t\t\t\t\t.indexOf(event.target.value.toLowerCase()) > -1\n\t\t\t\t);\n\t\t\t});\n\n\t\t\tstateChange.returnList = _.reject(stateChange.returnList, (item) =>\n\t\t\t\t_.find(this.state.selectionList, (t) => {\n\t\t\t\t\treturn t.Id === item.Id;\n\t\t\t\t}),\n\t\t\t);\n\t\t}\n\n\t\tthis.setState(stateChange);\n\t}\n\n\trenderSearch() {\n\t\treturn (\n\t\t\t<div style={{}}>\n\t\t\t\t{this.state.returnList.map((user, index) => {\n\t\t\t\t\treturn (\n\t\t\t\t\t\t<div\n\t\t\t\t\t\t\tonClick={() => {\n\t\t\t\t\t\t\t\tthis.props.add(user);\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\tkey={user.Id}\n\t\t\t\t\t\t\tclassName=\"pointer\"\n\t\t\t\t\t\t\tstyle={{\n\t\t\t\t\t\t\t\tmarginBottom: 8,\n\t\t\t\t\t\t\t\tdisplay: \"flex\",\n\t\t\t\t\t\t\t\tflexDirection: \"row\",\n\t\t\t\t\t\t\t\talignItems: \"center\",\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<img\n\t\t\t\t\t\t\t\tstyle={{\n\t\t\t\t\t\t\t\t\theight: 30,\n\t\t\t\t\t\t\t\t\twidth: 30,\n\t\t\t\t\t\t\t\t\tborderRadius: 15,\n\t\t\t\t\t\t\t\t\tmarginRight: 16,\n\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\tsrc={\n\t\t\t\t\t\t\t\t\tuser.profilePic != null\n\t\t\t\t\t\t\t\t\t\t? user.profilePic\n\t\t\t\t\t\t\t\t\t\t: Config.env.defaultProfileImage\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\talt=\"user profilePic\"\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t<div className={`fontMedium fontSize-16 text-dark'`}>\n\t\t\t\t\t\t\t\t{user.displayName}\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t);\n\t\t\t\t})}\n\t\t\t</div>\n\t\t);\n\t}\n\n\trenderUserAdd() {\n\t\treturn (\n\t\t\t<div className=\"\" style={{ backgroundColor: \"#fff\" }}>\n\t\t\t\t{\" \"}\n\t\t\t\t{/* Search for peeps */}\n\t\t\t\t<GenericInput\n\t\t\t\t\tid=\"userSearch\"\n\t\t\t\t\ttype=\"text\"\n\t\t\t\t\tlabel=\"Search for User\"\n\t\t\t\t\tplaceholder=\"Search for user\"\n\t\t\t\t\tvalue={this.state.userSearch}\n\t\t\t\t\tonChange={(e) => this.handleChange(e)}\n\t\t\t\t\talwaysShowLabel\n\t\t\t\t/>\n\t\t\t\t{this.renderSearch()}\n\t\t\t</div>\n\t\t);\n\t}\n\n\trenderAttendees() {\n\t\tif (this.state.selectionList && !_.isEmpty(this.state.selectionList)) {\n\t\t\treturn (\n\t\t\t\t<div style={{ marginTop: 16 }}>\n\t\t\t\t\t<Text type=\"formLabel\" className=\"marginBottom-8\">\n\t\t\t\t\t\tSelected Users\n\t\t\t\t\t</Text>\n\t\t\t\t\t{this.state.selectionList.map((user, index) => {\n\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t\tkey={user.Id}\n\t\t\t\t\t\t\t\tstyle={{\n\t\t\t\t\t\t\t\t\tmarginBottom: 8,\n\t\t\t\t\t\t\t\t\tdisplay: \"flex\",\n\t\t\t\t\t\t\t\t\tflexDirection: \"row\",\n\t\t\t\t\t\t\t\t\tjustifyContent: \"space-between\",\n\t\t\t\t\t\t\t\t\talignItems: \"center\",\n\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t<div className=\"flex\" style={{ alignItems: \"center\" }}>\n\t\t\t\t\t\t\t\t\t<img\n\t\t\t\t\t\t\t\t\t\tstyle={{\n\t\t\t\t\t\t\t\t\t\t\theight: 30,\n\t\t\t\t\t\t\t\t\t\t\twidth: 30,\n\t\t\t\t\t\t\t\t\t\t\tborderRadius: 15,\n\t\t\t\t\t\t\t\t\t\t\tmarginRight: 16,\n\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t\tsrc={\n\t\t\t\t\t\t\t\t\t\t\tuser.profilePic != null\n\t\t\t\t\t\t\t\t\t\t\t\t? user.profilePic\n\t\t\t\t\t\t\t\t\t\t\t\t: Config.env.defaultProfileImage\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\talt=\"user profilePic\"\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t<div className={`fontMedium fontSize-16 text-dark'`}>\n\t\t\t\t\t\t\t\t\t\t{user.displayName}\n\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t<Icon\n\t\t\t\t\t\t\t\t\tclassName=\"removeIcon\"\n\t\t\t\t\t\t\t\t\ticon=\"xmark\"\n\t\t\t\t\t\t\t\t\tonClick={() => {\n\t\t\t\t\t\t\t\t\t\tthis.props.remove(user);\n\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\tcolour={COLOUR_DUSK}\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t{/* <ConfirmActions declineOnly onDecline={() => {}} /> */}\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t);\n\t\t\t\t\t})}\n\t\t\t\t</div>\n\t\t\t);\n\t\t}\n\t\treturn null;\n\t}\n\n\trender() {\n\t\treturn (\n\t\t\t<div>\n\t\t\t\t<div>{this.renderUserAdd()}</div>\n\t\t\t\t<div>{this.renderAttendees()}</div>\n\t\t\t</div>\n\t\t);\n\t}\n}\n\nconst mapStateToProps = (state) => {\n\treturn { auth: state.auth };\n};\n\nlet exportObj = connect(mapStateToProps, {})(withRouter(AudienceIncluder));\n\nexport { exportObj as AudienceIncluder };\n","import React, { Component } from \"react\";\nimport _ from \"lodash\";\nimport { INACTIVE_TEXT } from \"../colours\";\nimport { Icon } from \"@plusscommunities/pluss-icons\";\n\nclass DropdownInput extends Component {\n\tconstructor(props) {\n\t\tsuper(props);\n\t\tthis.state = {\n\t\t\twidth: 0,\n\t\t\theight: 0,\n\t\t\topen: false,\n\t\t};\n\n\t\tthis.setWrapperRef = this.setWrapperRef.bind(this);\n\t\tthis.handleClickOutside = this.handleClickOutside.bind(this);\n\t}\n\n\tcomponentDidMount() {\n\t\tdocument.addEventListener(\"mousedown\", this.handleClickOutside);\n\t}\n\n\tcomponentWillUnmount() {\n\t\tdocument.removeEventListener(\"mousedown\", this.handleClickOutside);\n\t}\n\n\tsetWrapperRef(node) {\n\t\tthis.wrapperRef = node;\n\t}\n\n\thandleClickOutside(event) {\n\t\tif (this.wrapperRef && !this.wrapperRef.contains(event.target)) {\n\t\t\tthis.setState({ open: false });\n\t\t}\n\t}\n\n\tgetAutoComplete() {\n\t\tif (!_.isUndefined(this.props.autoComplete)) {\n\t\t\treturn this.props.autoComplete ? \"on\" : \"off\";\n\t\t}\n\t\treturn \"off\";\n\t}\n\n\tgetClassNames() {\n\t\tlet string = \"\";\n\t\tif (this.props.className) {\n\t\t\tstring += `${this.props.className} `;\n\t\t}\n\t\tif (!_.isUndefined(this.props.disabled) && this.props.disabled) {\n\t\t\tstring = \"genericInput-disabled \";\n\t\t}\n\t\tif (this.props.large) {\n\t\t\tstring += \"genericInput-large \";\n\t\t}\n\t\tif (!_.isUndefined(this.props.showError) && this.props.showError()) {\n\t\t\treturn string + \"genericInput-error\";\n\t\t}\n\t\tif (!_.isUndefined(this.props.isValid) && this.props.isValid()) {\n\t\t\treturn string + \"genericInput-valid\";\n\t\t}\n\t\treturn string;\n\t}\n\n\tgetLabelStyle() {\n\t\tconst style = {};\n\t\tif (_.isEmpty(this.props.value) && !this.props.alwaysShowLabel) {\n\t\t\tstyle.opacity = 0;\n\t\t}\n\t\tif (\n\t\t\t!_.isUndefined(this.props.ignoreValue) &&\n\t\t\tthis.props.value === this.props.ignoreValue &&\n\t\t\t!this.props.alwaysShowLabel\n\t\t) {\n\t\t\tstyle.opacity = 0;\n\t\t}\n\t\t// if (this.props.isRequired) {\n\t\t// style.marginLeft = 12;\n\t\t// }\n\t\treturn style;\n\t}\n\n\trenderError() {\n\t\tif (!_.isUndefined(this.props.showError) && this.props.showError()) {\n\t\t\treturn (\n\t\t\t\t<div className={\"fieldLabel fieldLabel-warning\"}>\n\t\t\t\t\t{this.props.errorMessage ? this.props.errorMessage : \"Required\"}\n\t\t\t\t</div>\n\t\t\t);\n\t\t}\n\t\treturn null;\n\t}\n\n\trenderHelp() {\n\t\tif (!_.isUndefined(this.props.help)) {\n\t\t\treturn <div className=\"genericInput-help\">{this.props.help}</div>;\n\t\t}\n\t\treturn null;\n\t}\n\n\topen() {\n\t\tif (this.props.disabled) {\n\t\t\treturn;\n\t\t}\n\t\tthis.setState({ open: !this.state.open });\n\t}\n\n\trenderOption() {\n\t\tif (!this.state.open) {\n\t\t\treturn null;\n\t\t}\n\t\treturn (\n\t\t\t<div style={styles.dropdownItemsWrapper}>\n\t\t\t\t{_.values(this.props.options).map((cat) => {\n\t\t\t\t\treturn (\n\t\t\t\t\t\t<div\n\t\t\t\t\t\t\tkey={cat.Key}\n\t\t\t\t\t\t\tclassName=\"subtleHover fontRegular fontSize-16 text-dark\"\n\t\t\t\t\t\t\tstyle={styles.dropDownOption}\n\t\t\t\t\t\t\tonClick={() => {\n\t\t\t\t\t\t\t\tthis.props.onSelect(cat.Key);\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{cat.Title}\n\t\t\t\t\t\t</div>\n\t\t\t\t\t);\n\t\t\t\t})}\n\t\t\t</div>\n\t\t);\n\t}\n\n\tgetBottomBorder() {\n\t\tif (!_.isUndefined(this.props.disabled) && this.props.disabled) {\n\t\t\treturn \"dropdownInput-bottomBorder--disabled\";\n\t\t}\n\t\tif (!_.isUndefined(this.props.showError) && this.props.showError()) {\n\t\t\treturn \"dropdownInput-bottomBorder--error\";\n\t\t}\n\t\treturn \"\";\n\t}\n\n\trenderInput() {\n\t\treturn (\n\t\t\t<div style={styles.row}>\n\t\t\t\t{this.props.isRequired && <div className=\"inputRequired \" />}\n\t\t\t\t<div\n\t\t\t\t\tonClick={this.open.bind(this)}\n\t\t\t\t\tclassName={`dropdownInput-bottomBorder ${this.getBottomBorder()} ${!this.props.disabled ? \"pointer\" : \"\"}`}\n\t\t\t\t>\n\t\t\t\t\t<input\n\t\t\t\t\t\tid={this.props.id}\n\t\t\t\t\t\tplaceholder={\n\t\t\t\t\t\t\t!_.isUndefined(this.props.placeholder)\n\t\t\t\t\t\t\t\t? this.props.placeholder\n\t\t\t\t\t\t\t\t: this.props.label\n\t\t\t\t\t\t}\n\t\t\t\t\t\ttype={!_.isUndefined(this.props.type) ? this.props.type : \"text\"}\n\t\t\t\t\t\tclassName={`genericInput ${!this.props.disabled ? \"pointer\" : \"\"}`}\n\t\t\t\t\t\tvalue={this.props.value}\n\t\t\t\t\t\tonChange={this.props.onChange}\n\t\t\t\t\t\tonKeyPress={this.props.onEnter}\n\t\t\t\t\t\tstyle={{ ...this.props.inputStyle }}\n\t\t\t\t\t\tdisabled\n\t\t\t\t\t\tautoComplete=\"false\"\n\t\t\t\t\t/>\n\t\t\t\t\t<div style={styles.chevronWrapper}>\n\t\t\t\t\t\t<Icon\n\t\t\t\t\t\t\tstyle={{\n\t\t\t\t\t\t\t\t...styles.chevron,\n\t\t\t\t\t\t\t\tcolor:\n\t\t\t\t\t\t\t\t\t!_.isUndefined(this.props.disabled) && this.props.disabled\n\t\t\t\t\t\t\t\t\t\t? \"transparent\"\n\t\t\t\t\t\t\t\t\t\t: INACTIVE_TEXT,\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\ticon={\n\t\t\t\t\t\t\t\tthis.state.open ? `fa-${\"chevron-up\"}` : `fa-${\"chevron-down\"}`\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t/>\n\t\t\t\t\t</div>\n\t\t\t\t\t{this.renderOption()}\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t);\n\t}\n\n\trender() {\n\t\treturn (\n\t\t\t<div\n\t\t\t\tref={this.setWrapperRef}\n\t\t\t\tclassName={`dropdownInput ${this.getClassNames()}`}\n\t\t\t\tstyle={{ marginBottom: 16, position: \"relative\", ...this.props.style }}\n\t\t\t>\n\t\t\t\t<div\n\t\t\t\t\tstyle={{\n\t\t\t\t\t\t...styles.row,\n\t\t\t\t\t\tmarginBottom: 0,\n\t\t\t\t\t\tjustifyContent: \"space-between\",\n\t\t\t\t\t}}\n\t\t\t\t>\n\t\t\t\t\t{!_.isUndefined(this.props.label) && (\n\t\t\t\t\t\t<div className=\"fieldLabel\" style={this.getLabelStyle()}>\n\t\t\t\t\t\t\t{this.props.label}\n\t\t\t\t\t\t</div>\n\t\t\t\t\t)}\n\t\t\t\t\t{this.renderError()}\n\t\t\t\t</div>\n\t\t\t\t{/* Render either generic input or large text area */}\n\t\t\t\t{this.renderInput()}\n\t\t\t\t{/* Render bottom help info */}\n\t\t\t\t{this.renderHelp()}\n\t\t\t</div>\n\t\t);\n\t}\n}\n\nconst styles = {\n\trow: {\n\t\tdisplay: \"flex\",\n\t\tflexDirection: \"row\",\n\t\talignItems: \"center\",\n\t},\n\tchevronWrapper: {\n\t\tdisplay: \"flex\",\n\t\tflexDirection: \"column\",\n\t\tjustifyContent: \"center\",\n\t},\n\tchevron: {\n\t\tfontSize: 12,\n\t\tpaddingBottom: 4,\n\t},\n\tdropdownItemsWrapper: {\n\t\tbackgroundColor: \"#fff\",\n\t\tposition: \"absolute\",\n\t\twidth: \"100%\",\n\t\ttop: 35,\n\t\tboxShadow: \"2px 2px 10px rgba(106, 163, 216, 0.7)\",\n\t\tzIndex: 90,\n\t\tborderRadius: 4,\n\t\tpaddingTop: 4,\n\t\tpaddingBottom: 4,\n\t},\n\tdropDownOption: {\n\t\tpadding: \"4px 16px\",\n\t},\n};\n\nexport { DropdownInput };\n","import React, { Component } from \"react\";\nimport { Icon } from \"@plusscommunities/pluss-icons\";\nimport _ from \"lodash\";\nimport { connect } from \"react-redux\";\nimport { setAuth } from \"../actions\";\nimport { profileActions, typeActions, userActions } from \"../apis\";\nimport { COLOUR_DUSK } from \"../colours\";\nimport { AudienceIncluder } from \"./AudienceIncluder\";\nimport { Text } from \"./Text\";\nimport { RadioButton } from \"./RadioButton\";\nimport { DropdownInput } from \"./DropdownInput\";\nimport { Tag } from \"./Tag\";\n\nclass AudienceSelector extends Component {\n\tconstructor(props) {\n\t\tsuper(props);\n\n\t\tthis.state = {\n\t\t\tcategories: [\n\t\t\t\t{\n\t\t\t\t\tTitle: \"All Primary Users\",\n\t\t\t\t\tKey: \"resident\",\n\t\t\t\t\tShortName: \"Primary\",\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tTitle: \"All Staff Users\",\n\t\t\t\t\tKey: \"staff\",\n\t\t\t\t\tShortName: \"Staff\",\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tTitle: \"All Linked Users\",\n\t\t\t\t\tKey: \"family\",\n\t\t\t\t\tShortName: \"Linked\",\n\t\t\t\t},\n\t\t\t],\n\t\t\ttypes: [],\n\t\t\tAudienceType: props.audienceType || \"All\",\n\t\t\tshowInclude: false,\n\t\t\tincludeList: [],\n\t\t\tshowExclude: false,\n\t\t\texcludeList: [],\n\t\t\tType: \"\",\n\t\t\tCategory: \"\",\n\n\t\t\tuserList: [],\n\t\t\ttagList: [],\n\t\t\tAudienceTagList: props.audienceTypeSelection || [],\n\t\t};\n\t}\n\n\tcomponentDidMount() {\n\t\tconst { custom, disallowSingleUsers, allowTags } = this.props;\n\t\tthis.getUserTypes();\n\t\tif (!disallowSingleUsers) this.getUsers();\n\t\tif (allowTags || custom) this.getUserTags();\n\t}\n\n\tcomponentDidUpdate(prevProps) {\n\t\tconst newState = {};\n\t\tif (prevProps.audienceType !== this.props.audienceType)\n\t\t\tnewState.AudienceType = this.props.audienceType;\n\t\tif (\n\t\t\t!_.isEqual(\n\t\t\t\tprevProps.audienceTypeSelection,\n\t\t\t\tthis.props.audienceTypeSelection,\n\t\t\t)\n\t\t)\n\t\t\tnewState.AudienceTagList = this.props.audienceTypeSelection;\n\t\tif (!_.isEmpty(newState)) this.setState(newState);\n\t}\n\n\tonSubmit() {\n\t\tif (\n\t\t\tthis.state.AudienceType === \"User\" &&\n\t\t\t_.isEmpty(this.state.includeList)\n\t\t) {\n\t\t\tthis.setState({ showInclude: true });\n\t\t}\n\t}\n\n\tgetAudienceType() {\n\t\treturn this.state.AudienceType;\n\t}\n\n\tgetAudienceTypeSelection() {\n\t\tconst { AudienceType, AudienceTagList, Category, Tag, Type } = this.state;\n\t\tif (AudienceType === \"Custom\") return AudienceTagList || [];\n\t\tif (AudienceType === \"Category\") return Category;\n\t\tif (AudienceType === \"UserTags\") return Tag;\n\t\treturn Type;\n\t}\n\n\tgetIncludeList() {\n\t\treturn this.state.includeList;\n\t}\n\n\tgetExcludeList() {\n\t\treturn this.state.excludeList;\n\t}\n\n\tgetUsers() {\n\t\tuserActions\n\t\t\t.fetchUsers(this.props.auth.site)\n\t\t\t.then((res) => {\n\t\t\t\tthis.setState({\n\t\t\t\t\tuserList: res.data.results.Items,\n\t\t\t\t});\n\t\t\t})\n\t\t\t.catch((error) => {});\n\t}\n\n\tgetUserTags() {\n\t\tprofileActions\n\t\t\t.getUserTagsBySite(this.props.auth.site)\n\t\t\t.then((res) => {\n\t\t\t\tthis.setState({\n\t\t\t\t\ttagList: res.data.map((t) => {\n\t\t\t\t\t\treturn { ...t, Key: t.Id };\n\t\t\t\t\t}),\n\t\t\t\t});\n\t\t\t})\n\t\t\t.catch((error) => {});\n\t}\n\n\tsetType(type, selection) {\n\t\tconst newState = { AudienceType: type };\n\t\tif (type === \"Custom\") newState.AudienceTagList = selection;\n\t\tif (type === \"UserType\") newState.Type = selection;\n\t\tif (type === \"Category\") newState.Category = selection;\n\t\tthis.setState(newState);\n\t}\n\n\tonChangeSelection = () => {\n\t\tconst { updateValidation, onChange } = this.props;\n\t\tconst isValid = this.validateAudienceSelection();\n\t\tif (updateValidation) updateValidation(isValid);\n\t\tif (onChange)\n\t\t\tonChange(\n\t\t\t\tthis.getAudienceType(),\n\t\t\t\tthis.getAudienceTypeSelection(),\n\t\t\t\tisValid,\n\t\t\t);\n\t};\n\n\tonChangeOption(type) {\n\t\tthis.setState({\n\t\t\tAudienceType: type,\n\t\t\tType: \"\",\n\t\t\tCategory: \"\",\n\t\t\tincludeList: [],\n\t\t\texcludeList: [],\n\t\t\tAudienceTagList: [],\n\t\t});\n\t\tsetTimeout(this.onChangeSelection, 50);\n\t}\n\n\tgetOptions() {\n\t\tconst options = [\n\t\t\t{\n\t\t\t\tLabel: \"All users\",\n\t\t\t\tValue: \"All\",\n\t\t\t\tonChange: () => this.onChangeOption(\"All\"),\n\t\t\t},\n\t\t];\n\t\tif (this.props.custom) {\n\t\t\toptions.push({\n\t\t\t\tLabel: \"Custom\",\n\t\t\t\tValue: \"Custom\",\n\t\t\t\tonChange: () => this.onChangeOption(\"Custom\"),\n\t\t\t});\n\t\t} else {\n\t\t\toptions.push({\n\t\t\t\tLabel: \"By user category\",\n\t\t\t\tValue: \"Category\",\n\t\t\t\tonChange: () => this.onChangeOption(\"Category\"),\n\t\t\t});\n\t\t}\n\t\tif (!this.props.disallowUserType) {\n\t\t\toptions.push({\n\t\t\t\tLabel: \"By user type\",\n\t\t\t\tValue: \"UserType\",\n\t\t\t\tonChange: () => this.onChangeOption(\"UserType\"),\n\t\t\t});\n\t\t}\n\t\tif (this.props.allowTags) {\n\t\t\toptions.push({\n\t\t\t\tLabel: \"By user tag\",\n\t\t\t\tValue: \"UserTags\",\n\t\t\t\tonChange: () => this.onChangeOption(\"UserTags\"),\n\t\t\t});\n\t\t}\n\t\tif (!this.props.disallowSingleUsers) {\n\t\t\toptions.push({\n\t\t\t\tLabel: \"To single users\",\n\t\t\t\tValue: \"User\",\n\t\t\t\tonChange: () => this.onChangeOption(\"User\"),\n\t\t\t});\n\t\t}\n\t\treturn options;\n\t}\n\n\tvalidateAudienceSelection() {\n\t\tconst { AudienceType, includeList } = this.state;\n\t\tif (AudienceType === \"Custom\" && !this.validateCustom()) return false;\n\t\tif (AudienceType === \"Category\" && !this.validateCategory()) return false;\n\t\tif (AudienceType === \"UserType\" && !this.validateType()) return false;\n\t\tif (AudienceType === \"User\" && _.isEmpty(includeList)) return false;\n\t\tif (AudienceType === \"UserTags\" && !this.validateTag()) return false;\n\t\treturn true;\n\t}\n\n\tselectType(key) {\n\t\tthis.setState({\n\t\t\tType: key,\n\t\t\tincludeList: [],\n\t\t\texcludeList: [],\n\t\t});\n\t\tsetTimeout(this.onChangeSelection, 50);\n\t}\n\n\tgetTypeTitle() {\n\t\tconst typeObject = _.find(this.state.types, (t) => {\n\t\t\treturn t.typeName === this.state.Type;\n\t\t});\n\t\tif (typeObject) {\n\t\t\treturn typeObject.displayName;\n\t\t}\n\t\treturn \"\";\n\t}\n\n\tselectTag = (key) => {\n\t\tthis.setState({\n\t\t\tTag: key,\n\t\t\tincludeList: [],\n\t\t\texcludeList: [],\n\t\t});\n\t\tsetTimeout(this.onChangeSelection, 50);\n\t};\n\n\tgetTagTitle() {\n\t\tconst tag = _.find(this.state.tagList, (t) => {\n\t\t\treturn t.Id === this.state.Tag;\n\t\t});\n\t\tif (tag) {\n\t\t\treturn tag.Title;\n\t\t}\n\t\treturn \"\";\n\t}\n\n\tgetUserTypes() {\n\t\ttypeActions\n\t\t\t.getUserTypes(this.props.auth.site)\n\t\t\t.then((res) => {\n\t\t\t\tthis.props.setAuth({ userTypes: _.cloneDeep(res.data) });\n\t\t\t\tres.data.forEach((e) => {\n\t\t\t\t\te.Title = e.displayName;\n\t\t\t\t\te.Key = e.typeName;\n\n\t\t\t\t\tif (e.category) {\n\t\t\t\t\t\tconst category = _.find(this.state.categories, (c) => {\n\t\t\t\t\t\t\treturn c.Key === e.category;\n\t\t\t\t\t\t});\n\t\t\t\t\t\tconst shortName = category ? `(${category.ShortName}) ` : \"\";\n\t\t\t\t\t\te.Title = `${shortName} ${e.Title}`;\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t\tconst newState = {\n\t\t\t\t\ttypes: res.data,\n\t\t\t\t};\n\t\t\t\tif (!_.some(res.data, (t) => t.category === \"family\")) {\n\t\t\t\t\tnewState.categories = _.filter(\n\t\t\t\t\t\tthis.state.categories,\n\t\t\t\t\t\t(c) => c.Key !== \"family\",\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t\tthis.setState(newState);\n\t\t\t})\n\t\t\t.catch((error) => {});\n\t}\n\n\tgetUserList() {\n\t\tif (this.state.AudienceType === \"UserType\" && !_.isEmpty(this.state.Type)) {\n\t\t\tlet users = [];\n\t\t\tthis.state.userList.forEach((element) => {\n\t\t\t\tif (element.type !== this.state.Type) users.push(element);\n\t\t\t});\n\t\t\treturn _.sortBy(users, \"displayName\");\n\t\t}\n\t\tif (\n\t\t\tthis.state.AudienceType === \"Category\" &&\n\t\t\t!_.isEmpty(this.state.Category)\n\t\t) {\n\t\t\tlet users = [];\n\t\t\tlet types = _.filter(this.state.types, (type) => {\n\t\t\t\treturn type.category === this.state.Category;\n\t\t\t}).map((type) => {\n\t\t\t\treturn type.typeName;\n\t\t\t});\n\t\t\tthis.state.userList.forEach((element) => {\n\t\t\t\tif (types.indexOf(element.type) === -1) {\n\t\t\t\t\tusers.push(element);\n\t\t\t\t}\n\t\t\t});\n\t\t\treturn _.sortBy(users, \"displayName\");\n\t\t}\n\t\treturn _.sortBy(this.state.userList, \"displayName\");\n\t}\n\n\tselectCat(key, e) {\n\t\tthis.setState({\n\t\t\tCategory: key,\n\t\t\tincludeList: [],\n\t\t\texcludeList: [],\n\t\t});\n\t\tsetTimeout(this.onChangeSelection, 50);\n\t}\n\n\tgetCatTitle() {\n\t\tconst typeObject = _.find(this.state.categories, (t) => {\n\t\t\treturn t.Key === this.state.Category;\n\t\t});\n\t\tif (typeObject) {\n\t\t\treturn typeObject.Title;\n\t\t}\n\t\treturn \"\";\n\t}\n\n\tvalidateCustom = () => {\n\t\treturn !_.isEmpty(this.state.AudienceTagList);\n\t};\n\n\tvalidateCategory() {\n\t\treturn (\n\t\t\t!_.isUndefined(this.state.Category) && !_.isEmpty(this.state.Category)\n\t\t);\n\t}\n\n\tvalidateType() {\n\t\treturn !_.isUndefined(this.state.Type) && !_.isEmpty(this.state.Type);\n\t}\n\n\tvalidateTag() {\n\t\treturn !_.isEmpty(this.state.Tag);\n\t}\n\n\tshowUserPickers(isInclude) {\n\t\tif (isInclude && this.state.AudienceType === \"User\") {\n\t\t\treturn true;\n\t\t}\n\t\tif (isInclude && !this.props.allowIncludes) {\n\t\t\treturn false;\n\t\t}\n\t\tif (!isInclude && !this.props.allowExcludes) {\n\t\t\treturn false;\n\t\t}\n\t\tif (isInclude && this.state.AudienceType === \"All\") {\n\t\t\treturn false;\n\t\t}\n\t\tif (!isInclude && this.state.AudienceType === \"User\") {\n\t\t\treturn false;\n\t\t}\n\t\tif (\n\t\t\t(this.state.AudienceType === \"Category\" &&\n\t\t\t\t_.isEmpty(this.state.Category)) ||\n\t\t\t(this.state.AudienceType === \"UserType\" && _.isEmpty(this.state.Type))\n\t\t) {\n\t\t\treturn false;\n\t\t}\n\t\treturn true;\n\t}\n\n\tgetUserExcludeList() {\n\t\tif (this.state.AudienceType === \"UserType\" && !_.isEmpty(this.state.Type)) {\n\t\t\tlet users = [];\n\t\t\tthis.state.userList.forEach((element) => {\n\t\t\t\tif (element.type === this.state.Type) users.push(element);\n\t\t\t});\n\t\t\treturn _.sortBy(users, \"displayName\");\n\t\t}\n\t\tif (\n\t\t\tthis.state.AudienceType === \"Category\" &&\n\t\t\t!_.isEmpty(this.state.Category)\n\t\t) {\n\t\t\tlet users = [];\n\t\t\tlet types = _.filter(this.state.types, (type) => {\n\t\t\t\treturn type.category === this.state.Category;\n\t\t\t}).map((type) => {\n\t\t\t\treturn type.typeName;\n\t\t\t});\n\t\t\tthis.state.userList.forEach((element) => {\n\t\t\t\tif (types.indexOf(element.type) > -1) {\n\t\t\t\t\tusers.push(element);\n\t\t\t\t}\n\t\t\t});\n\t\t\treturn _.sortBy(users, \"displayName\");\n\t\t}\n\t\treturn _.sortBy(this.state.userList, \"displayName\");\n\t}\n\n\taddToInc(user) {\n\t\tlet list = [...this.state.includeList];\n\t\tlist.push({\n\t\t\tId: user.Id,\n\t\t\tdisplayName: user.displayName,\n\t\t\tprofilePic: user.profilePic,\n\t\t});\n\t\tthis.setState({ includeList: list });\n\t\tsetTimeout(this.onChangeSelection, 50);\n\t}\n\n\tremoveUserInc(user) {\n\t\tthis.setState({\n\t\t\tincludeList: _.filter(this.state.includeList, (ev) => {\n\t\t\t\treturn ev.Id !== user.Id;\n\t\t\t}),\n\t\t});\n\t\tsetTimeout(this.onChangeSelection, 50);\n\t}\n\n\taddToEx(user) {\n\t\tlet list = [...this.state.excludeList];\n\t\tlist.push({\n\t\t\tId: user.Id,\n\t\t\tdisplayName: user.displayName,\n\t\t\tprofilePic: user.profilePic,\n\t\t});\n\t\tthis.setState({ excludeList: list });\n\t}\n\n\tremoveUserEx(user) {\n\t\tthis.setState({\n\t\t\texcludeList: _.filter(this.state.excludeList, (ev) => {\n\t\t\t\treturn ev.Id !== user.Id;\n\t\t\t}),\n\t\t});\n\t}\n\n\tgetAvailableAudienceTags = (includeSelected = false) => {\n\t\tconst { categories, types, tagList, AudienceTagList } = this.state;\n\t\tconst categoryTags = categories.map((c) => {\n\t\t\treturn {\n\t\t\t\tAudienceType: \"Category\",\n\t\t\t\tAudienceTypeSelection: c.Key,\n\t\t\t\tId: `category_${c.Key}`,\n\t\t\t\tTitle: c.Title,\n\t\t\t};\n\t\t});\n\t\tconst userTypeTags = types.map((t) => {\n\t\t\treturn {\n\t\t\t\tAudienceType: \"UserType\",\n\t\t\t\tAudienceTypeSelection: t.typeName,\n\t\t\t\tId: `userType_${t.typeName}`,\n\t\t\t\tTitle: `User Type: ${t.displayName}`,\n\t\t\t};\n\t\t});\n\t\tconst userTagTags = tagList.map((t) => {\n\t\t\treturn {\n\t\t\t\tAudienceType: \"UserTags\",\n\t\t\t\tAudienceTypeSelection: t.Id,\n\t\t\t\tId: `userTag_${t.Id}`,\n\t\t\t\tTitle: `User Tag: ${t.Title}`,\n\t\t\t};\n\t\t});\n\t\tconst result = [...categoryTags, ...userTypeTags, ...userTagTags];\n\t\treturn includeSelected\n\t\t\t? result\n\t\t\t: result.filter((t) => !_.some(AudienceTagList, (at) => at.Id === t.Id));\n\t};\n\n\tonAttachAudienceTag = (tag) => {\n\t\tconst AudienceTagList = [...this.state.AudienceTagList, tag];\n\t\tthis.setState({ AudienceTagList }, this.onChangeSelection);\n\t};\n\n\tonDetachAudienceTag = (tag) => {\n\t\tconst AudienceTagList = _.filter(\n\t\t\tthis.state.AudienceTagList,\n\t\t\t(at) => at.Id !== tag.Id,\n\t\t);\n\t\tthis.setState({ AudienceTagList }, this.onChangeSelection);\n\t};\n\n\trenderExcludes() {\n\t\tif (!this.showUserPickers(false)) {\n\t\t\treturn null;\n\t\t}\n\t\treturn (\n\t\t\t<div key=\"excludes\" className=\"marginTop-16\">\n\t\t\t\t<div\n\t\t\t\t\tclassName=\"flex flex-between pointer\"\n\t\t\t\t\tonClick={() => {\n\t\t\t\t\t\tthis.setState({ showExclude: !this.state.showExclude });\n\t\t\t\t\t}}\n\t\t\t\t>\n\t\t\t\t\t<div className=\"flex\">\n\t\t\t\t\t\t<Text type=\"formTitleSmall\" className=\"marginBottom-16\">\n\t\t\t\t\t\t\tExclude Users From Selection{\" \"}\n\t\t\t\t\t\t\t{`(${this.state.excludeList.length})`}\n\t\t\t\t\t\t</Text>\n\t\t\t\t\t</div>\n\t\t\t\t\t<Icon\n\t\t\t\t\t\tstyle={{ color: COLOUR_DUSK, fontSize: 12 }}\n\t\t\t\t\t\ticon={\n\t\t\t\t\t\t\tthis.state.showExclude\n\t\t\t\t\t\t\t\t? `fa-${\"chevron-up\"}`\n\t\t\t\t\t\t\t\t: `fa-${\"chevron-down\"}`\n\t\t\t\t\t\t}\n\t\t\t\t\t/>\n\t\t\t\t</div>\n\t\t\t\t{this.state.showExclude && (\n\t\t\t\t\t<AudienceIncluder\n\t\t\t\t\t\tadd={this.addToEx.bind(this)}\n\t\t\t\t\t\tremove={this.removeUserEx.bind(this)}\n\t\t\t\t\t\tselectionList={this.state.excludeList}\n\t\t\t\t\t\tuserList={this.getUserExcludeList()}\n\t\t\t\t\t/>\n\t\t\t\t)}\n\t\t\t</div>\n\t\t);\n\t}\n\n\trenderIncludes() {\n\t\tif (!this.showUserPickers(true)) {\n\t\t\treturn null;\n\t\t}\n\t\treturn (\n\t\t\t<div key=\"includes\" className=\"marginTop-16\">\n\t\t\t\t<div\n\t\t\t\t\tclassName=\"flex flex-between pointer\"\n\t\t\t\t\tonClick={() => {\n\t\t\t\t\t\tthis.setState({ showInclude: !this.state.showInclude });\n\t\t\t\t\t}}\n\t\t\t\t>\n\t\t\t\t\t<div className=\"flex\">\n\t\t\t\t\t\t<Text type=\"formTitleSmall\" className=\"marginBottom-16\">\n\t\t\t\t\t\t\t{this.state.AudienceType !== \"User\" ? \"Add Other\" : \"Select\"}{\" \"}\n\t\t\t\t\t\t\tUsers {`(${this.state.includeList.length})`}\n\t\t\t\t\t\t</Text>\n\t\t\t\t\t</div>\n\t\t\t\t\t<Icon\n\t\t\t\t\t\tstyle={{ color: COLOUR_DUSK, fontSize: 12 }}\n\t\t\t\t\t\ticon={\n\t\t\t\t\t\t\tthis.state.showInclude\n\t\t\t\t\t\t\t\t? `fa-${\"chevron-up\"}`\n\t\t\t\t\t\t\t\t: `fa-${\"chevron-down\"}`\n\t\t\t\t\t\t}\n\t\t\t\t\t/>\n\t\t\t\t</div>\n\t\t\t\t{this.state.showInclude && (\n\t\t\t\t\t<AudienceIncluder\n\t\t\t\t\t\tadd={this.addToInc.bind(this)}\n\t\t\t\t\t\tremove={this.removeUserInc.bind(this)}\n\t\t\t\t\t\tselectionList={this.state.includeList}\n\t\t\t\t\t\tuserList={this.getUserList()}\n\t\t\t\t\t/>\n\t\t\t\t)}\n\t\t\t</div>\n\t\t);\n\t}\n\n\trenderAssignedAudiences() {\n\t\tconst { AudienceTagList } = this.state;\n\t\tconst { maxWidth } = this.props;\n\n\t\treturn (\n\t\t\t<div className=\"selectedAudienceTags\" style={{ maxWidth }}>\n\t\t\t\t{_.isEmpty(AudienceTagList) && (\n\t\t\t\t\t<Text type=\"body\" className=\"text-italic\">\n\t\t\t\t\t\tNo audiences selected\n\t\t\t\t\t</Text>\n\t\t\t\t)}\n\t\t\t\t{AudienceTagList.map((t) => {\n\t\t\t\t\treturn (\n\t\t\t\t\t\t<Tag\n\t\t\t\t\t\t\tkey={t.Id}\n\t\t\t\t\t\t\tclassName=\"marginLeft-16 marginBottom-8\"\n\t\t\t\t\t\t\ttext={t.Title}\n\t\t\t\t\t\t\trightIcon=\"xmark\"\n\t\t\t\t\t\t\trightClick={() => this.onDetachAudienceTag(t)}\n\t\t\t\t\t\t/>\n\t\t\t\t\t);\n\t\t\t\t})}\n\t\t\t</div>\n\t\t);\n\t}\n\n\trenderAvailableAudiences() {\n\t\tconst { maxWidth } = this.props;\n\t\tconst tags = this.getAvailableAudienceTags();\n\n\t\treturn (\n\t\t\t<div className=\"availableAudienceTags\" style={{ maxWidth }}>\n\t\t\t\t{tags.map((t) => {\n\t\t\t\t\treturn (\n\t\t\t\t\t\t<Tag\n\t\t\t\t\t\t\tkey={t.Id}\n\t\t\t\t\t\t\tclassName=\"marginLeft-16 marginBottom-8\"\n\t\t\t\t\t\t\ttext={t.Title}\n\t\t\t\t\t\t\tonClick={() => this.onAttachAudienceTag(t)}\n\t\t\t\t\t\t/>\n\t\t\t\t\t);\n\t\t\t\t})}\n\t\t\t</div>\n\t\t);\n\t}\n\n\trenderCustom() {\n\t\tif (this.state.AudienceType !== \"Custom\") return null;\n\n\t\treturn (\n\t\t\t<div className=\"optionsContent_bottom\">\n\t\t\t\t<Text type=\"formLabel\">Selected Audience</Text>\n\t\t\t\t{this.renderAssignedAudiences()}\n\t\t\t\t<Text type=\"formLabel\" className=\"marginTop-32\">\n\t\t\t\t\tSelect Audience\n\t\t\t\t</Text>\n\t\t\t\t{this.renderAvailableAudiences()}\n\t\t\t</div>\n\t\t);\n\t}\n\n\trender() {\n\t\treturn (\n\t\t\t<div>\n\t\t\t\t{/* <div className={this.props.className || 'padding-32 paddingVertical-40 bottomDivideBorder'}> */}\n\t\t\t\t<Text type=\"formTitleSmall\" className=\"marginBottom-16\">\n\t\t\t\t\t{this.props.title || \"Target Audience\"}\n\t\t\t\t</Text>\n\t\t\t\t<RadioButton\n\t\t\t\t\tisActive={this.state.AudienceType}\n\t\t\t\t\trowStyle={{ flexDirection: \"column\" }}\n\t\t\t\t\tbuttonStyle={{ marginBottom: 8 }}\n\t\t\t\t\toptions={this.getOptions()}\n\t\t\t\t\tdisabled={this.props.disabled}\n\t\t\t\t/>\n\t\t\t\t{this.state.AudienceType === \"Category\" && (\n\t\t\t\t\t<DropdownInput\n\t\t\t\t\t\tid=\"typeSelect\"\n\t\t\t\t\t\t// label='User Category'\n\t\t\t\t\t\talwaysShowLabel\n\t\t\t\t\t\tplaceholder=\"User Category\"\n\t\t\t\t\t\tvalue={this.getCatTitle()}\n\t\t\t\t\t\tisValid={() => {\n\t\t\t\t\t\t\treturn this.validateCategory();\n\t\t\t\t\t\t}}\n\t\t\t\t\t\tshowError={() => {\n\t\t\t\t\t\t\treturn this.state.showWarnings && !this.validateCategory();\n\t\t\t\t\t\t}}\n\t\t\t\t\t\toptions={this.state.categories}\n\t\t\t\t\t\tonSelect={this.selectCat.bind(this)}\n\t\t\t\t\t\tstyle={{ width: 325, marginTop: 16 }}\n\t\t\t\t\t\tisRequired\n\t\t\t\t\t\tdisabled={this.props.disabled}\n\t\t\t\t\t/>\n\t\t\t\t)}\n\t\t\t\t{this.state.AudienceType === \"UserType\" && (\n\t\t\t\t\t<DropdownInput\n\t\t\t\t\t\tid=\"typeSelect\"\n\t\t\t\t\t\t// label='User Type'\n\t\t\t\t\t\talwaysShowLabel\n\t\t\t\t\t\tplaceholder=\"User Type\"\n\t\t\t\t\t\tvalue={this.getTypeTitle()}\n\t\t\t\t\t\tisValid={() => {\n\t\t\t\t\t\t\treturn this.validateType();\n\t\t\t\t\t\t}}\n\t\t\t\t\t\tshowError={() => {\n\t\t\t\t\t\t\treturn this.state.showWarnings && !this.validateType();\n\t\t\t\t\t\t}}\n\t\t\t\t\t\toptions={this.state.types}\n\t\t\t\t\t\tonSelect={this.selectType.bind(this)}\n\t\t\t\t\t\tstyle={{ width: 325, marginTop: 16 }}\n\t\t\t\t\t\tisRequired\n\t\t\t\t\t\tdisabled={this.props.disabled}\n\t\t\t\t\t/>\n\t\t\t\t)}\n\t\t\t\t{this.state.AudienceType === \"UserTags\" && (\n\t\t\t\t\t<DropdownInput\n\t\t\t\t\t\tid=\"tagSelect\"\n\t\t\t\t\t\talwaysShowLabel\n\t\t\t\t\t\tplaceholder=\"User Tag\"\n\t\t\t\t\t\tvalue={this.getTagTitle()}\n\t\t\t\t\t\tisValid={() => {\n\t\t\t\t\t\t\treturn this.validateTag();\n\t\t\t\t\t\t}}\n\t\t\t\t\t\tshowError={() => {\n\t\t\t\t\t\t\treturn this.state.showWarnings && !this.validateTag();\n\t\t\t\t\t\t}}\n\t\t\t\t\t\toptions={this.state.tagList}\n\t\t\t\t\t\tonSelect={this.selectTag}\n\t\t\t\t\t\tstyle={{ width: 325, marginTop: 16 }}\n\t\t\t\t\t\tisRequired\n\t\t\t\t\t\tdisabled={this.props.disabled}\n\t\t\t\t\t/>\n\t\t\t\t)}\n\t\t\t\t{/* </div> */}\n\t\t\t\t{this.renderIncludes()}\n\t\t\t\t{this.renderExcludes()}\n\t\t\t\t{this.renderCustom()}\n\t\t\t</div>\n\t\t);\n\t}\n}\n\nconst toExport = connect(null, { setAuth }, null, { forwardRef: true })(\n\tAudienceSelector,\n);\n\nexport { toExport as AudienceSelector };\n","import React, { Component } from \"react\";\nimport { Button } from \"./Button\";\nimport { COLOUR_BRANDING_MAIN } from \"../colours\";\n\nclass TextFormatPopup extends Component {\n\trender() {\n\t\tif (!this.props.isOpen) {\n\t\t\treturn null;\n\t\t}\n\t\treturn (\n\t\t\t<div className=\"successPopupBackground pointer\">\n\t\t\t\t<div className=\"successPopup\">\n\t\t\t\t\t<p className={`successPopup_text successPopup_text-small`}>\n\t\t\t\t\t\t<br />\n\t\t\t\t\t\t<span style={{ fontWeight: 600 }}>Text formatting:</span>\n\t\t\t\t\t\t<br />\n\t\t\t\t\t\t<br />\n\t\t\t\t\t\tSurround text with <span style={{ fontWeight: 400 }}>**</span> to\n\t\t\t\t\t\tcreate bold text:\n\t\t\t\t\t\t<br />\n\t\t\t\t\t\t<span style={{ fontWeight: 400 }}>**</span>Some Text\n\t\t\t\t\t\t<span style={{ fontWeight: 400 }}>**</span> ={\" \"}\n\t\t\t\t\t\t<span style={{ fontWeight: 600 }}>Some Text</span>\n\t\t\t\t\t\t<br />\n\t\t\t\t\t\t<br />\n\t\t\t\t\t\tSurround text with <span style={{ fontWeight: 400 }}>*t*</span> to\n\t\t\t\t\t\tcreate a title:\n\t\t\t\t\t\t<br />\n\t\t\t\t\t\t<span style={{ fontWeight: 400 }}>*t*</span>Some Text\n\t\t\t\t\t\t<span style={{ fontWeight: 400 }}>*t*</span> ={\" \"}\n\t\t\t\t\t\t<span\n\t\t\t\t\t\t\tstyle={{\n\t\t\t\t\t\t\t\tfontWeight: 600,\n\t\t\t\t\t\t\t\tcolor: COLOUR_BRANDING_MAIN,\n\t\t\t\t\t\t\t\tfontSize: 20,\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\tSome Text\n\t\t\t\t\t\t</span>\n\t\t\t\t\t\t<br />\n\t\t\t\t\t\t<br />\n\t\t\t\t\t\tSurround text with <span style={{ fontWeight: 400 }}>*s*</span> to\n\t\t\t\t\t\tcreate a smaller title:\n\t\t\t\t\t\t<br />\n\t\t\t\t\t\t<span style={{ fontWeight: 400 }}>*s*</span>Some Text\n\t\t\t\t\t\t<span style={{ fontWeight: 400 }}>*s*</span> ={\" \"}\n\t\t\t\t\t\t<span style={{ fontWeight: 600, fontSize: 16 }}>Some Text</span>\n\t\t\t\t\t\t<br />\n\t\t\t\t\t\t<br />\n\t\t\t\t\t\tCreate links with{\" \"}\n\t\t\t\t\t\t<span style={{ fontWeight: 400 }}>[website|text]</span>:\n\t\t\t\t\t\t<br />\n\t\t\t\t\t\t<span style={{ fontWeight: 400 }}>\n\t\t\t\t\t\t\t[https://example.com|Click here]\n\t\t\t\t\t\t</span>{\" \"}\n\t\t\t\t\t\t={\" \"}\n\t\t\t\t\t\t<a\n\t\t\t\t\t\t\thref=\"https://example.com\"\n\t\t\t\t\t\t\ttarget=\"_blank\"\n\t\t\t\t\t\t\trel=\"noopener noreferrer\"\n\t\t\t\t\t\t\tstyle={{ fontWeight: 600, fontSize: 16 }}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\tClick here\n\t\t\t\t\t\t</a>\n\t\t\t\t\t</p>\n\t\t\t\t\t<div className=\"successPopup_buttons\">\n\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\tbuttonClassName=\"successPopup_button\"\n\t\t\t\t\t\t\tbuttonType=\"primary\"\n\t\t\t\t\t\t\tisActive\n\t\t\t\t\t\t\tonClick={this.props.onClose}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\tClose\n\t\t\t\t\t\t</Button>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t);\n\t}\n}\n\nexport { TextFormatPopup };\n","import React, { Component } from \"react\";\nimport _ from \"lodash\";\nimport { COLOUR_BRANDING_MAIN } from \"../colours\";\nimport { Icon } from \"@plusscommunities/pluss-icons\";\nimport { Text } from \"./Text\";\n\nclass OptionsSection extends Component {\n\tgetSelectedOption() {\n\t\treturn _.find(this.props.options, (o) => this.props.selected === o.key);\n\t}\n\n\tgetTitle() {\n\t\tconst selectedOption = this.getSelectedOption();\n\t\tif (!selectedOption) {\n\t\t\treturn \"\";\n\t\t}\n\t\treturn selectedOption.text;\n\t}\n\n\trenderOptionButton(o) {\n\t\tconst isSelected = this.props.selected === o.key;\n\t\treturn (\n\t\t\t<div\n\t\t\t\tclassName={`optionsButton${isSelected ? \" optionsButton-selected\" : \"\"}`}\n\t\t\t\tkey={o.key}\n\t\t\t\tonClick={() => {\n\t\t\t\t\tthis.props.selectOption(o.key);\n\t\t\t\t}}\n\t\t\t>\n\t\t\t\t<div className=\"optionsButton_iconContainer\">\n\t\t\t\t\t<Icon className=\"optionsButton_icon\" icon={o.icon} />\n\t\t\t\t</div>\n\t\t\t\t<Text type=\"formLabelSmall\" className=\"optionsButton_text\">\n\t\t\t\t\t{o.text}\n\t\t\t\t</Text>\n\t\t\t</div>\n\t\t);\n\t}\n\n\trenderContent() {\n\t\tconst selectedOption = this.getSelectedOption();\n\t\tif (selectedOption && selectedOption.content) {\n\t\t\treturn selectedOption.content;\n\t\t}\n\t\treturn this.props.children;\n\t}\n\n\trender() {\n\t\treturn (\n\t\t\t<div\n\t\t\t\tclassName={`optionsSection${this.props.overflowButtons ? \" optionsSection-overflowButtons\" : \"\"}`}\n\t\t\t>\n\t\t\t\t<div className=\"optionsSection_banner\">\n\t\t\t\t\t<div className=\"optionsSection_banner_top\">\n\t\t\t\t\t\t<Text\n\t\t\t\t\t\t\ttype=\"formTitleMedium\"\n\t\t\t\t\t\t\tclassName=\"optionsSection_banner_top_title\"\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\tMore Options\n\t\t\t\t\t\t</Text>\n\t\t\t\t\t</div>\n\t\t\t\t\t<div className=\"optionsSection_banner_buttonSection\">\n\t\t\t\t\t\t{this.props.options.map((o) => {\n\t\t\t\t\t\t\treturn this.renderOptionButton(o);\n\t\t\t\t\t\t})}\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t\t<div className=\"optionsContent\">\n\t\t\t\t\t<div className=\"optionsContent_box\">\n\t\t\t\t\t\t<div className=\"optionsContent_box_top\">\n\t\t\t\t\t\t\t<Text type=\"formTitleSmall\">{this.getTitle()}</Text>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t\t{this.renderContent()}\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t);\n\t}\n}\n\nexport { OptionsSection };\n","import React, { Component } from \"react\";\nimport { connect } from \"react-redux\";\nimport Lottie from \"react-lottie\";\nimport _ from \"lodash\";\nimport { unauthedFunction } from \"../session\";\nimport { Popup } from \"./Popup\";\nimport { GenericInput } from \"./GenericInput\";\nimport { Text } from \"./Text\";\nimport { Button } from \"./Button\";\nimport { DropdownInput } from \"./DropdownInput\";\nimport { typeActions, utilityActions } from \"../apis\";\nimport Config from \"../config\";\nimport { COLOUR_BRANDING_APP } from \"../colours\";\nimport { getPluralOptions } from \"../helper\";\n\nclass MakerPopup extends Component {\n\tconstructor(props) {\n\t\tsuper(props);\n\n\t\tthis.sizes = [\n\t\t\t{ Key: \"A3\", Title: \"A3\" },\n\t\t\t{ Key: \"A4\", Title: \"A4\" },\n\t\t\t{ Key: \"A5\", Title: \"A5\" },\n\t\t];\n\t\tthis.formats = [\n\t\t\t{ Key: \"pdf\", Title: \"PDF\" },\n\t\t\t{ Key: \"png\", Title: \"PNG\" },\n\t\t\t{ Key: \"jpg\", Title: \"JPEG\" },\n\t\t];\n\n\t\tthis.lottieAnimationUrl =\n\t\t\t\"https://pluss-prd-media.s3-ap-southeast-2.amazonaws.com/assets/lottie-layout.json\";\n\n\t\tthis.state = {\n\t\t\t...this.props.initialData,\n\t\t\tlogo: null,\n\t\t\tcolour: null,\n\t\t\tsubmitting: false,\n\t\t\tloadingBranding: true,\n\t\t\tasset: null,\n\t\t\tselectedSize: \"A4\",\n\t\t\tselectedFormat: \"pdf\",\n\t\t\tlottieConfig: {\n\t\t\t\tloop: true,\n\t\t\t\tautoplay: true,\n\t\t\t\tname: \"lottie-layout\",\n\t\t\t},\n\t\t};\n\t}\n\n\tcomponentDidMount() {\n\t\tthis.getBranding();\n\t\tthis.getLottieConfig();\n\t}\n\n\tgetBranding() {\n\t\ttypeActions.getSiteBranding(this.props.auth.site).then((res) => {\n\t\t\tconsole.log(res.data);\n\t\t\tthis.setState({\n\t\t\t\tloadingBranding: false,\n\t\t\t\tsiteName: res.data.Name,\n\t\t\t\tcolour: res.data.MainBrandingColour || COLOUR_BRANDING_APP,\n\t\t\t\tlogo: res.data.Logo || Config.env.logo,\n\t\t\t\theaderType: res.data.HeaderType || \"white\",\n\t\t\t});\n\t\t});\n\t}\n\n\tgetLottieConfig() {\n\t\tunauthedFunction({\n\t\t\tmethod: \"GET\",\n\t\t\turl: this.lottieAnimationUrl,\n\t\t}).then((res) => {\n\t\t\tthis.setState({\n\t\t\t\tlottieConfig: {\n\t\t\t\t\t...this.state.lottieConfig,\n\t\t\t\t\tanimationData: res.data,\n\t\t\t\t},\n\t\t\t});\n\t\t});\n\t}\n\n\thandleChange(key, value) {\n\t\tthis.setState({ [key]: value });\n\t}\n\n\tselectSize = (size) => {\n\t\tthis.setState({\n\t\t\tselectedSize: size,\n\t\t});\n\t};\n\n\tgetSelectedSizeTitle = () => {\n\t\treturn _.find(this.sizes, (f) => {\n\t\t\treturn f.Key === this.state.selectedSize;\n\t\t}).Title;\n\t};\n\n\tselectFormat = (format) => {\n\t\tthis.setState({\n\t\t\tselectedFormat: format,\n\t\t});\n\t};\n\n\tgetSelectedFormatTitle = () => {\n\t\treturn _.find(this.formats, (f) => {\n\t\t\treturn f.Key === this.state.selectedFormat;\n\t\t}).Title;\n\t};\n\n\tcompileData = () => {\n\t\tconst result = {};\n\t\tthis.props.inputs.forEach((input) => {\n\t\t\tresult[input.key] = this.state[input.key];\n\t\t});\n\t\tresult.colour = this.state.colour;\n\t\tresult.logo = this.state.logo;\n\t\tresult.headerType = this.state.headerType;\n\t\treturn { ...result, ...this.props.requestData };\n\t};\n\n\tcompileRequestData = () => {\n\t\tconst result = {};\n\n\t\tif (!this.props.hideFormat) {\n\t\t\tresult.format = this.state.selectedFormat;\n\t\t}\n\t\tif (!this.props.hideSize) {\n\t\t\tresult.size = this.state.selectedSize;\n\t\t}\n\t\treturn { ...result, ...this.props.requestData, data: this.compileData() };\n\t};\n\n\tisReadyToSubmit = () => {\n\t\tif (this.state.loadingBranding) {\n\t\t\treturn false;\n\t\t}\n\t\tif (this.state.submitting) {\n\t\t\treturn false;\n\t\t}\n\t\treturn true;\n\t};\n\n\tonGenerateAsset = () => {\n\t\tif (!this.isReadyToSubmit()) {\n\t\t\treturn;\n\t\t}\n\t\tconst data = this.compileRequestData();\n\t\tthis.setState({\n\t\t\tsubmitting: true,\n\t\t});\n\n\t\tutilityActions\n\t\t\t.generateMake(this.props.templateId, data)\n\t\t\t.then((res) => {\n\t\t\t\tthis.setState({\n\t\t\t\t\tsubmitting: false,\n\t\t\t\t\tasset: res.data.resultUrl,\n\t\t\t\t});\n\t\t\t})\n\t\t\t.catch((err) => {\n\t\t\t\tthis.setState({\n\t\t\t\t\tsubmitting: false,\n\t\t\t\t});\n\t\t\t});\n\t};\n\n\tdownloadAsset = () => {\n\t\twindow.open(this.state.asset, \"_blank\");\n\t};\n\n\tgetButtons() {\n\t\tif (this.state.submitting) {\n\t\t\treturn [];\n\t\t}\n\t\tif (this.state.asset) {\n\t\t\treturn [\n\t\t\t\t{\n\t\t\t\t\ttype: \"tertiary\",\n\t\t\t\t\tonClick: this.props.onClose,\n\t\t\t\t\tisActive: true,\n\t\t\t\t\ttext: \"Done\",\n\t\t\t\t},\n\t\t\t];\n\t\t}\n\t\treturn [\n\t\t\t{\n\t\t\t\ttype: \"primary\",\n\t\t\t\tonClick: this.onGenerateAsset,\n\t\t\t\tisActive: this.isReadyToSubmit(),\n\t\t\t\ttext: \"Create\",\n\t\t\t},\n\t\t\t{\n\t\t\t\ttype: \"tertiary\",\n\t\t\t\tonClick: this.props.onClose,\n\t\t\t\tisActive: true,\n\t\t\t\ttext: \"Cancel\",\n\t\t\t},\n\t\t];\n\t}\n\n\trenderInput(input) {\n\t\tif (input.type === \"array\") {\n\t\t\treturn (\n\t\t\t\t<div className=\"marginTop-16\">\n\t\t\t\t\t<Text type=\"formLabel\">{input.title}</Text>\n\t\t\t\t\t<Text type=\"body\">\n\t\t\t\t\t\t{this.state[input.key].length}{\" \"}\n\t\t\t\t\t\t{getPluralOptions(this.state[input.key].length, \"entry\", \"entries\")}\n\t\t\t\t\t</Text>\n\t\t\t\t</div>\n\t\t\t);\n\t\t}\n\t\treturn (\n\t\t\t<GenericInput\n\t\t\t\tkey={input.key}\n\t\t\t\tid={`maker_${input.key}`}\n\t\t\t\ttype={input.type}\n\t\t\t\tlabel={input.title}\n\t\t\t\tvalue={this.state[input.key]}\n\t\t\t\tonChange={(e) => this.setState({ [input.key]: e.target.value })}\n\t\t\t\talwaysShowLabel\n\t\t\t\tdisabled={input.readOnly}\n\t\t\t\tplaceholder={input.placeholder}\n\t\t\t/>\n\t\t);\n\t}\n\n\trenderContent() {\n\t\tif (this.state.submitting) {\n\t\t\treturn (\n\t\t\t\t<div className=\"flex flex-column flex-center\">\n\t\t\t\t\t{this.state.lottieConfig.animationData && (\n\t\t\t\t\t\t<Lottie\n\t\t\t\t\t\t\tkey=\"lottie-layout\"\n\t\t\t\t\t\t\theight={260}\n\t\t\t\t\t\t\twidth={260}\n\t\t\t\t\t\t\toptions={this.state.lottieConfig}\n\t\t\t\t\t\t\tisClickToPauseDisabled\n\t\t\t\t\t\t/>\n\t\t\t\t\t)}\n\t\t\t\t\t<Text type=\"h3\" className=\"marginTop-16\">\n\t\t\t\t\t\tGenerating\n\t\t\t\t\t</Text>\n\t\t\t\t</div>\n\t\t\t);\n\t\t}\n\t\tif (this.state.asset) {\n\t\t\treturn (\n\t\t\t\t<div>\n\t\t\t\t\t<Text type=\"h4\">Your file is ready</Text>\n\t\t\t\t\t<Button\n\t\t\t\t\t\tleftIcon=\"download\"\n\t\t\t\t\t\tbuttonType=\"primary\"\n\t\t\t\t\t\tonClick={this.downloadAsset}\n\t\t\t\t\t\tisActive\n\t\t\t\t\t\tclassName=\"marginTop-16\"\n\t\t\t\t\t>\n\t\t\t\t\t\tDownload\n\t\t\t\t\t</Button>\n\t\t\t\t</div>\n\t\t\t);\n\t\t}\n\t\treturn (\n\t\t\t<div>\n\t\t\t\t{!this.props.hideSize && (\n\t\t\t\t\t<DropdownInput\n\t\t\t\t\t\tid=\"size\"\n\t\t\t\t\t\tlabel=\"Size\"\n\t\t\t\t\t\tplaceholder=\"Size\"\n\t\t\t\t\t\tvalue={this.getSelectedSizeTitle()}\n\t\t\t\t\t\toptions={this.sizes}\n\t\t\t\t\t\tonSelect={this.selectSize}\n\t\t\t\t\t/>\n\t\t\t\t)}\n\t\t\t\t{!this.props.hideFormat && (\n\t\t\t\t\t<DropdownInput\n\t\t\t\t\t\tid=\"format\"\n\t\t\t\t\t\tlabel=\"Format\"\n\t\t\t\t\t\tplaceholder=\"Format\"\n\t\t\t\t\t\tvalue={this.getSelectedFormatTitle()}\n\t\t\t\t\t\toptions={this.formats}\n\t\t\t\t\t\tonSelect={this.selectFormat}\n\t\t\t\t\t/>\n\t\t\t\t)}\n\t\t\t\t{this.props.inputs.map((input) => {\n\t\t\t\t\treturn this.renderInput(input);\n\t\t\t\t})}\n\t\t\t</div>\n\t\t);\n\t}\n\n\trender() {\n\t\treturn (\n\t\t\t<Popup\n\t\t\t\ttitle={this.props.title}\n\t\t\t\tbuttons={this.getButtons()}\n\t\t\t\tonClose={this.props.onClose}\n\t\t\t\thasPadding\n\t\t\t\tminWidth={this.props.minWidth}\n\t\t\t\tmaxWidth={this.props.maxWidth}\n\t\t\t\tminHeight={this.props.minHeight}\n\t\t\t\tmaxHeight={this.props.maxHeight}\n\t\t\t>\n\t\t\t\t{this.renderContent()}\n\t\t\t</Popup>\n\t\t);\n\t}\n}\n\nconst mapStateToProps = (state) => {\n\treturn { auth: state.auth };\n};\n\nlet exportObj = connect(mapStateToProps, {})(MakerPopup);\n\nexport { exportObj as MakerPopup };\n","import React, { Component } from \"react\";\nimport _ from \"lodash\";\nimport moment from \"moment\";\nimport { Icon } from \"@plusscommunities/pluss-icons\";\nimport { CSVLink } from \"react-csv\";\nimport { Popup } from \"./Popup\";\nimport { CheckBox } from \"./CheckBox\";\nimport { GenericInput } from \"./GenericInput\";\nimport { DatePicker } from \"./DatePicker\";\nimport { Text } from \"./Text\";\n\nclass ExportCsvPopup extends Component {\n\tconstructor(props) {\n\t\tsuper(props);\n\n\t\tconst state = {\n\t\t\tcolumns: props.columns,\n\t\t\tselectedHeaders: props.columns.filter((c) => c.key && c.selected),\n\t\t\tselectedSource: [],\n\t\t\tsaving: false,\n\t\t};\n\n\t\tif (props.timestampFilter) {\n\t\t\tstate.filterDateStart = props.timestampFilter.startDate;\n\t\t\tstate.filterDateEnd = props.timestampFilter.endDate;\n\t\t}\n\n\t\tthis.state = state;\n\t}\n\n\tcanSave = () => {\n\t\treturn _.some(this.state.columns, (c) => c.selected);\n\t};\n\n\tonConfirm = () => {\n\t\treturn this.canSave();\n\t};\n\n\tonClose = () => {\n\t\tif (this.props.onClose) this.props.onClose();\n\t};\n\n\tonToggleColumn = (key) => {\n\t\tconst columns = _.cloneDeep(this.state.columns);\n\t\tconst column = columns.find((c) => c.key === key);\n\t\tif (column) {\n\t\t\tcolumn.selected = !column.selected;\n\t\t\tif (!column.key) columns.map((c) => (c.selected = column.selected)); // Toggle all\n\t\t\tconst selectedHeaders = columns.filter((c) => c.key && c.selected);\n\t\t\tthis.setState({ columns, selectedHeaders });\n\t\t}\n\t};\n\n\tonToggleStartDateFilter = () => {\n\t\tconst { filterDateStartVisible } = this.state;\n\t\tif (filterDateStartVisible) {\n\t\t\tsetTimeout(() => this.setState({ filterDateStartVisible: false }), 200);\n\t\t} else {\n\t\t\tthis.setState({ filterDateStartVisible: true });\n\t\t}\n\t};\n\n\tonToggleEndDateFilter = () => {\n\t\tconst { filterDateEndVisible } = this.state;\n\t\tif (filterDateEndVisible) {\n\t\t\tsetTimeout(() => this.setState({ filterDateEndVisible: false }), 200);\n\t\t} else {\n\t\t\tthis.setState({ filterDateEndVisible: true });\n\t\t}\n\t};\n\n\tonDateFilterStartChanged = (date) => {\n\t\tconst { filterDateEnd } = this.state;\n\t\tconst start = moment(date);\n\t\tif (start.isSameOrBefore(filterDateEnd)) {\n\t\t\tthis.setState({\n\t\t\t\tfilterDateStart: start.startOf(\"day\"),\n\t\t\t\tfilterDateStartVisible: false,\n\t\t\t});\n\t\t}\n\t};\n\n\tonDateFilterEndChanged = (date) => {\n\t\tconst { filterDateStart } = this.state;\n\t\tconst end = moment(date);\n\t\tif (end.isSameOrAfter(filterDateStart)) {\n\t\t\tthis.setState({\n\t\t\t\tfilterDateEnd: end.endOf(\"day\"),\n\t\t\t\tfilterDateEndVisible: false,\n\t\t\t});\n\t\t}\n\t};\n\n\tgetSelectedSource = () => {\n\t\tconst { source } = this.props;\n\t\tconst { selectedHeaders } = this.state;\n\n\t\tlet result = source;\n\n\t\t// apply timestamp filter\n\t\tif (this.props.timestampFilter) {\n\t\t\tconst { filterDateStart, filterDateEnd } = this.state;\n\t\t\tconst { filterKey } = this.props.timestampFilter;\n\t\t\tconst minDate = filterDateStart.valueOf();\n\t\t\tconst maxDate = filterDateEnd.valueOf();\n\t\t\tresult = _.filter(source, (item) => {\n\t\t\t\treturn item[filterKey] >= minDate && item[filterKey] <= maxDate;\n\t\t\t});\n\t\t}\n\n\t\t// map result to columns\n\t\tconst selectedheaderKeys = selectedHeaders.map((h) => h.key);\n\t\treturn result.map((i) => _.pick(i, selectedheaderKeys));\n\t};\n\n\trenderTimestampFilter = () => {\n\t\tif (!this.props.timestampFilter) {\n\t\t\treturn null;\n\t\t}\n\t\treturn (\n\t\t\t<div>\n\t\t\t\t<GenericInput\n\t\t\t\t\tid=\"dateStart\"\n\t\t\t\t\tlabel=\"Start Date\"\n\t\t\t\t\talwaysShowLabel\n\t\t\t\t\tplaceholder={\"Select start date\"}\n\t\t\t\t\tvalue={this.state.filterDateStart.format(\"DD/MM/YYYY\")}\n\t\t\t\t\tonClick={this.onToggleStartDateFilter}\n\t\t\t\t\treadOnly\n\t\t\t\t/>\n\t\t\t\t{this.state.filterDateStartVisible ? (\n\t\t\t\t\t<DatePicker\n\t\t\t\t\t\thideTop\n\t\t\t\t\t\tselectedDate={this.state.filterDateStart}\n\t\t\t\t\t\tselectDate={this.onDateFilterStartChanged}\n\t\t\t\t\t/>\n\t\t\t\t) : null}\n\t\t\t\t<GenericInput\n\t\t\t\t\tid=\"dateEnd\"\n\t\t\t\t\tlabel=\"End Date\"\n\t\t\t\t\talwaysShowLabel\n\t\t\t\t\tplaceholder={\"Select end date\"}\n\t\t\t\t\tvalue={this.state.filterDateEnd.format(\"DD/MM/YYYY\")}\n\t\t\t\t\tonClick={this.onToggleEndDateFilter}\n\t\t\t\t\treadOnly\n\t\t\t\t/>\n\t\t\t\t{this.state.filterDateEndVisible ? (\n\t\t\t\t\t<DatePicker\n\t\t\t\t\t\thideTop\n\t\t\t\t\t\tselectedDate={this.state.filterDateEnd}\n\t\t\t\t\t\tselectDate={this.onDateFilterEndChanged}\n\t\t\t\t\t/>\n\t\t\t\t) : null}\n\t\t\t</div>\n\t\t);\n\t};\n\n\trenderContent = () => {\n\t\tconst { saving, columns } = this.state;\n\n\t\tif (saving) {\n\t\t\treturn (\n\t\t\t\t<div\n\t\t\t\t\tclassName=\"marginTop-32\"\n\t\t\t\t\tstyle={{ maxWidth: 500, textAlign: \"center\" }}\n\t\t\t\t>\n\t\t\t\t\t<Icon style={{ fontSize: 30 }} icon=\"spinner\" fixedWidth pulse />\n\t\t\t\t</div>\n\t\t\t);\n\t\t}\n\n\t\tif (!columns) return null;\n\t\treturn (\n\t\t\t<div className=\"marginTop-16\">\n\t\t\t\t{columns.map((c) => {\n\t\t\t\t\treturn (\n\t\t\t\t\t\t<CheckBox\n\t\t\t\t\t\t\tkey={c.key}\n\t\t\t\t\t\t\tlabel={c.label}\n\t\t\t\t\t\t\tisActive={c.selected}\n\t\t\t\t\t\t\tonChange={() => this.onToggleColumn(c.key)}\n\t\t\t\t\t\t\tstyle={{ marginBottom: 8 }}\n\t\t\t\t\t\t/>\n\t\t\t\t\t);\n\t\t\t\t})}\n\t\t\t</div>\n\t\t);\n\t};\n\n\trender() {\n\t\tconst { selectedHeaders } = this.state;\n\t\tconst { filename } = this.props;\n\n\t\tconst buttons = [\n\t\t\t{\n\t\t\t\ttype: \"primary\",\n\t\t\t\tisActive: this.canSave(),\n\t\t\t\ttext: (\n\t\t\t\t\t<CSVLink\n\t\t\t\t\t\theaders={selectedHeaders}\n\t\t\t\t\t\tdata={this.getSelectedSource()}\n\t\t\t\t\t\tstyle={{ textDecoration: \"none\", color: \"#fff\" }}\n\t\t\t\t\t\tfilename={filename || \"export.csv\"}\n\t\t\t\t\t\tonClick={this.onConfirm}\n\t\t\t\t\t>\n\t\t\t\t\t\tConfirm\n\t\t\t\t\t</CSVLink>\n\t\t\t\t),\n\t\t\t},\n\t\t\t{\n\t\t\t\ttype: \"tertiary\",\n\t\t\t\tonClick: this.onClose,\n\t\t\t\tisActive: true,\n\t\t\t\ttext: \"Close\",\n\t\t\t},\n\t\t];\n\n\t\treturn (\n\t\t\t<Popup\n\t\t\t\ttitle=\"Confirm Export\"\n\t\t\t\tboxClasses=\"flex flex-column\"\n\t\t\t\tinnerClasses=\"flex flex-column fillSpace flex-1\"\n\t\t\t\tminWidth={500}\n\t\t\t\tmaxWidth={500}\n\t\t\t\tminHeight={\"50vh\"}\n\t\t\t\tmaxHeight={\"100vh\"}\n\t\t\t\thasPadding\n\t\t\t\tonClose={this.onClose}\n\t\t\t\tbuttons={buttons}\n\t\t\t>\n\t\t\t\t{this.renderTimestampFilter()}\n\t\t\t\t<Text type=\"bodyLarge\">\n\t\t\t\t\tSelect which columns to include in the export\n\t\t\t\t</Text>\n\t\t\t\t{this.renderContent()}\n\t\t\t</Popup>\n\t\t);\n\t}\n}\n\nexport { ExportCsvPopup };\n","import React from \"react\";\nimport { FormGroup, FormControl, FormLabel, FormText } from \"react-bootstrap\";\nimport { COLOUR_RED } from \"../colours\";\n\nfunction InputGroup({ id, label, help, showError, required, ...props }) {\n\treturn (\n\t\t<FormGroup controlId={id} validationState={showError ? \"error\" : null}>\n\t\t\t<FormLabel>\n\t\t\t\t<span>{label}</span>\n\t\t\t\t{required && (\n\t\t\t\t\t<span style={{ color: COLOUR_RED, marginLeft: 5 }}>*</span>\n\t\t\t\t)}\n\t\t\t</FormLabel>\n\t\t\t<FormControl {...props} />\n\t\t\t{help && <FormText>{help}</FormText>}\n\t\t</FormGroup>\n\t);\n}\n\nexport { InputGroup };\n","import React, { Component } from \"react\";\n\nclass Tabs extends Component {\n\tconstructor(props) {\n\t\tsuper(props);\n\n\t\tthis.state = {\n\t\t\teditKey: null,\n\t\t};\n\t}\n\n\tgetTabClass(tab) {\n\t\tlet classes = \"tab\";\n\t\tif (this.props.selectedTab === tab.value) {\n\t\t\tclasses += \" tab-selected\";\n\t\t}\n\t\tif (tab.strikethrough) {\n\t\t\tclasses += \" tab-strikethrough\";\n\t\t}\n\t\tif (tab.isInvalid) {\n\t\t\tclasses += \" tab-invalid\";\n\t\t}\n\t\treturn classes;\n\t}\n\n\trenderTab(tab) {\n\t\treturn (\n\t\t\t<div\n\t\t\t\tkey={tab.value}\n\t\t\t\tonClick={() => {\n\t\t\t\t\tthis.props.onSelectTab(tab.value);\n\t\t\t\t}}\n\t\t\t\tclassName={this.getTabClass(tab)}\n\t\t\t\tid={tab.value}\n\t\t\t\tstyle={this.props.tabStyle}\n\t\t\t>\n\t\t\t\t<p className=\"tab_text\" id={`tab_${tab.value}`}>\n\t\t\t\t\t{tab.text}\n\t\t\t\t</p>\n\t\t\t</div>\n\t\t);\n\t}\n\n\trender() {\n\t\treturn (\n\t\t\t<div\n\t\t\t\tclassName={`tabContainer ${this.props.className || \"\"}`}\n\t\t\t\tstyle={this.props.containerStyle}\n\t\t\t>\n\t\t\t\t{this.props.tabs.map((t) => {\n\t\t\t\t\treturn this.renderTab(t);\n\t\t\t\t})}\n\t\t\t\t{this.props.children}\n\t\t\t</div>\n\t\t);\n\t}\n}\n\nexport { Tabs };\n","import React, { Component } from \"react\";\nimport _ from \"lodash\";\nimport { ChromePicker } from \"react-color\";\nimport tinycolor from \"tinycolor2\";\nimport { Icon } from \"@plusscommunities/pluss-icons\";\nimport { Tabs } from \"./Tabs\";\n\nclass ColourOptions extends Component {\n\tconstructor(props) {\n\t\tsuper(props);\n\t\tthis.state = {\n\t\t\tselectedColour: props.value || \"\",\n\t\t\tcolour: props.value,\n\t\t\tselectedOption: props.defaultTab || \"vibrant\",\n\t\t\tcolourCircleTop: 0,\n\t\t\tcolourCircleLeft: 0,\n\t\t};\n\t}\n\n\tcomponentDidMount() {\n\t\tthis.setColourCircle();\n\t}\n\n\tcomponentDidUpdate(prevProps) {\n\t\tif (this.props.value !== prevProps.value) {\n\t\t\tconst { value } = this.props;\n\t\t\tthis.setState(\n\t\t\t\t{ selectedColour: value, colour: value },\n\t\t\t\tthis.setColourCircle,\n\t\t\t);\n\t\t}\n\t}\n\n\tsetColourCircle = () => {\n\t\tconst tc = tinycolor(this.state.colour);\n\t\tthis.setState({\n\t\t\tcolourCircleTop: 100 - (100 * tc.getBrightness()) / 255,\n\t\t\tcolourCircleLeft: (100 * tc.toHsv().h) / 360,\n\t\t});\n\t};\n\n\tgetQuickChoiceTabs() {\n\t\tconst { options } = this.props;\n\t\tconst optionsArray =\n\t\t\ttypeof options === \"string\"\n\t\t\t\t? options.split(\",\").map((o) => o.trim())\n\t\t\t\t: options;\n\t\tconst available = [\n\t\t\t{\n\t\t\t\tvalue: \"vibrant\",\n\t\t\t\ttext: \"Vibrant\",\n\t\t\t},\n\t\t\t{\n\t\t\t\tvalue: \"soft\",\n\t\t\t\ttext: \"Soft\",\n\t\t\t},\n\t\t\t{\n\t\t\t\tvalue: \"picker\",\n\t\t\t\ttext: \"Picker\",\n\t\t\t},\n\t\t];\n\t\treturn !optionsArray || optionsArray.length === 0\n\t\t\t? available\n\t\t\t: available.filter((o) => optionsArray.includes(o.value));\n\t}\n\n\tonColourChange = (color) => {\n\t\t// console.log('onColourChange', color);\n\t\tconst colour = (\n\t\t\ttypeof color === \"object\" ? color.hex : color\n\t\t).toUpperCase();\n\t\tthis.setState({ selectedColour: colour, colour }, () => {\n\t\t\tthis.setColourCircle();\n\t\t\tconst { onColourSelected } = this.props;\n\t\t\tif (onColourSelected) onColourSelected(this.state.colour);\n\t\t});\n\t};\n\n\tonSelectOption = (selectedOption) => {\n\t\tthis.setState({ selectedOption });\n\t};\n\n\trenderColourQuickChoicesCircle(colour, selectedColour) {\n\t\tconst isSelected = selectedColour.toLowerCase() === colour.toLowerCase();\n\t\treturn (\n\t\t\t<div\n\t\t\t\tclassName={`colourQuickChoices_circle${isSelected ? \" colourQuickChoices_circle-selected\" : \"\"}`}\n\t\t\t\tstyle={{ backgroundColor: colour }}\n\t\t\t\tonClick={() => this.onColourChange(colour)}\n\t\t\t>\n\t\t\t\t<Icon icon=\"check\" className=\"colourQuickChoices_circle_tick\" />\n\t\t\t</div>\n\t\t);\n\t}\n\n\trenderColourOptions() {\n\t\tconst { selectedColour, selectedOption } = this.state;\n\n\t\tlet content;\n\t\tswitch (selectedOption) {\n\t\t\tcase \"picker\":\n\t\t\t\tcontent = (\n\t\t\t\t\t<div\n\t\t\t\t\t\tclassName=\"flex flex-center-row colourQuickChoices\"\n\t\t\t\t\t\tstyle={{ marginBottom: \"unset\" }}\n\t\t\t\t\t>\n\t\t\t\t\t\t<ChromePicker\n\t\t\t\t\t\t\tcolor={selectedColour}\n\t\t\t\t\t\t\tonChangeComplete={this.onColourChange}\n\t\t\t\t\t\t\tdisableAlpha\n\t\t\t\t\t\t\tclassName=\"chrome-picker-noShadow\"\n\t\t\t\t\t\t/>\n\t\t\t\t\t</div>\n\t\t\t\t);\n\t\t\t\tbreak;\n\t\t\tcase \"vibrant\":\n\t\t\t\tcontent = (\n\t\t\t\t\t<div\n\t\t\t\t\t\tclassName=\"flex flex-between colourQuickChoices\"\n\t\t\t\t\t\tstyle={{ marginBottom: \"unset\" }}\n\t\t\t\t\t>\n\t\t\t\t\t\t<div className=\"colourQuickChoices_column\">\n\t\t\t\t\t\t\t{this.renderColourQuickChoicesCircle(\"#c44569\", selectedColour)}\n\t\t\t\t\t\t\t{this.renderColourQuickChoicesCircle(\"#f1a459\", selectedColour)}\n\t\t\t\t\t\t\t{this.renderColourQuickChoicesCircle(\"#38ada9\", selectedColour)}\n\t\t\t\t\t\t\t{this.renderColourQuickChoicesCircle(\"#7064a7\", selectedColour)}\n\t\t\t\t\t\t</div>\n\t\t\t\t\t\t<div className=\"colourQuickChoices_column\">\n\t\t\t\t\t\t\t{this.renderColourQuickChoicesCircle(\"#ea4c88\", selectedColour)}\n\t\t\t\t\t\t\t{this.renderColourQuickChoicesCircle(\"#e8bb67\", selectedColour)}\n\t\t\t\t\t\t\t{this.renderColourQuickChoicesCircle(\"#60a3bc\", selectedColour)}\n\t\t\t\t\t\t\t{this.renderColourQuickChoicesCircle(\"#546de5\", selectedColour)}\n\t\t\t\t\t\t</div>\n\t\t\t\t\t\t<div className=\"colourQuickChoices_column\">\n\t\t\t\t\t\t\t{this.renderColourQuickChoicesCircle(\"#e66767\", selectedColour)}\n\t\t\t\t\t\t\t{this.renderColourQuickChoicesCircle(\"#94d0c5\", selectedColour)}\n\t\t\t\t\t\t\t{this.renderColourQuickChoicesCircle(\"#5badda\", selectedColour)}\n\t\t\t\t\t\t\t{this.renderColourQuickChoicesCircle(\"#dfad8c\", selectedColour)}\n\t\t\t\t\t\t</div>\n\t\t\t\t\t\t<div className=\"colourQuickChoices_column\">\n\t\t\t\t\t\t\t{this.renderColourQuickChoicesCircle(\"#ff6c5c\", selectedColour)}\n\t\t\t\t\t\t\t{this.renderColourQuickChoicesCircle(\"#7abf9e\", selectedColour)}\n\t\t\t\t\t\t\t{this.renderColourQuickChoicesCircle(\"#9fcfd9\", selectedColour)}\n\t\t\t\t\t\t\t{this.renderColourQuickChoicesCircle(\"#dd91a7\", selectedColour)}\n\t\t\t\t\t\t</div>\n\t\t\t\t\t\t<div className=\"colourQuickChoices_column\">\n\t\t\t\t\t\t\t{this.renderColourQuickChoicesCircle(\"#f19066\", selectedColour)}\n\t\t\t\t\t\t\t{this.renderColourQuickChoicesCircle(\"#a1ab94\", selectedColour)}\n\t\t\t\t\t\t\t{this.renderColourQuickChoicesCircle(\"#a67db7\", selectedColour)}\n\t\t\t\t\t\t\t{this.renderColourQuickChoicesCircle(\"#596275\", selectedColour)}\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</div>\n\t\t\t\t);\n\t\t\t\tbreak;\n\t\t\tcase \"soft\":\n\t\t\t\tcontent = (\n\t\t\t\t\t<div\n\t\t\t\t\t\tclassName=\"flex flex-between colourQuickChoices\"\n\t\t\t\t\t\tstyle={{ marginBottom: \"unset\" }}\n\t\t\t\t\t>\n\t\t\t\t\t\t<div className=\"colourQuickChoices_column\">\n\t\t\t\t\t\t\t{this.renderColourQuickChoicesCircle(\"#eacdd0\", selectedColour)}\n\t\t\t\t\t\t\t{this.renderColourQuickChoicesCircle(\"#a4c9d7\", selectedColour)}\n\t\t\t\t\t\t\t{this.renderColourQuickChoicesCircle(\"#c6b9c0\", selectedColour)}\n\t\t\t\t\t\t\t{this.renderColourQuickChoicesCircle(\"#cdc4af\", selectedColour)}\n\t\t\t\t\t\t</div>\n\t\t\t\t\t\t<div className=\"colourQuickChoices_column\">\n\t\t\t\t\t\t\t{this.renderColourQuickChoicesCircle(\"#d6b7b1\", selectedColour)}\n\t\t\t\t\t\t\t{this.renderColourQuickChoicesCircle(\"#eaf2f4\", selectedColour)}\n\t\t\t\t\t\t\t{this.renderColourQuickChoicesCircle(\"#cce0db\", selectedColour)}\n\t\t\t\t\t\t\t{this.renderColourQuickChoicesCircle(\"#b9bee4\", selectedColour)}\n\t\t\t\t\t\t</div>\n\t\t\t\t\t\t<div className=\"colourQuickChoices_column\">\n\t\t\t\t\t\t\t{this.renderColourQuickChoicesCircle(\"#9bd3cb\", selectedColour)}\n\t\t\t\t\t\t\t{this.renderColourQuickChoicesCircle(\"#f1d7bb\", selectedColour)}\n\t\t\t\t\t\t\t{this.renderColourQuickChoicesCircle(\"#fcbc7b\", selectedColour)}\n\t\t\t\t\t\t\t{this.renderColourQuickChoicesCircle(\"#caeff5\", selectedColour)}\n\t\t\t\t\t\t</div>\n\t\t\t\t\t\t<div className=\"colourQuickChoices_column\">\n\t\t\t\t\t\t\t{this.renderColourQuickChoicesCircle(\"#e0dceb\", selectedColour)}\n\t\t\t\t\t\t\t{this.renderColourQuickChoicesCircle(\"#b1becd\", selectedColour)}\n\t\t\t\t\t\t\t{this.renderColourQuickChoicesCircle(\"#e6cfc5\", selectedColour)}\n\t\t\t\t\t\t\t{this.renderColourQuickChoicesCircle(\"#cfd6df\", selectedColour)}\n\t\t\t\t\t\t</div>\n\t\t\t\t\t\t<div className=\"colourQuickChoices_column\">\n\t\t\t\t\t\t\t{this.renderColourQuickChoicesCircle(\"#f39ca4\", selectedColour)}\n\t\t\t\t\t\t\t{this.renderColourQuickChoicesCircle(\"#c0adc5\", selectedColour)}\n\t\t\t\t\t\t\t{this.renderColourQuickChoicesCircle(\"#fcbca4\", selectedColour)}\n\t\t\t\t\t\t\t{this.renderColourQuickChoicesCircle(\"#c5ceb9\", selectedColour)}\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</div>\n\t\t\t\t);\n\t\t\t\tbreak;\n\t\t\tdefault:\n\t\t\t\tcontent = null;\n\t\t\t\tbreak;\n\t\t}\n\t\tconst tabs = this.getQuickChoiceTabs();\n\n\t\treturn (\n\t\t\t<div>\n\t\t\t\t{tabs && tabs.length > 1 ? (\n\t\t\t\t\t<Tabs\n\t\t\t\t\t\tonSelectTab={this.onSelectOption}\n\t\t\t\t\t\tselectedTab={selectedOption}\n\t\t\t\t\t\ttabs={tabs}\n\t\t\t\t\t\tcontainerStyle={{ display: \"flex\" }}\n\t\t\t\t\t\ttabStyle={{ flex: 1 }}\n\t\t\t\t\t/>\n\t\t\t\t) : null}\n\t\t\t\t<div className=\"flex flex-center flex-center-row\">{content}</div>\n\t\t\t</div>\n\t\t);\n\t}\n\n\trender() {\n\t\treturn this.renderColourOptions();\n\t}\n}\n\nexport { ColourOptions };\n","import React, { Component } from \"react\";\nimport _ from \"lodash\";\nimport { ChromePicker } from \"react-color\";\nimport tinycolor from \"tinycolor2\";\nimport { Popup } from \"./Popup\";\nimport { Icon } from \"@plusscommunities/pluss-icons\";\nimport { Tabs } from \"./Tabs\";\n\nclass ColourPicker extends Component {\n\tconstructor(props) {\n\t\tsuper(props);\n\t\tthis.state = {\n\t\t\tselectedColour: props.value,\n\t\t\tcolour: props.value,\n\t\t\tselectedOption: props.defaultTab || \"vibrant\",\n\t\t\tcolourPickerOpen: false,\n\t\t\tcolourCircleTop: 0,\n\t\t\tcolourCircleLeft: 0,\n\t\t};\n\t}\n\n\tcomponentDidMount() {\n\t\tthis.setColourCircle();\n\t}\n\n\tcomponentDidUpdate(prevProps) {\n\t\tif (this.props.value !== prevProps.value) {\n\t\t\tconst { value } = this.props;\n\t\t\tthis.setState(\n\t\t\t\t{ selectedColour: value, colour: value },\n\t\t\t\tthis.setColourCircle,\n\t\t\t);\n\t\t}\n\t}\n\n\tsetColourCircle = () => {\n\t\tconst tc = tinycolor(this.state.colour);\n\t\tthis.setState({\n\t\t\tcolourCircleTop: 100 - (100 * tc.getBrightness()) / 255,\n\t\t\tcolourCircleLeft: (100 * tc.toHsv().h) / 360,\n\t\t});\n\t};\n\n\tgetQuickChoiceTabs() {\n\t\tconst { options } = this.props;\n\t\tconst optionsArray =\n\t\t\ttypeof options === \"string\"\n\t\t\t\t? options.split(\",\").map((o) => o.trim())\n\t\t\t\t: options;\n\t\tconst available = [\n\t\t\t{\n\t\t\t\tvalue: \"vibrant\",\n\t\t\t\ttext: \"Vibrant\",\n\t\t\t},\n\t\t\t{\n\t\t\t\tvalue: \"soft\",\n\t\t\t\ttext: \"Soft\",\n\t\t\t},\n\t\t\t{\n\t\t\t\tvalue: \"picker\",\n\t\t\t\ttext: \"Picker\",\n\t\t\t},\n\t\t];\n\t\treturn !optionsArray || optionsArray.length === 0\n\t\t\t? available\n\t\t\t: available.filter((o) => optionsArray.includes(o.value));\n\t}\n\n\tonTogglePopup = () => {\n\t\tif (this.props.disabled) return;\n\t\tthis.setState({ colourPickerOpen: !this.state.colourPickerOpen });\n\t};\n\n\tonColourChange = (color) => {\n\t\t// console.log('onColourChange', color);\n\t\tlet colour = color;\n\t\tif (typeof color === \"object\") {\n\t\t\tcolour = color.hex;\n\t\t}\n\t\tthis.setState({ selectedColour: colour.toUpperCase() });\n\t};\n\n\tonSelectOption = (selectedOption) => {\n\t\tthis.setState({ selectedOption });\n\t};\n\n\tonDone = () => {\n\t\tconst { colourPickerOpen, selectedColour } = this.state;\n\t\tthis.setState(\n\t\t\t{ colourPickerOpen: !colourPickerOpen, colour: selectedColour },\n\t\t\t() => {\n\t\t\t\tthis.setColourCircle();\n\n\t\t\t\tconst { onColourSelected } = this.props;\n\t\t\t\tif (onColourSelected) onColourSelected(this.state.colour);\n\t\t\t},\n\t\t);\n\t};\n\n\tonCancel = () => {\n\t\tconst { colourPickerOpen, colour } = this.state;\n\t\tthis.setState({\n\t\t\tcolourPickerOpen: !colourPickerOpen,\n\t\t\tselectedColour: colour,\n\t\t});\n\t};\n\n\trenderColourQuickChoicesCircle(colour, selectedColour) {\n\t\tconst isSelected = selectedColour.toLowerCase() === colour.toLowerCase();\n\t\treturn (\n\t\t\t<div\n\t\t\t\tclassName={`colourQuickChoices_circle${isSelected ? \" colourQuickChoices_circle-selected\" : \"\"}`}\n\t\t\t\tstyle={{ backgroundColor: colour }}\n\t\t\t\tonClick={() => this.onColourChange(colour)}\n\t\t\t>\n\t\t\t\t<Icon icon=\"check\" className=\"colourQuickChoices_circle_tick\" />\n\t\t\t</div>\n\t\t);\n\t}\n\n\trenderColourOptions() {\n\t\tconst { selectedColour, selectedOption } = this.state;\n\n\t\tlet content;\n\t\tswitch (selectedOption) {\n\t\t\tcase \"picker\":\n\t\t\t\tcontent = (\n\t\t\t\t\t<div\n\t\t\t\t\t\tclassName=\"flex flex-center-row colourQuickChoices\"\n\t\t\t\t\t\tstyle={{ marginBottom: \"unset\" }}\n\t\t\t\t\t>\n\t\t\t\t\t\t<ChromePicker\n\t\t\t\t\t\t\tcolor={selectedColour}\n\t\t\t\t\t\t\tonChangeComplete={this.onColourChange}\n\t\t\t\t\t\t\tdisableAlpha\n\t\t\t\t\t\t\tclassName=\"chrome-picker-noShadow\"\n\t\t\t\t\t\t/>\n\t\t\t\t\t</div>\n\t\t\t\t);\n\t\t\t\tbreak;\n\t\t\tcase \"vibrant\":\n\t\t\t\tcontent = (\n\t\t\t\t\t<div\n\t\t\t\t\t\tclassName=\"flex flex-between colourQuickChoices\"\n\t\t\t\t\t\tstyle={{ marginBottom: \"unset\" }}\n\t\t\t\t\t>\n\t\t\t\t\t\t<div className=\"colourQuickChoices_column\">\n\t\t\t\t\t\t\t{this.renderColourQuickChoicesCircle(\"#c44569\", selectedColour)}\n\t\t\t\t\t\t\t{this.renderColourQuickChoicesCircle(\"#f1a459\", selectedColour)}\n\t\t\t\t\t\t\t{this.renderColourQuickChoicesCircle(\"#38ada9\", selectedColour)}\n\t\t\t\t\t\t\t{this.renderColourQuickChoicesCircle(\"#7064a7\", selectedColour)}\n\t\t\t\t\t\t</div>\n\t\t\t\t\t\t<div className=\"colourQuickChoices_column\">\n\t\t\t\t\t\t\t{this.renderColourQuickChoicesCircle(\"#ea4c88\", selectedColour)}\n\t\t\t\t\t\t\t{this.renderColourQuickChoicesCircle(\"#e8bb67\", selectedColour)}\n\t\t\t\t\t\t\t{this.renderColourQuickChoicesCircle(\"#60a3bc\", selectedColour)}\n\t\t\t\t\t\t\t{this.renderColourQuickChoicesCircle(\"#546de5\", selectedColour)}\n\t\t\t\t\t\t</div>\n\t\t\t\t\t\t<div className=\"colourQuickChoices_column\">\n\t\t\t\t\t\t\t{this.renderColourQuickChoicesCircle(\"#e66767\", selectedColour)}\n\t\t\t\t\t\t\t{this.renderColourQuickChoicesCircle(\"#94d0c5\", selectedColour)}\n\t\t\t\t\t\t\t{this.renderColourQuickChoicesCircle(\"#5badda\", selectedColour)}\n\t\t\t\t\t\t\t{this.renderColourQuickChoicesCircle(\"#dfad8c\", selectedColour)}\n\t\t\t\t\t\t</div>\n\t\t\t\t\t\t<div className=\"colourQuickChoices_column\">\n\t\t\t\t\t\t\t{this.renderColourQuickChoicesCircle(\"#ff6c5c\", selectedColour)}\n\t\t\t\t\t\t\t{this.renderColourQuickChoicesCircle(\"#7abf9e\", selectedColour)}\n\t\t\t\t\t\t\t{this.renderColourQuickChoicesCircle(\"#9fcfd9\", selectedColour)}\n\t\t\t\t\t\t\t{this.renderColourQuickChoicesCircle(\"#dd91a7\", selectedColour)}\n\t\t\t\t\t\t</div>\n\t\t\t\t\t\t<div className=\"colourQuickChoices_column\">\n\t\t\t\t\t\t\t{this.renderColourQuickChoicesCircle(\"#f19066\", selectedColour)}\n\t\t\t\t\t\t\t{this.renderColourQuickChoicesCircle(\"#a1ab94\", selectedColour)}\n\t\t\t\t\t\t\t{this.renderColourQuickChoicesCircle(\"#a67db7\", selectedColour)}\n\t\t\t\t\t\t\t{this.renderColourQuickChoicesCircle(\"#596275\", selectedColour)}\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</div>\n\t\t\t\t);\n\t\t\t\tbreak;\n\t\t\tcase \"soft\":\n\t\t\t\tcontent = (\n\t\t\t\t\t<div\n\t\t\t\t\t\tclassName=\"flex flex-between colourQuickChoices\"\n\t\t\t\t\t\tstyle={{ marginBottom: \"unset\" }}\n\t\t\t\t\t>\n\t\t\t\t\t\t<div className=\"colourQuickChoices_column\">\n\t\t\t\t\t\t\t{this.renderColourQuickChoicesCircle(\"#eacdd0\", selectedColour)}\n\t\t\t\t\t\t\t{this.renderColourQuickChoicesCircle(\"#a4c9d7\", selectedColour)}\n\t\t\t\t\t\t\t{this.renderColourQuickChoicesCircle(\"#c6b9c0\", selectedColour)}\n\t\t\t\t\t\t\t{this.renderColourQuickChoicesCircle(\"#cdc4af\", selectedColour)}\n\t\t\t\t\t\t</div>\n\t\t\t\t\t\t<div className=\"colourQuickChoices_column\">\n\t\t\t\t\t\t\t{this.renderColourQuickChoicesCircle(\"#d6b7b1\", selectedColour)}\n\t\t\t\t\t\t\t{this.renderColourQuickChoicesCircle(\"#eaf2f4\", selectedColour)}\n\t\t\t\t\t\t\t{this.renderColourQuickChoicesCircle(\"#cce0db\", selectedColour)}\n\t\t\t\t\t\t\t{this.renderColourQuickChoicesCircle(\"#b9bee4\", selectedColour)}\n\t\t\t\t\t\t</div>\n\t\t\t\t\t\t<div className=\"colourQuickChoices_column\">\n\t\t\t\t\t\t\t{this.renderColourQuickChoicesCircle(\"#9bd3cb\", selectedColour)}\n\t\t\t\t\t\t\t{this.renderColourQuickChoicesCircle(\"#f1d7bb\", selectedColour)}\n\t\t\t\t\t\t\t{this.renderColourQuickChoicesCircle(\"#fcbc7b\", selectedColour)}\n\t\t\t\t\t\t\t{this.renderColourQuickChoicesCircle(\"#caeff5\", selectedColour)}\n\t\t\t\t\t\t</div>\n\t\t\t\t\t\t<div className=\"colourQuickChoices_column\">\n\t\t\t\t\t\t\t{this.renderColourQuickChoicesCircle(\"#e0dceb\", selectedColour)}\n\t\t\t\t\t\t\t{this.renderColourQuickChoicesCircle(\"#b1becd\", selectedColour)}\n\t\t\t\t\t\t\t{this.renderColourQuickChoicesCircle(\"#e6cfc5\", selectedColour)}\n\t\t\t\t\t\t\t{this.renderColourQuickChoicesCircle(\"#cfd6df\", selectedColour)}\n\t\t\t\t\t\t</div>\n\t\t\t\t\t\t<div className=\"colourQuickChoices_column\">\n\t\t\t\t\t\t\t{this.renderColourQuickChoicesCircle(\"#f39ca4\", selectedColour)}\n\t\t\t\t\t\t\t{this.renderColourQuickChoicesCircle(\"#c0adc5\", selectedColour)}\n\t\t\t\t\t\t\t{this.renderColourQuickChoicesCircle(\"#fcbca4\", selectedColour)}\n\t\t\t\t\t\t\t{this.renderColourQuickChoicesCircle(\"#c5ceb9\", selectedColour)}\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</div>\n\t\t\t\t);\n\t\t\t\tbreak;\n\t\t\tdefault:\n\t\t\t\tcontent = null;\n\t\t\t\tbreak;\n\t\t}\n\t\tconst tabs = this.getQuickChoiceTabs();\n\n\t\treturn (\n\t\t\t<div>\n\t\t\t\t{tabs && tabs.length > 1 ? (\n\t\t\t\t\t<Tabs\n\t\t\t\t\t\tonSelectTab={this.onSelectOption}\n\t\t\t\t\t\tselectedTab={selectedOption}\n\t\t\t\t\t\ttabs={tabs}\n\t\t\t\t\t/>\n\t\t\t\t) : null}\n\t\t\t\t<div className=\"flex flex-center flex-center-row\">{content}</div>\n\t\t\t</div>\n\t\t);\n\t}\n\n\trenderColourPopup() {\n\t\tconst { colourPickerOpen } = this.state;\n\t\tif (!colourPickerOpen) return null;\n\t\tconst { title } = this.props;\n\n\t\treturn (\n\t\t\t<Popup\n\t\t\t\ttitle={title || `Colour Picker`}\n\t\t\t\tmaxWidth={500}\n\t\t\t\thasPadding\n\t\t\t\tbuttons={[\n\t\t\t\t\t{\n\t\t\t\t\t\ttype: \"primary\",\n\t\t\t\t\t\tonClick: this.onDone,\n\t\t\t\t\t\tstyle: { width: 100 },\n\t\t\t\t\t\tisActive: true,\n\t\t\t\t\t\ttext: \"Done\",\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\ttype: \"outlinedAction\",\n\t\t\t\t\t\tonClick: this.onCancel,\n\t\t\t\t\t\tstyle: { width: 100 },\n\t\t\t\t\t\tisActive: true,\n\t\t\t\t\t\ttext: \"Cancel\",\n\t\t\t\t\t},\n\t\t\t\t]}\n\t\t\t>\n\t\t\t\t{this.renderColourOptions()}\n\t\t\t</Popup>\n\t\t);\n\t}\n\n\trender() {\n\t\tconst { colourCircleTop, colourCircleLeft, colour } = this.state;\n\t\tconst { children, showHex } = this.props;\n\n\t\treturn (\n\t\t\t<div>\n\t\t\t\t<div className=\"flex flex-center\">\n\t\t\t\t\t{children ? (\n\t\t\t\t\t\t<div onClick={this.onTogglePopup}>{children}</div>\n\t\t\t\t\t) : (\n\t\t\t\t\t\t<div\n\t\t\t\t\t\t\tclassName=\"colourPicker_button\"\n\t\t\t\t\t\t\tstyle={{ width: 80, marginBottom: \"unset\" }}\n\t\t\t\t\t\t\tonClick={this.onTogglePopup}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<div className=\"colourPicker_rainbow\">\n\t\t\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t\t\tclassName=\"colourPicker_rainbow_circle\"\n\t\t\t\t\t\t\t\t\tstyle={{\n\t\t\t\t\t\t\t\t\t\ttop: `${colourCircleTop}%`,\n\t\t\t\t\t\t\t\t\t\tleft: `${colourCircleLeft}%`,\n\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t></div>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t)}\n\t\t\t\t\t{showHex ? (\n\t\t\t\t\t\t<div className=\"marginLeft-10\">\n\t\t\t\t\t\t\t{colour && colour.toUpperCase()}\n\t\t\t\t\t\t</div>\n\t\t\t\t\t) : null}\n\t\t\t\t</div>\n\t\t\t\t{this.renderColourPopup()}\n\t\t\t</div>\n\t\t);\n\t}\n}\n\nexport { ColourPicker };\n","import React from \"react\";\nimport { Link } from \"react-router-dom\";\nimport { Icon } from \"@plusscommunities/pluss-icons\";\nimport { Text } from \"./Text\";\n\n// StatBox Component\nconst StatBox = ({\n\ttitle,\n\ticon,\n\tvalue,\n\tpreviousValue,\n\tprevText,\n\tviewGraphLink,\n\tisLoading,\n}) => {\n\tlet change = (value / previousValue - 1) * 100;\n\tif (isNaN(change)) {\n\t\tchange = 0;\n\t}\n\tif (!isFinite(change)) {\n\t\tchange = 100;\n\t}\n\tchange = parseInt(change);\n\tconst opacity = isLoading ? 0 : 1;\n\treturn (\n\t\t<div\n\t\t\tclassName={`dashboardBox dashboardBox-stats dashboardBox-inline${change > 0 ? \" dashboardBox-stats-positive\" : \"\"}${\n\t\t\t\tchange < 0 ? \" dashboardBox-stats-negative\" : \"\"\n\t\t\t}`}\n\t\t>\n\t\t\t<div className=\"dashboardBox-stats_title\">\n\t\t\t\t<Text type=\"h6\">{title}</Text>\n\t\t\t</div>\n\t\t\t<div className=\"dashboardBox-stats_mid\" style={{ opacity }}>\n\t\t\t\t<Icon className=\"dashboardBox-stats_icon\" icon={icon} />\n\t\t\t\t<Text type=\"h2\" className=\"dashboardBox-stats_count\">\n\t\t\t\t\t{value}\n\t\t\t\t</Text>\n\t\t\t\t<p className=\"dashboardBox-stats_change\">\n\t\t\t\t\t{change === 0 ? \"No change\" : `${change}% ${change < 0 ? \"↓\" : \"↑\"}`}\n\t\t\t\t</p>\n\t\t\t</div>\n\t\t\t<Text type=\"help\" style={{ opacity }}>\n\t\t\t\tCompared to {prevText}\n\t\t\t</Text>\n\t\t\t{viewGraphLink && (\n\t\t\t\t<Link to={`${viewGraphLink}&title=${title}`}>\n\t\t\t\t\t<Text type=\"h5-noUpper\" className=\"text-link marginTop-10\">\n\t\t\t\t\t\t<Icon icon=\"chart-line\" style={{ marginRight: 4 }} />\n\t\t\t\t\t\tView Graph\n\t\t\t\t\t</Text>\n\t\t\t\t</Link>\n\t\t\t)}\n\t\t</div>\n\t);\n};\n\nexport { StatBox };\n"],"names":["AddButton","Component","getClasses","classes","props","inactive","renderIcon","_jsx","Icon","className","icon","render","_jsxs","style","onClick","children","text","COLOUR_BRANDING_MAIN","COLOUR_BRANDING_INACTIVE","COLOUR_DUSK","COLOUR_DUSK_LIGHT","LINEGREY","COLOUR_RED","COLOUR_LIGHTGREY","INACTIVE_TEXT","COLOUR_BRANDING_APP","getFileName","url","noExtension","fileSplit","split","name","length","toLowerCase","Attachment","concat","white","href","source","target","pulse","uploading","fixedWidth","title","onRemove","colour","Button","string","inline","isActive","buttonType","compact","narrow","noHoverHighlight","getButtonClasses","buttonClassName","getButtonTextClasses","result","leftIcon","buttonTextClassName","buttonClick","renderLeftIcon","_objectSpread","buttonStyle","textStyle","CheckBox","PureComponent","constructor","arguments","_defineProperty","e","disabled","onChange","generateClassNames","getLabelClasses","getBoxStyle","highlightColour","borderColor","backgroundColor","showWarning","styles","row","_","isEmpty","label","marginLeft","fontSize","lineHeight","labelStyle","display","flexDirection","marginBottom","CoreConfig","env","baseStage","baseAPIUrl","baseUploadsUrl","baseLibraryUrl","uploadBucket","colourBrandingMain","colourBrandingOff","colourBrandingApp","defaultProfileImage","utcOffset","hasAvailableNews","newsHaveTags","defaultAllowComments","makeApiKey","logo","clientName","init","environment","getUrl","baseAction","action","query","stage","undefined","Config","queryPart","keys","forEach","key","index","encodeURIComponent","getAppColourFromState","state","auth","siteBranding","MainBrandingColour","getExtension","isVideo","extension","includes","get1400","indexOf","replace","urlToUse","substring","generateImageName","c","r","Math","random","v","toString","getThumb300","getFirstName","randomString","toParagraphed","textSplit","map","t","i","getPluralOptions","count","singular","plural","Text","getClassName","type","ProfilePicComponent","renderPic","width","size","height","borderRadius","backgroundSize","backgroundPosition","backgroundImage","image","alt","hoverText","containerClass","mapStateToProps","ProfilePic","connect","Comment","renderImage","rel","renderComment","comment","Image","User","profilePic","displayName","moment","utc","Timestamp","local","format","Id","bottomContent","CommentSection","_this","this","event","stateChange","getAttribute","value","setState","_asyncToGenerator","commentInput","onAddComment","onlyParents","comments","filter","ParentId","onOpenThread","threadComments","innerC","profilePics","take","uniqBy","UserId","includeTitle","getComments","renderReplyText","Textarea","id","placeholder","onHandleChange","DatePicker","shownMonth","Date","grid","UNSAFE_componentWillMount","onNewProps","UNSAFE_componentWillReceiveProps","nextProps","forceUpdate","getFullYear","getMonth","generateGrid","multiple","selectedDates","selectedDate","dateToUse","isNaN","getDate","getShortDate","isDateSelected","date","isSame","isDateEnabled","enabledDates","found","find","d","day","enabled","changeMonth","change","newShownDate","selectRange","d1","lastSelected","d2","startDate","endDate","valueOf","dateRange","add","push","some","selectDate","newSelection","uniq","isBeforeMinDate","minDate","isBefore","console","log","dateKey","shiftKey","splice","month","dateToTarget","endOf","dateToModify","startOf","selectedDateToUse","rows","thisDate","isFaded","isToday","isSelected","isEnabled","renderGrid","renderTop","hideTop","bind","DurationInput","_ref","handleChange","labelWidth","hours","floor","minutes","handleHourChange","newHours","max","min","handleMinuteChange","newMinutes","marginRight","getSessionTokenAWS","prefix","data","Auth","currentSession","token","getAccessToken","getJwtToken","isUndefined","_x","apply","authedFunction","_ref2","request","authkey","headers","axios","error","_x2","unauthedFunction","getCurrentUserSub","_ref3","user","currentUserInfo","validateAccess","site","noRole","roles","Roles","role","Permissions","getApiError","errorData","response","errorMessage","checkUserAuth","userId","method","fetchForgotPasswordId","input","email","phoneNumber","authorization","disableUser","username","getUserSignin","_getUserSignin","copyDummy","CanvasImageUploader","options","maxSize","jpegQuality","imageData","base64toBlob","base64Data","contentType","sliceSize","byteCharacters","atob","byteArrays","offset","slice","byteNumbers","Array","charCodeAt","byteArray","Uint8Array","Blob","calculateSize","ratio","setDimensions","$canvas","attr","drawOnCanvas","canvas","ctx","getContext","clearRect","drawImage","readImageToCanvasOnLoad","callback","warn","newImage","getImageData","copyToCanvas","$destination","destCtx","readImageToCanvas","file","reader","FileReader","onload","fileReaderEvent","src","readAsDataURL","saveCanvasToImageData","base64","toDataURL","fileActions","uploadMediaAsync","_uploadMediaAsync","filename","newFilename","Storage","put","level","bucket","compressImage","quality","noCompress","Promise","resolve","reject","$","css","append","canvasUploader","blobToFile","theBlob","fileName","File","lastModified","putCanvas","img","getTrimmedCanvas","Buffer","from","off","imgName","then","res","catch","err","getMediaFolders","addMediaFolder","published","updateMediaFolder","deleteMediaFolder","addImagesToFolder","images","deleteImagesFromFolder","getMediaLibrary","typeActions","getSubdomains","getSubdomain","updateSubdomain","background","Key","Background","getSites","getSite","_getSite","getUserTypes","setTypePermissions","adminId","deleteUserType","createNewSite","siteName","signUpNewSite","getInterface","getInterfaces","q","deleteInterface","saveInterface","settings","attachInterface","typeName","interfaceId","getSiteBranding","generateSiteBranding","editSiteBranding","branding","editSiteSettings","values","getDefaultTVSettings","widgets","getDefaultTabSettings","tabTitle","widgetOptions","userActions","createNewUser","userExtra","bulkNewUser","users","sendWelcome","getbulks","fetchUsers","fetchInitialPasswords","fetchUser","updateUser","getSiteResidentsCount","isCount","sendWelcomeEmail","sendWelcomeText","getInviteCode","generateInviteCode","createInviteCode","userType","expiry","editInviteCode","code","deleteInviteCode","getInviteCodes","excludeFamily","getInviteCodeByCode","updateProfile","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","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","opacity","renderError","renderHelp","help","inputComponent","alignItems","isRequired","rightContent","inputClass","onKeyPress","onEnter","onKeyDown","inputStyle","readOnly","maxLength","onFocus","onBlur","textWrapperStyle","ref","autoFocus","justifyContent","SET_AUTH","SET_NAV_DATA","setAuth","stuff","payload","setNavData","Header","window","open","isSideMenuOpen","getHomeLink","history","renderRight","goToHelpGuide","renderHeader","renderSimpleHeader","fixed","renderContainerHeader","simple","onlyContainer","nav","exportObj","withRouter","SideNavItem","onUrlChange","Link","location","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","b","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","f","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","content","paddingBottom","paddingLeft","cursor","ImageInput","MoreMenu","ev","onPress","OverlayPage","updateWindowDimensions","addEventListener","removeEventListener","innerWidth","innerHeight","fullPage","fullPageStyle","pageWrapper","backgroundOverlay","backgroundStyle","position","zIndex","top","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","entity","Object","renderReactions","getAnalyticsFilterOptions","dayCount","prevText","AnalyticsFilter","filterOptions","hideOptions","DropdownItem","eventKey","active","selectedFilter","o","dateRangeText","calendarVisible","filterChanged","start","end","isSameOrBefore","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","parseInt","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","Type","Category","audienceTypeSelection","custom","disallowSingleUsers","allowTags","getUsers","getUserTags","isEqual","onSubmit","getIncludeList","getExcludeList","results","Items","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","hex","toUpperCase","selectedColour","setColourCircle","onColourSelected","defaultTab","getQuickChoiceTabs","optionsArray","trim","available","renderColourQuickChoicesCircle","onColourChange","renderColourOptions","ChromePicker","onChangeComplete","disableAlpha","onSelectOption","flex","ColourPicker","colourPickerOpen","renderColourPopup","onDone","onCancel","showHex","onTogglePopup","StatBox","previousValue","viewGraphLink","isFinite","to"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"components.js","sources":["../src/components/AddButton.js","../src/colours.js","../src/helper/files/getFileName.js","../src/components/Attachment.js","../src/components/Button.js","../src/components/CheckBox.js","../src/config.js","../src/helper/api/getUrl.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/getThumb300.js","../src/helper/strings/getFirstName.js","../src/helper/strings/randomString.js","../src/helper/strings/toParagraphed.js","../src/helper/helper.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/session.js","../src/apis/authActions.js","../src/helper/files/canvasImageUploader.js","../src/apis/fileActions.js","../src/apis/typeActions.js","../src/apis/userActions.js","../src/apis/profileActions.js","../src/apis/utilityActions.js","../src/components/FileInput.js","../src/components/GenericInput.js","../src/actions/types.js","../src/actions/AuthActions.js","../src/actions/NavActions.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/analytics.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"],"sourcesContent":["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","// 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","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 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","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 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","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","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","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","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 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 _ 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 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 _ 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 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","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 { 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 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 _ 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 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"],"names":["AddButton","Component","getClasses","classes","props","inactive","renderIcon","_jsx","Icon","className","icon","render","_jsxs","style","onClick","children","text","COLOUR_BRANDING_MAIN","COLOUR_BRANDING_INACTIVE","COLOUR_DUSK","COLOUR_DUSK_LIGHT","LINEGREY","COLOUR_RED","COLOUR_LIGHTGREY","INACTIVE_TEXT","COLOUR_BRANDING_APP","getFileName","url","noExtension","fileSplit","split","name","length","toLowerCase","Attachment","concat","white","href","source","target","pulse","uploading","fixedWidth","title","onRemove","colour","Button","string","inline","isActive","buttonType","compact","narrow","noHoverHighlight","getButtonClasses","buttonClassName","getButtonTextClasses","result","leftIcon","buttonTextClassName","buttonClick","renderLeftIcon","_objectSpread","buttonStyle","textStyle","CheckBox","PureComponent","constructor","arguments","_defineProperty","e","disabled","onChange","generateClassNames","getLabelClasses","getBoxStyle","highlightColour","borderColor","backgroundColor","showWarning","styles","row","_","isEmpty","label","marginLeft","fontSize","lineHeight","labelStyle","display","flexDirection","marginBottom","CoreConfig","env","baseStage","baseAPIUrl","baseUploadsUrl","baseLibraryUrl","uploadBucket","colourBrandingMain","colourBrandingOff","colourBrandingApp","defaultProfileImage","utcOffset","hasAvailableNews","newsHaveTags","defaultAllowComments","makeApiKey","logo","clientName","init","environment","getUrl","baseAction","action","query","stage","undefined","Config","queryPart","keys","forEach","key","index","encodeURIComponent","getAppColourFromState","state","auth","siteBranding","MainBrandingColour","getExtension","isVideo","extension","includes","get1400","indexOf","replace","urlToUse","substring","generateImageName","c","r","Math","random","v","toString","getThumb300","getFirstName","randomString","toParagraphed","textSplit","map","t","i","iconStyle","getPluralOptions","count","singular","plural","Text","getClassName","type","ProfilePicComponent","renderPic","width","size","height","borderRadius","backgroundSize","backgroundPosition","backgroundImage","image","alt","hoverText","containerClass","mapStateToProps","ProfilePic","connect","Comment","renderImage","rel","renderComment","comment","Image","User","profilePic","displayName","moment","utc","Timestamp","local","format","Id","bottomContent","CommentSection","_this","this","event","stateChange","getAttribute","value","setState","_asyncToGenerator","commentInput","onAddComment","onlyParents","comments","filter","ParentId","onOpenThread","threadComments","innerC","profilePics","take","uniqBy","UserId","includeTitle","getComments","renderReplyText","Textarea","id","placeholder","onHandleChange","DatePicker","shownMonth","Date","grid","UNSAFE_componentWillMount","onNewProps","UNSAFE_componentWillReceiveProps","nextProps","forceUpdate","getFullYear","getMonth","generateGrid","multiple","selectedDates","selectedDate","dateToUse","isNaN","getDate","getShortDate","isDateSelected","date","isSame","isDateEnabled","enabledDates","found","find","d","day","enabled","changeMonth","change","newShownDate","selectRange","d1","lastSelected","d2","startDate","endDate","valueOf","dateRange","add","push","some","selectDate","newSelection","uniq","isBeforeMinDate","minDate","isBefore","console","log","dateKey","shiftKey","splice","month","dateToTarget","endOf","dateToModify","startOf","selectedDateToUse","rows","thisDate","isFaded","isToday","isSelected","isEnabled","renderGrid","renderTop","hideTop","bind","DurationInput","_ref","handleChange","labelWidth","hours","floor","minutes","handleHourChange","newHours","max","min","handleMinuteChange","newMinutes","marginRight","getSessionTokenAWS","prefix","data","Auth","currentSession","token","getAccessToken","getJwtToken","isUndefined","_x","apply","authedFunction","_ref2","request","authkey","headers","axios","error","_x2","unauthedFunction","getCurrentUserSub","_ref3","user","currentUserInfo","validateAccess","site","noRole","roles","Roles","role","Permissions","getApiError","errorData","response","errorMessage","checkUserAuth","userId","method","fetchForgotPasswordId","input","email","phoneNumber","authorization","disableUser","username","getUserSignin","_getUserSignin","copyDummy","CanvasImageUploader","options","maxSize","jpegQuality","imageData","base64toBlob","base64Data","contentType","sliceSize","byteCharacters","atob","byteArrays","offset","slice","byteNumbers","Array","charCodeAt","byteArray","Uint8Array","Blob","calculateSize","ratio","setDimensions","$canvas","attr","drawOnCanvas","canvas","ctx","getContext","clearRect","drawImage","readImageToCanvasOnLoad","callback","warn","newImage","getImageData","copyToCanvas","$destination","destCtx","readImageToCanvas","file","reader","FileReader","onload","fileReaderEvent","src","readAsDataURL","saveCanvasToImageData","base64","toDataURL","fileActions","uploadMediaAsync","_uploadMediaAsync","filename","newFilename","Storage","put","level","bucket","compressImage","quality","noCompress","Promise","resolve","reject","$","css","append","canvasUploader","blobToFile","theBlob","fileName","File","lastModified","putCanvas","img","getTrimmedCanvas","Buffer","from","off","imgName","then","res","catch","err","getMediaFolders","addMediaFolder","published","updateMediaFolder","deleteMediaFolder","addImagesToFolder","images","deleteImagesFromFolder","getMediaLibrary","typeActions","getSubdomains","getSubdomain","updateSubdomain","background","Key","Background","getSites","getSite","_getSite","getUserTypes","setTypePermissions","adminId","deleteUserType","createNewSite","siteName","signUpNewSite","getInterface","getInterfaces","q","deleteInterface","saveInterface","settings","attachInterface","typeName","interfaceId","getSiteBranding","generateSiteBranding","editSiteBranding","branding","editSiteSettings","values","getDefaultTVSettings","widgets","getDefaultTabSettings","tabTitle","widgetOptions","userActions","createNewUser","userExtra","bulkNewUser","users","sendWelcome","getbulks","fetchUsers","fetchInitialPasswords","fetchUser","updateUser","getSiteResidentsCount","isCount","sendWelcomeEmail","sendWelcomeText","getInviteCode","generateInviteCode","createInviteCode","userType","expiry","editInviteCode","code","deleteInviteCode","getInviteCodes","excludeFamily","getInviteCodeByCode","updateProfile","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","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","opacity","renderError","renderHelp","help","inputComponent","alignItems","isRequired","rightContent","inputClass","onKeyPress","onEnter","onKeyDown","inputStyle","readOnly","maxLength","onFocus","onBlur","textWrapperStyle","ref","autoFocus","justifyContent","SET_AUTH","SET_NAV_DATA","setAuth","stuff","payload","setNavData","Header","window","open","isSideMenuOpen","getHomeLink","history","renderRight","goToHelpGuide","renderHeader","renderSimpleHeader","fixed","renderContainerHeader","simple","onlyContainer","nav","exportObj","withRouter","SideNavItem","onUrlChange","Link","location","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","b","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","f","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","content","paddingBottom","paddingLeft","cursor","ImageInput","MoreMenu","ev","onPress","OverlayPage","updateWindowDimensions","addEventListener","removeEventListener","innerWidth","innerHeight","fullPage","fullPageStyle","pageWrapper","backgroundOverlay","backgroundStyle","position","zIndex","top","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","entity","Object","renderReactions","SITE_COLOURS","getSiteColour","getAnalyticsFilterOptions","dayCount","prevText","AnalyticsFilter","filterOptions","hideOptions","DropdownItem","eventKey","active","selectedFilter","o","dateRangeText","calendarVisible","filterChanged","start","end","isSameOrBefore","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","parseInt","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","Type","Category","audienceTypeSelection","custom","disallowSingleUsers","allowTags","getUsers","getUserTags","isEqual","onSubmit","getIncludeList","getExcludeList","results","Items","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","hex","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","entry","Cell","to","StatBox","previousValue","isFinite"],"mappings":"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"}
|