@dhis2-ui/modal 9.11.0 → 9.11.1-beta.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (41) hide show
  1. package/build/cjs/index.js +0 -4
  2. package/build/cjs/locales/index.js +3 -9
  3. package/build/cjs/modal/close-button.js +2 -12
  4. package/build/cjs/modal/features/accepts_children/index.js +0 -1
  5. package/build/cjs/modal/features/can_be_closed/index.js +3 -4
  6. package/build/cjs/modal/features/does_not_unmount_children_when_hiding/index.js +0 -1
  7. package/build/cjs/modal/index.js +0 -1
  8. package/build/cjs/modal/modal.e2e.stories.js +63 -0
  9. package/build/cjs/modal/modal.js +6 -24
  10. package/build/cjs/modal/{modal.stories.js → modal.prod.stories.js} +43 -71
  11. package/build/cjs/modal/modal.test.js +1 -23
  12. package/build/cjs/modal-actions/features/accepts_children/index.js +0 -1
  13. package/build/cjs/modal-actions/index.js +0 -1
  14. package/build/cjs/modal-actions/modal-actions.e2e.stories.js +14 -0
  15. package/build/cjs/modal-actions/modal-actions.js +2 -9
  16. package/build/cjs/modal-content/features/accepts_children/index.js +0 -1
  17. package/build/cjs/modal-content/index.js +0 -1
  18. package/build/cjs/modal-content/modal-content.e2e.stories.js +14 -0
  19. package/build/cjs/modal-content/modal-content.js +1 -7
  20. package/build/cjs/modal-title/features/accepts_children/index.js +0 -1
  21. package/build/cjs/modal-title/index.js +0 -1
  22. package/build/cjs/modal-title/modal-title.e2e.stories.js +14 -0
  23. package/build/cjs/modal-title/modal-title.js +2 -10
  24. package/build/es/modal/close-button.js +1 -3
  25. package/build/es/modal/features/can_be_closed/index.js +3 -3
  26. package/build/es/modal/{modal.stories.e2e.js → modal.e2e.stories.js} +10 -7
  27. package/build/es/modal/modal.js +3 -8
  28. package/build/es/modal/{modal.stories.js → modal.prod.stories.js} +44 -16
  29. package/build/es/modal-actions/modal-actions.e2e.stories.js +6 -0
  30. package/build/es/modal-actions/modal-actions.js +1 -1
  31. package/build/es/modal-content/modal-content.e2e.stories.js +6 -0
  32. package/build/es/modal-title/modal-title.e2e.stories.js +6 -0
  33. package/build/es/modal-title/modal-title.js +1 -1
  34. package/package.json +10 -10
  35. package/build/cjs/modal/modal.stories.e2e.js +0 -59
  36. package/build/cjs/modal-actions/modal-actions.stories.e2e.js +0 -11
  37. package/build/cjs/modal-content/modal-content.stories.e2e.js +0 -11
  38. package/build/cjs/modal-title/modal-title.stories.e2e.js +0 -11
  39. package/build/es/modal-actions/modal-actions.stories.e2e.js +0 -4
  40. package/build/es/modal-content/modal-content.stories.e2e.js +0 -4
  41. package/build/es/modal-title/modal-title.stories.e2e.js +0 -4
@@ -27,11 +27,7 @@ Object.defineProperty(exports, "ModalTitle", {
27
27
  return _index4.ModalTitle;
28
28
  }
29
29
  });
30
-
31
30
  var _index = require("./modal/index.js");
32
-
33
31
  var _index2 = require("./modal-actions/index.js");
34
-
35
32
  var _index3 = require("./modal-content/index.js");
36
-
37
33
  var _index4 = require("./modal-title/index.js");
@@ -4,13 +4,9 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.default = void 0;
7
-
8
7
  var _d2I18n = _interopRequireDefault(require("@dhis2/d2-i18n"));
9
-
10
8
  var _translations = _interopRequireDefault(require("./en/translations.json"));
11
-
12
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
13
-
9
+ function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
14
10
  //------------------------------------------------------------------------------
