@deephaven/components 1.4.1-beta.0 → 1.4.1-react19.43
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.d.ts +0 -17
- package/dist/AutoCompleteInput.d.ts.map +1 -1
- package/dist/AutoCompleteInput.js +12 -31
- package/dist/AutoCompleteInput.js.map +1 -1
- package/dist/AutoResizeTextarea.d.ts +0 -23
- package/dist/AutoResizeTextarea.d.ts.map +1 -1
- package/dist/AutoResizeTextarea.js +0 -21
- package/dist/AutoResizeTextarea.js.map +1 -1
- package/dist/BasicModal.d.ts +0 -27
- package/dist/BasicModal.d.ts.map +1 -1
- package/dist/BasicModal.js +2 -28
- package/dist/BasicModal.js.map +1 -1
- package/dist/BulkActionBar.js.map +1 -1
- package/dist/Button.d.ts +1 -1
- package/dist/Button.d.ts.map +1 -1
- package/dist/Button.js +2 -79
- package/dist/Button.js.map +1 -1
- package/dist/CardFlip.d.ts.map +1 -1
- package/dist/CardFlip.js +1 -2
- package/dist/CardFlip.js.map +1 -1
- package/dist/Checkbox.d.ts.map +1 -1
- package/dist/Checkbox.js +3 -45
- package/dist/Checkbox.js.map +1 -1
- package/dist/Collapse.d.ts +6 -13
- package/dist/Collapse.d.ts.map +1 -1
- package/dist/Collapse.js +40 -30
- package/dist/Collapse.js.map +1 -1
- package/dist/ComponentUtils.js.map +1 -1
- package/dist/CopyButton.js.map +1 -1
- package/dist/CustomTimeSelect.js +14 -15
- package/dist/CustomTimeSelect.js.map +1 -1
- package/dist/DateInput.js.map +1 -1
- package/dist/DateInputUtils.js.map +1 -1
- package/dist/DateTimeInput.d.ts.map +1 -1
- package/dist/DateTimeInput.js +0 -8
- package/dist/DateTimeInput.js.map +1 -1
- package/dist/DateTimeInputUtils.js.map +1 -1
- package/dist/DebouncedSearchInput.js +1 -1
- package/dist/DebouncedSearchInput.js.map +1 -1
- package/dist/DragUtils.js.map +1 -1
- package/dist/DraggableItemList.css.map +1 -1
- package/dist/DraggableItemList.d.ts +7 -7
- package/dist/DraggableItemList.d.ts.map +1 -1
- package/dist/DraggableItemList.js +13 -12
- package/dist/DraggableItemList.js.map +1 -1
- package/dist/EditableItemList.js +1 -2
- package/dist/EditableItemList.js.map +1 -1
- package/dist/ErrorBoundary.d.ts.map +1 -1
- package/dist/ErrorBoundary.js +3 -2
- package/dist/ErrorBoundary.js.map +1 -1
- package/dist/ErrorView.js +1 -2
- package/dist/ErrorView.js.map +1 -1
- package/dist/HierarchicalCheckboxMenu.d.ts +1 -1
- package/dist/HierarchicalCheckboxMenu.d.ts.map +1 -1
- package/dist/HierarchicalCheckboxMenu.js +1 -2
- package/dist/HierarchicalCheckboxMenu.js.map +1 -1
- package/dist/ItemList.d.ts +1 -1
- package/dist/ItemList.d.ts.map +1 -1
- package/dist/ItemList.js +14 -14
- package/dist/ItemList.js.map +1 -1
- package/dist/ItemListItem.js.map +1 -1
- package/dist/LoadingOverlay.d.ts.map +1 -1
- package/dist/LoadingOverlay.js +5 -3
- package/dist/LoadingOverlay.js.map +1 -1
- package/dist/LoadingSpinner.js.map +1 -1
- package/dist/MaskedInput.d.ts.map +1 -1
- package/dist/MaskedInput.js +11 -31
- package/dist/MaskedInput.js.map +1 -1
- package/dist/MaskedInputUtils.js.map +1 -1
- package/dist/Option.js.map +1 -1
- package/dist/RadioGroup.js +1 -2
- package/dist/RadioGroup.js.map +1 -1
- package/dist/RadioItem.d.ts.map +1 -1
- package/dist/RadioItem.js +1 -13
- package/dist/RadioItem.js.map +1 -1
- package/dist/RandomAreaPlotAnimation.d.ts +1 -1
- package/dist/RandomAreaPlotAnimation.d.ts.map +1 -1
- package/dist/RandomAreaPlotAnimation.js +5 -8
- package/dist/RandomAreaPlotAnimation.js.map +1 -1
- package/dist/SearchInput.js +3 -5
- package/dist/SearchInput.js.map +1 -1
- package/dist/SearchableCombobox.js.map +1 -1
- package/dist/Select.d.ts +1 -1
- package/dist/Select.d.ts.map +1 -1
- package/dist/Select.js.map +1 -1
- package/dist/SelectValueList.js +9 -9
- package/dist/SelectValueList.js.map +1 -1
- package/dist/SocketedButton.d.ts +4 -4
- package/dist/SocketedButton.d.ts.map +1 -1
- package/dist/SocketedButton.js +5 -20
- package/dist/SocketedButton.js.map +1 -1
- package/dist/SplitButtonGroup.d.ts +2 -18
- package/dist/SplitButtonGroup.d.ts.map +1 -1
- package/dist/SplitButtonGroup.js +0 -13
- package/dist/SplitButtonGroup.js.map +1 -1
- package/dist/TableViewEmptyState.js +1 -2
- package/dist/TableViewEmptyState.js.map +1 -1
- package/dist/TextWithTooltip.js +1 -3
- package/dist/TextWithTooltip.js.map +1 -1
- package/dist/ThemeExport.js.map +1 -1
- package/dist/TimeInput.d.ts.map +1 -1
- package/dist/TimeInput.js +7 -17
- package/dist/TimeInput.js.map +1 -1
- package/dist/TimeSlider.js +3 -6
- package/dist/TimeSlider.js.map +1 -1
- package/dist/ToastNotification.d.ts +1 -2
- package/dist/ToastNotification.d.ts.map +1 -1
- package/dist/ToastNotification.js +5 -3
- package/dist/ToastNotification.js.map +1 -1
- package/dist/UIConstants.js.map +1 -1
- package/dist/UISwitch.d.ts.map +1 -1
- package/dist/UISwitch.js +18 -14
- package/dist/UISwitch.js.map +1 -1
- package/dist/XComponent.d.ts +1 -1
- package/dist/XComponent.d.ts.map +1 -1
- package/dist/XComponent.js.map +1 -1
- package/dist/XComponentMap.d.ts +2 -2
- package/dist/XComponentMap.d.ts.map +1 -1
- package/dist/XComponentMap.js +1 -0
- package/dist/XComponentMap.js.map +1 -1
- package/dist/actions/ConfirmActionButton.js.map +1 -1
- package/dist/actions/IconActionButton.js +1 -2
- package/dist/actions/IconActionButton.js.map +1 -1
- package/dist/actions/index.js.map +1 -1
- package/dist/context-actions/ContextActionUtils.js.map +1 -1
- package/dist/context-actions/ContextActions.d.ts +1 -2
- package/dist/context-actions/ContextActions.d.ts.map +1 -1
- package/dist/context-actions/ContextActions.js +22 -22
- package/dist/context-actions/ContextActions.js.map +1 -1
- package/dist/context-actions/ContextMenu.js +5 -7
- 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 +21 -43
- package/dist/context-actions/ContextMenuItem.js.map +1 -1
- package/dist/context-actions/ContextMenuRoot.js +1 -1
- package/dist/context-actions/ContextMenuRoot.js.map +1 -1
- package/dist/context-actions/GlobalContextAction.js +1 -1
- package/dist/context-actions/GlobalContextAction.js.map +1 -1
- package/dist/context-actions/GlobalContextActions.js.map +1 -1
- package/dist/context-actions/index.js.map +1 -1
- package/dist/declaration.d.js.map +1 -1
- package/dist/dialogs/ActionButtonDialogTrigger.js +1 -2
- package/dist/dialogs/ActionButtonDialogTrigger.js.map +1 -1
- package/dist/dialogs/ConfirmationDialog.js +1 -2
- package/dist/dialogs/ConfirmationDialog.js.map +1 -1
- package/dist/dialogs/index.js.map +1 -1
- package/dist/index.js.map +1 -1
- package/dist/menu-actions/DropdownMenu.js +2 -2
- package/dist/menu-actions/DropdownMenu.js.map +1 -1
- package/dist/menu-actions/Menu.js +4 -6
- package/dist/menu-actions/Menu.js.map +1 -1
- package/dist/menu-actions/index.js.map +1 -1
- package/dist/modal/DebouncedModal.js +1 -3
- package/dist/modal/DebouncedModal.js.map +1 -1
- package/dist/modal/InfoModal.js +1 -2
- package/dist/modal/InfoModal.js.map +1 -1
- package/dist/modal/Modal.d.ts.map +1 -1
- package/dist/modal/Modal.js +6 -3
- package/dist/modal/Modal.js.map +1 -1
- package/dist/modal/ModalBody.js.map +1 -1
- package/dist/modal/ModalFooter.js.map +1 -1
- package/dist/modal/ModalHeader.js +1 -2
- package/dist/modal/ModalHeader.js.map +1 -1
- package/dist/modal/index.js.map +1 -1
- package/dist/navigation/DashboardList.js +3 -4
- package/dist/navigation/DashboardList.js.map +1 -1
- package/dist/navigation/Menu.js.map +1 -1
- package/dist/navigation/MenuItem.js +1 -2
- package/dist/navigation/MenuItem.js.map +1 -1
- package/dist/navigation/NavTab.d.ts +1 -1
- package/dist/navigation/NavTab.d.ts.map +1 -1
- package/dist/navigation/NavTab.js +5 -6
- package/dist/navigation/NavTab.js.map +1 -1
- package/dist/navigation/NavTabList.css +1 -1
- package/dist/navigation/NavTabList.css.map +1 -1
- package/dist/navigation/NavTabList.js +5 -6
- package/dist/navigation/NavTabList.js.map +1 -1
- package/dist/navigation/Page.js +1 -2
- package/dist/navigation/Page.js.map +1 -1
- package/dist/navigation/Stack.js +1 -3
- package/dist/navigation/Stack.js.map +1 -1
- package/dist/navigation/index.js.map +1 -1
- package/dist/popper/Popper.d.ts +2 -14
- package/dist/popper/Popper.d.ts.map +1 -1
- package/dist/popper/Popper.js +21 -29
- package/dist/popper/Popper.js.map +1 -1
- package/dist/popper/Tooltip.d.ts.map +1 -1
- package/dist/popper/Tooltip.js +18 -12
- 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/NavigationShortcuts.js +1 -1
- package/dist/shortcuts/NavigationShortcuts.js.map +1 -1
- package/dist/shortcuts/Shortcut.js +11 -13
- package/dist/shortcuts/Shortcut.js.map +1 -1
- package/dist/shortcuts/ShortcutRegistry.js +1 -1
- package/dist/shortcuts/ShortcutRegistry.js.map +1 -1
- package/dist/shortcuts/index.js.map +1 -1
- package/dist/spectrum/ActionGroup.js.map +1 -1
- package/dist/spectrum/ActionMenu.js.map +1 -1
- package/dist/spectrum/CheckboxGroup.js.map +1 -1
- package/dist/spectrum/Heading.js.map +1 -1
- package/dist/spectrum/ItemContent.js +2 -4
- package/dist/spectrum/ItemContent.js.map +1 -1
- package/dist/spectrum/ItemTooltip.js.map +1 -1
- package/dist/spectrum/ListActionGroup.js.map +1 -1
- package/dist/spectrum/ListActionMenu.js.map +1 -1
- package/dist/spectrum/TabPanels.d.ts.map +1 -1
- package/dist/spectrum/TabPanels.js +8 -5
- package/dist/spectrum/TabPanels.js.map +1 -1
- package/dist/spectrum/Text.js.map +1 -1
- package/dist/spectrum/View.js.map +1 -1
- package/dist/spectrum/buttons.js.map +1 -1
- package/dist/spectrum/collections.js.map +1 -1
- package/dist/spectrum/comboBox/ComboBox.js.map +1 -1
- package/dist/spectrum/comboBox/ComboBoxNormalized.js.map +1 -1
- package/dist/spectrum/comboBox/index.js.map +1 -1
- package/dist/spectrum/content.js.map +1 -1
- package/dist/spectrum/dateAndTime.js.map +1 -1
- package/dist/spectrum/forms.js.map +1 -1
- package/dist/spectrum/icons.js.map +1 -1
- package/dist/spectrum/index.js.map +1 -1
- package/dist/spectrum/layout.js.map +1 -1
- package/dist/spectrum/listView/ListView.js.map +1 -1
- package/dist/spectrum/listView/ListViewNormalized.js +1 -2
- package/dist/spectrum/listView/ListViewNormalized.js.map +1 -1
- package/dist/spectrum/listView/ListViewWrapper.css +6 -6
- package/dist/spectrum/listView/ListViewWrapper.css.map +1 -1
- package/dist/spectrum/listView/ListViewWrapper.js.map +1 -1
- package/dist/spectrum/listView/index.js.map +1 -1
- package/dist/spectrum/navigation.js.map +1 -1
- package/dist/spectrum/overlays.js.map +1 -1
- package/dist/spectrum/picker/Picker.js.map +1 -1
- package/dist/spectrum/picker/PickerNormalized.js.map +1 -1
- package/dist/spectrum/picker/PickerProps.js.map +1 -1
- package/dist/spectrum/picker/index.js.map +1 -1
- package/dist/spectrum/picker/usePickerItemScale.js.map +1 -1
- package/dist/spectrum/picker/usePickerNormalizedProps.d.ts +1 -2
- package/dist/spectrum/picker/usePickerNormalizedProps.d.ts.map +1 -1
- package/dist/spectrum/picker/usePickerNormalizedProps.js.map +1 -1
- package/dist/spectrum/picker/usePickerProps.js.map +1 -1
- package/dist/spectrum/picker/usePickerScrollOnOpen.js +1 -1
- package/dist/spectrum/picker/usePickerScrollOnOpen.js.map +1 -1
- package/dist/spectrum/shared.js.map +1 -1
- package/dist/spectrum/status.js.map +1 -1
- package/dist/spectrum/utils/index.js.map +1 -1
- package/dist/spectrum/utils/itemUtils.d.ts +2 -2
- package/dist/spectrum/utils/itemUtils.d.ts.map +1 -1
- package/dist/spectrum/utils/itemUtils.js +5 -1
- package/dist/spectrum/utils/itemUtils.js.map +1 -1
- package/dist/spectrum/utils/itemWrapperUtils.js +3 -4
- package/dist/spectrum/utils/itemWrapperUtils.js.map +1 -1
- package/dist/spectrum/utils/propsUtils.js.map +1 -1
- package/dist/spectrum/utils/themeUtils.js.map +1 -1
- package/dist/spectrum/utils/useOnChangeTrackUncontrolled.js +1 -1
- package/dist/spectrum/utils/useOnChangeTrackUncontrolled.js.map +1 -1
- package/dist/spectrum/utils/useRenderNormalizedItem.js +1 -2
- package/dist/spectrum/utils/useRenderNormalizedItem.js.map +1 -1
- package/dist/spectrum/utils/useStaticItemInitialScrollPosition.js +1 -1
- package/dist/spectrum/utils/useStaticItemInitialScrollPosition.js.map +1 -1
- package/dist/spectrum/utils/useStringifiedMultiSelection.d.ts +1 -1
- package/dist/spectrum/utils/useStringifiedMultiSelection.d.ts.map +1 -1
- package/dist/spectrum/utils/useStringifiedMultiSelection.js.map +1 -1
- package/dist/spectrum/utils/useStringifiedSelection.d.ts +1 -1
- package/dist/spectrum/utils/useStringifiedSelection.d.ts.map +1 -1
- package/dist/spectrum/utils/useStringifiedSelection.js.map +1 -1
- package/dist/theme/Logo.js.map +1 -1
- package/dist/theme/SpectrumThemeProvider.js.map +1 -1
- package/dist/theme/ThemeModel.js +1 -0
- package/dist/theme/ThemeModel.js.map +1 -1
- package/dist/theme/ThemePicker.d.ts.map +1 -1
- package/dist/theme/ThemePicker.js +3 -1
- package/dist/theme/ThemePicker.js.map +1 -1
- package/dist/theme/ThemeProvider.d.ts.map +1 -1
- package/dist/theme/ThemeProvider.js +2 -3
- package/dist/theme/ThemeProvider.js.map +1 -1
- package/dist/theme/ThemeUtils.js.map +1 -1
- package/dist/theme/colorUtils.js.map +1 -1
- package/dist/theme/index.js.map +1 -1
- package/dist/theme/theme-dark/index.js.map +1 -1
- package/dist/theme/theme-light/index.js.map +1 -1
- package/dist/theme/theme-spectrum/index.js.map +1 -1
- package/dist/theme/theme-spectrum/theme-spectrum-overrides.css +1 -1
- package/dist/theme/theme-spectrum/theme-spectrum-overrides.css.map +1 -1
- package/dist/theme/useExternalTheme.js.map +1 -1
- package/dist/theme/useSpectrumThemeProvider.js.map +1 -1
- package/dist/theme/useTheme.js.map +1 -1
- package/dist/transitions/FadeTransition.d.ts +7 -4
- package/dist/transitions/FadeTransition.d.ts.map +1 -1
- package/dist/transitions/FadeTransition.js +33 -6
- package/dist/transitions/FadeTransition.js.map +1 -1
- package/dist/transitions/SlideTransition.d.ts +5 -4
- package/dist/transitions/SlideTransition.d.ts.map +1 -1
- package/dist/transitions/SlideTransition.js +23 -6
- package/dist/transitions/SlideTransition.js.map +1 -1
- package/dist/transitions/index.js.map +1 -1
- package/package.json +12 -13
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Popper.d.ts","sourceRoot":"","sources":["../../src/popper/Popper.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,KAAK,EAAE,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAIzC,OAAO,QAAQ,EAAE,EAAE,KAAK,aAAa,EAAE,KAAK,eAAe,EAAE,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"Popper.d.ts","sourceRoot":"","sources":["../../src/popper/Popper.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,KAAK,EAAE,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAIzC,OAAO,QAAQ,EAAE,EAAE,KAAK,aAAa,EAAE,KAAK,eAAe,EAAE,MAAM,WAAW,CAAC;AAE/E,OAAO,eAAe,CAAC;AAKvB,UAAU,WAAW;IACnB,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;IAC1B,OAAO,EAAE,aAAa,CAAC;IACvB,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,IAAI,CAAC;IACtB,QAAQ,EAAE,MAAM,IAAI,CAAC;IACrB,OAAO,EAAE,OAAO,CAAC;IACjB,WAAW,EAAE,OAAO,CAAC;IACrB,WAAW,EAAE,OAAO,CAAC;IACrB,eAAe,EAAE,eAAe,GAAG,IAAI,CAAC;IACxC,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAED,UAAU,WAAW;IACnB,IAAI,EAAE,OAAO,CAAC;IACd,MAAM,EAAE,QAAQ,GAAG,IAAI,CAAC;CACzB;AAED,cAAM,MAAO,SAAQ,SAAS,CAAC,WAAW,EAAE,WAAW,CAAC;IACtD,MAAM,CAAC,YAAY;;;;qBAIJ,IAAI;oBAGL,IAAI;;;;;;MAQhB;gBAEU,KAAK,EAAE,WAAW;IAsB9B,kBAAkB,CAAC,SAAS,EAAE,WAAW,GAAG,IAAI;IAehD,oBAAoB,IAAI,IAAI;IAI5B,OAAO,EAAE,cAAc,CAAC;IAExB,SAAS,EAAE,KAAK,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC;IAE3C,OAAO,kCAAqC;IAG5C,GAAG,EAAE,MAAM,CAAC;IAEZ,wFAAwF;IACxF,iBAAiB,CAAC,OAAO,EAAE,WAAW,GAAG,IAAI,GAAG,WAAW,GAAG,IAAI;IAYlE,UAAU,IAAI,IAAI;IAwDlB,aAAa,CAAC,WAAW,UAAO,GAAG,IAAI;IAsBvC,IAAI,IAAI,IAAI;IASZ,IAAI,IAAI,IAAI;IAIZ,cAAc,IAAI,IAAI;IAKtB,UAAU,CAAC,CAAC,EAAE,KAAK,CAAC,UAAU,GAAG,IAAI;IASrC,WAAW,IAAI,IAAI;IAKnB,UAAU,IAAI,IAAI;IASlB,aAAa,IAAI,GAAG,CAAC,OAAO;IA4C5B,MAAM,IAAI,GAAG,CAAC,OAAO;CActB;AAED,eAAe,MAAM,CAAC;AACtB,YAAY,EAAE,aAAa,EAAE,eAAe,EAAE,CAAC"}
|
package/dist/popper/Popper.js
CHANGED
|
@@ -21,22 +21,22 @@ function _toPrimitive(t, r) { if ("object" != typeof t || !t) return t; var e =
|
|
|
21
21
|
*/
|
|
22
22
|
|
|
23
23
|
import React, { Component } from 'react';
|
|
24
|
-
import ReactDOM from 'react-dom';
|
|
24
|
+
import ReactDOM, { flushSync } from 'react-dom';
|
|
25
25
|
import classNames from 'classnames';
|
|
26
26
|
import { CSSTransition } from 'react-transition-group';
|
|
27
27
|
import PopperJs from 'popper.js';
|
|
28
|
-
import PropTypes from 'prop-types';
|
|
29
28
|
import ThemeExport from "../ThemeExport.js";
|
|
30
29
|
import "./Popper.css";
|
|
31
30
|
import { SpectrumThemeProvider } from "../theme/SpectrumThemeProvider.js";
|
|
32
|
-
import { jsx as _jsx } from "react/jsx-runtime";
|
|
33
|
-
import { jsxs as _jsxs } from "react/jsx-runtime";
|
|
31
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
34
32
|
var POPPER_CLASS_NAME = 'popper';
|
|
35
33
|
class Popper extends Component {
|
|
36
34
|
constructor(props) {
|
|
37
35
|
super(props);
|
|
38
36
|
_defineProperty(this, "element", void 0);
|
|
39
37
|
_defineProperty(this, "container", void 0);
|
|
38
|
+
_defineProperty(this, "nodeRef", /*#__PURE__*/React.createRef());
|
|
39
|
+
// This is the request animation frame handle number
|
|
40
40
|
_defineProperty(this, "rAF", void 0);
|
|
41
41
|
this.handleEnter = this.handleEnter.bind(this);
|
|
42
42
|
this.handleExit = this.handleExit.bind(this);
|
|
@@ -74,9 +74,6 @@ class Popper extends Component {
|
|
|
74
74
|
componentWillUnmount() {
|
|
75
75
|
this.destroyPopper(false);
|
|
76
76
|
}
|
|
77
|
-
|
|
78
|
-
// This is the request animation frame handle number
|
|
79
|
-
|
|
80
77
|
/** Goes through an element and it's parents until the first visible element is found */
|
|
81
78
|
getVisibleElement(element) {
|
|
82
79
|
if (element == null || element.clientHeight > 0 || element.clientWidth > 0) {
|
|
@@ -86,13 +83,13 @@ class Popper extends Component {
|
|
|
86
83
|
}
|
|
87
84
|
initPopper() {
|
|
88
85
|
var {
|
|
89
|
-
popper
|
|
86
|
+
popper: statePopper
|
|
90
87
|
} = this.state;
|
|
91
88
|
var {
|
|
92
89
|
closeOnBlur,
|
|
93
90
|
referenceObject
|
|
94
91
|
} = this.props;
|
|
95
|
-
if (
|
|
92
|
+
if (statePopper) {
|
|
96
93
|
return;
|
|
97
94
|
}
|
|
98
95
|
if (this.container.current === null) {
|
|
@@ -114,7 +111,7 @@ class Popper extends Component {
|
|
|
114
111
|
if (parent == null) {
|
|
115
112
|
parent = this.container.current;
|
|
116
113
|
}
|
|
117
|
-
popper = new PopperJs(referenceObject || parent, this.element, options);
|
|
114
|
+
var popper = new PopperJs(referenceObject || parent, this.element, options);
|
|
118
115
|
popper.scheduleUpdate();
|
|
119
116
|
|
|
120
117
|
// delayed due to scheduleUpdate
|
|
@@ -130,8 +127,12 @@ class Popper extends Component {
|
|
|
130
127
|
}
|
|
131
128
|
}
|
|
132
129
|
});
|
|
133
|
-
|
|
134
|
-
|
|
130
|
+
|
|
131
|
+
// Needed to make the animation work
|
|
132
|
+
flushSync(() => {
|
|
133
|
+
this.setState({
|
|
134
|
+
popper
|
|
135
|
+
});
|
|
135
136
|
});
|
|
136
137
|
}
|
|
137
138
|
destroyPopper() {
|
|
@@ -159,8 +160,12 @@ class Popper extends Component {
|
|
|
159
160
|
}
|
|
160
161
|
show() {
|
|
161
162
|
this.initPopper();
|
|
162
|
-
|
|
163
|
-
|
|
163
|
+
|
|
164
|
+
// Needed to make the animation work
|
|
165
|
+
flushSync(() => {
|
|
166
|
+
this.setState({
|
|
167
|
+
show: true
|
|
168
|
+
});
|
|
164
169
|
});
|
|
165
170
|
}
|
|
166
171
|
hide() {
|
|
@@ -188,7 +193,6 @@ class Popper extends Component {
|
|
|
188
193
|
} = this.props;
|
|
189
194
|
onEntered(); // trigger any parent component waiting for enter handler
|
|
190
195
|
}
|
|
191
|
-
|
|
192
196
|
handleExit() {
|
|
193
197
|
var {
|
|
194
198
|
onExited
|
|
@@ -201,7 +205,6 @@ class Popper extends Component {
|
|
|
201
205
|
}
|
|
202
206
|
onExited(); // trigger any parent component waiting for exited handler
|
|
203
207
|
}
|
|
204
|
-
|
|
205
208
|
renderContent() {
|
|
206
209
|
var {
|
|
207
210
|
className,
|
|
@@ -221,7 +224,9 @@ class Popper extends Component {
|
|
|
221
224
|
classNames: "popper-transition",
|
|
222
225
|
onEntered: this.handleEnter,
|
|
223
226
|
onExited: this.handleExit,
|
|
227
|
+
nodeRef: this.nodeRef,
|
|
224
228
|
children: /*#__PURE__*/_jsx("div", {
|
|
229
|
+
ref: this.nodeRef,
|
|
225
230
|
onClick: e => {
|
|
226
231
|
// stop click events from escaping popper
|
|
227
232
|
e.stopPropagation();
|
|
@@ -264,19 +269,6 @@ class Popper extends Component {
|
|
|
264
269
|
});
|
|
265
270
|
}
|
|
266
271
|
}
|
|
267
|
-
_defineProperty(Popper, "propTypes", {
|
|
268
|
-
children: PropTypes.node.isRequired,
|
|
269
|
-
options: PropTypes.shape({}),
|
|
270
|
-
className: PropTypes.string,
|
|
271
|
-
timeout: PropTypes.number,
|
|
272
|
-
onEntered: PropTypes.func,
|
|
273
|
-
onExited: PropTypes.func,
|
|
274
|
-
isShown: PropTypes.bool,
|
|
275
|
-
closeOnBlur: PropTypes.bool,
|
|
276
|
-
interactive: PropTypes.bool,
|
|
277
|
-
referenceObject: PropTypes.shape({}),
|
|
278
|
-
'data-testid': PropTypes.string
|
|
279
|
-
});
|
|
280
272
|
_defineProperty(Popper, "defaultProps", {
|
|
281
273
|
options: {},
|
|
282
274
|
className: '',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Popper.js","names":["React","Component","ReactDOM","classNames","CSSTransition","PopperJs","PropTypes","ThemeExport","SpectrumThemeProvider","jsx","_jsx","jsxs","_jsxs","POPPER_CLASS_NAME","Popper","constructor","props","_defineProperty","handleEnter","bind","handleExit","handleBlur","element","document","createElement","className","container","createRef","rAF","isShown","state","show","popper","componentDidUpdate","prevProps","cancelAnimationFrame","window","requestAnimationFrame","hide","componentWillUnmount","destroyPopper","getVisibleElement","clientHeight","clientWidth","parentElement","initPopper","closeOnBlur","referenceObject","current","options","_objectSpread","placement","modifiers","preventOverflow","boundariesElement","body","appendChild","parent","scheduleUpdate","popperEl","querySelector","concat","HTMLElement","contains","activeElement","focus","setState","updateState","arguments","length","undefined","destroy","removeChild","e","relatedTarget","onEntered","onExited","renderContent","children","timeout","interactive","isPortal","in","onClick","stopPropagation","onKeyDown","key","onBlur","tabIndex","role","render","dataTestId","ref","style","display","createPortal","node","isRequired","shape","string","number","func","bool","transitionMs"],"sources":["../../src/popper/Popper.tsx"],"sourcesContent":["/**\n * A component for creating popover dialogs. Only requires child element.\n *\n * <Popper\n * options={popperOptions}\n * className=\"whatever\"\n * onEntered={this.handleEnter}\n * onExited={this.handleExit}\n * closeOnBlur // if you want dialog to self close, on click outside\n * interactive // if popper contents will be interactable\n * isShown={variable} // controls if its shown or not,\n * ref={this.popper} // or via ref and this.popper.show() or this.popper.hide()\n * >\n * <ChildContent />\n * </Popper>\n */\n\nimport React, { Component } from 'react';\nimport ReactDOM from 'react-dom';\nimport classNames from 'classnames';\nimport { CSSTransition } from 'react-transition-group';\nimport PopperJs, { type PopperOptions, type ReferenceObject } from 'popper.js';\nimport PropTypes from 'prop-types';\nimport ThemeExport from '../ThemeExport';\nimport './Popper.scss';\nimport { SpectrumThemeProvider } from '../theme/SpectrumThemeProvider';\n\nconst POPPER_CLASS_NAME = 'popper';\n\ninterface PopperProps {\n options: PopperOptions;\n className: string;\n timeout: number;\n onEntered: () => void;\n onExited: () => void;\n isShown: boolean;\n closeOnBlur: boolean;\n interactive: boolean;\n referenceObject: ReferenceObject | null;\n 'data-testid'?: string;\n}\n\ninterface PopperState {\n show: boolean;\n popper: PopperJs | null;\n}\n\nclass Popper extends Component<PopperProps, PopperState> {\n static propTypes = {\n children: PropTypes.node.isRequired,\n options: PropTypes.shape({}),\n className: PropTypes.string,\n timeout: PropTypes.number,\n onEntered: PropTypes.func,\n onExited: PropTypes.func,\n isShown: PropTypes.bool,\n closeOnBlur: PropTypes.bool,\n interactive: PropTypes.bool,\n referenceObject: PropTypes.shape({}),\n 'data-testid': PropTypes.string,\n };\n\n static defaultProps = {\n options: {},\n className: '',\n timeout: ThemeExport.transitionMs,\n onEntered(): void {\n // no-op\n },\n onExited(): void {\n // no-op\n },\n isShown: false,\n interactive: false,\n closeOnBlur: false,\n referenceObject: null,\n 'data-testid': undefined,\n };\n\n constructor(props: PopperProps) {\n super(props);\n\n this.handleEnter = this.handleEnter.bind(this);\n this.handleExit = this.handleExit.bind(this);\n this.handleBlur = this.handleBlur.bind(this);\n this.element = document.createElement('div');\n this.element.className = 'popper-container';\n this.container = React.createRef<HTMLDivElement>();\n\n // cancelAnimationFrame does nothing if the handle isn't recognized\n // requestAnimationFrame provides a non-zero number, so 0 as a default should be safe\n this.rAF = 0;\n\n const { isShown } = this.props;\n\n this.state = {\n show: isShown,\n popper: null,\n };\n }\n\n componentDidUpdate(prevProps: PopperProps): void {\n const { isShown } = this.props;\n\n if (prevProps.isShown !== isShown) {\n if (isShown) {\n cancelAnimationFrame(this.rAF);\n this.rAF = window.requestAnimationFrame(() => {\n this.show();\n });\n } else {\n this.hide();\n }\n }\n }\n\n componentWillUnmount(): void {\n this.destroyPopper(false);\n }\n\n element: HTMLDivElement;\n\n container: React.RefObject<HTMLDivElement>;\n\n // This is the request animation frame handle number\n rAF: number;\n\n /** Goes through an element and it's parents until the first visible element is found */\n getVisibleElement(element: HTMLElement | null): HTMLElement | null {\n if (\n element == null ||\n element.clientHeight > 0 ||\n element.clientWidth > 0\n ) {\n return element;\n }\n\n return this.getVisibleElement(element.parentElement);\n }\n\n initPopper(): void {\n let { popper } = this.state;\n const { closeOnBlur, referenceObject } = this.props;\n\n if (popper) {\n return;\n }\n\n if (this.container.current === null) {\n return;\n }\n\n let { options } = this.props;\n options = {\n placement: 'auto',\n modifiers: { preventOverflow: { boundariesElement: 'viewport' } },\n ...options,\n };\n document.body.appendChild(this.element);\n\n let parent = this.getVisibleElement(this.container.current);\n if (parent == null) {\n parent = this.container.current;\n }\n\n popper = new PopperJs(referenceObject || parent, this.element, options);\n popper.scheduleUpdate();\n\n // delayed due to scheduleUpdate\n cancelAnimationFrame(this.rAF);\n this.rAF = window.requestAnimationFrame(() => {\n // If the current focus is not on the .popper or one of its descendants,\n // set the focus to the .popper element. This is necessary for close on\n // blur to work.\n if (closeOnBlur) {\n const popperEl = this.element.querySelector(`.${POPPER_CLASS_NAME}`);\n\n if (\n popperEl instanceof HTMLElement &&\n !popperEl.contains(document.activeElement)\n ) {\n popperEl.focus();\n }\n }\n });\n\n this.setState({ popper });\n }\n\n destroyPopper(updateState = true): void {\n cancelAnimationFrame(this.rAF);\n\n const { popper } = this.state;\n if (!popper) {\n return;\n }\n\n popper.destroy();\n\n // If component is exiting and unmounted in\n // the same frame, destroy can be called twice.\n // Check to make sure removeChild isn't called twice.\n if (document.body.contains(this.element)) {\n document.body.removeChild(this.element);\n }\n\n if (updateState) {\n this.setState({ popper: null });\n }\n }\n\n show(): void {\n this.initPopper();\n this.setState({ show: true });\n }\n\n hide(): void {\n this.setState({ show: false });\n }\n\n scheduleUpdate(): void {\n const { popper } = this.state;\n if (popper) popper.scheduleUpdate();\n }\n\n handleBlur(e: React.FocusEvent): void {\n if (!(e.relatedTarget instanceof HTMLElement)) {\n return;\n }\n if (!this.element.contains(e.relatedTarget)) {\n this.hide();\n }\n }\n\n handleEnter(): void {\n const { onEntered } = this.props;\n onEntered(); // trigger any parent component waiting for enter handler\n }\n\n handleExit(): void {\n const { onExited } = this.props;\n const { show } = this.state;\n if (!show) {\n this.destroyPopper();\n }\n onExited(); // trigger any parent component waiting for exited handler\n }\n\n renderContent(): JSX.Element {\n const { className, children, timeout, interactive, closeOnBlur } =\n this.props;\n const { show } = this.state;\n\n return (\n <SpectrumThemeProvider isPortal>\n <CSSTransition\n in={show}\n timeout={timeout}\n classNames=\"popper-transition\"\n onEntered={this.handleEnter}\n onExited={this.handleExit}\n >\n <div\n onClick={e => {\n // stop click events from escaping popper\n e.stopPropagation();\n }}\n onKeyDown={e => {\n if (e.key === 'Escape') this.hide();\n }}\n className={classNames(\n POPPER_CLASS_NAME,\n { interactive },\n className\n )}\n onBlur={closeOnBlur ? this.handleBlur : undefined}\n tabIndex={closeOnBlur ? -1 : undefined}\n role=\"presentation\"\n >\n <div className=\"popper-content\">\n {children}\n {/* eslint-disable-next-line react/no-unknown-property */}\n <div className=\"popper-arrow\" x-arrow=\"\" />\n </div>\n </div>\n </CSSTransition>\n </SpectrumThemeProvider>\n );\n }\n\n render(): JSX.Element {\n const { popper } = this.state;\n const { 'data-testid': dataTestId } = this.props;\n return (\n <div\n className=\"popper-parent-container\"\n ref={this.container}\n style={{ display: 'none' }}\n data-testid={dataTestId}\n >\n {popper && ReactDOM.createPortal(this.renderContent(), this.element)}\n </div>\n );\n }\n}\n\nexport default Popper;\nexport type { PopperOptions, ReferenceObject };\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Popper.js","names":["React","Component","ReactDOM","flushSync","classNames","CSSTransition","PopperJs","ThemeExport","SpectrumThemeProvider","jsx","_jsx","jsxs","_jsxs","POPPER_CLASS_NAME","Popper","constructor","props","_defineProperty","createRef","handleEnter","bind","handleExit","handleBlur","element","document","createElement","className","container","rAF","isShown","state","show","popper","componentDidUpdate","prevProps","cancelAnimationFrame","window","requestAnimationFrame","hide","componentWillUnmount","destroyPopper","getVisibleElement","clientHeight","clientWidth","parentElement","initPopper","statePopper","closeOnBlur","referenceObject","current","options","_objectSpread","placement","modifiers","preventOverflow","boundariesElement","body","appendChild","parent","scheduleUpdate","popperEl","querySelector","concat","HTMLElement","contains","activeElement","focus","setState","updateState","arguments","length","undefined","destroy","removeChild","e","relatedTarget","onEntered","onExited","renderContent","children","timeout","interactive","isPortal","in","nodeRef","ref","onClick","stopPropagation","onKeyDown","key","onBlur","tabIndex","role","render","dataTestId","style","display","createPortal","transitionMs"],"sources":["../../src/popper/Popper.tsx"],"sourcesContent":["/**\n * A component for creating popover dialogs. Only requires child element.\n *\n * <Popper\n * options={popperOptions}\n * className=\"whatever\"\n * onEntered={this.handleEnter}\n * onExited={this.handleExit}\n * closeOnBlur // if you want dialog to self close, on click outside\n * interactive // if popper contents will be interactable\n * isShown={variable} // controls if its shown or not,\n * ref={this.popper} // or via ref and this.popper.show() or this.popper.hide()\n * >\n * <ChildContent />\n * </Popper>\n */\n\nimport React, { Component } from 'react';\nimport ReactDOM, { flushSync } from 'react-dom';\nimport classNames from 'classnames';\nimport { CSSTransition } from 'react-transition-group';\nimport PopperJs, { type PopperOptions, type ReferenceObject } from 'popper.js';\nimport ThemeExport from '../ThemeExport';\nimport './Popper.scss';\nimport { SpectrumThemeProvider } from '../theme/SpectrumThemeProvider';\n\nconst POPPER_CLASS_NAME = 'popper';\n\ninterface PopperProps {\n children: React.ReactNode;\n options: PopperOptions;\n className: string;\n timeout: number;\n onEntered: () => void;\n onExited: () => void;\n isShown: boolean;\n closeOnBlur: boolean;\n interactive: boolean;\n referenceObject: ReferenceObject | null;\n 'data-testid'?: string;\n}\n\ninterface PopperState {\n show: boolean;\n popper: PopperJs | null;\n}\n\nclass Popper extends Component<PopperProps, PopperState> {\n static defaultProps = {\n options: {},\n className: '',\n timeout: ThemeExport.transitionMs,\n onEntered(): void {\n // no-op\n },\n onExited(): void {\n // no-op\n },\n isShown: false,\n interactive: false,\n closeOnBlur: false,\n referenceObject: null,\n 'data-testid': undefined,\n };\n\n constructor(props: PopperProps) {\n super(props);\n\n this.handleEnter = this.handleEnter.bind(this);\n this.handleExit = this.handleExit.bind(this);\n this.handleBlur = this.handleBlur.bind(this);\n this.element = document.createElement('div');\n this.element.className = 'popper-container';\n this.container = React.createRef<HTMLDivElement>();\n\n // cancelAnimationFrame does nothing if the handle isn't recognized\n // requestAnimationFrame provides a non-zero number, so 0 as a default should be safe\n this.rAF = 0;\n\n const { isShown } = this.props;\n\n this.state = {\n show: isShown,\n popper: null,\n };\n }\n\n componentDidUpdate(prevProps: PopperProps): void {\n const { isShown } = this.props;\n\n if (prevProps.isShown !== isShown) {\n if (isShown) {\n cancelAnimationFrame(this.rAF);\n this.rAF = window.requestAnimationFrame(() => {\n this.show();\n });\n } else {\n this.hide();\n }\n }\n }\n\n componentWillUnmount(): void {\n this.destroyPopper(false);\n }\n\n element: HTMLDivElement;\n\n container: React.RefObject<HTMLDivElement>;\n\n nodeRef = React.createRef<HTMLDivElement>();\n\n // This is the request animation frame handle number\n rAF: number;\n\n /** Goes through an element and it's parents until the first visible element is found */\n getVisibleElement(element: HTMLElement | null): HTMLElement | null {\n if (\n element == null ||\n element.clientHeight > 0 ||\n element.clientWidth > 0\n ) {\n return element;\n }\n\n return this.getVisibleElement(element.parentElement);\n }\n\n initPopper(): void {\n const { popper: statePopper } = this.state;\n const { closeOnBlur, referenceObject } = this.props;\n\n if (statePopper) {\n return;\n }\n\n if (this.container.current === null) {\n return;\n }\n\n let { options } = this.props;\n options = {\n placement: 'auto',\n modifiers: { preventOverflow: { boundariesElement: 'viewport' } },\n ...options,\n };\n document.body.appendChild(this.element);\n\n let parent = this.getVisibleElement(this.container.current);\n if (parent == null) {\n parent = this.container.current;\n }\n\n const popper = new PopperJs(\n referenceObject || parent,\n this.element,\n options\n );\n popper.scheduleUpdate();\n\n // delayed due to scheduleUpdate\n cancelAnimationFrame(this.rAF);\n this.rAF = window.requestAnimationFrame(() => {\n // If the current focus is not on the .popper or one of its descendants,\n // set the focus to the .popper element. This is necessary for close on\n // blur to work.\n if (closeOnBlur) {\n const popperEl = this.element.querySelector(`.${POPPER_CLASS_NAME}`);\n\n if (\n popperEl instanceof HTMLElement &&\n !popperEl.contains(document.activeElement)\n ) {\n popperEl.focus();\n }\n }\n });\n\n // Needed to make the animation work\n flushSync(() => {\n this.setState({ popper });\n });\n }\n\n destroyPopper(updateState = true): void {\n cancelAnimationFrame(this.rAF);\n\n const { popper } = this.state;\n if (!popper) {\n return;\n }\n\n popper.destroy();\n\n // If component is exiting and unmounted in\n // the same frame, destroy can be called twice.\n // Check to make sure removeChild isn't called twice.\n if (document.body.contains(this.element)) {\n document.body.removeChild(this.element);\n }\n\n if (updateState) {\n this.setState({ popper: null });\n }\n }\n\n show(): void {\n this.initPopper();\n\n // Needed to make the animation work\n flushSync(() => {\n this.setState({ show: true });\n });\n }\n\n hide(): void {\n this.setState({ show: false });\n }\n\n scheduleUpdate(): void {\n const { popper } = this.state;\n if (popper) popper.scheduleUpdate();\n }\n\n handleBlur(e: React.FocusEvent): void {\n if (!(e.relatedTarget instanceof HTMLElement)) {\n return;\n }\n if (!this.element.contains(e.relatedTarget)) {\n this.hide();\n }\n }\n\n handleEnter(): void {\n const { onEntered } = this.props;\n onEntered(); // trigger any parent component waiting for enter handler\n }\n\n handleExit(): void {\n const { onExited } = this.props;\n const { show } = this.state;\n if (!show) {\n this.destroyPopper();\n }\n onExited(); // trigger any parent component waiting for exited handler\n }\n\n renderContent(): JSX.Element {\n const { className, children, timeout, interactive, closeOnBlur } =\n this.props;\n const { show } = this.state;\n\n return (\n <SpectrumThemeProvider isPortal>\n <CSSTransition\n in={show}\n timeout={timeout}\n classNames=\"popper-transition\"\n onEntered={this.handleEnter}\n onExited={this.handleExit}\n nodeRef={this.nodeRef}\n >\n <div\n ref={this.nodeRef}\n onClick={e => {\n // stop click events from escaping popper\n e.stopPropagation();\n }}\n onKeyDown={e => {\n if (e.key === 'Escape') this.hide();\n }}\n className={classNames(\n POPPER_CLASS_NAME,\n { interactive },\n className\n )}\n onBlur={closeOnBlur ? this.handleBlur : undefined}\n tabIndex={closeOnBlur ? -1 : undefined}\n role=\"presentation\"\n >\n <div className=\"popper-content\">\n {children}\n {/* eslint-disable-next-line react/no-unknown-property */}\n <div className=\"popper-arrow\" x-arrow=\"\" />\n </div>\n </div>\n </CSSTransition>\n </SpectrumThemeProvider>\n );\n }\n\n render(): JSX.Element {\n const { popper } = this.state;\n const { 'data-testid': dataTestId } = this.props;\n return (\n <div\n className=\"popper-parent-container\"\n ref={this.container}\n style={{ display: 'none' }}\n data-testid={dataTestId}\n >\n {popper && ReactDOM.createPortal(this.renderContent(), this.element)}\n </div>\n );\n }\n}\n\nexport default Popper;\nexport type { PopperOptions, ReferenceObject };\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Tooltip.d.ts","sourceRoot":"","sources":["../../src/popper/Tooltip.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"Tooltip.d.ts","sourceRoot":"","sources":["../../src/popper/Tooltip.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAIzC,OAAO,MAAM,EAAE,EAAE,KAAK,aAAa,EAAE,KAAK,eAAe,EAAE,MAAM,UAAU,CAAC;AAI5E,KAAK,YAAY,GAAG,OAAO,OAAO,CAAC,YAAY,GAAG;IAChD,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;IAC1B,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,OAAO,CAAC,EAAE,aAAa,CAAC;IACxB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,eAAe,CAAC,EAAE,eAAe,GAAG,IAAI,CAAC;IACzC,SAAS,CAAC,EAAE,MAAM,IAAI,CAAC;IACvB,QAAQ,CAAC,EAAE,MAAM,IAAI,CAAC;IACtB,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB,CAAC;AACF,UAAU,YAAY;IACpB,OAAO,EAAE,OAAO,CAAC;CAClB;AAED;;;;;;;;;;;GAWG;AACH,cAAM,OAAQ,SAAQ,SAAS,CAAC,YAAY,EAAE,YAAY,CAAC;IACzD,MAAM,CAAC,cAAc,SAAO;IAE5B,MAAM,CAAC,oBAAoB,SAAO;IAElC,MAAM,CAAC,sBAAsB,SAAO;IAEpC,MAAM,CAAC,iBAAiB,SAAK;IAE7B,MAAM,CAAC,cAAc,SAAc;IAEnC,MAAM,CAAC,YAAY;;;;;;yBAMF,IAAI;wBACL,IAAI;;MAElB;IAEF,MAAM,CAAC,YAAY,IAAI,IAAI;IAQ3B,MAAM,CAAC,WAAW,IAAI,IAAI;gBAId,KAAK,EAAE,YAAY;IAqB/B,iBAAiB,IAAI,IAAI;IASzB,kBAAkB,CAAC,SAAS,EAAE,YAAY,EAAE,SAAS,EAAE,YAAY,GAAG,IAAI;IAa1E,oBAAoB,IAAI,IAAI;IAY5B,SAAS,EAAE,KAAK,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC;IAE3C,MAAM,EAAE,KAAK,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;IAEhC,MAAM,EAAE,WAAW,GAAG,IAAI,CAAC;IAI3B,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IAErB,cAAc,IAAI,IAAI;IAYtB,aAAa,IAAI,IAAI;IAUrB,oBAAoB,IAAI,IAAI;IAM5B,mBAAmB,IAAI,IAAI;IAM3B,eAAe,IAAI,IAAI;IAIvB,WAAW,IAAI,IAAI;IAanB,gBAAgB,IAAI,IAAI;IAUxB,aAAa,IAAI,IAAI;IAIrB,qBAAqB,CAAC,KAAK,EAAE,UAAU,GAAG,IAAI;IA+B9C,UAAU,IAAI,IAAI;IAclB,SAAS,IAAI,IAAI;IAOjB,IAAI,IAAI,IAAI;IAoBZ,IAAI,IAAI,IAAI;IAKZ,MAAM,IAAI,IAAI;IAId,YAAY,IAAI,IAAI;IAMpB,kBAAkB,IAAI,IAAI;IAQ1B,MAAM,IAAI,GAAG,CAAC,OAAO;CAqCtB;AAED,eAAe,OAAO,CAAC"}
|
package/dist/popper/Tooltip.js
CHANGED
|
@@ -1,14 +1,15 @@
|
|
|
1
|
+
var _Tooltip;
|
|
1
2
|
function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
2
3
|
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
3
4
|
function _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; }
|
|
4
5
|
function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : i + ""; }
|
|
5
6
|
function _toPrimitive(t, r) { if ("object" != typeof t || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != typeof i) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
|
|
6
7
|
import React, { Component } from 'react';
|
|
8
|
+
import { flushSync } from 'react-dom';
|
|
7
9
|
import classNames from 'classnames';
|
|
8
10
|
import Log from '@deephaven/log';
|
|
9
11
|
import Popper from "./Popper.js";
|
|
10
|
-
import { jsxs as _jsxs } from "react/jsx-runtime";
|
|
11
|
-
import { jsx as _jsx } from "react/jsx-runtime";
|
|
12
|
+
import { jsxs as _jsxs, jsx as _jsx } from "react/jsx-runtime";
|
|
12
13
|
var log = Log.module('Tooltip');
|
|
13
14
|
/**
|
|
14
15
|
* Component that can be added to an element to automatically display a tooltip.
|
|
@@ -37,6 +38,8 @@ class Tooltip extends Component {
|
|
|
37
38
|
_defineProperty(this, "container", void 0);
|
|
38
39
|
_defineProperty(this, "popper", void 0);
|
|
39
40
|
_defineProperty(this, "parent", void 0);
|
|
41
|
+
// This is platform dependent of Node/DOM
|
|
42
|
+
// Jest requires Node types
|
|
40
43
|
_defineProperty(this, "timer", void 0);
|
|
41
44
|
this.handleMouseMove = this.handleMouseMove.bind(this);
|
|
42
45
|
this.handleMouseLeave = this.handleMouseLeave.bind(this);
|
|
@@ -88,9 +91,6 @@ class Tooltip extends Component {
|
|
|
88
91
|
Tooltip.handleHidden();
|
|
89
92
|
}
|
|
90
93
|
}
|
|
91
|
-
|
|
92
|
-
// This is platform dependent of Node/DOM
|
|
93
|
-
// Jest requires Node types
|
|
94
94
|
startListening() {
|
|
95
95
|
if (!this.container.current || !this.container.current.parentElement) {
|
|
96
96
|
log.error("Tooltip doesn't have a container or a parent set!");
|
|
@@ -193,9 +193,14 @@ class Tooltip extends Component {
|
|
|
193
193
|
this.stopTimer();
|
|
194
194
|
if (!isShown) {
|
|
195
195
|
var _this$popper$current;
|
|
196
|
-
(_this$popper$current = this.popper.current) === null || _this$popper$current === void 0
|
|
197
|
-
|
|
198
|
-
|
|
196
|
+
(_this$popper$current = this.popper.current) === null || _this$popper$current === void 0 || _this$popper$current.show();
|
|
197
|
+
// This is needed for the positioning to work consistently.
|
|
198
|
+
// Without this, the tooltip sometimes overflows the screen
|
|
199
|
+
// or ends up in a different position when hovered a second time.
|
|
200
|
+
flushSync(() => {
|
|
201
|
+
this.setState({
|
|
202
|
+
isShown: true
|
|
203
|
+
});
|
|
199
204
|
});
|
|
200
205
|
var {
|
|
201
206
|
interactive
|
|
@@ -207,12 +212,12 @@ class Tooltip extends Component {
|
|
|
207
212
|
}
|
|
208
213
|
hide() {
|
|
209
214
|
var _this$popper$current2;
|
|
210
|
-
(_this$popper$current2 = this.popper.current) === null || _this$popper$current2 === void 0
|
|
215
|
+
(_this$popper$current2 = this.popper.current) === null || _this$popper$current2 === void 0 || _this$popper$current2.hide();
|
|
211
216
|
this.stopListeningWindow();
|
|
212
217
|
}
|
|
213
218
|
update() {
|
|
214
219
|
var _this$popper$current3;
|
|
215
|
-
(_this$popper$current3 = this.popper.current) === null || _this$popper$current3 === void 0
|
|
220
|
+
(_this$popper$current3 = this.popper.current) === null || _this$popper$current3 === void 0 || _this$popper$current3.scheduleUpdate();
|
|
216
221
|
}
|
|
217
222
|
handleExited() {
|
|
218
223
|
this.setState({
|
|
@@ -272,6 +277,7 @@ class Tooltip extends Component {
|
|
|
272
277
|
});
|
|
273
278
|
}
|
|
274
279
|
}
|
|
280
|
+
_Tooltip = Tooltip;
|
|
275
281
|
_defineProperty(Tooltip, "defaultTimeout", 500);
|
|
276
282
|
_defineProperty(Tooltip, "defaultReshowTimeout", 100);
|
|
277
283
|
_defineProperty(Tooltip, "triggerReshowThreshold", 300);
|
|
@@ -281,8 +287,8 @@ _defineProperty(Tooltip, "defaultProps", {
|
|
|
281
287
|
interactive: false,
|
|
282
288
|
options: {},
|
|
283
289
|
popperClassName: '',
|
|
284
|
-
reshowTimeout:
|
|
285
|
-
timeout:
|
|
290
|
+
reshowTimeout: _Tooltip.defaultReshowTimeout,
|
|
291
|
+
timeout: _Tooltip.defaultTimeout,
|
|
286
292
|
onEntered: () => undefined,
|
|
287
293
|
onExited: () => undefined,
|
|
288
294
|
'data-testid': undefined
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Tooltip.js","names":["React","Component","classNames","Log","Popper","jsxs","_jsxs","jsx","_jsx","log","module","Tooltip","handleHidden","shownTooltipCount","lastHiddenTime","Date","now","handleShown","constructor","props","_defineProperty","handleMouseMove","bind","handleMouseLeave","handleWindowMouseMove","handleWheel","handleTimeout","handleExited","stopShowingTooltip","container","createRef","popper","parent","timer","state","isShown","componentDidMount","startListening","timeout","show","componentDidUpdate","prevProps","prevState","oldIsShown","componentWillUnmount","stopListening","stopListeningWindow","stopTimer","current","parentElement","error","addEventListener","removeEventListener","startListeningWindow","window","startTimer","element","matches","hide","interactive","event","mouseX","clientX","mouseY","clientY","popperRect","getBoundingClientRect","parentRect","left","width","top","height","reshowTimeout","timerTimeout","triggerReshowThreshold","setTimeout","clearTimeout","_this$popper$current","setState","_this$popper$current2","update","_this$popper$current3","scheduleUpdate","onExited","render","children","referenceObject","popperClassName","dataTestId","onEntered","options","_objectSpread","placement","ref","style","display","className","defaultReshowTimeout","defaultTimeout","undefined"],"sources":["../../src/popper/Tooltip.tsx"],"sourcesContent":["import React, { Component } from 'react';\nimport classNames from 'classnames';\nimport Log from '@deephaven/log';\nimport Popper, { type PopperOptions, type ReferenceObject } from './Popper';\n\nconst log = Log.module('Tooltip');\n\ntype TooltipProps = typeof Tooltip.defaultProps & {\n children: React.ReactNode;\n interactive?: boolean;\n options?: PopperOptions;\n popperClassName?: string;\n reshowTimeout?: number;\n timeout?: number;\n referenceObject?: ReferenceObject | null;\n onEntered?: () => void;\n onExited?: () => void;\n 'data-testid'?: string;\n};\ninterface TooltipState {\n isShown: boolean;\n}\n\n/**\n * Component that can be added to an element to automatically display a tooltip.\n * Content is mounted lazily, so don't worry about complex tooltips!\n *\n * Usage:\n * <div className=\"parent-container\">\n * Hover this container to see a tooltip\n * <Tooltip>\n * <div>My tooltip content goes here!</div>\n * </Tooltip>\n * </div>\n */\nclass Tooltip extends Component<TooltipProps, TooltipState> {\n static defaultTimeout = 500;\n\n static defaultReshowTimeout = 100;\n\n static triggerReshowThreshold = 300;\n\n static shownTooltipCount = 0;\n\n static lastHiddenTime = Date.now();\n\n static defaultProps = {\n interactive: false,\n options: {},\n popperClassName: '',\n reshowTimeout: Tooltip.defaultReshowTimeout,\n timeout: Tooltip.defaultTimeout,\n onEntered: (): void => undefined,\n onExited: (): void => undefined,\n 'data-testid': undefined,\n };\n\n static handleHidden(): void {\n Tooltip.shownTooltipCount -= 1;\n\n if (Tooltip.shownTooltipCount === 0) {\n Tooltip.lastHiddenTime = Date.now();\n }\n }\n\n static handleShown(): void {\n Tooltip.shownTooltipCount += 1;\n }\n\n constructor(props: TooltipProps) {\n super(props);\n\n this.handleMouseMove = this.handleMouseMove.bind(this);\n this.handleMouseLeave = this.handleMouseLeave.bind(this);\n this.handleWindowMouseMove = this.handleWindowMouseMove.bind(this);\n this.handleWheel = this.handleWheel.bind(this);\n this.handleTimeout = this.handleTimeout.bind(this);\n this.handleExited = this.handleExited.bind(this);\n this.stopShowingTooltip = this.stopShowingTooltip.bind(this);\n\n this.container = React.createRef();\n this.popper = React.createRef();\n this.parent = null;\n this.timer = null;\n\n this.state = {\n isShown: false,\n };\n }\n\n componentDidMount(): void {\n this.startListening();\n\n const { timeout } = this.props;\n if (timeout === 0) {\n this.show();\n }\n }\n\n componentDidUpdate(prevProps: TooltipProps, prevState: TooltipState): void {\n const { isShown: oldIsShown } = prevState;\n const { isShown } = this.state;\n\n if (isShown !== oldIsShown) {\n if (isShown) {\n Tooltip.handleShown();\n } else {\n Tooltip.handleHidden();\n }\n }\n }\n\n componentWillUnmount(): void {\n this.stopListening();\n this.stopListeningWindow();\n this.stopTimer();\n\n const { isShown } = this.state;\n\n if (isShown) {\n Tooltip.handleHidden();\n }\n }\n\n container: React.RefObject<HTMLDivElement>;\n\n popper: React.RefObject<Popper>;\n\n parent: HTMLElement | null;\n\n // This is platform dependent of Node/DOM\n // Jest requires Node types\n timer: number | null;\n\n startListening(): void {\n if (!this.container.current || !this.container.current.parentElement) {\n log.error(\"Tooltip doesn't have a container or a parent set!\");\n return;\n }\n\n this.parent = this.container.current.parentElement;\n this.parent.addEventListener('mousemove', this.handleMouseMove);\n this.parent.addEventListener('mouseleave', this.handleMouseLeave);\n this.parent.addEventListener('mousedown', this.stopShowingTooltip);\n }\n\n stopListening(): void {\n if (!this.parent) {\n return;\n }\n\n this.parent.removeEventListener('mousemove', this.handleMouseMove);\n this.parent.removeEventListener('mouseleave', this.handleMouseLeave);\n this.parent.removeEventListener('mousedown', this.stopShowingTooltip);\n }\n\n startListeningWindow(): void {\n window.addEventListener('mousemove', this.handleWindowMouseMove, true);\n window.addEventListener('contextmenu', this.stopShowingTooltip, true);\n window.addEventListener('wheel', this.handleWheel);\n }\n\n stopListeningWindow(): void {\n window.removeEventListener('mousemove', this.handleWindowMouseMove, true);\n window.removeEventListener('contextmenu', this.stopShowingTooltip, true);\n window.removeEventListener('wheel', this.handleWheel);\n }\n\n handleMouseMove(): void {\n this.startTimer();\n }\n\n handleWheel(): void {\n const { isShown } = this.state;\n if (this.popper.current && this.parent && isShown) {\n if (\n !this.popper.current.element.matches(':hover') &&\n !this.parent.matches(':hover')\n ) {\n this.stopTimer();\n this.hide();\n }\n }\n }\n\n handleMouseLeave(): void {\n const { isShown } = this.state;\n this.stopTimer();\n\n const { interactive } = this.props;\n if (!interactive && isShown) {\n this.hide();\n }\n }\n\n handleTimeout(): void {\n this.show();\n }\n\n handleWindowMouseMove(event: MouseEvent): void {\n const mouseX = event.clientX;\n const mouseY = event.clientY;\n const { isShown } = this.state;\n\n if (!this.popper.current || !this.parent) {\n return;\n }\n const popperRect = this.popper.current.element.getBoundingClientRect();\n const parentRect = this.parent.getBoundingClientRect();\n\n if (\n mouseX >= popperRect.left &&\n mouseX <= popperRect.left + popperRect.width &&\n mouseY >= popperRect.top &&\n mouseY <= popperRect.top + popperRect.height\n ) {\n this.handleMouseMove();\n } else if (\n mouseX >= parentRect.left &&\n mouseX <= parentRect.left + parentRect.width &&\n mouseY >= parentRect.top &&\n mouseY <= parentRect.top + parentRect.height\n ) {\n this.handleMouseMove();\n } else if (isShown) {\n this.stopTimer();\n this.hide();\n }\n }\n\n startTimer(): void {\n this.stopTimer();\n\n const { timeout, reshowTimeout } = this.props;\n let timerTimeout = timeout;\n if (\n Tooltip.shownTooltipCount > 0 ||\n Date.now() - Tooltip.lastHiddenTime < Tooltip.triggerReshowThreshold\n ) {\n timerTimeout = reshowTimeout;\n }\n this.timer = window.setTimeout(this.handleTimeout, timerTimeout);\n }\n\n stopTimer(): void {\n if (this.timer != null) {\n clearTimeout(this.timer);\n this.timer = null;\n }\n }\n\n show(): void {\n const { isShown } = this.state;\n this.stopTimer();\n\n if (!isShown) {\n this.popper.current?.show();\n this.setState({ isShown: true });\n\n const { interactive } = this.props;\n if (interactive) {\n this.startListeningWindow();\n }\n }\n }\n\n hide(): void {\n this.popper.current?.hide();\n this.stopListeningWindow();\n }\n\n update(): void {\n this.popper.current?.scheduleUpdate();\n }\n\n handleExited(): void {\n this.setState({ isShown: false });\n const { onExited } = this.props;\n onExited();\n }\n\n stopShowingTooltip(): void {\n const { isShown } = this.state;\n this.stopTimer();\n if (isShown) {\n this.hide();\n }\n }\n\n render(): JSX.Element {\n const {\n interactive,\n children,\n referenceObject,\n popperClassName,\n 'data-testid': dataTestId,\n onEntered,\n } = this.props;\n const { isShown } = this.state;\n\n let { options } = this.props;\n options = {\n placement: 'bottom',\n ...options,\n };\n\n return (\n <div\n ref={this.container}\n style={{ display: 'none' }}\n data-testid={dataTestId}\n >\n <Popper\n className={classNames(popperClassName, 'popper-tooltip')}\n options={options}\n ref={this.popper}\n onEntered={onEntered}\n onExited={this.handleExited}\n interactive={interactive}\n referenceObject={referenceObject}\n >\n <div className=\"tooltip-content\"> {isShown && children}</div>\n </Popper>\n </div>\n );\n }\n}\n\nexport default Tooltip;\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Tooltip.js","names":["React","Component","flushSync","classNames","Log","Popper","jsxs","_jsxs","jsx","_jsx","log","module","Tooltip","handleHidden","shownTooltipCount","lastHiddenTime","Date","now","handleShown","constructor","props","_defineProperty","handleMouseMove","bind","handleMouseLeave","handleWindowMouseMove","handleWheel","handleTimeout","handleExited","stopShowingTooltip","container","createRef","popper","parent","timer","state","isShown","componentDidMount","startListening","timeout","show","componentDidUpdate","prevProps","prevState","oldIsShown","componentWillUnmount","stopListening","stopListeningWindow","stopTimer","current","parentElement","error","addEventListener","removeEventListener","startListeningWindow","window","startTimer","element","matches","hide","interactive","event","mouseX","clientX","mouseY","clientY","popperRect","getBoundingClientRect","parentRect","left","width","top","height","reshowTimeout","timerTimeout","triggerReshowThreshold","setTimeout","clearTimeout","_this$popper$current","setState","_this$popper$current2","update","_this$popper$current3","scheduleUpdate","onExited","render","children","referenceObject","popperClassName","dataTestId","onEntered","options","_objectSpread","placement","ref","style","display","className","_Tooltip","defaultReshowTimeout","defaultTimeout","undefined"],"sources":["../../src/popper/Tooltip.tsx"],"sourcesContent":["import React, { Component } from 'react';\nimport { flushSync } from 'react-dom';\nimport classNames from 'classnames';\nimport Log from '@deephaven/log';\nimport Popper, { type PopperOptions, type ReferenceObject } from './Popper';\n\nconst log = Log.module('Tooltip');\n\ntype TooltipProps = typeof Tooltip.defaultProps & {\n children: React.ReactNode;\n interactive?: boolean;\n options?: PopperOptions;\n popperClassName?: string;\n reshowTimeout?: number;\n timeout?: number;\n referenceObject?: ReferenceObject | null;\n onEntered?: () => void;\n onExited?: () => void;\n 'data-testid'?: string;\n};\ninterface TooltipState {\n isShown: boolean;\n}\n\n/**\n * Component that can be added to an element to automatically display a tooltip.\n * Content is mounted lazily, so don't worry about complex tooltips!\n *\n * Usage:\n * <div className=\"parent-container\">\n * Hover this container to see a tooltip\n * <Tooltip>\n * <div>My tooltip content goes here!</div>\n * </Tooltip>\n * </div>\n */\nclass Tooltip extends Component<TooltipProps, TooltipState> {\n static defaultTimeout = 500;\n\n static defaultReshowTimeout = 100;\n\n static triggerReshowThreshold = 300;\n\n static shownTooltipCount = 0;\n\n static lastHiddenTime = Date.now();\n\n static defaultProps = {\n interactive: false,\n options: {},\n popperClassName: '',\n reshowTimeout: Tooltip.defaultReshowTimeout,\n timeout: Tooltip.defaultTimeout,\n onEntered: (): void => undefined,\n onExited: (): void => undefined,\n 'data-testid': undefined,\n };\n\n static handleHidden(): void {\n Tooltip.shownTooltipCount -= 1;\n\n if (Tooltip.shownTooltipCount === 0) {\n Tooltip.lastHiddenTime = Date.now();\n }\n }\n\n static handleShown(): void {\n Tooltip.shownTooltipCount += 1;\n }\n\n constructor(props: TooltipProps) {\n super(props);\n\n this.handleMouseMove = this.handleMouseMove.bind(this);\n this.handleMouseLeave = this.handleMouseLeave.bind(this);\n this.handleWindowMouseMove = this.handleWindowMouseMove.bind(this);\n this.handleWheel = this.handleWheel.bind(this);\n this.handleTimeout = this.handleTimeout.bind(this);\n this.handleExited = this.handleExited.bind(this);\n this.stopShowingTooltip = this.stopShowingTooltip.bind(this);\n\n this.container = React.createRef();\n this.popper = React.createRef();\n this.parent = null;\n this.timer = null;\n\n this.state = {\n isShown: false,\n };\n }\n\n componentDidMount(): void {\n this.startListening();\n\n const { timeout } = this.props;\n if (timeout === 0) {\n this.show();\n }\n }\n\n componentDidUpdate(prevProps: TooltipProps, prevState: TooltipState): void {\n const { isShown: oldIsShown } = prevState;\n const { isShown } = this.state;\n\n if (isShown !== oldIsShown) {\n if (isShown) {\n Tooltip.handleShown();\n } else {\n Tooltip.handleHidden();\n }\n }\n }\n\n componentWillUnmount(): void {\n this.stopListening();\n this.stopListeningWindow();\n this.stopTimer();\n\n const { isShown } = this.state;\n\n if (isShown) {\n Tooltip.handleHidden();\n }\n }\n\n container: React.RefObject<HTMLDivElement>;\n\n popper: React.RefObject<Popper>;\n\n parent: HTMLElement | null;\n\n // This is platform dependent of Node/DOM\n // Jest requires Node types\n timer: number | null;\n\n startListening(): void {\n if (!this.container.current || !this.container.current.parentElement) {\n log.error(\"Tooltip doesn't have a container or a parent set!\");\n return;\n }\n\n this.parent = this.container.current.parentElement;\n this.parent.addEventListener('mousemove', this.handleMouseMove);\n this.parent.addEventListener('mouseleave', this.handleMouseLeave);\n this.parent.addEventListener('mousedown', this.stopShowingTooltip);\n }\n\n stopListening(): void {\n if (!this.parent) {\n return;\n }\n\n this.parent.removeEventListener('mousemove', this.handleMouseMove);\n this.parent.removeEventListener('mouseleave', this.handleMouseLeave);\n this.parent.removeEventListener('mousedown', this.stopShowingTooltip);\n }\n\n startListeningWindow(): void {\n window.addEventListener('mousemove', this.handleWindowMouseMove, true);\n window.addEventListener('contextmenu', this.stopShowingTooltip, true);\n window.addEventListener('wheel', this.handleWheel);\n }\n\n stopListeningWindow(): void {\n window.removeEventListener('mousemove', this.handleWindowMouseMove, true);\n window.removeEventListener('contextmenu', this.stopShowingTooltip, true);\n window.removeEventListener('wheel', this.handleWheel);\n }\n\n handleMouseMove(): void {\n this.startTimer();\n }\n\n handleWheel(): void {\n const { isShown } = this.state;\n if (this.popper.current && this.parent && isShown) {\n if (\n !this.popper.current.element.matches(':hover') &&\n !this.parent.matches(':hover')\n ) {\n this.stopTimer();\n this.hide();\n }\n }\n }\n\n handleMouseLeave(): void {\n const { isShown } = this.state;\n this.stopTimer();\n\n const { interactive } = this.props;\n if (!interactive && isShown) {\n this.hide();\n }\n }\n\n handleTimeout(): void {\n this.show();\n }\n\n handleWindowMouseMove(event: MouseEvent): void {\n const mouseX = event.clientX;\n const mouseY = event.clientY;\n const { isShown } = this.state;\n\n if (!this.popper.current || !this.parent) {\n return;\n }\n const popperRect = this.popper.current.element.getBoundingClientRect();\n const parentRect = this.parent.getBoundingClientRect();\n\n if (\n mouseX >= popperRect.left &&\n mouseX <= popperRect.left + popperRect.width &&\n mouseY >= popperRect.top &&\n mouseY <= popperRect.top + popperRect.height\n ) {\n this.handleMouseMove();\n } else if (\n mouseX >= parentRect.left &&\n mouseX <= parentRect.left + parentRect.width &&\n mouseY >= parentRect.top &&\n mouseY <= parentRect.top + parentRect.height\n ) {\n this.handleMouseMove();\n } else if (isShown) {\n this.stopTimer();\n this.hide();\n }\n }\n\n startTimer(): void {\n this.stopTimer();\n\n const { timeout, reshowTimeout } = this.props;\n let timerTimeout = timeout;\n if (\n Tooltip.shownTooltipCount > 0 ||\n Date.now() - Tooltip.lastHiddenTime < Tooltip.triggerReshowThreshold\n ) {\n timerTimeout = reshowTimeout;\n }\n this.timer = window.setTimeout(this.handleTimeout, timerTimeout);\n }\n\n stopTimer(): void {\n if (this.timer != null) {\n clearTimeout(this.timer);\n this.timer = null;\n }\n }\n\n show(): void {\n const { isShown } = this.state;\n this.stopTimer();\n\n if (!isShown) {\n this.popper.current?.show();\n // This is needed for the positioning to work consistently.\n // Without this, the tooltip sometimes overflows the screen\n // or ends up in a different position when hovered a second time.\n flushSync(() => {\n this.setState({ isShown: true });\n });\n\n const { interactive } = this.props;\n if (interactive) {\n this.startListeningWindow();\n }\n }\n }\n\n hide(): void {\n this.popper.current?.hide();\n this.stopListeningWindow();\n }\n\n update(): void {\n this.popper.current?.scheduleUpdate();\n }\n\n handleExited(): void {\n this.setState({ isShown: false });\n const { onExited } = this.props;\n onExited();\n }\n\n stopShowingTooltip(): void {\n const { isShown } = this.state;\n this.stopTimer();\n if (isShown) {\n this.hide();\n }\n }\n\n render(): JSX.Element {\n const {\n interactive,\n children,\n referenceObject,\n popperClassName,\n 'data-testid': dataTestId,\n onEntered,\n } = this.props;\n const { isShown } = this.state;\n\n let { options } = this.props;\n options = {\n placement: 'bottom',\n ...options,\n };\n\n return (\n <div\n ref={this.container}\n style={{ display: 'none' }}\n data-testid={dataTestId}\n >\n <Popper\n className={classNames(popperClassName, 'popper-tooltip')}\n options={options}\n ref={this.popper}\n onEntered={onEntered}\n onExited={this.handleExited}\n interactive={interactive}\n referenceObject={referenceObject}\n >\n <div className=\"tooltip-content\"> {isShown && children}</div>\n </Popper>\n </div>\n );\n }\n}\n\nexport default Tooltip;\n"],"mappings":"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","ignoreList":[]}
|
package/dist/popper/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":["default","Popper","Tooltip"],"sources":["../../src/popper/index.ts"],"sourcesContent":["export { default as Popper } from './Popper';\nexport type { PopperOptions, ReferenceObject } from './Popper';\nexport { default as Tooltip } from './Tooltip';\n"],"mappings":"SAASA,OAAO,IAAIC,MAAM;AAAA,SAEjBD,OAAO,IAAIE,OAAO"}
|
|
1
|
+
{"version":3,"file":"index.js","names":["default","Popper","Tooltip"],"sources":["../../src/popper/index.ts"],"sourcesContent":["export { default as Popper } from './Popper';\nexport type { PopperOptions, ReferenceObject } from './Popper';\nexport { default as Tooltip } from './Tooltip';\n"],"mappings":"SAASA,OAAO,IAAIC,MAAM;AAAA,SAEjBD,OAAO,IAAIE,OAAO","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"GlobalShortcuts.js","names":["ShortcutRegistry","MODIFIER","KEY","GLOBAL_SHORTCUTS","COPY","createAndAdd","id","name","shortcut","CTRL","C","macShortcut","CMD","isEditable","PASTE","V","SAVE","S","SELECT_ALL","A","REOPEN_CLOSED_PANEL","ALT","SHIFT","T","OPTION","LINKER","L","LINKER_CLOSE","ESCAPE","COPY_VERSION_INFO","I","EXPORT_LOGS","OPEN_DASHBOARD_LIST","D","NEXT","ENTER","PREVIOUS"],"sources":["../../src/shortcuts/GlobalShortcuts.ts"],"sourcesContent":["import ShortcutRegistry from './ShortcutRegistry';\nimport { MODIFIER, KEY } from './Shortcut';\n\nconst GLOBAL_SHORTCUTS = {\n COPY: ShortcutRegistry.createAndAdd({\n id: 'GLOBAL.COPY',\n name: 'Copy',\n shortcut: [MODIFIER.CTRL, KEY.C],\n macShortcut: [MODIFIER.CMD, KEY.C],\n isEditable: false,\n }),\n PASTE: ShortcutRegistry.createAndAdd({\n id: 'GLOBAL.PASTE',\n name: 'Paste',\n shortcut: [MODIFIER.CTRL, KEY.V],\n macShortcut: [MODIFIER.CMD, KEY.V],\n isEditable: false,\n }),\n SAVE: ShortcutRegistry.createAndAdd({\n id: 'GLOBAL.SAVE',\n name: 'Save',\n shortcut: [MODIFIER.CTRL, KEY.S],\n macShortcut: [MODIFIER.CMD, KEY.S],\n isEditable: false,\n }),\n SELECT_ALL: ShortcutRegistry.createAndAdd({\n id: 'GLOBAL.SELECT_ALL',\n name: 'Select All',\n shortcut: [MODIFIER.CTRL, KEY.A],\n macShortcut: [MODIFIER.CMD, KEY.A],\n isEditable: false,\n }),\n REOPEN_CLOSED_PANEL: ShortcutRegistry.createAndAdd({\n id: 'GLOBAL.REOPEN_CLOSED_PANEL',\n name: 'Re-open Closed Panel',\n shortcut: [MODIFIER.ALT, MODIFIER.SHIFT, KEY.T],\n macShortcut: [MODIFIER.OPTION, MODIFIER.SHIFT, KEY.T],\n isEditable: true,\n }),\n LINKER: ShortcutRegistry.createAndAdd({\n id: 'GLOBAL.LINKER',\n name: 'Linker',\n shortcut: [MODIFIER.CTRL, KEY.L],\n macShortcut: [MODIFIER.CMD, KEY.L],\n }),\n LINKER_CLOSE: ShortcutRegistry.createAndAdd({\n id: 'GLOBAL.LINKER_CLOSE',\n name: 'Close Linker Overlay',\n shortcut: [KEY.ESCAPE],\n macShortcut: [KEY.ESCAPE],\n isEditable: false,\n }),\n COPY_VERSION_INFO: ShortcutRegistry.createAndAdd({\n id: 'GLOBAL.COPY_VERSION_INFO',\n name: 'Copy Version Info',\n // alt vs shift to not be the devtools shortcut on each platform\n shortcut: [MODIFIER.CTRL, MODIFIER.ALT, KEY.I],\n macShortcut: [MODIFIER.CMD, MODIFIER.SHIFT, KEY.I],\n isEditable: true,\n }),\n EXPORT_LOGS: ShortcutRegistry.createAndAdd({\n id: 'GLOBAL.EXPORT_LOGS',\n name: 'Export Logs',\n shortcut: [MODIFIER.CTRL, MODIFIER.ALT, MODIFIER.SHIFT, KEY.L],\n macShortcut: [MODIFIER.CMD, MODIFIER.OPTION, MODIFIER.SHIFT, KEY.L],\n isEditable: true,\n }),\n OPEN_DASHBOARD_LIST: ShortcutRegistry.createAndAdd({\n id: 'GLOBAL.OPEN_DASHBOARD_LIST',\n name: 'Open Dashboard List',\n shortcut: [MODIFIER.CTRL, MODIFIER.SHIFT, KEY.D],\n macShortcut: [MODIFIER.CMD, MODIFIER.SHIFT, KEY.D],\n isEditable: true,\n }),\n NEXT: ShortcutRegistry.createAndAdd({\n id: 'GLOBAL.NEXT',\n name: 'Next',\n shortcut: [KEY.ENTER],\n macShortcut: [KEY.ENTER],\n isEditable: false,\n }),\n PREVIOUS: ShortcutRegistry.createAndAdd({\n id: 'GLOBAL.PREVIOUS',\n name: 'Previous',\n shortcut: [MODIFIER.SHIFT, KEY.ENTER],\n macShortcut: [MODIFIER.SHIFT, KEY.ENTER],\n isEditable: false,\n }),\n};\n\nexport default GLOBAL_SHORTCUTS;\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"GlobalShortcuts.js","names":["ShortcutRegistry","MODIFIER","KEY","GLOBAL_SHORTCUTS","COPY","createAndAdd","id","name","shortcut","CTRL","C","macShortcut","CMD","isEditable","PASTE","V","SAVE","S","SELECT_ALL","A","REOPEN_CLOSED_PANEL","ALT","SHIFT","T","OPTION","LINKER","L","LINKER_CLOSE","ESCAPE","COPY_VERSION_INFO","I","EXPORT_LOGS","OPEN_DASHBOARD_LIST","D","NEXT","ENTER","PREVIOUS"],"sources":["../../src/shortcuts/GlobalShortcuts.ts"],"sourcesContent":["import ShortcutRegistry from './ShortcutRegistry';\nimport { MODIFIER, KEY } from './Shortcut';\n\nconst GLOBAL_SHORTCUTS = {\n COPY: ShortcutRegistry.createAndAdd({\n id: 'GLOBAL.COPY',\n name: 'Copy',\n shortcut: [MODIFIER.CTRL, KEY.C],\n macShortcut: [MODIFIER.CMD, KEY.C],\n isEditable: false,\n }),\n PASTE: ShortcutRegistry.createAndAdd({\n id: 'GLOBAL.PASTE',\n name: 'Paste',\n shortcut: [MODIFIER.CTRL, KEY.V],\n macShortcut: [MODIFIER.CMD, KEY.V],\n isEditable: false,\n }),\n SAVE: ShortcutRegistry.createAndAdd({\n id: 'GLOBAL.SAVE',\n name: 'Save',\n shortcut: [MODIFIER.CTRL, KEY.S],\n macShortcut: [MODIFIER.CMD, KEY.S],\n isEditable: false,\n }),\n SELECT_ALL: ShortcutRegistry.createAndAdd({\n id: 'GLOBAL.SELECT_ALL',\n name: 'Select All',\n shortcut: [MODIFIER.CTRL, KEY.A],\n macShortcut: [MODIFIER.CMD, KEY.A],\n isEditable: false,\n }),\n REOPEN_CLOSED_PANEL: ShortcutRegistry.createAndAdd({\n id: 'GLOBAL.REOPEN_CLOSED_PANEL',\n name: 'Re-open Closed Panel',\n shortcut: [MODIFIER.ALT, MODIFIER.SHIFT, KEY.T],\n macShortcut: [MODIFIER.OPTION, MODIFIER.SHIFT, KEY.T],\n isEditable: true,\n }),\n LINKER: ShortcutRegistry.createAndAdd({\n id: 'GLOBAL.LINKER',\n name: 'Linker',\n shortcut: [MODIFIER.CTRL, KEY.L],\n macShortcut: [MODIFIER.CMD, KEY.L],\n }),\n LINKER_CLOSE: ShortcutRegistry.createAndAdd({\n id: 'GLOBAL.LINKER_CLOSE',\n name: 'Close Linker Overlay',\n shortcut: [KEY.ESCAPE],\n macShortcut: [KEY.ESCAPE],\n isEditable: false,\n }),\n COPY_VERSION_INFO: ShortcutRegistry.createAndAdd({\n id: 'GLOBAL.COPY_VERSION_INFO',\n name: 'Copy Version Info',\n // alt vs shift to not be the devtools shortcut on each platform\n shortcut: [MODIFIER.CTRL, MODIFIER.ALT, KEY.I],\n macShortcut: [MODIFIER.CMD, MODIFIER.SHIFT, KEY.I],\n isEditable: true,\n }),\n EXPORT_LOGS: ShortcutRegistry.createAndAdd({\n id: 'GLOBAL.EXPORT_LOGS',\n name: 'Export Logs',\n shortcut: [MODIFIER.CTRL, MODIFIER.ALT, MODIFIER.SHIFT, KEY.L],\n macShortcut: [MODIFIER.CMD, MODIFIER.OPTION, MODIFIER.SHIFT, KEY.L],\n isEditable: true,\n }),\n OPEN_DASHBOARD_LIST: ShortcutRegistry.createAndAdd({\n id: 'GLOBAL.OPEN_DASHBOARD_LIST',\n name: 'Open Dashboard List',\n shortcut: [MODIFIER.CTRL, MODIFIER.SHIFT, KEY.D],\n macShortcut: [MODIFIER.CMD, MODIFIER.SHIFT, KEY.D],\n isEditable: true,\n }),\n NEXT: ShortcutRegistry.createAndAdd({\n id: 'GLOBAL.NEXT',\n name: 'Next',\n shortcut: [KEY.ENTER],\n macShortcut: [KEY.ENTER],\n isEditable: false,\n }),\n PREVIOUS: ShortcutRegistry.createAndAdd({\n id: 'GLOBAL.PREVIOUS',\n name: 'Previous',\n shortcut: [MODIFIER.SHIFT, KEY.ENTER],\n macShortcut: [MODIFIER.SHIFT, KEY.ENTER],\n isEditable: false,\n }),\n};\n\nexport default GLOBAL_SHORTCUTS;\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -24,7 +24,7 @@ var NAVIGATION_SHORTCUTS = {
|
|
|
24
24
|
}),
|
|
25
25
|
CYCLE_TO_PREVIOUS_TAB: ShortcutRegistry.createAndAdd({
|
|
26
26
|
id: 'NAVIGATION.CYCLE_TO_PREVIOUS_TAB',
|
|
27
|
-
name: 'Cycle To Previous
|
|
27
|
+
name: 'Cycle To Previous Tab',
|
|
28
28
|
shortcut: [MODIFIER.CTRL, MODIFIER.SHIFT, KEY.COLON],
|
|
29
29
|
macShortcut: [MODIFIER.CMD, MODIFIER.SHIFT, KEY.SEMICOLON],
|
|
30
30
|
isEditable: true
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"NavigationShortcuts.js","names":["ShortcutRegistry","MODIFIER","KEY","NAVIGATION_SHORTCUTS","CYCLE_TO_NEXT_STACK","createAndAdd","id","name","shortcut","CTRL","SINGLE_QUOTE","macShortcut","CMD","isEditable","CYCLE_TO_PREVIOUS_STACK","SEMICOLON","CYCLE_TO_NEXT_TAB","SHIFT","DOUBLE_QUOTE","CYCLE_TO_PREVIOUS_TAB","COLON","CYCLE_TO_NEXT_DASHBOARD","PERIOD","CYCLE_TO_PREVIOUS_DASHBOARD","COMMA"],"sources":["../../src/shortcuts/NavigationShortcuts.ts"],"sourcesContent":["import ShortcutRegistry from './ShortcutRegistry';\nimport { MODIFIER, KEY } from './Shortcut';\n\nconst NAVIGATION_SHORTCUTS = {\n CYCLE_TO_NEXT_STACK: ShortcutRegistry.createAndAdd({\n id: 'NAVIGATION.CYCLE_TO_NEXT_STACK',\n name: 'Cycle To Next Stack',\n shortcut: [MODIFIER.CTRL, KEY.SINGLE_QUOTE],\n macShortcut: [MODIFIER.CMD, KEY.SINGLE_QUOTE],\n isEditable: true,\n }),\n CYCLE_TO_PREVIOUS_STACK: ShortcutRegistry.createAndAdd({\n id: 'NAVIGATION.CYCLE_TO_PREVIOUS_STACK',\n name: 'Cycle To Previous Stack',\n shortcut: [MODIFIER.CTRL, KEY.SEMICOLON],\n macShortcut: [MODIFIER.CMD, KEY.SEMICOLON],\n isEditable: true,\n }),\n CYCLE_TO_NEXT_TAB: ShortcutRegistry.createAndAdd({\n id: 'NAVIGATION.CYCLE_TO_NEXT_TAB',\n name: 'Cycle To Next Tab',\n shortcut: [MODIFIER.CTRL, MODIFIER.SHIFT, KEY.DOUBLE_QUOTE],\n macShortcut: [MODIFIER.CMD, MODIFIER.SHIFT, KEY.SINGLE_QUOTE],\n isEditable: true,\n }),\n CYCLE_TO_PREVIOUS_TAB: ShortcutRegistry.createAndAdd({\n id: 'NAVIGATION.CYCLE_TO_PREVIOUS_TAB',\n name: 'Cycle To Previous
|
|
1
|
+
{"version":3,"file":"NavigationShortcuts.js","names":["ShortcutRegistry","MODIFIER","KEY","NAVIGATION_SHORTCUTS","CYCLE_TO_NEXT_STACK","createAndAdd","id","name","shortcut","CTRL","SINGLE_QUOTE","macShortcut","CMD","isEditable","CYCLE_TO_PREVIOUS_STACK","SEMICOLON","CYCLE_TO_NEXT_TAB","SHIFT","DOUBLE_QUOTE","CYCLE_TO_PREVIOUS_TAB","COLON","CYCLE_TO_NEXT_DASHBOARD","PERIOD","CYCLE_TO_PREVIOUS_DASHBOARD","COMMA"],"sources":["../../src/shortcuts/NavigationShortcuts.ts"],"sourcesContent":["import ShortcutRegistry from './ShortcutRegistry';\nimport { MODIFIER, KEY } from './Shortcut';\n\nconst NAVIGATION_SHORTCUTS = {\n CYCLE_TO_NEXT_STACK: ShortcutRegistry.createAndAdd({\n id: 'NAVIGATION.CYCLE_TO_NEXT_STACK',\n name: 'Cycle To Next Stack',\n shortcut: [MODIFIER.CTRL, KEY.SINGLE_QUOTE],\n macShortcut: [MODIFIER.CMD, KEY.SINGLE_QUOTE],\n isEditable: true,\n }),\n CYCLE_TO_PREVIOUS_STACK: ShortcutRegistry.createAndAdd({\n id: 'NAVIGATION.CYCLE_TO_PREVIOUS_STACK',\n name: 'Cycle To Previous Stack',\n shortcut: [MODIFIER.CTRL, KEY.SEMICOLON],\n macShortcut: [MODIFIER.CMD, KEY.SEMICOLON],\n isEditable: true,\n }),\n CYCLE_TO_NEXT_TAB: ShortcutRegistry.createAndAdd({\n id: 'NAVIGATION.CYCLE_TO_NEXT_TAB',\n name: 'Cycle To Next Tab',\n shortcut: [MODIFIER.CTRL, MODIFIER.SHIFT, KEY.DOUBLE_QUOTE],\n macShortcut: [MODIFIER.CMD, MODIFIER.SHIFT, KEY.SINGLE_QUOTE],\n isEditable: true,\n }),\n CYCLE_TO_PREVIOUS_TAB: ShortcutRegistry.createAndAdd({\n id: 'NAVIGATION.CYCLE_TO_PREVIOUS_TAB',\n name: 'Cycle To Previous Tab',\n shortcut: [MODIFIER.CTRL, MODIFIER.SHIFT, KEY.COLON],\n macShortcut: [MODIFIER.CMD, MODIFIER.SHIFT, KEY.SEMICOLON],\n isEditable: true,\n }),\n CYCLE_TO_NEXT_DASHBOARD: ShortcutRegistry.createAndAdd({\n id: 'NAVIGATION.CYCLE_TO_NEXT_DASHBOARD',\n name: 'Cycle To Next Dashboard',\n shortcut: [MODIFIER.CTRL, KEY.PERIOD],\n macShortcut: [MODIFIER.CMD, KEY.PERIOD],\n isEditable: true,\n }),\n CYCLE_TO_PREVIOUS_DASHBOARD: ShortcutRegistry.createAndAdd({\n id: 'NAVIGATION.CYCLE_TO_PREVIOUS_DASHBOARD',\n name: 'Cycle To Previous Dashboard',\n shortcut: [MODIFIER.CTRL, KEY.COMMA],\n macShortcut: [MODIFIER.CMD, KEY.COMMA],\n isEditable: true,\n }),\n};\n\nexport default NAVIGATION_SHORTCUTS;\n"],"mappings":"OAAOA,gBAAgB;AAAA,SACdC,QAAQ,EAAEC,GAAG;AAEtB,IAAMC,oBAAoB,GAAG;EAC3BC,mBAAmB,EAAEJ,gBAAgB,CAACK,YAAY,CAAC;IACjDC,EAAE,EAAE,gCAAgC;IACpCC,IAAI,EAAE,qBAAqB;IAC3BC,QAAQ,EAAE,CAACP,QAAQ,CAACQ,IAAI,EAAEP,GAAG,CAACQ,YAAY,CAAC;IAC3CC,WAAW,EAAE,CAACV,QAAQ,CAACW,GAAG,EAAEV,GAAG,CAACQ,YAAY,CAAC;IAC7CG,UAAU,EAAE;EACd,CAAC,CAAC;EACFC,uBAAuB,EAAEd,gBAAgB,CAACK,YAAY,CAAC;IACrDC,EAAE,EAAE,oCAAoC;IACxCC,IAAI,EAAE,yBAAyB;IAC/BC,QAAQ,EAAE,CAACP,QAAQ,CAACQ,IAAI,EAAEP,GAAG,CAACa,SAAS,CAAC;IACxCJ,WAAW,EAAE,CAACV,QAAQ,CAACW,GAAG,EAAEV,GAAG,CAACa,SAAS,CAAC;IAC1CF,UAAU,EAAE;EACd,CAAC,CAAC;EACFG,iBAAiB,EAAEhB,gBAAgB,CAACK,YAAY,CAAC;IAC/CC,EAAE,EAAE,8BAA8B;IAClCC,IAAI,EAAE,mBAAmB;IACzBC,QAAQ,EAAE,CAACP,QAAQ,CAACQ,IAAI,EAAER,QAAQ,CAACgB,KAAK,EAAEf,GAAG,CAACgB,YAAY,CAAC;IAC3DP,WAAW,EAAE,CAACV,QAAQ,CAACW,GAAG,EAAEX,QAAQ,CAACgB,KAAK,EAAEf,GAAG,CAACQ,YAAY,CAAC;IAC7DG,UAAU,EAAE;EACd,CAAC,CAAC;EACFM,qBAAqB,EAAEnB,gBAAgB,CAACK,YAAY,CAAC;IACnDC,EAAE,EAAE,kCAAkC;IACtCC,IAAI,EAAE,uBAAuB;IAC7BC,QAAQ,EAAE,CAACP,QAAQ,CAACQ,IAAI,EAAER,QAAQ,CAACgB,KAAK,EAAEf,GAAG,CAACkB,KAAK,CAAC;IACpDT,WAAW,EAAE,CAACV,QAAQ,CAACW,GAAG,EAAEX,QAAQ,CAACgB,KAAK,EAAEf,GAAG,CAACa,SAAS,CAAC;IAC1DF,UAAU,EAAE;EACd,CAAC,CAAC;EACFQ,uBAAuB,EAAErB,gBAAgB,CAACK,YAAY,CAAC;IACrDC,EAAE,EAAE,oCAAoC;IACxCC,IAAI,EAAE,yBAAyB;IAC/BC,QAAQ,EAAE,CAACP,QAAQ,CAACQ,IAAI,EAAEP,GAAG,CAACoB,MAAM,CAAC;IACrCX,WAAW,EAAE,CAACV,QAAQ,CAACW,GAAG,EAAEV,GAAG,CAACoB,MAAM,CAAC;IACvCT,UAAU,EAAE;EACd,CAAC,CAAC;EACFU,2BAA2B,EAAEvB,gBAAgB,CAACK,YAAY,CAAC;IACzDC,EAAE,EAAE,wCAAwC;IAC5CC,IAAI,EAAE,6BAA6B;IACnCC,QAAQ,EAAE,CAACP,QAAQ,CAACQ,IAAI,EAAEP,GAAG,CAACsB,KAAK,CAAC;IACpCb,WAAW,EAAE,CAACV,QAAQ,CAACW,GAAG,EAAEV,GAAG,CAACsB,KAAK,CAAC;IACtCX,UAAU,EAAE;EACd,CAAC;AACH,CAAC;AAED,eAAeV,oBAAoB","ignoreList":[]}
|
|
@@ -7,19 +7,18 @@ import { Log } from '@deephaven/log';
|
|
|
7
7
|
import { EventShimCustomEvent } from '@deephaven/utils';
|
|
8
8
|
import { ContextActionUtils } from "../context-actions/index.js";
|
|
9
9
|
var log = Log.module('Shortcut');
|
|
10
|
-
export var MODIFIER
|
|
11
|
-
|
|
12
|
-
// The value should match the KeyboardEvent.key value
|
|
13
|
-
// This is the value which will be displayed if no display overrides are done in the OS specific getDisplayString methods
|
|
14
|
-
(function (MODIFIER) {
|
|
10
|
+
export var MODIFIER = /*#__PURE__*/function (MODIFIER) {
|
|
15
11
|
MODIFIER["CTRL"] = "MODIFIER_CTRL";
|
|
16
12
|
MODIFIER["CMD"] = "MODIFIER_CMD";
|
|
17
13
|
MODIFIER["ALT"] = "MODIFIER_ALT";
|
|
18
14
|
MODIFIER["OPTION"] = "MODIFIER_OPTION";
|
|
19
15
|
MODIFIER["SHIFT"] = "MODIFIER_SHIFT";
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
16
|
+
return MODIFIER;
|
|
17
|
+
}({});
|
|
18
|
+
|
|
19
|
+
// The value should match the KeyboardEvent.key value
|
|
20
|
+
// This is the value which will be displayed if no display overrides are done in the OS specific getDisplayString methods
|
|
21
|
+
export var KEY = /*#__PURE__*/function (KEY) {
|
|
23
22
|
KEY["A"] = "A";
|
|
24
23
|
KEY["B"] = "B";
|
|
25
24
|
KEY["C"] = "C";
|
|
@@ -94,13 +93,10 @@ export var KEY;
|
|
|
94
93
|
KEY["F10"] = "F10";
|
|
95
94
|
KEY["F11"] = "F11";
|
|
96
95
|
KEY["F12"] = "F12";
|
|
97
|
-
|
|
96
|
+
return KEY;
|
|
97
|
+
}({});
|
|
98
98
|
var ALLOWED_SINGLE_KEY_SET = new Set([KEY.ENTER, KEY.DELETE, KEY.F1, KEY.F2, KEY.F3, KEY.F4, KEY.F5, KEY.F6, KEY.F7, KEY.F8, KEY.F9, KEY.F10, KEY.F11, KEY.F12]);
|
|
99
99
|
export default class Shortcut extends EventTarget {
|
|
100
|
-
// Unique identifier for the shortcut
|
|
101
|
-
|
|
102
|
-
// e.g. Rename, Save, Run Selected
|
|
103
|
-
|
|
104
100
|
/**
|
|
105
101
|
* Use to check if a keyCode corresponds to an allowed key for a shortcut
|
|
106
102
|
* @param keyCode The keyCode to check. This should be the charCode of the key
|
|
@@ -291,7 +287,9 @@ export default class Shortcut extends EventTarget {
|
|
|
291
287
|
} = _ref;
|
|
292
288
|
super();
|
|
293
289
|
_defineProperty(this, "id", void 0);
|
|
290
|
+
// Unique identifier for the shortcut
|
|
294
291
|
_defineProperty(this, "name", void 0);
|
|
292
|
+
// e.g. Rename, Save, Run Selected
|
|
295
293
|
_defineProperty(this, "tooltip", void 0);
|
|
296
294
|
_defineProperty(this, "isEditable", void 0);
|
|
297
295
|
_defineProperty(this, "defaultKeyState", void 0);
|