@neo4j-ndl/react 0.4.0 → 0.5.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 (80) hide show
  1. package/lib/cjs/_common/utils.js +59 -0
  2. package/lib/cjs/_common/utils.js.map +1 -0
  3. package/lib/cjs/button/Button.js +2 -2
  4. package/lib/cjs/button/Button.js.map +1 -1
  5. package/lib/cjs/button/IconButton.js +3 -3
  6. package/lib/cjs/button/IconButton.js.map +1 -1
  7. package/lib/cjs/context-menu/ContextMenu.js +7 -13
  8. package/lib/cjs/context-menu/ContextMenu.js.map +1 -1
  9. package/lib/cjs/dialog/Dialog.js +161 -0
  10. package/lib/cjs/dialog/Dialog.js.map +1 -0
  11. package/lib/cjs/dialog/index.js +38 -0
  12. package/lib/cjs/dialog/index.js.map +1 -0
  13. package/lib/cjs/drag-and-drop/DragAndDrop.js +8 -3
  14. package/lib/cjs/drag-and-drop/DragAndDrop.js.map +1 -1
  15. package/lib/cjs/index.js +2 -0
  16. package/lib/cjs/index.js.map +1 -1
  17. package/lib/cjs/modal/Modal.js +105 -0
  18. package/lib/cjs/modal/Modal.js.map +1 -0
  19. package/lib/cjs/modal/index.js +38 -0
  20. package/lib/cjs/modal/index.js.map +1 -0
  21. package/lib/cjs/popover/Popover.js +30 -52
  22. package/lib/cjs/popover/Popover.js.map +1 -1
  23. package/lib/cjs/portal/Portal.js +52 -0
  24. package/lib/cjs/portal/Portal.js.map +1 -0
  25. package/lib/cjs/portal/index.js +38 -0
  26. package/lib/cjs/portal/index.js.map +1 -0
  27. package/lib/cjs/table/Table.js +1 -1
  28. package/lib/cjs/table/Table.js.map +1 -1
  29. package/lib/cjs/trap-focus/TrapFocus.js +310 -0
  30. package/lib/cjs/trap-focus/TrapFocus.js.map +1 -0
  31. package/lib/cjs/trap-focus/index.js +38 -0
  32. package/lib/cjs/trap-focus/index.js.map +1 -0
  33. package/lib/esm/_common/utils.js +52 -0
  34. package/lib/esm/_common/utils.js.map +1 -0
  35. package/lib/esm/button/Button.js +1 -1
  36. package/lib/esm/button/Button.js.map +1 -1
  37. package/lib/esm/button/IconButton.js +2 -2
  38. package/lib/esm/button/IconButton.js.map +1 -1
  39. package/lib/esm/context-menu/ContextMenu.js +7 -13
  40. package/lib/esm/context-menu/ContextMenu.js.map +1 -1
  41. package/lib/esm/dialog/Dialog.js +131 -0
  42. package/lib/esm/dialog/Dialog.js.map +1 -0
  43. package/lib/esm/{_common/utilts.js → dialog/index.js} +2 -5
  44. package/lib/esm/dialog/index.js.map +1 -0
  45. package/lib/esm/drag-and-drop/DragAndDrop.js +9 -4
  46. package/lib/esm/drag-and-drop/DragAndDrop.js.map +1 -1
  47. package/lib/esm/index.js +2 -0
  48. package/lib/esm/index.js.map +1 -1
  49. package/lib/esm/modal/Modal.js +75 -0
  50. package/lib/esm/modal/Modal.js.map +1 -0
  51. package/lib/{cjs/_common/utilts.js → esm/modal/index.js} +2 -11
  52. package/lib/esm/modal/index.js.map +1 -0
  53. package/lib/esm/popover/Popover.js +30 -29
  54. package/lib/esm/popover/Popover.js.map +1 -1
  55. package/lib/esm/portal/Portal.js +25 -0
  56. package/lib/esm/portal/Portal.js.map +1 -0
  57. package/lib/esm/portal/index.js +22 -0
  58. package/lib/esm/portal/index.js.map +1 -0
  59. package/lib/esm/table/Table.js +1 -1
  60. package/lib/esm/table/Table.js.map +1 -1
  61. package/lib/esm/trap-focus/TrapFocus.js +283 -0
  62. package/lib/esm/trap-focus/TrapFocus.js.map +1 -0
  63. package/lib/esm/trap-focus/index.js +22 -0
  64. package/lib/esm/trap-focus/index.js.map +1 -0
  65. package/lib/types/_common/{utilts.d.ts → utils.d.ts} +5 -0
  66. package/lib/types/context-menu/ContextMenu.d.ts +4 -1
  67. package/lib/types/dialog/Dialog.d.ts +55 -0
  68. package/lib/types/dialog/index.d.ts +21 -0
  69. package/lib/types/drag-and-drop/DragAndDrop.d.ts +5 -3
  70. package/lib/types/index.d.ts +2 -0
  71. package/lib/types/modal/Modal.d.ts +34 -0
  72. package/lib/types/modal/index.d.ts +21 -0
  73. package/lib/types/popover/Popover.d.ts +5 -3
  74. package/lib/types/portal/Portal.d.ts +27 -0
  75. package/lib/types/portal/index.d.ts +21 -0
  76. package/lib/types/trap-focus/TrapFocus.d.ts +35 -0
  77. package/lib/types/trap-focus/index.d.ts +21 -0
  78. package/package.json +4 -3
  79. package/lib/cjs/_common/utilts.js.map +0 -1
  80. package/lib/esm/_common/utilts.js.map +0 -1