15
11
  // <auto-generated>
16
12
  // This code was generated by d2-i18n-generate.
@@ -19,9 +15,7 @@ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { de
19
15
  // the code is regenerated.
20
16
  // </auto-generated>
21
17
  //------------------------------------------------------------------------------
22
- const namespace = 'default';
23
18
 
19
+ const namespace = 'default';
24
20
  _d2I18n.default.addResources('en', namespace, _translations.default);
25
-
26
- var _default = _d2I18n.default;
27
- exports.default = _default;
21
+ var _default = exports.default = _d2I18n.default;
@@ -4,25 +4,16 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.CloseButton = void 0;
7
-
8
7
  var _style = _interopRequireDefault(require("styled-jsx/style"));
9
-
10
8
  var _uiConstants = require("@dhis2/ui-constants");
11
-
12
9
  var _uiIcons = require("@dhis2/ui-icons");
13
-
14
10
  var _propTypes = _interopRequireDefault(require("prop-types"));
15
-
16
11
  var _react = _interopRequireDefault(require("react"));
17
-
18
12
  var _index = _interopRequireDefault(require("../locales/index.js"));
19
-
20
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
21
-
13
+ function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
22
14
  const createClickHandler = onClick => event => {
23
15
  onClick({}, event);
24
16
  };
25
-
26
17
  const CloseButton = _ref => {
27
18
  let {
28
19
  onClick
@@ -36,9 +27,8 @@ const CloseButton = _ref => {
36
27
  }, /*#__PURE__*/_react.default.createElement(_uiIcons.IconCross16, null), /*#__PURE__*/_react.default.createElement(_style.default, {
37
28
  id: "80232614",
38
29
  dynamic: [_uiConstants.colors.grey700, _uiConstants.colors.grey200, _uiConstants.colors.grey900, _uiConstants.colors.grey200, _uiConstants.theme.focus, _uiConstants.colors.grey300]
39
- }, ["button.__jsx-style-dynamic-selector{background-color:transparent;color:".concat(_uiConstants.colors.grey700, ";border:none;outline:none;padding:4px 4px 0px;border-radius:3px;position:absolute;top:0px;inset-inline-end:0px;}"), "button.__jsx-style-dynamic-selector:hover{background-color:".concat(_uiConstants.colors.grey200, ";color:").concat(_uiConstants.colors.grey900, ";}"), "button.__jsx-style-dynamic-selector:focus{background-color:".concat(_uiConstants.colors.grey200, ";outline:3px solid ").concat(_uiConstants.theme.focus, ";}"), "button.__jsx-style-dynamic-selector:focus.__jsx-style-dynamic-selector:not(:focus-visible){outline:none;}", "button.__jsx-style-dynamic-selector:active{background-color:".concat(_uiConstants.colors.grey300, ";}")]));
30
+ }, [`button.__jsx-style-dynamic-selector{background-color:transparent;color:${_uiConstants.colors.grey700};border:none;outline:none;padding:4px 4px 0px;border-radius:3px;position:absolute;top:0px;inset-inline-end:0px;}`, `button.__jsx-style-dynamic-selector:hover{background-color:${_uiConstants.colors.grey200};color:${_uiConstants.colors.grey900};}`, `button.__jsx-style-dynamic-selector:focus{background-color:${_uiConstants.colors.grey200};outline:3px solid ${_uiConstants.theme.focus};}`, "button.__jsx-style-dynamic-selector:focus.__jsx-style-dynamic-selector:not(:focus-visible){outline:none;}", `button.__jsx-style-dynamic-selector:active{background-color:${_uiConstants.colors.grey300};}`]));
40
31
  };
41
-
42
32
  exports.CloseButton = CloseButton;
