@decisiv/ui-components 2.0.1-alpha.221 → 2.0.1-alpha.223

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (39) hide show
  1. package/lib/atoms/OptionsList/Category/index.d.ts +1 -1
  2. package/lib/atoms/OptionsList/Category/index.d.ts.map +1 -1
  3. package/lib/atoms/OptionsList/Category/index.js +55 -13
  4. package/lib/atoms/OptionsList/Category/styles.d.ts +1 -2
  5. package/lib/atoms/OptionsList/Category/styles.d.ts.map +1 -1
  6. package/lib/atoms/OptionsList/Category/styles.js +0 -1
  7. package/lib/atoms/OptionsList/Option/index.d.ts.map +1 -1
  8. package/lib/atoms/OptionsList/Option/index.js +15 -5
  9. package/lib/atoms/OptionsList/Option/styles.d.ts.map +1 -1
  10. package/lib/atoms/OptionsList/Option/styles.js +1 -1
  11. package/lib/atoms/OptionsList/index.d.ts +1 -44
  12. package/lib/atoms/OptionsList/index.d.ts.map +1 -1
  13. package/lib/atoms/OptionsList/index.js +245 -37
  14. package/lib/atoms/OptionsList/index.test.js +139 -30
  15. package/lib/atoms/OptionsList/schema.d.ts.map +1 -1
  16. package/lib/atoms/OptionsList/schema.js +2 -1
  17. package/lib/atoms/OptionsList/styles.d.ts +45 -0
  18. package/lib/atoms/OptionsList/styles.d.ts.map +1 -0
  19. package/lib/atoms/OptionsList/styles.js +29 -0
  20. package/lib/atoms/OptionsList/types.d.ts +28 -1
  21. package/lib/atoms/OptionsList/types.d.ts.map +1 -1
  22. package/lib/atoms/OptionsList/utils.d.ts +3 -1
  23. package/lib/atoms/OptionsList/utils.d.ts.map +1 -1
  24. package/lib/atoms/OptionsList/utils.js +79 -2
  25. package/lib/components/Combobox/index.d.ts.map +1 -1
  26. package/lib/components/Combobox/index.js +4 -2
  27. package/lib/components/Combobox/index.test.js +10 -6
  28. package/lib/components/Combobox/types.d.ts +1 -0
  29. package/lib/components/Combobox/types.d.ts.map +1 -1
  30. package/lib/components/Table/Grip.d.ts +6 -2
  31. package/lib/components/Table/Grip.d.ts.map +1 -1
  32. package/lib/components/Table/Grip.js +9 -3
  33. package/lib/components/Wizard/index.d.ts +8 -1
  34. package/lib/components/Wizard/index.d.ts.map +1 -1
  35. package/lib/components/Wizard/index.js +31 -19
  36. package/lib/components/Wizard/index.test.js +117 -28
  37. package/lib/components/Wizard/schema.d.ts.map +1 -1
  38. package/lib/components/Wizard/schema.js +4 -3
  39. package/package.json +3 -1
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/components/Combobox/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/components/Combobox/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,GAAG,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAE5D,OAAO,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAC;AAC7D,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAC7C,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAEhD,OAAO,EAAE,KAAK,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AAE3D,oBAAY,gBAAgB,GAAG,gBAAgB,CAAC;AAEhD,aAAK,OAAO,GAAG,OAAO,GAAG,MAAM,CAAC;AAEhC,UAAU,aAAa;IACrB,OAAO,EAAE,OAAO,CAAC;CAClB;AAED,MAAM,WAAW,aACf,SAAQ,IAAI,CACR,KAAK,CAAC,mBAAmB,CAAC,gBAAgB,CAAC,EAC3C,UAAU,GAAG,OAAO,CACrB,EACD,IAAI,CAAC,mBAAmB,EAAE,UAAU,GAAG,UAAU,GAAG,OAAO,CAAC,EAC5D,IAAI,CACF,iBAAiB,EACf,QAAQ,GACR,QAAQ,GACR,mBAAmB,GACnB,mBAAmB,GACnB,eAAe,CAClB;IACH,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,oBAAoB,CAAC,EAAE,OAAO,CAAC;IAC/B,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,SAAS,CAAC,gBAAgB,CAAC,CAAC;IACtC,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,MAAM,CAAC,EAAE,KAAK,CAAC,iBAAiB,CAAC;IACjC,kBAAkB,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,KAAK,CAAC,WAAW,KAAK,IAAI,CAAC;IACzD,aAAa,CAAC,EAAE,CACd,QAAQ,EAAE,MAAM,GAAG,IAAI,EACvB,YAAY,EAAE,aAAa,KACxB,IAAI,CAAC;IACV,OAAO,CAAC,EAAE,KAAK,CAAC,iBAAiB,CAAC;IAClC,OAAO,CAAC,EAAE,KAAK,CAAC,iBAAiB,CAAC;IAClC,SAAS,CAAC,EAAE,KAAK,CAAC,oBAAoB,CAAC;IACvC,OAAO,CAAC,EAAE,KAAK,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,GAAG,KAAK,CAAC;IACvB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,MAAM,CAAC,EAAE,YAAY,CAAC,QAAQ,CAAC,CAAC;CACjC;AAED,MAAM,WAAW,aAAa;IAC5B,kBAAkB,EAAE,MAAM,CAAC;CAC5B;AAED,oBAAY,eAAe,GAAG,IAAI,CAAC,mBAAmB,EAAE,UAAU,CAAC,CAAC;AAEpE,oBAAY,IAAI,GAAG,CAAC,GAAG,CAAC,WAAW,CAAC,EAAE,GAAG,CAAC,WAAW,CAAC,EAAE,GAAG,GAAG,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC;AAE/E,MAAM,WAAW,WAAW;IAC1B,kBAAkB,EAAE,MAAM,eAAe,CAAC;IAC1C,kBAAkB,EAAE,MAAM,CAAC;IAC3B,qBAAqB,EAAE,CAAC,kBAAkB,CAAC,EAAE,MAAM,KAAK,IAAI,CAAC;CAC9D;AAED,MAAM,WAAW,WAAY,SAAQ,mBAAmB,CAAC,gBAAgB,CAAC;IACxE,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,eAAe,EAAE,MAAM,CAAC;IACxB,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,cAAc,CAAC,EAAE,GAAG,EAAE,CAAC;IACvB,cAAc,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,aAAa,GAAG,SAAS,CAAC;IAC1D,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IACrB,GAAG,CAAC,EAAE,GAAG,CAAC,gBAAgB,CAAC,CAAC;IAC5B,OAAO,EAAE,OAAO,CAAC;IACjB,sBAAsB,EAAE,MAAM,IAAI,CAAC;CACpC"}
@@ -1,4 +1,8 @@
1
1
  /// <reference types="react" />
