@deephaven/components 0.22.3-deep-bot-test.14 → 0.23.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/dist/AutoCompleteInput.js +12 -85
- package/dist/AutoCompleteInput.js.map +1 -1
- package/dist/AutoResizeTextarea.d.ts +5 -5
- package/dist/AutoResizeTextarea.d.ts.map +1 -1
- package/dist/AutoResizeTextarea.js +8 -23
- package/dist/AutoResizeTextarea.js.map +1 -1
- package/dist/BasicModal.d.ts +28 -1
- package/dist/BasicModal.d.ts.map +1 -1
- package/dist/BasicModal.js +2 -8
- package/dist/BasicModal.js.map +1 -1
- package/dist/Button.d.ts +9 -9
- package/dist/Button.d.ts.map +1 -1
- package/dist/Button.js +8 -34
- package/dist/Button.js.map +1 -1
- package/dist/ButtonGroup.d.ts +7 -7
- package/dist/ButtonGroup.d.ts.map +1 -1
- package/dist/ButtonGroup.js +2 -4
- package/dist/ButtonGroup.js.map +1 -1
- package/dist/ButtonOld.js.map +1 -1
- package/dist/CardFlip.d.ts +2 -2
- package/dist/CardFlip.d.ts.map +1 -1
- package/dist/CardFlip.js +2 -7
- package/dist/CardFlip.js.map +1 -1
- package/dist/Checkbox.js +3 -14
- package/dist/Checkbox.js.map +1 -1
- package/dist/Collapse.d.ts +1 -1
- package/dist/Collapse.js +0 -15
- package/dist/Collapse.js.map +1 -1
- package/dist/ComboBox.js +4 -83
- package/dist/ComboBox.js.map +1 -1
- package/dist/CopyButton.d.ts +2 -2
- package/dist/CopyButton.d.ts.map +1 -1
- package/dist/CopyButton.js +2 -4
- package/dist/CopyButton.js.map +1 -1
- package/dist/CustomTimeSelect.d.ts +3 -3
- package/dist/CustomTimeSelect.d.ts.map +1 -1
- package/dist/CustomTimeSelect.js +2 -86
- package/dist/CustomTimeSelect.js.map +1 -1
- package/dist/DateInput.d.ts +1 -1
- package/dist/DateInput.d.ts.map +1 -1
- package/dist/DateInput.js.map +1 -1
- package/dist/DateInputUtils.js +0 -7
- package/dist/DateInputUtils.js.map +1 -1
- package/dist/DateTimeInput.d.ts +1 -1
- package/dist/DateTimeInput.d.ts.map +1 -1
- package/dist/DateTimeInput.js +7 -10
- package/dist/DateTimeInput.js.map +1 -1
- package/dist/DebouncedSearchInput.js +0 -14
- package/dist/DebouncedSearchInput.js.map +1 -1
- package/dist/DragUtils.d.ts +1 -1
- package/dist/DragUtils.d.ts.map +1 -1
- package/dist/DragUtils.js +4 -16
- package/dist/DragUtils.js.map +1 -1
- package/dist/DraggableItemList.d.ts +4 -4
- package/dist/DraggableItemList.d.ts.map +1 -1
- package/dist/DraggableItemList.js +22 -44
- package/dist/DraggableItemList.js.map +1 -1
- package/dist/EditableItemList.d.ts +1 -1
- package/dist/EditableItemList.d.ts.map +1 -1
- package/dist/EditableItemList.js +2 -6
- package/dist/EditableItemList.js.map +1 -1
- package/dist/HierarchicalCheckboxMenu.d.ts +3 -3
- package/dist/HierarchicalCheckboxMenu.d.ts.map +1 -1
- package/dist/HierarchicalCheckboxMenu.js +6 -28
- package/dist/HierarchicalCheckboxMenu.js.map +1 -1
- package/dist/ItemList.d.ts +5 -5
- package/dist/ItemList.d.ts.map +1 -1
- package/dist/ItemList.js +22 -115
- package/dist/ItemList.js.map +1 -1
- package/dist/ItemListItem.d.ts +0 -1
- package/dist/ItemListItem.d.ts.map +1 -1
- package/dist/ItemListItem.js +26 -50
- package/dist/ItemListItem.js.map +1 -1
- package/dist/LoadingOverlay.d.ts +2 -2
- package/dist/LoadingOverlay.d.ts.map +1 -1
- package/dist/LoadingOverlay.js +3 -5
- package/dist/LoadingOverlay.js.map +1 -1
- package/dist/LoadingSpinner.d.ts +2 -2
- package/dist/LoadingSpinner.d.ts.map +1 -1
- package/dist/LoadingSpinner.js +2 -4
- package/dist/LoadingSpinner.js.map +1 -1
- package/dist/MaskedInput.d.ts +2 -2
- package/dist/MaskedInput.d.ts.map +1 -1
- package/dist/MaskedInput.js +26 -85
- package/dist/MaskedInput.js.map +1 -1
- package/dist/Option.d.ts +2 -2
- package/dist/Option.d.ts.map +1 -1
- package/dist/Option.js +2 -4
- package/dist/Option.js.map +1 -1
- package/dist/RadioGroup.d.ts +2 -2
- package/dist/RadioGroup.d.ts.map +1 -1
- package/dist/RadioGroup.js +4 -6
- package/dist/RadioGroup.js.map +1 -1
- package/dist/RadioItem.d.ts +1 -1
- package/dist/RadioItem.d.ts.map +1 -1
- package/dist/RadioItem.js +0 -1
- package/dist/RadioItem.js.map +1 -1
- package/dist/SearchInput.js +2 -13
- package/dist/SearchInput.js.map +1 -1
- package/dist/Select.d.ts +2 -2
- package/dist/Select.d.ts.map +1 -1
- package/dist/Select.js +2 -4
- package/dist/Select.js.map +1 -1
- package/dist/SelectValueList.d.ts +1 -1
- package/dist/SelectValueList.d.ts.map +1 -1
- package/dist/SelectValueList.js +0 -28
- package/dist/SelectValueList.js.map +1 -1
- package/dist/SocketedButton.d.ts +1 -1
- package/dist/SocketedButton.d.ts.map +1 -1
- package/dist/SocketedButton.js.map +1 -1
- package/dist/ThemeExport.d.ts +4 -4
- package/dist/ThemeExport.js +0 -4
- package/dist/ThemeExport.js.map +1 -1
- package/dist/TimeInput.d.ts +2 -2
- package/dist/TimeInput.d.ts.map +1 -1
- package/dist/TimeInput.js +2 -12
- package/dist/TimeInput.js.map +1 -1
- package/dist/TimeSlider.d.ts +2 -2
- package/dist/TimeSlider.d.ts.map +1 -1
- package/dist/TimeSlider.js +19 -33
- package/dist/TimeSlider.js.map +1 -1
- package/dist/ToastNotification.d.ts +6 -6
- package/dist/ToastNotification.d.ts.map +1 -1
- package/dist/ToastNotification.js +2 -4
- package/dist/ToastNotification.js.map +1 -1
- package/dist/UISwitch.d.ts +2 -2
- package/dist/UISwitch.d.ts.map +1 -1
- package/dist/UISwitch.js +2 -4
- package/dist/UISwitch.js.map +1 -1
- package/dist/ValidateLabelInput.d.ts +1 -1
- package/dist/ValidateLabelInput.d.ts.map +1 -1
- package/dist/ValidateLabelInput.js +3 -3
- package/dist/ValidateLabelInput.js.map +1 -1
- package/dist/context-actions/ContextActionUtils.d.ts +3 -3
- package/dist/context-actions/ContextActionUtils.d.ts.map +1 -1
- package/dist/context-actions/ContextActionUtils.js +9 -40
- package/dist/context-actions/ContextActionUtils.js.map +1 -1
- package/dist/context-actions/ContextActions.js +1 -34
- package/dist/context-actions/ContextActions.js.map +1 -1
- package/dist/context-actions/ContextMenu.js +29 -110
- package/dist/context-actions/ContextMenu.js.map +1 -1
- package/dist/context-actions/ContextMenuItem.d.ts.map +1 -1
- package/dist/context-actions/ContextMenuItem.js +3 -19
- package/dist/context-actions/ContextMenuItem.js.map +1 -1
- package/dist/context-actions/ContextMenuRoot.d.ts +1 -1
- package/dist/context-actions/ContextMenuRoot.d.ts.map +1 -1
- package/dist/context-actions/ContextMenuRoot.js +7 -26
- package/dist/context-actions/ContextMenuRoot.js.map +1 -1
- package/dist/context-actions/GlobalContextAction.js +0 -15
- package/dist/context-actions/GlobalContextAction.js.map +1 -1
- package/dist/context-actions/GlobalContextActions.js +0 -6
- package/dist/context-actions/GlobalContextActions.js.map +1 -1
- package/dist/context-actions/index.js.map +1 -1
- package/dist/index.js.map +1 -1
- package/dist/menu-actions/DropdownMenu.d.ts +3 -3
- package/dist/menu-actions/DropdownMenu.d.ts.map +1 -1
- package/dist/menu-actions/DropdownMenu.js +4 -32
- package/dist/menu-actions/DropdownMenu.js.map +1 -1
- package/dist/menu-actions/Menu.d.ts +3 -3
- package/dist/menu-actions/Menu.d.ts.map +1 -1
- package/dist/menu-actions/Menu.js +7 -52
- package/dist/menu-actions/Menu.js.map +1 -1
- package/dist/menu-actions/index.d.ts +2 -1
- package/dist/menu-actions/index.d.ts.map +1 -1
- package/dist/menu-actions/index.js +2 -2
- package/dist/menu-actions/index.js.map +1 -1
- package/dist/modal/Modal.d.ts +2 -2
- package/dist/modal/Modal.d.ts.map +1 -1
- package/dist/modal/Modal.js +3 -9
- package/dist/modal/Modal.js.map +1 -1
- package/dist/modal/ModalBody.d.ts +1 -1
- package/dist/modal/ModalBody.d.ts.map +1 -1
- package/dist/modal/ModalBody.js +2 -4
- package/dist/modal/ModalBody.js.map +1 -1
- package/dist/modal/ModalFooter.d.ts +1 -1
- package/dist/modal/ModalFooter.d.ts.map +1 -1
- package/dist/modal/ModalFooter.js +2 -4
- package/dist/modal/ModalFooter.js.map +1 -1
- package/dist/modal/ModalHeader.d.ts +1 -1
- package/dist/modal/ModalHeader.d.ts.map +1 -1
- package/dist/modal/ModalHeader.js +2 -4
- package/dist/modal/ModalHeader.js.map +1 -1
- package/dist/modal/index.js.map +1 -1
- package/dist/navigation/Menu.d.ts +3 -3
- package/dist/navigation/Menu.d.ts.map +1 -1
- package/dist/navigation/Menu.js +2 -2
- package/dist/navigation/Menu.js.map +1 -1
- package/dist/navigation/MenuItem.d.ts +4 -4
- package/dist/navigation/MenuItem.d.ts.map +1 -1
- package/dist/navigation/MenuItem.js +4 -7
- package/dist/navigation/MenuItem.js.map +1 -1
- package/dist/navigation/Page.d.ts +2 -2
- package/dist/navigation/Page.d.ts.map +1 -1
- package/dist/navigation/Page.js +2 -3
- package/dist/navigation/Page.js.map +1 -1
- package/dist/navigation/Stack.d.ts +2 -2
- package/dist/navigation/Stack.d.ts.map +1 -1
- package/dist/navigation/Stack.js +3 -6
- package/dist/navigation/Stack.js.map +1 -1
- package/dist/navigation/index.js.map +1 -1
- package/dist/popper/Popper.d.ts +2 -2
- package/dist/popper/Popper.d.ts.map +1 -1
- package/dist/popper/Popper.js +13 -46
- package/dist/popper/Popper.js.map +1 -1
- package/dist/popper/Tooltip.d.ts +1 -1
- package/dist/popper/Tooltip.d.ts.map +1 -1
- package/dist/popper/Tooltip.js +0 -56
- package/dist/popper/Tooltip.js.map +1 -1
- package/dist/popper/index.js.map +1 -1
- package/dist/shortcuts/GlobalShortcuts.js.map +1 -1
- package/dist/shortcuts/Shortcut.d.ts +2 -2
- package/dist/shortcuts/Shortcut.d.ts.map +1 -1
- package/dist/shortcuts/Shortcut.js +19 -76
- package/dist/shortcuts/Shortcut.js.map +1 -1
- package/dist/shortcuts/ShortcutRegistry.d.ts +1 -1
- package/dist/shortcuts/ShortcutRegistry.d.ts.map +1 -1
- package/dist/shortcuts/ShortcutRegistry.js +3 -18
- package/dist/shortcuts/ShortcutRegistry.js.map +1 -1
- package/dist/shortcuts/index.js.map +1 -1
- package/package.json +8 -8
|
@@ -1,13 +1,9 @@
|
|
|
1
1
|
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
|
|
2
|
-
|
|
3
2
|
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
|
|
4
|
-
|
|
5
3
|
function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
|
6
|
-
|
|
7
4
|
import React, { PureComponent } from 'react';
|
|
8
5
|
import ContextActionUtils from "../context-actions/ContextActionUtils.js";
|
|
9
6
|
import ContextMenuItem from "../context-actions/ContextMenuItem.js";
|
|
10
|
-
|
|
11
7
|
/**
|
|
12
8
|
* Do not use this class directly. Use DropdownMenu instead.
|
|
13
9
|
*
|
|
@@ -16,18 +12,14 @@ import ContextMenuItem from "../context-actions/ContextMenuItem.js";
|
|
|
16
12
|
* but still re-uses styling from context-menu. Depending on how usage evolves, may get split further.
|
|
17
13
|
*
|
|
18
14
|
*/
|
|
15
|
+
|
|
19
16
|
class Menu extends PureComponent {
|
|
20
17
|
constructor(props) {
|
|
21
18
|
var _options$initialKeybo;
|
|
22
|
-
|
|
23
19
|
super(props);
|
|
24
|
-
|
|
25
20
|
_defineProperty(this, "container", void 0);
|
|
26
|
-
|
|
27
21
|
_defineProperty(this, "oldFocus", void 0);
|
|
28
|
-
|
|
29
22
|
_defineProperty(this, "rAF", void 0);
|
|
30
|
-
|
|
31
23
|
this.handleKeyDown = this.handleKeyDown.bind(this);
|
|
32
24
|
this.handleMenuItemClick = this.handleMenuItemClick.bind(this);
|
|
33
25
|
this.handleMenuItemMouseMove = this.handleMenuItemMouseMove.bind(this);
|
|
@@ -46,12 +38,10 @@ class Menu extends PureComponent {
|
|
|
46
38
|
mouseIndex: -1
|
|
47
39
|
};
|
|
48
40
|
}
|
|
49
|
-
|
|
50
41
|
componentDidMount() {
|
|
51
42
|
this.initMenu();
|
|
52
43
|
this.rAF = window.requestAnimationFrame(() => {
|
|
53
44
|
var _this$container$curre;
|
|
54
|
-
|
|
55
45
|
// set initial focus to container so keyboard navigation works
|
|
56
46
|
// components can still override focus in onMenuOpened callback
|
|
57
47
|
(_this$container$curre = this.container.current) === null || _this$container$curre === void 0 ? void 0 : _this$container$curre.focus();
|
|
@@ -61,41 +51,33 @@ class Menu extends PureComponent {
|
|
|
61
51
|
onMenuOpened(this);
|
|
62
52
|
});
|
|
63
53
|
}
|
|
64
|
-
|
|
65
54
|
componentDidUpdate(prevProps) {
|
|
66
55
|
var {
|
|
67
56
|
actions
|
|
68
57
|
} = this.props;
|
|
69
|
-
|
|
70
58
|
if (prevProps.actions !== actions) {
|
|
71
59
|
this.initMenu();
|
|
72
60
|
}
|
|
73
61
|
}
|
|
74
|
-
|
|
75
62
|
componentWillUnmount() {
|
|
76
63
|
cancelAnimationFrame(this.rAF);
|
|
77
64
|
}
|
|
78
|
-
|
|
79
65
|
getKeyboardIndex() {
|
|
80
66
|
var {
|
|
81
67
|
options
|
|
82
68
|
} = this.props;
|
|
83
|
-
|
|
84
69
|
if (options.separateKeyboardMouse !== undefined && options.separateKeyboardMouse) {
|
|
85
70
|
var {
|
|
86
71
|
keyboardIndex
|
|
87
72
|
} = this.state;
|
|
88
73
|
return keyboardIndex;
|
|
89
74
|
}
|
|
90
|
-
|
|
91
75
|
return this.getMouseIndex();
|
|
92
76
|
}
|
|
93
|
-
|
|
94
77
|
setKeyboardIndex(index) {
|
|
95
78
|
var {
|
|
96
79
|
options
|
|
97
80
|
} = this.props;
|
|
98
|
-
|
|
99
81
|
if (options.separateKeyboardMouse !== undefined && options.separateKeyboardMouse) {
|
|
100
82
|
this.setState({
|
|
101
83
|
keyboardIndex: index
|
|
@@ -104,20 +86,17 @@ class Menu extends PureComponent {
|
|
|
104
86
|
this.setMouseIndex(index);
|
|
105
87
|
}
|
|
106
88
|
}
|
|
107
|
-
|
|
108
89
|
getMouseIndex() {
|
|
109
90
|
var {
|
|
110
91
|
mouseIndex
|
|
111
92
|
} = this.state;
|
|
112
93
|
return mouseIndex;
|
|
113
94
|
}
|
|
114
|
-
|
|
115
95
|
setMouseIndex(index) {
|
|
116
96
|
this.setState({
|
|
117
97
|
mouseIndex: index
|
|
118
98
|
});
|
|
119
99
|
}
|
|
120
|
-
|
|
121
100
|
initMenu() {
|
|
122
101
|
// cancel any pending close
|
|
123
102
|
cancelAnimationFrame(this.rAF);
|
|
@@ -128,57 +107,46 @@ class Menu extends PureComponent {
|
|
|
128
107
|
actions
|
|
129
108
|
} = this.props;
|
|
130
109
|
var menuItems = ContextActionUtils.getMenuItems(actions, false);
|
|
131
|
-
|
|
132
110
|
if (menuItems.length > 0) {
|
|
133
111
|
this.setState(state => ({
|
|
134
112
|
menuItems: ContextActionUtils.sortActions(state.menuItems.concat(menuItems))
|
|
135
113
|
}));
|
|
136
114
|
}
|
|
137
115
|
}
|
|
138
|
-
|
|
139
116
|
handleKeyDown(e) {
|
|
140
117
|
var {
|
|
141
118
|
menuItems
|
|
142
119
|
} = this.state;
|
|
143
120
|
var oldFocus = this.getKeyboardIndex();
|
|
144
121
|
var newFocus = oldFocus;
|
|
145
|
-
|
|
146
122
|
if (e.key === 'Enter' || e.key === ' ') {
|
|
147
123
|
if (oldFocus != null && oldFocus >= 0 && oldFocus < menuItems.length) {
|
|
148
124
|
this.handleMenuItemClick(menuItems[oldFocus], e);
|
|
149
125
|
}
|
|
150
|
-
|
|
151
126
|
return;
|
|
152
127
|
}
|
|
153
|
-
|
|
154
128
|
if (e.key === 'Escape') {
|
|
155
129
|
newFocus = null;
|
|
156
130
|
} else if (e.key === 'ArrowUp' || e.key === 'Tab' && e.shiftKey === true) {
|
|
157
131
|
var _newFocus;
|
|
158
|
-
|
|
159
132
|
newFocus = ContextActionUtils.getNextMenuItem((_newFocus = newFocus) !== null && _newFocus !== void 0 ? _newFocus : 0, -1, menuItems);
|
|
160
133
|
} else if (e.key === 'ArrowDown' || e.key === 'Tab' && e.shiftKey === false) {
|
|
161
134
|
var _newFocus2;
|
|
162
|
-
|
|
163
135
|
newFocus = ContextActionUtils.getNextMenuItem((_newFocus2 = newFocus) !== null && _newFocus2 !== void 0 ? _newFocus2 : 0, 1, menuItems);
|
|
164
136
|
}
|
|
165
|
-
|
|
166
137
|
if (oldFocus !== newFocus) {
|
|
167
138
|
if (newFocus !== null) {
|
|
168
139
|
this.setKeyboardIndex(newFocus);
|
|
169
140
|
} else {
|
|
170
141
|
this.closeMenu();
|
|
171
|
-
|
|
172
142
|
if (this.oldFocus instanceof HTMLElement) {
|
|
173
143
|
this.oldFocus.focus();
|
|
174
144
|
}
|
|
175
145
|
}
|
|
176
|
-
|
|
177
146
|
e.preventDefault();
|
|
178
147
|
e.stopPropagation();
|
|
179
148
|
}
|
|
180
149
|
}
|
|
181
|
-
|
|
182
150
|
closeMenu() {
|
|
183
151
|
var closeAll = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;
|
|
184
152
|
var {
|
|
@@ -191,21 +159,17 @@ class Menu extends PureComponent {
|
|
|
191
159
|
onMenuClosed(this);
|
|
192
160
|
});
|
|
193
161
|
}
|
|
194
|
-
|
|
195
162
|
handleCloseMenu() {
|
|
196
163
|
this.closeMenu();
|
|
197
164
|
}
|
|
198
|
-
|
|
199
165
|
handleMenuItemClick(menuItem, e) {
|
|
200
166
|
e.preventDefault();
|
|
201
167
|
e.stopPropagation();
|
|
202
|
-
|
|
203
168
|
if (menuItem != null && (menuItem.disabled === undefined || !menuItem.disabled) && menuItem.action != null) {
|
|
204
169
|
menuItem.action();
|
|
205
170
|
this.closeMenu(true);
|
|
206
171
|
}
|
|
207
172
|
}
|
|
208
|
-
|
|
209
173
|
handleMenuItemMouseMove(menuItem) {
|
|
210
174
|
var {
|
|
211
175
|
menuItems
|
|
@@ -213,11 +177,9 @@ class Menu extends PureComponent {
|
|
|
213
177
|
var focusIndex = menuItems.indexOf(menuItem);
|
|
214
178
|
this.setMouseIndex(focusIndex);
|
|
215
179
|
}
|
|
216
|
-
|
|
217
180
|
handleMouseLeave() {
|
|
218
181
|
this.setMouseIndex(-1);
|
|
219
182
|
}
|
|
220
|
-
|
|
221
183
|
render() {
|
|
222
184
|
var menuItemElements = [];
|
|
223
185
|
var {
|
|
@@ -228,16 +190,13 @@ class Menu extends PureComponent {
|
|
|
228
190
|
menuItems,
|
|
229
191
|
mouseIndex
|
|
230
192
|
} = this.state;
|
|
231
|
-
|
|
232
193
|
for (var i = 0; i < menuItems.length; i += 1) {
|
|
233
194
|
var menuItem = menuItems[i];
|
|
234
|
-
|
|
235
195
|
if (i > 0 && menuItem.group !== menuItems[i - 1].group) {
|
|
236
196
|
menuItemElements.push( /*#__PURE__*/React.createElement("hr", {
|
|
237
197
|
key: "".concat(i, ".separator")
|
|
238
198
|
}));
|
|
239
199
|
}
|
|
240
|
-
|
|
241
200
|
var menuItemElement = /*#__PURE__*/React.createElement(ContextMenuItem, {
|
|
242
201
|
key: i,
|
|
243
202
|
isKeyboardSelected: keyboardIndex === i,
|
|
@@ -250,7 +209,6 @@ class Menu extends PureComponent {
|
|
|
250
209
|
});
|
|
251
210
|
menuItemElements.push(menuItemElement);
|
|
252
211
|
}
|
|
253
|
-
|
|
254
212
|
var {
|
|
255
213
|
menuStyle
|
|
256
214
|
} = this.props;
|
|
@@ -265,23 +223,20 @@ class Menu extends PureComponent {
|
|
|
265
223
|
"data-testid": dataTestId
|
|
266
224
|
}, menuItemElements);
|
|
267
225
|
}
|
|
268
|
-
|
|
269
226
|
}
|
|
270
|
-
|
|
271
227
|
_defineProperty(Menu, "defaultProps", {
|
|
272
|
-
closeMenu() {
|
|
228
|
+
closeMenu() {
|
|
229
|
+
// no-op
|
|
273
230
|
},
|
|
274
|
-
|
|
275
|
-
|
|
231
|
+
onMenuOpened() {
|
|
232
|
+
// no-op
|
|
276
233
|
},
|
|
277
|
-
|
|
278
|
-
|
|
234
|
+
onMenuClosed() {
|
|
235
|
+
// no-op
|
|
279
236
|
},
|
|
280
|
-
|
|
281
237
|
options: {},
|
|
282
238
|
menuStyle: {},
|
|
283
239
|
'data-testid': undefined
|
|
284
240
|
});
|
|
285
|
-
|
|
286
241
|
export default Menu;
|
|
287
242
|
//# sourceMappingURL=Menu.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Menu.js","names":["React","PureComponent","ContextActionUtils","ContextMenuItem","Menu","constructor","props","handleKeyDown","bind","handleMenuItemClick","handleMenuItemMouseMove","handleMouseLeave","handleCloseMenu","container","createRef","oldFocus","document","activeElement","rAF","options","keyboardIndex","initialKeyboardIndex","state","menuItems","mouseIndex","componentDidMount","initMenu","window","requestAnimationFrame","current","focus","onMenuOpened","componentDidUpdate","prevProps","actions","componentWillUnmount","cancelAnimationFrame","getKeyboardIndex","separateKeyboardMouse","undefined","getMouseIndex","setKeyboardIndex","index","setState","setMouseIndex","getMenuItems","length","sortActions","concat","e","newFocus","key","shiftKey","getNextMenuItem","closeMenu","HTMLElement","preventDefault","stopPropagation","closeAll","onMenuClosed","menuItem","disabled","action","focusIndex","indexOf","render","menuItemElements","dataTestId","i","group","push","menuItemElement","menuStyle"],"sources":["../../src/menu-actions/Menu.tsx"],"sourcesContent":["import React, { PureComponent } from 'react';\nimport ContextActionUtils, {\n ContextAction,\n} from '../context-actions/ContextActionUtils';\nimport ContextMenuItem from '../context-actions/ContextMenuItem';\n\nexport type MenuOptions = {\n doNotVerifyPosition?: boolean;\n separateKeyboardMouse?: boolean;\n initialKeyboardIndex?: number;\n};\n\ntype MenuProps = {\n actions: (() => ContextAction[]) | ContextAction | ContextAction[];\n closeMenu(closeAll: boolean): void;\n onMenuClosed(menu: Menu): void;\n onMenuOpened(menu: Menu): void;\n options: MenuOptions;\n menuStyle: React.CSSProperties;\n 'data-testid'?: string;\n};\n\ntype MenuState = {\n menuItems: ContextAction[];\n keyboardIndex: number;\n mouseIndex: number;\n};\n\n/**\n * Do not use this class directly. Use DropdownMenu instead.\n *\n * Generates list from actions for use by DropdownMenu.\n * It has beem split from the context-actions component, due to divergering requirements,\n * but still re-uses styling from context-menu. Depending on how usage evolves, may get split further.\n *\n */\n\nclass Menu extends PureComponent<MenuProps, MenuState> {\n static defaultProps = {\n closeMenu(): void {\n // no-op\n },\n onMenuOpened(): void {\n // no-op\n },\n onMenuClosed(): void {\n // no-op\n },\n options: {},\n menuStyle: {},\n 'data-testid': undefined,\n };\n\n constructor(props: MenuProps) {\n super(props);\n\n this.handleKeyDown = this.handleKeyDown.bind(this);\n this.handleMenuItemClick = this.handleMenuItemClick.bind(this);\n this.handleMenuItemMouseMove = this.handleMenuItemMouseMove.bind(this);\n this.handleMouseLeave = this.handleMouseLeave.bind(this);\n this.handleCloseMenu = this.handleCloseMenu.bind(this);\n\n this.container = React.createRef();\n this.oldFocus = document.activeElement;\n this.rAF = 0;\n\n const { options } = props;\n const keyboardIndex = options.initialKeyboardIndex ?? -1;\n this.state = {\n menuItems: [],\n keyboardIndex,\n mouseIndex: -1,\n };\n }\n\n componentDidMount(): void {\n this.initMenu();\n\n this.rAF = window.requestAnimationFrame(() => {\n // set initial focus to container so keyboard navigation works\n // components can still override focus in onMenuOpened callback\n this.container.current?.focus();\n const { onMenuOpened } = this.props;\n onMenuOpened(this);\n });\n }\n\n componentDidUpdate(prevProps: MenuProps): void {\n const { actions } = this.props;\n if (prevProps.actions !== actions) {\n this.initMenu();\n }\n }\n\n componentWillUnmount(): void {\n cancelAnimationFrame(this.rAF);\n }\n\n container: React.RefObject<HTMLDivElement>;\n\n oldFocus: Element | null;\n\n rAF: number;\n\n getKeyboardIndex(): number | null {\n const { options } = this.props;\n if (\n options.separateKeyboardMouse !== undefined &&\n options.separateKeyboardMouse\n ) {\n const { keyboardIndex } = this.state;\n return keyboardIndex;\n }\n\n return this.getMouseIndex();\n }\n\n setKeyboardIndex(index: number): void {\n const { options } = this.props;\n if (\n options.separateKeyboardMouse !== undefined &&\n options.separateKeyboardMouse\n ) {\n this.setState({ keyboardIndex: index });\n } else {\n this.setMouseIndex(index);\n }\n }\n\n getMouseIndex(): number {\n const { mouseIndex } = this.state;\n return mouseIndex;\n }\n\n setMouseIndex(index: number): void {\n this.setState({ mouseIndex: index });\n }\n\n initMenu(): void {\n // cancel any pending close\n cancelAnimationFrame(this.rAF);\n\n this.setState({\n menuItems: [],\n });\n\n const { actions } = this.props;\n const menuItems = ContextActionUtils.getMenuItems(actions, false);\n\n if (menuItems.length > 0) {\n this.setState(state => ({\n menuItems: ContextActionUtils.sortActions(\n state.menuItems.concat(menuItems)\n ),\n }));\n }\n }\n\n handleKeyDown(e: React.KeyboardEvent): void {\n const { menuItems } = this.state;\n const oldFocus = this.getKeyboardIndex();\n let newFocus = oldFocus;\n\n if (e.key === 'Enter' || e.key === ' ') {\n if (oldFocus != null && oldFocus >= 0 && oldFocus < menuItems.length) {\n this.handleMenuItemClick(menuItems[oldFocus], e);\n }\n return;\n }\n\n if (e.key === 'Escape') {\n newFocus = null;\n } else if (\n e.key === 'ArrowUp' ||\n (e.key === 'Tab' && e.shiftKey === true)\n ) {\n newFocus = ContextActionUtils.getNextMenuItem(\n newFocus ?? 0,\n -1,\n menuItems\n );\n } else if (\n e.key === 'ArrowDown' ||\n (e.key === 'Tab' && e.shiftKey === false)\n ) {\n newFocus = ContextActionUtils.getNextMenuItem(\n newFocus ?? 0,\n 1,\n menuItems\n );\n }\n\n if (oldFocus !== newFocus) {\n if (newFocus !== null) {\n this.setKeyboardIndex(newFocus);\n } else {\n this.closeMenu();\n if (this.oldFocus instanceof HTMLElement) {\n this.oldFocus.focus();\n }\n }\n\n e.preventDefault();\n e.stopPropagation();\n }\n }\n\n closeMenu(closeAll = false): void {\n const { closeMenu, onMenuClosed } = this.props;\n cancelAnimationFrame(this.rAF);\n this.rAF = window.requestAnimationFrame(() => {\n closeMenu(closeAll);\n onMenuClosed(this);\n });\n }\n\n handleCloseMenu(): void {\n this.closeMenu();\n }\n\n handleMenuItemClick(menuItem: ContextAction, e: React.SyntheticEvent): void {\n e.preventDefault();\n e.stopPropagation();\n\n if (\n menuItem != null &&\n (menuItem.disabled === undefined || !menuItem.disabled) &&\n menuItem.action != null\n ) {\n menuItem.action();\n this.closeMenu(true);\n }\n }\n\n handleMenuItemMouseMove(menuItem: ContextAction): void {\n const { menuItems } = this.state;\n const focusIndex = menuItems.indexOf(menuItem);\n this.setMouseIndex(focusIndex);\n }\n\n handleMouseLeave(): void {\n this.setMouseIndex(-1);\n }\n\n render(): JSX.Element {\n const menuItemElements = [];\n const { 'data-testid': dataTestId } = this.props;\n const { keyboardIndex, menuItems, mouseIndex } = this.state;\n for (let i = 0; i < menuItems.length; i += 1) {\n const menuItem = menuItems[i];\n\n if (i > 0 && menuItem.group !== menuItems[i - 1].group) {\n menuItemElements.push(<hr key={`${i}.separator`} />);\n }\n\n const menuItemElement = (\n <ContextMenuItem\n key={i}\n isKeyboardSelected={keyboardIndex === i}\n isMouseSelected={mouseIndex === i}\n menuItem={menuItem}\n closeMenu={this.handleCloseMenu}\n onMenuItemClick={this.handleMenuItemClick}\n onMenuItemMouseMove={this.handleMenuItemMouseMove}\n onMenuItemContextMenu={() => false}\n />\n );\n\n menuItemElements.push(menuItemElement);\n }\n\n const { menuStyle } = this.props;\n\n return (\n <div\n className=\"context-menu-container\"\n style={{ ...menuStyle }}\n ref={this.container}\n onKeyDown={this.handleKeyDown}\n onMouseLeave={this.handleMouseLeave}\n role=\"menuitem\"\n tabIndex={0}\n data-testid={dataTestId}\n >\n {menuItemElements}\n </div>\n );\n }\n}\n\nexport default Menu;\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Menu.js","names":["React","PureComponent","ContextActionUtils","ContextMenuItem","Menu","constructor","props","handleKeyDown","bind","handleMenuItemClick","handleMenuItemMouseMove","handleMouseLeave","handleCloseMenu","container","createRef","oldFocus","document","activeElement","rAF","options","keyboardIndex","initialKeyboardIndex","state","menuItems","mouseIndex","componentDidMount","initMenu","window","requestAnimationFrame","current","focus","onMenuOpened","componentDidUpdate","prevProps","actions","componentWillUnmount","cancelAnimationFrame","getKeyboardIndex","separateKeyboardMouse","undefined","getMouseIndex","setKeyboardIndex","index","setState","setMouseIndex","getMenuItems","length","sortActions","concat","e","newFocus","key","shiftKey","getNextMenuItem","closeMenu","HTMLElement","preventDefault","stopPropagation","closeAll","onMenuClosed","menuItem","disabled","action","focusIndex","indexOf","render","menuItemElements","dataTestId","i","group","push","menuItemElement","menuStyle"],"sources":["../../src/menu-actions/Menu.tsx"],"sourcesContent":["import React, { PureComponent } from 'react';\nimport ContextActionUtils, {\n ContextAction,\n} from '../context-actions/ContextActionUtils';\nimport ContextMenuItem from '../context-actions/ContextMenuItem';\n\nexport type MenuOptions = {\n doNotVerifyPosition?: boolean;\n separateKeyboardMouse?: boolean;\n initialKeyboardIndex?: number;\n};\n\ntype MenuProps = {\n actions: (() => ContextAction[]) | ContextAction | ContextAction[];\n closeMenu(closeAll: boolean): void;\n onMenuClosed(menu: Menu): void;\n onMenuOpened(menu: Menu): void;\n options: MenuOptions;\n menuStyle: React.CSSProperties;\n 'data-testid'?: string;\n};\n\ntype MenuState = {\n menuItems: ContextAction[];\n keyboardIndex: number;\n mouseIndex: number;\n};\n\n/**\n * Do not use this class directly. Use DropdownMenu instead.\n *\n * Generates list from actions for use by DropdownMenu.\n * It has beem split from the context-actions component, due to divergering requirements,\n * but still re-uses styling from context-menu. Depending on how usage evolves, may get split further.\n *\n */\n\nclass Menu extends PureComponent<MenuProps, MenuState> {\n static defaultProps = {\n closeMenu(): void {\n // no-op\n },\n onMenuOpened(): void {\n // no-op\n },\n onMenuClosed(): void {\n // no-op\n },\n options: {},\n menuStyle: {},\n 'data-testid': undefined,\n };\n\n constructor(props: MenuProps) {\n super(props);\n\n this.handleKeyDown = this.handleKeyDown.bind(this);\n this.handleMenuItemClick = this.handleMenuItemClick.bind(this);\n this.handleMenuItemMouseMove = this.handleMenuItemMouseMove.bind(this);\n this.handleMouseLeave = this.handleMouseLeave.bind(this);\n this.handleCloseMenu = this.handleCloseMenu.bind(this);\n\n this.container = React.createRef();\n this.oldFocus = document.activeElement;\n this.rAF = 0;\n\n const { options } = props;\n const keyboardIndex = options.initialKeyboardIndex ?? -1;\n this.state = {\n menuItems: [],\n keyboardIndex,\n mouseIndex: -1,\n };\n }\n\n componentDidMount(): void {\n this.initMenu();\n\n this.rAF = window.requestAnimationFrame(() => {\n // set initial focus to container so keyboard navigation works\n // components can still override focus in onMenuOpened callback\n this.container.current?.focus();\n const { onMenuOpened } = this.props;\n onMenuOpened(this);\n });\n }\n\n componentDidUpdate(prevProps: MenuProps): void {\n const { actions } = this.props;\n if (prevProps.actions !== actions) {\n this.initMenu();\n }\n }\n\n componentWillUnmount(): void {\n cancelAnimationFrame(this.rAF);\n }\n\n container: React.RefObject<HTMLDivElement>;\n\n oldFocus: Element | null;\n\n rAF: number;\n\n getKeyboardIndex(): number | null {\n const { options } = this.props;\n if (\n options.separateKeyboardMouse !== undefined &&\n options.separateKeyboardMouse\n ) {\n const { keyboardIndex } = this.state;\n return keyboardIndex;\n }\n\n return this.getMouseIndex();\n }\n\n setKeyboardIndex(index: number): void {\n const { options } = this.props;\n if (\n options.separateKeyboardMouse !== undefined &&\n options.separateKeyboardMouse\n ) {\n this.setState({ keyboardIndex: index });\n } else {\n this.setMouseIndex(index);\n }\n }\n\n getMouseIndex(): number {\n const { mouseIndex } = this.state;\n return mouseIndex;\n }\n\n setMouseIndex(index: number): void {\n this.setState({ mouseIndex: index });\n }\n\n initMenu(): void {\n // cancel any pending close\n cancelAnimationFrame(this.rAF);\n\n this.setState({\n menuItems: [],\n });\n\n const { actions } = this.props;\n const menuItems = ContextActionUtils.getMenuItems(actions, false);\n\n if (menuItems.length > 0) {\n this.setState(state => ({\n menuItems: ContextActionUtils.sortActions(\n state.menuItems.concat(menuItems)\n ),\n }));\n }\n }\n\n handleKeyDown(e: React.KeyboardEvent): void {\n const { menuItems } = this.state;\n const oldFocus = this.getKeyboardIndex();\n let newFocus = oldFocus;\n\n if (e.key === 'Enter' || e.key === ' ') {\n if (oldFocus != null && oldFocus >= 0 && oldFocus < menuItems.length) {\n this.handleMenuItemClick(menuItems[oldFocus], e);\n }\n return;\n }\n\n if (e.key === 'Escape') {\n newFocus = null;\n } else if (\n e.key === 'ArrowUp' ||\n (e.key === 'Tab' && e.shiftKey === true)\n ) {\n newFocus = ContextActionUtils.getNextMenuItem(\n newFocus ?? 0,\n -1,\n menuItems\n );\n } else if (\n e.key === 'ArrowDown' ||\n (e.key === 'Tab' && e.shiftKey === false)\n ) {\n newFocus = ContextActionUtils.getNextMenuItem(\n newFocus ?? 0,\n 1,\n menuItems\n );\n }\n\n if (oldFocus !== newFocus) {\n if (newFocus !== null) {\n this.setKeyboardIndex(newFocus);\n } else {\n this.closeMenu();\n if (this.oldFocus instanceof HTMLElement) {\n this.oldFocus.focus();\n }\n }\n\n e.preventDefault();\n e.stopPropagation();\n }\n }\n\n closeMenu(closeAll = false): void {\n const { closeMenu, onMenuClosed } = this.props;\n cancelAnimationFrame(this.rAF);\n this.rAF = window.requestAnimationFrame(() => {\n closeMenu(closeAll);\n onMenuClosed(this);\n });\n }\n\n handleCloseMenu(): void {\n this.closeMenu();\n }\n\n handleMenuItemClick(menuItem: ContextAction, e: React.SyntheticEvent): void {\n e.preventDefault();\n e.stopPropagation();\n\n if (\n menuItem != null &&\n (menuItem.disabled === undefined || !menuItem.disabled) &&\n menuItem.action != null\n ) {\n menuItem.action();\n this.closeMenu(true);\n }\n }\n\n handleMenuItemMouseMove(menuItem: ContextAction): void {\n const { menuItems } = this.state;\n const focusIndex = menuItems.indexOf(menuItem);\n this.setMouseIndex(focusIndex);\n }\n\n handleMouseLeave(): void {\n this.setMouseIndex(-1);\n }\n\n render(): JSX.Element {\n const menuItemElements = [];\n const { 'data-testid': dataTestId } = this.props;\n const { keyboardIndex, menuItems, mouseIndex } = this.state;\n for (let i = 0; i < menuItems.length; i += 1) {\n const menuItem = menuItems[i];\n\n if (i > 0 && menuItem.group !== menuItems[i - 1].group) {\n menuItemElements.push(<hr key={`${i}.separator`} />);\n }\n\n const menuItemElement = (\n <ContextMenuItem\n key={i}\n isKeyboardSelected={keyboardIndex === i}\n isMouseSelected={mouseIndex === i}\n menuItem={menuItem}\n closeMenu={this.handleCloseMenu}\n onMenuItemClick={this.handleMenuItemClick}\n onMenuItemMouseMove={this.handleMenuItemMouseMove}\n onMenuItemContextMenu={() => false}\n />\n );\n\n menuItemElements.push(menuItemElement);\n }\n\n const { menuStyle } = this.props;\n\n return (\n <div\n className=\"context-menu-container\"\n style={{ ...menuStyle }}\n ref={this.container}\n onKeyDown={this.handleKeyDown}\n onMouseLeave={this.handleMouseLeave}\n role=\"menuitem\"\n tabIndex={0}\n data-testid={dataTestId}\n >\n {menuItemElements}\n </div>\n );\n }\n}\n\nexport default Menu;\n"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/menu-actions/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/menu-actions/index.ts"],"names":[],"mappings":"AAAA,OAAO,YAAY,MAAM,gBAAgB,CAAC;AAE1C,eAAe,YAAY,CAAC;AAC5B,cAAc,gBAAgB,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":["
|
|
1
|
+
{"version":3,"file":"index.js","names":["DropdownMenu"],"sources":["../../src/menu-actions/index.ts"],"sourcesContent":["import DropdownMenu from './DropdownMenu';\n\nexport default DropdownMenu;\nexport * from './DropdownMenu';\n"],"mappings":"OAAOA,YAAY;AAEnB,eAAeA,YAAY;AAAC"}
|
package/dist/modal/Modal.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import React, { ReactNode } from 'react';
|
|
2
2
|
interface ModalProps {
|
|
3
3
|
className?: string;
|
|
4
4
|
children?: ReactNode;
|
|
@@ -12,6 +12,6 @@ interface ModalProps {
|
|
|
12
12
|
toggle?: () => void;
|
|
13
13
|
'data-testid'?: string;
|
|
14
14
|
}
|
|
15
|
-
declare
|
|
15
|
+
declare function Modal({ className, children, role, keyboard, isOpen, centered, size, onOpened, onClosed, toggle, 'data-testid': dataTestId, }: ModalProps): React.ReactElement | null;
|
|
16
16
|
export default Modal;
|
|
17
17
|
//# sourceMappingURL=Modal.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Modal.d.ts","sourceRoot":"","sources":["../../src/modal/Modal.tsx"],"names":[],"mappings":"AACA,
|
|
1
|
+
{"version":3,"file":"Modal.d.ts","sourceRoot":"","sources":["../../src/modal/Modal.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,EAAE,SAAS,EAAkC,MAAM,OAAO,CAAC;AAKzE,UAAU,UAAU;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,SAAS,CAAC;IACrB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,IAAI,CAAC,EAAE,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,SAAS,CAAC;IACtC,QAAQ,CAAC,EAAE,MAAM,IAAI,CAAC;IACtB,QAAQ,CAAC,EAAE,MAAM,IAAI,CAAC;IACtB,MAAM,CAAC,EAAE,MAAM,IAAI,CAAC;IACpB,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAED,iBAAS,KAAK,CAAC,EACb,SAA4B,EAC5B,QAAQ,EACR,IAAa,EACb,QAAe,EACf,MAAc,EACd,QAAgB,EAChB,IAAI,EACJ,QAAQ,EACR,QAAQ,EACR,MAAM,EACN,aAAa,EAAE,UAAU,GAC1B,EAAE,UAAU,GAAG,KAAK,CAAC,YAAY,GAAG,IAAI,CA0HxC;AAED,eAAe,KAAK,CAAC"}
|
package/dist/modal/Modal.js
CHANGED
|
@@ -3,8 +3,7 @@ import React, { useCallback, useEffect, useRef } from 'react';
|
|
|
3
3
|
import ReactDOM from 'react-dom';
|
|
4
4
|
import { CSSTransition } from 'react-transition-group';
|
|
5
5
|
import ThemeExport from "../ThemeExport.js";
|
|
6
|
-
|
|
7
|
-
var Modal = _ref => {
|
|
6
|
+
function Modal(_ref) {
|
|
8
7
|
var {
|
|
9
8
|
className = 'theme-bg-light',
|
|
10
9
|
children,
|
|
@@ -24,7 +23,6 @@ var Modal = _ref => {
|
|
|
24
23
|
case 'Escape':
|
|
25
24
|
toggle === null || toggle === void 0 ? void 0 : toggle();
|
|
26
25
|
break;
|
|
27
|
-
|
|
28
26
|
default:
|
|
29
27
|
break;
|
|
30
28
|
}
|
|
@@ -45,21 +43,18 @@ var Modal = _ref => {
|
|
|
45
43
|
onClosed();
|
|
46
44
|
}
|
|
47
45
|
}, [onClosed, isOpen]);
|
|
48
|
-
|
|
49
46
|
if (isOpen && !element.current) {
|
|
50
47
|
element.current = document.createElement('div');
|
|
51
48
|
element.current.setAttribute('style', 'padding-right: 15px; display: block');
|
|
52
49
|
element.current.setAttribute('role', 'presentation');
|
|
53
50
|
document.body.appendChild(element.current);
|
|
54
51
|
}
|
|
55
|
-
|
|
56
52
|
var onExited = () => {
|
|
57
53
|
if (element.current) {
|
|
58
54
|
document.body.removeChild(element.current);
|
|
59
55
|
element.current = undefined;
|
|
60
56
|
}
|
|
61
57
|
};
|
|
62
|
-
|
|
63
58
|
return element.current ? /*#__PURE__*/ReactDOM.createPortal( /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(CSSTransition, {
|
|
64
59
|
appear: true,
|
|
65
60
|
mountOnEnter: true,
|
|
@@ -108,8 +103,7 @@ var Modal = _ref => {
|
|
|
108
103
|
onClick: e => e.stopPropagation(),
|
|
109
104
|
role: "presentation",
|
|
110
105
|
"data-testid": dataTestId
|
|
111
|
-
}, children))))), element.current) :
|
|
112
|
-
}
|
|
113
|
-
|
|
106
|
+
}, children))))), element.current) : null;
|
|
107
|
+
}
|
|
114
108
|
export default Modal;
|
|
115
109
|
//# sourceMappingURL=Modal.js.map
|
package/dist/modal/Modal.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Modal.js","names":["classNames","React","useCallback","useEffect","useRef","ReactDOM","CSSTransition","ThemeExport","Modal","className","children","role","keyboard","isOpen","centered","size","onOpened","onClosed","toggle","dataTestId","element","handleKeyDown","event","key","addKeydownEventListener","window","addEventListener","removeEventListener","open","closed","current","document","createElement","setAttribute","body","appendChild","onExited","removeChild","undefined","createPortal","appearActive","appearDone","transitionMs","zIndex","display","e","stopPropagation"],"sources":["../../src/modal/Modal.tsx"],"sourcesContent":["import classNames from 'classnames';\nimport React, {
|
|
1
|
+
{"version":3,"file":"Modal.js","names":["classNames","React","useCallback","useEffect","useRef","ReactDOM","CSSTransition","ThemeExport","Modal","className","children","role","keyboard","isOpen","centered","size","onOpened","onClosed","toggle","dataTestId","element","handleKeyDown","event","key","addKeydownEventListener","window","addEventListener","removeEventListener","open","closed","current","document","createElement","setAttribute","body","appendChild","onExited","removeChild","undefined","createPortal","appearActive","appearDone","transitionMs","zIndex","display","e","stopPropagation"],"sources":["../../src/modal/Modal.tsx"],"sourcesContent":["import classNames from 'classnames';\nimport React, { ReactNode, useCallback, useEffect, useRef } from 'react';\nimport ReactDOM from 'react-dom';\nimport { CSSTransition } from 'react-transition-group';\nimport ThemeExport from '../ThemeExport';\n\ninterface ModalProps {\n className?: string;\n children?: ReactNode;\n role?: string;\n keyboard?: boolean;\n isOpen?: boolean;\n centered?: boolean;\n size?: 'sm' | 'lg' | 'xl' | undefined;\n onOpened?: () => void;\n onClosed?: () => void;\n toggle?: () => void;\n 'data-testid'?: string;\n}\n\nfunction Modal({\n className = 'theme-bg-light',\n children,\n role = 'role',\n keyboard = true,\n isOpen = false,\n centered = false,\n size,\n onOpened,\n onClosed,\n toggle,\n 'data-testid': dataTestId,\n}: ModalProps): React.ReactElement | null {\n const element = useRef<HTMLElement>();\n\n const handleKeyDown = useCallback(\n (event: KeyboardEvent): void => {\n switch (event.key) {\n case 'Escape':\n toggle?.();\n break;\n default:\n break;\n }\n },\n [toggle]\n );\n\n useEffect(\n function addKeydownEventListener() {\n if (isOpen && keyboard) {\n window.addEventListener('keydown', handleKeyDown);\n return () => window.removeEventListener('keydown', handleKeyDown);\n }\n },\n [handleKeyDown, isOpen, keyboard]\n );\n\n useEffect(\n function open() {\n if (isOpen && onOpened) {\n onOpened();\n }\n },\n [onOpened, isOpen]\n );\n\n useEffect(\n function closed() {\n if (!isOpen && onClosed) {\n onClosed();\n }\n },\n [onClosed, isOpen]\n );\n\n if (isOpen && !element.current) {\n element.current = document.createElement('div');\n element.current.setAttribute(\n 'style',\n 'padding-right: 15px; display: block'\n );\n element.current.setAttribute('role', 'presentation');\n document.body.appendChild(element.current);\n }\n\n const onExited = () => {\n if (element.current) {\n document.body.removeChild(element.current);\n element.current = undefined;\n }\n };\n\n return element.current\n ? ReactDOM.createPortal(\n <>\n <CSSTransition\n appear\n mountOnEnter\n unmountOnExit\n in={isOpen}\n classNames={{\n appearActive: 'show',\n appearDone: 'show',\n }}\n timeout={ThemeExport.transitionMs}\n onExited={onExited}\n >\n <div\n className={classNames('modal-backdrop fade')}\n style={{ zIndex: 1050 }}\n />\n </CSSTransition>\n <CSSTransition\n appear\n mountOnEnter\n unmountOnExit\n in={isOpen}\n classNames={{\n appearDone: 'show',\n }}\n timeout={ThemeExport.transitionMs}\n onExited={onExited}\n >\n <div\n className=\"modal fade\"\n onClick={toggle}\n role=\"dialog\"\n style={{ display: 'block' }}\n >\n <div\n className={classNames(`modal-dialog ${className}`, {\n 'modal-lg': size === 'lg',\n 'modal-sm': size === 'sm',\n 'modal-xl': size === 'xl',\n 'modal-dialog-centered': centered,\n })}\n style={{ zIndex: 1040 }}\n >\n <div\n className=\"modal-content\"\n onClick={e => e.stopPropagation()}\n role=\"presentation\"\n data-testid={dataTestId}\n >\n {children}\n </div>\n </div>\n </div>\n </CSSTransition>\n </>,\n element.current\n )\n : null;\n}\n\nexport default Modal;\n"],"mappings":"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"}
|
|
@@ -5,6 +5,6 @@ interface ModalBodyProps {
|
|
|
5
5
|
children?: ReactNode;
|
|
6
6
|
'data-testid'?: string;
|
|
7
7
|
}
|
|
8
|
-
declare
|
|
8
|
+
declare function ModalBody({ className, style, children, 'data-testid': dataTestId, }: ModalBodyProps): ReactElement;
|
|
9
9
|
export default ModalBody;
|
|
10
10
|
//# sourceMappingURL=ModalBody.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ModalBody.d.ts","sourceRoot":"","sources":["../../src/modal/ModalBody.tsx"],"names":[],"mappings":"AAAA,OAAc,EAAE,aAAa,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAEtE,UAAU,cAAc;IACtB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,aAAa,CAAC;IACtB,QAAQ,CAAC,EAAE,SAAS,CAAC;IACrB,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAED,
|
|
1
|
+
{"version":3,"file":"ModalBody.d.ts","sourceRoot":"","sources":["../../src/modal/ModalBody.tsx"],"names":[],"mappings":"AAAA,OAAc,EAAE,aAAa,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAEtE,UAAU,cAAc;IACtB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,aAAa,CAAC;IACtB,QAAQ,CAAC,EAAE,SAAS,CAAC;IACrB,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAED,iBAAS,SAAS,CAAC,EACjB,SAAwB,EACxB,KAAK,EACL,QAAQ,EACR,aAAa,EAAE,UAAU,GAC1B,EAAE,cAAc,GAAG,YAAY,CAM/B;AAED,eAAe,SAAS,CAAC"}
|
package/dist/modal/ModalBody.js
CHANGED
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
|
-
|
|
3
|
-
var ModalBody = _ref => {
|
|
2
|
+
function ModalBody(_ref) {
|
|
4
3
|
var {
|
|
5
4
|
className = 'modal-body',
|
|
6
5
|
style,
|
|
@@ -12,7 +11,6 @@ var ModalBody = _ref => {
|
|
|
12
11
|
"data-testid": dataTestId,
|
|
13
12
|
style: style
|
|
14
13
|
}, children);
|
|
15
|
-
}
|
|
16
|
-
|
|
14
|
+
}
|
|
17
15
|
export default ModalBody;
|
|
18
16
|
//# sourceMappingURL=ModalBody.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ModalBody.js","names":["React","ModalBody","className","style","children","dataTestId"],"sources":["../../src/modal/ModalBody.tsx"],"sourcesContent":["import React, { CSSProperties, ReactElement, ReactNode } from 'react';\n\ninterface ModalBodyProps {\n className?: string;\n style?: CSSProperties;\n children?: ReactNode;\n 'data-testid'?: string;\n}\n\
|
|
1
|
+
{"version":3,"file":"ModalBody.js","names":["React","ModalBody","className","style","children","dataTestId"],"sources":["../../src/modal/ModalBody.tsx"],"sourcesContent":["import React, { CSSProperties, ReactElement, ReactNode } from 'react';\n\ninterface ModalBodyProps {\n className?: string;\n style?: CSSProperties;\n children?: ReactNode;\n 'data-testid'?: string;\n}\n\nfunction ModalBody({\n className = 'modal-body',\n style,\n children,\n 'data-testid': dataTestId,\n}: ModalBodyProps): ReactElement {\n return (\n <div className={className} data-testid={dataTestId} style={style}>\n {children}\n </div>\n );\n}\n\nexport default ModalBody;\n"],"mappings":"AAAA,OAAOA,KAAK,MAAkD,OAAO;AASrE,SAASC,SAAS,OAKe;EAAA,IALd;IACjBC,SAAS,GAAG,YAAY;IACxBC,KAAK;IACLC,QAAQ;IACR,aAAa,EAAEC;EACD,CAAC;EACf,oBACE;IAAK,SAAS,EAAEH,SAAU;IAAC,eAAaG,UAAW;IAAC,KAAK,EAAEF;EAAM,GAC9DC,QAAQ,CACL;AAEV;AAEA,eAAeH,SAAS"}
|
|
@@ -4,6 +4,6 @@ interface ModalFooterProps {
|
|
|
4
4
|
children?: ReactNode;
|
|
5
5
|
'data-testid'?: string;
|
|
6
6
|
}
|
|
7
|
-
declare
|
|
7
|
+
declare function ModalFooter({ className, children, 'data-testid': dataTestId, }: ModalFooterProps): ReactElement;
|
|
8
8
|
export default ModalFooter;
|
|
9
9
|
//# sourceMappingURL=ModalFooter.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ModalFooter.d.ts","sourceRoot":"","sources":["../../src/modal/ModalFooter.tsx"],"names":[],"mappings":"AAAA,OAAc,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAEvD,UAAU,gBAAgB;IACxB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,SAAS,CAAC;IACrB,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAED,
|
|
1
|
+
{"version":3,"file":"ModalFooter.d.ts","sourceRoot":"","sources":["../../src/modal/ModalFooter.tsx"],"names":[],"mappings":"AAAA,OAAc,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAEvD,UAAU,gBAAgB;IACxB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,SAAS,CAAC;IACrB,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAED,iBAAS,WAAW,CAAC,EACnB,SAA0B,EAC1B,QAAQ,EACR,aAAa,EAAE,UAAU,GAC1B,EAAE,gBAAgB,GAAG,YAAY,CAMjC;AAED,eAAe,WAAW,CAAC"}
|
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
|
-
|
|
3
|
-
var ModalFooter = _ref => {
|
|
2
|
+
function ModalFooter(_ref) {
|
|
4
3
|
var {
|
|
5
4
|
className = 'modal-footer',
|
|
6
5
|
children,
|
|
@@ -10,7 +9,6 @@ var ModalFooter = _ref => {
|
|
|
10
9
|
className: className,
|
|
11
10
|
"data-testid": dataTestId
|
|
12
11
|
}, children);
|
|
13
|
-
}
|
|
14
|
-
|
|
12
|
+
}
|
|
15
13
|
export default ModalFooter;
|
|
16
14
|
//# sourceMappingURL=ModalFooter.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ModalFooter.js","names":["React","ModalFooter","className","children","dataTestId"],"sources":["../../src/modal/ModalFooter.tsx"],"sourcesContent":["import React, { ReactElement, ReactNode } from 'react';\n\ninterface ModalFooterProps {\n className?: string;\n children?: ReactNode;\n 'data-testid'?: string;\n}\n\
|
|
1
|
+
{"version":3,"file":"ModalFooter.js","names":["React","ModalFooter","className","children","dataTestId"],"sources":["../../src/modal/ModalFooter.tsx"],"sourcesContent":["import React, { ReactElement, ReactNode } from 'react';\n\ninterface ModalFooterProps {\n className?: string;\n children?: ReactNode;\n 'data-testid'?: string;\n}\n\nfunction ModalFooter({\n className = 'modal-footer',\n children,\n 'data-testid': dataTestId,\n}: ModalFooterProps): ReactElement {\n return (\n <div className={className} data-testid={dataTestId}>\n {children}\n </div>\n );\n}\n\nexport default ModalFooter;\n"],"mappings":"AAAA,OAAOA,KAAK,MAAmC,OAAO;AAQtD,SAASC,WAAW,OAIe;EAAA,IAJd;IACnBC,SAAS,GAAG,cAAc;IAC1BC,QAAQ;IACR,aAAa,EAAEC;EACC,CAAC;EACjB,oBACE;IAAK,SAAS,EAAEF,SAAU;IAAC,eAAaE;EAAW,GAChDD,QAAQ,CACL;AAEV;AAEA,eAAeF,WAAW"}
|
|
@@ -7,6 +7,6 @@ interface ModalHeaderProps {
|
|
|
7
7
|
toggle?: () => void;
|
|
8
8
|
'data-testid'?: string;
|
|
9
9
|
}
|
|
10
|
-
declare
|
|
10
|
+
declare function ModalHeader({ className, children, closeButton, style, toggle, 'data-testid': dataTestId, }: ModalHeaderProps): ReactElement;
|
|
11
11
|
export default ModalHeader;
|
|
12
12
|
//# sourceMappingURL=ModalHeader.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ModalHeader.d.ts","sourceRoot":"","sources":["../../src/modal/ModalHeader.tsx"],"names":[],"mappings":"AAAA,OAAc,EAAE,aAAa,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAEtE,UAAU,gBAAgB;IACxB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,SAAS,CAAC;IACrB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,KAAK,CAAC,EAAE,aAAa,CAAC;IACtB,MAAM,CAAC,EAAE,MAAM,IAAI,CAAC;IACpB,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAED,
|
|
1
|
+
{"version":3,"file":"ModalHeader.d.ts","sourceRoot":"","sources":["../../src/modal/ModalHeader.tsx"],"names":[],"mappings":"AAAA,OAAc,EAAE,aAAa,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAEtE,UAAU,gBAAgB;IACxB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,SAAS,CAAC;IACrB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,KAAK,CAAC,EAAE,aAAa,CAAC;IACtB,MAAM,CAAC,EAAE,MAAM,IAAI,CAAC;IACpB,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAED,iBAAS,WAAW,CAAC,EACnB,SAAS,EACT,QAAQ,EACR,WAAkB,EAClB,KAAK,EACL,MAAM,EACN,aAAa,EAAE,UAAU,GAC1B,EAAE,gBAAgB,GAAG,YAAY,CAiBjC;AAED,eAAe,WAAW,CAAC"}
|
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
|
-
|
|
3
|
-
var ModalHeader = _ref => {
|
|
2
|
+
function ModalHeader(_ref) {
|
|
4
3
|
var {
|
|
5
4
|
className,
|
|
6
5
|
children,
|
|
@@ -23,7 +22,6 @@ var ModalHeader = _ref => {
|
|
|
23
22
|
}, /*#__PURE__*/React.createElement("span", {
|
|
24
23
|
"aria-hidden": "true"
|
|
25
24
|
}, "\xD7")));
|
|
26
|
-
}
|
|
27
|
-
|
|
25
|
+
}
|
|
28
26
|
export default ModalHeader;
|
|
29
27
|
//# sourceMappingURL=ModalHeader.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ModalHeader.js","names":["React","ModalHeader","className","children","closeButton","style","toggle","dataTestId"],"sources":["../../src/modal/ModalHeader.tsx"],"sourcesContent":["import React, { CSSProperties, ReactElement, ReactNode } from 'react';\n\ninterface ModalHeaderProps {\n className?: string;\n children?: ReactNode;\n closeButton?: boolean;\n style?: CSSProperties;\n toggle?: () => void;\n 'data-testid'?: string;\n}\n\
|
|
1
|
+
{"version":3,"file":"ModalHeader.js","names":["React","ModalHeader","className","children","closeButton","style","toggle","dataTestId"],"sources":["../../src/modal/ModalHeader.tsx"],"sourcesContent":["import React, { CSSProperties, ReactElement, ReactNode } from 'react';\n\ninterface ModalHeaderProps {\n className?: string;\n children?: ReactNode;\n closeButton?: boolean;\n style?: CSSProperties;\n toggle?: () => void;\n 'data-testid'?: string;\n}\n\nfunction ModalHeader({\n className,\n children,\n closeButton = true,\n style,\n toggle,\n 'data-testid': dataTestId,\n}: ModalHeaderProps): ReactElement {\n return (\n <div className={`modal-header ${className}`} style={style}>\n <h5 className=\"modal-title\">{children}</h5>\n {closeButton && (\n <button\n type=\"button\"\n className=\"close\"\n data-dismiss=\"modal\"\n aria-label=\"Close\"\n onClick={toggle}\n >\n <span aria-hidden=\"true\">×</span>\n </button>\n )}\n </div>\n );\n}\n\nexport default ModalHeader;\n"],"mappings":"AAAA,OAAOA,KAAK,MAAkD,OAAO;AAWrE,SAASC,WAAW,OAOe;EAAA,IAPd;IACnBC,SAAS;IACTC,QAAQ;IACRC,WAAW,GAAG,IAAI;IAClBC,KAAK;IACLC,MAAM;IACN,aAAa,EAAEC;EACC,CAAC;EACjB,oBACE;IAAK,SAAS,yBAAkBL,SAAS,CAAG;IAAC,KAAK,EAAEG;EAAM,gBACxD;IAAI,SAAS,EAAC;EAAa,GAAEF,QAAQ,CAAM,EAC1CC,WAAW,iBACV;IACE,IAAI,EAAC,QAAQ;IACb,SAAS,EAAC,OAAO;IACjB,gBAAa,OAAO;IACpB,cAAW,OAAO;IAClB,OAAO,EAAEE;EAAO,gBAEhB;IAAM,eAAY;EAAM,UAAe,CAE1C,CACG;AAEV;AAEA,eAAeL,WAAW"}
|
package/dist/modal/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":["default","Modal","ModalBody","ModalHeader","ModalFooter"],"sources":["../../src/modal/index.ts"],"sourcesContent":["export { default as Modal } from './Modal';\nexport { default as ModalBody } from './ModalBody';\nexport { default as ModalHeader } from './ModalHeader';\nexport { default as ModalFooter } from './ModalFooter';\n"],"mappings":"SAASA,OAAO,IAAIC,
|
|
1
|
+
{"version":3,"file":"index.js","names":["default","Modal","ModalBody","ModalHeader","ModalFooter"],"sources":["../../src/modal/index.ts"],"sourcesContent":["export { default as Modal } from './Modal';\nexport { default as ModalBody } from './ModalBody';\nexport { default as ModalHeader } from './ModalHeader';\nexport { default as ModalFooter } from './ModalFooter';\n"],"mappings":"SAASA,OAAO,IAAIC,KAAK;AAAA,SAChBD,OAAO,IAAIE,SAAS;AAAA,SACpBF,OAAO,IAAIG,WAAW;AAAA,SACtBH,OAAO,IAAII,WAAW"}
|