43
33
  CloseButton.propTypes = {
44
34
  onClick: _propTypes.default.func
@@ -1,7 +1,6 @@
1
1
  "use strict";
2
2
 
3
3
  var _cypressCucumberPreprocessor = require("@badeball/cypress-cucumber-preprocessor");
4
-
5
4
  (0, _cypressCucumberPreprocessor.Given)('a Modal with children is rendered', () => {
6
5
  cy.visitStory('Modal', 'With children');
7
6
  cy.get('[data-test="dhis2-uicore-modal"]').should('exist');
@@ -1,9 +1,8 @@
1
1
  "use strict";
2
2
 
3
3
  var _cypressCucumberPreprocessor = require("@badeball/cypress-cucumber-preprocessor");
4
-
5
4
  (0, _cypressCucumberPreprocessor.Given)('a top-aligned Modal with onClose handler is rendered', () => {
6
- cy.visitStory('Modal', 'With onClose');
5
+ cy.visitStory('Modal', 'With on close');
7
6
  });
8
7
  (0, _cypressCucumberPreprocessor.When)('the Screencover is clicked above the modal', () => {
9
8
  cy.get('[data-test="dhis2-uicore-layer"] > .backdrop').click('top');
@@ -14,13 +13,13 @@ var _cypressCucumberPreprocessor = require("@badeball/cypress-cucumber-preproces
14
13
  });
15
14
  });
16
15
  (0, _cypressCucumberPreprocessor.Given)('a bottom-aligned Modal with onClose handler is rendered', () => {
17
- cy.visitStory('Modal', 'Bottom-aligned, with onClose');
16
+ cy.visitStory('Modal', 'Bottom-aligned, with on close');
18
17
  });
19
18
  (0, _cypressCucumberPreprocessor.When)('the Screencover is clicked below the modal', () => {
20
19
  cy.get('[data-test="dhis2-uicore-layer"] > .backdrop').click('bottom');
21
20
  });
22
21
  (0, _cypressCucumberPreprocessor.Given)('a Modal with onClose handler is rendered', () => {
23
- cy.visitStory('Modal', 'With onClose');
22
+ cy.visitStory('Modal', 'With on close');
24
23
  });
25
24
  (0, _cypressCucumberPreprocessor.When)('the close button is clicked', () => {
26
25
  cy.get('[data-test="dhis2-modal-close-button"]').click();
@@ -1,7 +1,6 @@
1
1
  "use strict";
2
2
 
3
3
  var _cypressCucumberPreprocessor = require("@badeball/cypress-cucumber-preprocessor");
4
-
5
4
  (0, _cypressCucumberPreprocessor.Given)('a modal with a counter component is rendered', () => {
6
5
  cy.visitStory('Modal', 'With stateful children');
7
6
  });
@@ -9,5 +9,4 @@ Object.defineProperty(exports, "Modal", {
9
9
  return _modal.Modal;
10
10
  }
11
11
  });
12
-
13
12
  var _modal = require("./modal.js");
@@ -0,0 +1,63 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = exports.WithStatefulChildren = exports.WithOnClose = exports.WithChildren = exports.BottomAlignedWithOnClose = void 0;
7
+ var _button = require("@dhis2-ui/button");
8
+ var _react = _interopRequireWildcard(require("react"));
9
+ var _index = require("../index.js");
10
+ var _modal = require("./modal.js");
11
+ function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
12
+ function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
13
+ window.onClose = window.Cypress && window.Cypress.cy.stub();
14
+ const StatefuleComponent = () => {
15
+ const [counter, setCounter] = (0, _react.useState)(0);
16
+ return /*#__PURE__*/_react.default.createElement("div", null, /*#__PURE__*/_react.default.createElement("p", null, "Current counter:", /*#__PURE__*/_react.default.createElement("span", {
17
+ id: "counter-value"
18
+ }, counter)), /*#__PURE__*/_react.default.createElement("button", {
19
+ id: "increment-counter",
20
+ onClick: () => setCounter(counter + 1)
21
+ }, "Add 1 to counter"));
22
+ };
23
+ var _default = exports.default = {
24
+ title: 'Modal'
25
+ };
26
+ const WithOnClose = () => /*#__PURE__*/_react.default.createElement(_modal.Modal, {
27
+ small: true,
28
+ onClose: window.onClose
29
+ }, /*#__PURE__*/_react.default.createElement(_index.ModalTitle, null, "Title"), /*#__PURE__*/_react.default.createElement(_index.ModalContent, null, "Content"), /*#__PURE__*/_react.default.createElement(_index.ModalActions, null, /*#__PURE__*/_react.default.createElement(_button.ButtonStrip, {
30
+ end: true
31
+ }, /*#__PURE__*/_react.default.createElement(_button.Button, {
32
+ secondary: true
33
+ }, "Secondary action"), /*#__PURE__*/_react.default.createElement(_button.Button, {
34
+ primary: true
35
+ }, "Primary action"))));
36
+ exports.WithOnClose = WithOnClose;
37
+ const BottomAlignedWithOnClose = () => /*#__PURE__*/_react.default.createElement(_modal.Modal, {
38
+ small: true,
39
+ onClose: window.onClose,
40
+ position: "bottom"
41
+ }, /*#__PURE__*/_react.default.createElement(_index.ModalTitle, null, "Title"), /*#__PURE__*/_react.default.createElement(_index.ModalContent, null, "Content"), /*#__PURE__*/_react.default.createElement(_index.ModalActions, null, /*#__PURE__*/_react.default.createElement(_button.ButtonStrip, {
42
+ end: true
43
+ }, /*#__PURE__*/_react.default.createElement(_button.Button, {
44
+ secondary: true
45
+ }, "Secondary action"), /*#__PURE__*/_react.default.createElement(_button.Button, {
46
+ primary: true
47
+ }, "Primary action"))));
48
+ exports.BottomAlignedWithOnClose = BottomAlignedWithOnClose;
49
+ const WithChildren = () => /*#__PURE__*/_react.default.createElement(_modal.Modal, null, "I am a child");
50
+ exports.WithChildren = WithChildren;
51
+ const WithStatefulChildren = () => {
52
+ const [hide, setHide] = (0, _react.useState)(false);
53
+ return /*#__PURE__*/_react.default.createElement("div", null, /*#__PURE__*/_react.default.createElement("button", {
54
+ id: "show-modal",
55
+ onClick: () => setHide(false)
56
+ }, "Show"), /*#__PURE__*/_react.default.createElement(_modal.Modal, {
57
+ hide: hide
58
+ }, /*#__PURE__*/_react.default.createElement(_index.ModalTitle, null, "Can be hidden"), /*#__PURE__*/_react.default.createElement(_index.ModalContent, null, /*#__PURE__*/_react.default.createElement(StatefuleComponent, null)), /*#__PURE__*/_react.default.createElement(_index.ModalActions, null, /*#__PURE__*/_react.default.createElement("button", {
59
+ id: "hide-modal",
60
+ onClick: () => setHide(true)
61
+ }, "Hide modal"))));
62
+ };
63
+ exports.WithStatefulChildren = WithStatefulChildren;
@@ -4,39 +4,25 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.Modal = void 0;
7
-
8
7
  var _style = _interopRequireDefault(require("styled-jsx/style"));
9
-
8
+ var _uiConstants = require("@dhis2/ui-constants");
10
9
  var _card = require("@dhis2-ui/card");
11
-
12
10
  var _center = require("@dhis2-ui/center");
13
-
14
11
  var _layer = require("@dhis2-ui/layer");
15
-
16
- var _uiConstants = require("@dhis2/ui-constants");
17
-
18
12
  var _classnames = _interopRequireDefault(require("classnames"));
19
-
20
13
  var _propTypes = _interopRequireDefault(require("prop-types"));
21
-
22
14
  var _react = _interopRequireWildcard(require("react"));
23
-
24
15
  var _closeButton = require("./close-button.js");
25
-
26
- function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
27
-
28
- 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; }
29
-
30
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
31
-
16
+ function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
17
+ function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
18
+ function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
32
19
  const resolveLayerStyles = hide => ({
33
20
  styles: /*#__PURE__*/_react.default.createElement(_style.default, {
34
21
  id: "1884450060",
35
22
  dynamic: [_uiConstants.spacers.dp64, hide ? 'none' : 'block']
36
- }, ["div.__jsx-style-dynamic-selector{padding:".concat(_uiConstants.spacers.dp64, ";display:").concat(hide ? 'none' : 'block', ";}")]),
23
+ }, [`div.__jsx-style-dynamic-selector{padding:${_uiConstants.spacers.dp64};display:${hide ? 'none' : 'block'};}`]),
37
24
  className: _style.default.dynamic([["1884450060", [_uiConstants.spacers.dp64, hide ? 'none' : 'block']]])
38
25
  });