2
- declare const _default: () => JSX.Element;
3
- export default _default;
2
+ interface GripProps {
3
+ marginRight?: string | number;
4
+ selected?: boolean;
5
+ }
6
+ declare const Grip: ({ marginRight, selected }: GripProps) => JSX.Element;
7
+ export default Grip;
4
8
  //# sourceMappingURL=Grip.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Grip.d.ts","sourceRoot":"","sources":["../../../src/components/Table/Grip.tsx"],"names":[],"mappings":";;AAEA,wBAgBE"}
1
+ {"version":3,"file":"Grip.d.ts","sourceRoot":"","sources":["../../../src/components/Table/Grip.tsx"],"names":[],"mappings":";AAEA,UAAU,SAAS;IACjB,WAAW,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IAC9B,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAED,QAAA,MAAM,IAAI,uDAmBT,CAAC;AAEF,eAAe,IAAI,CAAC"}
@@ -9,10 +9,15 @@ var _react = _interopRequireDefault(require("react"));
9
9
 
10
10
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
11
11
 
12
- var _default = function _default() {
12
+ var Grip = function Grip(_ref) {
13
+ var marginRight = _ref.marginRight,
14
+ _ref$selected = _ref.selected,
15
+ selected = _ref$selected === void 0 ? false : _ref$selected;
16
+ var fillColor = selected ? '#fff' : '#1C6EE6';
13
17
  return _react.default.createElement("svg", {
14
18
  style: {
15
- margin: '0 5px'
19
+ margin: '0 5px',
20
+ marginRight: marginRight
16
21
  },
17
22
  xmlns: "http://www.w3.org/2000/svg",
18
23
  width: "8",
@@ -23,8 +28,9 @@ var _default = function _default() {
23
28
  fillRule: "evenodd",
24
29
  clipRule: "evenodd",
25
30
  d: "M2 0.75C1.30964 0.75 0.75 1.30964 0.75 2C0.75 2.69036 1.30964 3.25 2 3.25C2.69036 3.25 3.25 2.69036 3.25 2C3.25 1.30964 2.69036 0.75 2 0.75ZM2 4.75C1.30964 4.75 0.75 5.30964 0.75 6C0.75 6.69036 1.30964 7.25 2 7.25C2.69036 7.25 3.25 6.69036 3.25 6C3.25 5.30964 2.69036 4.75 2 4.75ZM0.75 10C0.75 9.30964 1.30964 8.75 2 8.75C2.69036 8.75 3.25 9.30964 3.25 10C3.25 10.6904 2.69036 11.25 2 11.25C1.30964 11.25 0.75 10.6904 0.75 10ZM6 4.75C5.30964 4.75 4.75 5.30964 4.75 6C4.75 6.69036 5.30964 7.25 6 7.25C6.69036 7.25 7.25 6.69036 7.25 6C7.25 5.30964 6.69036 4.75 6 4.75ZM4.75 2C4.75 1.30964 5.30964 0.75 6 0.75C6.69036 0.75 7.25 1.30964 7.25 2C7.25 2.69036 6.69036 3.25 6 3.25C5.30964 3.25 4.75 2.69036 4.75 2ZM6 8.75C5.30964 8.75 4.75 9.30964 4.75 10C4.75 10.6904 5.30964 11.25 6 11.25C6.69036 11.25 7.25 10.6904 7.25 10C7.25 9.30964 6.69036 8.75 6 8.75ZM0.75 14C0.75 13.3096 1.30964 12.75 2 12.75C2.69036 12.75 3.25 13.3096 3.25 14C3.25 14.6904 2.69036 15.25 2 15.25C1.30964 15.25 0.75 14.6904 0.75 14ZM6 12.75C5.30964 12.75 4.75 13.3096 4.75 14C4.75 14.6904 5.30964 15.25 6 15.25C6.69036 15.25 7.25 14.6904 7.25 14C7.25 13.3096 6.69036 12.75 6 12.75Z",
26
- fill: "#1C6EE6"
31
+ fill: fillColor
27
32
  }));
28
33
  };
29
34
 
35
+ var _default = Grip;
30
36
  exports.default = _default;
@@ -12,8 +12,15 @@ export interface WizardProps extends Pick<ModalProps, 'id' | 'visible' | 'zIndex
12
12
  size?: 'normal' | 'extraLarge';
13
13
  steps: Step[];
14
14
  activeStep: number;
15
- submitButtonProps: ButtonProps;
15
+ submitButtonProps?: ButtonProps;
16
16
  onCancel: NonNullable<ModalProps['onClose']>;
17
+ renderActions?: (context: {
18
+ step: Step;
19
+ stepIndex: number;
20
+ isFirstStep: boolean;
21
+ isLastStep: boolean;
22
+ defaultActions: React.ReactNode;
23
+ }) => React.ReactNode;
17
24
  }
