@plusscommunities/pluss-core-web 1.7.3-beta.1 → 1.7.4-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.
Files changed (116) hide show
  1. package/dist/components.js +37233 -474
  2. package/dist/components.js.map +1 -1
  3. package/dist/index.js +37233 -474
  4. package/dist/index.js.map +1 -1
  5. package/package.json +22 -31
  6. package/.babelrc +0 -3
  7. package/dist/index.cjs.js +0 -10388
  8. package/dist/index.esm.js +0 -10349
  9. package/dist/index.umd.js +0 -10361
  10. package/rollup.config.js +0 -57
  11. package/src/actions/AuthActions.js +0 -83
  12. package/src/actions/LocalActions.js +0 -8
  13. package/src/actions/NavActions.js +0 -8
  14. package/src/actions/ScheduledActionsActions.js +0 -8
  15. package/src/actions/TemplateActions.js +0 -15
  16. package/src/actions/UsersActions.js +0 -95
  17. package/src/actions/index.js +0 -6
  18. package/src/actions/types.js +0 -23
  19. package/src/analytics.js +0 -183
  20. package/src/apis/analyticsActions.js +0 -53
  21. package/src/apis/authActions.js +0 -58
  22. package/src/apis/fileActions.js +0 -152
  23. package/src/apis/index.js +0 -10
  24. package/src/apis/profileActions.js +0 -133
  25. package/src/apis/scheduledActionsActions.js +0 -12
  26. package/src/apis/stringActions.js +0 -25
  27. package/src/apis/templateActions.js +0 -41
  28. package/src/apis/typeActions.js +0 -186
  29. package/src/apis/userActions.js +0 -169
  30. package/src/apis/utilityActions.js +0 -35
  31. package/src/colours.js +0 -134
  32. package/src/components/AddButton.js +0 -27
  33. package/src/components/AnalyticsFilter.js +0 -115
  34. package/src/components/Attachment.js +0 -27
  35. package/src/components/AudienceIncluder.js +0 -175
  36. package/src/components/AudienceSelector.js +0 -700
  37. package/src/components/Button.js +0 -66
  38. package/src/components/CheckBox.js +0 -77
  39. package/src/components/ColourOptions.js +0 -197
  40. package/src/components/ColourPicker.js +0 -267
  41. package/src/components/Comment.js +0 -46
  42. package/src/components/CommentSection.js +0 -116
  43. package/src/components/DatePicker.js +0 -290
  44. package/src/components/DropdownInput.js +0 -223
  45. package/src/components/DurationInput.js +0 -51
  46. package/src/components/ExportCsvPopup.js +0 -222
  47. package/src/components/FileInput.js +0 -389
  48. package/src/components/GenericInput.js +0 -169
  49. package/src/components/Header.js +0 -82
  50. package/src/components/HubSidebar.js +0 -134
  51. package/src/components/ImageInput.js +0 -987
  52. package/src/components/InputGroup.js +0 -18
  53. package/src/components/MakerPopup.js +0 -310
  54. package/src/components/MoreMenu.js +0 -22
  55. package/src/components/OptionsSection.js +0 -84
  56. package/src/components/OverlayPage.js +0 -74
  57. package/src/components/OverlayPageBottomButtons.js +0 -48
  58. package/src/components/OverlayPageContents.js +0 -48
  59. package/src/components/OverlayPageSection.js +0 -38
  60. package/src/components/P60Icon.js +0 -40
  61. package/src/components/PageTitle.js +0 -13
  62. package/src/components/Popup.js +0 -104
  63. package/src/components/ProfilePic.js +0 -50
  64. package/src/components/RadioButton.js +0 -144
  65. package/src/components/Reactions.js +0 -77
  66. package/src/components/SVGIcon.js +0 -33
  67. package/src/components/SideNavItem.js +0 -98
  68. package/src/components/StatBox.js +0 -49
  69. package/src/components/StatusButton.js +0 -22
  70. package/src/components/SuccessPopup.js +0 -57
  71. package/src/components/Tabs.js +0 -56
  72. package/src/components/Tag.js +0 -62
  73. package/src/components/Text.js +0 -20
  74. package/src/components/TextFormatPopup.js +0 -54
  75. package/src/components/TimePicker.js +0 -225
  76. package/src/components/UserListing.js +0 -111
  77. package/src/components/index.js +0 -46
  78. package/src/components/svg-icons.json +0 -821
  79. package/src/config.js +0 -25
  80. package/src/helper/HelpDeskWidget.js +0 -16
  81. package/src/helper/api/getUrl.js +0 -15
  82. package/src/helper/api/getUrlParams.js +0 -9
  83. package/src/helper/api/safeReadParams.js +0 -6
  84. package/src/helper/auth/getUserFromState.js +0 -8
  85. package/src/helper/colours/getAppColourFromState.js +0 -10
  86. package/src/helper/files/canvasImageUploader.js +0 -159
  87. package/src/helper/files/generateImageName.js +0 -10
  88. package/src/helper/files/get1400.js +0 -32
  89. package/src/helper/files/getExtension.js +0 -9
  90. package/src/helper/files/getFileName.js +0 -13
  91. package/src/helper/files/getThumb300.js +0 -36
  92. package/src/helper/files/isVideo.js +0 -8
  93. package/src/helper/helper.js +0 -97
  94. package/src/helper/index.js +0 -44
  95. package/src/helper/site/getMerchantsFromState.js +0 -9
  96. package/src/helper/site/getSiteLevelFromState.js +0 -34
  97. package/src/helper/site/getSiteName.js +0 -16
  98. package/src/helper/site/getSiteNameFromRoles.js +0 -12
  99. package/src/helper/site/getSiteSettingFromState.js +0 -10
  100. package/src/helper/storage/readJSONFromStorage.js +0 -9
  101. package/src/helper/storage/readStorageWithCookie.js +0 -22
  102. package/src/helper/storage/setLocalStorage.js +0 -5
  103. package/src/helper/strings/getFirstName.js +0 -10
  104. package/src/helper/strings/htmlDecode.js +0 -4
  105. package/src/helper/strings/htmlEncode.js +0 -4
  106. package/src/helper/strings/isEmail.js +0 -11
  107. package/src/helper/strings/isUrl.js +0 -13
  108. package/src/helper/strings/onlyAlphanumeric.js +0 -8
  109. package/src/helper/strings/randomString.js +0 -10
  110. package/src/helper/strings/toParagraphed.js +0 -17
  111. package/src/index.js +0 -12
  112. package/src/reducers/ScheduledActionsReducer.js +0 -14
  113. package/src/reducers/TemplatesReducer.js +0 -29
  114. package/src/reducers/index.js +0 -7
  115. package/src/session.js +0 -289
  116. package/src/urls.js +0 -21
