@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,43 +1,43 @@
|
|
|
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 Common
|
|
7
|
-
*/
|
|
8
|
-
import * as React from "react";
|
|
9
|
-
import { Timer } from "../utils/Timer";
|
|
10
|
-
/** withTimeout is a React higher-order component that adds timeout support.
|
|
11
|
-
* @public
|
|
12
|
-
*/
|
|
13
|
-
export const withTimeout = (
|
|
14
|
-
// eslint-disable-next-line @typescript-eslint/naming-convention
|
|
15
|
-
Component) => {
|
|
16
|
-
return class WithTimeout extends React.PureComponent {
|
|
17
|
-
constructor() {
|
|
18
|
-
super(...arguments);
|
|
19
|
-
this.timer = new Timer(0);
|
|
20
|
-
}
|
|
21
|
-
componentDidMount() {
|
|
22
|
-
this.timer.setOnExecute(() => this.props.onTimeout && this.props.onTimeout());
|
|
23
|
-
this.startTimer(this.props.timeout);
|
|
24
|
-
}
|
|
25
|
-
componentDidUpdate(_prevProps) {
|
|
26
|
-
this.startTimer(this.props.timeout);
|
|
27
|
-
}
|
|
28
|
-
componentWillUnmount() {
|
|
29
|
-
this.timer.stop();
|
|
30
|
-
}
|
|
31
|
-
render() {
|
|
32
|
-
const { timeout, onTimeout, ...props } = this.props; // eslint-disable-line @typescript-eslint/no-unused-vars
|
|
33
|
-
return (React.createElement(Component, { ...props, ...this.state }));
|
|
34
|
-
}
|
|
35
|
-
startTimer(timeout) {
|
|
36
|
-
if (this.timer.isRunning)
|
|
37
|
-
return;
|
|
38
|
-
this.timer.delay = timeout;
|
|
39
|
-
this.timer.start();
|
|
40
|
-
}
|
|
41
|
-
};
|
|
42
|
-
};
|
|
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 Common
|
|
7
|
+
*/
|
|
8
|
+
import * as React from "react";
|
|
9
|
+
import { Timer } from "../utils/Timer";
|
|
10
|
+
/** withTimeout is a React higher-order component that adds timeout support.
|
|
11
|
+
* @public
|
|
12
|
+
*/
|
|
13
|
+
export const withTimeout = (
|
|
14
|
+
// eslint-disable-next-line @typescript-eslint/naming-convention
|
|
15
|
+
Component) => {
|
|
16
|
+
return class WithTimeout extends React.PureComponent {
|
|
17
|
+
constructor() {
|
|
18
|
+
super(...arguments);
|
|
19
|
+
this.timer = new Timer(0);
|
|
20
|
+
}
|
|
21
|
+
componentDidMount() {
|
|
22
|
+
this.timer.setOnExecute(() => this.props.onTimeout && this.props.onTimeout());
|
|
23
|
+
this.startTimer(this.props.timeout);
|
|
24
|
+
}
|
|
25
|
+
componentDidUpdate(_prevProps) {
|
|
26
|
+
this.startTimer(this.props.timeout);
|
|
27
|
+
}
|
|
28
|
+
componentWillUnmount() {
|
|
29
|
+
this.timer.stop();
|
|
30
|
+
}
|
|
31
|
+
render() {
|
|
32
|
+
const { timeout, onTimeout, ...props } = this.props; // eslint-disable-line @typescript-eslint/no-unused-vars
|
|
33
|
+
return (React.createElement(Component, { ...props, ...this.state }));
|
|
34
|
+
}
|
|
35
|
+
startTimer(timeout) {
|
|
36
|
+
if (this.timer.isRunning)
|
|
37
|
+
return;
|
|
38
|
+
this.timer.delay = timeout;
|
|
39
|
+
this.timer.start();
|
|
40
|
+
}
|
|
41
|
+
};
|
|
42
|
+
};
|
|
43
43
|
//# sourceMappingURL=withTimeout.js.map
|
|
@@ -1,27 +1,27 @@
|
|
|
1
|
-
/** @packageDocumentation
|
|
2
|
-
* @module Icon
|
|
3
|
-
*/
|
|
4
|
-
import { IconSpec } from "./IconComponent";
|
|
5
|
-
/** Class used to return an icon. The icon is variable and can be changed in response to subscribed event ids.
|
|
6
|
-
* @public
|
|
7
|
-
*/
|
|
8
|
-
export declare class ConditionalIconItem {
|
|
9
|
-
readonly iconGetter: () => IconSpec;
|
|
10
|
-
readonly syncEventIds: string[];
|
|
11
|
-
private _value?;
|
|
12
|
-
/** Constructor for ConditionalIconItem
|
|
13
|
-
* @param iconGetter Function to retrieve the icon that matches the condition. Returns an IconSpec.
|
|
14
|
-
* @param syncEventIds The array of event ids to be monitored. These events are triggered when the condition(s) that control the icon change.
|
|
15
|
-
* @param value The default IconSpec. If this is not specified, the function is run to get the initial value.
|
|
16
|
-
*/
|
|
17
|
-
constructor(iconGetter: () => IconSpec, syncEventIds: string[], value?: IconSpec);
|
|
18
|
-
/** The current IconSpec according to conditions */
|
|
19
|
-
get value(): IconSpec;
|
|
20
|
-
/** Called to update the value by running the iconGetter */
|
|
21
|
-
refresh(): boolean;
|
|
22
|
-
/** A helper function that updates the IconSpec value when the specified events are triggered */
|
|
23
|
-
static refreshValue(conditionalValue: ConditionalIconItem | string | undefined, eventIds: Set<string>): boolean;
|
|
24
|
-
/** helper function to get the iconSpec from a ConditionIconItem as IconSpec | undefined*/
|
|
25
|
-
static getValue(conditionalValue: ConditionalIconItem | string | undefined): IconSpec | undefined;
|
|
26
|
-
}
|
|
1
|
+
/** @packageDocumentation
|
|
2
|
+
* @module Icon
|
|
3
|
+
*/
|
|
4
|
+
import { IconSpec } from "./IconComponent";
|
|
5
|
+
/** Class used to return an icon. The icon is variable and can be changed in response to subscribed event ids.
|
|
6
|
+
* @public
|
|
7
|
+
*/
|
|
8
|
+
export declare class ConditionalIconItem {
|
|
9
|
+
readonly iconGetter: () => IconSpec;
|
|
10
|
+
readonly syncEventIds: string[];
|
|
11
|
+
private _value?;
|
|
12
|
+
/** Constructor for ConditionalIconItem
|
|
13
|
+
* @param iconGetter Function to retrieve the icon that matches the condition. Returns an IconSpec.
|
|
14
|
+
* @param syncEventIds The array of event ids to be monitored. These events are triggered when the condition(s) that control the icon change.
|
|
15
|
+
* @param value The default IconSpec. If this is not specified, the function is run to get the initial value.
|
|
16
|
+
*/
|
|
17
|
+
constructor(iconGetter: () => IconSpec, syncEventIds: string[], value?: IconSpec);
|
|
18
|
+
/** The current IconSpec according to conditions */
|
|
19
|
+
get value(): IconSpec;
|
|
20
|
+
/** Called to update the value by running the iconGetter */
|
|
21
|
+
refresh(): boolean;
|
|
22
|
+
/** A helper function that updates the IconSpec value when the specified events are triggered */
|
|
23
|
+
static refreshValue(conditionalValue: ConditionalIconItem | string | undefined, eventIds: Set<string>): boolean;
|
|
24
|
+
/** helper function to get the iconSpec from a ConditionIconItem as IconSpec | undefined*/
|
|
25
|
+
static getValue(conditionalValue: ConditionalIconItem | string | undefined): IconSpec | undefined;
|
|
26
|
+
}
|
|
27
27
|
//# sourceMappingURL=ConditionalIconItem.d.ts.map
|
|
@@ -1,61 +1,61 @@
|
|
|
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 Icon
|
|
7
|
-
*/
|
|
8
|
-
/** Class used to return an icon. The icon is variable and can be changed in response to subscribed event ids.
|
|
9
|
-
* @public
|
|
10
|
-
*/
|
|
11
|
-
export class ConditionalIconItem {
|
|
12
|
-
/** Constructor for ConditionalIconItem
|
|
13
|
-
* @param iconGetter Function to retrieve the icon that matches the condition. Returns an IconSpec.
|
|
14
|
-
* @param syncEventIds The array of event ids to be monitored. These events are triggered when the condition(s) that control the icon change.
|
|
15
|
-
* @param value The default IconSpec. If this is not specified, the function is run to get the initial value.
|
|
16
|
-
*/
|
|
17
|
-
constructor(iconGetter, syncEventIds, value) {
|
|
18
|
-
this.iconGetter = iconGetter;
|
|
19
|
-
this.syncEventIds = syncEventIds;
|
|
20
|
-
this._value = value;
|
|
21
|
-
}
|
|
22
|
-
/** The current IconSpec according to conditions */
|
|
23
|
-
get value() {
|
|
24
|
-
/* istanbul ignore else */
|
|
25
|
-
if (undefined !== this._value)
|
|
26
|
-
return this._value;
|
|
27
|
-
this._value = this.iconGetter();
|
|
28
|
-
return this._value;
|
|
29
|
-
}
|
|
30
|
-
/** Called to update the value by running the iconGetter */
|
|
31
|
-
refresh() {
|
|
32
|
-
const newValue = this.iconGetter();
|
|
33
|
-
/* istanbul ignore else */
|
|
34
|
-
if (newValue !== this._value) {
|
|
35
|
-
this._value = newValue;
|
|
36
|
-
return true;
|
|
37
|
-
}
|
|
38
|
-
return false;
|
|
39
|
-
}
|
|
40
|
-
/** A helper function that updates the IconSpec value when the specified events are triggered */
|
|
41
|
-
static refreshValue(conditionalValue, eventIds) {
|
|
42
|
-
/* istanbul ignore else */
|
|
43
|
-
if (undefined === conditionalValue || !(conditionalValue instanceof ConditionalIconItem))
|
|
44
|
-
return false;
|
|
45
|
-
/* istanbul ignore else */
|
|
46
|
-
if (conditionalValue.syncEventIds.some((value) => eventIds.has(value.toLowerCase())))
|
|
47
|
-
return conditionalValue.refresh();
|
|
48
|
-
return false;
|
|
49
|
-
}
|
|
50
|
-
/** helper function to get the iconSpec from a ConditionIconItem as IconSpec | undefined*/
|
|
51
|
-
static getValue(conditionalValue) {
|
|
52
|
-
/* istanbul ignore else */
|
|
53
|
-
if (undefined === conditionalValue)
|
|
54
|
-
return undefined;
|
|
55
|
-
/* istanbul ignore else */
|
|
56
|
-
if (conditionalValue instanceof ConditionalIconItem)
|
|
57
|
-
return conditionalValue.value;
|
|
58
|
-
return conditionalValue;
|
|
59
|
-
}
|
|
60
|
-
}
|
|
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 Icon
|
|
7
|
+
*/
|
|
8
|
+
/** Class used to return an icon. The icon is variable and can be changed in response to subscribed event ids.
|
|
9
|
+
* @public
|
|
10
|
+
*/
|
|
11
|
+
export class ConditionalIconItem {
|
|
12
|
+
/** Constructor for ConditionalIconItem
|
|
13
|
+
* @param iconGetter Function to retrieve the icon that matches the condition. Returns an IconSpec.
|
|
14
|
+
* @param syncEventIds The array of event ids to be monitored. These events are triggered when the condition(s) that control the icon change.
|
|
15
|
+
* @param value The default IconSpec. If this is not specified, the function is run to get the initial value.
|
|
16
|
+
*/
|
|
17
|
+
constructor(iconGetter, syncEventIds, value) {
|
|
18
|
+
this.iconGetter = iconGetter;
|
|
19
|
+
this.syncEventIds = syncEventIds;
|
|
20
|
+
this._value = value;
|
|
21
|
+
}
|
|
22
|
+
/** The current IconSpec according to conditions */
|
|
23
|
+
get value() {
|
|
24
|
+
/* istanbul ignore else */
|
|
25
|
+
if (undefined !== this._value)
|
|
26
|
+
return this._value;
|
|
27
|
+
this._value = this.iconGetter();
|
|
28
|
+
return this._value;
|
|
29
|
+
}
|
|
30
|
+
/** Called to update the value by running the iconGetter */
|
|
31
|
+
refresh() {
|
|
32
|
+
const newValue = this.iconGetter();
|
|
33
|
+
/* istanbul ignore else */
|
|
34
|
+
if (newValue !== this._value) {
|
|
35
|
+
this._value = newValue;
|
|
36
|
+
return true;
|
|
37
|
+
}
|
|
38
|
+
return false;
|
|
39
|
+
}
|
|
40
|
+
/** A helper function that updates the IconSpec value when the specified events are triggered */
|
|
41
|
+
static refreshValue(conditionalValue, eventIds) {
|
|
42
|
+
/* istanbul ignore else */
|
|
43
|
+
if (undefined === conditionalValue || !(conditionalValue instanceof ConditionalIconItem))
|
|
44
|
+
return false;
|
|
45
|
+
/* istanbul ignore else */
|
|
46
|
+
if (conditionalValue.syncEventIds.some((value) => eventIds.has(value.toLowerCase())))
|
|
47
|
+
return conditionalValue.refresh();
|
|
48
|
+
return false;
|
|
49
|
+
}
|
|
50
|
+
/** helper function to get the iconSpec from a ConditionIconItem as IconSpec | undefined*/
|
|
51
|
+
static getValue(conditionalValue) {
|
|
52
|
+
/* istanbul ignore else */
|
|
53
|
+
if (undefined === conditionalValue)
|
|
54
|
+
return undefined;
|
|
55
|
+
/* istanbul ignore else */
|
|
56
|
+
if (conditionalValue instanceof ConditionalIconItem)
|
|
57
|
+
return conditionalValue.value;
|
|
58
|
+
return conditionalValue;
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
61
|
//# sourceMappingURL=ConditionalIconItem.js.map
|
|
@@ -1,26 +1,26 @@
|
|
|
1
|
-
/** @packageDocumentation
|
|
2
|
-
* @module Icon
|
|
3
|
-
*/
|
|
4
|
-
import "./IconComponent.scss";
|
|
5
|
-
import * as React from "react";
|
|
6
|
-
import { ConditionalStringValue } from "@itwin/appui-abstract";
|
|
7
|
-
import { CommonProps } from "../utils/Props";
|
|
8
|
-
import { ConditionalIconItem } from "./ConditionalIconItem";
|
|
9
|
-
/** Prototype for an IconSpec which can be a string, ReactNode or ConditionalStringValue.
|
|
10
|
-
* @public
|
|
11
|
-
*/
|
|
12
|
-
export
|
|
13
|
-
/** Properties for the [[Icon]] React component
|
|
14
|
-
* @public
|
|
15
|
-
*/
|
|
16
|
-
export interface IconProps extends CommonProps {
|
|
17
|
-
/** CSS class name or SvgPath for icon. This is optional because it is improperly
|
|
18
|
-
* used to extend other interfaces and changing it would break existing API.
|
|
19
|
-
*/
|
|
20
|
-
iconSpec?: IconSpec;
|
|
21
|
-
}
|
|
22
|
-
/** Icon Functional component displays an icon based on an [[IconSpec]].
|
|
23
|
-
* @public
|
|
24
|
-
*/
|
|
25
|
-
export declare function Icon(props: IconProps): JSX.Element | null;
|
|
1
|
+
/** @packageDocumentation
|
|
2
|
+
* @module Icon
|
|
3
|
+
*/
|
|
4
|
+
import "./IconComponent.scss";
|
|
5
|
+
import * as React from "react";
|
|
6
|
+
import { ConditionalStringValue } from "@itwin/appui-abstract";
|
|
7
|
+
import { CommonProps } from "../utils/Props";
|
|
8
|
+
import { ConditionalIconItem } from "./ConditionalIconItem";
|
|
9
|
+
/** Prototype for an IconSpec which can be a string, ReactNode or ConditionalStringValue.
|
|
10
|
+
* @public
|
|
11
|
+
*/
|
|
12
|
+
export type IconSpec = string | ConditionalStringValue | React.ReactNode | ConditionalIconItem;
|
|
13
|
+
/** Properties for the [[Icon]] React component
|
|
14
|
+
* @public
|
|
15
|
+
*/
|
|
16
|
+
export interface IconProps extends CommonProps {
|
|
17
|
+
/** CSS class name or SvgPath for icon. This is optional because it is improperly
|
|
18
|
+
* used to extend other interfaces and changing it would break existing API.
|
|
19
|
+
*/
|
|
20
|
+
iconSpec?: IconSpec;
|
|
21
|
+
}
|
|
22
|
+
/** Icon Functional component displays an icon based on an [[IconSpec]].
|
|
23
|
+
* @public
|
|
24
|
+
*/
|
|
25
|
+
export declare function Icon(props: IconProps): JSX.Element | null;
|
|
26
26
|
//# sourceMappingURL=IconComponent.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"IconComponent.d.ts","sourceRoot":"","sources":["../../../../src/core-react/icons/IconComponent.tsx"],"names":[],"mappings":"AAKA;;GAEG;AAEH,OAAO,sBAAsB,CAAC;AAC9B,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,OAAO,EAAE,sBAAsB,EAAqB,MAAM,uBAAuB,CAAC;AAClF,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAE7C,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAE5D;;GAEG;AACH,
|
|
1
|
+
{"version":3,"file":"IconComponent.d.ts","sourceRoot":"","sources":["../../../../src/core-react/icons/IconComponent.tsx"],"names":[],"mappings":"AAKA;;GAEG;AAEH,OAAO,sBAAsB,CAAC;AAC9B,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,OAAO,EAAE,sBAAsB,EAAqB,MAAM,uBAAuB,CAAC;AAClF,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAE7C,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAE5D;;GAEG;AACH,MAAM,MAAM,QAAQ,GAAG,MAAM,GAAG,sBAAsB,GAAG,KAAK,CAAC,SAAS,GAAG,mBAAmB,CAAC;AAE/F;;GAEG;AACH,MAAM,WAAW,SAAU,SAAQ,WAAW;IAC5C;;OAEG;IACH,QAAQ,CAAC,EAAE,QAAQ,CAAC;CACrB;AAED;;GAEG;AACH,wBAAgB,IAAI,CAAC,KAAK,EAAE,SAAS,sBAwCpC"}
|
|
@@ -1,45 +1,45 @@
|
|
|
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
|
-
/* eslint-disable deprecation/deprecation */
|
|
6
|
-
/** @packageDocumentation
|
|
7
|
-
* @module Icon
|
|
8
|
-
*/
|
|
9
|
-
import "./IconComponent.scss";
|
|
10
|
-
import * as React from "react";
|
|
11
|
-
import classnames from "classnames";
|
|
12
|
-
import { ConditionalStringValue, IconSpecUtilities } from "@itwin/appui-abstract";
|
|
13
|
-
import DOMPurify, * as DOMPurifyNS from "dompurify";
|
|
14
|
-
/** Icon Functional component displays an icon based on an [[IconSpec]].
|
|
15
|
-
* @public
|
|
16
|
-
*/
|
|
17
|
-
export function Icon(props) {
|
|
18
|
-
if (!props.iconSpec)
|
|
19
|
-
return null;
|
|
20
|
-
const iconString = (typeof props.iconSpec === "string" || props.iconSpec instanceof ConditionalStringValue) ?
|
|
21
|
-
ConditionalStringValue.getValue(props.iconSpec) : undefined;
|
|
22
|
-
if (iconString) {
|
|
23
|
-
const webComponentString = IconSpecUtilities.getWebComponentSource(iconString);
|
|
24
|
-
if (webComponentString) {
|
|
25
|
-
const svgLoader = `<svg-loader src="${webComponentString}"></svg-loader>`;
|
|
26
|
-
const svgDiv = `<div>${svgLoader}</div>`;
|
|
27
|
-
// the esm build of dompurify has a default import but the cjs build does not
|
|
28
|
-
// if there is a default export, use it (likely esm), otherwise use the namespace
|
|
29
|
-
// istanbul ignore next
|
|
30
|
-
const sanitizer = DOMPurify
|
|
31
|
-
const sanitizerConfig = {
|
|
32
|
-
ALLOWED_TAGS: ["svg-loader"],
|
|
33
|
-
ADD_URI_SAFE_ATTR: webComponentString.startsWith("data:") ? ["src"] : [],
|
|
34
|
-
};
|
|
35
|
-
const sanitizedIconString = sanitizer.sanitize(svgDiv, sanitizerConfig);
|
|
36
|
-
// we can safely disable jam3/no-sanitizer-with-danger as we are sanitizing above
|
|
37
|
-
// eslint-disable-next-line @typescript-eslint/naming-convention, jam3/no-sanitizer-with-danger
|
|
38
|
-
const webComponentNode = React.createElement("div", { dangerouslySetInnerHTML: { __html: sanitizedIconString } });
|
|
39
|
-
return (React.createElement("i", { className: classnames("icon", "core-svg-icon", props.className) }, webComponentNode));
|
|
40
|
-
}
|
|
41
|
-
return (React.createElement("i", { className: classnames("icon", iconString, props.className), style: props.style }));
|
|
42
|
-
}
|
|
43
|
-
return (React.createElement("i", { className: classnames("icon", "core-svg-icon", props.className), style: props.style }, props.iconSpec instanceof ConditionalStringValue ? undefined : props.iconSpec));
|
|
44
|
-
}
|
|
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
|
+
/* eslint-disable deprecation/deprecation */
|
|
6
|
+
/** @packageDocumentation
|
|
7
|
+
* @module Icon
|
|
8
|
+
*/
|
|
9
|
+
import "./IconComponent.scss";
|
|
10
|
+
import * as React from "react";
|
|
11
|
+
import classnames from "classnames";
|
|
12
|
+
import { ConditionalStringValue, IconSpecUtilities } from "@itwin/appui-abstract";
|
|
13
|
+
import DOMPurify, * as DOMPurifyNS from "dompurify";
|
|
14
|
+
/** Icon Functional component displays an icon based on an [[IconSpec]].
|
|
15
|
+
* @public
|
|
16
|
+
*/
|
|
17
|
+
export function Icon(props) {
|
|
18
|
+
if (!props.iconSpec)
|
|
19
|
+
return null;
|
|
20
|
+
const iconString = (typeof props.iconSpec === "string" || props.iconSpec instanceof ConditionalStringValue) ?
|
|
21
|
+
ConditionalStringValue.getValue(props.iconSpec) : undefined;
|
|
22
|
+
if (iconString) {
|
|
23
|
+
const webComponentString = IconSpecUtilities.getWebComponentSource(iconString);
|
|
24
|
+
if (webComponentString) {
|
|
25
|
+
const svgLoader = `<svg-loader src="${webComponentString}"></svg-loader>`;
|
|
26
|
+
const svgDiv = `<div>${svgLoader}</div>`;
|
|
27
|
+
// the esm build of dompurify has a default import but the cjs build does not
|
|
28
|
+
// if there is a default export, use it (likely esm), otherwise use the namespace
|
|
29
|
+
// istanbul ignore next
|
|
30
|
+
const sanitizer = DOMPurify ?? DOMPurifyNS;
|
|
31
|
+
const sanitizerConfig = {
|
|
32
|
+
ALLOWED_TAGS: ["svg-loader"],
|
|
33
|
+
ADD_URI_SAFE_ATTR: webComponentString.startsWith("data:") ? ["src"] : [],
|
|
34
|
+
};
|
|
35
|
+
const sanitizedIconString = sanitizer.sanitize(svgDiv, sanitizerConfig);
|
|
36
|
+
// we can safely disable jam3/no-sanitizer-with-danger as we are sanitizing above
|
|
37
|
+
// eslint-disable-next-line @typescript-eslint/naming-convention, jam3/no-sanitizer-with-danger
|
|
38
|
+
const webComponentNode = React.createElement("div", { dangerouslySetInnerHTML: { __html: sanitizedIconString } });
|
|
39
|
+
return (React.createElement("i", { className: classnames("icon", "core-svg-icon", props.className) }, webComponentNode));
|
|
40
|
+
}
|
|
41
|
+
return (React.createElement("i", { className: classnames("icon", iconString, props.className), style: props.style }));
|
|
42
|
+
}
|
|
43
|
+
return (React.createElement("i", { className: classnames("icon", "core-svg-icon", props.className), style: props.style }, props.iconSpec instanceof ConditionalStringValue ? undefined : props.iconSpec));
|
|
44
|
+
}
|
|
45
45
|
//# sourceMappingURL=IconComponent.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"IconComponent.js","sourceRoot":"","sources":["../../../../src/core-react/icons/IconComponent.tsx"],"names":[],"mappings":"AAAA;;;+FAG+F;AAC/F,4CAA4C;AAC5C;;GAEG;AAEH,OAAO,sBAAsB,CAAC;AAC9B,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,UAAU,MAAM,YAAY,CAAC;AACpC,OAAO,EAAE,sBAAsB,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAElF,OAAO,SAAS,EAAE,KAAK,WAAW,MAAM,WAAW,CAAC;AAkBpD;;GAEG;AACH,MAAM,UAAU,IAAI,CAAC,KAAgB;IACnC,IAAI,CAAC,KAAK,CAAC,QAAQ;QACjB,OAAO,IAAI,CAAC;IAEd,MAAM,UAAU,GAAG,CAAC,OAAO,KAAK,CAAC,QAAQ,KAAK,QAAQ,IAAI,KAAK,CAAC,QAAQ,YAAY,sBAAsB,CAAC,CAAC,CAAC;QAC3G,sBAAsB,CAAC,QAAQ,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IAE9D,IAAI,UAAU,EAAE;QACd,MAAM,kBAAkB,GAAG,iBAAiB,CAAC,qBAAqB,CAAC,UAAU,CAAC,CAAC;QAC/E,IAAI,kBAAkB,EAAE;YACtB,MAAM,SAAS,GAAG,oBAAoB,kBAAkB,iBAAiB,CAAC;YAC1E,MAAM,MAAM,GAAG,QAAQ,SAAS,QAAQ,CAAC;YACzC,6EAA6E;YAC7E,iFAAiF;YACjF,uBAAuB;YACvB,MAAM,SAAS,GAAG,SAAS,
|
|
1
|
+
{"version":3,"file":"IconComponent.js","sourceRoot":"","sources":["../../../../src/core-react/icons/IconComponent.tsx"],"names":[],"mappings":"AAAA;;;+FAG+F;AAC/F,4CAA4C;AAC5C;;GAEG;AAEH,OAAO,sBAAsB,CAAC;AAC9B,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,UAAU,MAAM,YAAY,CAAC;AACpC,OAAO,EAAE,sBAAsB,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAElF,OAAO,SAAS,EAAE,KAAK,WAAW,MAAM,WAAW,CAAC;AAkBpD;;GAEG;AACH,MAAM,UAAU,IAAI,CAAC,KAAgB;IACnC,IAAI,CAAC,KAAK,CAAC,QAAQ;QACjB,OAAO,IAAI,CAAC;IAEd,MAAM,UAAU,GAAG,CAAC,OAAO,KAAK,CAAC,QAAQ,KAAK,QAAQ,IAAI,KAAK,CAAC,QAAQ,YAAY,sBAAsB,CAAC,CAAC,CAAC;QAC3G,sBAAsB,CAAC,QAAQ,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IAE9D,IAAI,UAAU,EAAE;QACd,MAAM,kBAAkB,GAAG,iBAAiB,CAAC,qBAAqB,CAAC,UAAU,CAAC,CAAC;QAC/E,IAAI,kBAAkB,EAAE;YACtB,MAAM,SAAS,GAAG,oBAAoB,kBAAkB,iBAAiB,CAAC;YAC1E,MAAM,MAAM,GAAG,QAAQ,SAAS,QAAQ,CAAC;YACzC,6EAA6E;YAC7E,iFAAiF;YACjF,uBAAuB;YACvB,MAAM,SAAS,GAAG,SAAS,IAAI,WAAW,CAAC;YAE3C,MAAM,eAAe,GAAG;gBACtB,YAAY,EAAE,CAAC,YAAY,CAAC;gBAC5B,iBAAiB,EAAE,kBAAkB,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE;aACzE,CAAC;YAEF,MAAM,mBAAmB,GAAG,SAAS,CAAC,QAAQ,CAAC,MAAM,EAAE,eAAe,CAAC,CAAC;YACxE,iFAAiF;YACjF,+FAA+F;YAC/F,MAAM,gBAAgB,GAAG,6BAAK,uBAAuB,EAAE,EAAE,MAAM,EAAE,mBAAmB,EAAE,GAAQ,CAAC;YAC/F,OAAO,CACL,2BAAG,SAAS,EAAE,UAAU,CAAC,MAAM,EAAE,eAAe,EAAE,KAAK,CAAC,SAAS,CAAC,IAC/D,gBAAgB,CACf,CACL,CAAC;SACH;QACD,OAAO,CAAC,2BAAG,SAAS,EAAE,UAAU,CAAC,MAAM,EAAE,UAAU,EAAE,KAAK,CAAC,SAAS,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,GAAI,CAAC,CAAC;KAChG;IAED,OAAO,CACL,2BAAG,SAAS,EAAE,UAAU,CAAC,MAAM,EAAE,eAAe,EAAE,KAAK,CAAC,SAAS,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,IACnF,KAAK,CAAC,QAAQ,YAAY,sBAAsB,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,QAAQ,CAC5E,CACL,CAAC;AACJ,CAAC","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/* eslint-disable deprecation/deprecation */\r\n/** @packageDocumentation\r\n * @module Icon\r\n */\r\n\r\nimport \"./IconComponent.scss\";\r\nimport * as React from \"react\";\r\nimport classnames from \"classnames\";\r\nimport { ConditionalStringValue, IconSpecUtilities } from \"@itwin/appui-abstract\";\r\nimport { CommonProps } from \"../utils/Props\";\r\nimport DOMPurify, * as DOMPurifyNS from \"dompurify\";\r\nimport { ConditionalIconItem } from \"./ConditionalIconItem\";\r\n\r\n/** Prototype for an IconSpec which can be a string, ReactNode or ConditionalStringValue.\r\n * @public\r\n */\r\nexport type IconSpec = string | ConditionalStringValue | React.ReactNode | ConditionalIconItem;\r\n\r\n/** Properties for the [[Icon]] React component\r\n * @public\r\n */\r\nexport interface IconProps extends CommonProps {\r\n /** CSS class name or SvgPath for icon. This is optional because it is improperly\r\n * used to extend other interfaces and changing it would break existing API.\r\n */\r\n iconSpec?: IconSpec;\r\n}\r\n\r\n/** Icon Functional component displays an icon based on an [[IconSpec]].\r\n * @public\r\n */\r\nexport function Icon(props: IconProps) {\r\n if (!props.iconSpec)\r\n return null;\r\n\r\n const iconString = (typeof props.iconSpec === \"string\" || props.iconSpec instanceof ConditionalStringValue) ?\r\n ConditionalStringValue.getValue(props.iconSpec) : undefined;\r\n\r\n if (iconString) {\r\n const webComponentString = IconSpecUtilities.getWebComponentSource(iconString);\r\n if (webComponentString) {\r\n const svgLoader = `<svg-loader src=\"${webComponentString}\"></svg-loader>`;\r\n const svgDiv = `<div>${svgLoader}</div>`;\r\n // the esm build of dompurify has a default import but the cjs build does not\r\n // if there is a default export, use it (likely esm), otherwise use the namespace\r\n // istanbul ignore next\r\n const sanitizer = DOMPurify ?? DOMPurifyNS;\r\n\r\n const sanitizerConfig = {\r\n ALLOWED_TAGS: [\"svg-loader\"],\r\n ADD_URI_SAFE_ATTR: webComponentString.startsWith(\"data:\") ? [\"src\"] : [],\r\n };\r\n\r\n const sanitizedIconString = sanitizer.sanitize(svgDiv, sanitizerConfig);\r\n // we can safely disable jam3/no-sanitizer-with-danger as we are sanitizing above\r\n // eslint-disable-next-line @typescript-eslint/naming-convention, jam3/no-sanitizer-with-danger\r\n const webComponentNode = <div dangerouslySetInnerHTML={{ __html: sanitizedIconString }}></div>;\r\n return (\r\n <i className={classnames(\"icon\", \"core-svg-icon\", props.className)} >\r\n {webComponentNode}\r\n </i>\r\n );\r\n }\r\n return (<i className={classnames(\"icon\", iconString, props.className)} style={props.style} />);\r\n }\r\n\r\n return (\r\n <i className={classnames(\"icon\", \"core-svg-icon\", props.className)} style={props.style}>\r\n {props.iconSpec instanceof ConditionalStringValue ? undefined : props.iconSpec}\r\n </i>\r\n );\r\n}\r\n"]}
|
|
@@ -1,24 +1,24 @@
|
|
|
1
|
-
/** @packageDocumentation
|
|
2
|
-
* @module Icon
|
|
3
|
-
*/
|
|
4
|
-
import "./SvgPath.scss";
|
|
5
|
-
import * as React from "react";
|
|
6
|
-
import { CommonProps } from "../utils/Props";
|
|
7
|
-
/** Properties of [[SvgPath]] component.
|
|
8
|
-
* @public
|
|
9
|
-
*/
|
|
10
|
-
export interface SvgPathProps extends CommonProps {
|
|
11
|
-
/** Svg graphics paths */
|
|
12
|
-
paths: string[];
|
|
13
|
-
/** Svg viewBox width */
|
|
14
|
-
viewBoxWidth: number;
|
|
15
|
-
/** Svg viewBox height */
|
|
16
|
-
viewBoxHeight: number;
|
|
17
|
-
}
|
|
18
|
-
/** Svg element wrapper with specified Svg paths.
|
|
19
|
-
* @public
|
|
20
|
-
*/
|
|
21
|
-
export declare class SvgPath extends React.PureComponent<SvgPathProps> {
|
|
22
|
-
render(): JSX.Element;
|
|
23
|
-
}
|
|
1
|
+
/** @packageDocumentation
|
|
2
|
+
* @module Icon
|
|
3
|
+
*/
|
|
4
|
+
import "./SvgPath.scss";
|
|
5
|
+
import * as React from "react";
|
|
6
|
+
import { CommonProps } from "../utils/Props";
|
|
7
|
+
/** Properties of [[SvgPath]] component.
|
|
8
|
+
* @public
|
|
9
|
+
*/
|
|
10
|
+
export interface SvgPathProps extends CommonProps {
|
|
11
|
+
/** Svg graphics paths */
|
|
12
|
+
paths: string[];
|
|
13
|
+
/** Svg viewBox width */
|
|
14
|
+
viewBoxWidth: number;
|
|
15
|
+
/** Svg viewBox height */
|
|
16
|
+
viewBoxHeight: number;
|
|
17
|
+
}
|
|
18
|
+
/** Svg element wrapper with specified Svg paths.
|
|
19
|
+
* @public
|
|
20
|
+
*/
|
|
21
|
+
export declare class SvgPath extends React.PureComponent<SvgPathProps> {
|
|
22
|
+
render(): JSX.Element;
|
|
23
|
+
}
|
|
24
24
|
//# sourceMappingURL=SvgPath.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 Icon
|
|
7
|
-
*/
|
|
8
|
-
import "./SvgPath.scss";
|
|
9
|
-
import classnames from "classnames";
|
|
10
|
-
import * as React from "react";
|
|
11
|
-
/** Svg element wrapper with specified Svg paths.
|
|
12
|
-
* @public
|
|
13
|
-
*/
|
|
14
|
-
export class SvgPath extends React.PureComponent {
|
|
15
|
-
render() {
|
|
16
|
-
const className = classnames("core-icons-svgPath", this.props.className);
|
|
17
|
-
const viewBox = `0 0 ${this.props.viewBoxWidth} ${this.props.viewBoxHeight}`;
|
|
18
|
-
return (React.createElement("svg", { className: className, style: this.props.style, width: "100%", height: "100%", viewBox: viewBox },
|
|
19
|
-
React.createElement("g", null, this.props.paths.map((path, index) => {
|
|
20
|
-
return (React.createElement("path", { d: path, key: index }));
|
|
21
|
-
}))));
|
|
22
|
-
}
|
|
23
|
-
}
|
|
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 Icon
|
|
7
|
+
*/
|
|
8
|
+
import "./SvgPath.scss";
|
|
9
|
+
import classnames from "classnames";
|
|
10
|
+
import * as React from "react";
|
|
11
|
+
/** Svg element wrapper with specified Svg paths.
|
|
12
|
+
* @public
|
|
13
|
+
*/
|
|
14
|
+
export class SvgPath extends React.PureComponent {
|
|
15
|
+
render() {
|
|
16
|
+
const className = classnames("core-icons-svgPath", this.props.className);
|
|
17
|
+
const viewBox = `0 0 ${this.props.viewBoxWidth} ${this.props.viewBoxHeight}`;
|
|
18
|
+
return (React.createElement("svg", { className: className, style: this.props.style, width: "100%", height: "100%", viewBox: viewBox },
|
|
19
|
+
React.createElement("g", null, this.props.paths.map((path, index) => {
|
|
20
|
+
return (React.createElement("path", { d: path, key: index }));
|
|
21
|
+
}))));
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
24
|
//# sourceMappingURL=SvgPath.js.map
|
|
@@ -1,26 +1,26 @@
|
|
|
1
|
-
/** @packageDocumentation
|
|
2
|
-
* @module Icon
|
|
3
|
-
*/
|
|
4
|
-
import "./WebFontIcon.scss";
|
|
5
|
-
import * as React from "react";
|
|
6
|
-
import { CommonProps } from "../utils/Props";
|
|
7
|
-
/** Properties for the [[WebFontIcon]] React component
|
|
8
|
-
* @public
|
|
9
|
-
*/
|
|
10
|
-
export interface WebFontIconProps extends CommonProps {
|
|
11
|
-
/** Bentley Web Font icon name */
|
|
12
|
-
iconName: string;
|
|
13
|
-
/** Click event handler */
|
|
14
|
-
onClick?: React.MouseEventHandler<HTMLSpanElement>;
|
|
15
|
-
/** Text that will be shown when hovered on the icon. */
|
|
16
|
-
title?: string;
|
|
17
|
-
/** Size of the icon */
|
|
18
|
-
iconSize?: "x-small" | "small" | "medium" | "large" | "x-large";
|
|
19
|
-
/** Class name of icon used for custom font-family icons */
|
|
20
|
-
iconClassName?: string;
|
|
21
|
-
}
|
|
22
|
-
/** WebFontIcon React component
|
|
23
|
-
* @public
|
|
24
|
-
*/
|
|
25
|
-
export declare function WebFontIcon(props: WebFontIconProps): JSX.Element;
|
|
1
|
+
/** @packageDocumentation
|
|
2
|
+
* @module Icon
|
|
3
|
+
*/
|
|
4
|
+
import "./WebFontIcon.scss";
|
|
5
|
+
import * as React from "react";
|
|
6
|
+
import { CommonProps } from "../utils/Props";
|
|
7
|
+
/** Properties for the [[WebFontIcon]] React component
|
|
8
|
+
* @public
|
|
9
|
+
*/
|
|
10
|
+
export interface WebFontIconProps extends CommonProps {
|
|
11
|
+
/** Bentley Web Font icon name */
|
|
12
|
+
iconName: string;
|
|
13
|
+
/** Click event handler */
|
|
14
|
+
onClick?: React.MouseEventHandler<HTMLSpanElement>;
|
|
15
|
+
/** Text that will be shown when hovered on the icon. */
|
|
16
|
+
title?: string;
|
|
17
|
+
/** Size of the icon */
|
|
18
|
+
iconSize?: "x-small" | "small" | "medium" | "large" | "x-large";
|
|
19
|
+
/** Class name of icon used for custom font-family icons */
|
|
20
|
+
iconClassName?: string;
|
|
21
|
+
}
|
|
22
|
+
/** WebFontIcon React component
|
|
23
|
+
* @public
|
|
24
|
+
*/
|
|
25
|
+
export declare function WebFontIcon(props: WebFontIconProps): JSX.Element;
|
|
26
26
|
//# sourceMappingURL=WebFontIcon.d.ts.map
|
|
@@ -1,18 +1,18 @@
|
|
|
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 Icon
|
|
7
|
-
*/
|
|
8
|
-
import "./WebFontIcon.scss";
|
|
9
|
-
import classnames from "classnames";
|
|
10
|
-
import * as React from "react";
|
|
11
|
-
/** WebFontIcon React component
|
|
12
|
-
* @public
|
|
13
|
-
*/
|
|
14
|
-
export function WebFontIcon(props) {
|
|
15
|
-
const className = classnames(props.iconClassName || "bui-webfont-icon", props.iconName, props.iconSize ? `uicore-icons-${props.iconSize}` : undefined, props.className);
|
|
16
|
-
return (React.createElement("span", { className: className, title: props.title, style: props.style, onClick: props.onClick, role: "presentation" }));
|
|
17
|
-
}
|
|
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 Icon
|
|
7
|
+
*/
|
|
8
|
+
import "./WebFontIcon.scss";
|
|
9
|
+
import classnames from "classnames";
|
|
10
|
+
import * as React from "react";
|
|
11
|
+
/** WebFontIcon React component
|
|
12
|
+
* @public
|
|
13
|
+
*/
|
|
14
|
+
export function WebFontIcon(props) {
|
|
15
|
+
const className = classnames(props.iconClassName || "bui-webfont-icon", props.iconName, props.iconSize ? `uicore-icons-${props.iconSize}` : undefined, props.className);
|
|
16
|
+
return (React.createElement("span", { className: className, title: props.title, style: props.style, onClick: props.onClick, role: "presentation" }));
|
|
17
|
+
}
|
|
18
18
|
//# sourceMappingURL=WebFontIcon.js.map
|