iguazio.dashboard-react-controls 0.0.7 → 0.0.10
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/Button/Button.js +5 -2
- package/dist/components/Button/Button.scss +17 -2
- package/dist/components/FormInput/FormInput.js +70 -39
- package/dist/components/FormInput/formInput.scss +39 -148
- package/dist/components/FormKeyValueTable/FormKeyValueTable.js +353 -0
- package/dist/components/FormKeyValueTable/formKeyValueTable.scss +117 -0
- package/dist/components/FormSelect/FormSelect.js +85 -49
- package/dist/components/FormSelect/formSelect.scss +66 -270
- package/dist/components/FormTextarea/FormTextarea.js +222 -0
- package/dist/components/FormTextarea/formTextarea.scss +23 -0
- package/dist/components/Modal/Modal.scss +1 -1
- package/dist/components/PopUpDialog/popUpDialog.scss +3 -3
- package/dist/components/Wizard/Wizard.js +50 -83
- package/dist/components/Wizard/Wizard.scss +11 -13
- package/dist/components/index.js +16 -0
- package/dist/elements/OptionsMenu/OptionsMenu.js +4 -5
- package/dist/elements/SelectOption/SelectOption.js +1 -1
- package/dist/elements/index.js +31 -0
- package/dist/hooks/index.js +13 -0
- package/dist/index.js +9 -5
- package/dist/scss/common.scss +35 -0
- package/dist/scss/mixins.scss +101 -0
- package/dist/scss/variables.scss +6 -0
- package/dist/utils/form.util.js +22 -0
- package/dist/utils/{validationService.js → validation.util.js} +0 -0
- package/package.json +8 -4
|
@@ -0,0 +1,222 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }, _typeof(obj); }
|
|
4
|
+
|
|
5
|
+
Object.defineProperty(exports, "__esModule", {
|
|
6
|
+
value: true
|
|
7
|
+
});
|
|
8
|
+
exports.default = void 0;
|
|
9
|
+
|
|
10
|
+
var _react = _interopRequireWildcard(require("react"));
|
|
11
|
+
|
|
12
|
+
var _classnames = _interopRequireDefault(require("classnames"));
|
|
13
|
+
|
|
14
|
+
var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
15
|
+
|
|
16
|
+
var _reactFinalForm = require("react-final-form");
|
|
17
|
+
|
|
18
|
+
var _components = require("igz-controls/components");
|
|
19
|
+
|
|
20
|
+
var _invalid = require("igz-controls/images/invalid.svg");
|
|
21
|
+
|
|
22
|
+
require("./formTextarea.scss");
|
|
23
|
+
|
|
24
|
+
var _jsxRuntime = require("react/jsx-runtime");
|
|
25
|
+
|
|
26
|
+
var _excluded = ["className", "disabled", "focused", "iconClass", "invalidText", "label", "name", "onBlur", "onChange", "required", "textAreaIcon", "tip", "withoutBorder"];
|
|
27
|
+
|
|
28
|
+
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
29
|
+
|
|
30
|
+
function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
|
|
31
|
+
|
|
32
|
+
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
|
|
33
|
+
|
|
34
|
+
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
|
|
35
|
+
|
|
36
|
+
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
|
|
37
|
+
|
|
38
|
+
function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
|
39
|
+
|
|
40
|
+
function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
|
|
41
|
+
|
|
42
|
+
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."); }
|
|
43
|
+
|
|
44
|
+
function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
|
|
45
|
+
|
|
46
|
+
function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }
|
|
47
|
+
|
|
48
|
+
function _iterableToArrayLimit(arr, i) { var _i = arr == null ? null : typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"]; if (_i == null) return; var _arr = []; var _n = true; var _d = false; var _s, _e; try { for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; }
|
|
49
|
+
|
|
50
|
+
function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
|
|
51
|
+
|
|
52
|
+
function _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }
|
|
53
|
+
|
|
54
|
+
function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }
|
|
55
|
+
|
|
56
|
+
var TextArea = /*#__PURE__*/_react.default.forwardRef(function (_ref, ref) {
|
|
57
|
+
var className = _ref.className,
|
|
58
|
+
disabled = _ref.disabled,
|
|
59
|
+
focused = _ref.focused,
|
|
60
|
+
iconClass = _ref.iconClass,
|
|
61
|
+
invalidText = _ref.invalidText,
|
|
62
|
+
label = _ref.label,
|
|
63
|
+
name = _ref.name,
|
|
64
|
+
onBlur = _ref.onBlur,
|
|
65
|
+
onChange = _ref.onChange,
|
|
66
|
+
required = _ref.required,
|
|
67
|
+
textAreaIcon = _ref.textAreaIcon,
|
|
68
|
+
tip = _ref.tip,
|
|
69
|
+
withoutBorder = _ref.withoutBorder,
|
|
70
|
+
textareaProps = _objectWithoutProperties(_ref, _excluded);
|
|
71
|
+
|
|
72
|
+
var _useField = (0, _reactFinalForm.useField)(name),
|
|
73
|
+
input = _useField.input,
|
|
74
|
+
meta = _useField.meta;
|
|
75
|
+
|
|
76
|
+
var _useState = (0, _react.useState)(false),
|
|
77
|
+
_useState2 = _slicedToArray(_useState, 2),
|
|
78
|
+
isInvalid = _useState2[0],
|
|
79
|
+
setIsInvalid = _useState2[1];
|
|
80
|
+
|
|
81
|
+
var textAreaRef = /*#__PURE__*/_react.default.createRef();
|
|
82
|
+
|
|
83
|
+
var formFieldClassNames = (0, _classnames.default)('form-field form-field-textarea', className);
|
|
84
|
+
var labelClassNames = (0, _classnames.default)('form-field__label', disabled && 'form-field__label-disabled');
|
|
85
|
+
var textAreaClassNames = (0, _classnames.default)('form-field__wrapper', disabled && 'form-field__wrapper-disabled', isInvalid && 'form-field__wrapper-invalid', withoutBorder && 'without-border');
|
|
86
|
+
(0, _react.useEffect)(function () {
|
|
87
|
+
if (focused) {
|
|
88
|
+
textAreaRef.current.focus();
|
|
89
|
+
}
|
|
90
|
+
}, [focused, textAreaRef]);
|
|
91
|
+
(0, _react.useEffect)(function () {
|
|
92
|
+
setIsInvalid(meta.invalid && (meta.validating || meta.modified || meta.submitFailed && meta.touched));
|
|
93
|
+
}, [meta.invalid, meta.modified, meta.submitFailed, meta.touched, meta.validating]);
|
|
94
|
+
|
|
95
|
+
var handleInputBlur = function handleInputBlur(event) {
|
|
96
|
+
input.onBlur(event);
|
|
97
|
+
onBlur && onBlur(event);
|
|
98
|
+
};
|
|
99
|
+
|
|
100
|
+
var handleInputChange = function handleInputChange(event) {
|
|
101
|
+
input.onChange(event);
|
|
102
|
+
onChange && onChange(event.target.value);
|
|
103
|
+
};
|
|
104
|
+
|
|
105
|
+
var handleInputFocus = function handleInputFocus(event) {
|
|
106
|
+
input.onFocus(event);
|
|
107
|
+
};
|
|
108
|
+
|
|
109
|
+
var validateField = function validateField(value) {
|
|
110
|
+
var valueToValidate = value !== null && value !== void 0 ? value : '';
|
|
111
|
+
var validationError = null;
|
|
112
|
+
|
|
113
|
+
if (valueToValidate.startsWith(' ')) {
|
|
114
|
+
validationError = {
|
|
115
|
+
name: 'empty',
|
|
116
|
+
label: invalidText
|
|
117
|
+
};
|
|
118
|
+
} else if (required && valueToValidate.trim().length === 0) {
|
|
119
|
+
validationError = {
|
|
120
|
+
name: 'required',
|
|
121
|
+
label: 'This field is required'
|
|
122
|
+
};
|
|
123
|
+
}
|
|
124
|
+
|
|
125
|
+
return validationError;
|
|
126
|
+
};
|
|
127
|
+
|
|
128
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactFinalForm.Field, {
|
|
129
|
+
validate: validateField,
|
|
130
|
+
name: name,
|
|
131
|
+
children: function children(_ref2) {
|
|
132
|
+
var _meta$error$label, _meta$error;
|
|
133
|
+
|
|
134
|
+
var input = _ref2.input,
|
|
135
|
+
meta = _ref2.meta;
|
|
136
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsxs)("div", {
|
|
137
|
+
ref: ref,
|
|
138
|
+
className: formFieldClassNames,
|
|
139
|
+
children: [/*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
|
|
140
|
+
className: labelClassNames,
|
|
141
|
+
children: label && /*#__PURE__*/(0, _jsxRuntime.jsxs)("label", {
|
|
142
|
+
"data-testid": "label",
|
|
143
|
+
htmlFor: input.name,
|
|
144
|
+
children: [label, required && /*#__PURE__*/(0, _jsxRuntime.jsx)("span", {
|
|
145
|
+
className: "form-field__label-mandatory",
|
|
146
|
+
children: " *"
|
|
147
|
+
})]
|
|
148
|
+
})
|
|
149
|
+
}), /*#__PURE__*/(0, _jsxRuntime.jsxs)("div", {
|
|
150
|
+
className: textAreaClassNames,
|
|
151
|
+
children: [/*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
|
|
152
|
+
className: "form-field__control",
|
|
153
|
+
children: /*#__PURE__*/(0, _jsxRuntime.jsx)("textarea", _objectSpread(_objectSpread({
|
|
154
|
+
"data-testid": "textarea",
|
|
155
|
+
id: input.name,
|
|
156
|
+
ref: textAreaRef,
|
|
157
|
+
required: isInvalid || required
|
|
158
|
+
}, _objectSpread(_objectSpread({
|
|
159
|
+
disabled: disabled
|
|
160
|
+
}, textareaProps), input)), {}, {
|
|
161
|
+
onBlur: handleInputBlur,
|
|
162
|
+
onChange: handleInputChange,
|
|
163
|
+
onFocus: handleInputFocus
|
|
164
|
+
}))
|
|
165
|
+
}), /*#__PURE__*/(0, _jsxRuntime.jsxs)("div", {
|
|
166
|
+
className: "form-field__icons",
|
|
167
|
+
children: [isInvalid && /*#__PURE__*/(0, _jsxRuntime.jsx)(_components.Tooltip, {
|
|
168
|
+
className: "form-field__warning",
|
|
169
|
+
template: /*#__PURE__*/(0, _jsxRuntime.jsx)(_components.TextTooltipTemplate, {
|
|
170
|
+
text: (_meta$error$label = (_meta$error = meta.error) === null || _meta$error === void 0 ? void 0 : _meta$error.label) !== null && _meta$error$label !== void 0 ? _meta$error$label : invalidText,
|
|
171
|
+
warning: true
|
|
172
|
+
}),
|
|
173
|
+
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_invalid.ReactComponent, {})
|
|
174
|
+
}), tip && !required && /*#__PURE__*/(0, _jsxRuntime.jsx)(_components.Tip, {
|
|
175
|
+
text: tip,
|
|
176
|
+
className: "form-field__tip"
|
|
177
|
+
}), textAreaIcon && /*#__PURE__*/(0, _jsxRuntime.jsx)("span", {
|
|
178
|
+
"data-testid": "textarea__icon",
|
|
179
|
+
className: iconClass,
|
|
180
|
+
children: textAreaIcon
|
|
181
|
+
})]
|
|
182
|
+
})]
|
|
183
|
+
})]
|
|
184
|
+
});
|
|
185
|
+
}
|
|
186
|
+
});
|
|
187
|
+
});
|
|
188
|
+
|
|
189
|
+
TextArea.defaultProps = {
|
|
190
|
+
className: '',
|
|
191
|
+
disabled: false,
|
|
192
|
+
focused: false,
|
|
193
|
+
iconClass: '',
|
|
194
|
+
textAreaIcon: null,
|
|
195
|
+
invalidText: 'This field is invalid',
|
|
196
|
+
label: '',
|
|
197
|
+
onBlur: function onBlur() {},
|
|
198
|
+
onChange: function onChange() {},
|
|
199
|
+
placeholder: '',
|
|
200
|
+
required: false,
|
|
201
|
+
rows: 3,
|
|
202
|
+
tip: ''
|
|
203
|
+
};
|
|
204
|
+
TextArea.propTypes = {
|
|
205
|
+
className: _propTypes.default.string,
|
|
206
|
+
disabled: _propTypes.default.bool,
|
|
207
|
+
focused: _propTypes.default.bool,
|
|
208
|
+
iconClass: _propTypes.default.string,
|
|
209
|
+
textAreaIcon: _propTypes.default.element,
|
|
210
|
+
invalidText: _propTypes.default.string,
|
|
211
|
+
label: _propTypes.default.string,
|
|
212
|
+
name: _propTypes.default.string.isRequired,
|
|
213
|
+
onBlur: _propTypes.default.func,
|
|
214
|
+
onChange: _propTypes.default.func,
|
|
215
|
+
placeholder: _propTypes.default.string,
|
|
216
|
+
required: _propTypes.default.bool,
|
|
217
|
+
tip: _propTypes.default.string
|
|
218
|
+
};
|
|
219
|
+
|
|
220
|
+
var _default = /*#__PURE__*/_react.default.memo(TextArea);
|
|
221
|
+
|
|
222
|
+
exports.default = _default;
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
@import '../../scss/colors';
|
|
2
|
+
@import '../../scss/borders';
|
|
3
|
+
@import '../../scss/shadows';
|
|
4
|
+
@import '../../scss/mixins';
|
|
5
|
+
|
|
6
|
+
.form-field.form-field-textarea {
|
|
7
|
+
width: 100%;
|
|
8
|
+
|
|
9
|
+
.form-field {
|
|
10
|
+
@include formField;
|
|
11
|
+
|
|
12
|
+
&__wrapper {
|
|
13
|
+
.form-field__control {
|
|
14
|
+
padding: 0;
|
|
15
|
+
|
|
16
|
+
& > *:first-child {
|
|
17
|
+
height: inherit;
|
|
18
|
+
padding: 12px 0 12px 16px;
|
|
19
|
+
}
|
|
20
|
+
}
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
}
|
|
@@ -3,6 +3,7 @@
|
|
|
3
3
|
@import '../../scss/borders';
|
|
4
4
|
|
|
5
5
|
.pop-up-dialog {
|
|
6
|
+
position: relative;
|
|
6
7
|
width: 477px;
|
|
7
8
|
max-height: 90vh;
|
|
8
9
|
padding: 20px;
|
|
@@ -35,7 +36,6 @@
|
|
|
35
36
|
}
|
|
36
37
|
|
|
37
38
|
&__header {
|
|
38
|
-
position: relative;
|
|
39
39
|
display: flex;
|
|
40
40
|
align-items: baseline;
|
|
41
41
|
justify-content: space-between;
|
|
@@ -71,8 +71,8 @@
|
|
|
71
71
|
|
|
72
72
|
&_close {
|
|
73
73
|
position: absolute;
|
|
74
|
-
top:
|
|
75
|
-
right:
|
|
74
|
+
top: 10px;
|
|
75
|
+
right: 10px;
|
|
76
76
|
}
|
|
77
77
|
}
|
|
78
78
|
|
|
@@ -11,8 +11,6 @@ var _react = _interopRequireWildcard(require("react"));
|
|
|
11
11
|
|
|
12
12
|
var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
13
13
|
|
|
14
|
-
var _reactFinalForm = require("react-final-form");
|
|
15
|
-
|
|
16
14
|
var _classnames = _interopRequireDefault(require("classnames"));
|
|
17
15
|
|
|
18
16
|
var _Button = _interopRequireDefault(require("../Button/Button"));
|
|
@@ -61,7 +59,7 @@ var Wizard = function Wizard(_ref) {
|
|
|
61
59
|
var children = _ref.children,
|
|
62
60
|
className = _ref.className,
|
|
63
61
|
confirmClose = _ref.confirmClose,
|
|
64
|
-
|
|
62
|
+
formState = _ref.formState,
|
|
65
63
|
isWizardOpen = _ref.isWizardOpen,
|
|
66
64
|
onWizardResolve = _ref.onWizardResolve,
|
|
67
65
|
onWizardSubmit = _ref.onWizardSubmit,
|
|
@@ -81,11 +79,6 @@ var Wizard = function Wizard(_ref) {
|
|
|
81
79
|
var totalSteps = (0, _react.useMemo)(function () {
|
|
82
80
|
return _react.default.Children.count(children) - 1 || 0;
|
|
83
81
|
}, [children]);
|
|
84
|
-
var hasSteps = (0, _react.useMemo)(function () {
|
|
85
|
-
return stepsConfig.some(function (step) {
|
|
86
|
-
return step.id;
|
|
87
|
-
});
|
|
88
|
-
}, [stepsConfig]);
|
|
89
82
|
var isLastStep = (0, _react.useMemo)(function () {
|
|
90
83
|
return activeStepNumber === totalSteps;
|
|
91
84
|
}, [activeStepNumber, totalSteps]);
|
|
@@ -97,7 +90,7 @@ var Wizard = function Wizard(_ref) {
|
|
|
97
90
|
};
|
|
98
91
|
})) || [];
|
|
99
92
|
}, [stepsConfig]);
|
|
100
|
-
var wizardClasses = (0, _classnames.default)('wizard-form', className
|
|
93
|
+
var wizardClasses = (0, _classnames.default)('wizard-form', className);
|
|
101
94
|
|
|
102
95
|
var goToNextStep = function goToNextStep() {
|
|
103
96
|
setActiveStepNumber(function (prevStep) {
|
|
@@ -115,8 +108,8 @@ var Wizard = function Wizard(_ref) {
|
|
|
115
108
|
return setActiveStepNumber(idx);
|
|
116
109
|
};
|
|
117
110
|
|
|
118
|
-
var
|
|
119
|
-
if (confirmClose &&
|
|
111
|
+
var handleOnClose = function handleOnClose() {
|
|
112
|
+
if (confirmClose && formState && formState.dirty) {
|
|
120
113
|
(0, _common.openPopUp)(_ConfirmDialog.default, {
|
|
121
114
|
cancelButton: {
|
|
122
115
|
label: 'Cancel',
|
|
@@ -135,98 +128,72 @@ var Wizard = function Wizard(_ref) {
|
|
|
135
128
|
}
|
|
136
129
|
};
|
|
137
130
|
|
|
138
|
-
var handleSubmit = function handleSubmit(
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
131
|
+
var handleSubmit = function handleSubmit() {
|
|
132
|
+
formState.handleSubmit();
|
|
133
|
+
|
|
134
|
+
if (formState.valid) {
|
|
135
|
+
if (isLastStep) {
|
|
136
|
+
onWizardSubmit(formState.values);
|
|
137
|
+
} else {
|
|
138
|
+
goToNextStep();
|
|
139
|
+
}
|
|
143
140
|
}
|
|
144
141
|
};
|
|
145
142
|
|
|
146
|
-
var getDefaultActions = function getDefaultActions(
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
})];
|
|
160
|
-
} else {
|
|
161
|
-
return [/*#__PURE__*/(0, _jsxRuntime.jsx)(_Button.default, {
|
|
162
|
-
onClick: function onClick() {
|
|
163
|
-
return _handleOnClose(FormState);
|
|
164
|
-
},
|
|
165
|
-
label: "Cancel",
|
|
166
|
-
type: "button"
|
|
167
|
-
}), /*#__PURE__*/(0, _jsxRuntime.jsx)(_Button.default, {
|
|
168
|
-
onClick: FormState.handleSubmit,
|
|
169
|
-
disabled: FormState.submitting,
|
|
170
|
-
label: submitButtonLabel,
|
|
171
|
-
type: "button",
|
|
172
|
-
variant: _constants.SECONDARY_BUTTON
|
|
173
|
-
})];
|
|
174
|
-
}
|
|
143
|
+
var getDefaultActions = function getDefaultActions() {
|
|
144
|
+
return [/*#__PURE__*/(0, _jsxRuntime.jsx)(_Button.default, {
|
|
145
|
+
onClick: goToPreviousStep,
|
|
146
|
+
disabled: activeStepNumber === 0,
|
|
147
|
+
label: "Back",
|
|
148
|
+
type: "button"
|
|
149
|
+
}), /*#__PURE__*/(0, _jsxRuntime.jsx)(_Button.default, {
|
|
150
|
+
onClick: handleSubmit,
|
|
151
|
+
disabled: formState.submitting || formState.invalid && formState.submitFailed,
|
|
152
|
+
label: isLastStep ? submitButtonLabel : 'Next',
|
|
153
|
+
type: "button",
|
|
154
|
+
variant: _constants.SECONDARY_BUTTON
|
|
155
|
+
})];
|
|
175
156
|
};
|
|
176
157
|
|
|
177
|
-
var renderModalActions = function renderModalActions(
|
|
158
|
+
var renderModalActions = function renderModalActions() {
|
|
178
159
|
var _stepsConfig$activeSt;
|
|
179
160
|
|
|
180
161
|
if ((_stepsConfig$activeSt = stepsConfig[activeStepNumber]) !== null && _stepsConfig$activeSt !== void 0 && _stepsConfig$activeSt.getActions) {
|
|
181
162
|
return stepsConfig[activeStepNumber].getActions({
|
|
182
|
-
|
|
163
|
+
formState: formState,
|
|
183
164
|
goToNextStep: goToNextStep,
|
|
184
165
|
goToPreviousStep: goToPreviousStep,
|
|
185
|
-
handleOnClose:
|
|
186
|
-
|
|
187
|
-
}
|
|
166
|
+
handleOnClose: handleOnClose,
|
|
167
|
+
handleSubmit: handleSubmit
|
|
188
168
|
}).map(function (action) {
|
|
189
169
|
return /*#__PURE__*/(0, _jsxRuntime.jsx)(_Button.default, _objectSpread({}, action));
|
|
190
170
|
});
|
|
191
171
|
} else {
|
|
192
|
-
return getDefaultActions(
|
|
172
|
+
return getDefaultActions();
|
|
193
173
|
}
|
|
194
174
|
};
|
|
195
175
|
|
|
196
|
-
return /*#__PURE__*/(0, _jsxRuntime.
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
activeStepNumber: activeStepNumber,
|
|
212
|
-
jumpToStep: jumpToStep,
|
|
213
|
-
steps: stepsMenu
|
|
214
|
-
}), /*#__PURE__*/(0, _jsxRuntime.jsxs)("div", {
|
|
215
|
-
className: "wizard-form__content",
|
|
216
|
-
children: [activeStepTemplate, /*#__PURE__*/(0, _jsxRuntime.jsx)("pre", {
|
|
217
|
-
children: JSON.stringify(FormState, null, 2)
|
|
218
|
-
})]
|
|
219
|
-
})]
|
|
220
|
-
});
|
|
221
|
-
}
|
|
222
|
-
})
|
|
176
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_Modal.default, {
|
|
177
|
+
actions: renderModalActions(),
|
|
178
|
+
className: wizardClasses,
|
|
179
|
+
onClose: handleOnClose,
|
|
180
|
+
show: isWizardOpen,
|
|
181
|
+
size: size,
|
|
182
|
+
title: title,
|
|
183
|
+
children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_WizardSteps.default, {
|
|
184
|
+
activeStepNumber: activeStepNumber,
|
|
185
|
+
jumpToStep: jumpToStep,
|
|
186
|
+
steps: stepsMenu
|
|
187
|
+
}), /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
|
|
188
|
+
className: "wizard-form__content",
|
|
189
|
+
children: activeStepTemplate
|
|
190
|
+
})]
|
|
223
191
|
});
|
|
224
192
|
};
|
|
225
193
|
|
|
226
194
|
Wizard.defaultProps = {
|
|
227
195
|
className: '',
|
|
228
196
|
confirmClose: false,
|
|
229
|
-
initialValues: {},
|
|
230
197
|
size: _constants.MODAL_MD,
|
|
231
198
|
stepsConfig: [],
|
|
232
199
|
submitButtonLabel: 'Submit'
|
|
@@ -234,10 +201,10 @@ Wizard.defaultProps = {
|
|
|
234
201
|
Wizard.propsTypes = {
|
|
235
202
|
className: _propTypes.default.string,
|
|
236
203
|
confirmClose: _propTypes.default.bool,
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
|
|
204
|
+
formState: _propTypes.default.object.isRequired,
|
|
205
|
+
isWizardOpen: _propTypes.default.bool.isRequired,
|
|
206
|
+
onWizardResolve: _propTypes.default.func.isRequired,
|
|
207
|
+
onWizardSubmit: _propTypes.default.func.isRequired,
|
|
241
208
|
size: _types.MODAL_SIZES,
|
|
242
209
|
title: _propTypes.default.string.isRequired,
|
|
243
210
|
stepsConfig: _types.WIZARD_STEPS_CONFIG,
|
|
@@ -1,17 +1,15 @@
|
|
|
1
1
|
.wizard-form {
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
}
|
|
2
|
+
.modal__body {
|
|
3
|
+
display: flex;
|
|
4
|
+
flex-flow: row nowrap;
|
|
5
|
+
overflow: hidden;
|
|
6
|
+
padding-right: 0;
|
|
7
|
+
}
|
|
9
8
|
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
}
|
|
9
|
+
.wizard-form__content {
|
|
10
|
+
overflow-y: auto;
|
|
11
|
+
height: 100%;
|
|
12
|
+
width: 100%;
|
|
13
|
+
padding-right: 2rem;
|
|
16
14
|
}
|
|
17
15
|
}
|
package/dist/components/index.js
CHANGED
|
@@ -27,12 +27,24 @@ Object.defineProperty(exports, "FormInput", {
|
|
|
27
27
|
return _FormInput.default;
|
|
28
28
|
}
|
|
29
29
|
});
|
|
30
|
+
Object.defineProperty(exports, "FormKeyValueTable", {
|
|
31
|
+
enumerable: true,
|
|
32
|
+
get: function get() {
|
|
33
|
+
return _FormKeyValueTable.default;
|
|
34
|
+
}
|
|
35
|
+
});
|
|
30
36
|
Object.defineProperty(exports, "FormSelect", {
|
|
31
37
|
enumerable: true,
|
|
32
38
|
get: function get() {
|
|
33
39
|
return _FormSelect.default;
|
|
34
40
|
}
|
|
35
41
|
});
|
|
42
|
+
Object.defineProperty(exports, "FormTextarea", {
|
|
43
|
+
enumerable: true,
|
|
44
|
+
get: function get() {
|
|
45
|
+
return _FormTextarea.default;
|
|
46
|
+
}
|
|
47
|
+
});
|
|
36
48
|
Object.defineProperty(exports, "Modal", {
|
|
37
49
|
enumerable: true,
|
|
38
50
|
get: function get() {
|
|
@@ -84,8 +96,12 @@ var _FormCheckBox = _interopRequireDefault(require("./FormCheckBox/FormCheckBox"
|
|
|
84
96
|
|
|
85
97
|
var _FormInput = _interopRequireDefault(require("./FormInput/FormInput"));
|
|
86
98
|
|
|
99
|
+
var _FormKeyValueTable = _interopRequireDefault(require("./FormKeyValueTable/FormKeyValueTable"));
|
|
100
|
+
|
|
87
101
|
var _FormSelect = _interopRequireDefault(require("./FormSelect/FormSelect"));
|
|
88
102
|
|
|
103
|
+
var _FormTextarea = _interopRequireDefault(require("./FormTextarea/FormTextarea"));
|
|
104
|
+
|
|
89
105
|
var _Modal = _interopRequireDefault(require("./Modal/Modal"));
|
|
90
106
|
|
|
91
107
|
var _PopUpDialog = _interopRequireDefault(require("./PopUpDialog/PopUpDialog"));
|
|
@@ -19,13 +19,12 @@ var _jsxRuntime = require("react/jsx-runtime");
|
|
|
19
19
|
|
|
20
20
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
21
21
|
|
|
22
|
-
var OptionsMenu = function
|
|
22
|
+
var OptionsMenu = /*#__PURE__*/_react.default.forwardRef(function (_ref, ref) {
|
|
23
23
|
var children = _ref.children,
|
|
24
|
-
parentElement = _ref.parentElement,
|
|
25
24
|
show = _ref.show,
|
|
26
25
|
timeout = _ref.timeout;
|
|
27
26
|
|
|
28
|
-
var _ref2 =
|
|
27
|
+
var _ref2 = ref.current ? ref.current.getBoundingClientRect() : {},
|
|
29
28
|
dropdownWidth = _ref2.width;
|
|
30
29
|
|
|
31
30
|
return /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactTransitionGroup.CSSTransition, {
|
|
@@ -36,7 +35,7 @@ var OptionsMenu = function OptionsMenu(_ref) {
|
|
|
36
35
|
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_components.PopUpDialog, {
|
|
37
36
|
className: "options-menu",
|
|
38
37
|
customPosition: {
|
|
39
|
-
element:
|
|
38
|
+
element: ref,
|
|
40
39
|
position: 'bottom-right'
|
|
41
40
|
},
|
|
42
41
|
style: {
|
|
@@ -48,7 +47,7 @@ var OptionsMenu = function OptionsMenu(_ref) {
|
|
|
48
47
|
})
|
|
49
48
|
})
|
|
50
49
|
});
|
|
51
|
-
};
|
|
50
|
+
});
|
|
52
51
|
|
|
53
52
|
OptionsMenu.defaultProps = {
|
|
54
53
|
children: [],
|
|
@@ -81,7 +81,7 @@ var SelectOption = function SelectOption(_ref) {
|
|
|
81
81
|
SelectOption.defaultProps = {
|
|
82
82
|
onClick: function onClick() {},
|
|
83
83
|
selectType: '',
|
|
84
|
-
withSelectedIcon:
|
|
84
|
+
withSelectedIcon: true
|
|
85
85
|
};
|
|
86
86
|
SelectOption.propTypes = {
|
|
87
87
|
disabled: _propTypes.default.bool,
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
Object.defineProperty(exports, "OptionsMenu", {
|
|
7
|
+
enumerable: true,
|
|
8
|
+
get: function get() {
|
|
9
|
+
return _OptionsMenu.default;
|
|
10
|
+
}
|
|
11
|
+
});
|
|
12
|
+
Object.defineProperty(exports, "SelectOption", {
|
|
13
|
+
enumerable: true,
|
|
14
|
+
get: function get() {
|
|
15
|
+
return _SelectOption.default;
|
|
16
|
+
}
|
|
17
|
+
});
|
|
18
|
+
Object.defineProperty(exports, "ValidationTemplate", {
|
|
19
|
+
enumerable: true,
|
|
20
|
+
get: function get() {
|
|
21
|
+
return _ValidationTemplate.default;
|
|
22
|
+
}
|
|
23
|
+
});
|
|
24
|
+
|
|
25
|
+
var _OptionsMenu = _interopRequireDefault(require("./OptionsMenu/OptionsMenu"));
|
|
26
|
+
|
|
27
|
+
var _SelectOption = _interopRequireDefault(require("./SelectOption/SelectOption"));
|
|
28
|
+
|
|
29
|
+
var _ValidationTemplate = _interopRequireDefault(require("./ValidationTemplate/ValidationTemplate"));
|
|
30
|
+
|
|
31
|
+
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
Object.defineProperty(exports, "useDetectOutsideClick", {
|
|
7
|
+
enumerable: true,
|
|
8
|
+
get: function get() {
|
|
9
|
+
return _useDetectOutsideClick.useDetectOutsideClick;
|
|
10
|
+
}
|
|
11
|
+
});
|
|
12
|
+
|
|
13
|
+
var _useDetectOutsideClick = require("./useDetectOutsideClick");
|