@uncinc/uncinc-react-kitchen-sink 2.5.2 → 2.5.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/components/Dialog/DialogHelpersStory/index.js +43 -0
- package/dist/components/Dialog/DialogHookStory/index.js +45 -0
- package/dist/components/Dialog/DialogOverrideStory/index.js +31 -0
- package/dist/components/Dialog/index.d.ts +6 -0
- package/dist/components/Dialog/index.js +14 -5
- package/dist/components/Dialog/stories.js +4 -28
- package/dist/components/Form/Checkboxes/index.test.js +100 -65
- package/dist/components/Form/RadioButtons/index.test.js +71 -38
- package/dist/components/Form/Select/index.js +8 -2
- package/dist/components/Form/TextField/index.test.js +65 -40
- package/dist/components/SearchKit/Facets/SelectFacet/index.js +2 -0
- package/dist/hooks/useDialogHelpers.d.ts +1 -0
- package/dist/hooks/useDialogHelpers.js +18 -12
- package/dist/index.js +102 -28
- package/dist/setupTests.js +12 -5
- package/package.json +7 -6
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }, _typeof(obj); }
|
|
4
|
+
Object.defineProperty(exports, "__esModule", {
|
|
5
|
+
value: true
|
|
6
|
+
});
|
|
7
|
+
exports.default = exports.DialogHelpersStory = void 0;
|
|
8
|
+
var _react = _interopRequireWildcard(require("react"));
|
|
9
|
+
var _useBoolean2 = _interopRequireDefault(require("../../../hooks/useBoolean"));
|
|
10
|
+
var _useDialogHelpers2 = _interopRequireDefault(require("../../../hooks/useDialogHelpers"));
|
|
11
|
+
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
12
|
+
function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
|
|
13
|
+
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
|
|
14
|
+
function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
|
|
15
|
+
var DialogHelpersStory = function DialogHelpersStory(args) {
|
|
16
|
+
var _useBoolean = (0, _useBoolean2.default)(),
|
|
17
|
+
dialogIsOpen = _useBoolean.value,
|
|
18
|
+
openDialog = _useBoolean.setTrue,
|
|
19
|
+
closeDialog = _useBoolean.setFalse;
|
|
20
|
+
var wrapper = (0, _react.useRef)(null);
|
|
21
|
+
var _useDialogHelpers = (0, _useDialogHelpers2.default)({
|
|
22
|
+
wrapperElement: wrapper,
|
|
23
|
+
closeFunction: closeDialog,
|
|
24
|
+
isOpen: dialogIsOpen
|
|
25
|
+
}),
|
|
26
|
+
dialogHelpersProps = _useDialogHelpers.dialogHelpersProps;
|
|
27
|
+
return /*#__PURE__*/_react.default.createElement("div", null, /*#__PURE__*/_react.default.createElement("button", {
|
|
28
|
+
type: "button",
|
|
29
|
+
onClick: openDialog
|
|
30
|
+
}, "Click me to open another Dialog"), dialogIsOpen && /*#__PURE__*/_react.default.createElement("div", _extends({}, dialogHelpersProps, {
|
|
31
|
+
className: "Dialog"
|
|
32
|
+
}), /*#__PURE__*/_react.default.createElement("div", {
|
|
33
|
+
className: "Dialog__wrapper",
|
|
34
|
+
ref: wrapper
|
|
35
|
+
}, /*#__PURE__*/_react.default.createElement("div", {
|
|
36
|
+
className: "Dialog__inner"
|
|
37
|
+
}, /*#__PURE__*/_react.default.createElement("p", null, "I've been implemented using the ", /*#__PURE__*/_react.default.createElement("code", null, "useDialogHelpers"), " hook.", /*#__PURE__*/_react.default.createElement("br", null), "This hook consists of three hooks:", /*#__PURE__*/_react.default.createElement("ul", null, /*#__PURE__*/_react.default.createElement("li", null, /*#__PURE__*/_react.default.createElement("code", null, "useClickOutside"), " - close the Dialog by clicking outside of it"), /*#__PURE__*/_react.default.createElement("li", null, /*#__PURE__*/_react.default.createElement("code", null, "useEscape"), " - press escape to close"), /*#__PURE__*/_react.default.createElement("li", null, /*#__PURE__*/_react.default.createElement("code", null, "useTrapFocus"), " - bring and keep focus within the Dialog"))))), /*#__PURE__*/_react.default.createElement("div", {
|
|
38
|
+
className: "Dialog__backdrop"
|
|
39
|
+
})));
|
|
40
|
+
};
|
|
41
|
+
exports.DialogHelpersStory = DialogHelpersStory;
|
|
42
|
+
var _default = DialogHelpersStory;
|
|
43
|
+
exports.default = _default;
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.default = exports.DialogHookStory = void 0;
|
|
7
|
+
var _react = _interopRequireDefault(require("react"));
|
|
8
|
+
var _uuid = require("uuid");
|
|
9
|
+
var _useDialog2 = _interopRequireDefault(require("../../../hooks/useDialog"));
|
|
10
|
+
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
11
|
+
function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
|
|
12
|
+
function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }
|
|
13
|
+
function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
|
|
14
|
+
function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
|
|
15
|
+
function _iterableToArray(iter) { if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter); }
|
|
16
|
+
function _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }
|
|
17
|
+
function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; }
|
|
18
|
+
var DialogHookStory = function DialogHookStory(args) {
|
|
19
|
+
var Content = function Content() {
|
|
20
|
+
return /*#__PURE__*/_react.default.createElement("div", null, /*#__PURE__*/_react.default.createElement("p", null, "I've been created using the ", /*#__PURE__*/_react.default.createElement("code", null, "useDialog"), " hook.", /*#__PURE__*/_react.default.createElement("br", null), /*#__PURE__*/_react.default.createElement("br", null), "This hook provides you with:", /*#__PURE__*/_react.default.createElement("ul", null, /*#__PURE__*/_react.default.createElement("li", null, /*#__PURE__*/_react.default.createElement("code", null, "DialogComponent"), " - the Dialog component"), /*#__PURE__*/_react.default.createElement("li", null, /*#__PURE__*/_react.default.createElement("code", null, "dialogIsOpen"), " - a const which tells you if the dialog is open or closed"), /*#__PURE__*/_react.default.createElement("li", null, /*#__PURE__*/_react.default.createElement("code", null, "openDialog"), " - a function to open the dialog"), /*#__PURE__*/_react.default.createElement("li", null, /*#__PURE__*/_react.default.createElement("code", null, "closeDialog"), " - a function to close the dialog")), "The ", /*#__PURE__*/_react.default.createElement("code", null, "DialogComponent"), " has several arguments:", /*#__PURE__*/_react.default.createElement("ul", null, /*#__PURE__*/_react.default.createElement("li", null, /*#__PURE__*/_react.default.createElement("code", null, "id"), " - a unique identifier (optional)"), /*#__PURE__*/_react.default.createElement("li", null, /*#__PURE__*/_react.default.createElement("code", null, "title"), " - a header element, or any element, really (optional)"), /*#__PURE__*/_react.default.createElement("li", null, /*#__PURE__*/_react.default.createElement("code", null, "children"), " - the dialog's content. Wrapped within the dialog."), /*#__PURE__*/_react.default.createElement("li", null, /*#__PURE__*/_react.default.createElement("code", null, "showCloseButton"), " - render a close button? (optional)"), /*#__PURE__*/_react.default.createElement("li", null, /*#__PURE__*/_react.default.createElement("code", null, "showCloseIcon"), " - render a close icon? (optional)"), /*#__PURE__*/_react.default.createElement("li", null, /*#__PURE__*/_react.default.createElement("code", null, "closeButtonText"), " - text for the close button (optional)"), /*#__PURE__*/_react.default.createElement("li", null, /*#__PURE__*/_react.default.createElement("code", null, "closeIcon"), " - what icon to use. Default 'icon-cross' (optional)"), /*#__PURE__*/_react.default.createElement("li", null, /*#__PURE__*/_react.default.createElement("code", null, "dialogLabel"), " - a label for a11y - default 'dialog' (optional)")), "Depending on where the dialog is being used, you might need to add a z-index.", /*#__PURE__*/_react.default.createElement("br", null), /*#__PURE__*/_react.default.createElement("br", null), "This Dialog handles several things for you: Taking focus and keeping it inside and it allows you to close the Dialog by either pressing Escape or clicking outside of it. This is done by several different hooks.", /*#__PURE__*/_react.default.createElement("br", null), /*#__PURE__*/_react.default.createElement("br", null), "Alternatively, if you need a more custom approach, you can opt to use the ", /*#__PURE__*/_react.default.createElement("code", null, "useDialogHelpers"), " hook instead."));
|
|
21
|
+
};
|
|
22
|
+
var title = function title() {
|
|
23
|
+
return /*#__PURE__*/_react.default.createElement("h2", null, "I'm a Dialog!");
|
|
24
|
+
};
|
|
25
|
+
return /*#__PURE__*/_react.default.createElement("div", null, _toConsumableArray(Array(3)).map(function () {
|
|
26
|
+
var _useDialog = (0, _useDialog2.default)(),
|
|
27
|
+
openDialog = _useDialog.openDialog,
|
|
28
|
+
DialogComponent = _useDialog.DialogComponent;
|
|
29
|
+
var uuid = (0, _uuid.v4)();
|
|
30
|
+
return /*#__PURE__*/_react.default.createElement("div", null, /*#__PURE__*/_react.default.createElement("button", {
|
|
31
|
+
type: "button",
|
|
32
|
+
onClick: openDialog
|
|
33
|
+
}, "Open a dialog"), /*#__PURE__*/_react.default.createElement(DialogComponent, _extends({
|
|
34
|
+
id: uuid,
|
|
35
|
+
title: title,
|
|
36
|
+
showCloseButton: true,
|
|
37
|
+
closeButtonText: "Click here to close me.",
|
|
38
|
+
showCloseIcon: true,
|
|
39
|
+
closeIcon: "icon-cross"
|
|
40
|
+
}, args), /*#__PURE__*/_react.default.createElement(Content, null)));
|
|
41
|
+
}));
|
|
42
|
+
};
|
|
43
|
+
exports.DialogHookStory = DialogHookStory;
|
|
44
|
+
var _default = DialogHookStory;
|
|
45
|
+
exports.default = _default;
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.default = exports.DialogOverrideStory = void 0;
|
|
7
|
+
var _react = _interopRequireDefault(require("react"));
|
|
8
|
+
var _useDialog2 = _interopRequireDefault(require("../../../hooks/useDialog"));
|
|
9
|
+
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
10
|
+
function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
|
|
11
|
+
var DialogOverrideStory = function DialogOverrideStory(args) {
|
|
12
|
+
var _useDialog = (0, _useDialog2.default)(),
|
|
13
|
+
openDialog = _useDialog.openDialog,
|
|
14
|
+
closeDialog = _useDialog.closeDialog,
|
|
15
|
+
DialogComponent = _useDialog.DialogComponent;
|
|
16
|
+
var Content = function Content() {
|
|
17
|
+
return /*#__PURE__*/_react.default.createElement("div", null, /*#__PURE__*/_react.default.createElement("p", null, "You could pass the ", /*#__PURE__*/_react.default.createElement("code", null, "disableClosers"), " prop.", /*#__PURE__*/_react.default.createElement("br", null), "That way you can create pesky pop-ups or cookiebars that users can't close without doing whatever you require first.", /*#__PURE__*/_react.default.createElement("br", null), /*#__PURE__*/_react.default.createElement("br", null), "Don't forget to add a ", /*#__PURE__*/_react.default.createElement("button", {
|
|
18
|
+
type: "button",
|
|
19
|
+
onClick: closeDialog
|
|
20
|
+
}, "close"), " button in the content though..."));
|
|
21
|
+
};
|
|
22
|
+
return /*#__PURE__*/_react.default.createElement("div", null, /*#__PURE__*/_react.default.createElement("button", {
|
|
23
|
+
type: "button",
|
|
24
|
+
onClick: openDialog
|
|
25
|
+
}, "Open a dialog"), /*#__PURE__*/_react.default.createElement(DialogComponent, _extends({
|
|
26
|
+
disableClosers: true
|
|
27
|
+
}, args), /*#__PURE__*/_react.default.createElement(Content, null)));
|
|
28
|
+
};
|
|
29
|
+
exports.DialogOverrideStory = DialogOverrideStory;
|
|
30
|
+
var _default = DialogOverrideStory;
|
|
31
|
+
exports.default = _default;
|
|
@@ -3,6 +3,7 @@ declare function Dialog(props: any): React.ReactPortal;
|
|
|
3
3
|
declare namespace Dialog {
|
|
4
4
|
namespace propTypes {
|
|
5
5
|
let id: PropTypes.Requireable<string>;
|
|
6
|
+
let title: PropTypes.Requireable<PropTypes.ReactElementLike>;
|
|
6
7
|
let children: PropTypes.Validator<PropTypes.ReactElementLike>;
|
|
7
8
|
let isOpen: PropTypes.Requireable<boolean>;
|
|
8
9
|
let closeFunction: PropTypes.Requireable<(...args: any[]) => any>;
|
|
@@ -12,10 +13,13 @@ declare namespace Dialog {
|
|
|
12
13
|
let closeIcon: PropTypes.Requireable<string>;
|
|
13
14
|
let dialogLabel: PropTypes.Requireable<string>;
|
|
14
15
|
let portalTarget: PropTypes.Requireable<PropTypes.ReactElementLike>;
|
|
16
|
+
let disableClosers: PropTypes.Requireable<boolean>;
|
|
15
17
|
}
|
|
16
18
|
namespace defaultProps {
|
|
17
19
|
let id_1: any;
|
|
18
20
|
export { id_1 as id };
|
|
21
|
+
let title_1: any;
|
|
22
|
+
export { title_1 as title };
|
|
19
23
|
let showCloseButton_1: boolean;
|
|
20
24
|
export { showCloseButton_1 as showCloseButton };
|
|
21
25
|
let closeButtonText_1: string;
|
|
@@ -32,6 +36,8 @@ declare namespace Dialog {
|
|
|
32
36
|
export { closeFunction_1 as closeFunction };
|
|
33
37
|
let portalTarget_1: HTMLElement;
|
|
34
38
|
export { portalTarget_1 as portalTarget };
|
|
39
|
+
let disableClosers_1: boolean;
|
|
40
|
+
export { disableClosers_1 as disableClosers };
|
|
35
41
|
}
|
|
36
42
|
}
|
|
37
43
|
import React from 'react';
|
|
@@ -19,6 +19,7 @@ function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj &&
|
|
|
19
19
|
function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
|
|
20
20
|
var Dialog = function Dialog(props) {
|
|
21
21
|
var id = props.id,
|
|
22
|
+
title = props.title,
|
|
22
23
|
children = props.children,
|
|
23
24
|
isOpen = props.isOpen,
|
|
24
25
|
closeFunction = props.closeFunction,
|
|
@@ -27,7 +28,8 @@ var Dialog = function Dialog(props) {
|
|
|
27
28
|
showCloseIcon = props.showCloseIcon,
|
|
28
29
|
closeIcon = props.closeIcon,
|
|
29
30
|
dialogLabel = props.dialogLabel,
|
|
30
|
-
portalTarget = props.portalTarget
|
|
31
|
+
portalTarget = props.portalTarget,
|
|
32
|
+
disableClosers = props.disableClosers;
|
|
31
33
|
var wrapper = (0, _react.useRef)(null);
|
|
32
34
|
var _useTranslation = (0, _reactI18next.useTranslation)(),
|
|
33
35
|
t = _useTranslation.t;
|
|
@@ -35,7 +37,8 @@ var Dialog = function Dialog(props) {
|
|
|
35
37
|
id: id,
|
|
36
38
|
wrapperElement: wrapper,
|
|
37
39
|
closeFunction: closeFunction,
|
|
38
|
-
isOpen: isOpen
|
|
40
|
+
isOpen: isOpen,
|
|
41
|
+
disableClosers: disableClosers
|
|
39
42
|
}),
|
|
40
43
|
labelId = _useDialogHelpers.labelId,
|
|
41
44
|
dialogHelpersProps = _useDialogHelpers.dialogHelpersProps;
|
|
@@ -49,7 +52,9 @@ var Dialog = function Dialog(props) {
|
|
|
49
52
|
}), /*#__PURE__*/_react.default.createElement("div", {
|
|
50
53
|
id: labelId,
|
|
51
54
|
className: "Dialog__sr-only"
|
|
52
|
-
}, dialogLabel),
|
|
55
|
+
}, dialogLabel), title && /*#__PURE__*/_react.default.createElement("div", {
|
|
56
|
+
className: "Dialog__title"
|
|
57
|
+
}, title()), showCloseIcon && /*#__PURE__*/_react.default.createElement("button", {
|
|
53
58
|
type: "button",
|
|
54
59
|
className: "Dialog__closeicon",
|
|
55
60
|
"aria-label": t('general.close', 'Close'),
|
|
@@ -71,6 +76,7 @@ var Dialog = function Dialog(props) {
|
|
|
71
76
|
};
|
|
72
77
|
Dialog.propTypes = {
|
|
73
78
|
id: _propTypes.default.string,
|
|
79
|
+
title: _propTypes.default.element,
|
|
74
80
|
children: _propTypes.default.element.isRequired,
|
|
75
81
|
isOpen: _propTypes.default.bool,
|
|
76
82
|
closeFunction: _propTypes.default.func,
|
|
@@ -79,10 +85,12 @@ Dialog.propTypes = {
|
|
|
79
85
|
showCloseIcon: _propTypes.default.bool,
|
|
80
86
|
closeIcon: _propTypes.default.string,
|
|
81
87
|
dialogLabel: _propTypes.default.string,
|
|
82
|
-
portalTarget: _propTypes.default.element
|
|
88
|
+
portalTarget: _propTypes.default.element,
|
|
89
|
+
disableClosers: _propTypes.default.bool
|
|
83
90
|
};
|
|
84
91
|
Dialog.defaultProps = {
|
|
85
92
|
id: (0, _uuid.v4)(),
|
|
93
|
+
title: null,
|
|
86
94
|
showCloseButton: false,
|
|
87
95
|
closeButtonText: 'Close',
|
|
88
96
|
showCloseIcon: false,
|
|
@@ -90,7 +98,8 @@ Dialog.defaultProps = {
|
|
|
90
98
|
dialogLabel: 'dialog',
|
|
91
99
|
isOpen: false,
|
|
92
100
|
closeFunction: null,
|
|
93
|
-
portalTarget: typeof document !== 'undefined' ? document.body : null
|
|
101
|
+
portalTarget: typeof document !== 'undefined' ? document.body : null,
|
|
102
|
+
disableClosers: false
|
|
94
103
|
};
|
|
95
104
|
var _default = Dialog;
|
|
96
105
|
exports.default = _default;
|
|
@@ -5,41 +5,17 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
5
5
|
});
|
|
6
6
|
exports.default = exports.Default = void 0;
|
|
7
7
|
var _react = _interopRequireDefault(require("react"));
|
|
8
|
-
var
|
|
9
|
-
var
|
|
8
|
+
var _DialogHookStory = _interopRequireDefault(require("./DialogHookStory"));
|
|
9
|
+
var _DialogHelpersStory = _interopRequireDefault(require("./DialogHelpersStory"));
|
|
10
|
+
var _DialogOverrideStory = _interopRequireDefault(require("./DialogOverrideStory"));
|
|
10
11
|
var _ = _interopRequireDefault(require("."));
|
|
11
12
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
12
|
-
function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
|
|
13
|
-
function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }
|
|
14
|
-
function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
|
|
15
|
-
function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
|
|
16
|
-
function _iterableToArray(iter) { if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter); }
|
|
17
|
-
function _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }
|
|
18
|
-
function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; }
|
|
19
13
|
var _default = {
|
|
20
14
|
title: 'Molecules/Dialog',
|
|
21
15
|
component: _.default
|
|
22
16
|
};
|
|
23
17
|
exports.default = _default;
|
|
24
18
|
var Default = function Default(args) {
|
|
25
|
-
|
|
26
|
-
return /*#__PURE__*/_react.default.createElement("div", null, /*#__PURE__*/_react.default.createElement("h1", null, "I'm a Dialog!"), /*#__PURE__*/_react.default.createElement("p", null, "I've been created using the ", /*#__PURE__*/_react.default.createElement("code", null, "useDialog"), " hook.", /*#__PURE__*/_react.default.createElement("br", null), /*#__PURE__*/_react.default.createElement("br", null), "This hook provides you with:", /*#__PURE__*/_react.default.createElement("ul", null, /*#__PURE__*/_react.default.createElement("li", null, /*#__PURE__*/_react.default.createElement("code", null, "DialogComponent"), " - the Dialog component"), /*#__PURE__*/_react.default.createElement("li", null, /*#__PURE__*/_react.default.createElement("code", null, "dialogIsOpen"), " - a const which tells you if the dialog is open or closed"), /*#__PURE__*/_react.default.createElement("li", null, /*#__PURE__*/_react.default.createElement("code", null, "openDialog"), " - a function to open the dialog"), /*#__PURE__*/_react.default.createElement("li", null, /*#__PURE__*/_react.default.createElement("code", null, "closeDialog"), " - a function to close the dialog")), "The ", /*#__PURE__*/_react.default.createElement("code", null, "DialogComponent"), " has several arguments:", /*#__PURE__*/_react.default.createElement("ul", null, /*#__PURE__*/_react.default.createElement("li", null, /*#__PURE__*/_react.default.createElement("code", null, "id"), " - a unique identifier (optional)"), /*#__PURE__*/_react.default.createElement("li", null, /*#__PURE__*/_react.default.createElement("code", null, "children"), " - the dialog's content. Wrapped within the dialog."), /*#__PURE__*/_react.default.createElement("li", null, /*#__PURE__*/_react.default.createElement("code", null, "showCloseButton"), " - render a close button? (optional)"), /*#__PURE__*/_react.default.createElement("li", null, /*#__PURE__*/_react.default.createElement("code", null, "showCloseIcon"), " - render a close icon? (optional)"), /*#__PURE__*/_react.default.createElement("li", null, /*#__PURE__*/_react.default.createElement("code", null, "closeButtonText"), " - text for the close button (optional)"), /*#__PURE__*/_react.default.createElement("li", null, /*#__PURE__*/_react.default.createElement("code", null, "closeIcon"), " - what icon to use. Default 'icon-cross' (optional)"), /*#__PURE__*/_react.default.createElement("li", null, /*#__PURE__*/_react.default.createElement("code", null, "dialogLabel"), " - a label for a11y - default 'dialog' (optional)")), "Depending on where the dialog is being used, you might need to add a z-index.", /*#__PURE__*/_react.default.createElement("br", null), /*#__PURE__*/_react.default.createElement("br", null), "This Dialog handles several things for you: Taking focus and keeping it inside and it allows you to close the Dialog by either pressing Escape or clicking outside of it. This is done by several different hooks.", /*#__PURE__*/_react.default.createElement("br", null), /*#__PURE__*/_react.default.createElement("br", null), "Alternatively, if you need a more custom approach, you can opt to use the ", /*#__PURE__*/_react.default.createElement("code", null, "useDialogControls"), " hook instead."));
|
|
27
|
-
};
|
|
28
|
-
return /*#__PURE__*/_react.default.createElement("div", null, _toConsumableArray(Array(3)).map(function () {
|
|
29
|
-
var _useDialog = (0, _useDialog2.default)(),
|
|
30
|
-
openDialog = _useDialog.openDialog,
|
|
31
|
-
DialogComponent = _useDialog.DialogComponent;
|
|
32
|
-
var uuid = (0, _uuid.v4)();
|
|
33
|
-
return /*#__PURE__*/_react.default.createElement("div", null, /*#__PURE__*/_react.default.createElement("button", {
|
|
34
|
-
type: "button",
|
|
35
|
-
onClick: openDialog
|
|
36
|
-
}, "Open a dialog"), /*#__PURE__*/_react.default.createElement(DialogComponent, _extends({
|
|
37
|
-
id: uuid,
|
|
38
|
-
showCloseButton: true,
|
|
39
|
-
closeButtonText: "Click here to close me.",
|
|
40
|
-
showCloseIcon: true,
|
|
41
|
-
closeIcon: "icon-cross"
|
|
42
|
-
}, args), /*#__PURE__*/_react.default.createElement(Content, null)));
|
|
43
|
-
}));
|
|
19
|
+
return /*#__PURE__*/_react.default.createElement("div", null, /*#__PURE__*/_react.default.createElement("p", null, "Here, you see the Dialog implemented using the ", /*#__PURE__*/_react.default.createElement("code", null, "useDialog"), " hook. Use the story code as a reference."), /*#__PURE__*/_react.default.createElement(_DialogHookStory.default, null), /*#__PURE__*/_react.default.createElement("p", null, "This is the dialog implemented by using the ", /*#__PURE__*/_react.default.createElement("code", null, "useDialogHelpers"), " hook. This offers some more flexibility."), /*#__PURE__*/_react.default.createElement(_DialogHelpersStory.default, null), /*#__PURE__*/_react.default.createElement("p", null, "You can also disable the ", /*#__PURE__*/_react.default.createElement("code", null, "useClickOutside"), " and ", /*#__PURE__*/_react.default.createElement("code", null, "useEscape"), " hooks."), /*#__PURE__*/_react.default.createElement(_DialogOverrideStory.default, null));
|
|
44
20
|
};
|
|
45
21
|
exports.Default = Default;
|
|
@@ -2,12 +2,12 @@
|
|
|
2
2
|
|
|
3
3
|
function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }, _typeof(obj); }
|
|
4
4
|
var _react = _interopRequireDefault(require("react"));
|
|
5
|
-
var _chai = _interopRequireWildcard(require("chai"));
|
|
6
|
-
var _enzyme = require("enzyme");
|
|
7
5
|
var _react2 = require("@testing-library/react");
|
|
6
|
+
var _chai = _interopRequireWildcard(require("chai"));
|
|
8
7
|
var _sinon = _interopRequireDefault(require("sinon"));
|
|
9
8
|
var _sinonChai = _interopRequireDefault(require("sinon-chai"));
|
|
10
|
-
var
|
|
9
|
+
var _FormikWrapper = _interopRequireDefault(require("../FormikWrapper"));
|
|
10
|
+
var _ = _interopRequireDefault(require("."));
|
|
11
11
|
function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
|
|
12
12
|
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
|
|
13
13
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
@@ -16,105 +16,140 @@ function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try
|
|
|
16
16
|
function _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err); } _next(undefined); }); }; }
|
|
17
17
|
// Use sinon-chai for spies.
|
|
18
18
|
_chai.default.use(_sinonChai.default);
|
|
19
|
+
var renderCheckboxes = function renderCheckboxes() {
|
|
20
|
+
var onSubmit = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : _sinon.default.spy();
|
|
21
|
+
return (0, _react2.render)( /*#__PURE__*/_react.default.createElement(_FormikWrapper.default, {
|
|
22
|
+
initialValues: {
|
|
23
|
+
'poison': []
|
|
24
|
+
},
|
|
25
|
+
onSubmit: onSubmit
|
|
26
|
+
}, /*#__PURE__*/_react.default.createElement(_.default, {
|
|
27
|
+
title: "Pick your poison",
|
|
28
|
+
required: true,
|
|
29
|
+
description: "Please select your poison.",
|
|
30
|
+
fieldName: "poison",
|
|
31
|
+
options: {
|
|
32
|
+
beer: 'Beer',
|
|
33
|
+
wine: 'Wine',
|
|
34
|
+
rum: 'Rum',
|
|
35
|
+
whisky: 'Whisk(e)y',
|
|
36
|
+
'__other__': 'Anders'
|
|
37
|
+
},
|
|
38
|
+
validation: function validation(value) {
|
|
39
|
+
var error;
|
|
40
|
+
if (value && value.length === 0) {
|
|
41
|
+
error = 'This field is required';
|
|
42
|
+
}
|
|
43
|
+
return error;
|
|
44
|
+
},
|
|
45
|
+
otherLabel: "Anders"
|
|
46
|
+
}), /*#__PURE__*/_react.default.createElement("input", {
|
|
47
|
+
type: "submit",
|
|
48
|
+
value: "Verzenden"
|
|
49
|
+
})));
|
|
50
|
+
};
|
|
19
51
|
describe('<Checkboxes />', function () {
|
|
20
|
-
|
|
21
|
-
var
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
52
|
+
test('renders 5 label elements', /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee() {
|
|
53
|
+
var _renderCheckboxes, container;
|
|
54
|
+
return _regeneratorRuntime().wrap(function _callee$(_context) {
|
|
55
|
+
while (1) switch (_context.prev = _context.next) {
|
|
56
|
+
case 0:
|
|
57
|
+
_renderCheckboxes = renderCheckboxes(), container = _renderCheckboxes.container;
|
|
58
|
+
(0, _chai.expect)(container.querySelector('.Checkboxes__inner').querySelectorAll('label')).to.have.lengthOf(5);
|
|
59
|
+
case 2:
|
|
60
|
+
case "end":
|
|
61
|
+
return _context.stop();
|
|
62
|
+
}
|
|
63
|
+
}, _callee);
|
|
64
|
+
})));
|
|
65
|
+
test('renders a description element', function () {
|
|
66
|
+
var _renderCheckboxes2 = renderCheckboxes(),
|
|
67
|
+
container = _renderCheckboxes2.container;
|
|
68
|
+
(0, _chai.expect)(container.querySelectorAll('div.Checkboxes__description')).to.have.lengthOf(1);
|
|
27
69
|
});
|
|
28
|
-
|
|
29
|
-
var
|
|
30
|
-
return _regeneratorRuntime().wrap(function
|
|
31
|
-
while (1) switch (
|
|
70
|
+
test('displays a required error message', /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee3() {
|
|
71
|
+
var _renderCheckboxes3, container;
|
|
72
|
+
return _regeneratorRuntime().wrap(function _callee3$(_context3) {
|
|
73
|
+
while (1) switch (_context3.prev = _context3.next) {
|
|
32
74
|
case 0:
|
|
33
|
-
|
|
34
|
-
(0, _chai.expect)(
|
|
35
|
-
|
|
36
|
-
return (0, _react2.act)( /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function
|
|
37
|
-
return _regeneratorRuntime().wrap(function
|
|
38
|
-
while (1) switch (
|
|
75
|
+
_renderCheckboxes3 = renderCheckboxes(), container = _renderCheckboxes3.container;
|
|
76
|
+
(0, _chai.expect)(container.querySelectorAll('div.Checkboxes__error')).to.have.lengthOf(0);
|
|
77
|
+
_context3.next = 4;
|
|
78
|
+
return (0, _react2.act)( /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee2() {
|
|
79
|
+
return _regeneratorRuntime().wrap(function _callee2$(_context2) {
|
|
80
|
+
while (1) switch (_context2.prev = _context2.next) {
|
|
39
81
|
case 0:
|
|
40
|
-
// Submit values, and wait for
|
|
41
|
-
|
|
42
|
-
|
|
82
|
+
// Submit values, and wait for form to complete.
|
|
83
|
+
container.querySelector('form').submit();
|
|
84
|
+
_context2.next = 3;
|
|
43
85
|
return new Promise(function (resolve) {
|
|
44
86
|
setTimeout(resolve);
|
|
45
87
|
});
|
|
46
88
|
case 3:
|
|
47
89
|
case "end":
|
|
48
|
-
return
|
|
90
|
+
return _context2.stop();
|
|
49
91
|
}
|
|
50
|
-
},
|
|
92
|
+
}, _callee2);
|
|
51
93
|
})));
|
|
52
94
|
case 4:
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
case 6:
|
|
95
|
+
(0, _chai.expect)(container.querySelectorAll('div.Checkboxes__error')).to.have.lengthOf(1);
|
|
96
|
+
case 5:
|
|
56
97
|
case "end":
|
|
57
|
-
return
|
|
98
|
+
return _context3.stop();
|
|
58
99
|
}
|
|
59
|
-
},
|
|
100
|
+
}, _callee3);
|
|
60
101
|
})));
|
|
61
|
-
|
|
62
|
-
var onSubmitCallback,
|
|
63
|
-
return _regeneratorRuntime().wrap(function
|
|
64
|
-
while (1) switch (
|
|
102
|
+
test('sets the correct value', /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee5() {
|
|
103
|
+
var onSubmitCallback, _renderCheckboxes4, container, inputs;
|
|
104
|
+
return _regeneratorRuntime().wrap(function _callee5$(_context5) {
|
|
105
|
+
while (1) switch (_context5.prev = _context5.next) {
|
|
65
106
|
case 0:
|
|
66
107
|
onSubmitCallback = _sinon.default.spy();
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
(0,
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
return _regeneratorRuntime().wrap(function _callee3$(_context3) {
|
|
75
|
-
while (1) switch (_context3.prev = _context3.next) {
|
|
108
|
+
_renderCheckboxes4 = renderCheckboxes(onSubmitCallback), container = _renderCheckboxes4.container;
|
|
109
|
+
inputs = container.querySelectorAll('input');
|
|
110
|
+
(0, _chai.expect)(container.querySelectorAll('div.Checkboxes__error')).to.have.lengthOf(0);
|
|
111
|
+
_context5.next = 6;
|
|
112
|
+
return (0, _react2.act)( /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee4() {
|
|
113
|
+
return _regeneratorRuntime().wrap(function _callee4$(_context4) {
|
|
114
|
+
while (1) switch (_context4.prev = _context4.next) {
|
|
76
115
|
case 0:
|
|
77
|
-
// Set value, and wait for
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
_context3.next = 4;
|
|
116
|
+
// Set value, and wait for form to complete.
|
|
117
|
+
inputs[2].click();
|
|
118
|
+
_context4.next = 3;
|
|
81
119
|
return new Promise(function (resolve) {
|
|
82
120
|
setTimeout(resolve);
|
|
83
121
|
});
|
|
84
|
-
case
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
_context3.next = 8;
|
|
122
|
+
case 3:
|
|
123
|
+
inputs[3].click();
|
|
124
|
+
_context4.next = 6;
|
|
88
125
|
return new Promise(function (resolve) {
|
|
89
126
|
setTimeout(resolve);
|
|
90
127
|
});
|
|
91
|
-
case
|
|
92
|
-
// Submit values, and wait for
|
|
93
|
-
|
|
94
|
-
|
|
128
|
+
case 6:
|
|
129
|
+
// Submit values, and wait for form to complete.
|
|
130
|
+
container.querySelector('form').submit();
|
|
131
|
+
_context4.next = 9;
|
|
95
132
|
return new Promise(function (resolve) {
|
|
96
133
|
setTimeout(resolve);
|
|
97
134
|
});
|
|
98
|
-
case
|
|
135
|
+
case 9:
|
|
99
136
|
case "end":
|
|
100
|
-
return
|
|
137
|
+
return _context4.stop();
|
|
101
138
|
}
|
|
102
|
-
},
|
|
139
|
+
}, _callee4);
|
|
103
140
|
})));
|
|
104
141
|
case 6:
|
|
105
|
-
wrapper.update();
|
|
106
|
-
|
|
107
142
|
// Should not display an error message.
|
|
108
|
-
(0, _chai.expect)(
|
|
143
|
+
(0, _chai.expect)(container.querySelectorAll('div.Checkboxes__error')).to.have.lengthOf(0);
|
|
109
144
|
|
|
110
|
-
// Submitted values should contain my value
|
|
145
|
+
// Submitted values should contain my value.;
|
|
111
146
|
(0, _chai.expect)(onSubmitCallback).to.have.been.calledWith({
|
|
112
147
|
poison: ['rum', 'whisky']
|
|
113
148
|
});
|
|
114
|
-
case
|
|
149
|
+
case 8:
|
|
115
150
|
case "end":
|
|
116
|
-
return
|
|
151
|
+
return _context5.stop();
|
|
117
152
|
}
|
|
118
|
-
},
|
|
153
|
+
}, _callee5);
|
|
119
154
|
})));
|
|
120
155
|
});
|
|
@@ -2,12 +2,12 @@
|
|
|
2
2
|
|
|
3
3
|
function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }, _typeof(obj); }
|
|
4
4
|
var _react = _interopRequireDefault(require("react"));
|
|
5
|
-
var _chai = _interopRequireWildcard(require("chai"));
|
|
6
|
-
var _enzyme = require("enzyme");
|
|
7
5
|
var _react2 = require("@testing-library/react");
|
|
6
|
+
var _chai = _interopRequireWildcard(require("chai"));
|
|
8
7
|
var _sinon = _interopRequireDefault(require("sinon"));
|
|
9
8
|
var _sinonChai = _interopRequireDefault(require("sinon-chai"));
|
|
10
|
-
var
|
|
9
|
+
var _FormikWrapper = _interopRequireDefault(require("../FormikWrapper"));
|
|
10
|
+
var _ = _interopRequireDefault(require("."));
|
|
11
11
|
function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
|
|
12
12
|
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
|
|
13
13
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
@@ -16,29 +16,68 @@ function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try
|
|
|
16
16
|
function _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err); } _next(undefined); }); }; }
|
|
17
17
|
// Use sinon-chai for spies.
|
|
18
18
|
_chai.default.use(_sinonChai.default);
|
|
19
|
+
var renderRadioButtons = function renderRadioButtons() {
|
|
20
|
+
var onSubmit = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : _sinon.default.spy();
|
|
21
|
+
return (0, _react2.render)( /*#__PURE__*/_react.default.createElement(_FormikWrapper.default, {
|
|
22
|
+
initialValues: {
|
|
23
|
+
'poison': null
|
|
24
|
+
},
|
|
25
|
+
onSubmit: onSubmit
|
|
26
|
+
}, /*#__PURE__*/_react.default.createElement(_.default, {
|
|
27
|
+
title: "Pick your poison",
|
|
28
|
+
required: true,
|
|
29
|
+
description: "Please select your poison.",
|
|
30
|
+
fieldName: "poison",
|
|
31
|
+
options: {
|
|
32
|
+
beer: 'Beer',
|
|
33
|
+
wine: 'Wine',
|
|
34
|
+
rum: 'Rum',
|
|
35
|
+
whisky: 'Whisk(e)y',
|
|
36
|
+
'__other__': 'Anders'
|
|
37
|
+
},
|
|
38
|
+
descriptions: {
|
|
39
|
+
beer: 'Bier is lekker',
|
|
40
|
+
wine: 'Wijn ook wel',
|
|
41
|
+
whisky: 'Maar whiskey is het lekkerst'
|
|
42
|
+
},
|
|
43
|
+
validation: function validation(value) {
|
|
44
|
+
var error;
|
|
45
|
+
if (!value) {
|
|
46
|
+
error = 'This field is required';
|
|
47
|
+
}
|
|
48
|
+
return error;
|
|
49
|
+
},
|
|
50
|
+
otherLabel: "Anders"
|
|
51
|
+
}), /*#__PURE__*/_react.default.createElement("input", {
|
|
52
|
+
type: "submit",
|
|
53
|
+
value: "Verzenden"
|
|
54
|
+
})));
|
|
55
|
+
};
|
|
19
56
|
describe('<RadioButtons />', function () {
|
|
20
|
-
|
|
21
|
-
var
|
|
22
|
-
|
|
57
|
+
test('renders 5 label elements', function () {
|
|
58
|
+
var _renderRadioButtons = renderRadioButtons(),
|
|
59
|
+
container = _renderRadioButtons.container;
|
|
60
|
+
(0, _chai.expect)(container.querySelector('.RadioButtons__inner').querySelectorAll('label')).to.have.lengthOf(5);
|
|
23
61
|
});
|
|
24
|
-
|
|
25
|
-
var
|
|
26
|
-
|
|
62
|
+
test('renders a description element', function () {
|
|
63
|
+
var _renderRadioButtons2 = renderRadioButtons(),
|
|
64
|
+
container = _renderRadioButtons2.container;
|
|
65
|
+
(0, _chai.expect)(container.querySelectorAll('div.RadioButtons__description')).to.have.lengthOf(1);
|
|
27
66
|
});
|
|
28
|
-
|
|
29
|
-
var
|
|
67
|
+
test('displays a required error message', /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee2() {
|
|
68
|
+
var _renderRadioButtons3, container;
|
|
30
69
|
return _regeneratorRuntime().wrap(function _callee2$(_context2) {
|
|
31
70
|
while (1) switch (_context2.prev = _context2.next) {
|
|
32
71
|
case 0:
|
|
33
|
-
|
|
34
|
-
(0, _chai.expect)(
|
|
72
|
+
_renderRadioButtons3 = renderRadioButtons(), container = _renderRadioButtons3.container;
|
|
73
|
+
(0, _chai.expect)(container.querySelectorAll('div.RadioButtons__error')).to.have.lengthOf(0);
|
|
35
74
|
_context2.next = 4;
|
|
36
75
|
return (0, _react2.act)( /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee() {
|
|
37
76
|
return _regeneratorRuntime().wrap(function _callee$(_context) {
|
|
38
77
|
while (1) switch (_context.prev = _context.next) {
|
|
39
78
|
case 0:
|
|
40
|
-
// Submit values, and wait for
|
|
41
|
-
|
|
79
|
+
// Submit values, and wait for form to complete.
|
|
80
|
+
container.querySelector('form').submit();
|
|
42
81
|
_context.next = 3;
|
|
43
82
|
return new Promise(function (resolve) {
|
|
44
83
|
setTimeout(resolve);
|
|
@@ -50,61 +89,55 @@ describe('<RadioButtons />', function () {
|
|
|
50
89
|
}, _callee);
|
|
51
90
|
})));
|
|
52
91
|
case 4:
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
case 6:
|
|
92
|
+
(0, _chai.expect)(container.querySelectorAll('div.RadioButtons__error')).to.have.lengthOf(1);
|
|
93
|
+
case 5:
|
|
56
94
|
case "end":
|
|
57
95
|
return _context2.stop();
|
|
58
96
|
}
|
|
59
97
|
}, _callee2);
|
|
60
98
|
})));
|
|
61
|
-
|
|
62
|
-
var onSubmitCallback,
|
|
99
|
+
test('sets the correct value', /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee4() {
|
|
100
|
+
var onSubmitCallback, _renderRadioButtons4, container, inputs;
|
|
63
101
|
return _regeneratorRuntime().wrap(function _callee4$(_context4) {
|
|
64
102
|
while (1) switch (_context4.prev = _context4.next) {
|
|
65
103
|
case 0:
|
|
66
104
|
onSubmitCallback = _sinon.default.spy();
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
input = wrapper.find('input');
|
|
71
|
-
(0, _chai.expect)(wrapper.find('div.RadioButtons__error')).to.have.lengthOf(0);
|
|
105
|
+
_renderRadioButtons4 = renderRadioButtons(onSubmitCallback), container = _renderRadioButtons4.container;
|
|
106
|
+
inputs = container.querySelectorAll('input');
|
|
107
|
+
(0, _chai.expect)(container.querySelectorAll('div.RadioButtons__error')).to.have.lengthOf(0);
|
|
72
108
|
_context4.next = 6;
|
|
73
109
|
return (0, _react2.act)( /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee3() {
|
|
74
110
|
return _regeneratorRuntime().wrap(function _callee3$(_context3) {
|
|
75
111
|
while (1) switch (_context3.prev = _context3.next) {
|
|
76
112
|
case 0:
|
|
77
|
-
// Set value, and wait for
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
_context3.next = 4;
|
|
113
|
+
// Set value, and wait for form to complete.
|
|
114
|
+
inputs[2].click();
|
|
115
|
+
_context3.next = 3;
|
|
81
116
|
return new Promise(function (resolve) {
|
|
82
117
|
setTimeout(resolve);
|
|
83
118
|
});
|
|
84
|
-
case
|
|
85
|
-
// Submit values, and wait for
|
|
86
|
-
|
|
87
|
-
_context3.next =
|
|
119
|
+
case 3:
|
|
120
|
+
// Submit values, and wait for form to complete.
|
|
121
|
+
container.querySelector('form').submit();
|
|
122
|
+
_context3.next = 6;
|
|
88
123
|
return new Promise(function (resolve) {
|
|
89
124
|
setTimeout(resolve);
|
|
90
125
|
});
|
|
91
|
-
case
|
|
126
|
+
case 6:
|
|
92
127
|
case "end":
|
|
93
128
|
return _context3.stop();
|
|
94
129
|
}
|
|
95
130
|
}, _callee3);
|
|
96
131
|
})));
|
|
97
132
|
case 6:
|
|
98
|
-
wrapper.update();
|
|
99
|
-
|
|
100
133
|
// Should not display an error message.
|
|
101
|
-
(0, _chai.expect)(
|
|
134
|
+
(0, _chai.expect)(container.querySelectorAll('div.RadioButtons__error')).to.have.lengthOf(0);
|
|
102
135
|
|
|
103
136
|
// Submitted values should contain my value.
|
|
104
137
|
(0, _chai.expect)(onSubmitCallback).to.have.been.calledWith({
|
|
105
138
|
poison: 'rum'
|
|
106
139
|
});
|
|
107
|
-
case
|
|
140
|
+
case 8:
|
|
108
141
|
case "end":
|
|
109
142
|
return _context4.stop();
|
|
110
143
|
}
|
|
@@ -24,7 +24,11 @@ var Select = function Select(props) {
|
|
|
24
24
|
_props$disabled = props.disabled,
|
|
25
25
|
disabled = _props$disabled === void 0 ? false : _props$disabled,
|
|
26
26
|
_props$multiple = props.multiple,
|
|
27
|
-
multiple = _props$multiple === void 0 ? false : _props$multiple
|
|
27
|
+
multiple = _props$multiple === void 0 ? false : _props$multiple,
|
|
28
|
+
_props$isSearchable = props.isSearchable,
|
|
29
|
+
isSearchable = _props$isSearchable === void 0 ? true : _props$isSearchable,
|
|
30
|
+
_props$isClearable = props.isClearable,
|
|
31
|
+
isClearable = _props$isClearable === void 0 ? true : _props$isClearable;
|
|
28
32
|
return /*#__PURE__*/_react.default.createElement(_GenericFormElement.default, {
|
|
29
33
|
className: (0, _classnames.default)('Select', wrapperClassName),
|
|
30
34
|
title: title,
|
|
@@ -40,7 +44,9 @@ var Select = function Select(props) {
|
|
|
40
44
|
'error': error && touched
|
|
41
45
|
}),
|
|
42
46
|
disabled: disabled,
|
|
43
|
-
multiple: multiple
|
|
47
|
+
multiple: multiple,
|
|
48
|
+
isSearchable: isSearchable,
|
|
49
|
+
isClearable: isClearable
|
|
44
50
|
})));
|
|
45
51
|
};
|
|
46
52
|
var _default = Select;
|
|
@@ -2,12 +2,12 @@
|
|
|
2
2
|
|
|
3
3
|
function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }, _typeof(obj); }
|
|
4
4
|
var _react = _interopRequireDefault(require("react"));
|
|
5
|
-
var _chai = _interopRequireWildcard(require("chai"));
|
|
6
|
-
var _enzyme = require("enzyme");
|
|
7
5
|
var _react2 = require("@testing-library/react");
|
|
6
|
+
var _chai = _interopRequireWildcard(require("chai"));
|
|
8
7
|
var _sinon = _interopRequireDefault(require("sinon"));
|
|
9
8
|
var _sinonChai = _interopRequireDefault(require("sinon-chai"));
|
|
10
|
-
var
|
|
9
|
+
var _FormikWrapper = _interopRequireDefault(require("../FormikWrapper"));
|
|
10
|
+
var _ = _interopRequireDefault(require("."));
|
|
11
11
|
function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
|
|
12
12
|
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
|
|
13
13
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
@@ -16,30 +16,58 @@ function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try
|
|
|
16
16
|
function _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err); } _next(undefined); }); }; }
|
|
17
17
|
// Use sinon-chai for spies.
|
|
18
18
|
_chai.default.use(_sinonChai.default);
|
|
19
|
+
var renderTextField = function renderTextField() {
|
|
20
|
+
var onSubmit = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : _sinon.default.spy();
|
|
21
|
+
return (0, _react2.render)( /*#__PURE__*/_react.default.createElement(_FormikWrapper.default, {
|
|
22
|
+
initialValues: {
|
|
23
|
+
firstname: ''
|
|
24
|
+
},
|
|
25
|
+
displayRequiredIndicator: "required",
|
|
26
|
+
onSubmit: onSubmit
|
|
27
|
+
}, /*#__PURE__*/_react.default.createElement(_.default, {
|
|
28
|
+
title: "First name",
|
|
29
|
+
required: true,
|
|
30
|
+
description: "This is a test input.",
|
|
31
|
+
placeholder: "This is a placeholder",
|
|
32
|
+
fieldName: "firstname",
|
|
33
|
+
validation: function validation(value) {
|
|
34
|
+
var error;
|
|
35
|
+
if (!value) {
|
|
36
|
+
error = 'Dit is een vereist veld.';
|
|
37
|
+
}
|
|
38
|
+
return error;
|
|
39
|
+
},
|
|
40
|
+
onChange: function onChange(e) {
|
|
41
|
+
return console.log(e.target.value);
|
|
42
|
+
}
|
|
43
|
+
})));
|
|
44
|
+
};
|
|
19
45
|
describe('<TextField />', function () {
|
|
20
|
-
|
|
21
|
-
var
|
|
22
|
-
|
|
46
|
+
test('renders a label element', function () {
|
|
47
|
+
var _renderTextField = renderTextField(),
|
|
48
|
+
container = _renderTextField.container;
|
|
49
|
+
(0, _chai.expect)(container.querySelectorAll('label')).to.have.lengthOf(1);
|
|
23
50
|
});
|
|
24
|
-
|
|
25
|
-
var
|
|
26
|
-
|
|
51
|
+
test('renders a description element', function () {
|
|
52
|
+
var _renderTextField2 = renderTextField(),
|
|
53
|
+
container = _renderTextField2.container;
|
|
54
|
+
(0, _chai.expect)(container.querySelectorAll('div.TextField__description')).to.have.lengthOf(1);
|
|
27
55
|
});
|
|
28
|
-
|
|
29
|
-
var
|
|
56
|
+
test('displays a required error message', /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee2() {
|
|
57
|
+
var _renderTextField3, container, input;
|
|
30
58
|
return _regeneratorRuntime().wrap(function _callee2$(_context2) {
|
|
31
59
|
while (1) switch (_context2.prev = _context2.next) {
|
|
32
60
|
case 0:
|
|
33
|
-
|
|
34
|
-
input =
|
|
35
|
-
(0, _chai.expect)(
|
|
61
|
+
_renderTextField3 = renderTextField(), container = _renderTextField3.container;
|
|
62
|
+
input = container.querySelector('#firstname');
|
|
63
|
+
(0, _chai.expect)(container.querySelectorAll('div.TextField__error')).to.have.lengthOf(0);
|
|
36
64
|
_context2.next = 5;
|
|
37
65
|
return (0, _react2.act)( /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee() {
|
|
38
66
|
return _regeneratorRuntime().wrap(function _callee$(_context) {
|
|
39
67
|
while (1) switch (_context.prev = _context.next) {
|
|
40
68
|
case 0:
|
|
41
|
-
input.
|
|
42
|
-
input.
|
|
69
|
+
input.focus();
|
|
70
|
+
input.blur();
|
|
43
71
|
case 2:
|
|
44
72
|
case "end":
|
|
45
73
|
return _context.stop();
|
|
@@ -47,62 +75,59 @@ describe('<TextField />', function () {
|
|
|
47
75
|
}, _callee);
|
|
48
76
|
})));
|
|
49
77
|
case 5:
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
case 7:
|
|
78
|
+
(0, _chai.expect)(container.querySelectorAll('div.TextField__error')).to.have.lengthOf(1);
|
|
79
|
+
case 6:
|
|
53
80
|
case "end":
|
|
54
81
|
return _context2.stop();
|
|
55
82
|
}
|
|
56
83
|
}, _callee2);
|
|
57
84
|
})));
|
|
58
|
-
|
|
59
|
-
var value, onSubmitCallback,
|
|
85
|
+
test('sets the correct value', /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee4() {
|
|
86
|
+
var value, onSubmitCallback, _renderTextField4, container;
|
|
60
87
|
return _regeneratorRuntime().wrap(function _callee4$(_context4) {
|
|
61
88
|
while (1) switch (_context4.prev = _context4.next) {
|
|
62
89
|
case 0:
|
|
63
90
|
value = 'My First Name';
|
|
64
91
|
onSubmitCallback = _sinon.default.spy();
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
input = wrapper.find('input');
|
|
69
|
-
(0, _chai.expect)(wrapper.find('div.TextField__error')).to.have.lengthOf(0);
|
|
70
|
-
_context4.next = 7;
|
|
92
|
+
_renderTextField4 = renderTextField(onSubmitCallback), container = _renderTextField4.container;
|
|
93
|
+
(0, _chai.expect)(container.querySelectorAll('div.TextField__error')).to.have.lengthOf(0);
|
|
94
|
+
_context4.next = 6;
|
|
71
95
|
return (0, _react2.act)( /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee3() {
|
|
72
96
|
return _regeneratorRuntime().wrap(function _callee3$(_context3) {
|
|
73
97
|
while (1) switch (_context3.prev = _context3.next) {
|
|
74
98
|
case 0:
|
|
75
|
-
// Set value, and wait for
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
99
|
+
// Set value, and wait for form to complete.
|
|
100
|
+
_react2.fireEvent.change(container.querySelector('#firstname'), {
|
|
101
|
+
target: {
|
|
102
|
+
value: value
|
|
103
|
+
}
|
|
104
|
+
});
|
|
105
|
+
_context3.next = 3;
|
|
79
106
|
return new Promise(function (resolve) {
|
|
80
107
|
setTimeout(resolve);
|
|
81
108
|
});
|
|
82
|
-
case
|
|
109
|
+
case 3:
|
|
83
110
|
// Submit values, and wait for Formik to complete.
|
|
84
|
-
|
|
85
|
-
_context3.next =
|
|
111
|
+
container.querySelector('form').submit();
|
|
112
|
+
_context3.next = 6;
|
|
86
113
|
return new Promise(function (resolve) {
|
|
87
114
|
setTimeout(resolve);
|
|
88
115
|
});
|
|
89
|
-
case
|
|
116
|
+
case 6:
|
|
90
117
|
case "end":
|
|
91
118
|
return _context3.stop();
|
|
92
119
|
}
|
|
93
120
|
}, _callee3);
|
|
94
121
|
})));
|
|
95
|
-
case
|
|
96
|
-
wrapper.update();
|
|
97
|
-
|
|
122
|
+
case 6:
|
|
98
123
|
// Should not display an error message.
|
|
99
|
-
(0, _chai.expect)(
|
|
124
|
+
(0, _chai.expect)(container.querySelectorAll('div.TextField__error')).to.have.lengthOf(0);
|
|
100
125
|
|
|
101
126
|
// Submitted values should contain my value.
|
|
102
127
|
(0, _chai.expect)(onSubmitCallback).to.have.been.calledWith({
|
|
103
128
|
firstname: value
|
|
104
129
|
});
|
|
105
|
-
case
|
|
130
|
+
case 8:
|
|
106
131
|
case "end":
|
|
107
132
|
return _context4.stop();
|
|
108
133
|
}
|
|
@@ -47,6 +47,8 @@ var SelectFacet = function SelectFacet(_ref) {
|
|
|
47
47
|
placeholder: placeHolder,
|
|
48
48
|
fieldName: facet.identifier,
|
|
49
49
|
options: options,
|
|
50
|
+
isSearchable: facet.isSearchable,
|
|
51
|
+
isClearable: facet.isClearable,
|
|
50
52
|
onChange: function onChange(value) {
|
|
51
53
|
api.removeFiltersByIdentifier(facet.identifier);
|
|
52
54
|
api.setPage({
|
|
@@ -20,22 +20,28 @@ function useDialogHelpers(options) {
|
|
|
20
20
|
id = _options$id === void 0 ? (0, _uuid.v4)() : _options$id,
|
|
21
21
|
wrapperElement = options.wrapperElement,
|
|
22
22
|
closeFunction = options.closeFunction,
|
|
23
|
-
isOpen = options.isOpen
|
|
23
|
+
isOpen = options.isOpen,
|
|
24
|
+
disableClosers = options.disableClosers;
|
|
24
25
|
|
|
25
26
|
/**
|
|
26
|
-
*
|
|
27
|
+
* Allows you to disable these two hooks.
|
|
27
28
|
*/
|
|
28
|
-
(
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
29
|
+
if (!disableClosers) {
|
|
30
|
+
/**
|
|
31
|
+
* Close the Dialog by pressing Escape.
|
|
32
|
+
*/
|
|
33
|
+
(0, _useClickOutside.default)({
|
|
34
|
+
refs: [wrapperElement],
|
|
35
|
+
onClick: closeFunction
|
|
36
|
+
});
|
|
32
37
|
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
38
|
+
/**
|
|
39
|
+
* Close the Dialog by pressing Escape.
|
|
40
|
+
*/
|
|
41
|
+
(0, _useEscape.default)({
|
|
42
|
+
onPress: closeFunction
|
|
43
|
+
});
|
|
44
|
+
}
|
|
39
45
|
|
|
40
46
|
/**
|
|
41
47
|
* Make sure focus does not leave the Dialog while it's open.
|
package/dist/index.js
CHANGED
|
@@ -315,6 +315,66 @@ Object.defineProperty(exports, "WysiwygField", {
|
|
|
315
315
|
return _WysiwygField.default;
|
|
316
316
|
}
|
|
317
317
|
});
|
|
318
|
+
Object.defineProperty(exports, "doubleDigits", {
|
|
319
|
+
enumerable: true,
|
|
320
|
+
get: function get() {
|
|
321
|
+
return _date.doubleDigits;
|
|
322
|
+
}
|
|
323
|
+
});
|
|
324
|
+
Object.defineProperty(exports, "gtm", {
|
|
325
|
+
enumerable: true,
|
|
326
|
+
get: function get() {
|
|
327
|
+
return _gtm.default;
|
|
328
|
+
}
|
|
329
|
+
});
|
|
330
|
+
Object.defineProperty(exports, "isExternalLink", {
|
|
331
|
+
enumerable: true,
|
|
332
|
+
get: function get() {
|
|
333
|
+
return _link.isExternalLink;
|
|
334
|
+
}
|
|
335
|
+
});
|
|
336
|
+
Object.defineProperty(exports, "isValidDate", {
|
|
337
|
+
enumerable: true,
|
|
338
|
+
get: function get() {
|
|
339
|
+
return _date.isValidDate;
|
|
340
|
+
}
|
|
341
|
+
});
|
|
342
|
+
Object.defineProperty(exports, "normalizeLink", {
|
|
343
|
+
enumerable: true,
|
|
344
|
+
get: function get() {
|
|
345
|
+
return _link.normalizeLink;
|
|
346
|
+
}
|
|
347
|
+
});
|
|
348
|
+
Object.defineProperty(exports, "parseDateWithTimezoneOffset", {
|
|
349
|
+
enumerable: true,
|
|
350
|
+
get: function get() {
|
|
351
|
+
return _date.parseDateWithTimezoneOffset;
|
|
352
|
+
}
|
|
353
|
+
});
|
|
354
|
+
Object.defineProperty(exports, "useBoolean", {
|
|
355
|
+
enumerable: true,
|
|
356
|
+
get: function get() {
|
|
357
|
+
return _useBoolean.default;
|
|
358
|
+
}
|
|
359
|
+
});
|
|
360
|
+
Object.defineProperty(exports, "useDialog", {
|
|
361
|
+
enumerable: true,
|
|
362
|
+
get: function get() {
|
|
363
|
+
return _useDialog.default;
|
|
364
|
+
}
|
|
365
|
+
});
|
|
366
|
+
Object.defineProperty(exports, "useDialogHelpers", {
|
|
367
|
+
enumerable: true,
|
|
368
|
+
get: function get() {
|
|
369
|
+
return _useDialogHelpers.default;
|
|
370
|
+
}
|
|
371
|
+
});
|
|
372
|
+
Object.defineProperty(exports, "useEscape", {
|
|
373
|
+
enumerable: true,
|
|
374
|
+
get: function get() {
|
|
375
|
+
return _useEscape.default;
|
|
376
|
+
}
|
|
377
|
+
});
|
|
318
378
|
Object.defineProperty(exports, "useOnScreen", {
|
|
319
379
|
enumerable: true,
|
|
320
380
|
get: function get() {
|
|
@@ -333,66 +393,80 @@ Object.defineProperty(exports, "useScrollPosition", {
|
|
|
333
393
|
return _useScrollPosition.default;
|
|
334
394
|
}
|
|
335
395
|
});
|
|
396
|
+
Object.defineProperty(exports, "useValueForCurrentViewPort", {
|
|
397
|
+
enumerable: true,
|
|
398
|
+
get: function get() {
|
|
399
|
+
return _useValueForCurrentViewPort.default;
|
|
400
|
+
}
|
|
401
|
+
});
|
|
336
402
|
Object.defineProperty(exports, "useWindowDimensions", {
|
|
337
403
|
enumerable: true,
|
|
338
404
|
get: function get() {
|
|
339
405
|
return _useWindowDimensions.default;
|
|
340
406
|
}
|
|
341
407
|
});
|
|
408
|
+
var _AbbreviationAnnotation = _interopRequireDefault(require("./components/AbbreviationAnnotation"));
|
|
342
409
|
var _Accordion = _interopRequireDefault(require("./components/Accordion"));
|
|
343
410
|
var _AccordionItem = _interopRequireDefault(require("./components/Accordion/AccordionItem"));
|
|
344
411
|
var _AccordionItemVariant = _interopRequireDefault(require("./components/Accordion/AccordionItemVariant"));
|
|
345
|
-
var _Container = _interopRequireDefault(require("./components/Layout/Container"));
|
|
346
412
|
var _Button = _interopRequireDefault(require("./components/Button"));
|
|
347
|
-
var _Header = _interopRequireDefault(require("./components/Header"));
|
|
348
413
|
var _Hamburger = _interopRequireDefault(require("./components/Hamburger"));
|
|
349
|
-
var _WysiwygField = _interopRequireDefault(require("./components/WysiwygField"));
|
|
350
|
-
var _ApiAutocomplete = _interopRequireDefault(require("./components/ApiAutocomplete"));
|
|
351
|
-
var _FontSizeSwitcher = _interopRequireDefault(require("./components/FontSizeSwitcher"));
|
|
352
|
-
var _Pagination = _interopRequireDefault(require("./components/Pagination"));
|
|
353
|
-
var _QuickLayout = _interopRequireDefault(require("./components/Layout/QuickLayout"));
|
|
354
|
-
var _Lottie = _interopRequireDefault(require("./components/Lottie"));
|
|
355
|
-
var _LottieAnimationWithMousePosition = _interopRequireDefault(require("./components/Lottie/LottieAnimationWithMousePosition"));
|
|
356
|
-
var _MagicLine = _interopRequireDefault(require("./components/MagicLine"));
|
|
357
|
-
var _NavigationScroll = _interopRequireDefault(require("./components/NavigationScroll"));
|
|
358
414
|
var _Image = _interopRequireDefault(require("./components/Image"));
|
|
359
415
|
var _Background = _interopRequireDefault(require("./components/Image/Background"));
|
|
360
|
-
var
|
|
361
|
-
var
|
|
416
|
+
var _Lottie = _interopRequireDefault(require("./components/Lottie"));
|
|
417
|
+
var _LottieAnimationWithMousePosition = _interopRequireDefault(require("./components/Lottie/LottieAnimationWithMousePosition"));
|
|
418
|
+
var _WysiwygField = _interopRequireDefault(require("./components/WysiwygField"));
|
|
419
|
+
var _ChipFacet = _interopRequireDefault(require("./components/SearchKit/Facets/ChipFacet"));
|
|
362
420
|
var _Dialog = _interopRequireDefault(require("./components/Dialog"));
|
|
363
|
-
var
|
|
364
|
-
var _SliderRelated = _interopRequireDefault(require("./components/Sliders/SliderRelated"));
|
|
365
|
-
var _FormikWrapper = _interopRequireDefault(require("./components/Form/FormikWrapper"));
|
|
421
|
+
var _FontSizeSwitcher = _interopRequireDefault(require("./components/FontSizeSwitcher"));
|
|
366
422
|
var _Checkbox = _interopRequireDefault(require("./components/Form/Checkbox"));
|
|
367
423
|
var _Checkboxes = _interopRequireDefault(require("./components/Form/Checkboxes"));
|
|
368
424
|
var _Date = _interopRequireDefault(require("./components/Form/Date"));
|
|
369
425
|
var _DatePicker = _interopRequireDefault(require("./components/Form/DatePicker"));
|
|
370
426
|
var _DateSelect = _interopRequireDefault(require("./components/Form/DateSelect"));
|
|
371
427
|
var _Email = _interopRequireDefault(require("./components/Form/Email"));
|
|
428
|
+
var _FormikWrapper = _interopRequireDefault(require("./components/Form/FormikWrapper"));
|
|
372
429
|
var _Number = _interopRequireDefault(require("./components/Form/Number"));
|
|
373
430
|
var _RadioButtons = _interopRequireDefault(require("./components/Form/RadioButtons"));
|
|
374
431
|
var _SearchField = _interopRequireDefault(require("./components/Form/SearchField"));
|
|
375
432
|
var _Select = _interopRequireDefault(require("./components/Form/Select"));
|
|
376
433
|
var _Textarea = _interopRequireDefault(require("./components/Form/Textarea"));
|
|
377
434
|
var _TextField = _interopRequireDefault(require("./components/Form/TextField"));
|
|
378
|
-
var
|
|
379
|
-
var _ViewportContext = _interopRequireDefault(require("./Context/ViewportContext"));
|
|
380
|
-
var _SearchKit = _interopRequireDefault(require("./components/SearchKit"));
|
|
381
|
-
var _SearchField2 = _interopRequireDefault(require("./components/SearchKit/SearchField"));
|
|
382
|
-
var _SearchFacets = _interopRequireDefault(require("./components/SearchKit/SearchFacets"));
|
|
383
|
-
var _SelectFacet = _interopRequireDefault(require("./components/SearchKit/Facets/SelectFacet"));
|
|
435
|
+
var _InlineMenu = _interopRequireDefault(require("./components/InlineMenu"));
|
|
384
436
|
var _ListFacet = _interopRequireDefault(require("./components/SearchKit/Facets/ListFacet"));
|
|
385
|
-
var
|
|
386
|
-
var
|
|
387
|
-
var
|
|
437
|
+
var _MagicLine = _interopRequireDefault(require("./components/MagicLine"));
|
|
438
|
+
var _NavigationScroll = _interopRequireDefault(require("./components/NavigationScroll"));
|
|
439
|
+
var _Pagination = _interopRequireDefault(require("./components/Pagination"));
|
|
440
|
+
var _Picture = _interopRequireDefault(require("./components/Image/Picture"));
|
|
441
|
+
var _SearchFacets = _interopRequireDefault(require("./components/SearchKit/SearchFacets"));
|
|
442
|
+
var _SearchField2 = _interopRequireDefault(require("./components/SearchKit/SearchField"));
|
|
443
|
+
var _SearchKit = _interopRequireDefault(require("./components/SearchKit"));
|
|
444
|
+
var _SearchLoadMore = _interopRequireDefault(require("./components/SearchKit/SearchLoadMore"));
|
|
445
|
+
var _SearchPagination = _interopRequireDefault(require("./components/SearchKit/SearchPagination"));
|
|
388
446
|
var _SearchReset = _interopRequireDefault(require("./components/SearchKit/SearchReset"));
|
|
389
447
|
var _SearchResults = _interopRequireDefault(require("./components/SearchKit/SearchResults"));
|
|
390
|
-
var
|
|
391
|
-
var
|
|
448
|
+
var _SearchSelectedFilters = _interopRequireDefault(require("./components/SearchKit/SearchSelectedFilters"));
|
|
449
|
+
var _SearchSorting = _interopRequireDefault(require("./components/SearchKit/SearchSorting"));
|
|
450
|
+
var _SelectFacet = _interopRequireDefault(require("./components/SearchKit/Facets/SelectFacet"));
|
|
451
|
+
var _ApiAutocomplete = _interopRequireDefault(require("./components/ApiAutocomplete"));
|
|
392
452
|
var _Cookie = _interopRequireDefault(require("./components/Cookie"));
|
|
453
|
+
var _Header = _interopRequireDefault(require("./components/Header"));
|
|
454
|
+
var _Share = _interopRequireDefault(require("./components/Share"));
|
|
455
|
+
var _SliderRelated = _interopRequireDefault(require("./components/Sliders/SliderRelated"));
|
|
456
|
+
var _Container = _interopRequireDefault(require("./components/Layout/Container"));
|
|
457
|
+
var _QuickLayout = _interopRequireDefault(require("./components/Layout/QuickLayout"));
|
|
458
|
+
var _KitchenSinkComponentMapperContext = _interopRequireDefault(require("./Context/KitchenSinkComponentMapperContext"));
|
|
459
|
+
var _ViewportContext = _interopRequireDefault(require("./Context/ViewportContext"));
|
|
460
|
+
var _useBoolean = _interopRequireDefault(require("./hooks/useBoolean"));
|
|
461
|
+
var _useDialog = _interopRequireDefault(require("./hooks/useDialog"));
|
|
462
|
+
var _useDialogHelpers = _interopRequireDefault(require("./hooks/useDialogHelpers"));
|
|
463
|
+
var _useEscape = _interopRequireDefault(require("./hooks/useEscape"));
|
|
393
464
|
var _useOnScreen = _interopRequireDefault(require("./hooks/useOnScreen"));
|
|
394
465
|
var _usePrevious = _interopRequireDefault(require("./hooks/usePrevious"));
|
|
395
466
|
var _useScrollPosition = _interopRequireDefault(require("./hooks/useScrollPosition"));
|
|
396
467
|
var _useWindowDimensions = _interopRequireDefault(require("./hooks/useWindowDimensions"));
|
|
397
|
-
var
|
|
468
|
+
var _gtm = _interopRequireDefault(require("./helpers/gtm"));
|
|
469
|
+
var _useValueForCurrentViewPort = _interopRequireDefault(require("./helpers/useValueForCurrentViewPort"));
|
|
470
|
+
var _date = require("./helpers/date");
|
|
471
|
+
var _link = require("./helpers/link");
|
|
398
472
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
package/dist/setupTests.js
CHANGED
|
@@ -1,14 +1,21 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
3
|
require("@testing-library/jest-dom/extend-expect");
|
|
4
|
-
|
|
5
|
-
var _enzymeAdapterReact = _interopRequireDefault(require("enzyme-adapter-react-16"));
|
|
6
|
-
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
4
|
+
require("@testing-library/jest-dom");
|
|
7
5
|
// jest-dom adds custom jest matchers for asserting on DOM nodes.
|
|
8
6
|
// allows you to do things like:
|
|
9
7
|
// expect(element).toHaveTextContent(/react/i)
|
|
10
8
|
// learn more: https://github.com/testing-library/jest-dom
|
|
11
9
|
|
|
12
|
-
(
|
|
13
|
-
|
|
10
|
+
jest.mock('react-i18next', function () {
|
|
11
|
+
return {
|
|
12
|
+
// this mock makes sure any components using the translate hook can use it without a warning being shown
|
|
13
|
+
useTranslation: function useTranslation() {
|
|
14
|
+
return {
|
|
15
|
+
t: function t(str) {
|
|
16
|
+
return str;
|
|
17
|
+
}
|
|
18
|
+
};
|
|
19
|
+
}
|
|
20
|
+
};
|
|
14
21
|
});
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@uncinc/uncinc-react-kitchen-sink",
|
|
3
|
-
"version": "2.5.
|
|
3
|
+
"version": "2.5.3",
|
|
4
4
|
"description": "Default React components that are easily extended.",
|
|
5
5
|
"author": "uncinc",
|
|
6
6
|
"license": "MIT",
|
|
@@ -30,7 +30,8 @@
|
|
|
30
30
|
"build": "react-scripts build",
|
|
31
31
|
"build:js": "cross-env NODE_ENV=production && rm -rf dist && mkdir dist && npx babel src --out-dir dist --copy-files --extensions .ts,.js,.tsx,.jsx,.cjs,.mjs",
|
|
32
32
|
"build:types": "tsc --outDir dist",
|
|
33
|
-
"test": "
|
|
33
|
+
"test": "react-scripts test",
|
|
34
|
+
"test:ci": "react-scripts test --collectCoverage --coverageReporters=cobertura --coverageDirectory=\"./__tests__/coverage\" --ci --reporters=default --reporters=jest-junit --watchAll=false",
|
|
34
35
|
"eject": "react-scripts eject",
|
|
35
36
|
"prepare": "yarn run publish:npm",
|
|
36
37
|
"storybook": "storybook dev -p 6006",
|
|
@@ -115,8 +116,8 @@
|
|
|
115
116
|
"@storybook/react-webpack5": "^7.0.18",
|
|
116
117
|
"@storybook/testing-library": "^0.0.14-next.2",
|
|
117
118
|
"@storybook/theming": "^7.0.18",
|
|
118
|
-
"@testing-library/jest-dom": "^
|
|
119
|
-
"@testing-library/react": "^
|
|
119
|
+
"@testing-library/jest-dom": "^5.11.2",
|
|
120
|
+
"@testing-library/react": "^14.0.0",
|
|
120
121
|
"@testing-library/user-event": "^7.1.2",
|
|
121
122
|
"@uncinc/eslint-config": "^1.0.5",
|
|
122
123
|
"@uncinc/stylelint-config": "^1.0.2",
|
|
@@ -124,9 +125,9 @@
|
|
|
124
125
|
"babel-plugin-named-exports-order": "^0.0.2",
|
|
125
126
|
"chai": "^4.2.0",
|
|
126
127
|
"cross-env": "^7.0.2",
|
|
127
|
-
"enzyme": "^3.11.0",
|
|
128
|
-
"enzyme-adapter-react-16": "^1.15.2",
|
|
129
128
|
"jest": "^29.4.3",
|
|
129
|
+
"jest-environment-jsdom": "^29.5.0",
|
|
130
|
+
"jest-junit": "^16.0.0",
|
|
130
131
|
"prop-types": "^15.8.1",
|
|
131
132
|
"react-scripts": "^5.0.1",
|
|
132
133
|
"react-test-renderer": "^18.2.0",
|