gogoclient 1.2.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +21 -0
- package/README.md +1 -0
- package/dist/components/AuthWrapper.js +61 -0
- package/dist/components/PageLayout.js +53 -0
- package/dist/components/RequireAuth.js +86 -0
- package/dist/components/index.js +27 -0
- package/dist/helpers/Root.js +206 -0
- package/dist/helpers/SubscriptionManager.js +61 -0
- package/dist/helpers/currentUserContext.js +12 -0
- package/dist/helpers/currentUserQuery.js +11 -0
- package/dist/helpers/getUrl.js +18 -0
- package/dist/helpers/sentry.js +25 -0
- package/dist/helpers/startClient.js +25 -0
- package/dist/helpers/subscriptionManagerContext.js +22 -0
- package/dist/index.js +109 -0
- package/dist/pages/ProviderConnection.page.js +99 -0
- package/dist/pages/ProviderConnection.queries.js +12 -0
- package/dist/pages/index.js +28 -0
- package/dist/theme/elements/Action.js +29 -0
- package/dist/theme/elements/ActionGroup.js +14 -0
- package/dist/theme/elements/AppBar.js +17 -0
- package/dist/theme/elements/Button.js +31 -0
- package/dist/theme/elements/Checkbox.js +38 -0
- package/dist/theme/elements/GlobalStyle.js +10 -0
- package/dist/theme/elements/Logo.js +10 -0
- package/dist/theme/elements/Menu.js +15 -0
- package/dist/theme/elements/Radio.js +27 -0
- package/dist/theme/elements/TextField.js +39 -0
- package/dist/theme/elements/index.js +76 -0
- package/dist/theme/index.js +93 -0
- package/dist/toolkit/darkenLighten.js +57 -0
- package/dist/toolkit/headingScale.js +29 -0
- package/dist/toolkit/index.js +79 -0
- package/dist/toolkit/media.js +23 -0
- package/dist/toolkit/override.js +74 -0
- package/dist/toolkit/styles/fadeInOut.js +11 -0
- package/dist/toolkit/styles/rotate360.js +11 -0
- package/dist/toolkit/themeHelper.js +53 -0
- package/dist/ui/_helpers/_helpers.js +69 -0
- package/dist/ui/_helpers/cssSnippets.js +11 -0
- package/dist/ui/_helpers/index.js +40 -0
- package/dist/ui/_helpers/useBreakpoint.js +35 -0
- package/dist/ui/assignReviewers/AssignReviewers.js +174 -0
- package/dist/ui/assignReviewers/InviteRowProp.js +130 -0
- package/dist/ui/assignReviewers/ReviewerTable.js +268 -0
- package/dist/ui/assignReviewers/SearchBox.js +160 -0
- package/dist/ui/assignReviewers/SuggestedReviewer.js +28 -0
- package/dist/ui/assignReviewers/index.js +13 -0
- package/dist/ui/authentication/AuthenticationForm.js +87 -0
- package/dist/ui/authentication/AuthenticationHeader.js +13 -0
- package/dist/ui/authentication/AuthenticationWrapper.js +13 -0
- package/dist/ui/authentication/ChangePassword.js +128 -0
- package/dist/ui/authentication/DeactivatedUser.js +17 -0
- package/dist/ui/authentication/Login.js +74 -0
- package/dist/ui/authentication/ProfileForm.js +79 -0
- package/dist/ui/authentication/ProviderConnection.js +69 -0
- package/dist/ui/authentication/RequestPasswordReset.js +89 -0
- package/dist/ui/authentication/ResetPassword.js +96 -0
- package/dist/ui/authentication/Signup.js +180 -0
- package/dist/ui/authentication/SuccessSubTitle.js +20 -0
- package/dist/ui/authentication/VerifyCheck.js +55 -0
- package/dist/ui/authentication/VerifyEmail.js +119 -0
- package/dist/ui/authentication/index.js +104 -0
- package/dist/ui/chat/ChatInput.js +63 -0
- package/dist/ui/chat/ChatMessage.js +67 -0
- package/dist/ui/chat/ChatMessageList.js +45 -0
- package/dist/ui/chat/ChatThread.js +41 -0
- package/dist/ui/chat/index.js +34 -0
- package/dist/ui/common/AutoComplete.js +56 -0
- package/dist/ui/common/Button.js +83 -0
- package/dist/ui/common/ButtonGroup.js +58 -0
- package/dist/ui/common/Checkbox.js +30 -0
- package/dist/ui/common/CheckboxGroup.js +42 -0
- package/dist/ui/common/CokoLink.js +24 -0
- package/dist/ui/common/Collapse.js +14 -0
- package/dist/ui/common/DateParser.js +49 -0
- package/dist/ui/common/Divider.js +8 -0
- package/dist/ui/common/Empty.js +14 -0
- package/dist/ui/common/Form.js +216 -0
- package/dist/ui/common/FormSection.js +35 -0
- package/dist/ui/common/Headings.js +74 -0
- package/dist/ui/common/Input.js +72 -0
- package/dist/ui/common/InputNumber.js +54 -0
- package/dist/ui/common/InviteStatus.js +63 -0
- package/dist/ui/common/Layout.js +17 -0
- package/dist/ui/common/LinkWithoutStyles.js +12 -0
- package/dist/ui/common/List.js +390 -0
- package/dist/ui/common/Modal.js +17 -0
- package/dist/ui/common/Note.js +23 -0
- package/dist/ui/common/Page.js +33 -0
- package/dist/ui/common/Pagination.js +126 -0
- package/dist/ui/common/Popup.js +146 -0
- package/dist/ui/common/Radio.js +54 -0
- package/dist/ui/common/Result.js +8 -0
- package/dist/ui/common/Ribbon.js +54 -0
- package/dist/ui/common/Search.js +30 -0
- package/dist/ui/common/Select.js +148 -0
- package/dist/ui/common/Spin.js +87 -0
- package/dist/ui/common/Split.js +49 -0
- package/dist/ui/common/Status.js +53 -0
- package/dist/ui/common/Switch.js +47 -0
- package/dist/ui/common/Table.js +111 -0
- package/dist/ui/common/Tabs.js +8 -0
- package/dist/ui/common/TabsStyled.js +65 -0
- package/dist/ui/common/TextArea.js +29 -0
- package/dist/ui/common/Typography.js +9 -0
- package/dist/ui/common/VisuallyHiddenElement.js +17 -0
- package/dist/ui/common/_reusableStyles.js +14 -0
- package/dist/ui/common/index.js +341 -0
- package/dist/ui/index.js +49 -0
- package/package.json +114 -0
- package/scripts/coko-client-build.js +42 -0
- package/scripts/coko-client-build.sh +28 -0
- package/scripts/coko-client-dev.js +16 -0
- package/scripts/coko-client-dev.sh +28 -0
- package/scripts/env.sh +41 -0
- package/webpack/changes.md +20 -0
- package/webpack/index.ejs +15 -0
- package/webpack/noop.js +11 -0
- package/webpack/webpack.config.js +483 -0
|
@@ -0,0 +1,160 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
|
|
4
|
+
Object.defineProperty(exports, "__esModule", {
|
|
5
|
+
value: true
|
|
6
|
+
});
|
|
7
|
+
exports["default"] = void 0;
|
|
8
|
+
var _react = _interopRequireWildcard(require("react"));
|
|
9
|
+
var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
10
|
+
var _styledComponents = _interopRequireDefault(require("styled-components"));
|
|
11
|
+
var _toolkit = require("../../toolkit");
|
|
12
|
+
var _common = require("../common");
|
|
13
|
+
var _templateObject, _templateObject2, _templateObject3;
|
|
14
|
+
function _interopRequireDefault(e) { return e && e.__esModule ? e : { "default": e }; }
|
|
15
|
+
function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function _interopRequireWildcard(e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, "default": e }; if (null === e || "object" != _typeof(e) && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (var _t in e) "default" !== _t && {}.hasOwnProperty.call(e, _t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, _t)) && (i.get || i.set) ? o(f, _t, i) : f[_t] = e[_t]); return f; })(e, t); }
|
|
16
|
+
function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
17
|
+
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
18
|
+
function _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; }
|
|
19
|
+
function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : i + ""; }
|
|
20
|
+
function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
|
|
21
|
+
function _slicedToArray(r, e) { return _arrayWithHoles(r) || _iterableToArrayLimit(r, e) || _unsupportedIterableToArray(r, e) || _nonIterableRest(); }
|
|
22
|
+
function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
|
|
23
|
+
function _unsupportedIterableToArray(r, a) { if (r) { if ("string" == typeof r) return _arrayLikeToArray(r, a); var t = {}.toString.call(r).slice(8, -1); return "Object" === t && r.constructor && (t = r.constructor.name), "Map" === t || "Set" === t ? Array.from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray(r, a) : void 0; } }
|
|
24
|
+
function _arrayLikeToArray(r, a) { (null == a || a > r.length) && (a = r.length); for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; return n; }
|
|
25
|
+
function _iterableToArrayLimit(r, l) { var t = null == r ? null : "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (null != t) { var e, n, i, u, a = [], f = !0, o = !1; try { if (i = (t = t.call(r)).next, 0 === l) { if (Object(t) !== t) return; f = !1; } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0); } catch (r) { o = !0, n = r; } finally { try { if (!f && null != t["return"] && (u = t["return"](), Object(u) !== u)) return; } finally { if (o) throw n; } } return a; } }
|
|
26
|
+
function _arrayWithHoles(r) { if (Array.isArray(r)) return r; }
|
|
27
|
+
function _taggedTemplateLiteral(e, t) { return t || (t = e.slice(0)), Object.freeze(Object.defineProperties(e, { raw: { value: Object.freeze(t) } })); }
|
|
28
|
+
var Wrapper = _styledComponents["default"].div(_templateObject || (_templateObject = _taggedTemplateLiteral(["\n display: flex;\n gap: ", ";\n margin: 0 auto;\n width: 100%;\n\n @media (min-width: ", ") {\n padding: ", ";\n }\n"])), (0, _toolkit.grid)(1), (0, _toolkit.th)('mediaQueries.small'), (0, _toolkit.grid)(4));
|
|
29
|
+
var StyledSelect = (0, _styledComponents["default"])(_common.Select)(_templateObject2 || (_templateObject2 = _taggedTemplateLiteral(["\n flex-grow: 1;\n\n .react-select__control {\n border: 0;\n box-shadow: ", " 0 0 0 1px;\n padding: 0 ", ";\n transition: box-shadow 0.2s ease-in;\n }\n\n .react-select__control--is-focused {\n box-shadow: ", " 0 0 0 2px;\n }\n\n .react-select__menu {\n margin-top: 4px;\n }\n"])), (0, _toolkit.th)('colorBorder'), (0, _toolkit.grid)(1), (0, _toolkit.th)('colorPrimary'));
|
|
30
|
+
var AddButton = (0, _styledComponents["default"])(_common.Button)(_templateObject3 || (_templateObject3 = _taggedTemplateLiteral(["\n height: 100%;\n"])));
|
|
31
|
+
var SearchBox = function SearchBox(props) {
|
|
32
|
+
var additionalSearchFields = props.additionalSearchFields,
|
|
33
|
+
className = props.className,
|
|
34
|
+
searchPlaceholder = props.searchPlaceholder,
|
|
35
|
+
onAdd = props.onAdd,
|
|
36
|
+
onSearch = props.onSearch;
|
|
37
|
+
var _useState = (0, _react.useState)([]),
|
|
38
|
+
_useState2 = _slicedToArray(_useState, 2),
|
|
39
|
+
selection = _useState2[0],
|
|
40
|
+
setSelection = _useState2[1];
|
|
41
|
+
var _useState3 = (0, _react.useState)(false),
|
|
42
|
+
_useState4 = _slicedToArray(_useState3, 2),
|
|
43
|
+
loadingSearchResults = _useState4[0],
|
|
44
|
+
setLoadingSearchResults = _useState4[1];
|
|
45
|
+
var _useState5 = (0, _react.useState)([]),
|
|
46
|
+
_useState6 = _slicedToArray(_useState5, 2),
|
|
47
|
+
searchResults = _useState6[0],
|
|
48
|
+
setSearchResults = _useState6[1];
|
|
49
|
+
var handleSearch = function handleSearch(searchValue) {
|
|
50
|
+
setLoadingSearchResults(true);
|
|
51
|
+
onSearch(searchValue).then(function (data) {
|
|
52
|
+
if (!additionalSearchFields.length || !data.length) {
|
|
53
|
+
setSearchResults(data);
|
|
54
|
+
return;
|
|
55
|
+
}
|
|
56
|
+
var nameMatchData = data.filter(function (d) {
|
|
57
|
+
return d.displayName.toLowerCase().includes(searchValue.toLowerCase());
|
|
58
|
+
});
|
|
59
|
+
var otherData = data.filter(function (d) {
|
|
60
|
+
return !d.displayName.toLowerCase().includes(searchValue.toLowerCase());
|
|
61
|
+
});
|
|
62
|
+
var parsedData = [];
|
|
63
|
+
nameMatchData.length && parsedData.push({
|
|
64
|
+
label: 'Reviewer Name',
|
|
65
|
+
options: nameMatchData.map(function (n) {
|
|
66
|
+
return _objectSpread(_objectSpread({}, n), {}, {
|
|
67
|
+
key: "displayName-".concat(n.id)
|
|
68
|
+
});
|
|
69
|
+
})
|
|
70
|
+
});
|
|
71
|
+
additionalSearchFields.forEach(function (field) {
|
|
72
|
+
if (field.items && Array.isArray(field.items)) {
|
|
73
|
+
field.items.forEach(function (item) {
|
|
74
|
+
if (!item.toLowerCase().includes(searchValue.toLowerCase())) return;
|
|
75
|
+
var group = {
|
|
76
|
+
label: "".concat(field.label, ": ").concat(item),
|
|
77
|
+
options: []
|
|
78
|
+
};
|
|
79
|
+
var filteredData = otherData.filter(function (d) {
|
|
80
|
+
return d[field.value] !== undefined && d[field.value].includes(item);
|
|
81
|
+
});
|
|
82
|
+
if (!filteredData.length) return;
|
|
83
|
+
group.options = filteredData.map(function (f) {
|
|
84
|
+
return _objectSpread(_objectSpread({}, f), {}, {
|
|
85
|
+
key: "".concat(field.value, "-").concat(item, "-").concat(f.value)
|
|
86
|
+
});
|
|
87
|
+
});
|
|
88
|
+
parsedData.push(group);
|
|
89
|
+
});
|
|
90
|
+
} else {
|
|
91
|
+
var group = {
|
|
92
|
+
label: field.label,
|
|
93
|
+
options: []
|
|
94
|
+
};
|
|
95
|
+
var filteredData = otherData.filter(function (d) {
|
|
96
|
+
return d[field.value] !== undefined && d[field.value] !== false;
|
|
97
|
+
});
|
|
98
|
+
if (!filteredData.length) return;
|
|
99
|
+
group.options = filteredData.map(function (f) {
|
|
100
|
+
return _objectSpread(_objectSpread({}, f), {}, {
|
|
101
|
+
key: "".concat(field.value, "-").concat(f.value)
|
|
102
|
+
});
|
|
103
|
+
});
|
|
104
|
+
parsedData.push(group);
|
|
105
|
+
}
|
|
106
|
+
});
|
|
107
|
+
setSearchResults(parsedData);
|
|
108
|
+
})["finally"](function () {
|
|
109
|
+
setLoadingSearchResults(false);
|
|
110
|
+
});
|
|
111
|
+
};
|
|
112
|
+
var handleAdd = function handleAdd() {
|
|
113
|
+
onAdd(selection.map(function (s) {
|
|
114
|
+
return s.value;
|
|
115
|
+
}))["finally"](function () {
|
|
116
|
+
setSearchResults([]);
|
|
117
|
+
setSelection([]);
|
|
118
|
+
});
|
|
119
|
+
};
|
|
120
|
+
return /*#__PURE__*/_react["default"].createElement(Wrapper, {
|
|
121
|
+
className: className
|
|
122
|
+
}, /*#__PURE__*/_react["default"].createElement(StyledSelect, {
|
|
123
|
+
async: true,
|
|
124
|
+
defaultOpen: false,
|
|
125
|
+
labelInValue: true,
|
|
126
|
+
loading: loadingSearchResults,
|
|
127
|
+
mode: "multiple",
|
|
128
|
+
onChange: setSelection,
|
|
129
|
+
onSearch: handleSearch,
|
|
130
|
+
options: searchResults,
|
|
131
|
+
placeholder: searchPlaceholder,
|
|
132
|
+
value: selection
|
|
133
|
+
}), /*#__PURE__*/_react["default"].createElement(AddButton, {
|
|
134
|
+
"aria-labelledby": "reviewer-team",
|
|
135
|
+
disabled: selection.length === 0,
|
|
136
|
+
onClick: handleAdd,
|
|
137
|
+
type: "primary"
|
|
138
|
+
}, "Add User", selection.length > 1 && 's'));
|
|
139
|
+
};
|
|
140
|
+
SearchBox.propTypes = {
|
|
141
|
+
/** Additional search fields definitions to display on search */
|
|
142
|
+
additionalSearchFields: _propTypes["default"].arrayOf(_propTypes["default"].shape({
|
|
143
|
+
label: _propTypes["default"].string.isRequired,
|
|
144
|
+
value: _propTypes["default"].string.isRequired,
|
|
145
|
+
items: _propTypes["default"].arrayOf(_propTypes["default"].string)
|
|
146
|
+
})),
|
|
147
|
+
/** Function to run when "Add user(s)" is clicked */
|
|
148
|
+
onAdd: _propTypes["default"].func,
|
|
149
|
+
/** Function to run when typing into the search field */
|
|
150
|
+
onSearch: _propTypes["default"].func,
|
|
151
|
+
/** Placeholder for the search bar */
|
|
152
|
+
searchPlaceholder: _propTypes["default"].string
|
|
153
|
+
};
|
|
154
|
+
SearchBox.defaultProps = {
|
|
155
|
+
additionalSearchFields: [],
|
|
156
|
+
onAdd: function onAdd() {},
|
|
157
|
+
onSearch: function onSearch() {},
|
|
158
|
+
searchPlaceholder: 'Add a reviewer to the list'
|
|
159
|
+
};
|
|
160
|
+
var _default = exports["default"] = SearchBox;
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports["default"] = void 0;
|
|
7
|
+
var _react = _interopRequireDefault(require("react"));
|
|
8
|
+
var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
9
|
+
var _styledComponents = _interopRequireDefault(require("styled-components"));
|
|
10
|
+
var _toolkit = require("../../toolkit");
|
|
11
|
+
var _templateObject, _templateObject2;
|
|
12
|
+
function _interopRequireDefault(e) { return e && e.__esModule ? e : { "default": e }; }
|
|
13
|
+
function _taggedTemplateLiteral(e, t) { return t || (t = e.slice(0)), Object.freeze(Object.defineProperties(e, { raw: { value: Object.freeze(t) } })); }
|
|
14
|
+
var Wrapper = _styledComponents["default"].span(_templateObject || (_templateObject = _taggedTemplateLiteral(["\n border: 1px dashed ", ";\n font-size: ", ";\n padding: ", ";\n"])), (0, _toolkit.th)('colorPrimary'), (0, _toolkit.th)('fontSizeBaseSmall'), (0, _toolkit.grid)(1));
|
|
15
|
+
var Label = _styledComponents["default"].span(_templateObject2 || (_templateObject2 = _taggedTemplateLiteral(["\n color: ", ";\n text-transform: uppercase;\n"])), (0, _toolkit.th)('colorPrimary'));
|
|
16
|
+
var SuggestedReviewer = function SuggestedReviewer(props) {
|
|
17
|
+
var className = props.className,
|
|
18
|
+
name = props.name;
|
|
19
|
+
return /*#__PURE__*/_react["default"].createElement(Wrapper, {
|
|
20
|
+
className: className
|
|
21
|
+
}, /*#__PURE__*/_react["default"].createElement(Label, null, "Author Suggested Reviewer:"), " ", name);
|
|
22
|
+
};
|
|
23
|
+
SuggestedReviewer.propTypes = {
|
|
24
|
+
/** Display name of suggested reviewer */
|
|
25
|
+
name: _propTypes["default"].string.isRequired
|
|
26
|
+
};
|
|
27
|
+
SuggestedReviewer.defaultProps = {};
|
|
28
|
+
var _default = exports["default"] = SuggestedReviewer;
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
Object.defineProperty(exports, "AssignReviewers", {
|
|
7
|
+
enumerable: true,
|
|
8
|
+
get: function get() {
|
|
9
|
+
return _AssignReviewers["default"];
|
|
10
|
+
}
|
|
11
|
+
});
|
|
12
|
+
var _AssignReviewers = _interopRequireDefault(require("./AssignReviewers"));
|
|
13
|
+
function _interopRequireDefault(e) { return e && e.__esModule ? e : { "default": e }; }
|
|
@@ -0,0 +1,87 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports["default"] = void 0;
|
|
7
|
+
var _react = _interopRequireDefault(require("react"));
|
|
8
|
+
var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
9
|
+
var _styledComponents = _interopRequireDefault(require("styled-components"));
|
|
10
|
+
var _toolkit = require("../../toolkit");
|
|
11
|
+
var _common = require("../common");
|
|
12
|
+
var _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5;
|
|
13
|
+
function _interopRequireDefault(e) { return e && e.__esModule ? e : { "default": e }; }
|
|
14
|
+
function _taggedTemplateLiteral(e, t) { return t || (t = e.slice(0)), Object.freeze(Object.defineProperties(e, { raw: { value: Object.freeze(t) } })); }
|
|
15
|
+
var Wrapper = _styledComponents["default"].div(_templateObject || (_templateObject = _taggedTemplateLiteral([""])));
|
|
16
|
+
var SubmitButton = (0, _styledComponents["default"])(_common.Button)(_templateObject2 || (_templateObject2 = _taggedTemplateLiteral(["\n width: 100%;\n"])));
|
|
17
|
+
var Footer = _styledComponents["default"].div(_templateObject3 || (_templateObject3 = _taggedTemplateLiteral(["\n display: flex;\n justify-content: ", ";\n margin-top: ", ";\n"])), function (props) {
|
|
18
|
+
return props.showForgotPassword ? 'space-between' : 'flex-end';
|
|
19
|
+
}, (0, _toolkit.grid)(4));
|
|
20
|
+
var ForgotPassword = _styledComponents["default"].div(_templateObject4 || (_templateObject4 = _taggedTemplateLiteral(["\n > a {\n color: ", ";\n }\n"])), function (props) {
|
|
21
|
+
return props.theme.colorText;
|
|
22
|
+
});
|
|
23
|
+
var AlternativeAction = _styledComponents["default"].div(_templateObject5 || (_templateObject5 = _taggedTemplateLiteral(["\n font-weight: bold;\n\n > a {\n color: ", ";\n }\n"])), function (props) {
|
|
24
|
+
return props.theme.colorText;
|
|
25
|
+
});
|
|
26
|
+
var AuthenticationForm = function AuthenticationForm(props) {
|
|
27
|
+
var alternativeActionLabel = props.alternativeActionLabel,
|
|
28
|
+
alternativeActionLink = props.alternativeActionLink,
|
|
29
|
+
className = props.className,
|
|
30
|
+
children = props.children,
|
|
31
|
+
errorMessage = props.errorMessage,
|
|
32
|
+
forgotPasswordUrl = props.forgotPasswordUrl,
|
|
33
|
+
hasError = props.hasError,
|
|
34
|
+
loading = props.loading,
|
|
35
|
+
onSubmit = props.onSubmit,
|
|
36
|
+
showForgotPassword = props.showForgotPassword,
|
|
37
|
+
submitButtonLabel = props.submitButtonLabel;
|
|
38
|
+
return /*#__PURE__*/_react["default"].createElement(Wrapper, {
|
|
39
|
+
className: className
|
|
40
|
+
}, /*#__PURE__*/_react["default"].createElement(_common.Form, {
|
|
41
|
+
layout: "vertical",
|
|
42
|
+
onFinish: onSubmit,
|
|
43
|
+
ribbonMessage: errorMessage,
|
|
44
|
+
submissionStatus: hasError ? 'error' : null
|
|
45
|
+
}, children, /*#__PURE__*/_react["default"].createElement(SubmitButton, {
|
|
46
|
+
htmlType: "submit",
|
|
47
|
+
loading: loading,
|
|
48
|
+
type: "primary"
|
|
49
|
+
}, submitButtonLabel)), !!alternativeActionLabel && /*#__PURE__*/_react["default"].createElement(Footer, {
|
|
50
|
+
showForgotPassword: showForgotPassword
|
|
51
|
+
}, showForgotPassword && /*#__PURE__*/_react["default"].createElement(ForgotPassword, null, /*#__PURE__*/_react["default"].createElement(_common.CokoLink, {
|
|
52
|
+
to: forgotPasswordUrl
|
|
53
|
+
}, "Forgot your password?")), /*#__PURE__*/_react["default"].createElement(AlternativeAction, null, /*#__PURE__*/_react["default"].createElement(_common.CokoLink, {
|
|
54
|
+
to: alternativeActionLink
|
|
55
|
+
}, alternativeActionLabel))));
|
|
56
|
+
};
|
|
57
|
+
AuthenticationForm.propTypes = {
|
|
58
|
+
/** Function to run on form submit */
|
|
59
|
+
onSubmit: _propTypes["default"].func.isRequired,
|
|
60
|
+
/** Text displayed at bottom right */
|
|
61
|
+
alternativeActionLabel: _propTypes["default"].string,
|
|
62
|
+
/** Link to redirect to when clicking on alternative action */
|
|
63
|
+
alternativeActionLink: _propTypes["default"].string,
|
|
64
|
+
/** Error message to display when `hasError` is true */
|
|
65
|
+
errorMessage: _propTypes["default"].string,
|
|
66
|
+
/** Link to redirect to when clicking on "forgot password" */
|
|
67
|
+
forgotPasswordUrl: _propTypes["default"].string,
|
|
68
|
+
/** Controls whether there is an incoming error from __outside__ the form. (eg. from a failed server response) */
|
|
69
|
+
hasError: _propTypes["default"].bool,
|
|
70
|
+
/** Control waiting for response status */
|
|
71
|
+
loading: _propTypes["default"].bool,
|
|
72
|
+
/** Show / hide "forgot password" */
|
|
73
|
+
showForgotPassword: _propTypes["default"].bool,
|
|
74
|
+
/** Text displayed inside submit button */
|
|
75
|
+
submitButtonLabel: _propTypes["default"].string
|
|
76
|
+
};
|
|
77
|
+
AuthenticationForm.defaultProps = {
|
|
78
|
+
alternativeActionLabel: null,
|
|
79
|
+
alternativeActionLink: null,
|
|
80
|
+
errorMessage: null,
|
|
81
|
+
forgotPasswordUrl: '/request-password-reset',
|
|
82
|
+
hasError: false,
|
|
83
|
+
loading: false,
|
|
84
|
+
showForgotPassword: false,
|
|
85
|
+
submitButtonLabel: 'Submit'
|
|
86
|
+
};
|
|
87
|
+
var _default = exports["default"] = AuthenticationForm;
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports["default"] = void 0;
|
|
7
|
+
var _styledComponents = _interopRequireDefault(require("styled-components"));
|
|
8
|
+
var _common = require("../common");
|
|
9
|
+
var _templateObject;
|
|
10
|
+
function _interopRequireDefault(e) { return e && e.__esModule ? e : { "default": e }; }
|
|
11
|
+
function _taggedTemplateLiteral(e, t) { return t || (t = e.slice(0)), Object.freeze(Object.defineProperties(e, { raw: { value: Object.freeze(t) } })); }
|
|
12
|
+
var Title = (0, _styledComponents["default"])(_common.H1)(_templateObject || (_templateObject = _taggedTemplateLiteral(["\n text-align: center;\n"])));
|
|
13
|
+
var _default = exports["default"] = Title;
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports["default"] = void 0;
|
|
7
|
+
var _styledComponents = _interopRequireDefault(require("styled-components"));
|
|
8
|
+
var _toolkit = require("../../toolkit");
|
|
9
|
+
var _templateObject;
|
|
10
|
+
function _interopRequireDefault(e) { return e && e.__esModule ? e : { "default": e }; }
|
|
11
|
+
function _taggedTemplateLiteral(e, t) { return t || (t = e.slice(0)), Object.freeze(Object.defineProperties(e, { raw: { value: Object.freeze(t) } })); }
|
|
12
|
+
var AuthenticationWrapper = _styledComponents["default"].div(_templateObject || (_templateObject = _taggedTemplateLiteral(["\n background: white;\n border-radius: 3px;\n padding: ", ";\n width: 100%;\n"])), (0, _toolkit.grid)(12));
|
|
13
|
+
var _default = exports["default"] = AuthenticationWrapper;
|
|
@@ -0,0 +1,128 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports["default"] = void 0;
|
|
7
|
+
var _react = _interopRequireDefault(require("react"));
|
|
8
|
+
var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
9
|
+
var _styledComponents = _interopRequireDefault(require("styled-components"));
|
|
10
|
+
var _antd = require("antd");
|
|
11
|
+
var _common = require("../common");
|
|
12
|
+
var _ProfileForm = _interopRequireDefault(require("./ProfileForm"));
|
|
13
|
+
var _excluded = ["className", "form", "loading", "message", "onSubmit", "submissionStatus"];
|
|
14
|
+
var _templateObject, _templateObject2;
|
|
15
|
+
/* eslint-disable react/jsx-props-no-spreading */
|
|
16
|
+
function _interopRequireDefault(e) { return e && e.__esModule ? e : { "default": e }; }
|
|
17
|
+
function _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }
|
|
18
|
+
function _objectWithoutProperties(e, t) { if (null == e) return {}; var o, r, i = _objectWithoutPropertiesLoose(e, t); if (Object.getOwnPropertySymbols) { var n = Object.getOwnPropertySymbols(e); for (r = 0; r < n.length; r++) o = n[r], -1 === t.indexOf(o) && {}.propertyIsEnumerable.call(e, o) && (i[o] = e[o]); } return i; }
|
|
19
|
+
function _objectWithoutPropertiesLoose(r, e) { if (null == r) return {}; var t = {}; for (var n in r) if ({}.hasOwnProperty.call(r, n)) { if (-1 !== e.indexOf(n)) continue; t[n] = r[n]; } return t; }
|
|
20
|
+
function _taggedTemplateLiteral(e, t) { return t || (t = e.slice(0)), Object.freeze(Object.defineProperties(e, { raw: { value: Object.freeze(t) } })); }
|
|
21
|
+
var Col = (0, _styledComponents["default"])(_antd.Col)(_templateObject || (_templateObject = _taggedTemplateLiteral([""])));
|
|
22
|
+
var Row = function Row(_ref) {
|
|
23
|
+
var children = _ref.children;
|
|
24
|
+
return /*#__PURE__*/_react["default"].createElement(_antd.Row, {
|
|
25
|
+
align: "baseline",
|
|
26
|
+
gutter: 8
|
|
27
|
+
}, children);
|
|
28
|
+
};
|
|
29
|
+
var Wrapper = _styledComponents["default"].div(_templateObject2 || (_templateObject2 = _taggedTemplateLiteral([""])));
|
|
30
|
+
var ChangePassword = function ChangePassword(props) {
|
|
31
|
+
var className = props.className,
|
|
32
|
+
form = props.form,
|
|
33
|
+
loading = props.loading,
|
|
34
|
+
message = props.message,
|
|
35
|
+
onSubmit = props.onSubmit,
|
|
36
|
+
submissionStatus = props.submissionStatus,
|
|
37
|
+
rest = _objectWithoutProperties(props, _excluded);
|
|
38
|
+
return /*#__PURE__*/_react["default"].createElement(Wrapper, {
|
|
39
|
+
className: className
|
|
40
|
+
}, /*#__PURE__*/_react["default"].createElement(_ProfileForm["default"], _extends({
|
|
41
|
+
form: form,
|
|
42
|
+
loading: loading,
|
|
43
|
+
message: message,
|
|
44
|
+
onSubmit: onSubmit,
|
|
45
|
+
submissionStatus: submissionStatus
|
|
46
|
+
}, rest), /*#__PURE__*/_react["default"].createElement(_common.FormSection, {
|
|
47
|
+
label: "Password",
|
|
48
|
+
last: true
|
|
49
|
+
}, /*#__PURE__*/_react["default"].createElement(Row, null, /*#__PURE__*/_react["default"].createElement(Col, {
|
|
50
|
+
sm: 12,
|
|
51
|
+
xs: 24
|
|
52
|
+
}, /*#__PURE__*/_react["default"].createElement(_common.Form.Item, {
|
|
53
|
+
label: "Current password",
|
|
54
|
+
name: "currentPassword",
|
|
55
|
+
rules: [{
|
|
56
|
+
required: true,
|
|
57
|
+
message: 'Please provide current password before changing it'
|
|
58
|
+
}]
|
|
59
|
+
}, /*#__PURE__*/_react["default"].createElement(_common.Input, {
|
|
60
|
+
autoComplete: "current-password",
|
|
61
|
+
"data-testid": "currentPassword",
|
|
62
|
+
type: "password"
|
|
63
|
+
})))), /*#__PURE__*/_react["default"].createElement(Row, null, /*#__PURE__*/_react["default"].createElement(Col, {
|
|
64
|
+
sm: 12,
|
|
65
|
+
xs: 24
|
|
66
|
+
}, /*#__PURE__*/_react["default"].createElement(_common.Form.Item, {
|
|
67
|
+
dependencies: ['currentPassword'],
|
|
68
|
+
label: "New password",
|
|
69
|
+
name: "newPassword",
|
|
70
|
+
rules: [{
|
|
71
|
+
required: true,
|
|
72
|
+
message: 'This field is required'
|
|
73
|
+
}, function (_ref2) {
|
|
74
|
+
var getFieldValue = _ref2.getFieldValue;
|
|
75
|
+
return {
|
|
76
|
+
validator: function validator(_, value) {
|
|
77
|
+
if (value && !!getFieldValue('currentPassword') || !value) {
|
|
78
|
+
return Promise.resolve();
|
|
79
|
+
}
|
|
80
|
+
return Promise.reject(new Error('You must first provide the current password in order to change it!'));
|
|
81
|
+
}
|
|
82
|
+
};
|
|
83
|
+
}]
|
|
84
|
+
}, /*#__PURE__*/_react["default"].createElement(_common.Input, {
|
|
85
|
+
autoComplete: "new-password",
|
|
86
|
+
"data-testid": "newPassword",
|
|
87
|
+
type: "password"
|
|
88
|
+
}))), /*#__PURE__*/_react["default"].createElement(Col, {
|
|
89
|
+
sm: 12,
|
|
90
|
+
xs: 24
|
|
91
|
+
}, /*#__PURE__*/_react["default"].createElement(_common.Form.Item, {
|
|
92
|
+
dependencies: ['newPassword'],
|
|
93
|
+
label: "Password confirmation",
|
|
94
|
+
name: "newPasswordConfirmation",
|
|
95
|
+
rules: [{
|
|
96
|
+
required: true,
|
|
97
|
+
message: 'This field is required'
|
|
98
|
+
}, function (_ref3) {
|
|
99
|
+
var getFieldValue = _ref3.getFieldValue;
|
|
100
|
+
return {
|
|
101
|
+
validator: function validator(_, value) {
|
|
102
|
+
if (!value || getFieldValue('newPassword') === value) {
|
|
103
|
+
return Promise.resolve();
|
|
104
|
+
}
|
|
105
|
+
return Promise.reject(new Error('The two passwords that you entered do not match!'));
|
|
106
|
+
}
|
|
107
|
+
};
|
|
108
|
+
}]
|
|
109
|
+
}, /*#__PURE__*/_react["default"].createElement(_common.Input, {
|
|
110
|
+
autoComplete: "new-password",
|
|
111
|
+
"data-testid": "newPasswordConfirmation",
|
|
112
|
+
type: "password"
|
|
113
|
+
})))))));
|
|
114
|
+
};
|
|
115
|
+
ChangePassword.propTypes = {
|
|
116
|
+
form: _propTypes["default"].shape(),
|
|
117
|
+
loading: _propTypes["default"].bool,
|
|
118
|
+
message: _propTypes["default"].string,
|
|
119
|
+
onSubmit: _propTypes["default"].func.isRequired,
|
|
120
|
+
submissionStatus: _propTypes["default"].oneOf(['success', 'error', 'danger'])
|
|
121
|
+
};
|
|
122
|
+
ChangePassword.defaultProps = {
|
|
123
|
+
form: null,
|
|
124
|
+
loading: false,
|
|
125
|
+
message: '',
|
|
126
|
+
submissionStatus: null
|
|
127
|
+
};
|
|
128
|
+
var _default = exports["default"] = ChangePassword;
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports["default"] = void 0;
|
|
7
|
+
var _react = _interopRequireDefault(require("react"));
|
|
8
|
+
var _common = require("../common");
|
|
9
|
+
function _interopRequireDefault(e) { return e && e.__esModule ? e : { "default": e }; }
|
|
10
|
+
var DeactivateUsers = function DeactivateUsers() {
|
|
11
|
+
return /*#__PURE__*/_react["default"].createElement(_common.Result, {
|
|
12
|
+
status: "403",
|
|
13
|
+
subTitle: "Sorry, your user has been deactivated. Please contact the administrators if you think this is a mistake.",
|
|
14
|
+
title: "403"
|
|
15
|
+
});
|
|
16
|
+
};
|
|
17
|
+
var _default = exports["default"] = DeactivateUsers;
|
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports["default"] = void 0;
|
|
7
|
+
var _react = _interopRequireDefault(require("react"));
|
|
8
|
+
var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
9
|
+
var _common = require("../common");
|
|
10
|
+
var _AuthenticationForm = _interopRequireDefault(require("./AuthenticationForm"));
|
|
11
|
+
var _AuthenticationHeader = _interopRequireDefault(require("./AuthenticationHeader"));
|
|
12
|
+
var _AuthenticationWrapper = _interopRequireDefault(require("./AuthenticationWrapper"));
|
|
13
|
+
function _interopRequireDefault(e) { return e && e.__esModule ? e : { "default": e }; }
|
|
14
|
+
// import styled from 'styled-components'
|
|
15
|
+
|
|
16
|
+
var Login = function Login(props) {
|
|
17
|
+
var className = props.className,
|
|
18
|
+
errorMessage = props.errorMessage,
|
|
19
|
+
hasError = props.hasError,
|
|
20
|
+
loading = props.loading,
|
|
21
|
+
onSubmit = props.onSubmit;
|
|
22
|
+
return /*#__PURE__*/_react["default"].createElement(_common.Page, {
|
|
23
|
+
maxWidth: 600
|
|
24
|
+
}, /*#__PURE__*/_react["default"].createElement(_AuthenticationWrapper["default"], {
|
|
25
|
+
className: className
|
|
26
|
+
}, /*#__PURE__*/_react["default"].createElement(_AuthenticationHeader["default"], null, "Login"), /*#__PURE__*/_react["default"].createElement(_AuthenticationForm["default"], {
|
|
27
|
+
alternativeActionLabel: "Do you want to signup instead?",
|
|
28
|
+
alternativeActionLink: "/signup",
|
|
29
|
+
errorMessage: errorMessage,
|
|
30
|
+
hasError: hasError,
|
|
31
|
+
loading: loading,
|
|
32
|
+
onSubmit: onSubmit,
|
|
33
|
+
showForgotPassword: true,
|
|
34
|
+
submitButtonLabel: "Log in",
|
|
35
|
+
title: "Login"
|
|
36
|
+
}, /*#__PURE__*/_react["default"].createElement(_common.Form.Item, {
|
|
37
|
+
label: "Email",
|
|
38
|
+
name: "email",
|
|
39
|
+
rules: [{
|
|
40
|
+
required: true,
|
|
41
|
+
message: 'Email is required'
|
|
42
|
+
}, {
|
|
43
|
+
type: 'email',
|
|
44
|
+
message: 'This is not a valid email address'
|
|
45
|
+
}]
|
|
46
|
+
}, /*#__PURE__*/_react["default"].createElement(_common.Input, {
|
|
47
|
+
autoComplete: "email",
|
|
48
|
+
placeholder: "Please enter your email",
|
|
49
|
+
type: "email"
|
|
50
|
+
})), /*#__PURE__*/_react["default"].createElement(_common.Form.Item, {
|
|
51
|
+
label: "Password",
|
|
52
|
+
name: "password",
|
|
53
|
+
rules: [{
|
|
54
|
+
required: true,
|
|
55
|
+
message: 'Password is required'
|
|
56
|
+
}]
|
|
57
|
+
}, /*#__PURE__*/_react["default"].createElement(_common.Input, {
|
|
58
|
+
autoComplete: "current-password",
|
|
59
|
+
placeholder: "Please enter your password",
|
|
60
|
+
type: "password"
|
|
61
|
+
})))));
|
|
62
|
+
};
|
|
63
|
+
Login.propTypes = {
|
|
64
|
+
errorMessage: _propTypes["default"].string,
|
|
65
|
+
hasError: _propTypes["default"].bool,
|
|
66
|
+
loading: _propTypes["default"].bool,
|
|
67
|
+
onSubmit: _propTypes["default"].func.isRequired
|
|
68
|
+
};
|
|
69
|
+
Login.defaultProps = {
|
|
70
|
+
errorMessage: null,
|
|
71
|
+
hasError: false,
|
|
72
|
+
loading: false
|
|
73
|
+
};
|
|
74
|
+
var _default = exports["default"] = Login;
|
|
@@ -0,0 +1,79 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports["default"] = void 0;
|
|
7
|
+
var _react = _interopRequireDefault(require("react"));
|
|
8
|
+
var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
9
|
+
var _styledComponents = _interopRequireDefault(require("styled-components"));
|
|
10
|
+
var _toolkit = require("../../toolkit");
|
|
11
|
+
var _common = require("../common");
|
|
12
|
+
var _excluded = ["children", "className", "message", "form", "loading", "onSubmit", "showSecondaryButton", "secondaryButtonAction", "secondaryButtonLabel", "submitButtonLabel", "submissionStatus"];
|
|
13
|
+
var _templateObject, _templateObject2;
|
|
14
|
+
/* eslint-disable react/jsx-props-no-spreading */
|
|
15
|
+
function _interopRequireDefault(e) { return e && e.__esModule ? e : { "default": e }; }
|
|
16
|
+
function _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }
|
|
17
|
+
function _objectWithoutProperties(e, t) { if (null == e) return {}; var o, r, i = _objectWithoutPropertiesLoose(e, t); if (Object.getOwnPropertySymbols) { var n = Object.getOwnPropertySymbols(e); for (r = 0; r < n.length; r++) o = n[r], -1 === t.indexOf(o) && {}.propertyIsEnumerable.call(e, o) && (i[o] = e[o]); } return i; }
|
|
18
|
+
function _objectWithoutPropertiesLoose(r, e) { if (null == r) return {}; var t = {}; for (var n in r) if ({}.hasOwnProperty.call(r, n)) { if (-1 !== e.indexOf(n)) continue; t[n] = r[n]; } return t; }
|
|
19
|
+
function _taggedTemplateLiteral(e, t) { return t || (t = e.slice(0)), Object.freeze(Object.defineProperties(e, { raw: { value: Object.freeze(t) } })); }
|
|
20
|
+
var Wrapper = _styledComponents["default"].div(_templateObject || (_templateObject = _taggedTemplateLiteral([""])));
|
|
21
|
+
var FormButtonsContainer = _styledComponents["default"].div(_templateObject2 || (_templateObject2 = _taggedTemplateLiteral(["\n display: flex;\n gap: ", ";\n justify-content: right;\n padding: 0 ", ";\n"])), (0, _toolkit.grid)(1), (0, _toolkit.grid)(4));
|
|
22
|
+
var ProfileForm = function ProfileForm(props) {
|
|
23
|
+
var children = props.children,
|
|
24
|
+
className = props.className,
|
|
25
|
+
message = props.message,
|
|
26
|
+
form = props.form,
|
|
27
|
+
loading = props.loading,
|
|
28
|
+
onSubmit = props.onSubmit,
|
|
29
|
+
showSecondaryButton = props.showSecondaryButton,
|
|
30
|
+
secondaryButtonAction = props.secondaryButtonAction,
|
|
31
|
+
secondaryButtonLabel = props.secondaryButtonLabel,
|
|
32
|
+
submitButtonLabel = props.submitButtonLabel,
|
|
33
|
+
submissionStatus = props.submissionStatus,
|
|
34
|
+
rest = _objectWithoutProperties(props, _excluded);
|
|
35
|
+
return /*#__PURE__*/_react["default"].createElement(Wrapper, {
|
|
36
|
+
className: className
|
|
37
|
+
}, /*#__PURE__*/_react["default"].createElement(_common.Form, _extends({
|
|
38
|
+
form: form,
|
|
39
|
+
layout: "vertical",
|
|
40
|
+
onFinish: onSubmit,
|
|
41
|
+
ribbonMessage: message,
|
|
42
|
+
ribbonPosition: "bottom",
|
|
43
|
+
submissionStatus: submissionStatus
|
|
44
|
+
}, rest), children, /*#__PURE__*/_react["default"].createElement(FormButtonsContainer, null, showSecondaryButton && /*#__PURE__*/_react["default"].createElement(_common.Button, {
|
|
45
|
+
disabled: loading,
|
|
46
|
+
onClick: secondaryButtonAction
|
|
47
|
+
}, secondaryButtonLabel), /*#__PURE__*/_react["default"].createElement(_common.Button, {
|
|
48
|
+
"data-testid": "profile-form-submit-button",
|
|
49
|
+
htmlType: "submit",
|
|
50
|
+
loading: loading,
|
|
51
|
+
type: "primary"
|
|
52
|
+
}, submitButtonLabel)), loading && /*#__PURE__*/_react["default"].createElement(_common.VisuallyHiddenElement, {
|
|
53
|
+
role: "status"
|
|
54
|
+
}, "Saving profile")));
|
|
55
|
+
};
|
|
56
|
+
ProfileForm.propTypes = {
|
|
57
|
+
/** optional form instance to control the form from the parent */
|
|
58
|
+
form: _propTypes["default"].shape(),
|
|
59
|
+
loading: _propTypes["default"].bool,
|
|
60
|
+
message: _propTypes["default"].string,
|
|
61
|
+
/** Function that receives the values as parameter */
|
|
62
|
+
onSubmit: _propTypes["default"].func.isRequired,
|
|
63
|
+
showSecondaryButton: _propTypes["default"].bool,
|
|
64
|
+
secondaryButtonAction: _propTypes["default"].func,
|
|
65
|
+
secondaryButtonLabel: _propTypes["default"].string,
|
|
66
|
+
submitButtonLabel: _propTypes["default"].string,
|
|
67
|
+
submissionStatus: _propTypes["default"].oneOf(['success', 'error', 'danger'])
|
|
68
|
+
};
|
|
69
|
+
ProfileForm.defaultProps = {
|
|
70
|
+
form: null,
|
|
71
|
+
loading: false,
|
|
72
|
+
message: '',
|
|
73
|
+
showSecondaryButton: false,
|
|
74
|
+
secondaryButtonAction: function secondaryButtonAction() {},
|
|
75
|
+
secondaryButtonLabel: 'Cancel',
|
|
76
|
+
submitButtonLabel: 'Save',
|
|
77
|
+
submissionStatus: null
|
|
78
|
+
};
|
|
79
|
+
var _default = exports["default"] = ProfileForm;
|