@@ -0,0 +1,38 @@
1
+ "use strict";
2
+ /**
3
+ *
4
+ * Copyright (c) "Neo4j"
5
+ * Neo4j Sweden AB [http://neo4j.com]
6
+ *
7
+ * This file is part of Neo4j.
8
+ *
9
+ * Neo4j is free software: you can redistribute it and/or modify
10
+ * it under the terms of the GNU General Public License as published by
11
+ * the Free Software Foundation, either version 3 of the License, or
12
+ * (at your option) any later version.
13
+ *
14
+ * This program is distributed in the hope that it will be useful,
15
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
16
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
17
+ * GNU General Public License for more details.
18
+ *
19
+ * You should have received a copy of the GNU General Public License
20
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
21
+ */
22
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
23
+ if (k2 === undefined) k2 = k;
24
+ var desc = Object.getOwnPropertyDescriptor(m, k);
25
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
26
+ desc = { enumerable: true, get: function() { return m[k]; } };
27
+ }
28
+ Object.defineProperty(o, k2, desc);
29
+ }) : (function(o, m, k, k2) {
30
+ if (k2 === undefined) k2 = k;
31
+ o[k2] = m[k];
32
+ }));
33
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
34
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
35
+ };
36
+ Object.defineProperty(exports, "__esModule", { value: true });
37
+ __exportStar(require("./Modal"), exports);
38
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/modal/index.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;;;;GAmBG;;;;;;;;;;;;;;;;AAEH,0CAAwB"}
@@ -1,27 +1,4 @@
1
1
  "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
