@uncinc/uncinc-react-kitchen-sink 2.5.1 → 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.
@@ -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), showCloseIcon && /*#__PURE__*/_react.default.createElement("button", {
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 _uuid = require("uuid");
9
- var _useDialog2 = _interopRequireDefault(require("../../hooks/useDialog"));
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
- var Content = function Content() {
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 _stories = require("./stories");
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
- it('renders 5 label elements', function () {
21
- var wrapper = (0, _enzyme.mount)( /*#__PURE__*/_react.default.createElement(_stories.Checkboxes, null));
22
- (0, _chai.expect)(wrapper.find('label')).to.have.lengthOf(5);
23
- });
24
- it('renders a description element', function () {
25
- var wrapper = (0, _enzyme.mount)( /*#__PURE__*/_react.default.createElement(_stories.Checkboxes, null));
26
- (0, _chai.expect)(wrapper.find('div.Checkboxes__description')).to.have.lengthOf(1);
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
- it('displays a required error message', /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee2() {
29
- var wrapper;
30
- return _regeneratorRuntime().wrap(function _callee2$(_context2) {
31
- while (1) switch (_context2.prev = _context2.next) {
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
- wrapper = (0, _enzyme.mount)( /*#__PURE__*/_react.default.createElement(_stories.Checkboxes, null));
34
- (0, _chai.expect)(wrapper.find('div.Checkboxes__error')).to.have.lengthOf(0);
35
- _context2.next = 4;
36
- return (0, _react2.act)( /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee() {
37
- return _regeneratorRuntime().wrap(function _callee$(_context) {
38
- while (1) switch (_context.prev = _context.next) {
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 Formik to complete.
41
- wrapper.find('Formik').simulate('submit');
42
- _context.next = 3;
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 _context.stop();
90
+ return _context2.stop();
49
91
  }
50
- }, _callee);
92
+ }, _callee2);
51
93
  })));
52
94
  case 4:
53
- wrapper.update();
54
- (0, _chai.expect)(wrapper.find('div.Checkboxes__error')).to.have.lengthOf(1);
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 _context2.stop();
98
+ return _context3.stop();
58
99
  }
59
- }, _callee2);
100
+ }, _callee3);
60
101
  })));
61
- it('sets the correct value', /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee4() {
62
- var onSubmitCallback, wrapper, input;
63
- return _regeneratorRuntime().wrap(function _callee4$(_context4) {
64
- while (1) switch (_context4.prev = _context4.next) {
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
- wrapper = (0, _enzyme.mount)( /*#__PURE__*/_react.default.createElement(_stories.Checkboxes, {
68
- onSubmit: onSubmitCallback
69
- }));
70
- input = wrapper.find('input');
71
- (0, _chai.expect)(wrapper.find('div.Checkboxes__error')).to.have.lengthOf(0);
72
- _context4.next = 6;
73
- return (0, _react2.act)( /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee3() {
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 Formik to complete.
78
- input.at(2).instance().checked = 'checked';
79
- input.at(2).simulate('change');
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 4:
85
- input.at(3).instance().checked = 'checked';
86
- input.at(3).simulate('change');
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 8:
92
- // Submit values, and wait for Formik to complete.
93
- wrapper.find('Formik').simulate('submit');
94
- _context3.next = 11;
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 11:
135
+ case 9:
99
136
  case "end":
100
- return _context3.stop();
137
+ return _context4.stop();
101
138
  }
102
- }, _callee3);
139
+ }, _callee4);
103
140
  })));
104
141
  case 6:
105
- wrapper.update();
106
-
107
142
  // Should not display an error message.
108
- (0, _chai.expect)(wrapper.find('div.Checkboxes__error')).to.have.lengthOf(0);
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 9:
149
+ case 8:
115
150
  case "end":
116
- return _context4.stop();
151
+ return _context5.stop();
117
152
  }