18
25
  declare function WizardManger(props: PropsWithChildren<WizardProps>): JSX.Element;
19
26
  declare namespace WizardManger {
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/Wizard/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,iBAAiB,EAAE,MAAM,OAAO,CAAC;AAOjD,OAAO,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AAGxC,OAAO,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAa5C,MAAM,WAAW,IAAI;IACnB,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,KAAK,CAAC,SAAS,CAAC;IACzB,eAAe,CAAC,EAAE,WAAW,CAAC;IAC9B,mBAAmB,CAAC,EAAE,WAAW,CAAC;CACnC;AAED,MAAM,WAAW,WACf,SAAQ,IAAI,CAAC,UAAU,EAAE,IAAI,GAAG,SAAS,GAAG,QAAQ,CAAC;IACrD,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,QAAQ,GAAG,YAAY,CAAC;IAC/B,KAAK,EAAE,IAAI,EAAE,CAAC;IACd,UAAU,EAAE,MAAM,CAAC;IACnB,iBAAiB,EAAE,WAAW,CAAC;IAC/B,QAAQ,EAAE,WAAW,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,CAAC;CAC9C;AAmGD,iBAAS,YAAY,CAAC,KAAK,EAAE,iBAAiB,CAAC,WAAW,CAAC,eAQ1D;kBARQ,YAAY;;;;AAiBrB,eAAe,YAAY,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/Wizard/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,iBAAiB,EAAW,MAAM,OAAO,CAAC;AAO1D,OAAO,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AAGxC,OAAO,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAa5C,MAAM,WAAW,IAAI;IACnB,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,KAAK,CAAC,SAAS,CAAC;IACzB,eAAe,CAAC,EAAE,WAAW,CAAC;IAC9B,mBAAmB,CAAC,EAAE,WAAW,CAAC;CACnC;AAED,MAAM,WAAW,WACf,SAAQ,IAAI,CAAC,UAAU,EAAE,IAAI,GAAG,SAAS,GAAG,QAAQ,CAAC;IACrD,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,QAAQ,GAAG,YAAY,CAAC;IAC/B,KAAK,EAAE,IAAI,EAAE,CAAC;IACd,UAAU,EAAE,MAAM,CAAC;IACnB,iBAAiB,CAAC,EAAE,WAAW,CAAC;IAChC,QAAQ,EAAE,WAAW,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,CAAC;IAC7C,aAAa,CAAC,EAAE,CAAC,OAAO,EAAE;QACxB,IAAI,EAAE,IAAI,CAAC;QACX,SAAS,EAAE,MAAM,CAAC;QAClB,WAAW,EAAE,OAAO,CAAC;QACrB,UAAU,EAAE,OAAO,CAAC;QACpB,cAAc,EAAE,KAAK,CAAC,SAAS,CAAC;KACjC,KAAK,KAAK,CAAC,SAAS,CAAC;CACvB;AA8HD,iBAAS,YAAY,CAAC,KAAK,EAAE,iBAAiB,CAAC,WAAW,CAAC,eAQ1D;kBARQ,YAAY;;;;AAiBrB,eAAe,YAAY,CAAC"}
@@ -5,7 +5,7 @@ Object.defineProperty(exports, "__esModule", {
5
5
  });
6
6
  exports.default = void 0;
7
7
 
8
- var _react = _interopRequireDefault(require("react"));
8
+ var _react = _interopRequireWildcard(require("react"));
9
9
 
10
10
  var _breakpointObserver = require("@decisiv/breakpoint-observer");
11
11
 
@@ -31,6 +31,8 @@ var _schema = _interopRequireDefault(require("./schema"));
31
31
 
32
32
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
33
33
 
34
+ function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = Object.defineProperty && Object.getOwnPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : {}; if (desc.get || desc.set) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } } newObj.default = obj; return newObj; } }
35
+
34
36
  function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { keys.push.apply(keys, Object.getOwnPropertySymbols(object)); } if (enumerableOnly) keys = keys.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); return keys; }