- Object.defineProperty(o, "default", { enumerable: true, value: v });
15
- }) : function(o, v) {
16
- o["default"] = v;
17
- });
18
- var __importStar = (this && this.__importStar) || function (mod) {
19
- if (mod && mod.__esModule) return mod;
20
- var result = {};
21
- if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
- __setModuleDefault(result, mod);
23
- return result;
24
- };
25
2
  var __rest = (this && this.__rest) || function (s, e) {
26
3
  var t = {};
27
4
  for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
@@ -60,15 +37,10 @@ const jsx_runtime_1 = require("react/jsx-runtime");
60
37
  * along with this program. If not, see <http://www.gnu.org/licenses/>.
61
38
  */
62
39
  const react_1 = require("react");
63
- const ReactDOM = __importStar(require("react-dom"));
64
40
  const classnames_1 = __importDefault(require("classnames"));
65
41
  const helpers_1 = require("../helpers");
66
- const getScrollbarSize = (doc) => {
67
- // https://developer.mozilla.org/en-US/docs/Web/API/Window/innerWidth#usage_notes
68
- const documentWidth = doc.documentElement.clientWidth;
69
- return Math.abs(window.innerWidth - documentWidth);
70
- };
71
- const getPaddingRight = (element) => parseInt(window.getComputedStyle(element).paddingRight, 10) || 0;
42
+ const portal_1 = require("../portal");
43
+ const utils_1 = require("../_common/utils");
72
44
  const getOffsetTop = (rect, vertical) => {
73
45
  let offset = 0;
74
46
  if (vertical === 'bottom') {
@@ -77,17 +49,20 @@ const getOffsetTop = (rect, vertical) => {
77
49
  return offset;
78
50
  };
79
51
  const getOffsetLeft = (rect, horizontal) => {
80
- let offset = 0;
81
- if (horizontal === 'right') {
82
- offset = rect.width;
52
+ switch (horizontal) {
53
+ case 'right':
54
+ return rect.width;
55
+ case 'center':
56
+ return rect.width / 2;
57
+ case 'left':
58
+ return 0;
83
59
  }
84
- return offset;
85
60
  };
86
61
  exports.Popover = (0, react_1.forwardRef)(function Popover(_a, ref) {
87
62
  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"]);
88
63
  const Component = as;
89
64
  const popoverRef = (0, react_1.useRef)();
90
- const bodyPadding = (0, react_1.useRef)(0);
65
+ const toggleScrollbar = (0, utils_1.useDocumentScrollToggle)();
91
66
  // Override ref to map to internal ref
92
67
  (0, react_1.useImperativeHandle)(ref, () => {
93
68
  const popover = popoverRef.current;
@@ -109,7 +84,18 @@ exports.Popover = (0, react_1.forwardRef)(function Popover(_a, ref) {
109
84
  width: element.offsetWidth,
110
85
  height: element.offsetHeight,
111
86
  };
112
- const transformX = transformOrigin.horizontal == 'right' ? -menuRect.width : 0;
87
+ let transformX;
88
+ switch (transformOrigin.horizontal) {
89
+ case 'right':
90
+ transformX = -menuRect.width;
91
+ break;
92
+ case 'center':
93
+ transformX = -menuRect.width / 2;
94
+ break;
95
+ case 'left':
96
+ transformX = 0;
97
+ break;
98
+ }
113
99
  const transformY = transformOrigin.vertical == 'bottom' ? -menuRect.height : 0;
114
100
  const marginThreshold = 16; // An arbitrary margin between the menu popup and the border of the window
115
101
  // Window thresholds taking required margin into account
@@ -164,18 +150,13 @@ exports.Popover = (0, react_1.forwardRef)(function Popover(_a, ref) {
164
150
  if (nested) {
165
151
  return;
166
152
  }
167
- if (open) {
168
- const existingPaddingRight = getPaddingRight(document.body);
169
- bodyPadding.current = existingPaddingRight;
170
- const newPaddingRight = existingPaddingRight + getScrollbarSize(document);
171
- document.body.style.overflow = 'hidden';
172
- document.body.style.paddingRight = `${newPaddingRight}px`;
173
- }
174
- else {
175
- document.body.style.overflow = '';
176
- document.body.style.paddingRight = `${bodyPadding.current}px`;
177
- }
178
- }, [open, nested]);
153
+ toggleScrollbar(open);
154
+ return () => {
155
+ if (nested)
156
+ return;
157
+ toggleScrollbar(false);
158
+ };
159
+ }, [open, nested, toggleScrollbar]);
179
160
  (0, react_1.useEffect)(() => {
180
161
  if (open) {
181
162
  setPositioningStyles();
@@ -205,9 +186,6 @@ exports.Popover = (0, react_1.forwardRef)(function Popover(_a, ref) {
205
186
  return null;
206
187
  }
207
188
  const classes = (0, classnames_1.default)('ndl-popover', base, className);
208
- return ((0, jsx_runtime_1.jsxs)(Portal, Object.assign({ container: document.body }, { children: [(0, jsx_runtime_1.jsx)("div", { className: "ndl-popover-backdrop", role: "button", tabIndex: 0, onClick: handleBackdropClick, onKeyDown: handleBackdropClick, "data-testid": "popover-backdrop" }), (0, jsx_runtime_1.jsx)(Component, Object.assign({ tabIndex: -1 }, rest, { className: classes, ref: popoverRef, "data-testid": "popover-content" }, { children: children }))] })));
189
+ return ((0, jsx_runtime_1.jsxs)(portal_1.Portal, { children: [(0, jsx_runtime_1.jsx)("div", { className: "ndl-popover-backdrop", role: "button", tabIndex: 0, onClick: handleBackdropClick, onKeyDown: handleBackdropClick, "data-testid": "popover-backdrop" }), (0, jsx_runtime_1.jsx)(Component, Object.assign({ tabIndex: -1 }, rest, { className: classes, ref: popoverRef, "data-testid": "popover-content" }, { children: children }))] }));
209
190
  });
210
- const Portal = ({ children, container }) => {
211
- return ReactDOM.createPortal(children, container);
212
- };
213
191
  //# sourceMappingURL=Popover.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Popover.js","sourceRoot":"","sources":["../../../src/popover/Popover.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Popover.js","sourceRoot":"","sources":["../../../src/popover/Popover.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,52 @@
1
+ "use strict";
2
+ /**
3
+ *
4
+ * Copyright (c) "Neo4j"
5
+ * Neo4j Sweden AB [http://neo4j.com]
6
+ *
7
+ * This file is part of Neo4j.
8
+ *
9
+ * Neo4j is free software: you can redistribute it and/or modify
10
+ * it under the terms of the GNU General Public License as published by
11
+ * the Free Software Foundation, either version 3 of the License, or
12
+ * (at your option) any later version.
13
+ *
14
+ * This program is distributed in the hope that it will be useful,
15
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
16
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
17
+ * GNU General Public License for more details.
18
+ *
19
+ * You should have received a copy of the GNU General Public License
20
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
21
+ */
22
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
23
+ if (k2 === undefined) k2 = k;
24
+ var desc = Object.getOwnPropertyDescriptor(m, k);
25
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
26
+ desc = { enumerable: true, get: function() { return m[k]; } };
27
+ }
28
+ Object.defineProperty(o, k2, desc);
29
+ }) : (function(o, m, k, k2) {
30
+ if (k2 === undefined) k2 = k;
31
+ o[k2] = m[k];
32
+ }));
33
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
34
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
35
+ }) : function(o, v) {
36
+ o["default"] = v;
37
+ });
38
+ var __importStar = (this && this.__importStar) || function (mod) {
39
+ if (mod && mod.__esModule) return mod;
40
+ var result = {};
41
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
42
+ __setModuleDefault(result, mod);
43
+ return result;
44
+ };
45
+ Object.defineProperty(exports, "__esModule", { value: true });
46
+ exports.Portal = void 0;
47
+ const ReactDOM = __importStar(require("react-dom"));
48
+ const Portal = ({ children, container = document.body, }) => {
49
+ return ReactDOM.createPortal(children, container);
50
+ };
51
+ exports.Portal = Portal;
52
+ //# sourceMappingURL=Portal.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Portal.js","sourceRoot":"","sources":["../../../src/portal/Portal.tsx"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;;;;GAmBG;;;;;;;;;;;;;;;;;;;;;;;;;;AAEH,oDAAsC;AAO/B,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;AALW,QAAA,MAAM,UAKjB"}
@@ -0,0 +1,38 @@
1
+ "use strict";
2
+ /**
3
+ *
4
+ * Copyright (c) "Neo4j"
5
+ * Neo4j Sweden AB [http://neo4j.com]
6
+ *
7
+ * This file is part of Neo4j.
8
+ *
9
+ * Neo4j is free software: you can redistribute it and/or modify
10
+ * it under the terms of the GNU General Public License as published by
11
+ * the Free Software Foundation, either version 3 of the License, or
12
+ * (at your option) any later version.
13
+ *
14
+ * This program is distributed in the hope that it will be useful,
15
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
16
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
17
+ * GNU General Public License for more details.
18
+ *
19
+ * You should have received a copy of the GNU General Public License
20
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
21
+ */
22
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
23
+ if (k2 === undefined) k2 = k;
24
+ var desc = Object.getOwnPropertyDescriptor(m, k);
25
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
26
+ desc = { enumerable: true, get: function() { return m[k]; } };
27
+ }
28
+ Object.defineProperty(o, k2, desc);
29
+ }) : (function(o, m, k, k2) {
30
+ if (k2 === undefined) k2 = k;
31
+ o[k2] = m[k];
32
+ }));
33
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
34
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
35
+ };
36
+ Object.defineProperty(exports, "__esModule", { value: true });
37
+ __exportStar(require("./Portal"), exports);
38
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/portal/index.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;;;;GAmBG;;;;;;;;;;;;;;;;AAEH,2CAAyB"}
@@ -118,7 +118,7 @@ const Table = (props
118
118
  if (!getTableProps) {
119
119
  throw new Error('getTableProps is required');
120
120
  }
121
- return ((0, jsx_runtime_1.jsxs)("div", Object.assign({ className: (0, classnames_1.default)('ndl-table n-overflow-hidden n-flex n-flex-col n-divide-y n-divide-light-neutral-border-weak n-bg-light-neutral-bg-weak n-shadow-l3', className), style: style, role: role }, { children: [controls && ((0, jsx_runtime_1.jsx)("div", Object.assign({ className: "n-px-7 n-py-6 n-flex n-flex-row n-items-center" }, { children: controls }))), (0, jsx_runtime_1.jsx)("div", Object.assign({ className: "n-overflow-x-auto" }, { children: (0, jsx_runtime_1.jsxs)("table", Object.assign({}, getTableProps(), { className: "n-w-full n-min-w-full n-divide-y n-divide-light-neutral-border-weak n-bg-light-neutral-bg-weak" }, { children: [header || (0, jsx_runtime_1.jsx)(DefaultHeader, Object.assign({}, props)), body || (0, jsx_runtime_1.jsx)(DefaultBody, Object.assign({}, props))] })) })), navigation || ((0, jsx_runtime_1.jsx)(DefaultNavigation, Object.assign({}, props)))] })));
121
+ return ((0, jsx_runtime_1.jsxs)("div", Object.assign({ className: (0, classnames_1.default)('ndl-table n-overflow-hidden n-flex n-flex-col n-divide-y n-divide-light-neutral-border-weak n-bg-light-neutral-bg-weak', className), style: style, role: role }, { children: [controls && ((0, jsx_runtime_1.jsx)("div", Object.assign({ className: "n-px-7 n-py-6 n-flex n-flex-row n-items-center" }, { children: controls }))), (0, jsx_runtime_1.jsx)("div", Object.assign({ className: "n-overflow-x-auto" }, { children: (0, jsx_runtime_1.jsxs)("table", Object.assign({}, getTableProps(), { className: "n-w-full n-min-w-full n-divide-y n-divide-light-neutral-border-weak n-bg-light-neutral-bg-weak" }, { children: [header || (0, jsx_runtime_1.jsx)(DefaultHeader, Object.assign({}, props)), body || (0, jsx_runtime_1.jsx)(DefaultBody, Object.assign({}, props))] })) })), navigation || ((0, jsx_runtime_1.jsx)(DefaultNavigation, Object.assign({}, props)))] })));
122
122
  };