39
-
40
26
  const Modal = _ref => {
41
27
  let {
42
28
  children,
@@ -54,7 +40,6 @@ const Modal = _ref => {
54
40
  if (hide) {
55
41
  return;
56
42
  }
57
-
58
43
  const handleKeyDown = event => {
59
44
  if (event.key === 'Escape' && onClose) {
60
45
  event.preventDefault();
@@ -62,7 +47,6 @@ const Modal = _ref => {
62
47
  onClose();
63
48
  }
64
49
  };
65
-
66
50
  document.addEventListener('keydown', handleKeyDown);
67
51
  return () => {
68
52
  document.removeEventListener('keydown', handleKeyDown);
@@ -90,9 +74,8 @@ const Modal = _ref => {
90
74
  }, children))), layerStyles.styles), /*#__PURE__*/_react.default.createElement(_style.default, {
91
75
  id: "3655640549",
92
76
  dynamic: [2 * _uiConstants.spacersNum.dp64, 2 * _uiConstants.spacersNum.dp64, 2 * _uiConstants.spacersNum.dp64, 2 * _uiConstants.spacersNum.dp64]
93
- }, ["aside.__jsx-style-dynamic-selector{height:auto;width:600px;max-width:calc(100vw - ".concat(2 * _uiConstants.spacersNum.dp64, "px);max-height:calc(100vh - ").concat(2 * _uiConstants.spacersNum.dp64, "px);}"), "aside.small.__jsx-style-dynamic-selector{width:400px;}", "aside.large.__jsx-style-dynamic-selector{width:800px;}", "aside.fluid.__jsx-style-dynamic-selector{width:auto;}", "div.__jsx-style-dynamic-selector{padding:24px;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-flow:column;-ms-flex-flow:column;flex-flow:column;max-width:calc(100vw - ".concat(2 * _uiConstants.spacersNum.dp64, "px);max-height:calc(100vh - ").concat(2 * _uiConstants.spacersNum.dp64, "px);}")]));
77
+ }, [`aside.__jsx-style-dynamic-selector{height:auto;width:600px;max-width:calc(100vw - ${2 * _uiConstants.spacersNum.dp64}px);max-height:calc(100vh - ${2 * _uiConstants.spacersNum.dp64}px);}`, "aside.small.__jsx-style-dynamic-selector{width:400px;}", "aside.large.__jsx-style-dynamic-selector{width:800px;}", "aside.fluid.__jsx-style-dynamic-selector{width:auto;}", `div.__jsx-style-dynamic-selector{padding:24px;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-flow:column;-ms-flex-flow:column;flex-flow:column;max-width:calc(100vw - ${2 * _uiConstants.spacersNum.dp64}px);max-height:calc(100vh - ${2 * _uiConstants.spacersNum.dp64}px);}`]));
94
78
  };
95
-
96
79
  exports.Modal = Modal;
97
80
  Modal.defaultProps = {
98
81
  dataTest: 'dhis2-uicore-modal',
@@ -107,7 +90,6 @@ Modal.propTypes = {
107
90
  large: _uiConstants.sharedPropTypes.sizePropType,
108
91
  position: _uiConstants.sharedPropTypes.insideAlignmentPropType,
109
92
  small: _uiConstants.sharedPropTypes.sizePropType,
110
-
111
93
  /** Callback used when the Modal closes */
112
94
  onClose: _propTypes.default.func
113
95
  };