35
37
 
36
38
  function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(source, true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(source).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
@@ -63,6 +65,7 @@ var Wizard = function Wizard(_ref) {
63
65
  size = _ref$size === void 0 ? 'normal' : _ref$size,
64
66
  steps = _ref.steps,
65
67
  onCancel = _ref.onCancel,
68
+ renderActions = _ref.renderActions,
66
69
  _ref$zIndex = _ref.zIndex,
67
70
  zIndex = _ref$zIndex === void 0 ? 100 : _ref$zIndex;
68
71
  var translate = (0, _useTranslations.default)();
@@ -86,6 +89,26 @@ var Wizard = function Wizard(_ref) {
86
89
  var showPrevious = currentStepNumber > 1 && !!previousButtonProps;
87
90
  var showSubmit = currentStepNumber === steps.length && !!submitButtonProps;
88
91
  var showNext = currentStepNumber < steps.length && !showSubmit && !!nextButtonProps;
92
+ var defaultActions = (0, _react.useMemo)(function () {
93
+ return _react.default.createElement(_react.default.Fragment, null, _react.default.createElement(_styles.ActionButtonsContainer, {
94
+ size: breakpoint
95
+ }, showSubmit && _react.default.createElement(_.Button, _extends({
96
+ text: translate('Submit', 'wizard.actions.submit')
97
+ }, submitButtonProps)), showNext && _react.default.createElement(_.Button, _extends({
98
+ text: translate('Continue', 'wizard.actions.continue'),
99
+ icon: _ArrowRight.default,
100
+ iconPosition: "right"
101
+ }, nextButtonProps)), showPrevious && _react.default.createElement(_.Button, _extends({
102
+ text: translate('Back', 'wizard.actions.back'),
103
+ kind: "secondary",
104
+ icon: _ArrowLeft.default
105
+ }, previousButtonProps))), _react.default.createElement(_.Button, {
106
+ text: translate('Cancel', 'wizard.actions.cancel'),
107
+ kind: "secondary",
108
+ variant: "ghost",
109
+ onClick: onCancel
110
+ }));
111
+ }, [breakpoint, showSubmit, translate, submitButtonProps, showNext, nextButtonProps, showPrevious, previousButtonProps, onCancel]);
89
112
  return _react.default.createElement(_ResponsiveModalWrapper.default, {
90
113
  id: id,
91
114
  size: sizeMapping[size],
@@ -109,24 +132,13 @@ var Wizard = function Wizard(_ref) {
109
132
  size: breakpoint,
110
133
  paddingX: (_ref3 = {}, _defineProperty(_ref3, _breakpointObserver.sizes.LG, 3), _defineProperty(_ref3, _breakpointObserver.sizes.XS, 2), _ref3),
111
134
  paddingY: 1.5
112
- }, _react.default.createElement(_styles.ActionButtonsContainer, {
113
- size: breakpoint
114
- }, showSubmit && _react.default.createElement(_.Button, _extends({
115
- text: translate('Submit', 'wizard.actions.submit')
116
- }, submitButtonProps)), showNext && _react.default.createElement(_.Button, _extends({
117
- text: translate('Continue', 'wizard.actions.continue'),
118
- icon: _ArrowRight.default,
119
- iconPosition: "right"
120
- }, nextButtonProps)), showPrevious && _react.default.createElement(_.Button, _extends({
121
- text: translate('Back', 'wizard.actions.back'),
122
- kind: "secondary",
123
- icon: _ArrowLeft.default
124
- }, previousButtonProps))), _react.default.createElement(_.Button, {
125
- text: translate('Cancel', 'wizard.actions.cancel'),
126
- kind: "secondary",
127
- variant: "ghost",
128
- onClick: onCancel
129
- }))));
135
+ }, renderActions ? renderActions({
136
+ step: currentStep,
137
+ stepIndex: currentStepNumber - 1,
138
+ isFirstStep: currentStepNumber === 1,
139
+ isLastStep: currentStepNumber === steps.length,
140
+ defaultActions: defaultActions
141
+ }) : defaultActions)));
130
142
  };