118
- }, _callee4);
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 _stories = require("./stories");
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
- it('renders 5 label elements', function () {
21
- var wrapper = (0, _enzyme.mount)( /*#__PURE__*/_react.default.createElement(_stories.RadioButtons, null));
22
- (0, _chai.expect)(wrapper.find('label')).to.have.lengthOf(5);
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
- it('renders a description element', function () {
25
- var wrapper = (0, _enzyme.mount)( /*#__PURE__*/_react.default.createElement(_stories.RadioButtons, null));
26
- (0, _chai.expect)(wrapper.find('div.RadioButtons__description')).to.have.lengthOf(1);
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
- it('displays a required error message', /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee2() {
29
- var wrapper;
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
- wrapper = (0, _enzyme.mount)( /*#__PURE__*/_react.default.createElement(_stories.RadioButtons, null));
34
- (0, _chai.expect)(wrapper.find('div.RadioButtons__error')).to.have.lengthOf(0);
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 Formik to complete.
41
- wrapper.find('Formik').simulate('submit');
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
- wrapper.update();
54
- (0, _chai.expect)(wrapper.find('div.RadioButtons__error')).to.have.lengthOf(1);
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
- it('sets the correct value', /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee4() {
62
- var onSubmitCallback, wrapper, input;
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
- wrapper = (0, _enzyme.mount)( /*#__PURE__*/_react.default.createElement(_stories.RadioButtons, {
68
- onSubmit: onSubmitCallback
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 Formik to complete.
78
- input.at(2).instance().checked = 'checked';
79
- input.at(2).simulate('change');
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 4:
85
- // Submit values, and wait for Formik to complete.
86
- wrapper.find('Formik').simulate('submit');
87
- _context3.next = 7;
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 7:
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)(wrapper.find('div.RadioButtons__error')).to.have.lengthOf(0);
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 9:
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;
@@ -51,7 +51,7 @@ var TextField = function TextField(props) {
51
51
  touched: touched,
52
52
  error: error,
53
53
  displayRequiredIndicator: displayRequiredIndicator
54
- }, /*#__PURE__*/_react.default.createElement(_formik.Field, _extends({
54
+ }, /*#__PURE__*/_react.default.createElement(_formik.Field, _extends({}, restProps, {
55
55
  className: (0, _classnames.default)(className, {
56
56
  'error': error && touched
57
57
  }),
@@ -63,7 +63,7 @@ var TextField = function TextField(props) {
63
63
  validate: validation,
64
64
  onKeyUp: handleChange,
65
65
  disabled: disabled
66
- }, restProps)));
66
+ })));
67
67
  };
68
68
  var _default = (0, _withMapping.default)(TextField);
69
69
  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 _stories = require("./stories");
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
- it('renders a label element', function () {
21
- var wrapper = (0, _enzyme.mount)( /*#__PURE__*/_react.default.createElement(_stories.TextField, null));
22
- (0, _chai.expect)(wrapper.find('label')).to.have.lengthOf(1);
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
- it('renders a description element', function () {
25
- var wrapper = (0, _enzyme.mount)( /*#__PURE__*/_react.default.createElement(_stories.TextField, null));
26
- (0, _chai.expect)(wrapper.find('div.TextField__description')).to.have.lengthOf(1);
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
- it('displays a required error message', /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee2() {
29
- var wrapper, input;
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
- wrapper = (0, _enzyme.mount)( /*#__PURE__*/_react.default.createElement(_stories.TextField, null));
34
- input = wrapper.find('input');
35
- (0, _chai.expect)(wrapper.find('div.TextField__error')).to.have.lengthOf(0);
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.simulate('focus');
42
- input.simulate('blur');
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
- wrapper.update();
51
- (0, _chai.expect)(wrapper.find('div.TextField__error')).to.have.lengthOf(1);
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
- it('sets the correct value', /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee4() {
59
- var value, onSubmitCallback, wrapper, input;
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
- wrapper = (0, _enzyme.mount)( /*#__PURE__*/_react.default.createElement(_stories.TextField, {
66
- onSubmit: onSubmitCallback
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 Formik to complete.
76
- input.instance().value = value;
77
- input.simulate('change');
78
- _context3.next = 4;
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 4:
109
+ case 3:
83
110
  // Submit values, and wait for Formik to complete.
84
- wrapper.find('Formik').simulate('submit');
85
- _context3.next = 7;
111
+ container.querySelector('form').submit();
112
+ _context3.next = 6;
86
113
  return new Promise(function (resolve) {
87
114
  setTimeout(resolve);
88
115
  });
89
- case 7:
116
+ case 6:
90
117
  case "end":
91
118
  return _context3.stop();
92
119
  }
93
120
  }, _callee3);
94
121
  })));
95
- case 7:
96
- wrapper.update();
97
-
122
+ case 6:
98
123
  // Should not display an error message.
99
- (0, _chai.expect)(wrapper.find('div.TextField__error')).to.have.lengthOf(0);
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 10:
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({
@@ -4,6 +4,7 @@ export interface UseDialogHelpersOptions<T extends HTMLElement> {
4
4
  wrapperElement: MutableRefObject<T>;
5
5
  closeFunction: () => void;
6
6
  isOpen: boolean;
7
+ disableClosers: boolean;
7
8
  }
8
9
  /**
9
10
  * Hook to allow you to implement your own Dialog component.
@@ -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
- * Close the Dialog by pressing Escape.
27
+ * Allows you to disable these two hooks.
27
28
  */
28
- (0, _useClickOutside.default)({
29
- refs: [wrapperElement],
30
- onClick: closeFunction
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
- * Close the Dialog by pressing Escape.
35
- */
36
- (0, _useEscape.default)({
37
- onPress: closeFunction
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 _InlineMenu = _interopRequireDefault(require("./components/InlineMenu"));
361
- var _Picture = _interopRequireDefault(require("./components/Image/Picture"));
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 _Share = _interopRequireDefault(require("./components/Share"));
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 _KitchenSinkComponentMapperContext = _interopRequireDefault(require("./Context/KitchenSinkComponentMapperContext"));
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 _ChipFacet = _interopRequireDefault(require("./components/SearchKit/Facets/ChipFacet"));
386
- var _SearchSelectedFilters = _interopRequireDefault(require("./components/SearchKit/SearchSelectedFilters"));
387
- var _SearchSorting = _interopRequireDefault(require("./components/SearchKit/SearchSorting"));
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 _SearchPagination = _interopRequireDefault(require("./components/SearchKit/SearchPagination"));
391
- var _SearchLoadMore = _interopRequireDefault(require("./components/SearchKit/SearchLoadMore"));
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 _AbbreviationAnnotation = _interopRequireDefault(require("./components/AbbreviationAnnotation"));
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 }; }
@@ -1,14 +1,21 @@
1
1
  "use strict";
2
2
 
3
3
  require("@testing-library/jest-dom/extend-expect");
4
- var _enzyme = require("enzyme");
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
- (0, _enzyme.configure)({
13
- adapter: new _enzymeAdapterReact.default()
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.1",
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": "jest",
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": "^4.2.4",
119
- "@testing-library/react": "^9.3.2",
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",