@neo4j-ndl/react 0.4.0 → 0.5.0
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/lib/cjs/_common/utils.js +59 -0
- package/lib/cjs/_common/utils.js.map +1 -0
- package/lib/cjs/button/Button.js +2 -2
- package/lib/cjs/button/Button.js.map +1 -1
- package/lib/cjs/button/IconButton.js +3 -3
- package/lib/cjs/button/IconButton.js.map +1 -1
- package/lib/cjs/context-menu/ContextMenu.js +7 -13
- package/lib/cjs/context-menu/ContextMenu.js.map +1 -1
- package/lib/cjs/dialog/Dialog.js +161 -0
- package/lib/cjs/dialog/Dialog.js.map +1 -0
- package/lib/cjs/dialog/index.js +38 -0
- package/lib/cjs/dialog/index.js.map +1 -0
- package/lib/cjs/index.js +2 -0
- package/lib/cjs/index.js.map +1 -1
- package/lib/cjs/modal/Modal.js +105 -0
- package/lib/cjs/modal/Modal.js.map +1 -0
- package/lib/cjs/modal/index.js +38 -0
- package/lib/cjs/modal/index.js.map +1 -0
- package/lib/cjs/popover/Popover.js +11 -47
- package/lib/cjs/popover/Popover.js.map +1 -1
- package/lib/cjs/portal/Portal.js +52 -0
- package/lib/cjs/portal/Portal.js.map +1 -0
- package/lib/cjs/portal/index.js +38 -0
- package/lib/cjs/portal/index.js.map +1 -0
- package/lib/cjs/table/Table.js +1 -1
- package/lib/cjs/table/Table.js.map +1 -1
- package/lib/cjs/trap-focus/TrapFocus.js +310 -0
- package/lib/cjs/trap-focus/TrapFocus.js.map +1 -0
- package/lib/cjs/trap-focus/index.js +38 -0
- package/lib/cjs/trap-focus/index.js.map +1 -0
- package/lib/esm/_common/utils.js +52 -0
- package/lib/esm/_common/utils.js.map +1 -0
- package/lib/esm/button/Button.js +1 -1
- package/lib/esm/button/Button.js.map +1 -1
- package/lib/esm/button/IconButton.js +2 -2
- package/lib/esm/button/IconButton.js.map +1 -1
- package/lib/esm/context-menu/ContextMenu.js +7 -13
- package/lib/esm/context-menu/ContextMenu.js.map +1 -1
- package/lib/esm/dialog/Dialog.js +131 -0
- package/lib/esm/dialog/Dialog.js.map +1 -0
- package/lib/esm/{_common/utilts.js → dialog/index.js} +2 -5
- package/lib/esm/dialog/index.js.map +1 -0
- package/lib/esm/index.js +2 -0
- package/lib/esm/index.js.map +1 -1
- package/lib/esm/modal/Modal.js +75 -0
- package/lib/esm/modal/Modal.js.map +1 -0
- package/lib/{cjs/_common/utilts.js → esm/modal/index.js} +2 -11
- package/lib/esm/modal/index.js.map +1 -0
- package/lib/esm/popover/Popover.js +11 -24
- package/lib/esm/popover/Popover.js.map +1 -1
- package/lib/esm/portal/Portal.js +25 -0
- package/lib/esm/portal/Portal.js.map +1 -0
- package/lib/esm/portal/index.js +22 -0
- package/lib/esm/portal/index.js.map +1 -0
- package/lib/esm/table/Table.js +1 -1
- package/lib/esm/table/Table.js.map +1 -1
- package/lib/esm/trap-focus/TrapFocus.js +283 -0
- package/lib/esm/trap-focus/TrapFocus.js.map +1 -0
- package/lib/esm/trap-focus/index.js +22 -0
- package/lib/esm/trap-focus/index.js.map +1 -0
- package/lib/types/_common/{utilts.d.ts → utils.d.ts} +5 -0
- package/lib/types/context-menu/ContextMenu.d.ts +4 -1
- package/lib/types/dialog/Dialog.d.ts +55 -0
- package/lib/types/dialog/index.d.ts +21 -0
- package/lib/types/index.d.ts +2 -0
- package/lib/types/modal/Modal.d.ts +34 -0
- package/lib/types/modal/index.d.ts +21 -0
- package/lib/types/popover/Popover.d.ts +4 -2
- package/lib/types/portal/Portal.d.ts +27 -0
- package/lib/types/portal/index.d.ts +21 -0
- package/lib/types/trap-focus/TrapFocus.d.ts +35 -0
- package/lib/types/trap-focus/index.d.ts +21 -0
- package/package.json +2 -2
- package/lib/cjs/_common/utilts.js.map +0 -1
- package/lib/esm/_common/utilts.js.map +0 -1
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
/**
|
|
2
|
+
*
|
|
3
|
+
* Copyright (c) "Neo4j"
|
|
4
|
+
* Neo4j Sweden AB [http://neo4j.com]
|
|
5
|
+
*
|
|
6
|
+
* This file is part of Neo4j.
|
|
7
|
+
*
|
|
8
|
+
* Neo4j is free software: you can redistribute it and/or modify
|
|
9
|
+
* it under the terms of the GNU General Public License as published by
|
|
10
|
+
* the Free Software Foundation, either version 3 of the License, or
|
|
11
|
+
* (at your option) any later version.
|
|
12
|
+
*
|
|
13
|
+
* This program is distributed in the hope that it will be useful,
|
|
14
|
+
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
15
|
+
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
16
|
+
* GNU General Public License for more details.
|
|
17
|
+
*
|
|
18
|
+
* You should have received a copy of the GNU General Public License
|
|
19
|
+
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
|
20
|
+
*/
|
|
21
|
+
import { useCallback, useRef } from 'react';
|
|
22
|
+
export const removeNewlines = (input) => input.replace(/(\r\n|\n|\r)/gm, '');
|
|
23
|
+
/** Remove extra spaces from sting */
|
|
24
|
+
export const removeSpaces = (input) => input.replace(/\s+/g, ' ').trim();
|
|
25
|
+
export const needleWarningMessage = (message) => console.warn(`[🪡 Needle]: ${message}`);
|
|
26
|
+
const getScrollbarSize = (doc) => {
|
|
27
|
+
// https://developer.mozilla.org/en-US/docs/Web/API/Window/innerWidth#usage_notes
|
|
28
|
+
const documentWidth = doc.documentElement.clientWidth;
|
|
29
|
+
return Math.abs(window.innerWidth - documentWidth);
|
|
30
|
+
};
|
|
31
|
+
const getPaddingRight = (element) => parseInt(window.getComputedStyle(element).paddingRight, 10) || 0;
|
|
32
|
+
/**
|
|
33
|
+
* Toggles scroll on the provided document.
|
|
34
|
+
* Useful for disabling scroll when a popup is open (ie ContextMenu/Modal)
|
|
35
|
+
*/
|
|
36
|
+
export const useDocumentScrollToggle = () => {
|
|
37
|
+
const bodyPadding = useRef(0);
|
|
38
|
+
return useCallback((disable, doc = document) => {
|
|
39
|
+
if (disable) {
|
|
40
|
+
const existingPaddingRight = getPaddingRight(doc.body);
|
|
41
|
+
bodyPadding.current = existingPaddingRight;
|
|
42
|
+
const newPaddingRight = existingPaddingRight + getScrollbarSize(doc);
|
|
43
|
+
doc.body.style.overflow = 'hidden';
|
|
44
|
+
doc.body.style.paddingRight = `${newPaddingRight}px`;
|
|
45
|
+
}
|
|
46
|
+
else {
|
|
47
|
+
doc.body.style.overflow = '';
|
|
48
|
+
doc.body.style.paddingRight = `${bodyPadding.current}px`;
|
|
49
|
+
}
|
|
50
|
+
}, []);
|
|
51
|
+
};
|
|
52
|
+
//# sourceMappingURL=utils.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../src/_common/utils.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AAEH,OAAO,EAAE,WAAW,EAAE,MAAM,EAAE,MAAM,OAAO,CAAC;AAE5C,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,KAAa,EAAE,EAAE,CAC9C,KAAK,CAAC,OAAO,CAAC,gBAAgB,EAAE,EAAE,CAAC,CAAC;AAEtC,qCAAqC;AACrC,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,KAAa,EAAE,EAAE,CAC5C,KAAK,CAAC,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC;AAEpC,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC,OAAe,EAAE,EAAE,CACtD,OAAO,CAAC,IAAI,CAAC,iBAAiB,OAAO,EAAE,CAAC,CAAC;AAE3C,MAAM,gBAAgB,GAAG,CAAC,GAAa,EAAU,EAAE;IACjD,iFAAiF;IACjF,MAAM,aAAa,GAAG,GAAG,CAAC,eAAe,CAAC,WAAW,CAAC;IACtD,OAAO,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,UAAU,GAAG,aAAa,CAAC,CAAC;AACrD,CAAC,CAAC;AAEF,MAAM,eAAe,GAAG,CAAC,OAAgB,EAAU,EAAE,CACnD,QAAQ,CAAC,MAAM,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC,YAAY,EAAE,EAAE,CAAC,IAAI,CAAC,CAAC;AAEnE;;;GAGG;AACH,MAAM,CAAC,MAAM,uBAAuB,GAAG,GAAG,EAAE;IAC1C,MAAM,WAAW,GAAG,MAAM,CAAS,CAAC,CAAC,CAAC;IAEtC,OAAO,WAAW,CAAC,CAAC,OAAgB,EAAE,MAAgB,QAAQ,EAAE,EAAE;QAChE,IAAI,OAAO,EAAE;YACX,MAAM,oBAAoB,GAAG,eAAe,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;YACvD,WAAW,CAAC,OAAO,GAAG,oBAAoB,CAAC;YAC3C,MAAM,eAAe,GAAG,oBAAoB,GAAG,gBAAgB,CAAC,GAAG,CAAC,CAAC;YACrE,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,GAAG,QAAQ,CAAC;YACnC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,YAAY,GAAG,GAAG,eAAe,IAAI,CAAC;SACtD;aAAM;YACL,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,GAAG,EAAE,CAAC;YAC7B,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,YAAY,GAAG,GAAG,WAAW,CAAC,OAAO,IAAI,CAAC;SAC1D;IACH,CAAC,EAAE,EAAE,CAAC,CAAC;AACT,CAAC,CAAC"}
|
package/lib/esm/button/Button.js
CHANGED
|
@@ -33,7 +33,7 @@ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
|
33
33
|
import React from 'react';
|
|
34
34
|
import classnames from 'classnames';
|
|
35
35
|
import { LoadingSpinner } from '../loading-spinner';
|
|
36
|
-
import { removeNewlines, removeSpaces } from '../_common/
|
|
36
|
+
import { removeNewlines, removeSpaces } from '../_common/utils';
|
|
37
37
|
export const Button = React.forwardRef(function Button(_a, ref) {
|
|
38
38
|
var { children, as, type = 'button', loading = false, color = 'primary', disabled = false, fill = 'filled', rectangle = false, buttonSize = 'medium', className, onClick, floating = false, tabIndex = 0 } = _a, props = __rest(_a, ["children", "as", "type", "loading", "color", "disabled", "fill", "rectangle", "buttonSize", "className", "onClick", "floating", "tabIndex"]);
|
|
39
39
|
let Component = as || 'button';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Button.js","sourceRoot":"","sources":["../../../src/button/Button.tsx"],"names":[],"mappings":";;;;;;;;;;;;AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AAEH,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,UAAU,MAAM,YAAY,CAAC;AAEpC,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAEpD,OAAO,EAAE,cAAc,EAAE,YAAY,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"Button.js","sourceRoot":"","sources":["../../../src/button/Button.tsx"],"names":[],"mappings":"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"}
|
|
@@ -33,7 +33,7 @@ import { jsx as _jsx } from "react/jsx-runtime";
|
|
|
33
33
|
import React from 'react';
|
|
34
34
|
import classnames from 'classnames';
|
|
35
35
|
import { LoadingSpinner } from '../loading-spinner';
|
|
36
|
-
import { needleWarningMessage } from '../_common/
|
|
36
|
+
import { needleWarningMessage } from '../_common/utils';
|
|
37
37
|
export const IconButton = React.forwardRef(function Button(_a, ref) {
|
|
38
38
|
var { children, as, type = 'button', loading = false, disabled = false, buttonSize = 'medium', className, onClick, grouped, floating = false, danger, clean } = _a, props = __rest(_a, ["children", "as", "type", "loading", "disabled", "buttonSize", "className", "onClick", "grouped", "floating", "danger", "clean"]);
|
|
39
39
|
let Component = as || 'button';
|
|
@@ -53,7 +53,7 @@ export const IconButton = React.forwardRef(function Button(_a, ref) {
|
|
|
53
53
|
needleWarningMessage("Can't have 'clean' and 'floating' props true at the same time");
|
|
54
54
|
}
|
|
55
55
|
if (!props['aria-label']) {
|
|
56
|
-
needleWarningMessage('Icon buttons do not have text, be sure to include
|
|
56
|
+
needleWarningMessage('Icon buttons do not have text, be sure to include an aria-label for screen readers link: https://dequeuniversity.com/rules/axe/4.4/button-name?application=axeAPI');
|
|
57
57
|
}
|
|
58
58
|
const handleClick = (e) => {
|
|
59
59
|
if (!interactable) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"IconButton.js","sourceRoot":"","sources":["../../../src/button/IconButton.tsx"],"names":[],"mappings":";;;;;;;;;;;;AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AAEH,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,UAAU,MAAM,YAAY,CAAC;AACpC,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAEpD,OAAO,EAAE,oBAAoB,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"IconButton.js","sourceRoot":"","sources":["../../../src/button/IconButton.tsx"],"names":[],"mappings":";;;;;;;;;;;;AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AAEH,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,UAAU,MAAM,YAAY,CAAC;AACpC,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAEpD,OAAO,EAAE,oBAAoB,EAAE,MAAM,kBAAkB,CAAC;AAmCxD,MAAM,CAAC,MAAM,UAAU,GAAG,KAAK,CAAC,UAAU,CAAC,SAAS,MAAM,CACxD,EAckB,EAClB,GAAG;QAfH,EACE,QAAQ,EACR,EAAE,EACF,IAAI,GAAG,QAAQ,EACf,OAAO,GAAG,KAAK,EACf,QAAQ,GAAG,KAAK,EAChB,UAAU,GAAG,QAAQ,EACrB,SAAS,EACT,OAAO,EACP,OAAO,EACP,QAAQ,GAAG,KAAK,EAChB,MAAM,EACN,KAAK,OAEW,EADb,KAAK,cAbV,iIAcC,CADS;IAIV,IAAI,SAAS,GAAG,EAAE,IAAI,QAAQ,CAAC;IAE/B,IAAI,CAAC,EAAE,IAAI,KAAK,CAAC,IAAI,EAAE;QACrB,SAAS,GAAG,GAAG,CAAC;KACjB;IAED,MAAM,YAAY,GAAG,CAAC,QAAQ,IAAI,CAAC,OAAO,CAAC;IAE3C,MAAM,OAAO,GAAG,UAAU,CAAC,gBAAgB,UAAU,IAAI,SAAS,EAAE,EAAE;QACpE,OAAO;QACP,QAAQ;QACR,OAAO;QACP,QAAQ;QACR,MAAM;QACN,KAAK;KACN,CAAC,CAAC;IAEH,IAAI,KAAK,IAAI,QAAQ,EAAE;QACrB,oBAAoB,CAClB,+DAA+D,CAChE,CAAC;KACH;IAED,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,EAAE;QACxB,oBAAoB,CAClB,mKAAmK,CACpK,CAAC;KACH;IAED,MAAM,WAAW,GAAG,CAAC,CAAkD,EAAE,EAAE;QACzE,IAAI,CAAC,YAAY,EAAE;YACjB,8EAA8E;YAC9E,yEAAyE;YACzE,iFAAiF;YACjF,4CAA4C;YAC5C,CAAC,CAAC,cAAc,EAAE,CAAC;YACnB,CAAC,CAAC,eAAe,EAAE,CAAC;YACpB,OAAO;SACR;QAED,IAAI,OAAO,EAAE;YACX,OAAO,CAAC,CAAC,CAAC,CAAC;SACZ;aAAM,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE;YACtB,OAAO,CAAC,KAAK,CAAC,0BAA0B,CAAC,CAAC;SAC3C;IACH,CAAC,CAAC;IAEF,OAAO,CACL,KAAC,SAAS;IACR,uEAAuE;wBACnE,KAAK,EAEL,CAAC,SAAS,KAAK,QAAQ,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,IAC5C,OAAO,EAAE,WAAW,EACpB,QAAQ,EAAE,CAAC,YAAY,EACvB,SAAS,EAAE,OAAO,EAClB,GAAG,EAAE,GAAG,gBAER,4BAAK,SAAS,EAAC,UAAU,gBACtB,OAAO,CAAC,CAAC,CAAC,CACT,KAAC,cAAc,IAAC,SAAS,EAAC,kBAAkB,EAAC,IAAI,EAAC,OAAO,GAAG,CAC7D,CAAC,CAAC,CAAC,CACF,QAAQ,CACT,IACG,IACI,CACb,CAAC;AACJ,CAAC,CAAC,CAAC"}
|
|
@@ -45,15 +45,15 @@ const useMenuContext = () => {
|
|
|
45
45
|
export const Menu = forwardRef(function Menu(_a, ref) {
|
|
46
46
|
var { menuSize = 'small', className, minWidth = 250, open, onClose, children } = _a, rest = __rest(_a, ["menuSize", "className", "minWidth", "open", "onClose", "children"]);
|
|
47
47
|
const menuRef = useRef();
|
|
48
|
-
const
|
|
48
|
+
const focusMenuItems = useCallback(() => {
|
|
49
49
|
const menu = menuRef.current;
|
|
50
50
|
if (!menu)
|
|
51
51
|
return;
|
|
52
|
-
const
|
|
53
|
-
if (
|
|
52
|
+
const menuItems = menu.querySelectorAll(':scope > .menu-items');
|
|
53
|
+
if (menuItems.length === 0) {
|
|
54
54
|
menu.focus();
|
|
55
55
|
}
|
|
56
|
-
|
|
56
|
+
menuItems[0].focus();
|
|
57
57
|
}, []);
|
|
58
58
|
// Override ref to map to internal ref
|
|
59
59
|
// as well as change focus to focus the
|
|
@@ -63,19 +63,13 @@ export const Menu = forwardRef(function Menu(_a, ref) {
|
|
|
63
63
|
if (!menu) {
|
|
64
64
|
return null;
|
|
65
65
|
}
|
|
66
|
-
return Object.assign(Object.assign({}, menu), { focus:
|
|
66
|
+
return Object.assign(Object.assign({}, menu), { focus: focusMenuItems });
|
|
67
67
|
});
|
|
68
|
-
// Focus first menu item on open.
|
|
69
|
-
// This effect is separate from the above
|
|
70
|
-
// `setPositiongStyles` effect as the above
|
|
71
|
-
// is triggered on every render usually as
|
|
72
|
-
// anchorOrigin and transformOrigin
|
|
73
|
-
// are typically not memoized
|
|
74
68
|
useEffect(() => {
|
|
75
69
|
if (open) {
|
|
76
|
-
|
|
70
|
+
focusMenuItems();
|
|
77
71
|
}
|
|
78
|
-
}, [open,
|
|
72
|
+
}, [open, focusMenuItems]);
|
|
79
73
|
const classes = classnames('ndl-menu', menuSize, className);
|
|
80
74
|
return (_jsx(MenuContext.Provider, Object.assign({ value: { onClose } }, { children: _jsx(Popover, Object.assign({ tabIndex: -1 }, rest, { open: open, style: Object.assign({ minWidth }, (rest.style || {})), className: classes, ref: menuRef, onClose: onClose }, { children: children })) })));
|
|
81
75
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ContextMenu.js","sourceRoot":"","sources":["../../../src/context-menu/ContextMenu.tsx"],"names":[],"mappings":";;;;;;;;;;;;AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AAEH,OAAO,KAAK,EAAE,EACZ,UAAU,EACV,WAAW,EACX,UAAU,EACV,SAAS,EACT,mBAAmB,EACnB,MAAM,GACP,MAAM,OAAO,CAAC;AACf,OAAO,EAAE,QAAQ,EAAE,MAAM,UAAU,CAAC;AACpC,OAAO,EAAE,OAAO,EAAgB,MAAM,YAAY,CAAC;AACnD,OAAO,UAAU,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"ContextMenu.js","sourceRoot":"","sources":["../../../src/context-menu/ContextMenu.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,131 @@
|
|
|
1
|
+
var __rest = (this && this.__rest) || function (s, e) {
|
|
2
|
+
var t = {};
|
|
3
|
+
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
|
|
4
|
+
t[p] = s[p];
|
|
5
|
+
if (s != null && typeof Object.getOwnPropertySymbols === "function")
|
|
6
|
+
for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
|
|
7
|
+
if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
|
|
8
|
+
t[p[i]] = s[p[i]];
|
|
9
|
+
}
|
|
10
|
+
return t;
|
|
11
|
+
};
|
|
12
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
13
|
+
/**
|
|
14
|
+
*
|
|
15
|
+
* Copyright (c) "Neo4j"
|
|
16
|
+
* Neo4j Sweden AB [http://neo4j.com]
|
|
17
|
+
*
|
|
18
|
+
* This file is part of Neo4j.
|
|
19
|
+
*
|
|
20
|
+
* Neo4j is free software: you can redistribute it and/or modify
|
|
21
|
+
* it under the terms of the GNU General Public License as published by
|
|
22
|
+
* the Free Software Foundation, either version 3 of the License, or
|
|
23
|
+
* (at your option) any later version.
|
|
24
|
+
*
|
|
25
|
+
* This program is distributed in the hope that it will be useful,
|
|
26
|
+
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
27
|
+
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
28
|
+
* GNU General Public License for more details.
|
|
29
|
+
*
|
|
30
|
+
* You should have received a copy of the GNU General Public License
|
|
31
|
+
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
|
32
|
+
*/
|
|
33
|
+
import React, { useContext } from 'react';
|
|
34
|
+
import classnames from 'classnames';
|
|
35
|
+
import { HeroIcon } from '../icons';
|
|
36
|
+
import { IconButton } from '../button';
|
|
37
|
+
import { Modal } from '../modal';
|
|
38
|
+
// Should extend ModalCloseReason
|
|
39
|
+
export var DialogCloseReason;
|
|
40
|
+
(function (DialogCloseReason) {
|
|
41
|
+
DialogCloseReason["BACKDROP_CLICK"] = "backdropClick";
|
|
42
|
+
DialogCloseReason["ESCAPE_KEY_DOWN"] = "escapeKeyDown";
|
|
43
|
+
DialogCloseReason["CLOSE_BUTTON_CLICK"] = "closeButtonClick";
|
|
44
|
+
})(DialogCloseReason || (DialogCloseReason = {}));
|
|
45
|
+
const DialogContext = React.createContext(null);
|
|
46
|
+
const useDialogContext = () => {
|
|
47
|
+
const value = useContext(DialogContext);
|
|
48
|
+
if (!value) {
|
|
49
|
+
throw new Error('Accessing `useDialogContext` outside of the context provider');
|
|
50
|
+
}
|
|
51
|
+
return value;
|
|
52
|
+
};
|
|
53
|
+
const convertCloseReason = (reason) => {
|
|
54
|
+
const dialogReason = reason;
|
|
55
|
+
if (Object.values(DialogCloseReason).includes(dialogReason)) {
|
|
56
|
+
return dialogReason;
|
|
57
|
+
}
|
|
58
|
+
throw new Error(`Unknown reason '${reason}' received from popup`);
|
|
59
|
+
};
|
|
60
|
+
const typeIcons = {
|
|
61
|
+
warning: 'ExclamationIcon',
|
|
62
|
+
danger: 'ExclamationCircleIcon',
|
|
63
|
+
info: 'InformationCircleIcon',
|
|
64
|
+
success: 'CheckCircleIcon',
|
|
65
|
+
};
|
|
66
|
+
export const Dialog = (_a) => {
|
|
67
|
+
var { open, onClose, children, type, className, size, disableCloseButton = false } = _a, rest = __rest(_a, ["open", "onClose", "children", "type", "className", "size", "disableCloseButton"]);
|
|
68
|
+
const handleCloseClick = (e) => {
|
|
69
|
+
e.preventDefault();
|
|
70
|
+
onClose && onClose(e, DialogCloseReason.CLOSE_BUTTON_CLICK);
|
|
71
|
+
};
|
|
72
|
+
const handleClose = (e, reason) => {
|
|
73
|
+
onClose && onClose(e, reason ? convertCloseReason(reason) : undefined);
|
|
74
|
+
};
|
|
75
|
+
if (!open) {
|
|
76
|
+
return null;
|
|
77
|
+
}
|
|
78
|
+
const classes = classnames('ndl-dialog', className, {
|
|
79
|
+
'with-icon': !!type,
|
|
80
|
+
'with-close-button': !disableCloseButton,
|
|
81
|
+
});
|
|
82
|
+
const contentWrapperClasses = classnames('n-flex n-flex-nowrap', {
|
|
83
|
+
'n-mt-10': !!type,
|
|
84
|
+
});
|
|
85
|
+
return (_jsx(Modal, Object.assign({}, rest, { open: open, onClose: handleClose, className: classes, size: size, role: "dialog" }, { children: _jsxs(DialogContext.Provider, Object.assign({ value: { type } }, { children: [!disableCloseButton && (_jsx(IconButton, Object.assign({ clean: true, buttonSize: "large", className: "dialog-close", onClick: handleCloseClick, role: "button", "data-testid": "dialog-close", "aria-label": "close" }, { children: _jsx(HeroIcon, { iconName: "XIcon" }) }))), _jsxs("div", Object.assign({ className: contentWrapperClasses }, { children: [type && (_jsx("div", Object.assign({ className: `dialog-type-icon ${type}`, "data-testid": "dialog-type-icon" }, { children: _jsx(HeroIcon, { iconName: typeIcons[type], strokeWidth: "0.8" }) }))), _jsx("div", Object.assign({ className: "n-flex n-flex-col n-flex-1 n-w-full" }, { children: children }))] }))] })) })));
|
|
86
|
+
};
|
|
87
|
+
const Actions = (_a) => {
|
|
88
|
+
var { children, className = '' } = _a, rest = __rest(_a, ["children", "className"]);
|
|
89
|
+
const { type } = useDialogContext();
|
|
90
|
+
const classes = classnames('ndl-dialog-actions', className);
|
|
91
|
+
let childrenToRender = children;
|
|
92
|
+
// For danger dialogs, we want to convert primary buttons to danger buttons by default
|
|
93
|
+
if (type === 'danger') {
|
|
94
|
+
childrenToRender = React.Children.map(children, (element) => {
|
|
95
|
+
if (!React.isValidElement(element))
|
|
96
|
+
return;
|
|
97
|
+
const { color } = element.props;
|
|
98
|
+
if (!color || color === 'primary') {
|
|
99
|
+
return React.cloneElement(element, Object.assign(Object.assign({}, element.props), { color: 'danger' }));
|
|
100
|
+
}
|
|
101
|
+
return element;
|
|
102
|
+
});
|
|
103
|
+
}
|
|
104
|
+
return (_jsx("div", Object.assign({}, rest, { className: classes }, { children: childrenToRender })));
|
|
105
|
+
};
|
|
106
|
+
Dialog.Actions = Actions;
|
|
107
|
+
const Header = (_a) => {
|
|
108
|
+
var { children, className = '' } = _a, rest = __rest(_a, ["children", "className"]);
|
|
109
|
+
const classes = classnames('ndl-dialog-header', className);
|
|
110
|
+
return (_jsx("h4", Object.assign({}, rest, { className: classes }, { children: children })));
|
|
111
|
+
};
|
|
112
|
+
Dialog.Header = Header;
|
|
113
|
+
const Subtitle = (_a) => {
|
|
114
|
+
var { children, className } = _a, rest = __rest(_a, ["children", "className"]);
|
|
115
|
+
const classes = classnames('ndl-dialog-subtitle body-large', className);
|
|
116
|
+
return (_jsx("div", Object.assign({}, rest, { className: classes }, { children: children })));
|
|
117
|
+
};
|
|
118
|
+
Dialog.Subtitle = Subtitle;
|
|
119
|
+
const Description = (_a) => {
|
|
120
|
+
var { children, className = '' } = _a, rest = __rest(_a, ["children", "className"]);
|
|
121
|
+
const classes = classnames('ndl-dialog-description body-medium', className);
|
|
122
|
+
return (_jsx("div", Object.assign({}, rest, { className: classes }, { children: children })));
|
|
123
|
+
};
|
|
124
|
+
Dialog.Description = Description;
|
|
125
|
+
const Content = (_a) => {
|
|
126
|
+
var { children, className = '' } = _a, rest = __rest(_a, ["children", "className"]);
|
|
127
|
+
const classes = classnames('ndl-dialog-content', className);
|
|
128
|
+
return (_jsx("div", Object.assign({}, rest, { className: classes }, { children: children })));
|
|
129
|
+
};
|
|
130
|
+
Dialog.Content = Content;
|
|
131
|
+
//# sourceMappingURL=Dialog.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Dialog.js","sourceRoot":"","sources":["../../../src/dialog/Dialog.tsx"],"names":[],"mappings":"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"}
|
|
@@ -18,8 +18,5 @@
|
|
|
18
18
|
* You should have received a copy of the GNU General Public License
|
|
19
19
|
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
|
20
20
|
*/
|
|
21
|
-
export
|
|
22
|
-
|
|
23
|
-
export const removeSpaces = (input) => input.replace(/\s+/g, ' ').trim();
|
|
24
|
-
export const needleWarningMessage = (message) => console.warn(`[🪡 Needle]: ${message}`);
|
|
25
|
-
//# sourceMappingURL=utilts.js.map
|
|
21
|
+
export * from './Dialog';
|
|
22
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/dialog/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AAEH,cAAc,UAAU,CAAC"}
|
package/lib/esm/index.js
CHANGED
|
@@ -26,6 +26,8 @@ export * from './checkbox';
|
|
|
26
26
|
export * from './switch';
|
|
27
27
|
export * from './radio';
|
|
28
28
|
export * from './context-menu';
|
|
29
|
+
export * from './dialog';
|
|
30
|
+
export * from './modal';
|
|
29
31
|
export * from './loading-spinner';
|
|
30
32
|
export * from './tabs';
|
|
31
33
|
export * from './view-selector';
|
package/lib/esm/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AAEH,cAAc,UAAU,CAAC;AACzB,cAAc,SAAS,CAAC;AACxB,cAAc,SAAS,CAAC;AACxB,cAAc,WAAW,CAAC;AAC1B,cAAc,YAAY,CAAC;AAC3B,cAAc,UAAU,CAAC;AACzB,cAAc,SAAS,CAAC;AACxB,cAAc,gBAAgB,CAAC;AAC/B,cAAc,mBAAmB,CAAC;AAClC,cAAc,QAAQ,CAAC;AACvB,cAAc,iBAAiB,CAAC;AAChC,cAAc,WAAW,CAAC;AAC1B,cAAc,SAAS,CAAC;AACxB,cAAc,gBAAgB,CAAC;AAC/B,cAAc,SAAS,CAAC;AACxB,cAAc,iBAAiB,CAAC;AAChC,cAAc,cAAc,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AAEH,cAAc,UAAU,CAAC;AACzB,cAAc,SAAS,CAAC;AACxB,cAAc,SAAS,CAAC;AACxB,cAAc,WAAW,CAAC;AAC1B,cAAc,YAAY,CAAC;AAC3B,cAAc,UAAU,CAAC;AACzB,cAAc,SAAS,CAAC;AACxB,cAAc,gBAAgB,CAAC;AAC/B,cAAc,UAAU,CAAC;AACzB,cAAc,SAAS,CAAC;AACxB,cAAc,mBAAmB,CAAC;AAClC,cAAc,QAAQ,CAAC;AACvB,cAAc,iBAAiB,CAAC;AAChC,cAAc,WAAW,CAAC;AAC1B,cAAc,SAAS,CAAC;AACxB,cAAc,gBAAgB,CAAC;AAC/B,cAAc,SAAS,CAAC;AACxB,cAAc,iBAAiB,CAAC;AAChC,cAAc,cAAc,CAAC"}
|
|
@@ -0,0 +1,75 @@
|
|
|
1
|
+
var __rest = (this && this.__rest) || function (s, e) {
|
|
2
|
+
var t = {};
|
|
3
|
+
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
|
|
4
|
+
t[p] = s[p];
|
|
5
|
+
if (s != null && typeof Object.getOwnPropertySymbols === "function")
|
|
6
|
+
for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
|
|
7
|
+
if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
|
|
8
|
+
t[p[i]] = s[p[i]];
|
|
9
|
+
}
|
|
10
|
+
return t;
|
|
11
|
+
};
|
|
12
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
13
|
+
/**
|
|
14
|
+
*
|
|
15
|
+
* Copyright (c) "Neo4j"
|
|
16
|
+
* Neo4j Sweden AB [http://neo4j.com]
|
|
17
|
+
*
|
|
18
|
+
* This file is part of Neo4j.
|
|
19
|
+
*
|
|
20
|
+
* Neo4j is free software: you can redistribute it and/or modify
|
|
21
|
+
* it under the terms of the GNU General Public License as published by
|
|
22
|
+
* the Free Software Foundation, either version 3 of the License, or
|
|
23
|
+
* (at your option) any later version.
|
|
24
|
+
*
|
|
25
|
+
* This program is distributed in the hope that it will be useful,
|
|
26
|
+
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
27
|
+
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
28
|
+
* GNU General Public License for more details.
|
|
29
|
+
*
|
|
30
|
+
* You should have received a copy of the GNU General Public License
|
|
31
|
+
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
|
32
|
+
*/
|
|
33
|
+
import React, { useEffect } from 'react';
|
|
34
|
+
import classnames from 'classnames';
|
|
35
|
+
import { Portal } from '../portal';
|
|
36
|
+
import { TrapFocus } from '../trap-focus';
|
|
37
|
+
import { useDocumentScrollToggle } from '../_common/utils';
|
|
38
|
+
export var ModalCloseReason;
|
|
39
|
+
(function (ModalCloseReason) {
|
|
40
|
+
ModalCloseReason["BACKDROP_CLICK"] = "backdropClick";
|
|
41
|
+
ModalCloseReason["ESCAPE_KEY_DOWN"] = "escapeKeyDown";
|
|
42
|
+
})(ModalCloseReason || (ModalCloseReason = {}));
|
|
43
|
+
export const Modal = (_a) => {
|
|
44
|
+
var { open, size = 'medium', onClose, children, className } = _a, rest = __rest(_a, ["open", "size", "onClose", "children", "className"]);
|
|
45
|
+
const toggleScrollbar = useDocumentScrollToggle();
|
|
46
|
+
const backdropClick = React.useRef(null);
|
|
47
|
+
const handleMouseDown = (event) => {
|
|
48
|
+
// We don't want to close the dialog when clicking the dialog content.
|
|
49
|
+
// Make sure the event starts and ends on the same DOM element.
|
|
50
|
+
backdropClick.current = event.target === event.currentTarget;
|
|
51
|
+
};
|
|
52
|
+
const handleKeyDown = (e) => {
|
|
53
|
+
if (e.key === 'Escape') {
|
|
54
|
+
e.preventDefault();
|
|
55
|
+
onClose && onClose(e, ModalCloseReason.ESCAPE_KEY_DOWN);
|
|
56
|
+
}
|
|
57
|
+
};
|
|
58
|
+
const handleBackdropClick = (e) => {
|
|
59
|
+
if (!backdropClick.current) {
|
|
60
|
+
return;
|
|
61
|
+
}
|
|
62
|
+
backdropClick.current = null;
|
|
63
|
+
onClose && onClose(e, ModalCloseReason.BACKDROP_CLICK);
|
|
64
|
+
};
|
|
65
|
+
useEffect(() => {
|
|
66
|
+
toggleScrollbar(open);
|
|
67
|
+
return () => toggleScrollbar(false);
|
|
68
|
+
}, [open, toggleScrollbar]);
|
|
69
|
+
if (!open) {
|
|
70
|
+
return null;
|
|
71
|
+
}
|
|
72
|
+
const classes = classnames('ndl-modal', size, className);
|
|
73
|
+
return (_jsx(Portal, { children: _jsx("div", Object.assign({ className: "ndl-modal-root", onKeyDown: handleKeyDown, onClick: handleBackdropClick, "data-testid": "modal-backdrop", tabIndex: -1 }, { children: _jsx(TrapFocus, Object.assign({ open: open }, { children: _jsx("div", Object.assign({ className: "ndl-modal-wrapper", onMouseDown: handleMouseDown, tabIndex: -1, "data-testid": "modal-wrapper" }, { children: _jsx("div", Object.assign({ className: classes }, rest, { children: children })) })) })) })) }));
|
|
74
|
+
};
|
|
75
|
+
//# sourceMappingURL=Modal.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Modal.js","sourceRoot":"","sources":["../../../src/modal/Modal.tsx"],"names":[],"mappings":";;;;;;;;;;;;AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AAEH,OAAO,KAAK,EAAE,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AACzC,OAAO,UAAU,MAAM,YAAY,CAAC;AAEpC,OAAO,EAAE,MAAM,EAAE,MAAM,WAAW,CAAC;AACnC,OAAO,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAC1C,OAAO,EAAE,uBAAuB,EAAE,MAAM,kBAAkB,CAAC;AAE3D,MAAM,CAAN,IAAY,gBAGX;AAHD,WAAY,gBAAgB;IAC1B,oDAAgC,CAAA;IAChC,qDAAiC,CAAA;AACnC,CAAC,EAHW,gBAAgB,KAAhB,gBAAgB,QAG3B;AAaD,MAAM,CAAC,MAAM,KAAK,GAAG,CAAC,EAOT,EAAE,EAAE;QAPK,EACpB,IAAI,EACJ,IAAI,GAAG,QAAQ,EACf,OAAO,EACP,QAAQ,EACR,SAAS,OAEE,EADR,IAAI,cANa,oDAOrB,CADQ;IAEP,MAAM,eAAe,GAAG,uBAAuB,EAAE,CAAC;IAClD,MAAM,aAAa,GAAG,KAAK,CAAC,MAAM,CAAiB,IAAI,CAAC,CAAC;IAEzD,MAAM,eAAe,GAAG,CAAC,KAAuC,EAAE,EAAE;QAClE,sEAAsE;QACtE,+DAA+D;QAC/D,aAAa,CAAC,OAAO,GAAG,KAAK,CAAC,MAAM,KAAK,KAAK,CAAC,aAAa,CAAC;IAC/D,CAAC,CAAC;IAEF,MAAM,aAAa,GAAG,CAAC,CAAmC,EAAE,EAAE;QAC5D,IAAI,CAAC,CAAC,GAAG,KAAK,QAAQ,EAAE;YACtB,CAAC,CAAC,cAAc,EAAE,CAAC;YACnB,OAAO,IAAI,OAAO,CAAC,CAAC,EAAE,gBAAgB,CAAC,eAAe,CAAC,CAAC;SACzD;IACH,CAAC,CAAC;IAEF,MAAM,mBAAmB,GAAG,CAAC,CAAmC,EAAE,EAAE;QAClE,IAAI,CAAC,aAAa,CAAC,OAAO,EAAE;YAC1B,OAAO;SACR;QAED,aAAa,CAAC,OAAO,GAAG,IAAI,CAAC;QAC7B,OAAO,IAAI,OAAO,CAAC,CAAC,EAAE,gBAAgB,CAAC,cAAc,CAAC,CAAC;IACzD,CAAC,CAAC;IAEF,SAAS,CAAC,GAAG,EAAE;QACb,eAAe,CAAC,IAAI,CAAC,CAAC;QAEtB,OAAO,GAAG,EAAE,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC;IACtC,CAAC,EAAE,CAAC,IAAI,EAAE,eAAe,CAAC,CAAC,CAAC;IAE5B,IAAI,CAAC,IAAI,EAAE;QACT,OAAO,IAAI,CAAC;KACb;IAED,MAAM,OAAO,GAAG,UAAU,CAAC,WAAW,EAAE,IAAI,EAAE,SAAS,CAAC,CAAC;IAEzD,OAAO,CACL,KAAC,MAAM,cAEL,4BACE,SAAS,EAAC,gBAAgB,EAC1B,SAAS,EAAE,aAAa,EACxB,OAAO,EAAE,mBAAmB,iBAChB,gBAAgB,EAC5B,QAAQ,EAAE,CAAC,CAAC,gBAEZ,KAAC,SAAS,kBAAC,IAAI,EAAE,IAAI,gBAEnB,4BACE,SAAS,EAAC,mBAAmB,EAC7B,WAAW,EAAE,eAAe,EAC5B,QAAQ,EAAE,CAAC,CAAC,iBACA,eAAe,gBAE3B,4BAAK,SAAS,EAAE,OAAO,IAAM,IAAI,cAC9B,QAAQ,IACL,IACF,IACI,IACR,GACC,CACV,CAAC;AACJ,CAAC,CAAC"}
|
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
"use strict";
|
|
2
1
|
/**
|
|
3
2
|
*
|
|
4
3
|
* Copyright (c) "Neo4j"
|
|
@@ -19,13 +18,5 @@
|
|
|
19
18
|
* You should have received a copy of the GNU General Public License
|
|
20
19
|
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
|
21
20
|
*/
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
const removeNewlines = (input) => input.replace(/(\r\n|\n|\r)/gm, '');
|
|
25
|
-
exports.removeNewlines = removeNewlines;
|
|
26
|
-
/** Remove extra spaces from sting */
|
|
27
|
-
const removeSpaces = (input) => input.replace(/\s+/g, ' ').trim();
|
|
28
|
-
exports.removeSpaces = removeSpaces;
|
|
29
|
-
const needleWarningMessage = (message) => console.warn(`[🪡 Needle]: ${message}`);
|
|
30
|
-
exports.needleWarningMessage = needleWarningMessage;
|
|
31
|
-
//# sourceMappingURL=utilts.js.map
|
|
21
|
+
export * from './Modal';
|
|
22
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/modal/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AAEH,cAAc,SAAS,CAAC"}
|
|
@@ -31,15 +31,10 @@ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
|
31
31
|
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
|
32
32
|
*/
|
|
33
33
|
import { forwardRef, useCallback, useEffect, useImperativeHandle, useRef, useState, } from 'react';
|
|
34
|
-
import * as ReactDOM from 'react-dom';
|
|
35
34
|
import classnames from 'classnames';
|
|
36
35
|
import { debounce } from '../helpers';
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
const documentWidth = doc.documentElement.clientWidth;
|
|
40
|
-
return Math.abs(window.innerWidth - documentWidth);
|
|
41
|
-
};
|
|
42
|
-
const getPaddingRight = (element) => parseInt(window.getComputedStyle(element).paddingRight, 10) || 0;
|
|
36
|
+
import { Portal } from '../portal';
|
|
37
|
+
import { useDocumentScrollToggle } from '../_common/utils';
|
|
43
38
|
const getOffsetTop = (rect, vertical) => {
|
|
44
39
|
let offset = 0;
|
|
45
40
|
if (vertical === 'bottom') {
|
|
@@ -58,7 +53,7 @@ export const Popover = forwardRef(function Popover(_a, ref) {
|
|
|
58
53
|
var { as = 'div', children, open, anchorEl, onClose, anchorOrigin = { vertical: 'bottom', horizontal: 'left' }, transformOrigin = { vertical: 'top', horizontal: 'left' }, className, nested = false } = _a, rest = __rest(_a, ["as", "children", "open", "anchorEl", "onClose", "anchorOrigin", "transformOrigin", "className", "nested"]);
|
|
59
54
|
const Component = as;
|
|
60
55
|
const popoverRef = useRef();
|
|
61
|
-
const
|
|
56
|
+
const toggleScrollbar = useDocumentScrollToggle();
|
|
62
57
|
// Override ref to map to internal ref
|
|
63
58
|
useImperativeHandle(ref, () => {
|
|
64
59
|
const popover = popoverRef.current;
|
|
@@ -135,18 +130,13 @@ export const Popover = forwardRef(function Popover(_a, ref) {
|
|
|
135
130
|
if (nested) {
|
|
136
131
|
return;
|
|
137
132
|
}
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
else {
|
|
146
|
-
document.body.style.overflow = '';
|
|
147
|
-
document.body.style.paddingRight = `${bodyPadding.current}px`;
|
|
148
|
-
}
|
|
149
|
-
}, [open, nested]);
|
|
133
|
+
toggleScrollbar(open);
|
|
134
|
+
return () => {
|
|
135
|
+
if (nested)
|
|
136
|
+
return;
|
|
137
|
+
toggleScrollbar(false);
|
|
138
|
+
};
|
|
139
|
+
}, [open, nested, toggleScrollbar]);
|
|
150
140
|
useEffect(() => {
|
|
151
141
|
if (open) {
|
|
152
142
|
setPositioningStyles();
|
|
@@ -176,9 +166,6 @@ export const Popover = forwardRef(function Popover(_a, ref) {
|
|
|
176
166
|
return null;
|
|
177
167
|
}
|
|
178
168
|
const classes = classnames('ndl-popover', base, className);
|
|
179
|
-
return (_jsxs(Portal,
|
|
169
|
+
return (_jsxs(Portal, { children: [_jsx("div", { className: "ndl-popover-backdrop", role: "button", tabIndex: 0, onClick: handleBackdropClick, onKeyDown: handleBackdropClick, "data-testid": "popover-backdrop" }), _jsx(Component, Object.assign({ tabIndex: -1 }, rest, { className: classes, ref: popoverRef, "data-testid": "popover-content" }, { children: children }))] }));
|
|
180
170
|
});
|
|
181
|
-
const Portal = ({ children, container }) => {
|
|
182
|
-
return ReactDOM.createPortal(children, container);
|
|
183
|
-
};
|
|
184
171
|
//# sourceMappingURL=Popover.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Popover.js","sourceRoot":"","sources":["../../../src/popover/Popover.tsx"],"names":[],"mappings":";;;;;;;;;;;;AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AAEH,OAAc,EACZ,UAAU,EACV,WAAW,EACX,SAAS,EACT,mBAAmB,EACnB,MAAM,EACN,QAAQ,GACT,MAAM,OAAO,CAAC;AACf,OAAO,
|
|
1
|
+
{"version":3,"file":"Popover.js","sourceRoot":"","sources":["../../../src/popover/Popover.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
/**
|
|
2
|
+
*
|
|
3
|
+
* Copyright (c) "Neo4j"
|
|
4
|
+
* Neo4j Sweden AB [http://neo4j.com]
|
|
5
|
+
*
|
|
6
|
+
* This file is part of Neo4j.
|
|
7
|
+
*
|
|
8
|
+
* Neo4j is free software: you can redistribute it and/or modify
|
|
9
|
+
* it under the terms of the GNU General Public License as published by
|
|
10
|
+
* the Free Software Foundation, either version 3 of the License, or
|
|
11
|
+
* (at your option) any later version.
|
|
12
|
+
*
|
|
13
|
+
* This program is distributed in the hope that it will be useful,
|
|
14
|
+
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
15
|
+
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
16
|
+
* GNU General Public License for more details.
|
|
17
|
+
*
|
|
18
|
+
* You should have received a copy of the GNU General Public License
|
|
19
|
+
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
|
20
|
+
*/
|
|
21
|
+
import * as ReactDOM from 'react-dom';
|
|
22
|
+
export const Portal = ({ children, container = document.body, }) => {
|
|
23
|
+
return ReactDOM.createPortal(children, container);
|
|
24
|
+
};
|
|
25
|
+
//# sourceMappingURL=Portal.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Portal.js","sourceRoot":"","sources":["../../../src/portal/Portal.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AAEH,OAAO,KAAK,QAAQ,MAAM,WAAW,CAAC;AAOtC,MAAM,CAAC,MAAM,MAAM,GAAG,CAAC,EACrB,QAAQ,EACR,SAAS,GAAG,QAAQ,CAAC,IAAI,GACb,EAAE,EAAE;IAChB,OAAO,QAAQ,CAAC,YAAY,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC;AACpD,CAAC,CAAC"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
/**
|
|
2
|
+
*
|
|
3
|
+
* Copyright (c) "Neo4j"
|
|
4
|
+
* Neo4j Sweden AB [http://neo4j.com]
|
|
5
|
+
*
|
|
6
|
+
* This file is part of Neo4j.
|
|
7
|
+
*
|
|
8
|
+
* Neo4j is free software: you can redistribute it and/or modify
|
|
9
|
+
* it under the terms of the GNU General Public License as published by
|
|
10
|
+
* the Free Software Foundation, either version 3 of the License, or
|
|
11
|
+
* (at your option) any later version.
|
|
12
|
+
*
|
|
13
|
+
* This program is distributed in the hope that it will be useful,
|
|
14
|
+
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
15
|
+
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
16
|
+
* GNU General Public License for more details.
|
|
17
|
+
*
|
|
18
|
+
* You should have received a copy of the GNU General Public License
|
|
19
|
+
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
|
20
|
+
*/
|
|
21
|
+
export * from './Portal';
|
|
22
|
+
//# sourceMappingURL=index.js.map
|