131
143
 
132
144
  function WizardManger(props) {
@@ -30,6 +30,95 @@ var render = function render(ui, options) {
30
30
  };
31
31
 
32
32
  describe('Wizard', function () {
33
+ describe('renderActions', function () {
34
+ describe('when not provided', function () {
35
+ it('renders the default action buttons', function () {
36
+ var steps = [{
37
+ title: 'First Step',
38
+ content: _react.default.createElement(StepContent, {
39
+ text: "Step 1 Content"
40
+ }),
41
+ nextButtonProps: {
42
+ onClick: function onClick() {
43
+ return null;
44
+ }
45
+ }
46
+ }, {
47
+ title: 'Second Step',
48
+ content: _react.default.createElement(StepContent, {
49
+ text: "Step 2 Content"
50
+ })
51
+ }, {
52
+ title: 'Third Step',
53
+ content: _react.default.createElement(StepContent, {
54
+ text: "Step 3 Content"
55
+ })
56
+ }];
57
+
58
+ var _render = render(_react.default.createElement(_.default, {
59
+ title: "Wizard Title",
60
+ visible: true,
61
+ activeStep: 1,
62
+ submitButtonProps: {
63
+ onClick: function onClick() {
64
+ return null;
65
+ }
66
+ },
67
+ steps: steps
68
+ })),
69
+ getByRole = _render.getByRole;
70
+
71
+ var modal = getByRole('dialog');
72
+ expect(modal).toBeInTheDocument();
73
+ expect((0, _react2.within)(modal).getByText(/cancel/i, {
74
+ selector: 'button'
75
+ })).toBeInTheDocument();
76
+ expect((0, _react2.within)(modal).getByText(/continue/i, {
77
+ selector: 'button'
78
+ })).toBeInTheDocument();
79
+ });
80
+ });
81
+ describe('when provided', function () {
82
+ it('renders the custom action buttons', function () {
83
+ var steps = [{
84
+ title: 'First Step',
85
+ content: _react.default.createElement(StepContent, {
86
+ text: "Step 1 Content"
87
+ })
88
+ }, {
89
+ title: 'Second Step',
90
+ content: _react.default.createElement(StepContent, {
91
+ text: "Step 2 Content"
92
+ })
93
+ }, {
94
+ title: 'Third Step',
95
+ content: _react.default.createElement(StepContent, {
96
+ text: "Step 3 Content"
97
+ })
98
+ }];
99
+
100
+ var _render2 = render(_react.default.createElement(_.default, {
101
+ title: "Wizard Title",
102
+ visible: true,
103
+ activeStep: 1,
104
+ submitButtonProps: {
105
+ onClick: function onClick() {
106
+ return null;
107
+ }
108
+ },
109
+ steps: steps,
110
+ renderActions: function renderActions() {
111
+ return _react.default.createElement("div", null, "Custom Actions");
112
+ }
113
+ })),
114
+ getByRole = _render2.getByRole;
115
+
116
+ var modal = getByRole('dialog');
117
+ expect(modal).toBeInTheDocument();
118
+ expect((0, _react2.within)(modal).getByText(/custom actions/i)).toBeInTheDocument();
119
+ });
120
+ });
121
+ });
33
122
  describe('size', function () {
34
123
  describe('normal / default', function () {
35
124
  it('renders the modal with a max-width of 650px', function () {
@@ -50,7 +139,7 @@ describe('Wizard', function () {
50
139
  })
51
140
  }];
52
141
 
53
- var _render = render(_react.default.createElement(_.default, {
142
+ var _render3 = render(_react.default.createElement(_.default, {
54
143
  title: "Wizard Title",
55
144
  visible: true,
56
145
  activeStep: 1,
@@ -61,7 +150,7 @@ describe('Wizard', function () {
61
150
  },
62
151
  steps: steps
63
152
  })),
64
- getByRole = _render.getByRole;
153
+ getByRole = _render3.getByRole;
65
154
 
66
155
  var modal = getByRole('dialog');
67
156
  expect(modal).toHaveStyle('max-width: 650px');
@@ -86,7 +175,7 @@ describe('Wizard', function () {
86
175
  })
87
176
  }];
88
177
 
89
- var _render2 = render(_react.default.createElement(_.default, {
178
+ var _render4 = render(_react.default.createElement(_.default, {
90
179
  title: "Wizard Title",
91
180
  size: "extraLarge",
92
181
  visible: true,
@@ -98,7 +187,7 @@ describe('Wizard', function () {
98
187
  },
99
188
  steps: steps
100
189
  })),
101
- getByRole = _render2.getByRole;
190
+ getByRole = _render4.getByRole;
102
191
 
103
192
  var modal = getByRole('dialog');
104
193
  expect(modal).toHaveStyle("max-width: ".concat((0, _polished.rem)(_designTokens.spacing.base * 90)));
@@ -123,7 +212,7 @@ describe('Wizard', function () {
123
212
  })
124
213
  }];
125
214
 
126
- var _render3 = render(_react.default.createElement(_.default, {
215
+ var _render5 = render(_react.default.createElement(_.default, {
127
216
  title: "Wizard Title",
128
217
  visible: true,
129
218
  activeStep: 1,
@@ -134,7 +223,7 @@ describe('Wizard', function () {
134
223
  },
135
224
  steps: steps
136
225
  })),
137
- getByRole = _render3.getByRole;
226
+ getByRole = _render5.getByRole;
138
227
 
139
228
  var modal = getByRole('dialog');
140
229
  expect(modal).toBeInTheDocument();
@@ -161,7 +250,7 @@ describe('Wizard', function () {
161
250
  })
162
251
  }];
163
252
 
164
- var _render4 = render(_react.default.createElement(_.default, {
253
+ var _render6 = render(_react.default.createElement(_.default, {
165
254
  title: "Wizard Title",
166
255
  visible: true,
167
256
  activeStep: 1,
@@ -172,7 +261,7 @@ describe('Wizard', function () {
172
261
  },
173
262
  steps: steps
174
263
  })),
175
- getByRole = _render4.getByRole;
264
+ getByRole = _render6.getByRole;
176
265
 
177
266
  var modal = getByRole('dialog');
178
267
  expect(modal).toBeInTheDocument();
@@ -202,7 +291,7 @@ describe('Wizard', function () {
202
291
  })
203
292
  }];
204
293
 
205
- var _render5 = render(_react.default.createElement(_.default, {
294
+ var _render7 = render(_react.default.createElement(_.default, {
206
295
  title: "Wizard Title",
207
296
  visible: true,
208
297
  activeStep: activeStep,
@@ -213,7 +302,7 @@ describe('Wizard', function () {
213
302
  },
214
303
  steps: steps
215
304
  })),
216
- getByRole = _render5.getByRole;
305
+ getByRole = _render7.getByRole;
217
306
 
218
307
  var modal = getByRole('dialog');
219
308
  expect(modal).toBeInTheDocument();
@@ -242,7 +331,7 @@ describe('Wizard', function () {
242
331
  })
243
332
  }];
244
333
 
245
- var _render6 = render(_react.default.createElement(_.default, {
334
+ var _render8 = render(_react.default.createElement(_.default, {
246
335
  title: "Wizard Title",
247
336
  visible: true,
248
337
  onCancel: onCancelMock,
@@ -254,7 +343,7 @@ describe('Wizard', function () {
254
343
  },
255
344
  steps: steps
256
345
  })),
257
- getByRole = _render6.getByRole;
346
+ getByRole = _render8.getByRole;
258
347
 
259
348
  var modal = getByRole('dialog');
260
349
  expect(modal).toBeInTheDocument();
@@ -285,7 +374,7 @@ describe('Wizard', function () {
285
374
  })
286
375
  }];
287
376
 
288
- var _render7 = render(_react.default.createElement(_.default, {
377
+ var _render9 = render(_react.default.createElement(_.default, {
289
378
  title: "Wizard Title",
290
379
  visible: true,
291
380
  activeStep: 1,
@@ -296,7 +385,7 @@ describe('Wizard', function () {
296
385
  },
297
386
  steps: steps
298
387
  })),
299
- getByRole = _render7.getByRole;
388
+ getByRole = _render9.getByRole;
300
389
 
301
390
  var modal = getByRole('dialog');
302
391
  expect(modal).toBeInTheDocument();
@@ -327,7 +416,7 @@ describe('Wizard', function () {
327
416
  }
328
417
  }];
329
418
 
330
- var _render8 = render(_react.default.createElement(_.default, {
419
+ var _render10 = render(_react.default.createElement(_.default, {
331
420
  title: "Wizard Title",
332
421
  visible: true,
333
422
  activeStep: steps.length,
@@ -338,7 +427,7 @@ describe('Wizard', function () {
338
427
  },
339
428
  steps: steps
340
429
  })),
341
- getByRole = _render8.getByRole;
430
+ getByRole = _render10.getByRole;
342
431
 
343
432
  var modal = getByRole('dialog');
344
433
  expect(modal).toBeInTheDocument();
@@ -371,7 +460,7 @@ describe('Wizard', function () {
371
460
  })
372
461
  }];
373
462
  it('calls the onClick from the continueProps of the active step', function () {
374
- var _render9 = render(_react.default.createElement(_.default, {
463
+ var _render11 = render(_react.default.createElement(_.default, {
375
464
  title: "Wizard Title",
376
465
  visible: true,
377
466
  activeStep: 1,
@@ -382,7 +471,7 @@ describe('Wizard', function () {
382
471
  },
383
472
  steps: steps
384
473
  })),
385
- getByRole = _render9.getByRole;
474
+ getByRole = _render11.getByRole;
386
475
 
387
476
  var modal = getByRole('dialog');
388
477
  expect(modal).toBeInTheDocument();
@@ -421,7 +510,7 @@ describe('Wizard', function () {
421
510
  })
422
511
  }];
423
512
 
424
- var _render10 = render(_react.default.createElement(_.default, {
513
+ var _render12 = render(_react.default.createElement(_.default, {
425
514
  title: "Wizard Title",
426
515
  visible: true,
427
516
  activeStep: 2,
@@ -432,7 +521,7 @@ describe('Wizard', function () {
432
521
  },
433
522
  steps: steps
434
523
  })),
435
- getByRole = _render10.getByRole;
524
+ getByRole = _render12.getByRole;
436
525
 
437
526
  var modal = getByRole('dialog');
438
527
  expect(modal).toBeInTheDocument();
@@ -463,7 +552,7 @@ describe('Wizard', function () {
463
552
  })
464
553
  }];
465
554
 
466
- var _render11 = render(_react.default.createElement(_.default, {
555
+ var _render13 = render(_react.default.createElement(_.default, {
467
556
  title: "Wizard Title",
468
557
  visible: true,
469
558
  activeStep: 1,
@@ -474,7 +563,7 @@ describe('Wizard', function () {
474
563
  },
475
564
  steps: steps
476
565
  })),
477
- getByRole = _render11.getByRole;
566
+ getByRole = _render13.getByRole;
478
567
 
479
568
  var modal = getByRole('dialog');
480
569
  expect(modal).toBeInTheDocument();
@@ -508,7 +597,7 @@ describe('Wizard', function () {
508
597
  }
509
598
  }];
510
599
  it('calls the onClick from the continueProps of the active step', function () {
511
- var _render12 = render(_react.default.createElement(_.default, {
600
+ var _render14 = render(_react.default.createElement(_.default, {
512
601
  title: "Wizard Title",
513
602
  visible: true,
514
603
  activeStep: 2,
@@ -519,7 +608,7 @@ describe('Wizard', function () {
519
608
  },
520
609
  steps: steps
521
610
  })),
522
- getByRole = _render12.getByRole;
611
+ getByRole = _render14.getByRole;
523
612
 
524
613
  var modal = getByRole('dialog');
525
614
  expect(modal).toBeInTheDocument();
@@ -554,7 +643,7 @@ describe('Wizard', function () {
554
643
  it('doesnt render if im not in the last step', function () {
555
644
  var submitCallbackMock = jest.fn();
556
645
 
557
- var _render13 = render(_react.default.createElement(_.default, {
646
+ var _render15 = render(_react.default.createElement(_.default, {
558
647
  title: "Wizard Title",
559
648
  visible: true,
560
649
  activeStep: 1,
@@ -563,7 +652,7 @@ describe('Wizard', function () {
563
652
  },
564
653
  steps: steps
565
654
  })),
566
- getByRole = _render13.getByRole;
655
+ getByRole = _render15.getByRole;
567
656
 
568
657
  var modal = getByRole('dialog');
569
658
  expect((0, _react2.within)(modal).queryByText(/submit/i)).not.toBeInTheDocument();
@@ -571,7 +660,7 @@ describe('Wizard', function () {
571
660
  it('renders if im in the last step', function () {
572
661
  var submitCallbackMock = jest.fn();
573
662
 
574
- var _render14 = render(_react.default.createElement(_.default, {
663
+ var _render16 = render(_react.default.createElement(_.default, {
575
664
  title: "Wizard Title",
576
665
  visible: true,
577
666
  activeStep: steps.length,
@@ -580,7 +669,7 @@ describe('Wizard', function () {
580
669
  },
581
670
  steps: steps
582
671
  })),
583
- getByRole = _render14.getByRole;
672
+ getByRole = _render16.getByRole;
584
673
 
585
674
  var modal = getByRole('dialog');
586
675
  expect((0, _react2.within)(modal).getByText(/submit/i)).toBeInTheDocument();
@@ -1 +1 @@
1
- {"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../../../src/components/Wizard/schema.ts"],"names":[],"mappings":"AAGA,QAAA,MAAM,MAAM,KAAsC,CAAC;AA6CnD,eAAe,MAAM,CAAC"}
1
+ {"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../../../src/components/Wizard/schema.ts"],"names":[],"mappings":"AAGA,QAAA,MAAM,MAAM,KAAsC,CAAC;AAgDnD,eAAe,MAAM,CAAC"}
@@ -23,15 +23,16 @@ schema.propTypes = {
23
23
  title: _reactDesc.PropTypes.string.isRequired,
24
24
  content: _reactDesc.PropTypes.node.isRequired,
25
25
  previousButtonProps: _reactDesc.PropTypes.shape({
26
- onClick: _reactDesc.PropTypes.func.isRequired
26
+ onClick: _reactDesc.PropTypes.func
27
27
  }),
28
28
  nextButtonProps: _reactDesc.PropTypes.shape({
29
- onClick: _reactDesc.PropTypes.func.isRequired
29
+ onClick: _reactDesc.PropTypes.func
30
30
  })
31
31
  })).description('Define the steps to render in the wizard. For more info on the usage, see the Step Props table below').isRequired,
32
32
  submitButtonProps: _reactDesc.PropTypes.shape({
33
33
  onClick: _reactDesc.PropTypes.func.isRequired
34
- }).description('the props to pass to the submit button, this button is rendered by default in the last stesp').isRequired
34
+ }).description('the props to pass to the submit button, this button is rendered by default in the last stesp'),
35
+ renderActions: _reactDesc.PropTypes.func.description('Function to render custom action buttons. It receives an object with the current step, step index, isFirstStep, isLastStep and the default actions as parameters')
35
36
  };
36
37
  var _default = schema;
37
38
  exports.default = _default;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@decisiv/ui-components",
3
- "version": "2.0.1-alpha.221",
3
+ "version": "2.0.1-alpha.223",
4
4
  "description": "Decisiv's design system React components",
5
5
  "author": "Decisiv UI Development Team",
6
6
  "license": "MIT",
@@ -39,6 +39,7 @@
39
39
  "react-beautiful-dnd": "^13.0.0",
40
40
  "react-desc": "^4.1.2",
41
41
  "react-popper": "^1.3.3",
42
+ "react-window": "^1.8.10",
42
43
  "styled-components-modifiers": "^1.2.5",
43
44
  "styled-theming": "^2.2.0",
44
45
  "stylis-plugin-extra-scope": "^0.1.1"
@@ -61,6 +62,7 @@
61
62
  "@types/prop-types": "^15.7.1",
62
63
  "@types/react": "^16.8.22",
63
64
  "@types/react-beautiful-dnd": "^13.0.0",
65
+ "@types/react-window": "^1.8.5",
64
66
  "@types/styled-components": "^4.1.15",
65
67
  "@types/styled-theming": "^2.2.2",
66
68
  "babel-plugin-styled-components": "^1.10.6",