@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.
- package/build/cjs/index.js +0 -4
- package/build/cjs/locales/index.js +3 -9
- package/build/cjs/modal/close-button.js +2 -12
- package/build/cjs/modal/features/accepts_children/index.js +0 -1
- package/build/cjs/modal/features/can_be_closed/index.js +3 -4
- package/build/cjs/modal/features/does_not_unmount_children_when_hiding/index.js +0 -1
- package/build/cjs/modal/index.js +0 -1
- package/build/cjs/modal/modal.e2e.stories.js +63 -0
- package/build/cjs/modal/modal.js +6 -24
- package/build/cjs/modal/{modal.stories.js → modal.prod.stories.js} +43 -71
- package/build/cjs/modal/modal.test.js +1 -23
- package/build/cjs/modal-actions/features/accepts_children/index.js +0 -1
- package/build/cjs/modal-actions/index.js +0 -1
- package/build/cjs/modal-actions/modal-actions.e2e.stories.js +14 -0
- package/build/cjs/modal-actions/modal-actions.js +2 -9
- package/build/cjs/modal-content/features/accepts_children/index.js +0 -1
- package/build/cjs/modal-content/index.js +0 -1
- package/build/cjs/modal-content/modal-content.e2e.stories.js +14 -0
- package/build/cjs/modal-content/modal-content.js +1 -7
- package/build/cjs/modal-title/features/accepts_children/index.js +0 -1
- package/build/cjs/modal-title/index.js +0 -1
- package/build/cjs/modal-title/modal-title.e2e.stories.js +14 -0
- package/build/cjs/modal-title/modal-title.js +2 -10
- package/build/es/modal/close-button.js +1 -3
- package/build/es/modal/features/can_be_closed/index.js +3 -3
- package/build/es/modal/{modal.stories.e2e.js → modal.e2e.stories.js} +10 -7
- package/build/es/modal/modal.js +3 -8
- package/build/es/modal/{modal.stories.js → modal.prod.stories.js} +44 -16
- package/build/es/modal-actions/modal-actions.e2e.stories.js +6 -0
- package/build/es/modal-actions/modal-actions.js +1 -1
- package/build/es/modal-content/modal-content.e2e.stories.js +6 -0
- package/build/es/modal-title/modal-title.e2e.stories.js +6 -0
- package/build/es/modal-title/modal-title.js +1 -1
- package/package.json +10 -10
- package/build/cjs/modal/modal.stories.e2e.js +0 -59
- package/build/cjs/modal-actions/modal-actions.stories.e2e.js +0 -11
- package/build/cjs/modal-content/modal-content.stories.e2e.js +0 -11
- package/build/cjs/modal-title/modal-title.stories.e2e.js +0 -11
- package/build/es/modal-actions/modal-actions.stories.e2e.js +0 -4
- package/build/es/modal-content/modal-content.stories.e2e.js +0 -4
- package/build/es/modal-title/modal-title.stories.e2e.js +0 -4
package/build/cjs/index.js
CHANGED
|
@@ -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
|
-
}, [
|
|
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
|
|
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
|
|
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
|
|
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();
|
package/build/cjs/modal/index.js
CHANGED
|
@@ -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;
|
package/build/cjs/modal/modal.js
CHANGED
|
@@ -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
|
|
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
|
-
}, [
|
|
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
|
-
}, [
|
|
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
|
};
|