@itwin/core-react 4.0.0-dev.12 → 4.0.0-dev.14
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +116 -1
- package/ContributeGuidelines.md +17 -14
- package/README.md +2 -2
- package/lib/cjs/core-react/UiCore.d.ts +40 -40
- package/lib/cjs/core-react/UiCore.js +85 -85
- package/lib/cjs/core-react/UiCore.js.map +1 -1
- package/lib/cjs/core-react/autosuggest/AutoSuggest.d.ts +96 -96
- package/lib/cjs/core-react/autosuggest/AutoSuggest.d.ts.map +1 -1
- package/lib/cjs/core-react/autosuggest/AutoSuggest.js +174 -174
- package/lib/cjs/core-react/autosuggest/AutoSuggest.scss +1 -2
- package/lib/cjs/core-react/badge/Badge.d.ts +18 -18
- package/lib/cjs/core-react/badge/Badge.js +26 -26
- package/lib/cjs/core-react/badge/BadgeUtilities.d.ts +12 -12
- package/lib/cjs/core-react/badge/BadgeUtilities.js +38 -38
- package/lib/cjs/core-react/badge/BetaBadge.d.ts +9 -9
- package/lib/cjs/core-react/badge/BetaBadge.js +22 -22
- package/lib/cjs/core-react/badge/NewBadge.d.ts +10 -10
- package/lib/cjs/core-react/badge/NewBadge.js +23 -23
- package/lib/cjs/core-react/base/Centered.d.ts +10 -10
- package/lib/cjs/core-react/base/Centered.js +20 -20
- package/lib/cjs/core-react/base/Div.d.ts +16 -16
- package/lib/cjs/core-react/base/Div.js +20 -20
- package/lib/cjs/core-react/base/DivWithOutsideClick.d.ts +79 -79
- package/lib/cjs/core-react/base/DivWithOutsideClick.js +16 -16
- package/lib/cjs/core-react/base/FillCentered.d.ts +10 -10
- package/lib/cjs/core-react/base/FillCentered.js +20 -20
- package/lib/cjs/core-react/base/FlexWrapContainer.d.ts +11 -11
- package/lib/cjs/core-react/base/FlexWrapContainer.js +21 -21
- package/lib/cjs/core-react/base/Gap.d.ts +15 -15
- package/lib/cjs/core-react/base/Gap.js +20 -20
- package/lib/cjs/core-react/base/Gap.js.map +1 -1
- package/lib/cjs/core-react/base/PointerEvents.d.ts +7 -7
- package/lib/cjs/core-react/base/PointerEvents.js +17 -17
- package/lib/cjs/core-react/base/ScrollView.d.ts +11 -11
- package/lib/cjs/core-react/base/ScrollView.js +21 -21
- package/lib/cjs/core-react/button/UnderlinedButton.d.ts +24 -24
- package/lib/cjs/core-react/button/UnderlinedButton.js +35 -35
- package/lib/cjs/core-react/checklistbox/CheckListBox.d.ts +40 -40
- package/lib/cjs/core-react/checklistbox/CheckListBox.js +42 -42
- package/lib/cjs/core-react/checklistbox/CheckListBox.scss +0 -1
- package/lib/cjs/core-react/classes.scss +0 -2
- package/lib/cjs/core-react/contextmenu/ContextMenu.d.ts +93 -93
- package/lib/cjs/core-react/contextmenu/ContextMenu.d.ts.map +1 -1
- package/lib/cjs/core-react/contextmenu/ContextMenu.js +363 -364
- package/lib/cjs/core-react/contextmenu/ContextMenu.js.map +1 -1
- package/lib/cjs/core-react/contextmenu/ContextMenuDirection.d.ts +18 -18
- package/lib/cjs/core-react/contextmenu/ContextMenuDirection.js +26 -26
- package/lib/cjs/core-react/contextmenu/ContextMenuDivider.d.ts +12 -12
- package/lib/cjs/core-react/contextmenu/ContextMenuDivider.js +23 -23
- package/lib/cjs/core-react/contextmenu/ContextMenuItem.d.ts +61 -61
- package/lib/cjs/core-react/contextmenu/ContextMenuItem.js +108 -108
- package/lib/cjs/core-react/contextmenu/ContextMenuItem.js.map +1 -1
- package/lib/cjs/core-react/contextmenu/ContextSubMenu.d.ts +51 -51
- package/lib/cjs/core-react/contextmenu/ContextSubMenu.d.ts.map +1 -1
- package/lib/cjs/core-react/contextmenu/ContextSubMenu.js +162 -162
- package/lib/cjs/core-react/contextmenu/ContextSubMenu.js.map +1 -1
- package/lib/cjs/core-react/contextmenu/GlobalContextMenu.d.ts +34 -34
- package/lib/cjs/core-react/contextmenu/GlobalContextMenu.js +61 -63
- package/lib/cjs/core-react/contextmenu/GlobalContextMenu.js.map +1 -1
- package/lib/cjs/core-react/contextmenu/PopupContextMenu.d.ts +53 -53
- package/lib/cjs/core-react/contextmenu/PopupContextMenu.js +55 -55
- package/lib/cjs/core-react/contextmenu/TildeFinder.d.ts +18 -18
- package/lib/cjs/core-react/contextmenu/TildeFinder.js +70 -70
- package/lib/cjs/core-react/contextmenu/TildeFinder.js.map +1 -1
- package/lib/cjs/core-react/dialog/Dialog.d.ts +132 -132
- package/lib/cjs/core-react/dialog/Dialog.js +374 -375
- package/lib/cjs/core-react/dialog/Dialog.js.map +1 -1
- package/lib/cjs/core-react/dialog/GlobalDialog.d.ts +28 -28
- package/lib/cjs/core-react/dialog/GlobalDialog.js +52 -53
- package/lib/cjs/core-react/dialog/GlobalDialog.js.map +1 -1
- package/lib/cjs/core-react/elementseparator/ElementSeparator.d.ts +41 -41
- package/lib/cjs/core-react/elementseparator/ElementSeparator.js +163 -163
- package/lib/cjs/core-react/elementseparator/ElementSeparator.js.map +1 -1
- package/lib/cjs/core-react/enums/Alignment.d.ts +22 -22
- package/lib/cjs/core-react/enums/Alignment.js +31 -31
- package/lib/cjs/core-react/enums/CheckBoxState.d.ts +20 -20
- package/lib/cjs/core-react/enums/CheckBoxState.js +19 -19
- package/lib/cjs/core-react/enums/Orientation.d.ts +11 -11
- package/lib/cjs/core-react/enums/Orientation.js +19 -19
- package/lib/cjs/core-react/enums/SortDirection.d.ts +12 -12
- package/lib/cjs/core-react/enums/SortDirection.js +20 -20
- package/lib/cjs/core-react/enums/TimeFormat.d.ts +14 -14
- package/lib/cjs/core-react/enums/TimeFormat.js +22 -22
- package/lib/cjs/core-react/expandable/ExpandableList.d.ts +37 -37
- package/lib/cjs/core-react/expandable/ExpandableList.js +57 -57
- package/lib/cjs/core-react/expandable/ExpandableList.js.map +1 -1
- package/lib/cjs/core-react/focus/ItemKeyboardNavigator.d.ts +53 -53
- package/lib/cjs/core-react/focus/ItemKeyboardNavigator.d.ts.map +1 -1
- package/lib/cjs/core-react/focus/ItemKeyboardNavigator.js +150 -150
- package/lib/cjs/core-react/focustrap/FocusTrap.d.ts +28 -28
- package/lib/cjs/core-react/focustrap/FocusTrap.js +196 -196
- package/lib/cjs/core-react/hocs/withIsPressed.d.ts +77 -77
- package/lib/cjs/core-react/hocs/withIsPressed.js +46 -46
- package/lib/cjs/core-react/hocs/withOnOutsideClick.d.ts +103 -103
- package/lib/cjs/core-react/hocs/withOnOutsideClick.js +114 -115
- package/lib/cjs/core-react/hocs/withOnOutsideClick.js.map +1 -1
- package/lib/cjs/core-react/hocs/withTimeout.d.ts +74 -74
- package/lib/cjs/core-react/hocs/withTimeout.js +46 -46
- package/lib/cjs/core-react/icons/ConditionalIconItem.d.ts +26 -26
- package/lib/cjs/core-react/icons/ConditionalIconItem.js +64 -64
- package/lib/cjs/core-react/icons/IconComponent.d.ts +25 -25
- package/lib/cjs/core-react/icons/IconComponent.d.ts.map +1 -1
- package/lib/cjs/core-react/icons/IconComponent.js +48 -48
- package/lib/cjs/core-react/icons/IconComponent.js.map +1 -1
- package/lib/cjs/core-react/icons/SvgPath.d.ts +23 -23
- package/lib/cjs/core-react/icons/SvgPath.js +27 -27
- package/lib/cjs/core-react/icons/WebFontIcon.d.ts +25 -25
- package/lib/cjs/core-react/icons/WebFontIcon.js +21 -21
- package/lib/cjs/core-react/imagecheckbox/ImageCheckBox.d.ts +42 -42
- package/lib/cjs/core-react/imagecheckbox/ImageCheckBox.js +56 -56
- package/lib/cjs/core-react/index.scss +0 -2
- package/lib/cjs/core-react/inputs/Input.d.ts +20 -20
- package/lib/cjs/core-react/inputs/Input.js +45 -45
- package/lib/cjs/core-react/inputs/InputLabel.d.ts +20 -20
- package/lib/cjs/core-react/inputs/InputLabel.js +41 -41
- package/lib/cjs/core-react/inputs/InputStatus.d.ts +11 -11
- package/lib/cjs/core-react/inputs/InputStatus.js +19 -19
- package/lib/cjs/core-react/inputs/LabeledComponentProps.d.ts +33 -33
- package/lib/cjs/core-react/inputs/LabeledComponentProps.js +9 -9
- package/lib/cjs/core-react/inputs/iconinput/IconInput.d.ts +23 -23
- package/lib/cjs/core-react/inputs/iconinput/IconInput.js +29 -29
- package/lib/cjs/core-react/inputs/numberinput/NumberInput.d.ts +50 -50
- package/lib/cjs/core-react/inputs/numberinput/NumberInput.d.ts.map +1 -1
- package/lib/cjs/core-react/inputs/numberinput/NumberInput.js +153 -153
- package/lib/cjs/core-react/listbox/Listbox.d.ts +55 -55
- package/lib/cjs/core-react/listbox/Listbox.d.ts.map +1 -1
- package/lib/cjs/core-react/listbox/Listbox.js +221 -222
- package/lib/cjs/core-react/listbox/Listbox.js.map +1 -1
- package/lib/cjs/core-react/loading/LoadingBar.d.ts +29 -29
- package/lib/cjs/core-react/loading/LoadingBar.js +40 -40
- package/lib/cjs/core-react/loading/LoadingBar.js.map +1 -1
- package/lib/cjs/core-react/loading/LoadingPrompt.d.ts +39 -39
- package/lib/cjs/core-react/loading/LoadingPrompt.js +44 -44
- package/lib/cjs/core-react/loading/LoadingPrompt.js.map +1 -1
- package/lib/cjs/core-react/loading/LoadingSpinner.d.ts +32 -32
- package/lib/cjs/core-react/loading/LoadingSpinner.d.ts.map +1 -1
- package/lib/cjs/core-react/loading/LoadingSpinner.js +30 -30
- package/lib/cjs/core-react/loading/LoadingSpinner.js.map +1 -1
- package/lib/cjs/core-react/loading/LoadingStatus.d.ts +24 -24
- package/lib/cjs/core-react/loading/LoadingStatus.js +37 -37
- package/lib/cjs/core-react/loading/LoadingStatus.js.map +1 -1
- package/lib/cjs/core-react/messagebox/MessageBox.d.ts +80 -80
- package/lib/cjs/core-react/messagebox/MessageBox.js +114 -114
- package/lib/cjs/core-react/messagebox/MessageBox.js.map +1 -1
- package/lib/cjs/core-react/notification/MessageRenderer.d.ts +19 -19
- package/lib/cjs/core-react/notification/MessageRenderer.js +81 -81
- package/lib/cjs/core-react/notification/MessageRenderer.js.map +1 -1
- package/lib/cjs/core-react/notification/MessageType.d.ts +22 -22
- package/lib/cjs/core-react/notification/MessageType.d.ts.map +1 -1
- package/lib/cjs/core-react/notification/MessageType.js +24 -24
- package/lib/cjs/core-react/popup/Popup.d.ts +111 -111
- package/lib/cjs/core-react/popup/Popup.js +418 -422
- package/lib/cjs/core-react/popup/Popup.js.map +1 -1
- package/lib/cjs/core-react/radialmenu/Annulus.d.ts +54 -54
- package/lib/cjs/core-react/radialmenu/Annulus.js +82 -82
- package/lib/cjs/core-react/radialmenu/RadialMenu.d.ts +97 -97
- package/lib/cjs/core-react/radialmenu/RadialMenu.js +179 -179
- package/lib/cjs/core-react/radialmenu/RadialMenu.js.map +1 -1
- package/lib/cjs/core-react/searchbox/SearchBox.d.ts +52 -52
- package/lib/cjs/core-react/searchbox/SearchBox.js +111 -111
- package/lib/cjs/core-react/searchbox/SearchBox.scss +2 -3
- package/lib/cjs/core-react/settings/SettingsContainer.d.ts +30 -30
- package/lib/cjs/core-react/settings/SettingsContainer.js +121 -121
- package/lib/cjs/core-react/settings/SettingsManager.d.ts +132 -132
- package/lib/cjs/core-react/settings/SettingsManager.js +122 -122
- package/lib/cjs/core-react/style/index.scss +0 -7
- package/lib/cjs/core-react/tabs/Tabs.d.ts +71 -71
- package/lib/cjs/core-react/tabs/Tabs.js +125 -125
- package/lib/cjs/core-react/tabs/VerticalTabs.d.ts +9 -9
- package/lib/cjs/core-react/tabs/VerticalTabs.js +20 -20
- package/lib/cjs/core-react/text/BlockText.d.ts +9 -9
- package/lib/cjs/core-react/text/BlockText.js +20 -20
- package/lib/cjs/core-react/text/BodyText.d.ts +10 -10
- package/lib/cjs/core-react/text/BodyText.js +21 -21
- package/lib/cjs/core-react/text/BodyText.js.map +1 -1
- package/lib/cjs/core-react/text/DisabledText.d.ts +6 -6
- package/lib/cjs/core-react/text/DisabledText.js +20 -20
- package/lib/cjs/core-react/text/FilteredText.d.ts +24 -24
- package/lib/cjs/core-react/text/FilteredText.js +40 -40
- package/lib/cjs/core-react/text/FilteredText.js.map +1 -1
- package/lib/cjs/core-react/text/MutedText.d.ts +10 -10
- package/lib/cjs/core-react/text/MutedText.js +21 -21
- package/lib/cjs/core-react/text/MutedText.js.map +1 -1
- package/lib/cjs/core-react/text/StyledText.d.ts +17 -17
- package/lib/cjs/core-react/text/StyledText.js +21 -21
- package/lib/cjs/core-react/text/StyledText.js.map +1 -1
- package/lib/cjs/core-react/text/TextProps.d.ts +10 -10
- package/lib/cjs/core-react/text/TextProps.js +9 -9
- package/lib/cjs/core-react/tree/Branch.d.ts +19 -19
- package/lib/cjs/core-react/tree/Branch.js +23 -23
- package/lib/cjs/core-react/tree/ExpansionToggle.d.ts +20 -20
- package/lib/cjs/core-react/tree/ExpansionToggle.js +30 -30
- package/lib/cjs/core-react/tree/Node.d.ts +79 -79
- package/lib/cjs/core-react/tree/Node.d.ts.map +1 -1
- package/lib/cjs/core-react/tree/Node.js +87 -88
- package/lib/cjs/core-react/tree/Node.js.map +1 -1
- package/lib/cjs/core-react/tree/Node.scss +0 -15
- package/lib/cjs/core-react/tree/Placeholder.d.ts +22 -22
- package/lib/cjs/core-react/tree/Placeholder.js +31 -31
- package/lib/cjs/core-react/tree/Tree.d.ts +28 -28
- package/lib/cjs/core-react/tree/Tree.js +100 -100
- package/lib/cjs/core-react/uistate/LocalStateStorage.d.ts +16 -16
- package/lib/cjs/core-react/uistate/LocalStateStorage.js +49 -49
- package/lib/cjs/core-react/uistate/UiStateEntry.d.ts +30 -30
- package/lib/cjs/core-react/uistate/UiStateEntry.js +59 -59
- package/lib/cjs/core-react/uistate/UiStateStorage.d.ts +28 -28
- package/lib/cjs/core-react/uistate/UiStateStorage.js +21 -21
- package/lib/cjs/core-react/utils/IconHelper.d.ts +23 -23
- package/lib/cjs/core-react/utils/IconHelper.js +62 -62
- package/lib/cjs/core-react/utils/IconWebComponent.d.ts +10 -10
- package/lib/cjs/core-react/utils/IconWebComponent.js +72 -72
- package/lib/cjs/core-react/utils/IconWebComponent.js.map +1 -1
- package/lib/cjs/core-react/utils/Point.d.ts +37 -37
- package/lib/cjs/core-react/utils/Point.js +73 -73
- package/lib/cjs/core-react/utils/Point.js.map +1 -1
- package/lib/cjs/core-react/utils/Props.d.ts +38 -38
- package/lib/cjs/core-react/utils/Props.d.ts.map +1 -1
- package/lib/cjs/core-react/utils/Props.js +9 -9
- package/lib/cjs/core-react/utils/Rectangle.d.ts +144 -144
- package/lib/cjs/core-react/utils/Rectangle.js +270 -270
- package/lib/cjs/core-react/utils/Rectangle.js.map +1 -1
- package/lib/cjs/core-react/utils/ScrollPositionMaintainer.d.ts +23 -23
- package/lib/cjs/core-react/utils/ScrollPositionMaintainer.js +36 -36
- package/lib/cjs/core-react/utils/Size.d.ts +23 -23
- package/lib/cjs/core-react/utils/Size.js +32 -32
- package/lib/cjs/core-react/utils/Size.js.map +1 -1
- package/lib/cjs/core-react/utils/Timer.d.ts +35 -35
- package/lib/cjs/core-react/utils/Timer.d.ts.map +1 -1
- package/lib/cjs/core-react/utils/Timer.js +64 -64
- package/lib/cjs/core-react/utils/UiGeometry.d.ts +20 -20
- package/lib/cjs/core-react/utils/UiGeometry.js +28 -28
- package/lib/cjs/core-react/utils/flattenChildren.d.ts +8 -8
- package/lib/cjs/core-react/utils/flattenChildren.js +27 -27
- package/lib/cjs/core-react/utils/getBestBWContrastColor.d.ts +7 -7
- package/lib/cjs/core-react/utils/getBestBWContrastColor.js +22 -22
- package/lib/cjs/core-react/utils/getBestBWContrastColor.js.map +1 -1
- package/lib/cjs/core-react/utils/getCssVariable.d.ts +11 -11
- package/lib/cjs/core-react/utils/getCssVariable.js +31 -31
- package/lib/cjs/core-react/utils/getCssVariable.js.map +1 -1
- package/lib/cjs/core-react/utils/getDisplayName.d.ts +8 -8
- package/lib/cjs/core-react/utils/getDisplayName.js +21 -21
- package/lib/cjs/core-react/utils/getUserColor.d.ts +7 -7
- package/lib/cjs/core-react/utils/getUserColor.js +38 -38
- package/lib/cjs/core-react/utils/hooks/ResizeObserverPolyfill.d.ts +4 -4
- package/lib/cjs/core-react/utils/hooks/ResizeObserverPolyfill.d.ts.map +1 -1
- package/lib/cjs/core-react/utils/hooks/ResizeObserverPolyfill.js +19 -19
- package/lib/cjs/core-react/utils/hooks/useCrossOriginPopup.d.ts +7 -7
- package/lib/cjs/core-react/utils/hooks/useCrossOriginPopup.js +88 -89
- package/lib/cjs/core-react/utils/hooks/useCrossOriginPopup.js.map +1 -1
- package/lib/cjs/core-react/utils/hooks/useDisposable.d.ts +17 -17
- package/lib/cjs/core-react/utils/hooks/useDisposable.js +38 -38
- package/lib/cjs/core-react/utils/hooks/useEffectSkipFirst.d.ts +8 -8
- package/lib/cjs/core-react/utils/hooks/useEffectSkipFirst.js +26 -26
- package/lib/cjs/core-react/utils/hooks/useEventListener.d.ts +11 -11
- package/lib/cjs/core-react/utils/hooks/useEventListener.js +43 -43
- package/lib/cjs/core-react/utils/hooks/useInterval.d.ts +5 -5
- package/lib/cjs/core-react/utils/hooks/useInterval.js +36 -36
- package/lib/cjs/core-react/utils/hooks/useLifecycleLogging.d.ts +5 -5
- package/lib/cjs/core-react/utils/hooks/useLifecycleLogging.js +64 -64
- package/lib/cjs/core-react/utils/hooks/useOnOutsideClick.d.ts +12 -12
- package/lib/cjs/core-react/utils/hooks/useOnOutsideClick.d.ts.map +1 -1
- package/lib/cjs/core-react/utils/hooks/useOnOutsideClick.js +92 -92
- package/lib/cjs/core-react/utils/hooks/useProximityToMouse.d.ts +55 -55
- package/lib/cjs/core-react/utils/hooks/useProximityToMouse.js +114 -114
- package/lib/cjs/core-react/utils/hooks/useRefEffect.d.ts +7 -7
- package/lib/cjs/core-react/utils/hooks/useRefEffect.js +23 -23
- package/lib/cjs/core-react/utils/hooks/useRefState.d.ts +21 -21
- package/lib/cjs/core-react/utils/hooks/useRefState.js +35 -35
- package/lib/cjs/core-react/utils/hooks/useRefs.d.ts +12 -12
- package/lib/cjs/core-react/utils/hooks/useRefs.js +53 -53
- package/lib/cjs/core-react/utils/hooks/useResizeObserver.d.ts +39 -39
- package/lib/cjs/core-react/utils/hooks/useResizeObserver.js +203 -208
- package/lib/cjs/core-react/utils/hooks/useResizeObserver.js.map +1 -1
- package/lib/cjs/core-react/utils/hooks/useTargeted.d.ts +8 -8
- package/lib/cjs/core-react/utils/hooks/useTargeted.js +28 -28
- package/lib/cjs/core-react/utils/hooks/useThrottledFn.d.ts +15 -15
- package/lib/cjs/core-react/utils/hooks/useThrottledFn.js +25 -25
- package/lib/cjs/core-react/utils/hooks/useWidgetOpacityContext.d.ts +20 -20
- package/lib/cjs/core-react/utils/hooks/useWidgetOpacityContext.js +27 -27
- package/lib/cjs/core-react/utils/isPromiseLike.d.ts +7 -7
- package/lib/cjs/core-react/utils/isPromiseLike.js +17 -17
- package/lib/cjs/core-react/utils/shallowDiffers.d.ts +11 -11
- package/lib/cjs/core-react/utils/shallowDiffers.js +29 -29
- package/lib/cjs/core-react/utils/typeUtils.d.ts +7 -7
- package/lib/cjs/core-react/utils/typeUtils.d.ts.map +1 -1
- package/lib/cjs/core-react/utils/typeUtils.js +9 -9
- package/lib/cjs/core-react.d.ts +236 -236
- package/lib/cjs/core-react.js +263 -259
- package/lib/cjs/core-react.js.map +1 -1
- package/lib/esm/core-react/UiCore.d.ts +40 -40
- package/lib/esm/core-react/UiCore.js +82 -81
- package/lib/esm/core-react/UiCore.js.map +1 -1
- package/lib/esm/core-react/autosuggest/AutoSuggest.d.ts +96 -96
- package/lib/esm/core-react/autosuggest/AutoSuggest.d.ts.map +1 -1
- package/lib/esm/core-react/autosuggest/AutoSuggest.js +170 -170
- package/lib/esm/core-react/autosuggest/AutoSuggest.scss +1 -2
- package/lib/esm/core-react/badge/Badge.d.ts +18 -18
- package/lib/esm/core-react/badge/Badge.js +22 -22
- package/lib/esm/core-react/badge/BadgeUtilities.d.ts +12 -12
- package/lib/esm/core-react/badge/BadgeUtilities.js +34 -34
- package/lib/esm/core-react/badge/BetaBadge.d.ts +9 -9
- package/lib/esm/core-react/badge/BetaBadge.js +18 -18
- package/lib/esm/core-react/badge/NewBadge.d.ts +10 -10
- package/lib/esm/core-react/badge/NewBadge.js +19 -19
- package/lib/esm/core-react/base/Centered.d.ts +10 -10
- package/lib/esm/core-react/base/Centered.js +16 -16
- package/lib/esm/core-react/base/Div.d.ts +16 -16
- package/lib/esm/core-react/base/Div.js +16 -16
- package/lib/esm/core-react/base/DivWithOutsideClick.d.ts +79 -79
- package/lib/esm/core-react/base/DivWithOutsideClick.js +13 -13
- package/lib/esm/core-react/base/FillCentered.d.ts +10 -10
- package/lib/esm/core-react/base/FillCentered.js +16 -16
- package/lib/esm/core-react/base/FlexWrapContainer.d.ts +11 -11
- package/lib/esm/core-react/base/FlexWrapContainer.js +17 -17
- package/lib/esm/core-react/base/Gap.d.ts +15 -15
- package/lib/esm/core-react/base/Gap.js +16 -16
- package/lib/esm/core-react/base/Gap.js.map +1 -1
- package/lib/esm/core-react/base/PointerEvents.d.ts +7 -7
- package/lib/esm/core-react/base/PointerEvents.js +13 -13
- package/lib/esm/core-react/base/ScrollView.d.ts +11 -11
- package/lib/esm/core-react/base/ScrollView.js +17 -17
- package/lib/esm/core-react/button/UnderlinedButton.d.ts +24 -24
- package/lib/esm/core-react/button/UnderlinedButton.js +31 -31
- package/lib/esm/core-react/checklistbox/CheckListBox.d.ts +40 -40
- package/lib/esm/core-react/checklistbox/CheckListBox.js +36 -36
- package/lib/esm/core-react/checklistbox/CheckListBox.scss +0 -1
- package/lib/esm/core-react/classes.scss +0 -2
- package/lib/esm/core-react/contextmenu/ContextMenu.d.ts +93 -93
- package/lib/esm/core-react/contextmenu/ContextMenu.d.ts.map +1 -1
- package/lib/esm/core-react/contextmenu/ContextMenu.js +360 -360
- package/lib/esm/core-react/contextmenu/ContextMenu.js.map +1 -1
- package/lib/esm/core-react/contextmenu/ContextMenuDirection.d.ts +18 -18
- package/lib/esm/core-react/contextmenu/ContextMenuDirection.js +23 -23
- package/lib/esm/core-react/contextmenu/ContextMenuDivider.d.ts +12 -12
- package/lib/esm/core-react/contextmenu/ContextMenuDivider.js +19 -19
- package/lib/esm/core-react/contextmenu/ContextMenuItem.d.ts +61 -61
- package/lib/esm/core-react/contextmenu/ContextMenuItem.js +105 -104
- package/lib/esm/core-react/contextmenu/ContextMenuItem.js.map +1 -1
- package/lib/esm/core-react/contextmenu/ContextSubMenu.d.ts +51 -51
- package/lib/esm/core-react/contextmenu/ContextSubMenu.d.ts.map +1 -1
- package/lib/esm/core-react/contextmenu/ContextSubMenu.js +159 -158
- package/lib/esm/core-react/contextmenu/ContextSubMenu.js.map +1 -1
- package/lib/esm/core-react/contextmenu/GlobalContextMenu.d.ts +34 -34
- package/lib/esm/core-react/contextmenu/GlobalContextMenu.js +57 -59
- package/lib/esm/core-react/contextmenu/GlobalContextMenu.js.map +1 -1
- package/lib/esm/core-react/contextmenu/PopupContextMenu.d.ts +53 -53
- package/lib/esm/core-react/contextmenu/PopupContextMenu.js +51 -51
- package/lib/esm/core-react/contextmenu/TildeFinder.d.ts +18 -18
- package/lib/esm/core-react/contextmenu/TildeFinder.js +67 -66
- package/lib/esm/core-react/contextmenu/TildeFinder.js.map +1 -1
- package/lib/esm/core-react/dialog/Dialog.d.ts +132 -132
- package/lib/esm/core-react/dialog/Dialog.js +371 -371
- package/lib/esm/core-react/dialog/Dialog.js.map +1 -1
- package/lib/esm/core-react/dialog/GlobalDialog.d.ts +28 -28
- package/lib/esm/core-react/dialog/GlobalDialog.js +48 -49
- package/lib/esm/core-react/dialog/GlobalDialog.js.map +1 -1
- package/lib/esm/core-react/elementseparator/ElementSeparator.d.ts +41 -41
- package/lib/esm/core-react/elementseparator/ElementSeparator.js +159 -159
- package/lib/esm/core-react/elementseparator/ElementSeparator.js.map +1 -1
- package/lib/esm/core-react/enums/Alignment.d.ts +22 -22
- package/lib/esm/core-react/enums/Alignment.js +28 -28
- package/lib/esm/core-react/enums/CheckBoxState.d.ts +20 -20
- package/lib/esm/core-react/enums/CheckBoxState.js +16 -16
- package/lib/esm/core-react/enums/Orientation.d.ts +11 -11
- package/lib/esm/core-react/enums/Orientation.js +16 -16
- package/lib/esm/core-react/enums/SortDirection.d.ts +12 -12
- package/lib/esm/core-react/enums/SortDirection.js +17 -17
- package/lib/esm/core-react/enums/TimeFormat.d.ts +14 -14
- package/lib/esm/core-react/enums/TimeFormat.js +19 -19
- package/lib/esm/core-react/expandable/ExpandableList.d.ts +37 -37
- package/lib/esm/core-react/expandable/ExpandableList.js +54 -53
- package/lib/esm/core-react/expandable/ExpandableList.js.map +1 -1
- package/lib/esm/core-react/focus/ItemKeyboardNavigator.d.ts +53 -53
- package/lib/esm/core-react/focus/ItemKeyboardNavigator.d.ts.map +1 -1
- package/lib/esm/core-react/focus/ItemKeyboardNavigator.js +145 -145
- package/lib/esm/core-react/focustrap/FocusTrap.d.ts +28 -28
- package/lib/esm/core-react/focustrap/FocusTrap.js +191 -191
- package/lib/esm/core-react/hocs/withIsPressed.d.ts +77 -77
- package/lib/esm/core-react/hocs/withIsPressed.js +42 -42
- package/lib/esm/core-react/hocs/withOnOutsideClick.d.ts +103 -103
- package/lib/esm/core-react/hocs/withOnOutsideClick.js +110 -111
- package/lib/esm/core-react/hocs/withOnOutsideClick.js.map +1 -1
- package/lib/esm/core-react/hocs/withTimeout.d.ts +74 -74
- package/lib/esm/core-react/hocs/withTimeout.js +42 -42
- package/lib/esm/core-react/icons/ConditionalIconItem.d.ts +26 -26
- package/lib/esm/core-react/icons/ConditionalIconItem.js +60 -60
- package/lib/esm/core-react/icons/IconComponent.d.ts +25 -25
- package/lib/esm/core-react/icons/IconComponent.d.ts.map +1 -1
- package/lib/esm/core-react/icons/IconComponent.js +44 -44
- package/lib/esm/core-react/icons/IconComponent.js.map +1 -1
- package/lib/esm/core-react/icons/SvgPath.d.ts +23 -23
- package/lib/esm/core-react/icons/SvgPath.js +23 -23
- package/lib/esm/core-react/icons/WebFontIcon.d.ts +25 -25
- package/lib/esm/core-react/icons/WebFontIcon.js +17 -17
- package/lib/esm/core-react/imagecheckbox/ImageCheckBox.d.ts +42 -42
- package/lib/esm/core-react/imagecheckbox/ImageCheckBox.js +52 -52
- package/lib/esm/core-react/index.scss +0 -2
- package/lib/esm/core-react/inputs/Input.d.ts +20 -20
- package/lib/esm/core-react/inputs/Input.js +42 -42
- package/lib/esm/core-react/inputs/InputLabel.d.ts +20 -20
- package/lib/esm/core-react/inputs/InputLabel.js +37 -37
- package/lib/esm/core-react/inputs/InputStatus.d.ts +11 -11
- package/lib/esm/core-react/inputs/InputStatus.js +16 -16
- package/lib/esm/core-react/inputs/LabeledComponentProps.d.ts +33 -33
- package/lib/esm/core-react/inputs/LabeledComponentProps.js +8 -8
- package/lib/esm/core-react/inputs/iconinput/IconInput.d.ts +23 -23
- package/lib/esm/core-react/inputs/iconinput/IconInput.js +26 -26
- package/lib/esm/core-react/inputs/numberinput/NumberInput.d.ts +50 -50
- package/lib/esm/core-react/inputs/numberinput/NumberInput.d.ts.map +1 -1
- package/lib/esm/core-react/inputs/numberinput/NumberInput.js +150 -150
- package/lib/esm/core-react/listbox/Listbox.d.ts +55 -55
- package/lib/esm/core-react/listbox/Listbox.d.ts.map +1 -1
- package/lib/esm/core-react/listbox/Listbox.js +216 -217
- package/lib/esm/core-react/listbox/Listbox.js.map +1 -1
- package/lib/esm/core-react/loading/LoadingBar.d.ts +29 -29
- package/lib/esm/core-react/loading/LoadingBar.js +36 -35
- package/lib/esm/core-react/loading/LoadingBar.js.map +1 -1
- package/lib/esm/core-react/loading/LoadingPrompt.d.ts +39 -39
- package/lib/esm/core-react/loading/LoadingPrompt.js +41 -40
- package/lib/esm/core-react/loading/LoadingPrompt.js.map +1 -1
- package/lib/esm/core-react/loading/LoadingSpinner.d.ts +32 -32
- package/lib/esm/core-react/loading/LoadingSpinner.d.ts.map +1 -1
- package/lib/esm/core-react/loading/LoadingSpinner.js +27 -26
- package/lib/esm/core-react/loading/LoadingSpinner.js.map +1 -1
- package/lib/esm/core-react/loading/LoadingStatus.d.ts +24 -24
- package/lib/esm/core-react/loading/LoadingStatus.js +34 -33
- package/lib/esm/core-react/loading/LoadingStatus.js.map +1 -1
- package/lib/esm/core-react/messagebox/MessageBox.d.ts +80 -80
- package/lib/esm/core-react/messagebox/MessageBox.js +110 -109
- package/lib/esm/core-react/messagebox/MessageBox.js.map +1 -1
- package/lib/esm/core-react/notification/MessageRenderer.d.ts +19 -19
- package/lib/esm/core-react/notification/MessageRenderer.js +77 -77
- package/lib/esm/core-react/notification/MessageRenderer.js.map +1 -1
- package/lib/esm/core-react/notification/MessageType.d.ts +22 -22
- package/lib/esm/core-react/notification/MessageType.d.ts.map +1 -1
- package/lib/esm/core-react/notification/MessageType.js +19 -19
- package/lib/esm/core-react/popup/Popup.d.ts +111 -111
- package/lib/esm/core-react/popup/Popup.js +415 -418
- package/lib/esm/core-react/popup/Popup.js.map +1 -1
- package/lib/esm/core-react/radialmenu/Annulus.d.ts +54 -54
- package/lib/esm/core-react/radialmenu/Annulus.js +75 -75
- package/lib/esm/core-react/radialmenu/RadialMenu.d.ts +97 -97
- package/lib/esm/core-react/radialmenu/RadialMenu.js +175 -174
- package/lib/esm/core-react/radialmenu/RadialMenu.js.map +1 -1
- package/lib/esm/core-react/searchbox/SearchBox.d.ts +52 -52
- package/lib/esm/core-react/searchbox/SearchBox.js +107 -107
- package/lib/esm/core-react/searchbox/SearchBox.scss +2 -3
- package/lib/esm/core-react/settings/SettingsContainer.d.ts +30 -30
- package/lib/esm/core-react/settings/SettingsContainer.js +115 -115
- package/lib/esm/core-react/settings/SettingsManager.d.ts +132 -132
- package/lib/esm/core-react/settings/SettingsManager.js +113 -113
- package/lib/esm/core-react/style/index.scss +0 -7
- package/lib/esm/core-react/tabs/Tabs.d.ts +71 -71
- package/lib/esm/core-react/tabs/Tabs.js +121 -121
- package/lib/esm/core-react/tabs/VerticalTabs.d.ts +9 -9
- package/lib/esm/core-react/tabs/VerticalTabs.js +16 -16
- package/lib/esm/core-react/text/BlockText.d.ts +9 -9
- package/lib/esm/core-react/text/BlockText.js +16 -16
- package/lib/esm/core-react/text/BodyText.d.ts +10 -10
- package/lib/esm/core-react/text/BodyText.js +17 -17
- package/lib/esm/core-react/text/BodyText.js.map +1 -1
- package/lib/esm/core-react/text/DisabledText.d.ts +6 -6
- package/lib/esm/core-react/text/DisabledText.js +16 -16
- package/lib/esm/core-react/text/FilteredText.d.ts +24 -24
- package/lib/esm/core-react/text/FilteredText.js +36 -36
- package/lib/esm/core-react/text/FilteredText.js.map +1 -1
- package/lib/esm/core-react/text/MutedText.d.ts +10 -10
- package/lib/esm/core-react/text/MutedText.js +17 -17
- package/lib/esm/core-react/text/MutedText.js.map +1 -1
- package/lib/esm/core-react/text/StyledText.d.ts +17 -17
- package/lib/esm/core-react/text/StyledText.js +17 -17
- package/lib/esm/core-react/text/StyledText.js.map +1 -1
- package/lib/esm/core-react/text/TextProps.d.ts +10 -10
- package/lib/esm/core-react/text/TextProps.js +8 -8
- package/lib/esm/core-react/tree/Branch.d.ts +19 -19
- package/lib/esm/core-react/tree/Branch.js +19 -19
- package/lib/esm/core-react/tree/ExpansionToggle.d.ts +20 -20
- package/lib/esm/core-react/tree/ExpansionToggle.js +26 -26
- package/lib/esm/core-react/tree/Node.d.ts +79 -79
- package/lib/esm/core-react/tree/Node.d.ts.map +1 -1
- package/lib/esm/core-react/tree/Node.js +83 -84
- package/lib/esm/core-react/tree/Node.js.map +1 -1
- package/lib/esm/core-react/tree/Node.scss +0 -15
- package/lib/esm/core-react/tree/Placeholder.d.ts +22 -22
- package/lib/esm/core-react/tree/Placeholder.js +27 -27
- package/lib/esm/core-react/tree/Tree.d.ts +28 -28
- package/lib/esm/core-react/tree/Tree.js +96 -96
- package/lib/esm/core-react/uistate/LocalStateStorage.d.ts +16 -16
- package/lib/esm/core-react/uistate/LocalStateStorage.js +45 -45
- package/lib/esm/core-react/uistate/UiStateEntry.d.ts +30 -30
- package/lib/esm/core-react/uistate/UiStateEntry.js +55 -55
- package/lib/esm/core-react/uistate/UiStateStorage.d.ts +28 -28
- package/lib/esm/core-react/uistate/UiStateStorage.js +18 -18
- package/lib/esm/core-react/utils/IconHelper.d.ts +23 -23
- package/lib/esm/core-react/utils/IconHelper.js +58 -58
- package/lib/esm/core-react/utils/IconWebComponent.d.ts +10 -10
- package/lib/esm/core-react/utils/IconWebComponent.js +68 -68
- package/lib/esm/core-react/utils/IconWebComponent.js.map +1 -1
- package/lib/esm/core-react/utils/Point.d.ts +37 -37
- package/lib/esm/core-react/utils/Point.js +69 -69
- package/lib/esm/core-react/utils/Point.js.map +1 -1
- package/lib/esm/core-react/utils/Props.d.ts +38 -38
- package/lib/esm/core-react/utils/Props.d.ts.map +1 -1
- package/lib/esm/core-react/utils/Props.js +8 -8
- package/lib/esm/core-react/utils/Rectangle.d.ts +144 -144
- package/lib/esm/core-react/utils/Rectangle.js +266 -266
- package/lib/esm/core-react/utils/Rectangle.js.map +1 -1
- package/lib/esm/core-react/utils/ScrollPositionMaintainer.d.ts +23 -23
- package/lib/esm/core-react/utils/ScrollPositionMaintainer.js +32 -32
- package/lib/esm/core-react/utils/Size.d.ts +23 -23
- package/lib/esm/core-react/utils/Size.js +28 -28
- package/lib/esm/core-react/utils/Size.js.map +1 -1
- package/lib/esm/core-react/utils/Timer.d.ts +35 -35
- package/lib/esm/core-react/utils/Timer.d.ts.map +1 -1
- package/lib/esm/core-react/utils/Timer.js +60 -60
- package/lib/esm/core-react/utils/UiGeometry.d.ts +20 -20
- package/lib/esm/core-react/utils/UiGeometry.js +24 -24
- package/lib/esm/core-react/utils/flattenChildren.d.ts +8 -8
- package/lib/esm/core-react/utils/flattenChildren.js +23 -23
- package/lib/esm/core-react/utils/getBestBWContrastColor.d.ts +7 -7
- package/lib/esm/core-react/utils/getBestBWContrastColor.js +18 -18
- package/lib/esm/core-react/utils/getBestBWContrastColor.js.map +1 -1
- package/lib/esm/core-react/utils/getCssVariable.d.ts +11 -11
- package/lib/esm/core-react/utils/getCssVariable.js +26 -26
- package/lib/esm/core-react/utils/getCssVariable.js.map +1 -1
- package/lib/esm/core-react/utils/getDisplayName.d.ts +8 -8
- package/lib/esm/core-react/utils/getDisplayName.js +17 -17
- package/lib/esm/core-react/utils/getUserColor.d.ts +7 -7
- package/lib/esm/core-react/utils/getUserColor.js +34 -34
- package/lib/esm/core-react/utils/hooks/ResizeObserverPolyfill.d.ts +4 -4
- package/lib/esm/core-react/utils/hooks/ResizeObserverPolyfill.d.ts.map +1 -1
- package/lib/esm/core-react/utils/hooks/ResizeObserverPolyfill.js +16 -16
- package/lib/esm/core-react/utils/hooks/useCrossOriginPopup.d.ts +7 -7
- package/lib/esm/core-react/utils/hooks/useCrossOriginPopup.js +84 -85
- package/lib/esm/core-react/utils/hooks/useCrossOriginPopup.js.map +1 -1
- package/lib/esm/core-react/utils/hooks/useDisposable.d.ts +17 -17
- package/lib/esm/core-react/utils/hooks/useDisposable.js +33 -33
- package/lib/esm/core-react/utils/hooks/useEffectSkipFirst.d.ts +8 -8
- package/lib/esm/core-react/utils/hooks/useEffectSkipFirst.js +22 -22
- package/lib/esm/core-react/utils/hooks/useEventListener.d.ts +11 -11
- package/lib/esm/core-react/utils/hooks/useEventListener.js +39 -39
- package/lib/esm/core-react/utils/hooks/useInterval.d.ts +5 -5
- package/lib/esm/core-react/utils/hooks/useInterval.js +32 -32
- package/lib/esm/core-react/utils/hooks/useLifecycleLogging.d.ts +5 -5
- package/lib/esm/core-react/utils/hooks/useLifecycleLogging.js +60 -60
- package/lib/esm/core-react/utils/hooks/useOnOutsideClick.d.ts +12 -12
- package/lib/esm/core-react/utils/hooks/useOnOutsideClick.d.ts.map +1 -1
- package/lib/esm/core-react/utils/hooks/useOnOutsideClick.js +88 -88
- package/lib/esm/core-react/utils/hooks/useProximityToMouse.d.ts +55 -55
- package/lib/esm/core-react/utils/hooks/useProximityToMouse.js +102 -102
- package/lib/esm/core-react/utils/hooks/useRefEffect.d.ts +7 -7
- package/lib/esm/core-react/utils/hooks/useRefEffect.js +19 -19
- package/lib/esm/core-react/utils/hooks/useRefState.d.ts +21 -21
- package/lib/esm/core-react/utils/hooks/useRefState.js +31 -31
- package/lib/esm/core-react/utils/hooks/useRefs.d.ts +12 -12
- package/lib/esm/core-react/utils/hooks/useRefs.js +48 -48
- package/lib/esm/core-react/utils/hooks/useResizeObserver.d.ts +39 -39
- package/lib/esm/core-react/utils/hooks/useResizeObserver.js +196 -201
- package/lib/esm/core-react/utils/hooks/useResizeObserver.js.map +1 -1
- package/lib/esm/core-react/utils/hooks/useTargeted.d.ts +8 -8
- package/lib/esm/core-react/utils/hooks/useTargeted.js +24 -24
- package/lib/esm/core-react/utils/hooks/useThrottledFn.d.ts +15 -15
- package/lib/esm/core-react/utils/hooks/useThrottledFn.js +21 -21
- package/lib/esm/core-react/utils/hooks/useWidgetOpacityContext.d.ts +20 -20
- package/lib/esm/core-react/utils/hooks/useWidgetOpacityContext.js +23 -23
- package/lib/esm/core-react/utils/isPromiseLike.d.ts +7 -7
- package/lib/esm/core-react/utils/isPromiseLike.js +13 -13
- package/lib/esm/core-react/utils/shallowDiffers.d.ts +11 -11
- package/lib/esm/core-react/utils/shallowDiffers.js +25 -25
- package/lib/esm/core-react/utils/typeUtils.d.ts +7 -7
- package/lib/esm/core-react/utils/typeUtils.d.ts.map +1 -1
- package/lib/esm/core-react/utils/typeUtils.js +8 -8
- package/lib/esm/core-react.d.ts +236 -236
- package/lib/esm/core-react.js +241 -241
- package/package.json +15 -13
- package/ThirdPartyNotices.md +0 -28
- package/lib/cjs/core-react/button/blue-large.scss +0 -12
- package/lib/cjs/core-react/button/blue.scss +0 -17
- package/lib/cjs/core-react/button/button.scss +0 -70
- package/lib/cjs/core-react/button/classes.scss +0 -14
- package/lib/cjs/core-react/button/disabled-large.scss +0 -12
- package/lib/cjs/core-react/button/disabled.scss +0 -17
- package/lib/cjs/core-react/button/hollow-large.scss +0 -13
- package/lib/cjs/core-react/button/hollow.scss +0 -30
- package/lib/cjs/core-react/button/index.scss +0 -14
- package/lib/cjs/core-react/button/primary-large.scss +0 -12
- package/lib/cjs/core-react/button/primary.scss +0 -17
- package/lib/cjs/core-react/button/variables.scss +0 -22
- package/lib/cjs/core-react/checkbox/checkbox.scss +0 -124
- package/lib/cjs/core-react/checkbox/classes.scss +0 -8
- package/lib/cjs/core-react/checkbox/index.scss +0 -8
- package/lib/cjs/core-react/style/data-viz.scss +0 -20
- package/lib/cjs/core-react/style/space.scss +0 -13
- package/lib/cjs/core-react/style/speed.scss +0 -9
- package/lib/cjs/core-react/style/typography.scss +0 -39
- package/lib/cjs/core-react/style/variables.scss +0 -9
- package/lib/esm/core-react/button/blue-large.scss +0 -12
- package/lib/esm/core-react/button/blue.scss +0 -17
- package/lib/esm/core-react/button/button.scss +0 -70
- package/lib/esm/core-react/button/classes.scss +0 -14
- package/lib/esm/core-react/button/disabled-large.scss +0 -12
- package/lib/esm/core-react/button/disabled.scss +0 -17
- package/lib/esm/core-react/button/hollow-large.scss +0 -13
- package/lib/esm/core-react/button/hollow.scss +0 -30
- package/lib/esm/core-react/button/index.scss +0 -14
- package/lib/esm/core-react/button/primary-large.scss +0 -12
- package/lib/esm/core-react/button/primary.scss +0 -17
- package/lib/esm/core-react/button/variables.scss +0 -22
- package/lib/esm/core-react/checkbox/checkbox.scss +0 -124
- package/lib/esm/core-react/checkbox/classes.scss +0 -8
- package/lib/esm/core-react/checkbox/index.scss +0 -8
- package/lib/esm/core-react/style/data-viz.scss +0 -20
- package/lib/esm/core-react/style/space.scss +0 -13
- package/lib/esm/core-react/style/speed.scss +0 -9
- package/lib/esm/core-react/style/typography.scss +0 -39
- package/lib/esm/core-react/style/variables.scss +0 -9
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ContextMenu.js","sourceRoot":"","sources":["../../../../src/core-react/contextmenu/ContextMenu.tsx"],"names":[],"mappings":"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","sourcesContent":["/*---------------------------------------------------------------------------------------------\r\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\r\n* See LICENSE.md in the project root for license terms and full copyright notice.\r\n*--------------------------------------------------------------------------------------------*/\r\n/** @packageDocumentation\r\n * @module ContextMenu\r\n */\r\n\r\nimport \"./ContextMenu.scss\";\r\nimport classnames from \"classnames\";\r\nimport * as React from \"react\";\r\nimport { ConditionalBooleanValue, SpecialKey } from \"@itwin/appui-abstract\";\r\nimport { CommonProps } from \"../utils/Props\";\r\nimport { DivWithOutsideClick } from \"../base/DivWithOutsideClick\";\r\nimport { ContextMenuDirection } from \"./ContextMenuDirection\";\r\nimport { ContextMenuItem, ContextMenuItemProps } from \"./ContextMenuItem\";\r\nimport { ContextSubMenu, ContextSubMenuProps } from \"./ContextSubMenu\";\r\n\r\n/** Properties for the [[ContextMenu]] component\r\n * @public\r\n */\r\nexport interface ContextMenuProps extends CommonProps {\r\n /** Whether ContextMenu is currently opened. */\r\n opened: boolean;\r\n /** Which direction the menu opens. Default: ContextMenuDirection.BottomRight */\r\n direction?: ContextMenuDirection;\r\n /** When click is registered outside of ContextMenu. */\r\n onOutsideClick?: (event: MouseEvent) => any;\r\n /** When list item or submenu is selected */\r\n onSelect?: (event: any) => any;\r\n /** when Escape button is pressed */\r\n onEsc?: (data: any) => any;\r\n /** Whether menu flips directions based on screen edge. Default: true */\r\n autoflip?: boolean;\r\n /** Whether menu hugs screen edge when autoflip is off. Default: true */\r\n edgeLimit?: boolean;\r\n /** Whether Hotkey press selects item, or just highlights item. Default: true */\r\n hotkeySelect?: boolean;\r\n /** starting menu item selected index Default: -1 */\r\n selectedIndex?: number;\r\n /** whether menu floats on the viewport, or the page. When false, container elements can clip menu with overflow: hidden; Default: true */\r\n floating?: boolean;\r\n /** @internal */\r\n parentMenu?: ContextMenu;\r\n /** @internal */\r\n parentSubmenu?: ContextSubMenu;\r\n /** @internal */\r\n ignoreNextKeyUp?: boolean;\r\n /** Content */\r\n children?: React.ReactNode;\r\n}\r\n\r\n/** @internal */\r\ninterface ContextMenuState {\r\n selectedIndex: number;\r\n direction: ContextMenuDirection;\r\n ignoreNextKeyUp: boolean;\r\n}\r\n\r\n/**\r\n * A context menu populated with [[ContextMenuItem]] components.\r\n * Can be nested using [[ContextSubMenu]] component.\r\n * @public\r\n */\r\nexport class ContextMenu extends React.PureComponent<ContextMenuProps, ContextMenuState> {\r\n private _rootElement: HTMLElement | null = null;\r\n private _menuElement: HTMLElement | null = null;\r\n private _selectedElement: ContextMenuItem | ContextSubMenu | null = null;\r\n private _length: number = 0;\r\n private _hotKeyMap: Map<number, string> = new Map();\r\n\r\n private _lastChildren: React.ReactNode;\r\n private _lastDirection: ContextMenuDirection | undefined = ContextMenuDirection.BottomRight;\r\n private _lastSelectedIndex: number = 0;\r\n private _injectedChildren: React.ReactNode;\r\n private _parentWindowHeight: number = 0;\r\n private _parentWindowWidth: number = 0;\r\n\r\n public static defaultProps: Partial<ContextMenuProps> = {\r\n direction: ContextMenuDirection.BottomRight,\r\n autoflip: true,\r\n edgeLimit: true,\r\n hotkeySelect: true,\r\n selectedIndex: -1,\r\n floating: true,\r\n };\r\n\r\n /** @internal */\r\n public override readonly state: Readonly<ContextMenuState>;\r\n constructor(props: ContextMenuProps) {\r\n super(props);\r\n this.state = {\r\n selectedIndex: this.props.selectedIndex!,\r\n direction: props.direction!,\r\n ignoreNextKeyUp: props.ignoreNextKeyUp!,\r\n };\r\n }\r\n\r\n /** @internal */\r\n public static autoFlip = (dir: ContextMenuDirection, rect: DOMRectReadOnly, windowWidth: number, windowHeight: number): ContextMenuDirection => {\r\n if (rect.right > windowWidth) {\r\n switch (dir) {\r\n case ContextMenuDirection.TopRight:\r\n dir = ContextMenuDirection.TopLeft;\r\n break;\r\n case ContextMenuDirection.Right:\r\n dir = ContextMenuDirection.Left;\r\n break;\r\n case ContextMenuDirection.BottomRight:\r\n dir = ContextMenuDirection.BottomLeft;\r\n break;\r\n }\r\n }\r\n if (rect.left < 0) {\r\n switch (dir) {\r\n case ContextMenuDirection.TopLeft:\r\n dir = ContextMenuDirection.TopRight;\r\n break;\r\n case ContextMenuDirection.Left:\r\n dir = ContextMenuDirection.Right;\r\n break;\r\n case ContextMenuDirection.BottomLeft:\r\n dir = ContextMenuDirection.BottomRight;\r\n break;\r\n }\r\n }\r\n if (rect.bottom > windowHeight) {\r\n switch (dir) {\r\n case ContextMenuDirection.BottomLeft:\r\n dir = ContextMenuDirection.TopLeft;\r\n break;\r\n case ContextMenuDirection.Bottom:\r\n dir = ContextMenuDirection.Top;\r\n break;\r\n case ContextMenuDirection.BottomRight:\r\n dir = ContextMenuDirection.TopRight;\r\n break;\r\n }\r\n }\r\n if (rect.top < 0) {\r\n switch (dir) {\r\n case ContextMenuDirection.TopLeft:\r\n dir = ContextMenuDirection.BottomLeft;\r\n break;\r\n case ContextMenuDirection.Top:\r\n dir = ContextMenuDirection.Bottom;\r\n break;\r\n case ContextMenuDirection.TopRight:\r\n dir = ContextMenuDirection.BottomRight;\r\n break;\r\n }\r\n }\r\n return dir;\r\n };\r\n\r\n private _handleHotKeyParsed = (index: number, hotKey: string) => {\r\n this._hotKeyMap.set(index, hotKey);\r\n };\r\n\r\n // istanbul ignore next\r\n private _handleOnOutsideClick = (event: MouseEvent): void => {\r\n if (this.props.opened && this.props.onOutsideClick)\r\n this.props.onOutsideClick(event);\r\n };\r\n\r\n public override render(): JSX.Element {\r\n const {\r\n opened, direction, onOutsideClick, onSelect, onEsc, autoflip, edgeLimit, hotkeySelect, // eslint-disable-line @typescript-eslint/no-unused-vars\r\n selectedIndex, floating, parentMenu, parentSubmenu, children, className, ignoreNextKeyUp, // eslint-disable-line @typescript-eslint/no-unused-vars\r\n ...props } = this.props;\r\n const renderDirection = parentMenu === undefined ? this.state.direction : direction;\r\n\r\n if (this._lastChildren !== children || this._lastDirection !== renderDirection || this._lastSelectedIndex !== this.state.selectedIndex) {\r\n this._injectedChildren = this._injectMenuItemProps(children, renderDirection, this.state.selectedIndex);\r\n this._lastChildren = children;\r\n this._lastDirection = renderDirection;\r\n this._lastSelectedIndex = this.state.selectedIndex;\r\n }\r\n\r\n const classNames = classnames(\"core-context-menu\", className);\r\n\r\n return (\r\n <div\r\n role=\"presentation\"\r\n className={classNames}\r\n onKeyUp={this._handleKeyUp}\r\n onClick={this._handleClick}\r\n data-testid=\"core-context-menu-root\"\r\n {...props}\r\n ref={this._rootRef}>\r\n <DivWithOutsideClick onOutsideClick={this._handleOnOutsideClick}>\r\n <div\r\n ref={this._menuRef}\r\n role=\"menu\"\r\n tabIndex={0}\r\n data-testid=\"core-context-menu-container\"\r\n className={classnames(\"core-context-menu-container\",\r\n opened && \"core-context-menu-opened\",\r\n floating && \"core-context-menu-floating\",\r\n ContextMenu.getCSSClassNameFromDirection(renderDirection),\r\n )}>\r\n {this._injectedChildren}\r\n </div>\r\n </DivWithOutsideClick>\r\n </div>\r\n );\r\n }\r\n\r\n /** @internal */\r\n public static getCSSClassNameFromDirection = (direction?: ContextMenuDirection): string => {\r\n let className = \"\";\r\n\r\n // istanbul ignore next\r\n if (direction === undefined)\r\n direction = ContextMenuDirection.BottomRight;\r\n\r\n if (direction === ContextMenuDirection.None)\r\n return \"\";\r\n\r\n switch (direction) {\r\n case ContextMenuDirection.TopLeft:\r\n className = \"core-context-menu-top core-context-menu-left\";\r\n break;\r\n case ContextMenuDirection.Top:\r\n className = \"core-context-menu-top\";\r\n break;\r\n case ContextMenuDirection.TopRight:\r\n className = \"core-context-menu-top core-context-menu-right\";\r\n break;\r\n case ContextMenuDirection.Left:\r\n className = \"core-context-menu-left\";\r\n break;\r\n case ContextMenuDirection.Center:\r\n className = \"core-context-menu-center\";\r\n break;\r\n case ContextMenuDirection.Right:\r\n className = \"core-context-menu-right\";\r\n break;\r\n case ContextMenuDirection.BottomLeft:\r\n className = \"core-context-menu-bottom core-context-menu-left\";\r\n break;\r\n case ContextMenuDirection.Bottom:\r\n className = \"core-context-menu-bottom\";\r\n break;\r\n case ContextMenuDirection.BottomRight:\r\n className = \"core-context-menu-bottom core-context-menu-right\";\r\n break;\r\n }\r\n\r\n return className;\r\n };\r\n\r\n private _injectMenuItemProps = (children: React.ReactNode, direction: ContextMenuDirection | undefined, selectedIndex: number) => {\r\n let index = 0;\r\n // add inheritance data to submenu children\r\n const ch = React.Children.map(children, (child: React.ReactNode) => {\r\n // Capture only ContextSubMenus and ContextMenuItems.\r\n if (child && typeof child === \"object\" && \"props\" in child && (child.type === ContextSubMenu || child.type === ContextMenuItem) &&\r\n !ConditionalBooleanValue.getValue(child.props.disabled) && !ConditionalBooleanValue.getValue(child.props.hidden)) {\r\n const id = index; // get separate id variable so value stays the same when onHover is called later.\r\n const onHover = () => {\r\n this.setState({ selectedIndex: id });\r\n this.focus();\r\n };\r\n const ref = (el: ContextSubMenu | ContextMenuItem | null) => {\r\n if (selectedIndex === id) // only save to this._selectedElement if previously captured bool is true\r\n this._selectedElement = el;\r\n };\r\n const boundHandleHotKeyParse = this._handleHotKeyParsed.bind(this, id); // bind local callback for specific index\r\n const childProps: Partial<ContextSubMenuProps & ContextMenuItemProps & { ref: typeof ref }> = {\r\n parentMenu: this,\r\n ref,\r\n onHover,\r\n isSelected: selectedIndex === id,\r\n onHotKeyParsed: boundHandleHotKeyParse,\r\n };\r\n if (child.type === ContextSubMenu) { // add direction only to sub-menus\r\n childProps.direction = child.props.direction || /* istanbul ignore next */ direction;\r\n }\r\n index++;\r\n return React.cloneElement(child, childProps);\r\n } else return child; // Else, pass through unmodified\r\n });\r\n this._length = index;\r\n return ch;\r\n };\r\n\r\n private _rootRef = (el: HTMLDivElement | null) => {\r\n this._rootElement = el;\r\n };\r\n\r\n private _menuRef = (el: HTMLDivElement | null) => {\r\n this._menuElement = el;\r\n };\r\n\r\n private getWindow() {\r\n const el = this._rootElement ? this._rootElement : /* istanbul ignore next */ this._menuElement;\r\n const parentDocument = el!.ownerDocument;\r\n // istanbul ignore next\r\n return parentDocument.defaultView ?? window;\r\n }\r\n\r\n /** @internal */\r\n public override componentDidMount() {\r\n const parentWindow = this.getWindow();\r\n parentWindow.addEventListener(\"focus\", this._handleFocusChange);\r\n parentWindow.addEventListener(\"mouseup\", this._handleFocusChange);\r\n\r\n this.checkRenderDirection();\r\n\r\n if (this.props.opened)\r\n this.focus();\r\n }\r\n\r\n /** @internal */\r\n public override componentWillUnmount() {\r\n const parentWindow = this.getWindow();\r\n parentWindow.removeEventListener(\"focus\", this._handleFocusChange);\r\n parentWindow.removeEventListener(\"mouseup\", this._handleFocusChange);\r\n }\r\n\r\n private checkRenderDirection() {\r\n const { direction, autoflip, parentMenu } = this.props;\r\n const parentWindow = this.getWindow();\r\n\r\n let renderDirection = parentMenu === undefined ? this.state.direction : direction;\r\n\r\n if (parentWindow.innerHeight === this._parentWindowHeight && parentWindow.innerWidth === this._parentWindowWidth)\r\n return;\r\n this._parentWindowHeight = parentWindow.innerHeight;\r\n this._parentWindowWidth = parentWindow.innerWidth;\r\n\r\n // check if menu should flip\r\n if (parentWindow && autoflip && parentMenu === undefined) {\r\n const menuRect = this.getRect();\r\n renderDirection = ContextMenu.autoFlip(renderDirection!, menuRect, parentWindow.innerWidth, parentWindow.innerHeight);\r\n // istanbul ignore next\r\n if (renderDirection !== this.state.direction)\r\n this.setState({ direction: renderDirection });\r\n }\r\n }\r\n\r\n public focus = () => {\r\n // istanbul ignore else\r\n if (this._menuElement)\r\n this._menuElement.focus();\r\n };\r\n\r\n public blur = () => {\r\n // istanbul ignore else\r\n if (this._menuElement)\r\n this._menuElement.blur();\r\n };\r\n\r\n public getRect = (): DOMRect => {\r\n let clientRect = DOMRect.fromRect({ x: 0, y: 0, width: 0, height: 0});\r\n\r\n // istanbul ignore else\r\n if (this._menuElement) {\r\n clientRect = this._menuElement.getBoundingClientRect();\r\n }\r\n return clientRect;\r\n };\r\n\r\n private _handleFocusChange = (event: any): void => {\r\n // istanbul ignore else\r\n if (this._rootElement && this.props.opened && event.target instanceof Node && this.props.onOutsideClick && !this._rootElement.contains(event.target))\r\n this.props.onOutsideClick(event);\r\n };\r\n\r\n private _handleClick = (event: React.MouseEvent<HTMLDivElement>): void => {\r\n if (this.props.onSelect)\r\n this.props.onSelect(event);\r\n };\r\n\r\n private _handleKeyUp = (event: React.KeyboardEvent<HTMLDivElement>): void => {\r\n if (this.state.ignoreNextKeyUp) {\r\n this.setState({ ignoreNextKeyUp: false });\r\n return;\r\n }\r\n\r\n // istanbul ignore else\r\n if (event.key) {\r\n for (const [key, value] of this._hotKeyMap) {\r\n if (!this.props.hotkeySelect! && key > this.state.selectedIndex) { // Start search at current index.\r\n if (event.key.toUpperCase() === value) {\r\n this.setState({ selectedIndex: key });\r\n return;\r\n }\r\n }\r\n }\r\n for (const [key, value] of this._hotKeyMap) {\r\n if (event.key.toUpperCase() === value) {\r\n this.setState({ selectedIndex: key }, () => {\r\n if (this.props.hotkeySelect && this._selectedElement) {\r\n this._selectedElement.select();\r\n }\r\n });\r\n event.stopPropagation();\r\n return;\r\n }\r\n }\r\n }\r\n\r\n if (event.key === SpecialKey.ArrowLeft) {\r\n event.stopPropagation();\r\n if (this.props.parentMenu && this.props.parentSubmenu) {\r\n this.props.parentSubmenu.close();\r\n this.props.parentMenu.focus();\r\n }\r\n if (this.props.onEsc)\r\n this.props.onEsc(event);\r\n }\r\n\r\n if (event.key === SpecialKey.Escape) {\r\n // istanbul ignore else\r\n if (this.props.onEsc)\r\n this.props.onEsc(event);\r\n }\r\n\r\n if ((event.key === SpecialKey.Enter || event.key === SpecialKey.ArrowRight) && this._selectedElement) {\r\n event.stopPropagation();\r\n\r\n // istanbul ignore else\r\n if (event.key === SpecialKey.Enter || /* istanbul ignore next */ this._selectedElement instanceof ContextSubMenu) {\r\n // istanbul ignore else\r\n if (this._selectedElement.select)\r\n this._selectedElement.select();\r\n }\r\n }\r\n\r\n let { selectedIndex } = this.state;\r\n if (event.key === SpecialKey.ArrowUp || event.key === SpecialKey.ArrowDown) {\r\n event.stopPropagation();\r\n if (selectedIndex === -1) {\r\n selectedIndex = 0;\r\n } else {\r\n if (event.key === SpecialKey.ArrowUp) {\r\n if (this.state.selectedIndex === 0)\r\n selectedIndex = this._length - 1;\r\n else\r\n selectedIndex--;\r\n }\r\n if (event.key === SpecialKey.ArrowDown) {\r\n if (this.state.selectedIndex === this._length - 1)\r\n selectedIndex = 0;\r\n else\r\n selectedIndex++;\r\n }\r\n }\r\n }\r\n this.setState({ selectedIndex });\r\n };\r\n\r\n public override componentDidUpdate(prevProps: ContextMenuProps) {\r\n if (prevProps.selectedIndex !== this.props.selectedIndex) {\r\n this.setState((_, props) => ({ selectedIndex: props.selectedIndex! }));\r\n }\r\n if (!prevProps.opened && this.props.opened) {\r\n this.setState((_, props) => ({ selectedIndex: props.selectedIndex! }));\r\n }\r\n if (!this.props.parentMenu) {\r\n // const direction = this.props.direction!;\r\n // if ((!this.props.opened && prevProps.opened && direction !== this.state.direction) || prevProps.direction !== direction)\r\n this.checkRenderDirection();\r\n }\r\n }\r\n}\r\n"]}
|
|
1
|
+
{"version":3,"file":"ContextMenu.js","sourceRoot":"","sources":["../../../../src/core-react/contextmenu/ContextMenu.tsx"],"names":[],"mappings":"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","sourcesContent":["/*---------------------------------------------------------------------------------------------\r\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\r\n* See LICENSE.md in the project root for license terms and full copyright notice.\r\n*--------------------------------------------------------------------------------------------*/\r\n/** @packageDocumentation\r\n * @module ContextMenu\r\n */\r\n\r\nimport \"./ContextMenu.scss\";\r\nimport classnames from \"classnames\";\r\nimport * as React from \"react\";\r\nimport { ConditionalBooleanValue, SpecialKey } from \"@itwin/appui-abstract\";\r\nimport { CommonProps } from \"../utils/Props\";\r\nimport { DivWithOutsideClick } from \"../base/DivWithOutsideClick\";\r\nimport { ContextMenuDirection } from \"./ContextMenuDirection\";\r\nimport { ContextMenuItem, ContextMenuItemProps } from \"./ContextMenuItem\";\r\nimport { ContextSubMenu, ContextSubMenuProps } from \"./ContextSubMenu\";\r\n\r\n/** Properties for the [[ContextMenu]] component\r\n * @public\r\n */\r\nexport interface ContextMenuProps extends CommonProps {\r\n /** Whether ContextMenu is currently opened. */\r\n opened: boolean;\r\n /** Which direction the menu opens. Default: ContextMenuDirection.BottomRight */\r\n direction?: ContextMenuDirection;\r\n /** When click is registered outside of ContextMenu. */\r\n onOutsideClick?: (event: MouseEvent) => any;\r\n /** When list item or submenu is selected */\r\n onSelect?: (event: any) => any;\r\n /** when Escape button is pressed */\r\n onEsc?: (data: any) => any;\r\n /** Whether menu flips directions based on screen edge. Default: true */\r\n autoflip?: boolean;\r\n /** Whether menu hugs screen edge when autoflip is off. Default: true */\r\n edgeLimit?: boolean;\r\n /** Whether Hotkey press selects item, or just highlights item. Default: true */\r\n hotkeySelect?: boolean;\r\n /** starting menu item selected index Default: -1 */\r\n selectedIndex?: number;\r\n /** whether menu floats on the viewport, or the page. When false, container elements can clip menu with overflow: hidden; Default: true */\r\n floating?: boolean;\r\n /** @internal */\r\n parentMenu?: ContextMenu;\r\n /** @internal */\r\n parentSubmenu?: ContextSubMenu;\r\n /** @internal */\r\n ignoreNextKeyUp?: boolean;\r\n /** Content */\r\n children?: React.ReactNode;\r\n}\r\n\r\n/** @internal */\r\ninterface ContextMenuState {\r\n selectedIndex: number;\r\n direction: ContextMenuDirection;\r\n ignoreNextKeyUp: boolean;\r\n}\r\n\r\n/**\r\n * A context menu populated with [[ContextMenuItem]] components.\r\n * Can be nested using [[ContextSubMenu]] component.\r\n * @public\r\n */\r\nexport class ContextMenu extends React.PureComponent<ContextMenuProps, ContextMenuState> {\r\n private _rootElement: HTMLElement | null = null;\r\n private _menuElement: HTMLElement | null = null;\r\n private _selectedElement: ContextMenuItem | ContextSubMenu | null = null;\r\n private _length: number = 0;\r\n private _hotKeyMap: Map<number, string> = new Map();\r\n\r\n private _lastChildren: React.ReactNode;\r\n private _lastDirection: ContextMenuDirection | undefined = ContextMenuDirection.BottomRight;\r\n private _lastSelectedIndex: number = 0;\r\n private _injectedChildren: React.ReactNode;\r\n private _parentWindowHeight: number = 0;\r\n private _parentWindowWidth: number = 0;\r\n\r\n public static defaultProps: Partial<ContextMenuProps> = {\r\n direction: ContextMenuDirection.BottomRight,\r\n autoflip: true,\r\n edgeLimit: true,\r\n hotkeySelect: true,\r\n selectedIndex: -1,\r\n floating: true,\r\n };\r\n\r\n /** @internal */\r\n public override readonly state: Readonly<ContextMenuState>;\r\n constructor(props: ContextMenuProps) {\r\n super(props);\r\n this.state = {\r\n selectedIndex: this.props.selectedIndex!,\r\n direction: props.direction!,\r\n ignoreNextKeyUp: props.ignoreNextKeyUp!,\r\n };\r\n }\r\n\r\n /** @internal */\r\n public static autoFlip = (dir: ContextMenuDirection, rect: DOMRectReadOnly, windowWidth: number, windowHeight: number): ContextMenuDirection => {\r\n if (rect.right > windowWidth) {\r\n switch (dir) {\r\n case ContextMenuDirection.TopRight:\r\n dir = ContextMenuDirection.TopLeft;\r\n break;\r\n case ContextMenuDirection.Right:\r\n dir = ContextMenuDirection.Left;\r\n break;\r\n case ContextMenuDirection.BottomRight:\r\n dir = ContextMenuDirection.BottomLeft;\r\n break;\r\n }\r\n }\r\n if (rect.left < 0) {\r\n switch (dir) {\r\n case ContextMenuDirection.TopLeft:\r\n dir = ContextMenuDirection.TopRight;\r\n break;\r\n case ContextMenuDirection.Left:\r\n dir = ContextMenuDirection.Right;\r\n break;\r\n case ContextMenuDirection.BottomLeft:\r\n dir = ContextMenuDirection.BottomRight;\r\n break;\r\n }\r\n }\r\n if (rect.bottom > windowHeight) {\r\n switch (dir) {\r\n case ContextMenuDirection.BottomLeft:\r\n dir = ContextMenuDirection.TopLeft;\r\n break;\r\n case ContextMenuDirection.Bottom:\r\n dir = ContextMenuDirection.Top;\r\n break;\r\n case ContextMenuDirection.BottomRight:\r\n dir = ContextMenuDirection.TopRight;\r\n break;\r\n }\r\n }\r\n if (rect.top < 0) {\r\n switch (dir) {\r\n case ContextMenuDirection.TopLeft:\r\n dir = ContextMenuDirection.BottomLeft;\r\n break;\r\n case ContextMenuDirection.Top:\r\n dir = ContextMenuDirection.Bottom;\r\n break;\r\n case ContextMenuDirection.TopRight:\r\n dir = ContextMenuDirection.BottomRight;\r\n break;\r\n }\r\n }\r\n return dir;\r\n };\r\n\r\n private _handleHotKeyParsed = (index: number, hotKey: string) => {\r\n this._hotKeyMap.set(index, hotKey);\r\n };\r\n\r\n // istanbul ignore next\r\n private _handleOnOutsideClick = (event: MouseEvent): void => {\r\n if (this.props.opened && this.props.onOutsideClick)\r\n this.props.onOutsideClick(event);\r\n };\r\n\r\n public override render(): JSX.Element {\r\n const {\r\n opened, direction, onOutsideClick, onSelect, onEsc, autoflip, edgeLimit, hotkeySelect, // eslint-disable-line @typescript-eslint/no-unused-vars\r\n selectedIndex, floating, parentMenu, parentSubmenu, children, className, ignoreNextKeyUp, // eslint-disable-line @typescript-eslint/no-unused-vars\r\n ...props } = this.props;\r\n const renderDirection = parentMenu === undefined ? this.state.direction : direction;\r\n\r\n if (this._lastChildren !== children || this._lastDirection !== renderDirection || this._lastSelectedIndex !== this.state.selectedIndex) {\r\n this._injectedChildren = this._injectMenuItemProps(children, renderDirection, this.state.selectedIndex);\r\n this._lastChildren = children;\r\n this._lastDirection = renderDirection;\r\n this._lastSelectedIndex = this.state.selectedIndex;\r\n }\r\n\r\n const classNames = classnames(\"core-context-menu\", className);\r\n\r\n return (\r\n <div\r\n role=\"presentation\"\r\n className={classNames}\r\n onKeyUp={this._handleKeyUp}\r\n onClick={this._handleClick}\r\n data-testid=\"core-context-menu-root\"\r\n {...props}\r\n ref={this._rootRef}>\r\n <DivWithOutsideClick onOutsideClick={this._handleOnOutsideClick}>\r\n <div\r\n ref={this._menuRef}\r\n role=\"menu\"\r\n tabIndex={0}\r\n data-testid=\"core-context-menu-container\"\r\n className={classnames(\"core-context-menu-container\",\r\n opened && \"core-context-menu-opened\",\r\n floating && \"core-context-menu-floating\",\r\n ContextMenu.getCSSClassNameFromDirection(renderDirection),\r\n )}>\r\n {this._injectedChildren}\r\n </div>\r\n </DivWithOutsideClick>\r\n </div>\r\n );\r\n }\r\n\r\n /** @internal */\r\n public static getCSSClassNameFromDirection = (direction?: ContextMenuDirection): string => {\r\n let className = \"\";\r\n\r\n // istanbul ignore next\r\n if (direction === undefined)\r\n direction = ContextMenuDirection.BottomRight;\r\n\r\n if (direction === ContextMenuDirection.None)\r\n return \"\";\r\n\r\n switch (direction) {\r\n case ContextMenuDirection.TopLeft:\r\n className = \"core-context-menu-top core-context-menu-left\";\r\n break;\r\n case ContextMenuDirection.Top:\r\n className = \"core-context-menu-top\";\r\n break;\r\n case ContextMenuDirection.TopRight:\r\n className = \"core-context-menu-top core-context-menu-right\";\r\n break;\r\n case ContextMenuDirection.Left:\r\n className = \"core-context-menu-left\";\r\n break;\r\n case ContextMenuDirection.Center:\r\n className = \"core-context-menu-center\";\r\n break;\r\n case ContextMenuDirection.Right:\r\n className = \"core-context-menu-right\";\r\n break;\r\n case ContextMenuDirection.BottomLeft:\r\n className = \"core-context-menu-bottom core-context-menu-left\";\r\n break;\r\n case ContextMenuDirection.Bottom:\r\n className = \"core-context-menu-bottom\";\r\n break;\r\n case ContextMenuDirection.BottomRight:\r\n className = \"core-context-menu-bottom core-context-menu-right\";\r\n break;\r\n }\r\n\r\n return className;\r\n };\r\n\r\n private _injectMenuItemProps = (children: React.ReactNode, direction: ContextMenuDirection | undefined, selectedIndex: number) => {\r\n let index = 0;\r\n // add inheritance data to submenu children\r\n const ch = React.Children.map(children, (child: React.ReactNode) => {\r\n // Capture only ContextSubMenus and ContextMenuItems.\r\n if (child && typeof child === \"object\" && \"props\" in child && (child.type === ContextSubMenu || child.type === ContextMenuItem) &&\r\n !ConditionalBooleanValue.getValue(child.props.disabled) && !ConditionalBooleanValue.getValue(child.props.hidden)) {\r\n const id = index; // get separate id variable so value stays the same when onHover is called later.\r\n const onHover = () => {\r\n this.setState({ selectedIndex: id });\r\n this.focus();\r\n };\r\n const ref = (el: ContextSubMenu | ContextMenuItem | null) => {\r\n if (selectedIndex === id) // only save to this._selectedElement if previously captured bool is true\r\n this._selectedElement = el;\r\n };\r\n const boundHandleHotKeyParse = this._handleHotKeyParsed.bind(this, id); // bind local callback for specific index\r\n const childProps: Partial<ContextSubMenuProps & ContextMenuItemProps & { ref: typeof ref }> = {\r\n parentMenu: this,\r\n ref,\r\n onHover,\r\n isSelected: selectedIndex === id,\r\n onHotKeyParsed: boundHandleHotKeyParse,\r\n };\r\n if (child.type === ContextSubMenu) { // add direction only to sub-menus\r\n childProps.direction = child.props.direction || /* istanbul ignore next */ direction;\r\n }\r\n index++;\r\n return React.cloneElement(child, childProps);\r\n } else return child; // Else, pass through unmodified\r\n });\r\n this._length = index;\r\n return ch;\r\n };\r\n\r\n private _rootRef = (el: HTMLDivElement | null) => {\r\n this._rootElement = el;\r\n };\r\n\r\n private _menuRef = (el: HTMLDivElement | null) => {\r\n this._menuElement = el;\r\n };\r\n\r\n private getWindow() {\r\n const el = this._rootElement ? this._rootElement : /* istanbul ignore next */ this._menuElement;\r\n const parentDocument = el!.ownerDocument;\r\n // istanbul ignore next\r\n return parentDocument.defaultView ?? window;\r\n }\r\n\r\n /** @internal */\r\n public override componentDidMount() {\r\n const parentWindow = this.getWindow();\r\n parentWindow.addEventListener(\"focus\", this._handleFocusChange);\r\n parentWindow.addEventListener(\"mouseup\", this._handleFocusChange);\r\n\r\n this.checkRenderDirection();\r\n\r\n if (this.props.opened)\r\n this.focus();\r\n }\r\n\r\n /** @internal */\r\n public override componentWillUnmount() {\r\n const parentWindow = this.getWindow();\r\n parentWindow.removeEventListener(\"focus\", this._handleFocusChange);\r\n parentWindow.removeEventListener(\"mouseup\", this._handleFocusChange);\r\n }\r\n\r\n private checkRenderDirection() {\r\n const { direction, autoflip, parentMenu } = this.props;\r\n const parentWindow = this.getWindow();\r\n\r\n let renderDirection = parentMenu === undefined ? this.state.direction : direction;\r\n\r\n if (parentWindow.innerHeight === this._parentWindowHeight && parentWindow.innerWidth === this._parentWindowWidth)\r\n return;\r\n this._parentWindowHeight = parentWindow.innerHeight;\r\n this._parentWindowWidth = parentWindow.innerWidth;\r\n\r\n // check if menu should flip\r\n if (parentWindow && autoflip && parentMenu === undefined) {\r\n const menuRect = this.getRect();\r\n renderDirection = ContextMenu.autoFlip(renderDirection!, menuRect, parentWindow.innerWidth, parentWindow.innerHeight);\r\n // istanbul ignore next\r\n if (renderDirection !== this.state.direction)\r\n this.setState({ direction: renderDirection });\r\n }\r\n }\r\n\r\n public focus = () => {\r\n // istanbul ignore else\r\n if (this._menuElement)\r\n this._menuElement.focus();\r\n };\r\n\r\n public blur = () => {\r\n // istanbul ignore else\r\n if (this._menuElement)\r\n this._menuElement.blur();\r\n };\r\n\r\n public getRect = (): DOMRect => {\r\n let clientRect = DOMRect.fromRect({ x: 0, y: 0, width: 0, height: 0});\r\n\r\n // istanbul ignore else\r\n if (this._menuElement) {\r\n clientRect = this._menuElement.getBoundingClientRect();\r\n }\r\n return clientRect;\r\n };\r\n\r\n private _handleFocusChange = (event: any): void => {\r\n // istanbul ignore else\r\n if (this._rootElement && this.props.opened && event.target instanceof Node && this.props.onOutsideClick && !this._rootElement.contains(event.target))\r\n this.props.onOutsideClick(event);\r\n };\r\n\r\n private _handleClick = (event: React.MouseEvent<HTMLDivElement>): void => {\r\n if (this.props.onSelect)\r\n this.props.onSelect(event);\r\n };\r\n\r\n private _handleKeyUp = (event: React.KeyboardEvent<HTMLDivElement>): void => {\r\n if (this.state.ignoreNextKeyUp) {\r\n this.setState({ ignoreNextKeyUp: false });\r\n return;\r\n }\r\n\r\n // istanbul ignore else\r\n if (event.key) {\r\n for (const [key, value] of this._hotKeyMap) {\r\n if (!this.props.hotkeySelect! && key > this.state.selectedIndex) { // Start search at current index.\r\n if (event.key.toUpperCase() === value) {\r\n this.setState({ selectedIndex: key });\r\n return;\r\n }\r\n }\r\n }\r\n for (const [key, value] of this._hotKeyMap) {\r\n if (event.key.toUpperCase() === value) {\r\n this.setState({ selectedIndex: key }, () => {\r\n if (this.props.hotkeySelect && this._selectedElement) {\r\n this._selectedElement.select();\r\n }\r\n });\r\n event.stopPropagation();\r\n return;\r\n }\r\n }\r\n }\r\n\r\n if (event.key === SpecialKey.ArrowLeft) {\r\n event.stopPropagation();\r\n if (this.props.parentMenu && this.props.parentSubmenu) {\r\n this.props.parentSubmenu.close();\r\n this.props.parentMenu.focus();\r\n }\r\n if (this.props.onEsc)\r\n this.props.onEsc(event);\r\n }\r\n\r\n if (event.key === SpecialKey.Escape) {\r\n // istanbul ignore else\r\n if (this.props.onEsc)\r\n this.props.onEsc(event);\r\n }\r\n\r\n if ((event.key === SpecialKey.Enter || event.key === SpecialKey.ArrowRight) && this._selectedElement) {\r\n event.stopPropagation();\r\n\r\n // istanbul ignore else\r\n if (event.key === SpecialKey.Enter || /* istanbul ignore next */ this._selectedElement instanceof ContextSubMenu) {\r\n // istanbul ignore else\r\n if (this._selectedElement.select)\r\n this._selectedElement.select();\r\n }\r\n }\r\n\r\n let { selectedIndex } = this.state;\r\n if (event.key === SpecialKey.ArrowUp || event.key === SpecialKey.ArrowDown) {\r\n event.stopPropagation();\r\n if (selectedIndex === -1) {\r\n selectedIndex = 0;\r\n } else {\r\n if (event.key === SpecialKey.ArrowUp) {\r\n if (this.state.selectedIndex === 0)\r\n selectedIndex = this._length - 1;\r\n else\r\n selectedIndex--;\r\n }\r\n if (event.key === SpecialKey.ArrowDown) {\r\n if (this.state.selectedIndex === this._length - 1)\r\n selectedIndex = 0;\r\n else\r\n selectedIndex++;\r\n }\r\n }\r\n }\r\n this.setState({ selectedIndex });\r\n };\r\n\r\n public override componentDidUpdate(prevProps: ContextMenuProps) {\r\n if (prevProps.selectedIndex !== this.props.selectedIndex) {\r\n this.setState((_, props) => ({ selectedIndex: props.selectedIndex! }));\r\n }\r\n if (!prevProps.opened && this.props.opened) {\r\n this.setState((_, props) => ({ selectedIndex: props.selectedIndex! }));\r\n }\r\n if (!this.props.parentMenu) {\r\n // const direction = this.props.direction!;\r\n // if ((!this.props.opened && prevProps.opened && direction !== this.state.direction) || prevProps.direction !== direction)\r\n this.checkRenderDirection();\r\n }\r\n }\r\n}\r\n"]}
|
|
@@ -1,19 +1,19 @@
|
|
|
1
|
-
/** @packageDocumentation
|
|
2
|
-
* @module ContextMenu
|
|
3
|
-
*/
|
|
4
|
-
/** Enum to specify where a [[ContextMenu]] should anchor to its parent element
|
|
5
|
-
* @public
|
|
6
|
-
*/
|
|
7
|
-
export declare enum ContextMenuDirection {
|
|
8
|
-
None = "",
|
|
9
|
-
TopLeft = "top left",
|
|
10
|
-
Top = "top",
|
|
11
|
-
TopRight = "top right",
|
|
12
|
-
Left = "left",
|
|
13
|
-
Center = "center",
|
|
14
|
-
Right = "right",
|
|
15
|
-
BottomLeft = "bottom left",
|
|
16
|
-
Bottom = "bottom",
|
|
17
|
-
BottomRight = "bottom right"
|
|
18
|
-
}
|
|
1
|
+
/** @packageDocumentation
|
|
2
|
+
* @module ContextMenu
|
|
3
|
+
*/
|
|
4
|
+
/** Enum to specify where a [[ContextMenu]] should anchor to its parent element
|
|
5
|
+
* @public
|
|
6
|
+
*/
|
|
7
|
+
export declare enum ContextMenuDirection {
|
|
8
|
+
None = "",
|
|
9
|
+
TopLeft = "top left",
|
|
10
|
+
Top = "top",
|
|
11
|
+
TopRight = "top right",
|
|
12
|
+
Left = "left",
|
|
13
|
+
Center = "center",
|
|
14
|
+
Right = "right",
|
|
15
|
+
BottomLeft = "bottom left",
|
|
16
|
+
Bottom = "bottom",
|
|
17
|
+
BottomRight = "bottom right"
|
|
18
|
+
}
|
|
19
19
|
//# sourceMappingURL=ContextMenuDirection.d.ts.map
|
|
@@ -1,24 +1,24 @@
|
|
|
1
|
-
/*---------------------------------------------------------------------------------------------
|
|
2
|
-
* Copyright (c) Bentley Systems, Incorporated. All rights reserved.
|
|
3
|
-
* See LICENSE.md in the project root for license terms and full copyright notice.
|
|
4
|
-
*--------------------------------------------------------------------------------------------*/
|
|
5
|
-
/** @packageDocumentation
|
|
6
|
-
* @module ContextMenu
|
|
7
|
-
*/
|
|
8
|
-
/** Enum to specify where a [[ContextMenu]] should anchor to its parent element
|
|
9
|
-
* @public
|
|
10
|
-
*/
|
|
11
|
-
export var ContextMenuDirection;
|
|
12
|
-
(function (ContextMenuDirection) {
|
|
13
|
-
ContextMenuDirection["None"] = "";
|
|
14
|
-
ContextMenuDirection["TopLeft"] = "top left";
|
|
15
|
-
ContextMenuDirection["Top"] = "top";
|
|
16
|
-
ContextMenuDirection["TopRight"] = "top right";
|
|
17
|
-
ContextMenuDirection["Left"] = "left";
|
|
18
|
-
ContextMenuDirection["Center"] = "center";
|
|
19
|
-
ContextMenuDirection["Right"] = "right";
|
|
20
|
-
ContextMenuDirection["BottomLeft"] = "bottom left";
|
|
21
|
-
ContextMenuDirection["Bottom"] = "bottom";
|
|
22
|
-
ContextMenuDirection["BottomRight"] = "bottom right";
|
|
23
|
-
})(ContextMenuDirection || (ContextMenuDirection = {}));
|
|
1
|
+
/*---------------------------------------------------------------------------------------------
|
|
2
|
+
* Copyright (c) Bentley Systems, Incorporated. All rights reserved.
|
|
3
|
+
* See LICENSE.md in the project root for license terms and full copyright notice.
|
|
4
|
+
*--------------------------------------------------------------------------------------------*/
|
|
5
|
+
/** @packageDocumentation
|
|
6
|
+
* @module ContextMenu
|
|
7
|
+
*/
|
|
8
|
+
/** Enum to specify where a [[ContextMenu]] should anchor to its parent element
|
|
9
|
+
* @public
|
|
10
|
+
*/
|
|
11
|
+
export var ContextMenuDirection;
|
|
12
|
+
(function (ContextMenuDirection) {
|
|
13
|
+
ContextMenuDirection["None"] = "";
|
|
14
|
+
ContextMenuDirection["TopLeft"] = "top left";
|
|
15
|
+
ContextMenuDirection["Top"] = "top";
|
|
16
|
+
ContextMenuDirection["TopRight"] = "top right";
|
|
17
|
+
ContextMenuDirection["Left"] = "left";
|
|
18
|
+
ContextMenuDirection["Center"] = "center";
|
|
19
|
+
ContextMenuDirection["Right"] = "right";
|
|
20
|
+
ContextMenuDirection["BottomLeft"] = "bottom left";
|
|
21
|
+
ContextMenuDirection["Bottom"] = "bottom";
|
|
22
|
+
ContextMenuDirection["BottomRight"] = "bottom right";
|
|
23
|
+
})(ContextMenuDirection || (ContextMenuDirection = {}));
|
|
24
24
|
//# sourceMappingURL=ContextMenuDirection.js.map
|
|
@@ -1,13 +1,13 @@
|
|
|
1
|
-
/** @packageDocumentation
|
|
2
|
-
* @module ContextMenu
|
|
3
|
-
*/
|
|
4
|
-
import * as React from "react";
|
|
5
|
-
import { CommonProps } from "../utils/Props";
|
|
6
|
-
/**
|
|
7
|
-
* Menu Divider for [[ContextMenu]]. Inserts a line between items, used for list item grouping.
|
|
8
|
-
* @public
|
|
9
|
-
*/
|
|
10
|
-
export declare class ContextMenuDivider extends React.PureComponent<CommonProps> {
|
|
11
|
-
render(): JSX.Element;
|
|
12
|
-
}
|
|
1
|
+
/** @packageDocumentation
|
|
2
|
+
* @module ContextMenu
|
|
3
|
+
*/
|
|
4
|
+
import * as React from "react";
|
|
5
|
+
import { CommonProps } from "../utils/Props";
|
|
6
|
+
/**
|
|
7
|
+
* Menu Divider for [[ContextMenu]]. Inserts a line between items, used for list item grouping.
|
|
8
|
+
* @public
|
|
9
|
+
*/
|
|
10
|
+
export declare class ContextMenuDivider extends React.PureComponent<CommonProps> {
|
|
11
|
+
render(): JSX.Element;
|
|
12
|
+
}
|
|
13
13
|
//# sourceMappingURL=ContextMenuDivider.d.ts.map
|
|
@@ -1,20 +1,20 @@
|
|
|
1
|
-
/*---------------------------------------------------------------------------------------------
|
|
2
|
-
* Copyright (c) Bentley Systems, Incorporated. All rights reserved.
|
|
3
|
-
* See LICENSE.md in the project root for license terms and full copyright notice.
|
|
4
|
-
*--------------------------------------------------------------------------------------------*/
|
|
5
|
-
/** @packageDocumentation
|
|
6
|
-
* @module ContextMenu
|
|
7
|
-
*/
|
|
8
|
-
import * as React from "react";
|
|
9
|
-
import classnames from "classnames";
|
|
10
|
-
/**
|
|
11
|
-
* Menu Divider for [[ContextMenu]]. Inserts a line between items, used for list item grouping.
|
|
12
|
-
* @public
|
|
13
|
-
*/
|
|
14
|
-
export class ContextMenuDivider extends React.PureComponent {
|
|
15
|
-
render() {
|
|
16
|
-
const { className, ...props } = this.props;
|
|
17
|
-
return (React.createElement("div", { ...props, "data-testid": "core-context-menu-divider", className: classnames("core-context-menu-divider", className) }));
|
|
18
|
-
}
|
|
19
|
-
}
|
|
1
|
+
/*---------------------------------------------------------------------------------------------
|
|
2
|
+
* Copyright (c) Bentley Systems, Incorporated. All rights reserved.
|
|
3
|
+
* See LICENSE.md in the project root for license terms and full copyright notice.
|
|
4
|
+
*--------------------------------------------------------------------------------------------*/
|
|
5
|
+
/** @packageDocumentation
|
|
6
|
+
* @module ContextMenu
|
|
7
|
+
*/
|
|
8
|
+
import * as React from "react";
|
|
9
|
+
import classnames from "classnames";
|
|
10
|
+
/**
|
|
11
|
+
* Menu Divider for [[ContextMenu]]. Inserts a line between items, used for list item grouping.
|
|
12
|
+
* @public
|
|
13
|
+
*/
|
|
14
|
+
export class ContextMenuDivider extends React.PureComponent {
|
|
15
|
+
render() {
|
|
16
|
+
const { className, ...props } = this.props;
|
|
17
|
+
return (React.createElement("div", { ...props, "data-testid": "core-context-menu-divider", className: classnames("core-context-menu-divider", className) }));
|
|
18
|
+
}
|
|
19
|
+
}
|
|
20
20
|
//# sourceMappingURL=ContextMenuDivider.js.map
|
|
@@ -1,62 +1,62 @@
|
|
|
1
|
-
/** @packageDocumentation
|
|
2
|
-
* @module ContextMenu
|
|
3
|
-
*/
|
|
4
|
-
import * as React from "react";
|
|
5
|
-
import { BadgeType, ConditionalBooleanValue } from "@itwin/appui-abstract";
|
|
6
|
-
import { CommonProps } from "../utils/Props";
|
|
7
|
-
import { ContextMenu } from "./ContextMenu";
|
|
8
|
-
import { IconSpec } from "../icons/IconComponent";
|
|
9
|
-
/** Properties for the [[ContextMenuItem]] component
|
|
10
|
-
* @public
|
|
11
|
-
*/
|
|
12
|
-
export interface ContextMenuItemProps extends Omit<React.AllHTMLAttributes<HTMLDivElement>, "disabled" | "hidden">, CommonProps {
|
|
13
|
-
onSelect?: (event: any) => any;
|
|
14
|
-
/** @internal */
|
|
15
|
-
onHotKeyParsed?: (hotKey: string) => void;
|
|
16
|
-
/** Icon to display in the left margin. */
|
|
17
|
-
icon?: IconSpec;
|
|
18
|
-
/** Disables any onSelect calls, hover/keyboard highlighting, and grays item. */
|
|
19
|
-
disabled?: boolean | ConditionalBooleanValue;
|
|
20
|
-
/** Indicates whether the item is visible or hidden. The default is for the item to be visible. */
|
|
21
|
-
hidden?: boolean | ConditionalBooleanValue;
|
|
22
|
-
/** Badge to be overlaid on the item. */
|
|
23
|
-
badgeType?: BadgeType;
|
|
24
|
-
/** Icon to display in the right margin. */
|
|
25
|
-
iconRight?: IconSpec;
|
|
26
|
-
/** Hide the icon container. This can be used to eliminate space used to display an icon at the left of the menu item. */
|
|
27
|
-
hideIconContainer?: boolean;
|
|
28
|
-
/** @internal */
|
|
29
|
-
onHover?: () => any;
|
|
30
|
-
isSelected?: boolean;
|
|
31
|
-
/** @internal */
|
|
32
|
-
parentMenu?: ContextMenu;
|
|
33
|
-
}
|
|
34
|
-
/** @internal */
|
|
35
|
-
interface ContextMenuItemState {
|
|
36
|
-
hotKey?: string;
|
|
37
|
-
}
|
|
38
|
-
/**
|
|
39
|
-
* Menu Item class for use within a [[ContextMenu]] component.
|
|
40
|
-
* @public
|
|
41
|
-
*/
|
|
42
|
-
export declare class ContextMenuItem extends React.PureComponent<ContextMenuItemProps, ContextMenuItemState> {
|
|
43
|
-
private _root;
|
|
44
|
-
private _lastChildren;
|
|
45
|
-
private _parsedChildren;
|
|
46
|
-
/** @internal */
|
|
47
|
-
static defaultProps: Partial<ContextMenuItemProps>;
|
|
48
|
-
constructor(props: ContextMenuItemProps);
|
|
49
|
-
/** @internal */
|
|
50
|
-
readonly state: Readonly<ContextMenuItemState>;
|
|
51
|
-
render(): JSX.Element;
|
|
52
|
-
componentDidMount(): void;
|
|
53
|
-
componentDidUpdate(prevProps: ContextMenuItemProps): void;
|
|
54
|
-
private _updateHotkey;
|
|
55
|
-
private _handleFocus;
|
|
56
|
-
private _handleMouseOver;
|
|
57
|
-
select: () => void;
|
|
58
|
-
private _handleClick;
|
|
59
|
-
private _handleKeyUp;
|
|
60
|
-
}
|
|
61
|
-
export {};
|
|
1
|
+
/** @packageDocumentation
|
|
2
|
+
* @module ContextMenu
|
|
3
|
+
*/
|
|
4
|
+
import * as React from "react";
|
|
5
|
+
import { BadgeType, ConditionalBooleanValue } from "@itwin/appui-abstract";
|
|
6
|
+
import { CommonProps } from "../utils/Props";
|
|
7
|
+
import { ContextMenu } from "./ContextMenu";
|
|
8
|
+
import { IconSpec } from "../icons/IconComponent";
|
|
9
|
+
/** Properties for the [[ContextMenuItem]] component
|
|
10
|
+
* @public
|
|
11
|
+
*/
|
|
12
|
+
export interface ContextMenuItemProps extends Omit<React.AllHTMLAttributes<HTMLDivElement>, "disabled" | "hidden">, CommonProps {
|
|
13
|
+
onSelect?: (event: any) => any;
|
|
14
|
+
/** @internal */
|
|
15
|
+
onHotKeyParsed?: (hotKey: string) => void;
|
|
16
|
+
/** Icon to display in the left margin. */
|
|
17
|
+
icon?: IconSpec;
|
|
18
|
+
/** Disables any onSelect calls, hover/keyboard highlighting, and grays item. */
|
|
19
|
+
disabled?: boolean | ConditionalBooleanValue;
|
|
20
|
+
/** Indicates whether the item is visible or hidden. The default is for the item to be visible. */
|
|
21
|
+
hidden?: boolean | ConditionalBooleanValue;
|
|
22
|
+
/** Badge to be overlaid on the item. */
|
|
23
|
+
badgeType?: BadgeType;
|
|
24
|
+
/** Icon to display in the right margin. */
|
|
25
|
+
iconRight?: IconSpec;
|
|
26
|
+
/** Hide the icon container. This can be used to eliminate space used to display an icon at the left of the menu item. */
|
|
27
|
+
hideIconContainer?: boolean;
|
|
28
|
+
/** @internal */
|
|
29
|
+
onHover?: () => any;
|
|
30
|
+
isSelected?: boolean;
|
|
31
|
+
/** @internal */
|
|
32
|
+
parentMenu?: ContextMenu;
|
|
33
|
+
}
|
|
34
|
+
/** @internal */
|
|
35
|
+
interface ContextMenuItemState {
|
|
36
|
+
hotKey?: string;
|
|
37
|
+
}
|
|
38
|
+
/**
|
|
39
|
+
* Menu Item class for use within a [[ContextMenu]] component.
|
|
40
|
+
* @public
|
|
41
|
+
*/
|
|
42
|
+
export declare class ContextMenuItem extends React.PureComponent<ContextMenuItemProps, ContextMenuItemState> {
|
|
43
|
+
private _root;
|
|
44
|
+
private _lastChildren;
|
|
45
|
+
private _parsedChildren;
|
|
46
|
+
/** @internal */
|
|
47
|
+
static defaultProps: Partial<ContextMenuItemProps>;
|
|
48
|
+
constructor(props: ContextMenuItemProps);
|
|
49
|
+
/** @internal */
|
|
50
|
+
readonly state: Readonly<ContextMenuItemState>;
|
|
51
|
+
render(): JSX.Element;
|
|
52
|
+
componentDidMount(): void;
|
|
53
|
+
componentDidUpdate(prevProps: ContextMenuItemProps): void;
|
|
54
|
+
private _updateHotkey;
|
|
55
|
+
private _handleFocus;
|
|
56
|
+
private _handleMouseOver;
|
|
57
|
+
select: () => void;
|
|
58
|
+
private _handleClick;
|
|
59
|
+
private _handleKeyUp;
|
|
60
|
+
}
|
|
61
|
+
export {};
|
|
62
62
|
//# sourceMappingURL=ContextMenuItem.d.ts.map
|