123
123
  exports.default = Table;
124
124
  //# sourceMappingURL=Table.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Table.js","sourceRoot":"","sources":["../../../src/table/Table.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Table.js","sourceRoot":"","sources":["../../../src/table/Table.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,310 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || function (mod) {
19
+ if (mod && mod.__esModule) return mod;
20
+ var result = {};
21
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
+ __setModuleDefault(result, mod);
23
+ return result;
24
+ };
25
+ Object.defineProperty(exports, "__esModule", { value: true });
26
+ exports.TrapFocus = void 0;
27
+ const jsx_runtime_1 = require("react/jsx-runtime");
28
+ /**
29
+ *
30
+ * Copyright (c) "Neo4j"
31
+ * Neo4j Sweden AB [http://neo4j.com]
32
+ *
33
+ * This file is part of Neo4j.
34
+ *
35
+ * Neo4j is free software: you can redistribute it and/or modify
36
+ * it under the terms of the GNU General Public License as published by
37
+ * the Free Software Foundation, either version 3 of the License, or
38
+ * (at your option) any later version.
39
+ *
40
+ * This program is distributed in the hope that it will be useful,
41
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
42
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
43
+ * GNU General Public License for more details.
44
+ *
45
+ * You should have received a copy of the GNU General Public License
46
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
47
+ */
48
+ /* eslint-disable consistent-return, jsx-a11y/no-noninteractive-tabindex */
49
+ const React = __importStar(require("react"));
50
+ /**
51
+ * A modified version of the Material UI (@mui/material) TrapFocus component.
52
+ * We use a modified/slimmed version for easier maintenance.
53
+ *
54
+ * See the LICENSES.txt file for license for @mui/material
55
+ */
56
+ function setRef(ref, value) {
57
+ if (typeof ref === 'function') {
58
+ ref(value);
59
+ }
60
+ else if (ref) {
61
+ ref.current = value;
62
+ }
63
+ }
64
+ function useForkRef(refA, refB) {
65
+ /**
66
+ * This will create a new function if the ref props change and are defined.
67
+ * This means react will call the old forkRef with `null` and the new forkRef
68
+ * with the ref. Cleanup naturally emerges from this behavior.
69
+ */
70
+ return React.useMemo(() => {
71
+ if (refA == null && refB == null) {
72
+ return null;
73
+ }
74
+ return (refValue) => {
75
+ setRef(refA, refValue);
76
+ setRef(refB, refValue);
77
+ };
78
+ }, [refA, refB]);
79
+ }
80
+ function ownerDocument(node) {
81
+ return (node && node.ownerDocument) || document;
82
+ }
83
+ // Inspired by https://github.com/focus-trap/tabbable
84
+ const candidatesSelector = [
85
+ 'input',
86
+ 'select',
87
+ 'textarea',
88
+ 'a[href]',
89
+ 'button',
90
+ '[tabindex]',
91
+ 'audio[controls]',
92
+ 'video[controls]',
93
+ '[contenteditable]:not([contenteditable="false"])',
94
+ ].join(',');
95
+ function getTabIndex(node) {
96
+ const tabindexAttr = parseInt(node.getAttribute('tabindex'), 10);
97
+ if (!Number.isNaN(tabindexAttr)) {
98
+ return tabindexAttr;
99
+ }
100
+ // Browsers do not return `tabIndex` correctly for contentEditable nodes;
101
+ // https://bugs.chromium.org/p/chromium/issues/detail?id=661108&q=contenteditable%20tabindex&can=2
102
+ // so if they don't have a tabindex attribute specifically set, assume it's 0.
103
+ // in Chrome, <details/>, <audio controls/> and <video controls/> elements get a default
104
+ // `tabIndex` of -1 when the 'tabindex' attribute isn't specified in the DOM,
105
+ // yet they are still part of the regular tab order; in FF, they get a default
106
+ // `tabIndex` of 0; since Chrome still puts those elements in the regular tab
107
+ // order, consider their tab index to be 0.
108
+ if (node.contentEditable === 'true' ||
109
+ ((node.nodeName === 'AUDIO' ||
110
+ node.nodeName === 'VIDEO' ||
111
+ node.nodeName === 'DETAILS') &&
112
+ node.getAttribute('tabindex') === null)) {
113
+ return 0;
114
+ }
115
+ return node.tabIndex;
116
+ }
117
+ function isNonTabbableRadio(node) {
118
+ if (node.tagName !== 'INPUT' || node.type !== 'radio') {
119
+ return false;
120
+ }
121
+ if (!node.name) {
122
+ return false;
123
+ }
124
+ const getRadio = (selector) => node.ownerDocument.querySelector(`input[type="radio"]${selector}`);
125
+ let roving = getRadio(`[name="${node.name}"]:checked`);
126
+ if (!roving) {
127
+ roving = getRadio(`[name="${node.name}"]`);
128
+ }
129
+ return roving !== node;
130
+ }
131
+ function isNodeMatchingSelectorFocusable(node) {
132
+ if (node.disabled ||
133
+ (node.tagName === 'INPUT' && node.type === 'hidden') ||
134
+ isNonTabbableRadio(node)) {
135
+ return false;
136
+ }
137
+ return true;
138
+ }
139
+ function defaultGetTabbable(root) {
140
+ const regularTabNodes = [];
141
+ const orderedTabNodes = [];
142
+ Array.from(root.querySelectorAll(candidatesSelector)).forEach((node, i) => {
143
+ const nodeTabIndex = getTabIndex(node);
144
+ if (nodeTabIndex === -1 || !isNodeMatchingSelectorFocusable(node)) {
145
+ return;
146
+ }
147
+ if (nodeTabIndex === 0) {
148
+ regularTabNodes.push(node);
149
+ }
150
+ else {
151
+ orderedTabNodes.push({
152
+ documentOrder: i,
153
+ tabIndex: nodeTabIndex,
154
+ node,
155
+ });
156
+ }
157
+ });
158
+ return orderedTabNodes
159
+ .sort((a, b) => a.tabIndex === b.tabIndex
160
+ ? a.documentOrder - b.documentOrder
161
+ : a.tabIndex - b.tabIndex)
162
+ .map((a) => a.node)
163
+ .concat(regularTabNodes);
164
+ }
165
+ /**
166
+ * Utility component that locks focus inside the component.
167
+ */
168
+ function TrapFocus(props) {
169
+ const { children, disableRestoreFocus = false, getTabbable = defaultGetTabbable, open, } = props;
170
+ const ignoreNextEnforceFocus = React.useRef();
171
+ const sentinelStart = React.useRef(null);
172
+ const sentinelEnd = React.useRef(null);
173
+ const nodeToRestore = React.useRef(null);
174
+ const reactFocusEventTarget = React.useRef(null);
175
+ const rootRef = React.useRef(null);
176
+ const handleRef = useForkRef(children.ref, rootRef);
177
+ const lastKeydown = React.useRef(null);
178
+ React.useEffect(() => {
179
+ // We might render an empty child.
180
+ if (!open || !rootRef.current) {
181
+ return;
182
+ }
183
+ const doc = ownerDocument(rootRef.current);
184
+ if (!rootRef.current.contains(doc.activeElement)) {
185
+ if (!rootRef.current.hasAttribute('tabIndex')) {
186
+ rootRef.current.setAttribute('tabIndex', '-1');
187
+ }
188
+ rootRef.current.focus();
189
+ }
190
+ return () => {
191
+ // restoreLastFocus()
192
+ if (!disableRestoreFocus) {
193
+ // In IE11 it is possible for document.activeElement to be null resulting
194
+ // in nodeToRestore.current being null.
195
+ // Not all elements in IE11 have a focus method.
196
+ // Once IE11 support is dropped the focus() call can be unconditional.
197
+ if (nodeToRestore.current && nodeToRestore.current.focus) {
198
+ ignoreNextEnforceFocus.current = true;
199
+ nodeToRestore.current.focus();
200
+ }
201
+ nodeToRestore.current = null;
202
+ }
203
+ };
204
+ // Missing `disableRestoreFocus` which is fine.
205
+ // We don't support changing that prop on an open TrapFocus
206
+ // eslint-disable-next-line react-hooks/exhaustive-deps
207
+ }, [open]);
208
+ React.useEffect(() => {
209
+ // We might render an empty child.
210
+ if (!open || !rootRef.current) {
211
+ return;
212
+ }
213
+ const doc = ownerDocument(rootRef.current);
214
+ const contain = (nativeEvent) => {
215
+ var _a, _b;
216
+ const { current: rootElement } = rootRef;
217
+ // Cleanup functions are executed lazily in React 17.
218
+ // Contain can be called between the component being unmounted and its cleanup function being run.
219
+ if (rootElement === null) {
220
+ return;
221
+ }
222
+ if (!doc.hasFocus() || ignoreNextEnforceFocus.current) {
223
+ ignoreNextEnforceFocus.current = false;
224
+ return;
225
+ }
226
+ if (!rootElement.contains(doc.activeElement)) {
227
+ // if the focus event is not coming from inside the children's react tree, reset the refs
228
+ if ((nativeEvent &&
229
+ reactFocusEventTarget.current !== nativeEvent.target) ||
230
+ doc.activeElement !== reactFocusEventTarget.current) {
231
+ reactFocusEventTarget.current = null;
232
+ }
233
+ else if (reactFocusEventTarget.current !== null) {
234
+ return;
235
+ }
236
+ let tabbable = [];
237
+ if (doc.activeElement === sentinelStart.current ||
238
+ doc.activeElement === sentinelEnd.current) {
239
+ tabbable = getTabbable(rootRef.current);
240
+ }
241
+ if (tabbable.length > 0) {
242
+ const isShiftTab = Boolean(((_a = lastKeydown.current) === null || _a === void 0 ? void 0 : _a.shiftKey) && ((_b = lastKeydown.current) === null || _b === void 0 ? void 0 : _b.key) === 'Tab');
243
+ const focusNext = tabbable[0];
244
+ const focusPrevious = tabbable[tabbable.length - 1];
245
+ if (isShiftTab) {
246
+ focusPrevious.focus();
247
+ }
248
+ else {
249
+ focusNext.focus();
250
+ }
251
+ }
252
+ else {
253
+ rootElement.focus();
254
+ }
255
+ }
256
+ };
257
+ const loopFocus = (nativeEvent) => {
258
+ var _a;
259
+ lastKeydown.current = nativeEvent;
260
+ if (nativeEvent.key !== 'Tab') {
261
+ return;
262
+ }
263
+ // Make sure the next tab starts from the right place.
264
+ // doc.activeElement referes to the origin.
265
+ if (doc.activeElement === rootRef.current && nativeEvent.shiftKey) {
266
+ // We need to ignore the next contain as
267
+ // it will try to move the focus back to the rootRef element.
268
+ ignoreNextEnforceFocus.current = true;
269
+ (_a = sentinelEnd.current) === null || _a === void 0 ? void 0 : _a.focus();
270
+ }
271
+ };
272
+ doc.addEventListener('focusin', contain);
273
+ doc.addEventListener('keydown', loopFocus, true);
274
+ // With Edge, Safari and Firefox, no focus related events are fired when the focused area stops being a focused area.
275
+ // e.g. https://bugzilla.mozilla.org/show_bug.cgi?id=559561.
276
+ // Instead, we can look if the active element was restored on the BODY element.
277
+ //
278
+ // The whatwg spec defines how the browser should behave but does not explicitly mention any events:
279
+ // https://html.spec.whatwg.org/multipage/interaction.html#focus-fixup-rule.
280
+ const interval = setInterval(() => {
281
+ var _a;
282
+ if (((_a = doc.activeElement) === null || _a === void 0 ? void 0 : _a.tagName) === 'BODY') {
283
+ contain();
284
+ }
285
+ }, 50);
286
+ return () => {
287
+ clearInterval(interval);
288
+ doc.removeEventListener('focusin', contain);
289
+ doc.removeEventListener('keydown', loopFocus, true);
290
+ };
291
+ }, [disableRestoreFocus, open, getTabbable]);
292
+ const onFocus = (event) => {
293
+ if (nodeToRestore.current === null) {
294
+ nodeToRestore.current = event.relatedTarget;
295
+ }
296
+ reactFocusEventTarget.current = event.target;
297
+ const childrenPropsHandler = children.props.onFocus;
298
+ if (childrenPropsHandler) {
299
+ childrenPropsHandler(event);
300
+ }
301
+ };
302
+ const handleFocusSentinel = (event) => {
303
+ if (nodeToRestore.current === null) {
304
+ nodeToRestore.current = event.relatedTarget;
305
+ }
306
+ };
307
+ return ((0, jsx_runtime_1.jsxs)(React.Fragment, { children: [(0, jsx_runtime_1.jsx)("div", { tabIndex: 0, onFocus: handleFocusSentinel, ref: sentinelStart, "data-test": "sentinelStart" }), React.cloneElement(children, { ref: handleRef, onFocus }), (0, jsx_runtime_1.jsx)("div", { tabIndex: 0, onFocus: handleFocusSentinel, ref: sentinelEnd, "data-test": "sentinelEnd" })] }));
308
+ }
309
+ exports.TrapFocus = TrapFocus;
310
+ //# sourceMappingURL=TrapFocus.js.map