@@ -1,169 +0,0 @@
1
- import React, { Component } from 'react';
2
- import _ from 'lodash';
3
- import Textarea from 'react-textarea-autosize';
4
-
5
- class GenericInput extends Component {
6
- componentDidUpdate(prevProps, prevState) {
7
- if (!_.isUndefined(this.props.autofocus) && this.props.autofocus) {
8
- this._input.focus();
9
- }
10
- }
11
-
12
- getAutoComplete() {
13
- if (!_.isUndefined(this.props.autoComplete)) {
14
- return this.props.autoComplete ? 'on' : 'off';
15
- }
16
- return 'off';
17
- }
18
-
19
- isValid() {
20
- if (!_.isUndefined(this.props.isValid) && typeof this.props.isValid === 'function') {
21
- return this.props.isValid();
22
- }
23
- return this.props.isValid;
24
- }
25
-
26
- showError() {
27
- return (
28
- !_.isUndefined(this.props.showError) &&
29
- ((typeof this.props.showError === 'function' && this.props.showError()) ||
30
- (typeof this.props.showError === 'boolean' && this.props.showError))
31
- );
32
- }
33
-
34
- getClassNames() {
35
- let string = `${this.props.className} genericInputContainer`;
36
- if (!_.isUndefined(this.props.disabled) && this.props.disabled) {
37
- string += ' genericInput-disabled';
38
- }
39
- if (this.props.large) {
40
- string += ' genericInput-large';
41
- }
42
- if (!_.isUndefined(this.props.type) && this.props.type === 'textarea') {
43
- string += ' genericInput-textarea';
44
- }
45
- if (this.isValid()) {
46
- return string + ' genericInput-valid';
47
- }
48
- if (this.showError()) {
49
- return string + ' genericInput-error';
50
- }
51
- return string;
52
- }
53
-
54
- getLabelStyle() {
55
- const style = {};
56
- if (_.isEmpty(this.props.value) && !this.props.alwaysShowLabel) {
57
- style.opacity = 0;
58
- }
59
- return style;
60
- }
61
-
62
- renderError() {
63
- if (this.showError() && !this.isValid()) {
64
- return <div className={'fieldLabel fieldLabel-warning'}>{this.props.errorMessage ? this.props.errorMessage : 'Required'}</div>;
65
- }
66
- return null;
67
- }
68
- renderHelp() {
69
- if (!_.isEmpty(this.props.help)) {
70
- return <div className="genericInput-help">{this.props.help}</div>;
71
- }
72
- return null;
73
- }
74
-
75
- renderInput() {
76
- if (!_.isUndefined(this.props.inputComponent)) {
77
- return (
78
- <div style={{ ...styles.row, alignItems: 'flex-start' }}>
79
- {this.props.isRequired && <div className="inputRequired " />}
80
- {this.props.inputComponent}
81
- {this.props.rightContent}
82
- </div>
83
- );
84
- }
85
- if (!_.isUndefined(this.props.type) && this.props.type === 'textarea') {
86
- // Render expandable text area
87
- return (
88
- <div style={{ ...styles.row, alignItems: 'flex-start' }}>
89
- {this.props.isRequired && <div className="inputRequired " />}
90
- <Textarea
91
- id={this.props.id}
92
- placeholder={!_.isUndefined(this.props.placeholder) ? this.props.placeholder : this.props.label}
93
- type={!_.isUndefined(this.props.type) ? this.props.type : 'text'}
94
- className={`genericInput ${this.props.inputClass}`}
95
- value={this.props.value || ''}
96
- onChange={this.props.onChange}
97
- onKeyPress={this.props.onKeyPress || this.props.onEnter}
98
- onKeyDown={this.props.onKeyDown}
99
- style={{ ...this.props.inputStyle }}
100
- readOnly={!_.isUndefined(this.props.readOnly) ? this.props.readOnly : false}
101
- disabled={!_.isUndefined(this.props.disabled) ? this.props.disabled : false}
102
- autoComplete={this.getAutoComplete()}
103
- maxLength={this.props.maxLength}
104
- onFocus={this.props.onFocus}
105
- onBlur={this.props.onBlur}
106
- />
107
- {this.props.rightContent}
108
- </div>
109
- );
110
- }
111
- // Render default input
112
- return (
113
- <div style={{ ...styles.row, ...this.props.textWrapperStyle }}>
114
- {this.props.isRequired && <div className="inputRequired " />}
115
- <input
116
- ref={(c) => (this._input = c)}
117
- id={this.props.id}
118
- placeholder={!_.isUndefined(this.props.placeholder) ? this.props.placeholder : this.props.label}
119
- type={!_.isUndefined(this.props.type) ? this.props.type : 'text'}
120
- className={`genericInput ${this.props.inputClass}`}
121
- value={this.props.value || ''}
122
- onChange={this.props.onChange}
123
- onClick={this.props.onClick}
124
- onKeyPress={this.props.onKeyPress || this.props.onEnter}
125
- onKeyDown={this.props.onKeyDown}
126
- style={{ ...this.props.inputStyle }}
127
- readOnly={!_.isUndefined(this.props.readOnly) ? this.props.readOnly : false}
128
- disabled={!_.isUndefined(this.props.disabled) ? this.props.disabled : false}
129
- autoComplete={this.getAutoComplete()}
130
- autoFocus={!_.isUndefined(this.props.autofocus) ? this.props.autofocus : false}
131
- maxLength={this.props.maxLength}
132
- onFocus={this.props.onFocus}
133
- onBlur={this.props.onBlur}
134
- />
135
- {this.props.rightContent}
136
- </div>
137
- );
138
- }
139
-
140
- render() {
141
- return (
142
- <div className={this.getClassNames()} style={{ ...this.props.style }}>
143
- <div style={{ ...styles.row, marginBottom: 0, justifyContent: 'space-between' }}>
144
- {!_.isUndefined(this.props.label) && (
145
- <div className="fieldLabel" style={this.getLabelStyle()}>
146
- {this.props.label}
147
- </div>
148
- )}
149
- {this.renderError()}
150
- </div>
151
- {/* Render either generic input or large text area */}
152
- {this.renderInput()}
153
- {/* Render bottom help info */}
154
- {this.renderHelp()}
155
- </div>
156
- );
157
- }
158
- }
159
-
160
- const styles = {
161
- row: {
162
- display: 'flex',
163
- flexDirection: 'row',
164
- // marginBottom: 8,
165
- alignItems: 'center',
166
- },
167
- };
168
-
169
- export { GenericInput };
@@ -1,82 +0,0 @@
1
- import React, { Component } from 'react';
2
- import { withRouter } from 'react-router';
3
- import { connect } from 'react-redux';
4
- import { setNavData } from '../actions';
5
- import { Button } from './Button';
6
-
7
- class Header extends Component {
8
- getHomeLink() {
9
- this.props.history.replace('/');
10
- }
11
-
12
- goToHelpGuide = () => {
13
- window.open('https://www.plusscommunities.com/user-guide', '_blank');
14
- };
15
-
16
- toggleSideMenu = () => {
17
- this.props.setNavData({ isSideMenuOpen: !this.props.isSideMenuOpen });
18
- };
19
-
20
- renderRight() {
21
- if (this.props.rightContent) {
22
- return this.props.rightContent;
23
- }
24
- return (
25
- <div className="flex flex-center">
26
- <Button buttonType="primary" onClick={this.goToHelpGuide} narrow isActive className="marginRight-16">
27
- Help Guide
28
- </Button>
29
- <div className="sideMenuButtonContainer"></div>
30
- </div>
31
- );
32
- }
33
-
34
- renderHeader() {
35
- return (
36
- <div className="header">
37
- <div id="leftContainer" style={{ display: 'inline-block' }}>
38
- {this.props.children && (
39
- <div style={{ display: 'flex', height: '100%', alignItems: 'center', marginLeft: 16 }}>{this.props.children}</div>
40
- )}
41
- </div>
42
- {this.renderRight()}
43
- </div>
44
- );
45
- }
46
-
47
- renderSimpleHeader() {
48
- return (
49
- <div className={`header header-simple ${this.props.fixed ? 'header-fixed' : ''}`}>
50
- <div className="container1200 flex flex-center">
51
- <img
52
- className="header_logo"
53
- src="https://pluss-prd-media.s3-ap-southeast-2.amazonaws.com/assets/plusscommunities-new.svg"
54
- alt="logo"
55
- />
56
- </div>
57
- </div>
58
- );
59
- }
60
-
61
- renderContainerHeader() {
62
- return <div className={`header header-simple ${this.props.fixed ? 'header-fixed' : ''}`}>{this.props.children}</div>;
63
- }
64
-
65
- render() {
66
- if (this.props.simple) {
67
- return this.renderSimpleHeader();
68
- }
69
- if (this.props.onlyContainer) {
70
- return this.renderContainerHeader();
71
- }
72
- return this.renderHeader();
73
- }
74
- }
75
-
76
- const mapStateToProps = (state) => {
77
- return { auth: state.auth, isSideMenuOpen: state.nav.isSideMenuOpen };
78
- };
79
-
80
- let exportObj = connect(mapStateToProps, { setNavData })(withRouter(Header));
81
-
82
- export { exportObj as Header };
@@ -1,134 +0,0 @@
1
- import React, { PureComponent } from 'react';
2
- import _ from 'lodash';
3
- import { connect } from 'react-redux';
4
- import { setNavData } from '../actions';
5
- import { SideNavItem } from './SideNavItem';
6
- import { Button } from './Button';
7
- import { Text } from './Text';
8
-
9
- class HubSidebar extends PureComponent {
10
- constructor(props) {
11
- super(props);
12
-
13
- this.state = {
14
- showSidebar: false,
15
- };
16
- }
17
-
18
- componentDidMount() {
19
- this.props.setNavData({
20
- condensedSidebar: true,
21
- });
22
- setTimeout(() => {
23
- this.setState({
24
- showSidebar: true,
25
- });
26
- }, 50);
27
- }
28
-
29
- componentWillUnmount() {
30
- this.props.setNavData({
31
- condensedSidebar: false,
32
- });
33
- this.setState({
34
- showSidebar: false,
35
- });
36
- }
37
-
38
- renderButton(item, index) {
39
- return (
40
- <div key={`button_${index}`} className="hubSidebar_newButtonContainer">
41
- <Button buttonType={item.buttonType || 'primary'} isActive leftIcon={item.icon} narrow onClick={item.onClick}>
42
- {item.text}
43
- </Button>
44
- </div>
45
- );
46
- }
47
-
48
- renderNewButton(item, index) {
49
- return this.renderButton({ ...item, icon: 'plus' }, index);
50
- }
51
-
52
- renderNavItem(item, index) {
53
- return (
54
- <SideNavItem
55
- Text={item.text}
56
- Icon={item.icon}
57
- Link={item.url}
58
- isFontAwesome={item.isFontAwesome}
59
- isSVG={item.isSVG}
60
- key={`navitem_${index}`}
61
- selected={item.selected}
62
- onClick={item.onClick}
63
- />
64
- );
65
- }
66
-
67
- renderSection(section, index) {
68
- return (
69
- <div className="hubSidebar_section" key={`section_${index}`}>
70
- <Text type="h3" className="hubSidebar_sectionTitle">
71
- {section.title}
72
- </Text>
73
- {section.items.map((item, itemIndex) => {
74
- switch (item.type) {
75
- case 'button':
76
- return this.renderButton(item, itemIndex);
77
- case 'newButton':
78
- return this.renderNewButton(item, itemIndex);
79
- case 'navItem':
80
- return this.renderNavItem(item, itemIndex);
81
- default:
82
- return null;
83
- }
84
- })}
85
- </div>
86
- );
87
- }
88
-
89
- renderHelpGuide = () => {
90
- if (!this.props.helpGuide) return null
91
-
92
- const { text, url } = this.props.helpGuide
93
-
94
- const onHelpGuidePress = () => {
95
- if (!url) return
96
- window.open(url, '_blank')
97
- }
98
- return (
99
- <div className="hubSidebar_helpGuideContainer">
100
- <Button buttonType="outlined" isActive leftIcon="info-circle" narrow onClick={onHelpGuidePress}>
101
- {text || 'Help Guide'}
102
- </Button>
103
- </div>
104
- )
105
- }
106
-
107
- render() {
108
- return (
109
- <div
110
- className={`hubSidebar${this.state.showSidebar ? ' hubSidebar-show' : ''} ${this.props.className ? this.props.className : ''}`}
111
- style={this.props.style}
112
- >
113
- {/* Top Add Button */}
114
- <div className="hubSidebar_content">
115
- {/* Title */}
116
- {this.props.sections.map((section, i) => {
117
- return this.renderSection(section, i);
118
- })}
119
- </div>
120
-
121
- {/* Help Guide Button. */}
122
- {this.renderHelpGuide()}
123
- </div>
124
- );
125
- }
126
- }
127
-
128
- const mapStateToProps = (state) => {
129
- return { auth: state.auth, isSideMenuOpen: state.nav.isSideMenuOpen };
130
- };
131
-
132
- let exportObj = connect(mapStateToProps, { setNavData })(HubSidebar);
133
-
134
- export { exportObj as HubSidebar };