@elliemae/ds-wizard 1.57.1-rc.0 → 2.0.0-alpha.11
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/cjs/DSWizard.stories.js +18 -0
- package/cjs/WizardStep.js +38 -47
- package/cjs/WizardSteps.js +31 -35
- package/cjs/blockNames.js +3 -4
- package/cjs/index.js +2 -12
- package/cjs/stories/steps.js +10 -16
- package/cjs/stories/wizzard-overview.stories.js +61 -0
- package/cjs/useWizard.js +18 -33
- package/esm/DSWizard.stories.js +13 -0
- package/esm/WizardStep.js +35 -45
- package/esm/WizardSteps.js +25 -29
- package/esm/blockNames.js +3 -4
- package/esm/index.js +0 -10
- package/esm/stories/steps.js +9 -15
- package/esm/stories/wizzard-overview.stories.js +52 -0
- package/esm/useWizard.js +17 -32
- package/package.json +49 -14
- package/types/DSWizard.stories.d.ts +11 -0
- package/types/WizardStep.d.ts +24 -0
- package/types/WizardSteps.d.ts +19 -0
- package/types/blockNames.d.ts +3 -0
- package/types/index.d.ts +4 -0
- package/types/stories/steps.d.ts +5 -0
- package/types/stories/wizzard-overview.stories.d.ts +1 -0
- package/types/useWizard.d.ts +14 -0
- package/WizardStep/package.json +0 -10
- package/WizardSteps/package.json +0 -10
- package/blockNames/package.json +0 -10
- package/cjs/WizardStep.js.map +0 -1
- package/cjs/WizardSteps.js.map +0 -1
- package/cjs/blockNames.js.map +0 -1
- package/cjs/index.js.map +0 -1
- package/cjs/stories/steps.js.map +0 -1
- package/cjs/useWizard.js.map +0 -1
- package/esm/WizardStep.js.map +0 -1
- package/esm/WizardSteps.js.map +0 -1
- package/esm/blockNames.js.map +0 -1
- package/esm/index.js.map +0 -1
- package/esm/stories/steps.js.map +0 -1
- package/esm/useWizard.js.map +0 -1
- package/stories/steps/package.json +0 -10
- package/useWizard/package.json +0 -10
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
|
+
|
|
5
|
+
var dsWizard = require('@elliemae/ds-wizard');
|
|
6
|
+
var wizzardOverview_stories = require('./stories/wizzard-overview.stories.js');
|
|
7
|
+
|
|
8
|
+
/* eslint-disable import/no-unresolved */
|
|
9
|
+
var DSWizard_stories = {
|
|
10
|
+
title: 'Wizzard',
|
|
11
|
+
component: dsWizard.WizardStepsIndicator,
|
|
12
|
+
parameters: {
|
|
13
|
+
propsSchemas: dsWizard.WizzardWithSchema
|
|
14
|
+
}
|
|
15
|
+
};
|
|
16
|
+
|
|
17
|
+
exports.Overview = wizzardOverview_stories.Overview;
|
|
18
|
+
exports["default"] = DSWizard_stories;
|
package/cjs/WizardStep.js
CHANGED
|
@@ -2,77 +2,68 @@
|
|
|
2
2
|
|
|
3
3
|
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
4
|
|
|
5
|
+
var _jsx = require('@babel/runtime/helpers/jsx');
|
|
5
6
|
var React = require('react');
|
|
6
7
|
var reactDesc = require('react-desc');
|
|
7
8
|
var dsClassnames = require('@elliemae/ds-classnames');
|
|
8
|
-
var
|
|
9
|
-
var
|
|
9
|
+
var utils = require('@elliemae/ds-utilities/utils');
|
|
10
|
+
var Checkmark = require('@elliemae/ds-icons/Checkmark');
|
|
10
11
|
var blockNames = require('./blockNames.js');
|
|
11
12
|
|
|
12
13
|
function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
|
|
13
14
|
|
|
14
|
-
var
|
|
15
|
+
var _jsx__default = /*#__PURE__*/_interopDefaultLegacy(_jsx);
|
|
16
|
+
var Checkmark__default = /*#__PURE__*/_interopDefaultLegacy(Checkmark);
|
|
15
17
|
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
var BulletWrapper = dsClassnames.aggregatedClasses('div')(blockNames.indicatorItemBlockName, 'bullet-wrapper');
|
|
18
|
+
var _Checkmark;
|
|
19
|
+
const Item = dsClassnames.aggregatedClasses('div')("".concat(blockNames.indicatorItemBlockName), null, ({
|
|
20
|
+
active,
|
|
21
|
+
completed
|
|
22
|
+
}) => ({
|
|
23
|
+
active,
|
|
24
|
+
completed
|
|
25
|
+
}));
|
|
26
|
+
const Wrapper = dsClassnames.aggregatedClasses('div')("".concat(blockNames.indicatorItemBlockName, "-wrapper"));
|
|
27
|
+
const Label = dsClassnames.aggregatedClasses('span')(blockNames.indicatorItemBlockName, 'label');
|
|
28
|
+
const Bullet = dsClassnames.aggregatedClasses('div')(blockNames.indicatorItemBlockName, 'bullet');
|
|
29
|
+
const BulletWrapper = dsClassnames.aggregatedClasses('div')(blockNames.indicatorItemBlockName, 'bullet-wrapper');
|
|
29
30
|
|
|
30
|
-
function WizardStep(
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
active = _ref2$active === void 0 ? false : _ref2$active,
|
|
41
|
-
_ref2$completed = _ref2.completed,
|
|
42
|
-
completed = _ref2$completed === void 0 ? false : _ref2$completed,
|
|
43
|
-
_ref2$index = _ref2.index,
|
|
44
|
-
index = _ref2$index === void 0 ? 0 : _ref2$index;
|
|
45
|
-
var currentIcon = React.useMemo(function () {
|
|
31
|
+
function WizardStep({
|
|
32
|
+
label = '',
|
|
33
|
+
icon = null,
|
|
34
|
+
iconCompleted = _Checkmark || (_Checkmark = /*#__PURE__*/_jsx__default["default"](Checkmark__default["default"], {})),
|
|
35
|
+
iconActive = null,
|
|
36
|
+
active = false,
|
|
37
|
+
completed = false,
|
|
38
|
+
index = 0
|
|
39
|
+
}) {
|
|
40
|
+
const currentIcon = React.useMemo(() => {
|
|
46
41
|
if (active) return iconActive;
|
|
47
42
|
if (completed) return iconCompleted;
|
|
48
43
|
return icon;
|
|
49
44
|
}, [active, completed]) || icon;
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
}, [currentIcon]);
|
|
55
|
-
return /*#__PURE__*/React__default['default'].createElement(Item, {
|
|
45
|
+
const iconWithOptions = React.useMemo(() => /*#__PURE__*/React.isValidElement(currentIcon) ? /*#__PURE__*/React.cloneElement(currentIcon, {
|
|
46
|
+
color: utils.get(currentIcon, ['props', 'color']) || ['brand-primary', completed ? 600 : 500]
|
|
47
|
+
}) : currentIcon || index + 1, [currentIcon]);
|
|
48
|
+
return /*#__PURE__*/_jsx__default["default"](Item, {
|
|
56
49
|
classProps: {
|
|
57
|
-
active
|
|
58
|
-
completed
|
|
50
|
+
active,
|
|
51
|
+
completed
|
|
59
52
|
}
|
|
60
|
-
}, /*#__PURE__*/
|
|
53
|
+
}, void 0, /*#__PURE__*/_jsx__default["default"](Wrapper, {}, void 0, /*#__PURE__*/_jsx__default["default"](BulletWrapper, {}, void 0, /*#__PURE__*/_jsx__default["default"](Bullet, {}, void 0, iconWithOptions)), /*#__PURE__*/_jsx__default["default"](Label, {}, void 0, label)));
|
|
61
54
|
}
|
|
62
55
|
|
|
63
|
-
|
|
56
|
+
const wizzardStepProps = {
|
|
64
57
|
label: reactDesc.PropTypes.string.description('Step label'),
|
|
65
58
|
icon: reactDesc.PropTypes.oneOfType([reactDesc.PropTypes.element, reactDesc.PropTypes.string]).description('Default icon or number'),
|
|
66
|
-
iconCompleted: reactDesc.PropTypes.element.description('Icon when the step is completed').defaultValue(
|
|
59
|
+
iconCompleted: reactDesc.PropTypes.element.description('Icon when the step is completed').defaultValue(Checkmark__default["default"]),
|
|
67
60
|
iconActive: reactDesc.PropTypes.element.description('Icon when the step is active'),
|
|
68
61
|
active: reactDesc.PropTypes.bool.description('Whether the step is active or not').defaultValue(false),
|
|
69
62
|
completed: reactDesc.PropTypes.bool.description('Whether the step is completed or not').defaultValue(false),
|
|
70
63
|
index: reactDesc.PropTypes.number.description('Current item index')
|
|
71
64
|
};
|
|
72
|
-
|
|
73
|
-
var WizzardStepWithSchema = reactDesc.describe(WizardStep);
|
|
65
|
+
const WizzardStepWithSchema = reactDesc.describe(WizardStep);
|
|
74
66
|
WizzardStepWithSchema.propTypes = wizzardStepProps;
|
|
75
67
|
|
|
76
68
|
exports.WizzardStepWithSchema = WizzardStepWithSchema;
|
|
77
|
-
exports[
|
|
78
|
-
//# sourceMappingURL=WizardStep.js.map
|
|
69
|
+
exports["default"] = WizardStep;
|
package/cjs/WizardSteps.js
CHANGED
|
@@ -2,62 +2,58 @@
|
|
|
2
2
|
|
|
3
3
|
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
4
|
|
|
5
|
-
var
|
|
5
|
+
var _defineProperty = require('@babel/runtime/helpers/defineProperty');
|
|
6
6
|
var _objectWithoutProperties = require('@babel/runtime/helpers/objectWithoutProperties');
|
|
7
7
|
var React = require('react');
|
|
8
8
|
var reactDesc = require('react-desc');
|
|
9
9
|
var dsClassnames = require('@elliemae/ds-classnames');
|
|
10
10
|
var WizardStep = require('./WizardStep.js');
|
|
11
11
|
var blockNames = require('./blockNames.js');
|
|
12
|
-
require('
|
|
13
|
-
require('@elliemae/ds-icons');
|
|
12
|
+
var jsxRuntime = require('react/jsx-runtime');
|
|
14
13
|
|
|
15
14
|
function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
|
|
16
15
|
|
|
17
|
-
var
|
|
16
|
+
var _defineProperty__default = /*#__PURE__*/_interopDefaultLegacy(_defineProperty);
|
|
18
17
|
var _objectWithoutProperties__default = /*#__PURE__*/_interopDefaultLegacy(_objectWithoutProperties);
|
|
19
18
|
var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
|
|
20
19
|
|
|
21
|
-
|
|
22
|
-
|
|
20
|
+
const _excluded = ["current", "steps", "children"];
|
|
21
|
+
|
|
22
|
+
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }
|
|
23
|
+
|
|
24
|
+
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty__default["default"](target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
|
|
25
|
+
const StepsWrapper = dsClassnames.aggregatedClasses('div')(blockNames.indicatorBlockName);
|
|
23
26
|
|
|
24
27
|
function WizardSteps(_ref) {
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
};
|
|
38
|
-
};
|
|
39
|
-
|
|
40
|
-
return steps ? steps.map(function (step, index) {
|
|
41
|
-
return /*#__PURE__*/React__default['default'].createElement(WizardStep['default'], _extends__default['default']({
|
|
42
|
-
key: index
|
|
43
|
-
}, step, mergeStepProps(step, index)));
|
|
44
|
-
}) : React__default['default'].Children.map(children, function (item, index) {
|
|
45
|
-
return /*#__PURE__*/React.cloneElement(item, mergeStepProps(item, index));
|
|
28
|
+
let {
|
|
29
|
+
current = 0,
|
|
30
|
+
steps,
|
|
31
|
+
children
|
|
32
|
+
} = _ref,
|
|
33
|
+
otherProps = _objectWithoutProperties__default["default"](_ref, _excluded);
|
|
34
|
+
|
|
35
|
+
const items = React.useMemo(() => {
|
|
36
|
+
const mergeStepProps = (step, index) => ({
|
|
37
|
+
index,
|
|
38
|
+
active: current === index,
|
|
39
|
+
completed: index < current
|
|
46
40
|
});
|
|
41
|
+
|
|
42
|
+
return steps ? steps.map((step, index) => /*#__PURE__*/jsxRuntime.jsx(WizardStep["default"], _objectSpread(_objectSpread({}, step), mergeStepProps(step, index)), index)) : React__default["default"].Children.map(children, (item, index) => /*#__PURE__*/React.cloneElement(item, mergeStepProps(item, index)));
|
|
47
43
|
}, [current, children]);
|
|
48
|
-
return /*#__PURE__*/
|
|
44
|
+
return /*#__PURE__*/jsxRuntime.jsx(StepsWrapper, _objectSpread(_objectSpread({}, otherProps), {}, {
|
|
45
|
+
children: items
|
|
46
|
+
}));
|
|
49
47
|
}
|
|
50
48
|
|
|
51
|
-
WizardSteps.Item = WizardStep[
|
|
52
|
-
|
|
49
|
+
WizardSteps.Item = WizardStep["default"];
|
|
50
|
+
const wizzardProps = {
|
|
53
51
|
current: reactDesc.PropTypes.number.description('Current active state index').defaultValue(0),
|
|
54
52
|
steps: reactDesc.PropTypes.arrayOf(reactDesc.PropTypes.shape({})).description('Array of steps objects').defaultValue([]).isRequired,
|
|
55
|
-
children: reactDesc.PropTypes.arrayOf(reactDesc.PropTypes.instanceOf(WizardStep[
|
|
53
|
+
children: reactDesc.PropTypes.arrayOf(reactDesc.PropTypes.instanceOf(WizardStep["default"])).description('List of WizardStep components')
|
|
56
54
|
};
|
|
57
|
-
|
|
58
|
-
var WizzardWithSchema = reactDesc.describe(WizardSteps);
|
|
55
|
+
const WizzardWithSchema = reactDesc.describe(WizardSteps);
|
|
59
56
|
WizzardWithSchema.propTypes = wizzardProps;
|
|
60
57
|
|
|
61
58
|
exports.WizzardWithSchema = WizzardWithSchema;
|
|
62
|
-
exports[
|
|
63
|
-
//# sourceMappingURL=WizardSteps.js.map
|
|
59
|
+
exports["default"] = WizardSteps;
|
package/cjs/blockNames.js
CHANGED
|
@@ -2,11 +2,10 @@
|
|
|
2
2
|
|
|
3
3
|
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
4
|
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
5
|
+
const wizardBlockName = 'wizard';
|
|
6
|
+
const indicatorBlockName = "".concat(wizardBlockName, "-steps-indicator");
|
|
7
|
+
const indicatorItemBlockName = "".concat(indicatorBlockName, "-step");
|
|
8
8
|
|
|
9
9
|
exports.indicatorBlockName = indicatorBlockName;
|
|
10
10
|
exports.indicatorItemBlockName = indicatorItemBlockName;
|
|
11
11
|
exports.wizardBlockName = wizardBlockName;
|
|
12
|
-
//# sourceMappingURL=blockNames.js.map
|
package/cjs/index.js
CHANGED
|
@@ -5,21 +5,11 @@ Object.defineProperty(exports, '__esModule', { value: true });
|
|
|
5
5
|
var WizardSteps = require('./WizardSteps.js');
|
|
6
6
|
var WizardStep = require('./WizardStep.js');
|
|
7
7
|
var useWizard = require('./useWizard.js');
|
|
8
|
-
require('@babel/runtime/helpers/extends');
|
|
9
|
-
require('@babel/runtime/helpers/objectWithoutProperties');
|
|
10
|
-
require('react');
|
|
11
|
-
require('react-desc');
|
|
12
|
-
require('@elliemae/ds-classnames');
|
|
13
|
-
require('./blockNames.js');
|
|
14
|
-
require('@elliemae/ds-utilities');
|
|
15
|
-
require('@elliemae/ds-icons');
|
|
16
|
-
require('@babel/runtime/helpers/slicedToArray');
|
|
17
8
|
|
|
18
9
|
|
|
19
10
|
|
|
20
|
-
exports.WizardStepsIndicator = WizardSteps[
|
|
11
|
+
exports.WizardStepsIndicator = WizardSteps["default"];
|
|
21
12
|
exports.WizzardWithSchema = WizardSteps.WizzardWithSchema;
|
|
22
|
-
exports.WizardStep = WizardStep[
|
|
13
|
+
exports.WizardStep = WizardStep["default"];
|
|
23
14
|
exports.WizzardStepWithSchema = WizardStep.WizzardStepWithSchema;
|
|
24
15
|
exports.useWizard = useWizard;
|
|
25
|
-
//# sourceMappingURL=index.js.map
|
package/cjs/stories/steps.js
CHANGED
|
@@ -2,29 +2,24 @@
|
|
|
2
2
|
|
|
3
3
|
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
4
|
|
|
5
|
-
var
|
|
5
|
+
var _jsx = require('@babel/runtime/helpers/jsx');
|
|
6
|
+
require('react');
|
|
6
7
|
|
|
7
8
|
function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
|
|
8
9
|
|
|
9
|
-
var
|
|
10
|
+
var _jsx__default = /*#__PURE__*/_interopDefaultLegacy(_jsx);
|
|
10
11
|
|
|
11
|
-
var
|
|
12
|
-
return /*#__PURE__*/React__default['default'].createElement("div", null, "Step 1 Content");
|
|
13
|
-
};
|
|
12
|
+
var _div, _div2, _div3, _div4;
|
|
14
13
|
|
|
15
|
-
|
|
16
|
-
return /*#__PURE__*/React__default['default'].createElement("div", null, "Step 2 Content");
|
|
17
|
-
};
|
|
14
|
+
const Step1Content = () => _div || (_div = /*#__PURE__*/_jsx__default["default"]("div", {}, void 0, "Step 1 Content"));
|
|
18
15
|
|
|
19
|
-
|
|
20
|
-
return /*#__PURE__*/React__default['default'].createElement("div", null, "Step 3 Content");
|
|
21
|
-
};
|
|
16
|
+
const Step2Content = () => _div2 || (_div2 = /*#__PURE__*/_jsx__default["default"]("div", {}, void 0, "Step 2 Content"));
|
|
22
17
|
|
|
23
|
-
|
|
24
|
-
return /*#__PURE__*/React__default['default'].createElement("div", null, "Step 4 Content");
|
|
25
|
-
};
|
|
18
|
+
const Step3Content = () => _div3 || (_div3 = /*#__PURE__*/_jsx__default["default"]("div", {}, void 0, "Step 3 Content"));
|
|
26
19
|
|
|
27
|
-
|
|
20
|
+
const Step4Content = () => _div4 || (_div4 = /*#__PURE__*/_jsx__default["default"]("div", {}, void 0, "Step 4 Content"));
|
|
21
|
+
|
|
22
|
+
const steps = [{
|
|
28
23
|
label: 'Step 1',
|
|
29
24
|
content: Step1Content
|
|
30
25
|
}, {
|
|
@@ -39,4 +34,3 @@ var steps = [{
|
|
|
39
34
|
}];
|
|
40
35
|
|
|
41
36
|
exports.steps = steps;
|
|
42
|
-
//# sourceMappingURL=steps.js.map
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
|
+
|
|
5
|
+
var _jsx = require('@babel/runtime/helpers/jsx');
|
|
6
|
+
require('react');
|
|
7
|
+
var dsWizard = require('@elliemae/ds-wizard');
|
|
8
|
+
var DSButton = require('@elliemae/ds-basic/Button');
|
|
9
|
+
var steps = require('./steps.js');
|
|
10
|
+
var jsxRuntime = require('react/jsx-runtime');
|
|
11
|
+
|
|
12
|
+
function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
|
|
13
|
+
|
|
14
|
+
var _jsx__default = /*#__PURE__*/_interopDefaultLegacy(_jsx);
|
|
15
|
+
var DSButton__default = /*#__PURE__*/_interopDefaultLegacy(DSButton);
|
|
16
|
+
|
|
17
|
+
const Overview = () => {
|
|
18
|
+
const {
|
|
19
|
+
WizardCurrentContent,
|
|
20
|
+
current,
|
|
21
|
+
next,
|
|
22
|
+
previous,
|
|
23
|
+
canNext,
|
|
24
|
+
canPrevious
|
|
25
|
+
} = dsWizard.useWizard({
|
|
26
|
+
steps: steps.steps
|
|
27
|
+
});
|
|
28
|
+
return /*#__PURE__*/jsxRuntime.jsxs(jsxRuntime.Fragment, {
|
|
29
|
+
children: [/*#__PURE__*/_jsx__default["default"](dsWizard.WizardStepsIndicator, {
|
|
30
|
+
current: current,
|
|
31
|
+
steps: steps.steps
|
|
32
|
+
}), /*#__PURE__*/_jsx__default["default"]("div", {
|
|
33
|
+
style: {
|
|
34
|
+
margin: '10px 0',
|
|
35
|
+
padding: 10,
|
|
36
|
+
border: '1px solid #ddd'
|
|
37
|
+
}
|
|
38
|
+
}, void 0, /*#__PURE__*/_jsx__default["default"](WizardCurrentContent, {
|
|
39
|
+
data: {
|
|
40
|
+
someExtraData: 'step information'
|
|
41
|
+
}
|
|
42
|
+
})), /*#__PURE__*/_jsx__default["default"]("div", {
|
|
43
|
+
style: {
|
|
44
|
+
display: 'flex',
|
|
45
|
+
width: 180,
|
|
46
|
+
justifyContent: 'space-between'
|
|
47
|
+
}
|
|
48
|
+
}, void 0, /*#__PURE__*/_jsx__default["default"](DSButton__default["default"], {
|
|
49
|
+
buttonType: "secondary",
|
|
50
|
+
disabled: !canPrevious,
|
|
51
|
+
labelText: "Previous",
|
|
52
|
+
onClick: previous
|
|
53
|
+
}), /*#__PURE__*/_jsx__default["default"](DSButton__default["default"], {
|
|
54
|
+
disabled: !canNext,
|
|
55
|
+
labelText: "Next",
|
|
56
|
+
onClick: next
|
|
57
|
+
}))]
|
|
58
|
+
});
|
|
59
|
+
};
|
|
60
|
+
|
|
61
|
+
exports.Overview = Overview;
|
package/cjs/useWizard.js
CHANGED
|
@@ -1,47 +1,35 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
require('core-js/modules/web.dom-collections.iterator.js');
|
|
4
4
|
var React = require('react');
|
|
5
|
-
var
|
|
5
|
+
var utils = require('@elliemae/ds-utilities/utils');
|
|
6
|
+
var useDerivedStateFromProps = require('@elliemae/ds-utilities/hooks/useDerivedStateFromProps');
|
|
6
7
|
|
|
7
8
|
function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
|
|
8
9
|
|
|
9
|
-
var
|
|
10
|
+
var useDerivedStateFromProps__default = /*#__PURE__*/_interopDefaultLegacy(useDerivedStateFromProps);
|
|
10
11
|
|
|
11
|
-
|
|
12
|
-
return array.length > prevIndex + 1;
|
|
13
|
-
};
|
|
12
|
+
const checkCanNext = (prevIndex, array) => array.length > prevIndex + 1;
|
|
14
13
|
|
|
15
|
-
|
|
16
|
-
return prevIndex - 1 >= 0;
|
|
17
|
-
};
|
|
14
|
+
const checkCanPrevious = prevIndex => prevIndex - 1 >= 0;
|
|
18
15
|
|
|
19
|
-
|
|
20
|
-
return null;
|
|
21
|
-
};
|
|
16
|
+
const noop = () => null;
|
|
22
17
|
|
|
23
|
-
function useWizard(
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
var _useDerivedStateFromP = dsUtilities.useDerivedStateFromProps(current || initial),
|
|
34
|
-
_useDerivedStateFromP2 = _slicedToArray__default['default'](_useDerivedStateFromP, 2),
|
|
35
|
-
currentStep = _useDerivedStateFromP2[0],
|
|
36
|
-
setCurrentStep = _useDerivedStateFromP2[1];
|
|
37
|
-
|
|
38
|
-
var handleNext = React.useCallback(function () {
|
|
18
|
+
function useWizard({
|
|
19
|
+
steps: wizardSteps,
|
|
20
|
+
current,
|
|
21
|
+
onNext = noop,
|
|
22
|
+
onPrevious = noop,
|
|
23
|
+
initial = 0
|
|
24
|
+
}) {
|
|
25
|
+
const [currentStep, setCurrentStep] = useDerivedStateFromProps__default["default"](current || initial);
|
|
26
|
+
const handleNext = React.useCallback(() => {
|
|
39
27
|
if (checkCanNext(currentStep, wizardSteps)) {
|
|
40
28
|
onNext(currentStep);
|
|
41
29
|
setCurrentStep(currentStep + 1);
|
|
42
30
|
}
|
|
43
31
|
});
|
|
44
|
-
|
|
32
|
+
const handlePrevious = React.useCallback(() => {
|
|
45
33
|
if (checkCanPrevious(currentStep)) {
|
|
46
34
|
onPrevious(currentStep);
|
|
47
35
|
setCurrentStep(currentStep - 1);
|
|
@@ -53,11 +41,8 @@ function useWizard(_ref) {
|
|
|
53
41
|
previous: handlePrevious,
|
|
54
42
|
canNext: checkCanNext(currentStep, wizardSteps),
|
|
55
43
|
canPrevious: checkCanPrevious(currentStep),
|
|
56
|
-
WizardCurrentContent:
|
|
57
|
-
return null;
|
|
58
|
-
})
|
|
44
|
+
WizardCurrentContent: utils.get(wizardSteps, [currentStep, 'content'], () => null)
|
|
59
45
|
};
|
|
60
46
|
}
|
|
61
47
|
|
|
62
48
|
module.exports = useWizard;
|
|
63
|
-
//# sourceMappingURL=useWizard.js.map
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { WizardStepsIndicator, WizzardWithSchema } from '@elliemae/ds-wizard';
|
|
2
|
+
export { Overview } from './stories/wizzard-overview.stories.js';
|
|
3
|
+
|
|
4
|
+
/* eslint-disable import/no-unresolved */
|
|
5
|
+
var DSWizard_stories = {
|
|
6
|
+
title: 'Wizzard',
|
|
7
|
+
component: WizardStepsIndicator,
|
|
8
|
+
parameters: {
|
|
9
|
+
propsSchemas: WizzardWithSchema
|
|
10
|
+
}
|
|
11
|
+
};
|
|
12
|
+
|
|
13
|
+
export { DSWizard_stories as default };
|
package/esm/WizardStep.js
CHANGED
|
@@ -1,58 +1,50 @@
|
|
|
1
|
-
import
|
|
1
|
+
import _jsx from '@babel/runtime/helpers/esm/jsx';
|
|
2
|
+
import { useMemo, isValidElement, cloneElement } from 'react';
|
|
2
3
|
import { PropTypes, describe } from 'react-desc';
|
|
3
4
|
import { aggregatedClasses } from '@elliemae/ds-classnames';
|
|
4
|
-
import { get } from '@elliemae/ds-utilities';
|
|
5
|
-
import
|
|
5
|
+
import { get } from '@elliemae/ds-utilities/utils';
|
|
6
|
+
import Checkmark from '@elliemae/ds-icons/Checkmark';
|
|
6
7
|
import { indicatorItemBlockName } from './blockNames.js';
|
|
7
8
|
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
var BulletWrapper = aggregatedClasses('div')(indicatorItemBlockName, 'bullet-wrapper');
|
|
9
|
+
var _Checkmark;
|
|
10
|
+
const Item = aggregatedClasses('div')("".concat(indicatorItemBlockName), null, ({
|
|
11
|
+
active,
|
|
12
|
+
completed
|
|
13
|
+
}) => ({
|
|
14
|
+
active,
|
|
15
|
+
completed
|
|
16
|
+
}));
|
|
17
|
+
const Wrapper = aggregatedClasses('div')("".concat(indicatorItemBlockName, "-wrapper"));
|
|
18
|
+
const Label = aggregatedClasses('span')(indicatorItemBlockName, 'label');
|
|
19
|
+
const Bullet = aggregatedClasses('div')(indicatorItemBlockName, 'bullet');
|
|
20
|
+
const BulletWrapper = aggregatedClasses('div')(indicatorItemBlockName, 'bullet-wrapper');
|
|
21
21
|
|
|
22
|
-
function WizardStep(
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
active = _ref2$active === void 0 ? false : _ref2$active,
|
|
33
|
-
_ref2$completed = _ref2.completed,
|
|
34
|
-
completed = _ref2$completed === void 0 ? false : _ref2$completed,
|
|
35
|
-
_ref2$index = _ref2.index,
|
|
36
|
-
index = _ref2$index === void 0 ? 0 : _ref2$index;
|
|
37
|
-
var currentIcon = useMemo(function () {
|
|
22
|
+
function WizardStep({
|
|
23
|
+
label = '',
|
|
24
|
+
icon = null,
|
|
25
|
+
iconCompleted = _Checkmark || (_Checkmark = /*#__PURE__*/_jsx(Checkmark, {})),
|
|
26
|
+
iconActive = null,
|
|
27
|
+
active = false,
|
|
28
|
+
completed = false,
|
|
29
|
+
index = 0
|
|
30
|
+
}) {
|
|
31
|
+
const currentIcon = useMemo(() => {
|
|
38
32
|
if (active) return iconActive;
|
|
39
33
|
if (completed) return iconCompleted;
|
|
40
34
|
return icon;
|
|
41
35
|
}, [active, completed]) || icon;
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
}, [currentIcon]);
|
|
47
|
-
return /*#__PURE__*/React.createElement(Item, {
|
|
36
|
+
const iconWithOptions = useMemo(() => /*#__PURE__*/isValidElement(currentIcon) ? /*#__PURE__*/cloneElement(currentIcon, {
|
|
37
|
+
color: get(currentIcon, ['props', 'color']) || ['brand-primary', completed ? 600 : 500]
|
|
38
|
+
}) : currentIcon || index + 1, [currentIcon]);
|
|
39
|
+
return /*#__PURE__*/_jsx(Item, {
|
|
48
40
|
classProps: {
|
|
49
|
-
active
|
|
50
|
-
completed
|
|
41
|
+
active,
|
|
42
|
+
completed
|
|
51
43
|
}
|
|
52
|
-
}, /*#__PURE__*/
|
|
44
|
+
}, void 0, /*#__PURE__*/_jsx(Wrapper, {}, void 0, /*#__PURE__*/_jsx(BulletWrapper, {}, void 0, /*#__PURE__*/_jsx(Bullet, {}, void 0, iconWithOptions)), /*#__PURE__*/_jsx(Label, {}, void 0, label)));
|
|
53
45
|
}
|
|
54
46
|
|
|
55
|
-
|
|
47
|
+
const wizzardStepProps = {
|
|
56
48
|
label: PropTypes.string.description('Step label'),
|
|
57
49
|
icon: PropTypes.oneOfType([PropTypes.element, PropTypes.string]).description('Default icon or number'),
|
|
58
50
|
iconCompleted: PropTypes.element.description('Icon when the step is completed').defaultValue(Checkmark),
|
|
@@ -61,9 +53,7 @@ var wizzardStepProps = {
|
|
|
61
53
|
completed: PropTypes.bool.description('Whether the step is completed or not').defaultValue(false),
|
|
62
54
|
index: PropTypes.number.description('Current item index')
|
|
63
55
|
};
|
|
64
|
-
|
|
65
|
-
var WizzardStepWithSchema = describe(WizardStep);
|
|
56
|
+
const WizzardStepWithSchema = describe(WizardStep);
|
|
66
57
|
WizzardStepWithSchema.propTypes = wizzardStepProps;
|
|
67
58
|
|
|
68
59
|
export { WizzardStepWithSchema, WizardStep as default };
|
|
69
|
-
//# sourceMappingURL=WizardStep.js.map
|
package/esm/WizardSteps.js
CHANGED
|
@@ -1,52 +1,48 @@
|
|
|
1
|
-
import
|
|
1
|
+
import _defineProperty from '@babel/runtime/helpers/esm/defineProperty';
|
|
2
2
|
import _objectWithoutProperties from '@babel/runtime/helpers/esm/objectWithoutProperties';
|
|
3
3
|
import React, { useMemo, cloneElement } from 'react';
|
|
4
4
|
import { PropTypes, describe } from 'react-desc';
|
|
5
5
|
import { aggregatedClasses } from '@elliemae/ds-classnames';
|
|
6
6
|
import WizardStep from './WizardStep.js';
|
|
7
7
|
import { indicatorBlockName } from './blockNames.js';
|
|
8
|
-
import '
|
|
9
|
-
import '@elliemae/ds-icons';
|
|
8
|
+
import { jsx } from 'react/jsx-runtime';
|
|
10
9
|
|
|
11
|
-
|
|
12
|
-
|
|
10
|
+
const _excluded = ["current", "steps", "children"];
|
|
11
|
+
|
|
12
|
+
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }
|
|
13
|
+
|
|
14
|
+
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
|
|
15
|
+
const StepsWrapper = aggregatedClasses('div')(indicatorBlockName);
|
|
13
16
|
|
|
14
17
|
function WizardSteps(_ref) {
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
18
|
+
let {
|
|
19
|
+
current = 0,
|
|
20
|
+
steps,
|
|
21
|
+
children
|
|
22
|
+
} = _ref,
|
|
19
23
|
otherProps = _objectWithoutProperties(_ref, _excluded);
|
|
20
24
|
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
completed: index < current
|
|
27
|
-
};
|
|
28
|
-
};
|
|
29
|
-
|
|
30
|
-
return steps ? steps.map(function (step, index) {
|
|
31
|
-
return /*#__PURE__*/React.createElement(WizardStep, _extends({
|
|
32
|
-
key: index
|
|
33
|
-
}, step, mergeStepProps(step, index)));
|
|
34
|
-
}) : React.Children.map(children, function (item, index) {
|
|
35
|
-
return /*#__PURE__*/cloneElement(item, mergeStepProps(item, index));
|
|
25
|
+
const items = useMemo(() => {
|
|
26
|
+
const mergeStepProps = (step, index) => ({
|
|
27
|
+
index,
|
|
28
|
+
active: current === index,
|
|
29
|
+
completed: index < current
|
|
36
30
|
});
|
|
31
|
+
|
|
32
|
+
return steps ? steps.map((step, index) => /*#__PURE__*/jsx(WizardStep, _objectSpread(_objectSpread({}, step), mergeStepProps(step, index)), index)) : React.Children.map(children, (item, index) => /*#__PURE__*/cloneElement(item, mergeStepProps(item, index)));
|
|
37
33
|
}, [current, children]);
|
|
38
|
-
return /*#__PURE__*/
|
|
34
|
+
return /*#__PURE__*/jsx(StepsWrapper, _objectSpread(_objectSpread({}, otherProps), {}, {
|
|
35
|
+
children: items
|
|
36
|
+
}));
|
|
39
37
|
}
|
|
40
38
|
|
|
41
39
|
WizardSteps.Item = WizardStep;
|
|
42
|
-
|
|
40
|
+
const wizzardProps = {
|
|
43
41
|
current: PropTypes.number.description('Current active state index').defaultValue(0),
|
|
44
42
|
steps: PropTypes.arrayOf(PropTypes.shape({})).description('Array of steps objects').defaultValue([]).isRequired,
|
|
45
43
|
children: PropTypes.arrayOf(PropTypes.instanceOf(WizardStep)).description('List of WizardStep components')
|
|
46
44
|
};
|
|
47
|
-
|
|
48
|
-
var WizzardWithSchema = describe(WizardSteps);
|
|
45
|
+
const WizzardWithSchema = describe(WizardSteps);
|
|
49
46
|
WizzardWithSchema.propTypes = wizzardProps;
|
|
50
47
|
|
|
51
48
|
export { WizzardWithSchema, WizardSteps as default };
|
|
52
|
-
//# sourceMappingURL=WizardSteps.js.map
|
package/esm/blockNames.js
CHANGED
|
@@ -1,6 +1,5 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
1
|
+
const wizardBlockName = 'wizard';
|
|
2
|
+
const indicatorBlockName = "".concat(wizardBlockName, "-steps-indicator");
|
|
3
|
+
const indicatorItemBlockName = "".concat(indicatorBlockName, "-step");
|
|
4
4
|
|
|
5
5
|
export { indicatorBlockName, indicatorItemBlockName, wizardBlockName };
|
|
6
|
-
//# sourceMappingURL=blockNames.js.map
|
package/esm/index.js
CHANGED
|
@@ -1,13 +1,3 @@
|
|
|
1
1
|
export { default as WizardStepsIndicator, WizzardWithSchema } from './WizardSteps.js';
|
|
2
2
|
export { default as WizardStep, WizzardStepWithSchema } from './WizardStep.js';
|
|
3
3
|
export { default as useWizard } from './useWizard.js';
|
|
4
|
-
import '@babel/runtime/helpers/esm/extends';
|
|
5
|
-
import '@babel/runtime/helpers/esm/objectWithoutProperties';
|
|
6
|
-
import 'react';
|
|
7
|
-
import 'react-desc';
|
|
8
|
-
import '@elliemae/ds-classnames';
|
|
9
|
-
import './blockNames.js';
|
|
10
|
-
import '@elliemae/ds-utilities';
|
|
11
|
-
import '@elliemae/ds-icons';
|
|
12
|
-
import '@babel/runtime/helpers/esm/slicedToArray';
|
|
13
|
-
//# sourceMappingURL=index.js.map
|
package/esm/stories/steps.js
CHANGED
|
@@ -1,22 +1,17 @@
|
|
|
1
|
-
import
|
|
1
|
+
import _jsx from '@babel/runtime/helpers/esm/jsx';
|
|
2
|
+
import 'react';
|
|
2
3
|
|
|
3
|
-
var
|
|
4
|
-
return /*#__PURE__*/React.createElement("div", null, "Step 1 Content");
|
|
5
|
-
};
|
|
4
|
+
var _div, _div2, _div3, _div4;
|
|
6
5
|
|
|
7
|
-
|
|
8
|
-
return /*#__PURE__*/React.createElement("div", null, "Step 2 Content");
|
|
9
|
-
};
|
|
6
|
+
const Step1Content = () => _div || (_div = /*#__PURE__*/_jsx("div", {}, void 0, "Step 1 Content"));
|
|
10
7
|
|
|
11
|
-
|
|
12
|
-
return /*#__PURE__*/React.createElement("div", null, "Step 3 Content");
|
|
13
|
-
};
|
|
8
|
+
const Step2Content = () => _div2 || (_div2 = /*#__PURE__*/_jsx("div", {}, void 0, "Step 2 Content"));
|
|
14
9
|
|
|
15
|
-
|
|
16
|
-
return /*#__PURE__*/React.createElement("div", null, "Step 4 Content");
|
|
17
|
-
};
|
|
10
|
+
const Step3Content = () => _div3 || (_div3 = /*#__PURE__*/_jsx("div", {}, void 0, "Step 3 Content"));
|
|
18
11
|
|
|
19
|
-
|
|
12
|
+
const Step4Content = () => _div4 || (_div4 = /*#__PURE__*/_jsx("div", {}, void 0, "Step 4 Content"));
|
|
13
|
+
|
|
14
|
+
const steps = [{
|
|
20
15
|
label: 'Step 1',
|
|
21
16
|
content: Step1Content
|
|
22
17
|
}, {
|
|
@@ -31,4 +26,3 @@ var steps = [{
|
|
|
31
26
|
}];
|
|
32
27
|
|
|
33
28
|
export { steps };
|
|
34
|
-
//# sourceMappingURL=steps.js.map
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
import _jsx from '@babel/runtime/helpers/esm/jsx';
|
|
2
|
+
import 'react';
|
|
3
|
+
import { useWizard, WizardStepsIndicator } from '@elliemae/ds-wizard';
|
|
4
|
+
import DSButton from '@elliemae/ds-basic/Button';
|
|
5
|
+
import { steps } from './steps.js';
|
|
6
|
+
import { jsxs, Fragment } from 'react/jsx-runtime';
|
|
7
|
+
|
|
8
|
+
const Overview = () => {
|
|
9
|
+
const {
|
|
10
|
+
WizardCurrentContent,
|
|
11
|
+
current,
|
|
12
|
+
next,
|
|
13
|
+
previous,
|
|
14
|
+
canNext,
|
|
15
|
+
canPrevious
|
|
16
|
+
} = useWizard({
|
|
17
|
+
steps
|
|
18
|
+
});
|
|
19
|
+
return /*#__PURE__*/jsxs(Fragment, {
|
|
20
|
+
children: [/*#__PURE__*/_jsx(WizardStepsIndicator, {
|
|
21
|
+
current: current,
|
|
22
|
+
steps: steps
|
|
23
|
+
}), /*#__PURE__*/_jsx("div", {
|
|
24
|
+
style: {
|
|
25
|
+
margin: '10px 0',
|
|
26
|
+
padding: 10,
|
|
27
|
+
border: '1px solid #ddd'
|
|
28
|
+
}
|
|
29
|
+
}, void 0, /*#__PURE__*/_jsx(WizardCurrentContent, {
|
|
30
|
+
data: {
|
|
31
|
+
someExtraData: 'step information'
|
|
32
|
+
}
|
|
33
|
+
})), /*#__PURE__*/_jsx("div", {
|
|
34
|
+
style: {
|
|
35
|
+
display: 'flex',
|
|
36
|
+
width: 180,
|
|
37
|
+
justifyContent: 'space-between'
|
|
38
|
+
}
|
|
39
|
+
}, void 0, /*#__PURE__*/_jsx(DSButton, {
|
|
40
|
+
buttonType: "secondary",
|
|
41
|
+
disabled: !canPrevious,
|
|
42
|
+
labelText: "Previous",
|
|
43
|
+
onClick: previous
|
|
44
|
+
}), /*#__PURE__*/_jsx(DSButton, {
|
|
45
|
+
disabled: !canNext,
|
|
46
|
+
labelText: "Next",
|
|
47
|
+
onClick: next
|
|
48
|
+
}))]
|
|
49
|
+
});
|
|
50
|
+
};
|
|
51
|
+
|
|
52
|
+
export { Overview };
|
package/esm/useWizard.js
CHANGED
|
@@ -1,41 +1,29 @@
|
|
|
1
|
-
import
|
|
1
|
+
import 'core-js/modules/web.dom-collections.iterator.js';
|
|
2
2
|
import { useCallback } from 'react';
|
|
3
|
-
import {
|
|
3
|
+
import { get } from '@elliemae/ds-utilities/utils';
|
|
4
|
+
import useDerivedStateFromProps from '@elliemae/ds-utilities/hooks/useDerivedStateFromProps';
|
|
4
5
|
|
|
5
|
-
|
|
6
|
-
return array.length > prevIndex + 1;
|
|
7
|
-
};
|
|
6
|
+
const checkCanNext = (prevIndex, array) => array.length > prevIndex + 1;
|
|
8
7
|
|
|
9
|
-
|
|
10
|
-
return prevIndex - 1 >= 0;
|
|
11
|
-
};
|
|
8
|
+
const checkCanPrevious = prevIndex => prevIndex - 1 >= 0;
|
|
12
9
|
|
|
13
|
-
|
|
14
|
-
return null;
|
|
15
|
-
};
|
|
10
|
+
const noop = () => null;
|
|
16
11
|
|
|
17
|
-
function useWizard(
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
var _useDerivedStateFromP = useDerivedStateFromProps(current || initial),
|
|
28
|
-
_useDerivedStateFromP2 = _slicedToArray(_useDerivedStateFromP, 2),
|
|
29
|
-
currentStep = _useDerivedStateFromP2[0],
|
|
30
|
-
setCurrentStep = _useDerivedStateFromP2[1];
|
|
31
|
-
|
|
32
|
-
var handleNext = useCallback(function () {
|
|
12
|
+
function useWizard({
|
|
13
|
+
steps: wizardSteps,
|
|
14
|
+
current,
|
|
15
|
+
onNext = noop,
|
|
16
|
+
onPrevious = noop,
|
|
17
|
+
initial = 0
|
|
18
|
+
}) {
|
|
19
|
+
const [currentStep, setCurrentStep] = useDerivedStateFromProps(current || initial);
|
|
20
|
+
const handleNext = useCallback(() => {
|
|
33
21
|
if (checkCanNext(currentStep, wizardSteps)) {
|
|
34
22
|
onNext(currentStep);
|
|
35
23
|
setCurrentStep(currentStep + 1);
|
|
36
24
|
}
|
|
37
25
|
});
|
|
38
|
-
|
|
26
|
+
const handlePrevious = useCallback(() => {
|
|
39
27
|
if (checkCanPrevious(currentStep)) {
|
|
40
28
|
onPrevious(currentStep);
|
|
41
29
|
setCurrentStep(currentStep - 1);
|
|
@@ -47,11 +35,8 @@ function useWizard(_ref) {
|
|
|
47
35
|
previous: handlePrevious,
|
|
48
36
|
canNext: checkCanNext(currentStep, wizardSteps),
|
|
49
37
|
canPrevious: checkCanPrevious(currentStep),
|
|
50
|
-
WizardCurrentContent: get(wizardSteps, [currentStep, 'content'],
|
|
51
|
-
return null;
|
|
52
|
-
})
|
|
38
|
+
WizardCurrentContent: get(wizardSteps, [currentStep, 'content'], () => null)
|
|
53
39
|
};
|
|
54
40
|
}
|
|
55
41
|
|
|
56
42
|
export { useWizard as default };
|
|
57
|
-
//# sourceMappingURL=useWizard.js.map
|
package/package.json
CHANGED
|
@@ -1,14 +1,50 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@elliemae/ds-wizard",
|
|
3
|
-
"version": "
|
|
3
|
+
"version": "2.0.0-alpha.11",
|
|
4
4
|
"license": "MIT",
|
|
5
|
-
"description": "
|
|
6
|
-
"
|
|
7
|
-
"
|
|
5
|
+
"description": "ICE MT - Dimsum - Wizard",
|
|
6
|
+
"module": "./esm/index.js",
|
|
7
|
+
"main": "./cjs/index.js",
|
|
8
|
+
"types": "./types/index.d.ts",
|
|
9
|
+
"exports": {
|
|
10
|
+
".": {
|
|
11
|
+
"import": "./esm/index.js",
|
|
12
|
+
"require": "./cjs/index.js"
|
|
13
|
+
},
|
|
14
|
+
"./WizardSteps": {
|
|
15
|
+
"import": "./esm/WizardSteps.js",
|
|
16
|
+
"require": "./cjs/WizardSteps.js"
|
|
17
|
+
},
|
|
18
|
+
"./WizardStep": {
|
|
19
|
+
"import": "./esm/WizardStep.js",
|
|
20
|
+
"require": "./cjs/WizardStep.js"
|
|
21
|
+
},
|
|
22
|
+
"./useWizard": {
|
|
23
|
+
"import": "./esm/useWizard.js",
|
|
24
|
+
"require": "./cjs/useWizard.js"
|
|
25
|
+
},
|
|
26
|
+
"./stories/steps": {
|
|
27
|
+
"import": "./esm/stories/steps.js",
|
|
28
|
+
"require": "./cjs/stories/steps.js"
|
|
29
|
+
},
|
|
30
|
+
"./blockNames": {
|
|
31
|
+
"import": "./esm/blockNames.js",
|
|
32
|
+
"require": "./cjs/blockNames.js"
|
|
33
|
+
}
|
|
34
|
+
},
|
|
8
35
|
"sideEffects": [
|
|
9
36
|
"*.css",
|
|
10
37
|
"*.scss"
|
|
11
38
|
],
|
|
39
|
+
"repository": {
|
|
40
|
+
"type": "git",
|
|
41
|
+
"url": "https://git.elliemae.io/platform-ui/dimsum.git"
|
|
42
|
+
},
|
|
43
|
+
"engines": {
|
|
44
|
+
"npm": ">=7",
|
|
45
|
+
"node": ">=14"
|
|
46
|
+
},
|
|
47
|
+
"author": "ICE MT",
|
|
12
48
|
"scripts": {
|
|
13
49
|
"dev": "cross-env NODE_ENV=development && node ../../scripts/build/build.js -w",
|
|
14
50
|
"prebuild": "exit 0",
|
|
@@ -16,20 +52,19 @@
|
|
|
16
52
|
"build": "node ../../scripts/build/build.js"
|
|
17
53
|
},
|
|
18
54
|
"dependencies": {
|
|
19
|
-
"@elliemae/ds-basic": "
|
|
20
|
-
"@elliemae/ds-classnames": "
|
|
21
|
-
"@elliemae/ds-
|
|
22
|
-
"
|
|
23
|
-
"prop-types": "~15.7.2",
|
|
24
|
-
"react-desc": "^4.1.2"
|
|
55
|
+
"@elliemae/ds-basic": "2.0.0-alpha.11",
|
|
56
|
+
"@elliemae/ds-classnames": "2.0.0-alpha.11",
|
|
57
|
+
"@elliemae/ds-utilities": "2.0.0-alpha.11",
|
|
58
|
+
"prop-types": "~15.7.2"
|
|
25
59
|
},
|
|
26
60
|
"peerDependencies": {
|
|
27
|
-
"lodash": "^4.17.
|
|
28
|
-
"react": "~17.0.
|
|
29
|
-
"react-dom": "^17.0.
|
|
61
|
+
"lodash": "^4.17.21",
|
|
62
|
+
"react": "~17.0.2",
|
|
63
|
+
"react-dom": "^17.0.2"
|
|
30
64
|
},
|
|
31
65
|
"publishConfig": {
|
|
32
66
|
"access": "public",
|
|
33
|
-
"directory": "dist"
|
|
67
|
+
"directory": "dist",
|
|
68
|
+
"generateSubmodules": true
|
|
34
69
|
}
|
|
35
70
|
}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
declare namespace _default {
|
|
2
|
+
export const title: string;
|
|
3
|
+
export { WizardStepsIndicator as component };
|
|
4
|
+
export namespace parameters {
|
|
5
|
+
export { WizzardWithSchema as propsSchemas };
|
|
6
|
+
}
|
|
7
|
+
}
|
|
8
|
+
export default _default;
|
|
9
|
+
export * from "./stories/wizzard-overview.stories";
|
|
10
|
+
import { WizardStepsIndicator } from "@elliemae/ds-wizard";
|
|
11
|
+
import { WizzardWithSchema } from "@elliemae/ds-wizard";
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
/// <reference types="react" />
|
|
2
|
+
declare function WizardStep({ label, icon, iconCompleted, iconActive, active, completed, index, }: {
|
|
3
|
+
label?: string | undefined;
|
|
4
|
+
icon?: null | undefined;
|
|
5
|
+
iconCompleted?: JSX.Element | undefined;
|
|
6
|
+
iconActive?: null | undefined;
|
|
7
|
+
active?: boolean | undefined;
|
|
8
|
+
completed?: boolean | undefined;
|
|
9
|
+
index?: number | undefined;
|
|
10
|
+
}): JSX.Element;
|
|
11
|
+
declare namespace WizardStep {
|
|
12
|
+
var propTypes: {
|
|
13
|
+
label: any;
|
|
14
|
+
icon: any;
|
|
15
|
+
iconCompleted: any;
|
|
16
|
+
iconActive: any;
|
|
17
|
+
active: any;
|
|
18
|
+
completed: any;
|
|
19
|
+
index: any;
|
|
20
|
+
};
|
|
21
|
+
}
|
|
22
|
+
declare const WizzardStepWithSchema: any;
|
|
23
|
+
export { WizzardStepWithSchema };
|
|
24
|
+
export default WizardStep;
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
/// <reference types="react" />
|
|
2
|
+
import WizardStep from './WizardStep';
|
|
3
|
+
declare function WizardSteps({ current, steps, children, ...otherProps }: {
|
|
4
|
+
[x: string]: any;
|
|
5
|
+
current?: number | undefined;
|
|
6
|
+
steps: any;
|
|
7
|
+
children: any;
|
|
8
|
+
}): JSX.Element;
|
|
9
|
+
declare namespace WizardSteps {
|
|
10
|
+
var Item: typeof WizardStep;
|
|
11
|
+
var propTypes: {
|
|
12
|
+
current: any;
|
|
13
|
+
steps: any;
|
|
14
|
+
children: any;
|
|
15
|
+
};
|
|
16
|
+
}
|
|
17
|
+
declare const WizzardWithSchema: any;
|
|
18
|
+
export { WizzardWithSchema };
|
|
19
|
+
export default WizardSteps;
|
package/types/index.d.ts
ADDED
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import WizardStepsIndicator, { WizzardWithSchema } from './WizardSteps';
|
|
2
|
+
import WizardStep, { WizzardStepWithSchema } from './WizardStep';
|
|
3
|
+
import useWizard from './useWizard';
|
|
4
|
+
export { useWizard, WizardStepsIndicator, WizardStep, WizzardWithSchema, WizzardStepWithSchema, };
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export function Overview(): JSX.Element;
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
export default function useWizard({ steps: wizardSteps, current, onNext, onPrevious, initial, }: {
|
|
2
|
+
steps: any;
|
|
3
|
+
current: any;
|
|
4
|
+
onNext?: (() => null) | undefined;
|
|
5
|
+
onPrevious?: (() => null) | undefined;
|
|
6
|
+
initial?: number | undefined;
|
|
7
|
+
}): {
|
|
8
|
+
current: any;
|
|
9
|
+
next: () => void;
|
|
10
|
+
previous: () => void;
|
|
11
|
+
canNext: boolean;
|
|
12
|
+
canPrevious: boolean;
|
|
13
|
+
WizardCurrentContent: any;
|
|
14
|
+
};
|
package/WizardStep/package.json
DELETED
package/WizardSteps/package.json
DELETED
package/blockNames/package.json
DELETED
package/cjs/WizardStep.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"WizardStep.js","sources":["../../src/WizardStep.tsx"],"sourcesContent":["/* eslint-disable indent */\nimport React, { cloneElement, useMemo, isValidElement } from 'react';\nimport { describe, PropTypes } from 'react-desc';\nimport { aggregatedClasses } from '@elliemae/ds-classnames';\nimport { get } from '@elliemae/ds-utilities';\nimport { Checkmark } from '@elliemae/ds-icons';\nimport { indicatorItemBlockName } from './blockNames';\n\nconst Item = aggregatedClasses('div')(`${indicatorItemBlockName}`, null, ({ active, completed }) => ({\n active,\n completed,\n}));\nconst Wrapper = aggregatedClasses('div')(`${indicatorItemBlockName}-wrapper`);\nconst Label = aggregatedClasses('span')(indicatorItemBlockName, 'label');\nconst Bullet = aggregatedClasses('div')(indicatorItemBlockName, 'bullet');\nconst BulletWrapper = aggregatedClasses('div')(indicatorItemBlockName, 'bullet-wrapper');\n\nfunction WizardStep({\n label = '',\n icon = null,\n iconCompleted = <Checkmark />,\n iconActive = null,\n active = false,\n completed = false,\n index = 0,\n}) {\n const currentIcon =\n useMemo(() => {\n if (active) return iconActive;\n if (completed) return iconCompleted;\n return icon;\n }, [active, completed]) || icon;\n\n const iconWithOptions = useMemo(\n () =>\n isValidElement(currentIcon)\n ? cloneElement(currentIcon, {\n color: get(currentIcon, ['props', 'color']) || ['brand-primary', completed ? 600 : 500],\n })\n : currentIcon || index + 1,\n [currentIcon],\n );\n\n return (\n <Item classProps={{ active, completed }}>\n <Wrapper>\n <BulletWrapper>\n <Bullet>{iconWithOptions}</Bullet>\n </BulletWrapper>\n <Label>{label}</Label>\n </Wrapper>\n </Item>\n );\n}\n\nconst wizzardStepProps = {\n label: PropTypes.string.description('Step label'),\n icon: PropTypes.oneOfType([PropTypes.element, PropTypes.string]).description('Default icon or number'),\n iconCompleted: PropTypes.element.description('Icon when the step is completed').defaultValue(Checkmark),\n iconActive: PropTypes.element.description('Icon when the step is active'),\n active: PropTypes.bool.description('Whether the step is active or not').defaultValue(false),\n completed: PropTypes.bool.description('Whether the step is completed or not').defaultValue(false),\n index: PropTypes.number.description('Current item index'),\n};\n\nWizardStep.propTypes = wizzardStepProps;\n\nconst WizzardStepWithSchema = describe(WizardStep);\nWizzardStepWithSchema.propTypes = wizzardStepProps;\n\nexport { WizzardStepWithSchema };\nexport default WizardStep;\n"],"names":["Item","aggregatedClasses","indicatorItemBlockName","active","completed","Wrapper","Label","Bullet","BulletWrapper","WizardStep","label","icon","iconCompleted","React","Checkmark","iconActive","index","currentIcon","useMemo","iconWithOptions","isValidElement","cloneElement","color","get","wizzardStepProps","PropTypes","string","description","oneOfType","element","defaultValue","bool","number","propTypes","WizzardStepWithSchema","describe"],"mappings":"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"}
|
package/cjs/WizardSteps.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"WizardSteps.js","sources":["../../src/WizardSteps.tsx"],"sourcesContent":["/* eslint-disable indent */\n/* eslint-disable react/no-array-index-key */\nimport React, { cloneElement, useMemo } from 'react';\nimport { describe, PropTypes } from 'react-desc';\nimport { aggregatedClasses } from '@elliemae/ds-classnames';\nimport WizardStep from './WizardStep';\nimport { indicatorBlockName } from './blockNames';\n\nconst StepsWrapper = aggregatedClasses('div')(indicatorBlockName);\n\nfunction WizardSteps({ current = 0, steps, children, ...otherProps }) {\n const items = useMemo(() => {\n const mergeStepProps = (step, index) => ({\n index,\n active: current === index,\n completed: index < current,\n });\n\n return steps\n ? steps.map((step, index) => (\n <WizardStep key={index} {...step} {...mergeStepProps(step, index)} />\n ))\n : React.Children.map(children, (item, index) =>\n cloneElement(item, mergeStepProps(item, index)),\n );\n }, [current, children]);\n\n return <StepsWrapper {...otherProps}>{items}</StepsWrapper>;\n}\n\nWizardSteps.Item = WizardStep;\n\nconst wizzardProps = {\n current: PropTypes.number\n .description('Current active state index')\n .defaultValue(0),\n steps: PropTypes.arrayOf(PropTypes.shape({}))\n .description('Array of steps objects')\n .defaultValue([]).isRequired,\n children: PropTypes.arrayOf(PropTypes.instanceOf(WizardStep)).description(\n 'List of WizardStep components',\n ),\n};\n\nWizardSteps.propTypes = wizzardProps;\n\nconst WizzardWithSchema = describe(WizardSteps);\nWizzardWithSchema.propTypes = wizzardProps;\n\nexport { WizzardWithSchema };\nexport default WizardSteps;\n"],"names":["StepsWrapper","aggregatedClasses","indicatorBlockName","WizardSteps","current","steps","children","otherProps","items","useMemo","mergeStepProps","step","index","active","completed","map","React","WizardStep","Children","item","cloneElement","Item","wizzardProps","PropTypes","number","description","defaultValue","arrayOf","shape","isRequired","instanceOf","propTypes","WizzardWithSchema","describe"],"mappings":";;;;;;;;;;;;;;;;;;;;;AAQA,IAAMA,YAAY,GAAGC,8BAAiB,CAAC,KAAD,CAAjB,CAAyBC,6BAAzB,CAArB;;AAEA,SAASC,WAAT,OAAsE;AAAA,0BAA/CC,OAA+C;AAAA,MAA/CA,OAA+C,6BAArC,CAAqC;AAAA,MAAlCC,KAAkC,QAAlCA,KAAkC;AAAA,MAA3BC,QAA2B,QAA3BA,QAA2B;AAAA,MAAdC,UAAc;;AACpE,MAAMC,KAAK,GAAGC,aAAO,CAAC,YAAM;AAC1B,QAAMC,cAAc,GAAG,SAAjBA,cAAiB,CAACC,IAAD,EAAOC,KAAP;AAAA,aAAkB;AACvCA,QAAAA,KAAK,EAALA,KADuC;AAEvCC,QAAAA,MAAM,EAAET,OAAO,KAAKQ,KAFmB;AAGvCE,QAAAA,SAAS,EAAEF,KAAK,GAAGR;AAHoB,OAAlB;AAAA,KAAvB;;AAMA,WAAOC,KAAK,GACRA,KAAK,CAACU,GAAN,CAAU,UAACJ,IAAD,EAAOC,KAAP;AAAA,0BACRI,wCAACC,qBAAD;AAAY,QAAA,GAAG,EAAEL;AAAjB,SAA4BD,IAA5B,EAAsCD,cAAc,CAACC,IAAD,EAAOC,KAAP,CAApD,EADQ;AAAA,KAAV,CADQ,GAIRI,yBAAK,CAACE,QAAN,CAAeH,GAAf,CAAmBT,QAAnB,EAA6B,UAACa,IAAD,EAAOP,KAAP;AAAA,0BAC3BQ,kBAAY,CAACD,IAAD,EAAOT,cAAc,CAACS,IAAD,EAAOP,KAAP,CAArB,CADe;AAAA,KAA7B,CAJJ;AAOD,GAdoB,EAclB,CAACR,OAAD,EAAUE,QAAV,CAdkB,CAArB;AAgBA,sBAAOU,wCAAC,YAAD,EAAkBT,UAAlB,EAA+BC,KAA/B,CAAP;AACD;;AAEDL,WAAW,CAACkB,IAAZ,GAAmBJ,qBAAnB;AAEA,IAAMK,YAAY,GAAG;AACnBlB,EAAAA,OAAO,EAAEmB,mBAAS,CAACC,MAAV,CACNC,WADM,CACM,4BADN,EAENC,YAFM,CAEO,CAFP,CADU;AAInBrB,EAAAA,KAAK,EAAEkB,mBAAS,CAACI,OAAV,CAAkBJ,mBAAS,CAACK,KAAV,CAAgB,EAAhB,CAAlB,EACJH,WADI,CACQ,wBADR,EAEJC,YAFI,CAES,EAFT,EAEaG,UAND;AAOnBvB,EAAAA,QAAQ,EAAEiB,mBAAS,CAACI,OAAV,CAAkBJ,mBAAS,CAACO,UAAV,CAAqBb,qBAArB,CAAlB,EAAoDQ,WAApD,CACR,+BADQ;AAPS,CAArB;AAYAtB,WAAW,CAAC4B,SAAZ,GAAwBT,YAAxB;IAEMU,iBAAiB,GAAGC,kBAAQ,CAAC9B,WAAD;AAClC6B,iBAAiB,CAACD,SAAlB,GAA8BT,YAA9B;;;;;"}
|
package/cjs/blockNames.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"blockNames.js","sources":["../../src/blockNames.tsx"],"sourcesContent":["export const wizardBlockName = 'wizard';\nexport const indicatorBlockName = `${wizardBlockName}-steps-indicator`;\nexport const indicatorItemBlockName = `${indicatorBlockName}-step`;\n"],"names":["wizardBlockName","indicatorBlockName","indicatorItemBlockName"],"mappings":";;;;IAAaA,eAAe,GAAG;IAClBC,kBAAkB,aAAMD,eAAN;IAClBE,sBAAsB,aAAMD,kBAAN;;;;;;"}
|
package/cjs/index.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;"}
|
package/cjs/stories/steps.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"steps.js","sources":["../../../src/stories/steps.tsx"],"sourcesContent":["import React from 'react';\n\nconst Step1Content = () => <div>Step 1 Content</div>;\nconst Step2Content = () => <div>Step 2 Content</div>;\nconst Step3Content = () => <div>Step 3 Content</div>;\nconst Step4Content = () => <div>Step 4 Content</div>;\n\nexport const steps = [\n {\n label: 'Step 1',\n content: Step1Content,\n },\n {\n label: 'Step Lorem Ipsum',\n content: Step2Content,\n },\n {\n label: 'Step Lorem',\n content: Step3Content,\n },\n {\n label: 'Step Lorem 4',\n content: Step4Content,\n },\n];\n"],"names":["Step1Content","React","Step2Content","Step3Content","Step4Content","steps","label","content"],"mappings":";;;;;;;;;;AAEA,IAAMA,YAAY,GAAG,SAAfA,YAAe;AAAA,sBAAMC,sEAAN;AAAA,CAArB;;AACA,IAAMC,YAAY,GAAG,SAAfA,YAAe;AAAA,sBAAMD,sEAAN;AAAA,CAArB;;AACA,IAAME,YAAY,GAAG,SAAfA,YAAe;AAAA,sBAAMF,sEAAN;AAAA,CAArB;;AACA,IAAMG,YAAY,GAAG,SAAfA,YAAe;AAAA,sBAAMH,sEAAN;AAAA,CAArB;;IAEaI,KAAK,GAAG,CACnB;AACEC,EAAAA,KAAK,EAAE,QADT;AAEEC,EAAAA,OAAO,EAAEP;AAFX,CADmB,EAKnB;AACEM,EAAAA,KAAK,EAAE,kBADT;AAEEC,EAAAA,OAAO,EAAEL;AAFX,CALmB,EASnB;AACEI,EAAAA,KAAK,EAAE,YADT;AAEEC,EAAAA,OAAO,EAAEJ;AAFX,CATmB,EAanB;AACEG,EAAAA,KAAK,EAAE,cADT;AAEEC,EAAAA,OAAO,EAAEH;AAFX,CAbmB;;;;"}
|
package/cjs/useWizard.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"useWizard.js","sources":["../../src/useWizard.tsx"],"sourcesContent":["import { useCallback } from 'react';\nimport { get, useDerivedStateFromProps } from '@elliemae/ds-utilities';\n\nconst checkCanNext = (prevIndex, array) => array.length > prevIndex + 1;\nconst checkCanPrevious = prevIndex => prevIndex - 1 >= 0;\n\nconst noop = () => null;\n\nexport default function useWizard({\n steps: wizardSteps,\n current,\n onNext = noop,\n onPrevious = noop,\n initial = 0,\n}) {\n const [currentStep, setCurrentStep] = useDerivedStateFromProps(\n current || initial,\n );\n\n const handleNext = useCallback(() => {\n if (checkCanNext(currentStep, wizardSteps)) {\n onNext(currentStep);\n setCurrentStep(currentStep + 1);\n }\n });\n\n const handlePrevious = useCallback(() => {\n if (checkCanPrevious(currentStep)) {\n onPrevious(currentStep);\n setCurrentStep(currentStep - 1);\n }\n });\n\n return {\n current: currentStep,\n next: handleNext,\n previous: handlePrevious,\n canNext: checkCanNext(currentStep, wizardSteps),\n canPrevious: checkCanPrevious(currentStep),\n WizardCurrentContent: get(\n wizardSteps,\n [currentStep, 'content'],\n () => null,\n ),\n };\n}\n"],"names":["checkCanNext","prevIndex","array","length","checkCanPrevious","noop","useWizard","wizardSteps","steps","current","onNext","onPrevious","initial","useDerivedStateFromProps","currentStep","setCurrentStep","handleNext","useCallback","handlePrevious","next","previous","canNext","canPrevious","WizardCurrentContent","get"],"mappings":";;;;;;;;;;AAGA,IAAMA,YAAY,GAAG,SAAfA,YAAe,CAACC,SAAD,EAAYC,KAAZ;AAAA,SAAsBA,KAAK,CAACC,MAAN,GAAeF,SAAS,GAAG,CAAjD;AAAA,CAArB;;AACA,IAAMG,gBAAgB,GAAG,SAAnBA,gBAAmB,CAAAH,SAAS;AAAA,SAAIA,SAAS,GAAG,CAAZ,IAAiB,CAArB;AAAA,CAAlC;;AAEA,IAAMI,IAAI,GAAG,SAAPA,IAAO;AAAA,SAAM,IAAN;AAAA,CAAb;;AAEe,SAASC,SAAT,OAMZ;AAAA,MALMC,WAKN,QALDC,KAKC;AAAA,MAJDC,OAIC,QAJDA,OAIC;AAAA,yBAHDC,MAGC;AAAA,MAHDA,MAGC,4BAHQL,IAGR;AAAA,6BAFDM,UAEC;AAAA,MAFDA,UAEC,gCAFYN,IAEZ;AAAA,0BADDO,OACC;AAAA,MADDA,OACC,6BADS,CACT;;AACD,8BAAsCC,oCAAwB,CAC5DJ,OAAO,IAAIG,OADiD,CAA9D;AAAA;AAAA,MAAOE,WAAP;AAAA,MAAoBC,cAApB;;AAIA,MAAMC,UAAU,GAAGC,iBAAW,CAAC,YAAM;AACnC,QAAIjB,YAAY,CAACc,WAAD,EAAcP,WAAd,CAAhB,EAA4C;AAC1CG,MAAAA,MAAM,CAACI,WAAD,CAAN;AACAC,MAAAA,cAAc,CAACD,WAAW,GAAG,CAAf,CAAd;AACD;AACF,GAL6B,CAA9B;AAOA,MAAMI,cAAc,GAAGD,iBAAW,CAAC,YAAM;AACvC,QAAIb,gBAAgB,CAACU,WAAD,CAApB,EAAmC;AACjCH,MAAAA,UAAU,CAACG,WAAD,CAAV;AACAC,MAAAA,cAAc,CAACD,WAAW,GAAG,CAAf,CAAd;AACD;AACF,GALiC,CAAlC;AAOA,SAAO;AACLL,IAAAA,OAAO,EAAEK,WADJ;AAELK,IAAAA,IAAI,EAAEH,UAFD;AAGLI,IAAAA,QAAQ,EAAEF,cAHL;AAILG,IAAAA,OAAO,EAAErB,YAAY,CAACc,WAAD,EAAcP,WAAd,CAJhB;AAKLe,IAAAA,WAAW,EAAElB,gBAAgB,CAACU,WAAD,CALxB;AAMLS,IAAAA,oBAAoB,EAAEC,eAAG,CACvBjB,WADuB,EAEvB,CAACO,WAAD,EAAc,SAAd,CAFuB,EAGvB;AAAA,aAAM,IAAN;AAAA,KAHuB;AANpB,GAAP;AAYD;;;;"}
|
package/esm/WizardStep.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"WizardStep.js","sources":["../../src/WizardStep.tsx"],"sourcesContent":["/* eslint-disable indent */\nimport React, { cloneElement, useMemo, isValidElement } from 'react';\nimport { describe, PropTypes } from 'react-desc';\nimport { aggregatedClasses } from '@elliemae/ds-classnames';\nimport { get } from '@elliemae/ds-utilities';\nimport { Checkmark } from '@elliemae/ds-icons';\nimport { indicatorItemBlockName } from './blockNames';\n\nconst Item = aggregatedClasses('div')(`${indicatorItemBlockName}`, null, ({ active, completed }) => ({\n active,\n completed,\n}));\nconst Wrapper = aggregatedClasses('div')(`${indicatorItemBlockName}-wrapper`);\nconst Label = aggregatedClasses('span')(indicatorItemBlockName, 'label');\nconst Bullet = aggregatedClasses('div')(indicatorItemBlockName, 'bullet');\nconst BulletWrapper = aggregatedClasses('div')(indicatorItemBlockName, 'bullet-wrapper');\n\nfunction WizardStep({\n label = '',\n icon = null,\n iconCompleted = <Checkmark />,\n iconActive = null,\n active = false,\n completed = false,\n index = 0,\n}) {\n const currentIcon =\n useMemo(() => {\n if (active) return iconActive;\n if (completed) return iconCompleted;\n return icon;\n }, [active, completed]) || icon;\n\n const iconWithOptions = useMemo(\n () =>\n isValidElement(currentIcon)\n ? cloneElement(currentIcon, {\n color: get(currentIcon, ['props', 'color']) || ['brand-primary', completed ? 600 : 500],\n })\n : currentIcon || index + 1,\n [currentIcon],\n );\n\n return (\n <Item classProps={{ active, completed }}>\n <Wrapper>\n <BulletWrapper>\n <Bullet>{iconWithOptions}</Bullet>\n </BulletWrapper>\n <Label>{label}</Label>\n </Wrapper>\n </Item>\n );\n}\n\nconst wizzardStepProps = {\n label: PropTypes.string.description('Step label'),\n icon: PropTypes.oneOfType([PropTypes.element, PropTypes.string]).description('Default icon or number'),\n iconCompleted: PropTypes.element.description('Icon when the step is completed').defaultValue(Checkmark),\n iconActive: PropTypes.element.description('Icon when the step is active'),\n active: PropTypes.bool.description('Whether the step is active or not').defaultValue(false),\n completed: PropTypes.bool.description('Whether the step is completed or not').defaultValue(false),\n index: PropTypes.number.description('Current item index'),\n};\n\nWizardStep.propTypes = wizzardStepProps;\n\nconst WizzardStepWithSchema = describe(WizardStep);\nWizzardStepWithSchema.propTypes = wizzardStepProps;\n\nexport { WizzardStepWithSchema };\nexport default WizardStep;\n"],"names":["Item","aggregatedClasses","indicatorItemBlockName","active","completed","Wrapper","Label","Bullet","BulletWrapper","WizardStep","label","icon","iconCompleted","iconActive","index","currentIcon","useMemo","iconWithOptions","isValidElement","cloneElement","color","get","wizzardStepProps","PropTypes","string","description","oneOfType","element","defaultValue","Checkmark","bool","number","propTypes","WizzardStepWithSchema","describe"],"mappings":"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"}
|
package/esm/WizardSteps.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"WizardSteps.js","sources":["../../src/WizardSteps.tsx"],"sourcesContent":["/* eslint-disable indent */\n/* eslint-disable react/no-array-index-key */\nimport React, { cloneElement, useMemo } from 'react';\nimport { describe, PropTypes } from 'react-desc';\nimport { aggregatedClasses } from '@elliemae/ds-classnames';\nimport WizardStep from './WizardStep';\nimport { indicatorBlockName } from './blockNames';\n\nconst StepsWrapper = aggregatedClasses('div')(indicatorBlockName);\n\nfunction WizardSteps({ current = 0, steps, children, ...otherProps }) {\n const items = useMemo(() => {\n const mergeStepProps = (step, index) => ({\n index,\n active: current === index,\n completed: index < current,\n });\n\n return steps\n ? steps.map((step, index) => (\n <WizardStep key={index} {...step} {...mergeStepProps(step, index)} />\n ))\n : React.Children.map(children, (item, index) =>\n cloneElement(item, mergeStepProps(item, index)),\n );\n }, [current, children]);\n\n return <StepsWrapper {...otherProps}>{items}</StepsWrapper>;\n}\n\nWizardSteps.Item = WizardStep;\n\nconst wizzardProps = {\n current: PropTypes.number\n .description('Current active state index')\n .defaultValue(0),\n steps: PropTypes.arrayOf(PropTypes.shape({}))\n .description('Array of steps objects')\n .defaultValue([]).isRequired,\n children: PropTypes.arrayOf(PropTypes.instanceOf(WizardStep)).description(\n 'List of WizardStep components',\n ),\n};\n\nWizardSteps.propTypes = wizzardProps;\n\nconst WizzardWithSchema = describe(WizardSteps);\nWizzardWithSchema.propTypes = wizzardProps;\n\nexport { WizzardWithSchema };\nexport default WizardSteps;\n"],"names":["StepsWrapper","aggregatedClasses","indicatorBlockName","WizardSteps","current","steps","children","otherProps","items","useMemo","mergeStepProps","step","index","active","completed","map","React","Children","item","cloneElement","Item","WizardStep","wizzardProps","PropTypes","number","description","defaultValue","arrayOf","shape","isRequired","instanceOf","propTypes","WizzardWithSchema","describe"],"mappings":";;;;;;;;;;;AAQA,IAAMA,YAAY,GAAGC,iBAAiB,CAAC,KAAD,CAAjB,CAAyBC,kBAAzB,CAArB;;AAEA,SAASC,WAAT,OAAsE;AAAA,0BAA/CC,OAA+C;AAAA,MAA/CA,OAA+C,6BAArC,CAAqC;AAAA,MAAlCC,KAAkC,QAAlCA,KAAkC;AAAA,MAA3BC,QAA2B,QAA3BA,QAA2B;AAAA,MAAdC,UAAc;;AACpE,MAAMC,KAAK,GAAGC,OAAO,CAAC,YAAM;AAC1B,QAAMC,cAAc,GAAG,SAAjBA,cAAiB,CAACC,IAAD,EAAOC,KAAP;AAAA,aAAkB;AACvCA,QAAAA,KAAK,EAALA,KADuC;AAEvCC,QAAAA,MAAM,EAAET,OAAO,KAAKQ,KAFmB;AAGvCE,QAAAA,SAAS,EAAEF,KAAK,GAAGR;AAHoB,OAAlB;AAAA,KAAvB;;AAMA,WAAOC,KAAK,GACRA,KAAK,CAACU,GAAN,CAAU,UAACJ,IAAD,EAAOC,KAAP;AAAA,0BACR,oBAAC,UAAD;AAAY,QAAA,GAAG,EAAEA;AAAjB,SAA4BD,IAA5B,EAAsCD,cAAc,CAACC,IAAD,EAAOC,KAAP,CAApD,EADQ;AAAA,KAAV,CADQ,GAIRI,KAAK,CAACC,QAAN,CAAeF,GAAf,CAAmBT,QAAnB,EAA6B,UAACY,IAAD,EAAON,KAAP;AAAA,0BAC3BO,YAAY,CAACD,IAAD,EAAOR,cAAc,CAACQ,IAAD,EAAON,KAAP,CAArB,CADe;AAAA,KAA7B,CAJJ;AAOD,GAdoB,EAclB,CAACR,OAAD,EAAUE,QAAV,CAdkB,CAArB;AAgBA,sBAAO,oBAAC,YAAD,EAAkBC,UAAlB,EAA+BC,KAA/B,CAAP;AACD;;AAEDL,WAAW,CAACiB,IAAZ,GAAmBC,UAAnB;AAEA,IAAMC,YAAY,GAAG;AACnBlB,EAAAA,OAAO,EAAEmB,SAAS,CAACC,MAAV,CACNC,WADM,CACM,4BADN,EAENC,YAFM,CAEO,CAFP,CADU;AAInBrB,EAAAA,KAAK,EAAEkB,SAAS,CAACI,OAAV,CAAkBJ,SAAS,CAACK,KAAV,CAAgB,EAAhB,CAAlB,EACJH,WADI,CACQ,wBADR,EAEJC,YAFI,CAES,EAFT,EAEaG,UAND;AAOnBvB,EAAAA,QAAQ,EAAEiB,SAAS,CAACI,OAAV,CAAkBJ,SAAS,CAACO,UAAV,CAAqBT,UAArB,CAAlB,EAAoDI,WAApD,CACR,+BADQ;AAPS,CAArB;AAYAtB,WAAW,CAAC4B,SAAZ,GAAwBT,YAAxB;IAEMU,iBAAiB,GAAGC,QAAQ,CAAC9B,WAAD;AAClC6B,iBAAiB,CAACD,SAAlB,GAA8BT,YAA9B;;;;"}
|
package/esm/blockNames.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"blockNames.js","sources":["../../src/blockNames.tsx"],"sourcesContent":["export const wizardBlockName = 'wizard';\nexport const indicatorBlockName = `${wizardBlockName}-steps-indicator`;\nexport const indicatorItemBlockName = `${indicatorBlockName}-step`;\n"],"names":["wizardBlockName","indicatorBlockName","indicatorItemBlockName"],"mappings":"IAAaA,eAAe,GAAG;IAClBC,kBAAkB,aAAMD,eAAN;IAClBE,sBAAsB,aAAMD,kBAAN;;;;"}
|
package/esm/index.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;"}
|
package/esm/stories/steps.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"steps.js","sources":["../../../src/stories/steps.tsx"],"sourcesContent":["import React from 'react';\n\nconst Step1Content = () => <div>Step 1 Content</div>;\nconst Step2Content = () => <div>Step 2 Content</div>;\nconst Step3Content = () => <div>Step 3 Content</div>;\nconst Step4Content = () => <div>Step 4 Content</div>;\n\nexport const steps = [\n {\n label: 'Step 1',\n content: Step1Content,\n },\n {\n label: 'Step Lorem Ipsum',\n content: Step2Content,\n },\n {\n label: 'Step Lorem',\n content: Step3Content,\n },\n {\n label: 'Step Lorem 4',\n content: Step4Content,\n },\n];\n"],"names":["Step1Content","Step2Content","Step3Content","Step4Content","steps","label","content"],"mappings":";;AAEA,IAAMA,YAAY,GAAG,SAAfA,YAAe;AAAA,sBAAM,kDAAN;AAAA,CAArB;;AACA,IAAMC,YAAY,GAAG,SAAfA,YAAe;AAAA,sBAAM,kDAAN;AAAA,CAArB;;AACA,IAAMC,YAAY,GAAG,SAAfA,YAAe;AAAA,sBAAM,kDAAN;AAAA,CAArB;;AACA,IAAMC,YAAY,GAAG,SAAfA,YAAe;AAAA,sBAAM,kDAAN;AAAA,CAArB;;IAEaC,KAAK,GAAG,CACnB;AACEC,EAAAA,KAAK,EAAE,QADT;AAEEC,EAAAA,OAAO,EAAEN;AAFX,CADmB,EAKnB;AACEK,EAAAA,KAAK,EAAE,kBADT;AAEEC,EAAAA,OAAO,EAAEL;AAFX,CALmB,EASnB;AACEI,EAAAA,KAAK,EAAE,YADT;AAEEC,EAAAA,OAAO,EAAEJ;AAFX,CATmB,EAanB;AACEG,EAAAA,KAAK,EAAE,cADT;AAEEC,EAAAA,OAAO,EAAEH;AAFX,CAbmB;;;;"}
|
package/esm/useWizard.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"useWizard.js","sources":["../../src/useWizard.tsx"],"sourcesContent":["import { useCallback } from 'react';\nimport { get, useDerivedStateFromProps } from '@elliemae/ds-utilities';\n\nconst checkCanNext = (prevIndex, array) => array.length > prevIndex + 1;\nconst checkCanPrevious = prevIndex => prevIndex - 1 >= 0;\n\nconst noop = () => null;\n\nexport default function useWizard({\n steps: wizardSteps,\n current,\n onNext = noop,\n onPrevious = noop,\n initial = 0,\n}) {\n const [currentStep, setCurrentStep] = useDerivedStateFromProps(\n current || initial,\n );\n\n const handleNext = useCallback(() => {\n if (checkCanNext(currentStep, wizardSteps)) {\n onNext(currentStep);\n setCurrentStep(currentStep + 1);\n }\n });\n\n const handlePrevious = useCallback(() => {\n if (checkCanPrevious(currentStep)) {\n onPrevious(currentStep);\n setCurrentStep(currentStep - 1);\n }\n });\n\n return {\n current: currentStep,\n next: handleNext,\n previous: handlePrevious,\n canNext: checkCanNext(currentStep, wizardSteps),\n canPrevious: checkCanPrevious(currentStep),\n WizardCurrentContent: get(\n wizardSteps,\n [currentStep, 'content'],\n () => null,\n ),\n };\n}\n"],"names":["checkCanNext","prevIndex","array","length","checkCanPrevious","noop","useWizard","wizardSteps","steps","current","onNext","onPrevious","initial","useDerivedStateFromProps","currentStep","setCurrentStep","handleNext","useCallback","handlePrevious","next","previous","canNext","canPrevious","WizardCurrentContent","get"],"mappings":";;;;AAGA,IAAMA,YAAY,GAAG,SAAfA,YAAe,CAACC,SAAD,EAAYC,KAAZ;AAAA,SAAsBA,KAAK,CAACC,MAAN,GAAeF,SAAS,GAAG,CAAjD;AAAA,CAArB;;AACA,IAAMG,gBAAgB,GAAG,SAAnBA,gBAAmB,CAAAH,SAAS;AAAA,SAAIA,SAAS,GAAG,CAAZ,IAAiB,CAArB;AAAA,CAAlC;;AAEA,IAAMI,IAAI,GAAG,SAAPA,IAAO;AAAA,SAAM,IAAN;AAAA,CAAb;;AAEe,SAASC,SAAT,OAMZ;AAAA,MALMC,WAKN,QALDC,KAKC;AAAA,MAJDC,OAIC,QAJDA,OAIC;AAAA,yBAHDC,MAGC;AAAA,MAHDA,MAGC,4BAHQL,IAGR;AAAA,6BAFDM,UAEC;AAAA,MAFDA,UAEC,gCAFYN,IAEZ;AAAA,0BADDO,OACC;AAAA,MADDA,OACC,6BADS,CACT;;AACD,8BAAsCC,wBAAwB,CAC5DJ,OAAO,IAAIG,OADiD,CAA9D;AAAA;AAAA,MAAOE,WAAP;AAAA,MAAoBC,cAApB;;AAIA,MAAMC,UAAU,GAAGC,WAAW,CAAC,YAAM;AACnC,QAAIjB,YAAY,CAACc,WAAD,EAAcP,WAAd,CAAhB,EAA4C;AAC1CG,MAAAA,MAAM,CAACI,WAAD,CAAN;AACAC,MAAAA,cAAc,CAACD,WAAW,GAAG,CAAf,CAAd;AACD;AACF,GAL6B,CAA9B;AAOA,MAAMI,cAAc,GAAGD,WAAW,CAAC,YAAM;AACvC,QAAIb,gBAAgB,CAACU,WAAD,CAApB,EAAmC;AACjCH,MAAAA,UAAU,CAACG,WAAD,CAAV;AACAC,MAAAA,cAAc,CAACD,WAAW,GAAG,CAAf,CAAd;AACD;AACF,GALiC,CAAlC;AAOA,SAAO;AACLL,IAAAA,OAAO,EAAEK,WADJ;AAELK,IAAAA,IAAI,EAAEH,UAFD;AAGLI,IAAAA,QAAQ,EAAEF,cAHL;AAILG,IAAAA,OAAO,EAAErB,YAAY,CAACc,WAAD,EAAcP,WAAd,CAJhB;AAKLe,IAAAA,WAAW,EAAElB,gBAAgB,CAACU,WAAD,CALxB;AAMLS,IAAAA,oBAAoB,EAAEC,GAAG,CACvBjB,WADuB,EAEvB,CAACO,WAAD,EAAc,SAAd,CAFuB,EAGvB;AAAA,aAAM,IAAN;AAAA,KAHuB;AANpB,GAAP;AAYD;;;;"}
|