@dhis2/analytics 25.2.0 → 25.2.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/CHANGELOG.md +4065 -0
- package/build/cjs/__demo__/FileMenu.stories.js +6 -8
- package/build/cjs/components/FileMenu/FileMenu.js +59 -21
- package/build/cjs/components/FileMenu/__tests__/FileMenu.spec.js +194 -318
- package/build/cjs/components/Options/VisualizationOptions.js +1 -3
- package/build/cjs/index.js +46 -304
- package/build/cjs/locales/en/translations.json +0 -1
- package/build/cjs/locales/nl/translations.json +5 -4
- package/build/es/__demo__/FileMenu.stories.js +6 -7
- package/build/es/components/FileMenu/FileMenu.js +57 -20
- package/build/es/components/FileMenu/__tests__/FileMenu.spec.js +189 -293
- package/build/es/components/Options/VisualizationOptions.js +1 -3
- package/build/es/index.js +0 -1
- package/build/es/locales/en/translations.json +0 -1
- package/build/es/locales/nl/translations.json +5 -4
- package/package.json +1 -3
- package/build/cjs/__demo__/Toolbar.stories.js +0 -77
- package/build/cjs/components/Toolbar/HoverMenuBar/HoverMenuBar.js +0 -107
- package/build/cjs/components/Toolbar/HoverMenuBar/HoverMenuDropdown.js +0 -66
- package/build/cjs/components/Toolbar/HoverMenuBar/HoverMenuList.js +0 -94
- package/build/cjs/components/Toolbar/HoverMenuBar/HoverMenuListItem.js +0 -99
- package/build/cjs/components/Toolbar/HoverMenuBar/HoverMenuListItem.styles.js +0 -13
- package/build/cjs/components/Toolbar/HoverMenuBar/__tests__/HoverMenuBar.spec.js +0 -219
- package/build/cjs/components/Toolbar/HoverMenuBar/__tests__/HoverMenuDropdown.spec.js +0 -23
- package/build/cjs/components/Toolbar/HoverMenuBar/__tests__/HoverMenuList.spec.js +0 -56
- package/build/cjs/components/Toolbar/HoverMenuBar/__tests__/HoverMenuListItem.spec.js +0 -50
- package/build/cjs/components/Toolbar/HoverMenuBar/index.js +0 -37
- package/build/cjs/components/Toolbar/InterpretationsAndDetailsToggler.js +0 -50
- package/build/cjs/components/Toolbar/MenuButton.styles.js +0 -13
- package/build/cjs/components/Toolbar/Toolbar.js +0 -39
- package/build/cjs/components/Toolbar/ToolbarSidebar.js +0 -45
- package/build/cjs/components/Toolbar/UpdateButton.js +0 -57
- package/build/cjs/components/Toolbar/__tests__/InterpretationsAndDetailsToggler.spec.js +0 -50
- package/build/cjs/components/Toolbar/__tests__/Toolbar.spec.js +0 -24
- package/build/cjs/components/Toolbar/__tests__/ToolbarSidebar.spec.js +0 -30
- package/build/cjs/components/Toolbar/__tests__/UpdateButton.spec.js +0 -44
- package/build/cjs/components/Toolbar/index.js +0 -57
- package/build/es/__demo__/Toolbar.stories.js +0 -69
- package/build/es/components/Toolbar/HoverMenuBar/HoverMenuBar.js +0 -90
- package/build/es/components/Toolbar/HoverMenuBar/HoverMenuDropdown.js +0 -44
- package/build/es/components/Toolbar/HoverMenuBar/HoverMenuList.js +0 -75
- package/build/es/components/Toolbar/HoverMenuBar/HoverMenuListItem.js +0 -78
- package/build/es/components/Toolbar/HoverMenuBar/HoverMenuListItem.styles.js +0 -4
- package/build/es/components/Toolbar/HoverMenuBar/__tests__/HoverMenuBar.spec.js +0 -168
- package/build/es/components/Toolbar/HoverMenuBar/__tests__/HoverMenuDropdown.spec.js +0 -16
- package/build/es/components/Toolbar/HoverMenuBar/__tests__/HoverMenuList.spec.js +0 -49
- package/build/es/components/Toolbar/HoverMenuBar/__tests__/HoverMenuListItem.spec.js +0 -41
- package/build/es/components/Toolbar/HoverMenuBar/index.js +0 -4
- package/build/es/components/Toolbar/InterpretationsAndDetailsToggler.js +0 -33
- package/build/es/components/Toolbar/MenuButton.styles.js +0 -4
- package/build/es/components/Toolbar/Toolbar.js +0 -24
- package/build/es/components/Toolbar/ToolbarSidebar.js +0 -29
- package/build/es/components/Toolbar/UpdateButton.js +0 -38
- package/build/es/components/Toolbar/__tests__/InterpretationsAndDetailsToggler.spec.js +0 -43
- package/build/es/components/Toolbar/__tests__/Toolbar.spec.js +0 -17
- package/build/es/components/Toolbar/__tests__/ToolbarSidebar.spec.js +0 -23
- package/build/es/components/Toolbar/__tests__/UpdateButton.spec.js +0 -37
- package/build/es/components/Toolbar/index.js +0 -5
|
@@ -1,77 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
var _react = require("@storybook/react");
|
|
4
|
-
|
|
5
|
-
var _react2 = _interopRequireWildcard(require("react"));
|
|
6
|
-
|
|
7
|
-
var _index = require("../components/Toolbar/index.js");
|
|
8
|
-
|
|
9
|
-
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); }
|
|
10
|
-
|
|
11
|
-
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; }
|
|
12
|
-
|
|
13
|
-
function ToolbarWithState() {
|
|
14
|
-
const [isHidden, setIsHidden] = (0, _react2.useState)(false);
|
|
15
|
-
const [isSidebarShowing, setIsSidebarShowing] = (0, _react2.useState)(false);
|
|
16
|
-
return /*#__PURE__*/_react2.default.createElement(_index.Toolbar, null, /*#__PURE__*/_react2.default.createElement(_index.ToolbarSidebar, {
|
|
17
|
-
isHidden: isHidden
|
|
18
|
-
}, /*#__PURE__*/_react2.default.createElement("span", null, "Toolbar side bar"), /*#__PURE__*/_react2.default.createElement("a", {
|
|
19
|
-
style: {
|
|
20
|
-
paddingLeft: 12,
|
|
21
|
-
textDecoration: 'underline',
|
|
22
|
-
cursor: 'pointer'
|
|
23
|
-
},
|
|
24
|
-
onClick: () => setIsHidden(true)
|
|
25
|
-
}, "click to hide")), /*#__PURE__*/_react2.default.createElement(_index.UpdateButton, null), /*#__PURE__*/_react2.default.createElement(_index.HoverMenuBar, null, /*#__PURE__*/_react2.default.createElement(_index.HoverMenuDropdown, {
|
|
26
|
-
label: "Menu A"
|
|
27
|
-
}, /*#__PURE__*/_react2.default.createElement(_index.HoverMenuList, null, /*#__PURE__*/_react2.default.createElement(_index.HoverMenuListItem, {
|
|
28
|
-
label: "Menu item A.1"
|
|
29
|
-
}), /*#__PURE__*/_react2.default.createElement(_index.HoverMenuListItem, {
|
|
30
|
-
label: "Menu item A.2"
|
|
31
|
-
}), /*#__PURE__*/_react2.default.createElement(_index.HoverMenuListItem, {
|
|
32
|
-
label: "Menu item A.3"
|
|
33
|
-
}))), /*#__PURE__*/_react2.default.createElement(_index.HoverMenuDropdown, {
|
|
34
|
-
label: "Menu B"
|
|
35
|
-
}, /*#__PURE__*/_react2.default.createElement(_index.HoverMenuList, null, /*#__PURE__*/_react2.default.createElement(_index.HoverMenuListItem, {
|
|
36
|
-
label: "Menu item B.1"
|
|
37
|
-
}, /*#__PURE__*/_react2.default.createElement(_index.HoverMenuListItem, {
|
|
38
|
-
label: "Menu item B.1.1"
|
|
39
|
-
}), /*#__PURE__*/_react2.default.createElement(_index.HoverMenuListItem, {
|
|
40
|
-
label: "Menu item B.1.2"
|
|
41
|
-
}), /*#__PURE__*/_react2.default.createElement(_index.HoverMenuListItem, {
|
|
42
|
-
label: "Menu item B.1.3"
|
|
43
|
-
})), /*#__PURE__*/_react2.default.createElement(_index.HoverMenuListItem, {
|
|
44
|
-
label: "Menu item B.2"
|
|
45
|
-
}, /*#__PURE__*/_react2.default.createElement(_index.HoverMenuListItem, {
|
|
46
|
-
label: "Menu item B.2.1"
|
|
47
|
-
}), /*#__PURE__*/_react2.default.createElement(_index.HoverMenuListItem, {
|
|
48
|
-
label: "Menu item B.2.2"
|
|
49
|
-
}), /*#__PURE__*/_react2.default.createElement(_index.HoverMenuListItem, {
|
|
50
|
-
label: "Menu item B.2.3"
|
|
51
|
-
})), /*#__PURE__*/_react2.default.createElement(_index.HoverMenuListItem, {
|
|
52
|
-
label: "Menu item B.3",
|
|
53
|
-
disabled: true
|
|
54
|
-
}, /*#__PURE__*/_react2.default.createElement(_index.HoverMenuListItem, {
|
|
55
|
-
label: "Menu item B.3.1"
|
|
56
|
-
}), /*#__PURE__*/_react2.default.createElement(_index.HoverMenuListItem, {
|
|
57
|
-
label: "Menu item B.3.2"
|
|
58
|
-
}), /*#__PURE__*/_react2.default.createElement(_index.HoverMenuListItem, {
|
|
59
|
-
label: "Menu item B.3.3"
|
|
60
|
-
})))), /*#__PURE__*/_react2.default.createElement(_index.HoverMenuDropdown, {
|
|
61
|
-
label: "Menu C",
|
|
62
|
-
disabled: true
|
|
63
|
-
}, /*#__PURE__*/_react2.default.createElement(_index.HoverMenuList, null, /*#__PURE__*/_react2.default.createElement(_index.HoverMenuListItem, {
|
|
64
|
-
label: "Menu item C.1"
|
|
65
|
-
}), /*#__PURE__*/_react2.default.createElement(_index.HoverMenuListItem, {
|
|
66
|
-
label: "Menu item C.2"
|
|
67
|
-
}), /*#__PURE__*/_react2.default.createElement(_index.HoverMenuListItem, {
|
|
68
|
-
label: "Menu item C.3"
|
|
69
|
-
})))), /*#__PURE__*/_react2.default.createElement(_index.InterpretationsAndDetailsToggler, {
|
|
70
|
-
isShowing: isSidebarShowing,
|
|
71
|
-
onClick: () => setIsSidebarShowing(current => !current)
|
|
72
|
-
}));
|
|
73
|
-
}
|
|
74
|
-
|
|
75
|
-
(0, _react.storiesOf)('Toolbar', module).add('default', () => {
|
|
76
|
-
return /*#__PURE__*/_react2.default.createElement(ToolbarWithState, null);
|
|
77
|
-
});
|
|
@@ -1,107 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, "__esModule", {
|
|
4
|
-
value: true
|
|
5
|
-
});
|
|
6
|
-
exports.useHoverMenubarContext = exports.HoverMenuBar = void 0;
|
|
7
|
-
|
|
8
|
-
var _style = _interopRequireDefault(require("styled-jsx/style"));
|
|
9
|
-
|
|
10
|
-
var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
11
|
-
|
|
12
|
-
var _react = _interopRequireWildcard(require("react"));
|
|
13
|
-
|
|
14
|
-
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); }
|
|
15
|
-
|
|
16
|
-
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; }
|
|
17
|
-
|
|
18
|
-
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
19
|
-
|
|
20
|
-
const throwErrorIfNotInitialized = () => {
|
|
21
|
-
throw new Error('`HoverMenubarContext` has not been initialised');
|
|
22
|
-
};
|
|
23
|
-
|
|
24
|
-
const HoverMenubarContext = /*#__PURE__*/(0, _react.createContext)({
|
|
25
|
-
closeMenu: throwErrorIfNotInitialized,
|
|
26
|
-
onDropDownButtonClick: throwErrorIfNotInitialized,
|
|
27
|
-
onDropDownButtonMouseOver: throwErrorIfNotInitialized,
|
|
28
|
-
setLastHoveredSubMenuEl: throwErrorIfNotInitialized,
|
|
29
|
-
openedDropdownEl: null
|
|
30
|
-
});
|
|
31
|
-
|
|
32
|
-
const useHoverMenubarContext = () => (0, _react.useContext)(HoverMenubarContext);
|
|
33
|
-
|
|
34
|
-
exports.useHoverMenubarContext = useHoverMenubarContext;
|
|
35
|
-
|
|
36
|
-
const HoverMenuBar = _ref => {
|
|
37
|
-
let {
|
|
38
|
-
children,
|
|
39
|
-
dataTest
|
|
40
|
-
} = _ref;
|
|
41
|
-
const [openedDropdownEl, setOpenedDropdownEl] = (0, _react.useState)(null);
|
|
42
|
-
const [lastHoveredSubMenuEl, setLastHoveredSubMenuEl] = (0, _react.useState)(null);
|
|
43
|
-
const [isInHoverMode, setIsInHoverMode] = (0, _react.useState)(false);
|
|
44
|
-
const closeMenu = (0, _react.useCallback)(() => {
|
|
45
|
-
setIsInHoverMode(false);
|
|
46
|
-
setOpenedDropdownEl(null);
|
|
47
|
-
}, []);
|
|
48
|
-
const onDocumentClick = (0, _react.useCallback)(event => {
|
|
49
|
-
const isClickOnOpenedSubMenuAnchor = lastHoveredSubMenuEl && (lastHoveredSubMenuEl === event.target || lastHoveredSubMenuEl.contains(event.target));
|
|
50
|
-
|
|
51
|
-
if (!isClickOnOpenedSubMenuAnchor) {
|
|
52
|
-
closeMenu();
|
|
53
|
-
}
|
|
54
|
-
}, [closeMenu, lastHoveredSubMenuEl]);
|
|
55
|
-
const onDropDownButtonClick = (0, _react.useCallback)(event => {
|
|
56
|
-
if (!isInHoverMode) {
|
|
57
|
-
setIsInHoverMode(true);
|
|
58
|
-
setOpenedDropdownEl(event.currentTarget);
|
|
59
|
-
} else {
|
|
60
|
-
closeMenu();
|
|
61
|
-
}
|
|
62
|
-
}, [closeMenu, isInHoverMode]);
|
|
63
|
-
const onDropDownButtonMouseOver = (0, _react.useCallback)(event => {
|
|
64
|
-
if (isInHoverMode) {
|
|
65
|
-
setOpenedDropdownEl(event.currentTarget);
|
|
66
|
-
}
|
|
67
|
-
}, [isInHoverMode]);
|
|
68
|
-
const closeMenuWithEsc = (0, _react.useCallback)(event => {
|
|
69
|
-
if (event.keyCode === 27) {
|
|
70
|
-
closeMenu();
|
|
71
|
-
}
|
|
72
|
-
}, [closeMenu]);
|
|
73
|
-
(0, _react.useEffect)(() => {
|
|
74
|
-
if (isInHoverMode) {
|
|
75
|
-
document.addEventListener('click', onDocumentClick, {
|
|
76
|
-
once: true
|
|
77
|
-
});
|
|
78
|
-
}
|
|
79
|
-
|
|
80
|
-
return () => {
|
|
81
|
-
document.removeEventListener('click', onDocumentClick);
|
|
82
|
-
};
|
|
83
|
-
}, [onDocumentClick, isInHoverMode]);
|
|
84
|
-
return /*#__PURE__*/_react.default.createElement(HoverMenubarContext.Provider, {
|
|
85
|
-
value: {
|
|
86
|
-
onDropDownButtonClick,
|
|
87
|
-
onDropDownButtonMouseOver,
|
|
88
|
-
openedDropdownEl,
|
|
89
|
-
setLastHoveredSubMenuEl
|
|
90
|
-
}
|
|
91
|
-
}, /*#__PURE__*/_react.default.createElement("div", {
|
|
92
|
-
onKeyDown: closeMenuWithEsc,
|
|
93
|
-
"data-test": dataTest,
|
|
94
|
-
className: "jsx-3020154784"
|
|
95
|
-
}, children, /*#__PURE__*/_react.default.createElement(_style.default, {
|
|
96
|
-
id: "3020154784"
|
|
97
|
-
}, [".jsx-3020154784{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-flex:1;-webkit-flex-grow:1;-ms-flex-positive:1;flex-grow:1;}"])));
|
|
98
|
-
};
|
|
99
|
-
|
|
100
|
-
exports.HoverMenuBar = HoverMenuBar;
|
|
101
|
-
HoverMenuBar.defaultProps = {
|
|
102
|
-
dataTest: 'dhis2-analytics-hovermenubar'
|
|
103
|
-
};
|
|
104
|
-
HoverMenuBar.propTypes = {
|
|
105
|
-
children: _propTypes.default.node.isRequired,
|
|
106
|
-
dataTest: _propTypes.default.string
|
|
107
|
-
};
|
|
@@ -1,66 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, "__esModule", {
|
|
4
|
-
value: true
|
|
5
|
-
});
|
|
6
|
-
exports.HoverMenuDropdown = void 0;
|
|
7
|
-
|
|
8
|
-
var _style = _interopRequireDefault(require("styled-jsx/style"));
|
|
9
|
-
|
|
10
|
-
var _popper = require("@dhis2-ui/popper");
|
|
11
|
-
|
|
12
|
-
var _portal = require("@dhis2-ui/portal");
|
|
13
|
-
|
|
14
|
-
var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
15
|
-
|
|
16
|
-
var _react = _interopRequireWildcard(require("react"));
|
|
17
|
-
|
|
18
|
-
var _MenuButtonStyles = _interopRequireDefault(require("../MenuButton.styles.js"));
|
|
19
|
-
|
|
20
|
-
var _HoverMenuBar = require("./HoverMenuBar.js");
|
|
21
|
-
|
|
22
|
-
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); }
|
|
23
|
-
|
|
24
|
-
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; }
|
|
25
|
-
|
|
26
|
-
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
27
|
-
|
|
28
|
-
const HoverMenuDropdown = _ref => {
|
|
29
|
-
let {
|
|
30
|
-
children,
|
|
31
|
-
label,
|
|
32
|
-
dataTest,
|
|
33
|
-
disabled
|
|
34
|
-
} = _ref;
|
|
35
|
-
const buttonRef = (0, _react.useRef)();
|
|
36
|
-
const {
|
|
37
|
-
onDropDownButtonClick,
|
|
38
|
-
onDropDownButtonMouseOver,
|
|
39
|
-
openedDropdownEl
|
|
40
|
-
} = (0, _HoverMenuBar.useHoverMenubarContext)();
|
|
41
|
-
const isOpen = openedDropdownEl === buttonRef.current;
|
|
42
|
-
return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement("button", {
|
|
43
|
-
ref: buttonRef,
|
|
44
|
-
onClick: onDropDownButtonClick,
|
|
45
|
-
disabled: disabled,
|
|
46
|
-
onMouseOver: disabled ? undefined : onDropDownButtonMouseOver,
|
|
47
|
-
"data-test": dataTest,
|
|
48
|
-
className: "jsx-".concat(_MenuButtonStyles.default.__hash)
|
|
49
|
-
}, label, /*#__PURE__*/_react.default.createElement(_style.default, {
|
|
50
|
-
id: _MenuButtonStyles.default.__hash
|
|
51
|
-
}, _MenuButtonStyles.default)), isOpen && /*#__PURE__*/_react.default.createElement(_portal.Portal, null, /*#__PURE__*/_react.default.createElement(_popper.Popper, {
|
|
52
|
-
placement: "bottom-start",
|
|
53
|
-
reference: buttonRef
|
|
54
|
-
}, children)));
|
|
55
|
-
};
|
|
56
|
-
|
|
57
|
-
exports.HoverMenuDropdown = HoverMenuDropdown;
|
|
58
|
-
HoverMenuDropdown.defaultProps = {
|
|
59
|
-
dataTest: 'dhis2-analytics-hovermenudropdown'
|
|
60
|
-
};
|
|
61
|
-
HoverMenuDropdown.propTypes = {
|
|
62
|
-
children: _propTypes.default.node.isRequired,
|
|
63
|
-
label: _propTypes.default.node.isRequired,
|
|
64
|
-
dataTest: _propTypes.default.string,
|
|
65
|
-
disabled: _propTypes.default.bool
|
|
66
|
-
};
|
|
@@ -1,94 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, "__esModule", {
|
|
4
|
-
value: true
|
|
5
|
-
});
|
|
6
|
-
exports.useHoverMenuListContext = exports.HoverMenuList = void 0;
|
|
7
|
-
|
|
8
|
-
var _style = _interopRequireDefault(require("styled-jsx/style"));
|
|
9
|
-
|
|
10
|
-
var _uiConstants = require("@dhis2/ui-constants");
|
|
11
|
-
|
|
12
|
-
var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
13
|
-
|
|
14
|
-
var _react = _interopRequireWildcard(require("react"));
|
|
15
|
-
|
|
16
|
-
var _HoverMenuBar = require("./HoverMenuBar.js");
|
|
17
|
-
|
|
18
|
-
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); }
|
|
19
|
-
|
|
20
|
-
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; }
|
|
21
|
-
|
|
22
|
-
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
23
|
-
|
|
24
|
-
const throwErrorIfNotInitialized = () => {
|
|
25
|
-
throw new Error('`HoverMenuListContext` has not been initialised');
|
|
26
|
-
};
|
|
27
|
-
|
|
28
|
-
const HoverMenuListContext = /*#__PURE__*/(0, _react.createContext)({
|
|
29
|
-
onSubmenuAnchorMouseEnter: throwErrorIfNotInitialized,
|
|
30
|
-
onMenuItemMouseEnter: throwErrorIfNotInitialized,
|
|
31
|
-
openedSubMenuEl: null,
|
|
32
|
-
dense: false
|
|
33
|
-
});
|
|
34
|
-
|
|
35
|
-
const useHoverMenuListContext = () => (0, _react.useContext)(HoverMenuListContext);
|
|
36
|
-
|
|
37
|
-
exports.useHoverMenuListContext = useHoverMenuListContext;
|
|
38
|
-
|
|
39
|
-
const HoverMenuList = _ref => {
|
|
40
|
-
let {
|
|
41
|
-
children,
|
|
42
|
-
className,
|
|
43
|
-
dataTest,
|
|
44
|
-
dense,
|
|
45
|
-
maxHeight,
|
|
46
|
-
maxWidth
|
|
47
|
-
} = _ref;
|
|
48
|
-
const {
|
|
49
|
-
setLastHoveredSubMenuEl
|
|
50
|
-
} = (0, _HoverMenuBar.useHoverMenubarContext)();
|
|
51
|
-
const [openedSubMenuEl, setOpenedSubMenuEl] = (0, _react.useState)(null);
|
|
52
|
-
const onSubmenuAnchorMouseEnter = (0, _react.useCallback)(event => {
|
|
53
|
-
if (openedSubMenuEl !== event.currentTarget) {
|
|
54
|
-
setOpenedSubMenuEl(event.currentTarget);
|
|
55
|
-
setLastHoveredSubMenuEl(event.currentTarget);
|
|
56
|
-
}
|
|
57
|
-
}, [openedSubMenuEl, setLastHoveredSubMenuEl]);
|
|
58
|
-
const onMenuItemMouseEnter = (0, _react.useCallback)(() => {
|
|
59
|
-
setOpenedSubMenuEl(null);
|
|
60
|
-
setLastHoveredSubMenuEl(null);
|
|
61
|
-
}, [setLastHoveredSubMenuEl]);
|
|
62
|
-
return /*#__PURE__*/_react.default.createElement(HoverMenuListContext.Provider, {
|
|
63
|
-
value: {
|
|
64
|
-
onSubmenuAnchorMouseEnter,
|
|
65
|
-
onMenuItemMouseEnter,
|
|
66
|
-
openedSubMenuEl,
|
|
67
|
-
dense
|
|
68
|
-
}
|
|
69
|
-
}, /*#__PURE__*/_react.default.createElement("ul", {
|
|
70
|
-
"data-test": dataTest,
|
|
71
|
-
className: _style.default.dynamic([["3026610659", [_uiConstants.colors.white, _uiConstants.colors.grey200, _uiConstants.elevations.e300, dense ? '128' : '180', maxWidth, maxHeight, _uiConstants.spacers.dp4]]]) + " " + (className || "")
|
|
72
|
-
}, children, /*#__PURE__*/_react.default.createElement(_style.default, {
|
|
73
|
-
id: "3026610659",
|
|
74
|
-
dynamic: [_uiConstants.colors.white, _uiConstants.colors.grey200, _uiConstants.elevations.e300, dense ? '128' : '180', maxWidth, maxHeight, _uiConstants.spacers.dp4]
|
|
75
|
-
}, ["ul.__jsx-style-dynamic-selector{position:relative;margin:0;padding:0;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;background:".concat(_uiConstants.colors.white, ";border:1px solid ").concat(_uiConstants.colors.grey200, ";border-radius:3px;box-shadow:").concat(_uiConstants.elevations.e300, ";display:inline-block;min-width:").concat(dense ? '128' : '180', "px;max-width:").concat(maxWidth, ";max-height:").concat(maxHeight, ";padding:").concat(_uiConstants.spacers.dp4, " 0;overflow:auto;list-style:none;}")])));
|
|
76
|
-
};
|
|
77
|
-
|
|
78
|
-
exports.HoverMenuList = HoverMenuList;
|
|
79
|
-
HoverMenuList.defaultProps = {
|
|
80
|
-
dataTest: 'dhis2-analytics-hovermenulist',
|
|
81
|
-
maxWidth: '380px',
|
|
82
|
-
maxHeight: 'auto'
|
|
83
|
-
};
|
|
84
|
-
HoverMenuList.propTypes = {
|
|
85
|
-
/** Typically `MenuItem`, `MenuDivider`, and `MenuSectionHeader` */
|
|
86
|
-
children: _propTypes.default.node,
|
|
87
|
-
className: _propTypes.default.string,
|
|
88
|
-
dataTest: _propTypes.default.string,
|
|
89
|
-
|
|
90
|
-
/** Gives all HoverMenuListItem children a dense style */
|
|
91
|
-
dense: _propTypes.default.bool,
|
|
92
|
-
maxHeight: _propTypes.default.string,
|
|
93
|
-
maxWidth: _propTypes.default.string
|
|
94
|
-
};
|
|
@@ -1,99 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, "__esModule", {
|
|
4
|
-
value: true
|
|
5
|
-
});
|
|
6
|
-
exports.HoverMenuListItem = void 0;
|
|
7
|
-
|
|
8
|
-
var _style = _interopRequireDefault(require("styled-jsx/style"));
|
|
9
|
-
|
|
10
|
-
var _popper = require("@dhis2-ui/popper");
|
|
11
|
-
|
|
12
|
-
var _portal = require("@dhis2-ui/portal");
|
|
13
|
-
|
|
14
|
-
var _uiIcons = require("@dhis2/ui-icons");
|
|
15
|
-
|
|
16
|
-
var _classnames = _interopRequireDefault(require("classnames"));
|
|
17
|
-
|
|
18
|
-
var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
19
|
-
|
|
20
|
-
var _react = _interopRequireWildcard(require("react"));
|
|
21
|
-
|
|
22
|
-
var _HoverMenuList = require("./HoverMenuList.js");
|
|
23
|
-
|
|
24
|
-
var _HoverMenuListItemStyles = _interopRequireDefault(require("./HoverMenuListItem.styles.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
|
-
|
|
32
|
-
const HoverMenuListItem = _ref => {
|
|
33
|
-
let {
|
|
34
|
-
onClick,
|
|
35
|
-
children,
|
|
36
|
-
icon,
|
|
37
|
-
className,
|
|
38
|
-
destructive,
|
|
39
|
-
disabled,
|
|
40
|
-
dataTest,
|
|
41
|
-
label
|
|
42
|
-
} = _ref;
|
|
43
|
-
const ref = (0, _react.useRef)();
|
|
44
|
-
const {
|
|
45
|
-
onSubmenuAnchorMouseEnter,
|
|
46
|
-
onMenuItemMouseEnter,
|
|
47
|
-
openedSubMenuEl,
|
|
48
|
-
dense
|
|
49
|
-
} = (0, _HoverMenuList.useHoverMenuListContext)();
|
|
50
|
-
const isSubMenuOpen = openedSubMenuEl === ref.current;
|
|
51
|
-
return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement("li", {
|
|
52
|
-
ref: ref,
|
|
53
|
-
"data-test": dataTest,
|
|
54
|
-
onClick: !disabled && !children && onClick ? onClick : undefined,
|
|
55
|
-
onMouseEnter: disabled ? undefined : children ? onSubmenuAnchorMouseEnter : onMenuItemMouseEnter,
|
|
56
|
-
className: "jsx-".concat(_HoverMenuListItemStyles.default.__hash) + " " + ((0, _classnames.default)(className, {
|
|
57
|
-
destructive,
|
|
58
|
-
disabled,
|
|
59
|
-
dense,
|
|
60
|
-
active: isSubMenuOpen,
|
|
61
|
-
'with-chevron': children
|
|
62
|
-
}) || "")
|
|
63
|
-
}, icon && /*#__PURE__*/_react.default.createElement("span", {
|
|
64
|
-
className: "jsx-".concat(_HoverMenuListItemStyles.default.__hash) + " " + "icon"
|
|
65
|
-
}, icon), /*#__PURE__*/_react.default.createElement("span", {
|
|
66
|
-
className: "jsx-".concat(_HoverMenuListItemStyles.default.__hash) + " " + "label"
|
|
67
|
-
}, label), !!children && /*#__PURE__*/_react.default.createElement("span", {
|
|
68
|
-
className: "jsx-".concat(_HoverMenuListItemStyles.default.__hash) + " " + "chevron"
|
|
69
|
-
}, /*#__PURE__*/_react.default.createElement(_uiIcons.IconChevronRight24, null)), /*#__PURE__*/_react.default.createElement(_style.default, {
|
|
70
|
-
id: _HoverMenuListItemStyles.default.__hash
|
|
71
|
-
}, _HoverMenuListItemStyles.default)), children && isSubMenuOpen && /*#__PURE__*/_react.default.createElement(_portal.Portal, null, /*#__PURE__*/_react.default.createElement(_popper.Popper, {
|
|
72
|
-
placement: "right-start",
|
|
73
|
-
reference: ref
|
|
74
|
-
}, /*#__PURE__*/_react.default.createElement(_HoverMenuList.HoverMenuList, {
|
|
75
|
-
dense: dense
|
|
76
|
-
}, children))));
|
|
77
|
-
};
|
|
78
|
-
|
|
79
|
-
exports.HoverMenuListItem = HoverMenuListItem;
|
|
80
|
-
HoverMenuListItem.defaultProps = {
|
|
81
|
-
dataTest: 'dhis2-uicore-hovermenulistitem'
|
|
82
|
-
};
|
|
83
|
-
HoverMenuListItem.propTypes = {
|
|
84
|
-
// Nested menu items become submenus
|
|
85
|
-
children: _propTypes.default.node,
|
|
86
|
-
className: _propTypes.default.string,
|
|
87
|
-
dataTest: _propTypes.default.string,
|
|
88
|
-
destructive: _propTypes.default.bool,
|
|
89
|
-
disabled: _propTypes.default.bool,
|
|
90
|
-
|
|
91
|
-
/** An icon for the left side of the menu item */
|
|
92
|
-
icon: _propTypes.default.node,
|
|
93
|
-
|
|
94
|
-
/** Text in the menu item */
|
|
95
|
-
label: _propTypes.default.node,
|
|
96
|
-
|
|
97
|
-
/** Click handler */
|
|
98
|
-
onClick: _propTypes.default.func
|
|
99
|
-
};
|
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, "__esModule", {
|
|
4
|
-
value: true
|
|
5
|
-
});
|
|
6
|
-
exports.default = void 0;
|
|
7
|
-
|
|
8
|
-
var _uiConstants = require("@dhis2/ui-constants");
|
|
9
|
-
|
|
10
|
-
const _defaultExport = ["li.jsx-1056713124{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;padding:0px ".concat(_uiConstants.spacers.dp24, ";cursor:pointer;list-style:none;background-color:").concat(_uiConstants.colors.white, ";color:").concat(_uiConstants.colors.grey900, ";fill:").concat(_uiConstants.colors.grey900, ";font-size:14px;line-height:16px;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;}"), "li.jsx-1056713124:hover{background-color:".concat(_uiConstants.colors.grey200, ";}"), "li.jsx-1056713124:active,li.active.jsx-1056713124{background-color:".concat(_uiConstants.colors.grey300, ";}"), "li.destructive.jsx-1056713124{color:".concat(_uiConstants.colors.red700, ";fill:").concat(_uiConstants.colors.red600, ";}"), "li.destructive.jsx-1056713124:hover{background-color:".concat(_uiConstants.colors.red050, ";}"), "li.destructive.jsx-1056713124:active,li.destructive.active.jsx-1056713124{background-color:".concat(_uiConstants.colors.red100, ";}"), "li.disabled.jsx-1056713124{cursor:not-allowed;color:".concat(_uiConstants.colors.grey500, ";fill:").concat(_uiConstants.colors.grey500, ";}"), "li.disabled.jsx-1056713124:hover{background-color:".concat(_uiConstants.colors.white, ";}"), ".label.jsx-1056713124{-webkit-box-flex:1;-webkit-flex-grow:1;-ms-flex-positive:1;flex-grow:1;padding:".concat(_uiConstants.spacers.dp12, " 0;}"), "li.dense.jsx-1056713124 .label.jsx-1056713124{padding:".concat(_uiConstants.spacers.dp8, " 0;}"), ".icon.jsx-1056713124{-webkit-box-flex:0;-webkit-flex-grow:0;-ms-flex-positive:0;flex-grow:0;margin-right:".concat(_uiConstants.spacers.dp12, ";width:24px;height:24px;}"), ".chevron.jsx-1056713124{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-flex:0;-webkit-flex-grow:0;-ms-flex-positive:0;flex-grow:0;margin-left:".concat(_uiConstants.spacers.dp24, ";}"), "li.dense.jsx-1056713124 .icon.jsx-1056713124{margin-right:".concat(_uiConstants.spacers.dp8, ";width:16px;height:16px;}"), "li.jsx-1056713124 .icon.jsx-1056713124>svg{width:24px;height:24px;}", "li.dense.jsx-1056713124 .icon.jsx-1056713124>svg,li.jsx-1056713124 .chevron.jsx-1056713124>svg{width:16px;height:16px;}"];
|
|
11
|
-
_defaultExport.__hash = "1056713124";
|
|
12
|
-
var _default = _defaultExport;
|
|
13
|
-
exports.default = _default;
|