@itwin/core-react 4.1.0-dev.0 → 4.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +39 -7
- package/lib/cjs/core-react/autosuggest/AutoSuggest.d.ts +1 -1
- package/lib/cjs/core-react/autosuggest/AutoSuggest.d.ts.map +1 -1
- package/lib/cjs/core-react/autosuggest/AutoSuggest.js.map +1 -1
- package/lib/cjs/core-react/badge/Badge.d.ts +1 -1
- package/lib/cjs/core-react/badge/Badge.d.ts.map +1 -1
- package/lib/cjs/core-react/badge/Badge.js.map +1 -1
- package/lib/cjs/core-react/badge/BetaBadge.d.ts +1 -1
- package/lib/cjs/core-react/badge/BetaBadge.d.ts.map +1 -1
- package/lib/cjs/core-react/badge/BetaBadge.js.map +1 -1
- package/lib/cjs/core-react/badge/NewBadge.d.ts +1 -1
- package/lib/cjs/core-react/badge/NewBadge.d.ts.map +1 -1
- package/lib/cjs/core-react/badge/NewBadge.js.map +1 -1
- package/lib/cjs/core-react/base/Centered.d.ts +1 -1
- package/lib/cjs/core-react/base/Centered.d.ts.map +1 -1
- package/lib/cjs/core-react/base/Centered.js.map +1 -1
- package/lib/cjs/core-react/base/Div.d.ts +1 -1
- package/lib/cjs/core-react/base/Div.d.ts.map +1 -1
- package/lib/cjs/core-react/base/Div.js.map +1 -1
- package/lib/cjs/core-react/base/DivWithOutsideClick.d.ts +1 -1
- package/lib/cjs/core-react/base/DivWithOutsideClick.d.ts.map +1 -1
- package/lib/cjs/core-react/base/DivWithOutsideClick.js.map +1 -1
- package/lib/cjs/core-react/base/FillCentered.d.ts +1 -1
- package/lib/cjs/core-react/base/FillCentered.d.ts.map +1 -1
- package/lib/cjs/core-react/base/FillCentered.js.map +1 -1
- package/lib/cjs/core-react/base/FlexWrapContainer.d.ts +1 -1
- package/lib/cjs/core-react/base/FlexWrapContainer.d.ts.map +1 -1
- package/lib/cjs/core-react/base/FlexWrapContainer.js.map +1 -1
- package/lib/cjs/core-react/base/Gap.d.ts +1 -1
- package/lib/cjs/core-react/base/Gap.d.ts.map +1 -1
- package/lib/cjs/core-react/base/Gap.js +1 -1
- package/lib/cjs/core-react/base/Gap.js.map +1 -1
- package/lib/cjs/core-react/base/ScrollView.d.ts +1 -1
- package/lib/cjs/core-react/base/ScrollView.d.ts.map +1 -1
- package/lib/cjs/core-react/base/ScrollView.js.map +1 -1
- package/lib/cjs/core-react/checklistbox/CheckListBox.d.ts +1 -1
- package/lib/cjs/core-react/checklistbox/CheckListBox.d.ts.map +1 -1
- package/lib/cjs/core-react/checklistbox/CheckListBox.js.map +1 -1
- package/lib/cjs/core-react/contextmenu/ContextMenu.d.ts +1 -1
- package/lib/cjs/core-react/contextmenu/ContextMenu.d.ts.map +1 -1
- package/lib/cjs/core-react/contextmenu/ContextMenu.js +2 -1
- package/lib/cjs/core-react/contextmenu/ContextMenu.js.map +1 -1
- package/lib/cjs/core-react/contextmenu/ContextMenuDivider.d.ts +1 -1
- package/lib/cjs/core-react/contextmenu/ContextMenuDivider.d.ts.map +1 -1
- package/lib/cjs/core-react/contextmenu/ContextMenuDivider.js.map +1 -1
- package/lib/cjs/core-react/contextmenu/ContextMenuItem.d.ts +5 -4
- package/lib/cjs/core-react/contextmenu/ContextMenuItem.d.ts.map +1 -1
- package/lib/cjs/core-react/contextmenu/ContextMenuItem.js.map +1 -1
- package/lib/cjs/core-react/contextmenu/ContextSubMenu.d.ts +3 -3
- package/lib/cjs/core-react/contextmenu/ContextSubMenu.d.ts.map +1 -1
- package/lib/cjs/core-react/contextmenu/ContextSubMenu.js.map +1 -1
- package/lib/cjs/core-react/contextmenu/GlobalContextMenu.d.ts +1 -1
- package/lib/cjs/core-react/contextmenu/GlobalContextMenu.d.ts.map +1 -1
- package/lib/cjs/core-react/contextmenu/GlobalContextMenu.js +5 -3
- package/lib/cjs/core-react/contextmenu/GlobalContextMenu.js.map +1 -1
- package/lib/cjs/core-react/contextmenu/PopupContextMenu.d.ts +1 -1
- package/lib/cjs/core-react/contextmenu/PopupContextMenu.d.ts.map +1 -1
- package/lib/cjs/core-react/contextmenu/PopupContextMenu.js.map +1 -1
- package/lib/cjs/core-react/dialog/Dialog.d.ts +3 -3
- package/lib/cjs/core-react/dialog/Dialog.d.ts.map +1 -1
- package/lib/cjs/core-react/dialog/Dialog.js +2 -1
- package/lib/cjs/core-react/dialog/Dialog.js.map +1 -1
- package/lib/cjs/core-react/dialog/GlobalDialog.d.ts +1 -1
- package/lib/cjs/core-react/dialog/GlobalDialog.d.ts.map +1 -1
- package/lib/cjs/core-react/dialog/GlobalDialog.js +2 -1
- package/lib/cjs/core-react/dialog/GlobalDialog.js.map +1 -1
- package/lib/cjs/core-react/elementseparator/ElementSeparator.d.ts +1 -1
- package/lib/cjs/core-react/elementseparator/ElementSeparator.d.ts.map +1 -1
- package/lib/cjs/core-react/elementseparator/ElementSeparator.js +2 -2
- package/lib/cjs/core-react/elementseparator/ElementSeparator.js.map +1 -1
- package/lib/cjs/core-react/expandable/ExpandableList.d.ts +1 -1
- package/lib/cjs/core-react/expandable/ExpandableList.d.ts.map +1 -1
- package/lib/cjs/core-react/expandable/ExpandableList.js.map +1 -1
- package/lib/cjs/core-react/hocs/withOnOutsideClick.js +2 -1
- package/lib/cjs/core-react/hocs/withOnOutsideClick.js.map +1 -1
- package/lib/cjs/core-react/icons/ConditionalIconItem.d.ts +1 -1
- package/lib/cjs/core-react/icons/ConditionalIconItem.d.ts.map +1 -1
- package/lib/cjs/core-react/icons/ConditionalIconItem.js.map +1 -1
- package/lib/cjs/core-react/icons/IconComponent.d.ts +2 -2
- package/lib/cjs/core-react/icons/IconComponent.d.ts.map +1 -1
- package/lib/cjs/core-react/icons/IconComponent.js +1 -1
- package/lib/cjs/core-react/icons/IconComponent.js.map +1 -1
- package/lib/cjs/core-react/icons/SvgPath.d.ts +1 -1
- package/lib/cjs/core-react/icons/SvgPath.d.ts.map +1 -1
- package/lib/cjs/core-react/icons/SvgPath.js.map +1 -1
- package/lib/cjs/core-react/icons/WebFontIcon.d.ts +1 -1
- package/lib/cjs/core-react/icons/WebFontIcon.d.ts.map +1 -1
- package/lib/cjs/core-react/icons/WebFontIcon.js.map +1 -1
- package/lib/cjs/core-react/imagecheckbox/ImageCheckBox.d.ts +1 -1
- package/lib/cjs/core-react/imagecheckbox/ImageCheckBox.d.ts.map +1 -1
- package/lib/cjs/core-react/imagecheckbox/ImageCheckBox.js.map +1 -1
- package/lib/cjs/core-react/inputs/Input.d.ts +1 -1
- package/lib/cjs/core-react/inputs/Input.d.ts.map +1 -1
- package/lib/cjs/core-react/inputs/Input.js.map +1 -1
- package/lib/cjs/core-react/inputs/InputLabel.d.ts +2 -2
- package/lib/cjs/core-react/inputs/InputLabel.d.ts.map +1 -1
- package/lib/cjs/core-react/inputs/InputLabel.js.map +1 -1
- package/lib/cjs/core-react/inputs/LabeledComponentProps.d.ts +2 -2
- package/lib/cjs/core-react/inputs/LabeledComponentProps.d.ts.map +1 -1
- package/lib/cjs/core-react/inputs/LabeledComponentProps.js.map +1 -1
- package/lib/cjs/core-react/inputs/iconinput/IconInput.d.ts +1 -1
- package/lib/cjs/core-react/inputs/iconinput/IconInput.d.ts.map +1 -1
- package/lib/cjs/core-react/inputs/iconinput/IconInput.js.map +1 -1
- package/lib/cjs/core-react/inputs/numberinput/NumberInput.d.ts +1 -1
- package/lib/cjs/core-react/inputs/numberinput/NumberInput.d.ts.map +1 -1
- package/lib/cjs/core-react/inputs/numberinput/NumberInput.js.map +1 -1
- package/lib/cjs/core-react/listbox/Listbox.js +3 -2
- package/lib/cjs/core-react/listbox/Listbox.js.map +1 -1
- package/lib/cjs/core-react/loading/LoadingBar.d.ts +1 -1
- package/lib/cjs/core-react/loading/LoadingBar.d.ts.map +1 -1
- package/lib/cjs/core-react/loading/LoadingBar.js.map +1 -1
- package/lib/cjs/core-react/loading/LoadingPrompt.d.ts +1 -1
- package/lib/cjs/core-react/loading/LoadingPrompt.d.ts.map +1 -1
- package/lib/cjs/core-react/loading/LoadingPrompt.js.map +1 -1
- package/lib/cjs/core-react/loading/LoadingSpinner.d.ts +1 -1
- package/lib/cjs/core-react/loading/LoadingSpinner.d.ts.map +1 -1
- package/lib/cjs/core-react/loading/LoadingSpinner.js.map +1 -1
- package/lib/cjs/core-react/loading/LoadingStatus.d.ts +1 -1
- package/lib/cjs/core-react/loading/LoadingStatus.d.ts.map +1 -1
- package/lib/cjs/core-react/loading/LoadingStatus.js.map +1 -1
- package/lib/cjs/core-react/messagebox/MessageBox.d.ts +4 -3
- package/lib/cjs/core-react/messagebox/MessageBox.d.ts.map +1 -1
- package/lib/cjs/core-react/messagebox/MessageBox.js.map +1 -1
- package/lib/cjs/core-react/notification/MessageRenderer.d.ts +2 -2
- package/lib/cjs/core-react/notification/MessageRenderer.d.ts.map +1 -1
- package/lib/cjs/core-react/notification/MessageRenderer.js +1 -1
- package/lib/cjs/core-react/notification/MessageRenderer.js.map +1 -1
- package/lib/cjs/core-react/notification/MessageType.d.ts +1 -1
- package/lib/cjs/core-react/notification/MessageType.d.ts.map +1 -1
- package/lib/cjs/core-react/notification/MessageType.js.map +1 -1
- package/lib/cjs/core-react/popup/Popup.d.ts +1 -1
- package/lib/cjs/core-react/popup/Popup.d.ts.map +1 -1
- package/lib/cjs/core-react/popup/Popup.js +8 -4
- package/lib/cjs/core-react/popup/Popup.js.map +1 -1
- package/lib/cjs/core-react/radialmenu/RadialMenu.d.ts +2 -2
- package/lib/cjs/core-react/radialmenu/RadialMenu.d.ts.map +1 -1
- package/lib/cjs/core-react/radialmenu/RadialMenu.js.map +1 -1
- package/lib/cjs/core-react/searchbox/SearchBox.d.ts +1 -1
- package/lib/cjs/core-react/searchbox/SearchBox.d.ts.map +1 -1
- package/lib/cjs/core-react/searchbox/SearchBox.js.map +1 -1
- package/lib/cjs/core-react/settings/SettingsContainer.d.ts +1 -1
- package/lib/cjs/core-react/settings/SettingsContainer.d.ts.map +1 -1
- package/lib/cjs/core-react/settings/SettingsContainer.js.map +1 -1
- package/lib/cjs/core-react/settings/SettingsManager.d.ts +1 -1
- package/lib/cjs/core-react/settings/SettingsManager.d.ts.map +1 -1
- package/lib/cjs/core-react/settings/SettingsManager.js.map +1 -1
- package/lib/cjs/core-react/tabs/Tabs.d.ts +1 -1
- package/lib/cjs/core-react/tabs/Tabs.d.ts.map +1 -1
- package/lib/cjs/core-react/tabs/Tabs.js.map +1 -1
- package/lib/cjs/core-react/tabs/VerticalTabs.d.ts +1 -1
- package/lib/cjs/core-react/tabs/VerticalTabs.d.ts.map +1 -1
- package/lib/cjs/core-react/tabs/VerticalTabs.js.map +1 -1
- package/lib/cjs/core-react/text/BlockText.d.ts +1 -1
- package/lib/cjs/core-react/text/BlockText.d.ts.map +1 -1
- package/lib/cjs/core-react/text/BlockText.js.map +1 -1
- package/lib/cjs/core-react/text/BodyText.d.ts +1 -1
- package/lib/cjs/core-react/text/BodyText.d.ts.map +1 -1
- package/lib/cjs/core-react/text/BodyText.js.map +1 -1
- package/lib/cjs/core-react/text/DisabledText.d.ts +1 -1
- package/lib/cjs/core-react/text/DisabledText.d.ts.map +1 -1
- package/lib/cjs/core-react/text/DisabledText.js.map +1 -1
- package/lib/cjs/core-react/text/FilteredText.d.ts +2 -2
- package/lib/cjs/core-react/text/FilteredText.d.ts.map +1 -1
- package/lib/cjs/core-react/text/FilteredText.js.map +1 -1
- package/lib/cjs/core-react/text/MutedText.d.ts +1 -1
- package/lib/cjs/core-react/text/MutedText.d.ts.map +1 -1
- package/lib/cjs/core-react/text/MutedText.js.map +1 -1
- package/lib/cjs/core-react/text/StyledText.d.ts +1 -1
- package/lib/cjs/core-react/text/StyledText.d.ts.map +1 -1
- package/lib/cjs/core-react/text/StyledText.js.map +1 -1
- package/lib/cjs/core-react/text/TextProps.d.ts +2 -2
- package/lib/cjs/core-react/text/TextProps.d.ts.map +1 -1
- package/lib/cjs/core-react/text/TextProps.js.map +1 -1
- package/lib/cjs/core-react/tree/Branch.d.ts +1 -1
- package/lib/cjs/core-react/tree/Branch.d.ts.map +1 -1
- package/lib/cjs/core-react/tree/Branch.js.map +1 -1
- package/lib/cjs/core-react/tree/ExpansionToggle.d.ts +1 -1
- package/lib/cjs/core-react/tree/ExpansionToggle.d.ts.map +1 -1
- package/lib/cjs/core-react/tree/ExpansionToggle.js.map +1 -1
- package/lib/cjs/core-react/tree/Node.d.ts +3 -3
- package/lib/cjs/core-react/tree/Node.d.ts.map +1 -1
- package/lib/cjs/core-react/tree/Node.js +2 -1
- package/lib/cjs/core-react/tree/Node.js.map +1 -1
- package/lib/cjs/core-react/tree/Node.scss +7 -7
- package/lib/cjs/core-react/tree/Placeholder.d.ts +1 -1
- package/lib/cjs/core-react/tree/Placeholder.d.ts.map +1 -1
- package/lib/cjs/core-react/tree/Placeholder.js.map +1 -1
- package/lib/cjs/core-react/tree/Tree.d.ts +1 -1
- package/lib/cjs/core-react/tree/Tree.d.ts.map +1 -1
- package/lib/cjs/core-react/tree/Tree.js.map +1 -1
- package/lib/cjs/core-react/uistate/LocalStateStorage.d.ts +1 -1
- package/lib/cjs/core-react/uistate/LocalStateStorage.d.ts.map +1 -1
- package/lib/cjs/core-react/uistate/LocalStateStorage.js.map +1 -1
- package/lib/cjs/core-react/uistate/UiStateEntry.d.ts +1 -1
- package/lib/cjs/core-react/uistate/UiStateEntry.d.ts.map +1 -1
- package/lib/cjs/core-react/uistate/UiStateEntry.js.map +1 -1
- package/lib/cjs/core-react/utils/IconHelper.d.ts +1 -1
- package/lib/cjs/core-react/utils/IconHelper.d.ts.map +1 -1
- package/lib/cjs/core-react/utils/IconHelper.js.map +1 -1
- package/lib/cjs/core-react/utils/IconWebComponent.js +1 -1
- package/lib/cjs/core-react/utils/IconWebComponent.js.map +1 -1
- package/lib/cjs/core-react/utils/Point.d.ts +1 -1
- package/lib/cjs/core-react/utils/Point.d.ts.map +1 -1
- package/lib/cjs/core-react/utils/Point.js.map +1 -1
- package/lib/cjs/core-react/utils/Props.d.ts +2 -2
- package/lib/cjs/core-react/utils/Props.d.ts.map +1 -1
- package/lib/cjs/core-react/utils/Props.js.map +1 -1
- package/lib/cjs/core-react/utils/Rectangle.d.ts +3 -2
- package/lib/cjs/core-react/utils/Rectangle.d.ts.map +1 -1
- package/lib/cjs/core-react/utils/Rectangle.js.map +1 -1
- package/lib/cjs/core-react/utils/ScrollPositionMaintainer.d.ts +1 -1
- package/lib/cjs/core-react/utils/ScrollPositionMaintainer.d.ts.map +1 -1
- package/lib/cjs/core-react/utils/ScrollPositionMaintainer.js.map +1 -1
- package/lib/cjs/core-react/utils/getCssVariable.js +1 -1
- package/lib/cjs/core-react/utils/getCssVariable.js.map +1 -1
- package/lib/cjs/core-react/utils/getDisplayName.d.ts +1 -1
- package/lib/cjs/core-react/utils/getDisplayName.d.ts.map +1 -1
- package/lib/cjs/core-react/utils/getDisplayName.js.map +1 -1
- package/lib/cjs/core-react/utils/hooks/ResizeObserverPolyfill.js.map +1 -1
- package/lib/cjs/core-react/utils/hooks/useCrossOriginPopup.js +2 -1
- package/lib/cjs/core-react/utils/hooks/useCrossOriginPopup.js.map +1 -1
- package/lib/cjs/core-react/utils/hooks/useDisposable.d.ts +1 -1
- package/lib/cjs/core-react/utils/hooks/useDisposable.d.ts.map +1 -1
- package/lib/cjs/core-react/utils/hooks/useDisposable.js.map +1 -1
- package/lib/cjs/core-react/utils/hooks/useResizeObserver.js +13 -8
- package/lib/cjs/core-react/utils/hooks/useResizeObserver.js.map +1 -1
- package/lib/esm/core-react/autosuggest/AutoSuggest.d.ts +1 -1
- package/lib/esm/core-react/autosuggest/AutoSuggest.d.ts.map +1 -1
- package/lib/esm/core-react/autosuggest/AutoSuggest.js.map +1 -1
- package/lib/esm/core-react/badge/Badge.d.ts +1 -1
- package/lib/esm/core-react/badge/Badge.d.ts.map +1 -1
- package/lib/esm/core-react/badge/Badge.js.map +1 -1
- package/lib/esm/core-react/badge/BetaBadge.d.ts +1 -1
- package/lib/esm/core-react/badge/BetaBadge.d.ts.map +1 -1
- package/lib/esm/core-react/badge/BetaBadge.js.map +1 -1
- package/lib/esm/core-react/badge/NewBadge.d.ts +1 -1
- package/lib/esm/core-react/badge/NewBadge.d.ts.map +1 -1
- package/lib/esm/core-react/badge/NewBadge.js.map +1 -1
- package/lib/esm/core-react/base/Centered.d.ts +1 -1
- package/lib/esm/core-react/base/Centered.d.ts.map +1 -1
- package/lib/esm/core-react/base/Centered.js.map +1 -1
- package/lib/esm/core-react/base/Div.d.ts +1 -1
- package/lib/esm/core-react/base/Div.d.ts.map +1 -1
- package/lib/esm/core-react/base/Div.js.map +1 -1
- package/lib/esm/core-react/base/DivWithOutsideClick.d.ts +1 -1
- package/lib/esm/core-react/base/DivWithOutsideClick.d.ts.map +1 -1
- package/lib/esm/core-react/base/DivWithOutsideClick.js.map +1 -1
- package/lib/esm/core-react/base/FillCentered.d.ts +1 -1
- package/lib/esm/core-react/base/FillCentered.d.ts.map +1 -1
- package/lib/esm/core-react/base/FillCentered.js.map +1 -1
- package/lib/esm/core-react/base/FlexWrapContainer.d.ts +1 -1
- package/lib/esm/core-react/base/FlexWrapContainer.d.ts.map +1 -1
- package/lib/esm/core-react/base/FlexWrapContainer.js.map +1 -1
- package/lib/esm/core-react/base/Gap.d.ts +1 -1
- package/lib/esm/core-react/base/Gap.d.ts.map +1 -1
- package/lib/esm/core-react/base/Gap.js +1 -1
- package/lib/esm/core-react/base/Gap.js.map +1 -1
- package/lib/esm/core-react/base/ScrollView.d.ts +1 -1
- package/lib/esm/core-react/base/ScrollView.d.ts.map +1 -1
- package/lib/esm/core-react/base/ScrollView.js.map +1 -1
- package/lib/esm/core-react/checklistbox/CheckListBox.d.ts +1 -1
- package/lib/esm/core-react/checklistbox/CheckListBox.d.ts.map +1 -1
- package/lib/esm/core-react/checklistbox/CheckListBox.js.map +1 -1
- package/lib/esm/core-react/contextmenu/ContextMenu.d.ts +1 -1
- package/lib/esm/core-react/contextmenu/ContextMenu.d.ts.map +1 -1
- package/lib/esm/core-react/contextmenu/ContextMenu.js +2 -1
- package/lib/esm/core-react/contextmenu/ContextMenu.js.map +1 -1
- package/lib/esm/core-react/contextmenu/ContextMenuDivider.d.ts +1 -1
- package/lib/esm/core-react/contextmenu/ContextMenuDivider.d.ts.map +1 -1
- package/lib/esm/core-react/contextmenu/ContextMenuDivider.js.map +1 -1
- package/lib/esm/core-react/contextmenu/ContextMenuItem.d.ts +5 -4
- package/lib/esm/core-react/contextmenu/ContextMenuItem.d.ts.map +1 -1
- package/lib/esm/core-react/contextmenu/ContextMenuItem.js.map +1 -1
- package/lib/esm/core-react/contextmenu/ContextSubMenu.d.ts +3 -3
- package/lib/esm/core-react/contextmenu/ContextSubMenu.d.ts.map +1 -1
- package/lib/esm/core-react/contextmenu/ContextSubMenu.js.map +1 -1
- package/lib/esm/core-react/contextmenu/GlobalContextMenu.d.ts +1 -1
- package/lib/esm/core-react/contextmenu/GlobalContextMenu.d.ts.map +1 -1
- package/lib/esm/core-react/contextmenu/GlobalContextMenu.js +5 -3
- package/lib/esm/core-react/contextmenu/GlobalContextMenu.js.map +1 -1
- package/lib/esm/core-react/contextmenu/PopupContextMenu.d.ts +1 -1
- package/lib/esm/core-react/contextmenu/PopupContextMenu.d.ts.map +1 -1
- package/lib/esm/core-react/contextmenu/PopupContextMenu.js.map +1 -1
- package/lib/esm/core-react/dialog/Dialog.d.ts +3 -3
- package/lib/esm/core-react/dialog/Dialog.d.ts.map +1 -1
- package/lib/esm/core-react/dialog/Dialog.js +2 -1
- package/lib/esm/core-react/dialog/Dialog.js.map +1 -1
- package/lib/esm/core-react/dialog/GlobalDialog.d.ts +1 -1
- package/lib/esm/core-react/dialog/GlobalDialog.d.ts.map +1 -1
- package/lib/esm/core-react/dialog/GlobalDialog.js +2 -1
- package/lib/esm/core-react/dialog/GlobalDialog.js.map +1 -1
- package/lib/esm/core-react/elementseparator/ElementSeparator.d.ts +1 -1
- package/lib/esm/core-react/elementseparator/ElementSeparator.d.ts.map +1 -1
- package/lib/esm/core-react/elementseparator/ElementSeparator.js +2 -2
- package/lib/esm/core-react/elementseparator/ElementSeparator.js.map +1 -1
- package/lib/esm/core-react/expandable/ExpandableList.d.ts +1 -1
- package/lib/esm/core-react/expandable/ExpandableList.d.ts.map +1 -1
- package/lib/esm/core-react/expandable/ExpandableList.js.map +1 -1
- package/lib/esm/core-react/hocs/withOnOutsideClick.js +2 -1
- package/lib/esm/core-react/hocs/withOnOutsideClick.js.map +1 -1
- package/lib/esm/core-react/icons/ConditionalIconItem.d.ts +1 -1
- package/lib/esm/core-react/icons/ConditionalIconItem.d.ts.map +1 -1
- package/lib/esm/core-react/icons/ConditionalIconItem.js.map +1 -1
- package/lib/esm/core-react/icons/IconComponent.d.ts +2 -2
- package/lib/esm/core-react/icons/IconComponent.d.ts.map +1 -1
- package/lib/esm/core-react/icons/IconComponent.js +1 -1
- package/lib/esm/core-react/icons/IconComponent.js.map +1 -1
- package/lib/esm/core-react/icons/SvgPath.d.ts +1 -1
- package/lib/esm/core-react/icons/SvgPath.d.ts.map +1 -1
- package/lib/esm/core-react/icons/SvgPath.js.map +1 -1
- package/lib/esm/core-react/icons/WebFontIcon.d.ts +1 -1
- package/lib/esm/core-react/icons/WebFontIcon.d.ts.map +1 -1
- package/lib/esm/core-react/icons/WebFontIcon.js.map +1 -1
- package/lib/esm/core-react/imagecheckbox/ImageCheckBox.d.ts +1 -1
- package/lib/esm/core-react/imagecheckbox/ImageCheckBox.d.ts.map +1 -1
- package/lib/esm/core-react/imagecheckbox/ImageCheckBox.js.map +1 -1
- package/lib/esm/core-react/inputs/Input.d.ts +1 -1
- package/lib/esm/core-react/inputs/Input.d.ts.map +1 -1
- package/lib/esm/core-react/inputs/Input.js.map +1 -1
- package/lib/esm/core-react/inputs/InputLabel.d.ts +2 -2
- package/lib/esm/core-react/inputs/InputLabel.d.ts.map +1 -1
- package/lib/esm/core-react/inputs/InputLabel.js.map +1 -1
- package/lib/esm/core-react/inputs/LabeledComponentProps.d.ts +2 -2
- package/lib/esm/core-react/inputs/LabeledComponentProps.d.ts.map +1 -1
- package/lib/esm/core-react/inputs/LabeledComponentProps.js.map +1 -1
- package/lib/esm/core-react/inputs/iconinput/IconInput.d.ts +1 -1
- package/lib/esm/core-react/inputs/iconinput/IconInput.d.ts.map +1 -1
- package/lib/esm/core-react/inputs/iconinput/IconInput.js.map +1 -1
- package/lib/esm/core-react/inputs/numberinput/NumberInput.d.ts +1 -1
- package/lib/esm/core-react/inputs/numberinput/NumberInput.d.ts.map +1 -1
- package/lib/esm/core-react/inputs/numberinput/NumberInput.js.map +1 -1
- package/lib/esm/core-react/listbox/Listbox.js +3 -2
- package/lib/esm/core-react/listbox/Listbox.js.map +1 -1
- package/lib/esm/core-react/loading/LoadingBar.d.ts +1 -1
- package/lib/esm/core-react/loading/LoadingBar.d.ts.map +1 -1
- package/lib/esm/core-react/loading/LoadingBar.js.map +1 -1
- package/lib/esm/core-react/loading/LoadingPrompt.d.ts +1 -1
- package/lib/esm/core-react/loading/LoadingPrompt.d.ts.map +1 -1
- package/lib/esm/core-react/loading/LoadingPrompt.js.map +1 -1
- package/lib/esm/core-react/loading/LoadingSpinner.d.ts +1 -1
- package/lib/esm/core-react/loading/LoadingSpinner.d.ts.map +1 -1
- package/lib/esm/core-react/loading/LoadingSpinner.js.map +1 -1
- package/lib/esm/core-react/loading/LoadingStatus.d.ts +1 -1
- package/lib/esm/core-react/loading/LoadingStatus.d.ts.map +1 -1
- package/lib/esm/core-react/loading/LoadingStatus.js.map +1 -1
- package/lib/esm/core-react/messagebox/MessageBox.d.ts +4 -3
- package/lib/esm/core-react/messagebox/MessageBox.d.ts.map +1 -1
- package/lib/esm/core-react/messagebox/MessageBox.js.map +1 -1
- package/lib/esm/core-react/notification/MessageRenderer.d.ts +2 -2
- package/lib/esm/core-react/notification/MessageRenderer.d.ts.map +1 -1
- package/lib/esm/core-react/notification/MessageRenderer.js +1 -1
- package/lib/esm/core-react/notification/MessageRenderer.js.map +1 -1
- package/lib/esm/core-react/notification/MessageType.d.ts +1 -1
- package/lib/esm/core-react/notification/MessageType.d.ts.map +1 -1
- package/lib/esm/core-react/notification/MessageType.js.map +1 -1
- package/lib/esm/core-react/popup/Popup.d.ts +1 -1
- package/lib/esm/core-react/popup/Popup.d.ts.map +1 -1
- package/lib/esm/core-react/popup/Popup.js +8 -4
- package/lib/esm/core-react/popup/Popup.js.map +1 -1
- package/lib/esm/core-react/radialmenu/RadialMenu.d.ts +2 -2
- package/lib/esm/core-react/radialmenu/RadialMenu.d.ts.map +1 -1
- package/lib/esm/core-react/radialmenu/RadialMenu.js.map +1 -1
- package/lib/esm/core-react/searchbox/SearchBox.d.ts +1 -1
- package/lib/esm/core-react/searchbox/SearchBox.d.ts.map +1 -1
- package/lib/esm/core-react/searchbox/SearchBox.js.map +1 -1
- package/lib/esm/core-react/settings/SettingsContainer.d.ts +1 -1
- package/lib/esm/core-react/settings/SettingsContainer.d.ts.map +1 -1
- package/lib/esm/core-react/settings/SettingsContainer.js.map +1 -1
- package/lib/esm/core-react/settings/SettingsManager.d.ts +1 -1
- package/lib/esm/core-react/settings/SettingsManager.d.ts.map +1 -1
- package/lib/esm/core-react/settings/SettingsManager.js.map +1 -1
- package/lib/esm/core-react/tabs/Tabs.d.ts +1 -1
- package/lib/esm/core-react/tabs/Tabs.d.ts.map +1 -1
- package/lib/esm/core-react/tabs/Tabs.js.map +1 -1
- package/lib/esm/core-react/tabs/VerticalTabs.d.ts +1 -1
- package/lib/esm/core-react/tabs/VerticalTabs.d.ts.map +1 -1
- package/lib/esm/core-react/tabs/VerticalTabs.js.map +1 -1
- package/lib/esm/core-react/text/BlockText.d.ts +1 -1
- package/lib/esm/core-react/text/BlockText.d.ts.map +1 -1
- package/lib/esm/core-react/text/BlockText.js.map +1 -1
- package/lib/esm/core-react/text/BodyText.d.ts +1 -1
- package/lib/esm/core-react/text/BodyText.d.ts.map +1 -1
- package/lib/esm/core-react/text/BodyText.js.map +1 -1
- package/lib/esm/core-react/text/DisabledText.d.ts +1 -1
- package/lib/esm/core-react/text/DisabledText.d.ts.map +1 -1
- package/lib/esm/core-react/text/DisabledText.js.map +1 -1
- package/lib/esm/core-react/text/FilteredText.d.ts +2 -2
- package/lib/esm/core-react/text/FilteredText.d.ts.map +1 -1
- package/lib/esm/core-react/text/FilteredText.js.map +1 -1
- package/lib/esm/core-react/text/MutedText.d.ts +1 -1
- package/lib/esm/core-react/text/MutedText.d.ts.map +1 -1
- package/lib/esm/core-react/text/MutedText.js.map +1 -1
- package/lib/esm/core-react/text/StyledText.d.ts +1 -1
- package/lib/esm/core-react/text/StyledText.d.ts.map +1 -1
- package/lib/esm/core-react/text/StyledText.js.map +1 -1
- package/lib/esm/core-react/text/TextProps.d.ts +2 -2
- package/lib/esm/core-react/text/TextProps.d.ts.map +1 -1
- package/lib/esm/core-react/text/TextProps.js.map +1 -1
- package/lib/esm/core-react/tree/Branch.d.ts +1 -1
- package/lib/esm/core-react/tree/Branch.d.ts.map +1 -1
- package/lib/esm/core-react/tree/Branch.js.map +1 -1
- package/lib/esm/core-react/tree/ExpansionToggle.d.ts +1 -1
- package/lib/esm/core-react/tree/ExpansionToggle.d.ts.map +1 -1
- package/lib/esm/core-react/tree/ExpansionToggle.js.map +1 -1
- package/lib/esm/core-react/tree/Node.d.ts +3 -3
- package/lib/esm/core-react/tree/Node.d.ts.map +1 -1
- package/lib/esm/core-react/tree/Node.js +2 -1
- package/lib/esm/core-react/tree/Node.js.map +1 -1
- package/lib/esm/core-react/tree/Node.scss +7 -7
- package/lib/esm/core-react/tree/Placeholder.d.ts +1 -1
- package/lib/esm/core-react/tree/Placeholder.d.ts.map +1 -1
- package/lib/esm/core-react/tree/Placeholder.js.map +1 -1
- package/lib/esm/core-react/tree/Tree.d.ts +1 -1
- package/lib/esm/core-react/tree/Tree.d.ts.map +1 -1
- package/lib/esm/core-react/tree/Tree.js.map +1 -1
- package/lib/esm/core-react/uistate/LocalStateStorage.d.ts +1 -1
- package/lib/esm/core-react/uistate/LocalStateStorage.d.ts.map +1 -1
- package/lib/esm/core-react/uistate/LocalStateStorage.js.map +1 -1
- package/lib/esm/core-react/uistate/UiStateEntry.d.ts +1 -1
- package/lib/esm/core-react/uistate/UiStateEntry.d.ts.map +1 -1
- package/lib/esm/core-react/uistate/UiStateEntry.js.map +1 -1
- package/lib/esm/core-react/utils/IconHelper.d.ts +1 -1
- package/lib/esm/core-react/utils/IconHelper.d.ts.map +1 -1
- package/lib/esm/core-react/utils/IconHelper.js.map +1 -1
- package/lib/esm/core-react/utils/IconWebComponent.js +1 -1
- package/lib/esm/core-react/utils/IconWebComponent.js.map +1 -1
- package/lib/esm/core-react/utils/Point.d.ts +1 -1
- package/lib/esm/core-react/utils/Point.d.ts.map +1 -1
- package/lib/esm/core-react/utils/Point.js.map +1 -1
- package/lib/esm/core-react/utils/Props.d.ts +2 -2
- package/lib/esm/core-react/utils/Props.d.ts.map +1 -1
- package/lib/esm/core-react/utils/Props.js.map +1 -1
- package/lib/esm/core-react/utils/Rectangle.d.ts +3 -2
- package/lib/esm/core-react/utils/Rectangle.d.ts.map +1 -1
- package/lib/esm/core-react/utils/Rectangle.js.map +1 -1
- package/lib/esm/core-react/utils/ScrollPositionMaintainer.d.ts +1 -1
- package/lib/esm/core-react/utils/ScrollPositionMaintainer.d.ts.map +1 -1
- package/lib/esm/core-react/utils/ScrollPositionMaintainer.js.map +1 -1
- package/lib/esm/core-react/utils/getCssVariable.js +1 -1
- package/lib/esm/core-react/utils/getCssVariable.js.map +1 -1
- package/lib/esm/core-react/utils/getDisplayName.d.ts +1 -1
- package/lib/esm/core-react/utils/getDisplayName.d.ts.map +1 -1
- package/lib/esm/core-react/utils/getDisplayName.js.map +1 -1
- package/lib/esm/core-react/utils/hooks/ResizeObserverPolyfill.js.map +1 -1
- package/lib/esm/core-react/utils/hooks/useCrossOriginPopup.js +2 -1
- package/lib/esm/core-react/utils/hooks/useCrossOriginPopup.js.map +1 -1
- package/lib/esm/core-react/utils/hooks/useDisposable.d.ts +1 -1
- package/lib/esm/core-react/utils/hooks/useDisposable.d.ts.map +1 -1
- package/lib/esm/core-react/utils/hooks/useDisposable.js.map +1 -1
- package/lib/esm/core-react/utils/hooks/useResizeObserver.js +13 -8
- package/lib/esm/core-react/utils/hooks/useResizeObserver.js.map +1 -1
- package/package.json +9 -4
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
/** @packageDocumentation
|
|
2
2
|
* @module Utilities
|
|
3
3
|
*/
|
|
4
|
-
import * as React from "react";
|
|
5
|
-
import { Omit } from "./typeUtils";
|
|
4
|
+
import type * as React from "react";
|
|
5
|
+
import type { Omit } from "./typeUtils";
|
|
6
6
|
/** Props used by components that expect class name to be passed in.
|
|
7
7
|
* @public
|
|
8
8
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Props.d.ts","sourceRoot":"","sources":["../../../../src/core-react/utils/Props.tsx"],"names":[],"mappings":"AAIA;;GAEG;AAEH,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"Props.d.ts","sourceRoot":"","sources":["../../../../src/core-react/utils/Props.tsx"],"names":[],"mappings":"AAIA;;GAEG;AAEH,OAAO,KAAK,KAAK,KAAK,MAAM,OAAO,CAAC;AACpC,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,aAAa,CAAC;AAExC;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B,4BAA4B;IAC5B,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED;;GAEG;AACH,MAAM,WAAW,WAAY,SAAQ,cAAc;IACjD,kCAAkC;IAClC,KAAK,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC;IAC5B,gHAAgH;IAChH,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED;;GAEG;AACH,MAAM,WAAW,cAAe,SAAQ,KAAK,CAAC,iBAAiB,CAAC,cAAc,CAAC,EAAE,WAAW;CAAI;AAEhG;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,EAAE,SAAS,CAAC;CACtB;AAED;;GAEG;AACH,MAAM,MAAM,gBAAgB,CAAC,CAAC,SAAS;IAAE,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;CAAE,IAAI,IAAI,CAAC,CAAC,EAAE,UAAU,CAAC,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Props.js","sourceRoot":"","sources":["../../../../src/core-react/utils/Props.tsx"],"names":[],"mappings":"AAAA;;;+FAG+F;AAC/F;;GAEG","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 Utilities\r\n */\r\n\r\nimport * as React from \"react\";\r\nimport { Omit } from \"./typeUtils\";\r\n\r\n/** Props used by components that expect class name to be passed in.\r\n * @public\r\n */\r\nexport interface ClassNameProps {\r\n /** Custom CSS class name */\r\n className?: string;\r\n}\r\n\r\n/** Common props used by components.\r\n * @public\r\n */\r\nexport interface CommonProps extends ClassNameProps {\r\n /** Custom CSS style properties */\r\n style?: React.CSSProperties;\r\n /** Optional unique identifier for item. If defined it will be added to DOM Element attribute as data-item-id */\r\n itemId?: string;\r\n}\r\n\r\n/** Common properties using a div element.\r\n * @public\r\n */\r\nexport interface CommonDivProps extends React.AllHTMLAttributes<HTMLDivElement>, CommonProps { }\r\n\r\n/** Props used by components that do not expect children to be passed in.\r\n * @public\r\n */\r\nexport interface NoChildrenProps {\r\n children?: undefined;\r\n}\r\n\r\n/** Omit children property from T.\r\n * @public\r\n */\r\nexport type OmitChildrenProp<T extends { children?: React.ReactNode }> = Omit<T, \"children\">;\r\n"]}
|
|
1
|
+
{"version":3,"file":"Props.js","sourceRoot":"","sources":["../../../../src/core-react/utils/Props.tsx"],"names":[],"mappings":"AAAA;;;+FAG+F;AAC/F;;GAEG","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 Utilities\r\n */\r\n\r\nimport type * as React from \"react\";\r\nimport type { Omit } from \"./typeUtils\";\r\n\r\n/** Props used by components that expect class name to be passed in.\r\n * @public\r\n */\r\nexport interface ClassNameProps {\r\n /** Custom CSS class name */\r\n className?: string;\r\n}\r\n\r\n/** Common props used by components.\r\n * @public\r\n */\r\nexport interface CommonProps extends ClassNameProps {\r\n /** Custom CSS style properties */\r\n style?: React.CSSProperties;\r\n /** Optional unique identifier for item. If defined it will be added to DOM Element attribute as data-item-id */\r\n itemId?: string;\r\n}\r\n\r\n/** Common properties using a div element.\r\n * @public\r\n */\r\nexport interface CommonDivProps extends React.AllHTMLAttributes<HTMLDivElement>, CommonProps { }\r\n\r\n/** Props used by components that do not expect children to be passed in.\r\n * @public\r\n */\r\nexport interface NoChildrenProps {\r\n children?: undefined;\r\n}\r\n\r\n/** Omit children property from T.\r\n * @public\r\n */\r\nexport type OmitChildrenProp<T extends { children?: React.ReactNode }> = Omit<T, \"children\">;\r\n"]}
|
|
@@ -1,9 +1,10 @@
|
|
|
1
1
|
/** @packageDocumentation
|
|
2
2
|
* @module Utilities
|
|
3
3
|
*/
|
|
4
|
-
import { PointProps } from "@itwin/appui-abstract";
|
|
4
|
+
import type { PointProps } from "@itwin/appui-abstract";
|
|
5
5
|
import { Point } from "./Point";
|
|
6
|
-
import {
|
|
6
|
+
import type { SizeProps } from "./Size";
|
|
7
|
+
import { Size } from "./Size";
|
|
7
8
|
/** Describes 2d bounds.
|
|
8
9
|
* @public
|
|
9
10
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Rectangle.d.ts","sourceRoot":"","sources":["../../../../src/core-react/utils/Rectangle.ts"],"names":[],"mappings":"AAIA;;GAEG;AAEH,OAAO,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;
|
|
1
|
+
{"version":3,"file":"Rectangle.d.ts","sourceRoot":"","sources":["../../../../src/core-react/utils/Rectangle.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Rectangle.js","sourceRoot":"","sources":["../../../../src/core-react/utils/Rectangle.ts"],"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 Utilities\r\n */\r\n\r\nimport { PointProps } from \"@itwin/appui-abstract\";\r\nimport { Point } from \"./Point\";\r\nimport { Size, SizeProps } from \"./Size\";\r\nimport { UiGeometry } from \"./UiGeometry\";\r\n\r\n/** Describes 2d bounds.\r\n * @public\r\n */\r\nexport interface RectangleProps {\r\n readonly left: number;\r\n readonly top: number;\r\n readonly right: number;\r\n readonly bottom: number;\r\n}\r\n\r\n/** Available corners of [[Rectangle]].\r\n * @internal\r\n */\r\nexport enum Corner {\r\n TopLeft,\r\n TopRight,\r\n BottomRight,\r\n BottomLeft,\r\n}\r\n\r\n/** Describes and provides methods to work with 2d bounds.\r\n * @internal\r\n */\r\nexport class Rectangle implements RectangleProps {\r\n /** Creates rectangle from [[RectangleProps]]. */\r\n public static create(props: RectangleProps): Rectangle {\r\n return new Rectangle(props.left, props.top, props.right, props.bottom);\r\n }\r\n\r\n /** Creates rectangle from [[SizeProps]]. */\r\n public static createFromSize(size: SizeProps): Rectangle {\r\n return new Rectangle(0, 0, size.width, size.height);\r\n }\r\n\r\n /** Create a rectangle with 2 pairs of xy candidates. Theses are compared and shuffled as needed for the rectangle. */\r\n public static createXYXY(xA: number, yA: number, xB: number, yB: number): Rectangle {\r\n return new Rectangle(\r\n Math.min(xA, xB), Math.min(yA, yB),\r\n Math.max(xA, xB), Math.max(yA, yB));\r\n }\r\n\r\n /** Creates rectangle with specified bounds. */\r\n public constructor(public readonly left = 0, public readonly top = 0, public readonly right = 0, public readonly bottom = 0) {\r\n }\r\n\r\n /** @returns Size of this rectangle. */\r\n public getSize(): Size {\r\n const width = this.getWidth();\r\n const height = this.getHeight();\r\n return new Size(width, height);\r\n }\r\n\r\n /** @returns Width of this rectangle. */\r\n public getWidth(): number {\r\n return this.right - this.left;\r\n }\r\n\r\n /** @returns Height of this rectangle. */\r\n public getHeight(): number {\r\n return this.bottom - this.top;\r\n }\r\n\r\n /** @returns Position of specified corner. */\r\n public getCorner(corner: Corner): Point {\r\n switch (corner) {\r\n case Corner.TopLeft: {\r\n return this.topLeft();\r\n }\r\n case Corner.TopRight: {\r\n return new Point(this.right, this.top);\r\n }\r\n case Corner.BottomLeft: {\r\n return new Point(this.left, this.bottom);\r\n }\r\n case Corner.BottomRight: {\r\n return new Point(this.right, this.bottom);\r\n }\r\n }\r\n }\r\n\r\n /**\r\n * Inset the bounds of this rectangle.\r\n * @note Negative arguments will increase the size of rectangle.\r\n * @returns New [[Rectangle]] with modified bounds.\r\n */\r\n public inset(left: number, top: number, right: number, bottom: number): Rectangle {\r\n return new Rectangle(this.left + left, this.top + top, this.right - right, this.bottom - bottom);\r\n }\r\n\r\n /**\r\n * Offsets the rectangle along the X and Y axes.\r\n * @returns New [[Rectangle]] with modified position.\r\n */\r\n public offset(offset: PointProps): Rectangle {\r\n return new Rectangle(this.left + offset.x, this.top + offset.y, this.right + offset.x, this.bottom + offset.y);\r\n }\r\n\r\n /**\r\n * Offsets the rectangle along the X axis.\r\n * @returns New [[Rectangle]] with modified position along X axis.\r\n */\r\n public offsetX(offset: number): Rectangle {\r\n return new Rectangle(this.left + offset, this.top, this.right + offset, this.bottom);\r\n }\r\n\r\n /**\r\n * Offsets the rectangle along the Y axis.\r\n * @returns New [[Rectangle]] with modified position along Y axis.\r\n */\r\n public offsetY(offset: number): Rectangle {\r\n return new Rectangle(this.left, this.top + offset, this.right, this.bottom + offset);\r\n }\r\n\r\n /**\r\n * Moves the top left corner of rectangle to specified point.\r\n * @returns New [[Rectangle]] with modified position.\r\n */\r\n public setPosition(position: PointProps): Rectangle {\r\n return new Rectangle(position.x, position.y, position.x + this.getWidth(), position.y + this.getHeight());\r\n }\r\n\r\n /**\r\n * Sets the height of the rectangle.\r\n * @note Only [[Edge.Bottom]] is subject to change.\r\n * @returns New [[Rectangle]] with modified height.\r\n */\r\n public setHeight(height: number): Rectangle {\r\n return new Rectangle(this.left, this.top, this.right, this.top + height);\r\n }\r\n\r\n /**\r\n * Sets the width of the rectangle.\r\n * @note Only [[Edge.Right]] is subject to change.\r\n * @returns New [[Rectangle]] with modified width.\r\n */\r\n public setWidth(width: number): Rectangle {\r\n return new Rectangle(this.left, this.top, this.left + width, this.bottom);\r\n }\r\n\r\n /**\r\n * Sets the height and width of the rectangle.\r\n * @note Only [[Edge.Bottom]] and [[Edge.Right]] are subjects to change.\r\n * @returns New [[Rectangle]] with modified height.\r\n */\r\n public setSize(size: SizeProps): Rectangle {\r\n return new Rectangle(this.left, this.top, this.left + size.width, this.top + size.height);\r\n }\r\n\r\n /** Checks if bounds of two rectangles match. */\r\n public equals(other: RectangleProps): boolean {\r\n if (this.left === other.left &&\r\n this.top === other.top &&\r\n this.right === other.right &&\r\n this.bottom === other.bottom)\r\n return true;\r\n\r\n return false;\r\n }\r\n\r\n /**\r\n * Checks if point is within bounds of the rectangle.\r\n * @note Inclusive.\r\n */\r\n public containsPoint(point: PointProps): boolean {\r\n return point.x >= this.left && point.x <= this.right && point.y >= this.top && point.y <= this.bottom;\r\n }\r\n\r\n /**\r\n * Checks if a point given as x,y is within the rectangle.\r\n * @note Inclusive.\r\n */\r\n public containsXY(x: number, y: number): boolean {\r\n return this.containsPoint({x, y});\r\n }\r\n\r\n /**\r\n * @returns true if this rectangle contains other rectangle.\r\n * @note Inclusive.\r\n */\r\n public contains(other: RectangleProps): boolean {\r\n return other.left >= this.left && other.right <= this.right && other.top >= this.top && other.bottom <= this.bottom;\r\n }\r\n\r\n /** @returns New [[Rectangle]] which is contained in other rectangle. */\r\n public containIn(other: RectangleProps): Rectangle {\r\n let contained: Rectangle = this.containVerticallyIn(other);\r\n contained = contained.containHorizontallyIn(other);\r\n return contained;\r\n }\r\n\r\n /** @returns New [[Rectangle]] which is vertically contained in other rectangle. */\r\n public containVerticallyIn(other: RectangleProps): Rectangle {\r\n const contained = this.offsetY(Math.min(other.bottom - this.bottom, 0));\r\n return contained.offsetY(Math.max(other.top - contained.top, 0));\r\n }\r\n\r\n /** @returns New [[Rectangle]] which is horizontally contained in other rectangle. */\r\n public containHorizontallyIn(other: RectangleProps): Rectangle {\r\n const contained = this.offsetX(Math.min(other.right - this.right, 0));\r\n return contained.offsetX(Math.max(other.left - contained.left, 0));\r\n }\r\n\r\n /** @returns [[Corner.TopLeft]] position of this rectangle. */\r\n public topLeft(): Point {\r\n return new Point(this.left, this.top);\r\n }\r\n\r\n /** @returns Center point position of this rectangle. */\r\n public center(): Point {\r\n const x = this.left + (this.right - this.left) / 2;\r\n const y = this.top + (this.bottom - this.top) / 2;\r\n return new Point(x, y);\r\n }\r\n\r\n /** @returns true if this rectangle intersects other rectangle. */\r\n public intersects(other: RectangleProps): boolean {\r\n return this.left < other.right && this.right > other.left &&\r\n this.top < other.bottom && this.bottom > other.top;\r\n }\r\n\r\n /**\r\n * Merges outer edges of this and other rectangles.\r\n * @returns New [[Rectangle]] with merged bounds.\r\n */\r\n public outerMergeWith(other: RectangleProps): Rectangle {\r\n const left = Math.min(this.left, other.left);\r\n const top = Math.min(this.top, other.top);\r\n const right = Math.max(this.right, other.right);\r\n const bottom = Math.max(this.bottom, other.bottom);\r\n return new Rectangle(left, top, right, bottom);\r\n }\r\n\r\n /**\r\n * Vertically divides this rectangle into specified number of equal height segments.\r\n * @returns Vertical rectangle segment.\r\n */\r\n public getVerticalSegmentBounds(segmentId: number, numberOfSegments: number): Rectangle {\r\n const segmentHeight = this.getHeight() / numberOfSegments;\r\n\r\n const top = segmentId * segmentHeight;\r\n return this.inset(0, top, 0, 0).setHeight(segmentHeight);\r\n }\r\n\r\n /**\r\n * Horizontally divides this rectangle into specified number of equal width segments.\r\n * @returns Horizontal rectangle segment.\r\n */\r\n public getHorizontalSegmentBounds(segmentId: number, numberOfSegments: number): Rectangle {\r\n const segmentWidth = this.getWidth() / numberOfSegments;\r\n\r\n const left = segmentId * segmentWidth;\r\n return this.inset(left, 0, 0, 0).setWidth(segmentWidth);\r\n }\r\n\r\n /**\r\n * Calculates the shortest distance between this rectangle and a given point.\r\n * @returns The shortest distance to a point.\r\n */\r\n public getShortestDistanceToPoint(point: PointProps): number {\r\n let shortestDistance = 0;\r\n\r\n if (point.x < this.left) {\r\n if (point.y < this.top)\r\n shortestDistance = UiGeometry.hypotenuseXY(this.left - point.x, this.top - point.y);\r\n else if (point.y <= this.bottom)\r\n shortestDistance = this.left - point.x;\r\n else\r\n shortestDistance = UiGeometry.hypotenuseXY(this.left - point.x, this.bottom - point.y);\r\n } else if (point.x <= this.right) {\r\n if (point.y < this.top)\r\n shortestDistance = this.top - point.y;\r\n else if (point.y <= this.bottom)\r\n shortestDistance = 0;\r\n else\r\n shortestDistance = point.y - this.bottom;\r\n } else {\r\n if (point.y < this.top)\r\n shortestDistance = UiGeometry.hypotenuseXY(this.right - point.x, this.top - point.y);\r\n else if (point.y <= this.bottom)\r\n shortestDistance = point.x - this.right;\r\n else\r\n shortestDistance = UiGeometry.hypotenuseXY(this.right - point.x, this.bottom - point.y);\r\n }\r\n\r\n return shortestDistance;\r\n }\r\n\r\n /** @returns [[RectangleProps]] object for this rectangle. */\r\n public toProps(): RectangleProps {\r\n return {\r\n bottom: this.bottom,\r\n left: this.left,\r\n right: this.right,\r\n top: this.top,\r\n };\r\n }\r\n}\r\n"]}
|
|
1
|
+
{"version":3,"file":"Rectangle.js","sourceRoot":"","sources":["../../../../src/core-react/utils/Rectangle.ts"],"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 Utilities\r\n */\r\n\r\nimport type { PointProps } from \"@itwin/appui-abstract\";\r\nimport { Point } from \"./Point\";\r\nimport type { SizeProps } from \"./Size\";\r\nimport { Size } from \"./Size\";\r\nimport { UiGeometry } from \"./UiGeometry\";\r\n\r\n/** Describes 2d bounds.\r\n * @public\r\n */\r\nexport interface RectangleProps {\r\n readonly left: number;\r\n readonly top: number;\r\n readonly right: number;\r\n readonly bottom: number;\r\n}\r\n\r\n/** Available corners of [[Rectangle]].\r\n * @internal\r\n */\r\nexport enum Corner {\r\n TopLeft,\r\n TopRight,\r\n BottomRight,\r\n BottomLeft,\r\n}\r\n\r\n/** Describes and provides methods to work with 2d bounds.\r\n * @internal\r\n */\r\nexport class Rectangle implements RectangleProps {\r\n /** Creates rectangle from [[RectangleProps]]. */\r\n public static create(props: RectangleProps): Rectangle {\r\n return new Rectangle(props.left, props.top, props.right, props.bottom);\r\n }\r\n\r\n /** Creates rectangle from [[SizeProps]]. */\r\n public static createFromSize(size: SizeProps): Rectangle {\r\n return new Rectangle(0, 0, size.width, size.height);\r\n }\r\n\r\n /** Create a rectangle with 2 pairs of xy candidates. Theses are compared and shuffled as needed for the rectangle. */\r\n public static createXYXY(xA: number, yA: number, xB: number, yB: number): Rectangle {\r\n return new Rectangle(\r\n Math.min(xA, xB), Math.min(yA, yB),\r\n Math.max(xA, xB), Math.max(yA, yB));\r\n }\r\n\r\n /** Creates rectangle with specified bounds. */\r\n public constructor(public readonly left = 0, public readonly top = 0, public readonly right = 0, public readonly bottom = 0) {\r\n }\r\n\r\n /** @returns Size of this rectangle. */\r\n public getSize(): Size {\r\n const width = this.getWidth();\r\n const height = this.getHeight();\r\n return new Size(width, height);\r\n }\r\n\r\n /** @returns Width of this rectangle. */\r\n public getWidth(): number {\r\n return this.right - this.left;\r\n }\r\n\r\n /** @returns Height of this rectangle. */\r\n public getHeight(): number {\r\n return this.bottom - this.top;\r\n }\r\n\r\n /** @returns Position of specified corner. */\r\n public getCorner(corner: Corner): Point {\r\n switch (corner) {\r\n case Corner.TopLeft: {\r\n return this.topLeft();\r\n }\r\n case Corner.TopRight: {\r\n return new Point(this.right, this.top);\r\n }\r\n case Corner.BottomLeft: {\r\n return new Point(this.left, this.bottom);\r\n }\r\n case Corner.BottomRight: {\r\n return new Point(this.right, this.bottom);\r\n }\r\n }\r\n }\r\n\r\n /**\r\n * Inset the bounds of this rectangle.\r\n * @note Negative arguments will increase the size of rectangle.\r\n * @returns New [[Rectangle]] with modified bounds.\r\n */\r\n public inset(left: number, top: number, right: number, bottom: number): Rectangle {\r\n return new Rectangle(this.left + left, this.top + top, this.right - right, this.bottom - bottom);\r\n }\r\n\r\n /**\r\n * Offsets the rectangle along the X and Y axes.\r\n * @returns New [[Rectangle]] with modified position.\r\n */\r\n public offset(offset: PointProps): Rectangle {\r\n return new Rectangle(this.left + offset.x, this.top + offset.y, this.right + offset.x, this.bottom + offset.y);\r\n }\r\n\r\n /**\r\n * Offsets the rectangle along the X axis.\r\n * @returns New [[Rectangle]] with modified position along X axis.\r\n */\r\n public offsetX(offset: number): Rectangle {\r\n return new Rectangle(this.left + offset, this.top, this.right + offset, this.bottom);\r\n }\r\n\r\n /**\r\n * Offsets the rectangle along the Y axis.\r\n * @returns New [[Rectangle]] with modified position along Y axis.\r\n */\r\n public offsetY(offset: number): Rectangle {\r\n return new Rectangle(this.left, this.top + offset, this.right, this.bottom + offset);\r\n }\r\n\r\n /**\r\n * Moves the top left corner of rectangle to specified point.\r\n * @returns New [[Rectangle]] with modified position.\r\n */\r\n public setPosition(position: PointProps): Rectangle {\r\n return new Rectangle(position.x, position.y, position.x + this.getWidth(), position.y + this.getHeight());\r\n }\r\n\r\n /**\r\n * Sets the height of the rectangle.\r\n * @note Only [[Edge.Bottom]] is subject to change.\r\n * @returns New [[Rectangle]] with modified height.\r\n */\r\n public setHeight(height: number): Rectangle {\r\n return new Rectangle(this.left, this.top, this.right, this.top + height);\r\n }\r\n\r\n /**\r\n * Sets the width of the rectangle.\r\n * @note Only [[Edge.Right]] is subject to change.\r\n * @returns New [[Rectangle]] with modified width.\r\n */\r\n public setWidth(width: number): Rectangle {\r\n return new Rectangle(this.left, this.top, this.left + width, this.bottom);\r\n }\r\n\r\n /**\r\n * Sets the height and width of the rectangle.\r\n * @note Only [[Edge.Bottom]] and [[Edge.Right]] are subjects to change.\r\n * @returns New [[Rectangle]] with modified height.\r\n */\r\n public setSize(size: SizeProps): Rectangle {\r\n return new Rectangle(this.left, this.top, this.left + size.width, this.top + size.height);\r\n }\r\n\r\n /** Checks if bounds of two rectangles match. */\r\n public equals(other: RectangleProps): boolean {\r\n if (this.left === other.left &&\r\n this.top === other.top &&\r\n this.right === other.right &&\r\n this.bottom === other.bottom)\r\n return true;\r\n\r\n return false;\r\n }\r\n\r\n /**\r\n * Checks if point is within bounds of the rectangle.\r\n * @note Inclusive.\r\n */\r\n public containsPoint(point: PointProps): boolean {\r\n return point.x >= this.left && point.x <= this.right && point.y >= this.top && point.y <= this.bottom;\r\n }\r\n\r\n /**\r\n * Checks if a point given as x,y is within the rectangle.\r\n * @note Inclusive.\r\n */\r\n public containsXY(x: number, y: number): boolean {\r\n return this.containsPoint({x, y});\r\n }\r\n\r\n /**\r\n * @returns true if this rectangle contains other rectangle.\r\n * @note Inclusive.\r\n */\r\n public contains(other: RectangleProps): boolean {\r\n return other.left >= this.left && other.right <= this.right && other.top >= this.top && other.bottom <= this.bottom;\r\n }\r\n\r\n /** @returns New [[Rectangle]] which is contained in other rectangle. */\r\n public containIn(other: RectangleProps): Rectangle {\r\n let contained: Rectangle = this.containVerticallyIn(other);\r\n contained = contained.containHorizontallyIn(other);\r\n return contained;\r\n }\r\n\r\n /** @returns New [[Rectangle]] which is vertically contained in other rectangle. */\r\n public containVerticallyIn(other: RectangleProps): Rectangle {\r\n const contained = this.offsetY(Math.min(other.bottom - this.bottom, 0));\r\n return contained.offsetY(Math.max(other.top - contained.top, 0));\r\n }\r\n\r\n /** @returns New [[Rectangle]] which is horizontally contained in other rectangle. */\r\n public containHorizontallyIn(other: RectangleProps): Rectangle {\r\n const contained = this.offsetX(Math.min(other.right - this.right, 0));\r\n return contained.offsetX(Math.max(other.left - contained.left, 0));\r\n }\r\n\r\n /** @returns [[Corner.TopLeft]] position of this rectangle. */\r\n public topLeft(): Point {\r\n return new Point(this.left, this.top);\r\n }\r\n\r\n /** @returns Center point position of this rectangle. */\r\n public center(): Point {\r\n const x = this.left + (this.right - this.left) / 2;\r\n const y = this.top + (this.bottom - this.top) / 2;\r\n return new Point(x, y);\r\n }\r\n\r\n /** @returns true if this rectangle intersects other rectangle. */\r\n public intersects(other: RectangleProps): boolean {\r\n return this.left < other.right && this.right > other.left &&\r\n this.top < other.bottom && this.bottom > other.top;\r\n }\r\n\r\n /**\r\n * Merges outer edges of this and other rectangles.\r\n * @returns New [[Rectangle]] with merged bounds.\r\n */\r\n public outerMergeWith(other: RectangleProps): Rectangle {\r\n const left = Math.min(this.left, other.left);\r\n const top = Math.min(this.top, other.top);\r\n const right = Math.max(this.right, other.right);\r\n const bottom = Math.max(this.bottom, other.bottom);\r\n return new Rectangle(left, top, right, bottom);\r\n }\r\n\r\n /**\r\n * Vertically divides this rectangle into specified number of equal height segments.\r\n * @returns Vertical rectangle segment.\r\n */\r\n public getVerticalSegmentBounds(segmentId: number, numberOfSegments: number): Rectangle {\r\n const segmentHeight = this.getHeight() / numberOfSegments;\r\n\r\n const top = segmentId * segmentHeight;\r\n return this.inset(0, top, 0, 0).setHeight(segmentHeight);\r\n }\r\n\r\n /**\r\n * Horizontally divides this rectangle into specified number of equal width segments.\r\n * @returns Horizontal rectangle segment.\r\n */\r\n public getHorizontalSegmentBounds(segmentId: number, numberOfSegments: number): Rectangle {\r\n const segmentWidth = this.getWidth() / numberOfSegments;\r\n\r\n const left = segmentId * segmentWidth;\r\n return this.inset(left, 0, 0, 0).setWidth(segmentWidth);\r\n }\r\n\r\n /**\r\n * Calculates the shortest distance between this rectangle and a given point.\r\n * @returns The shortest distance to a point.\r\n */\r\n public getShortestDistanceToPoint(point: PointProps): number {\r\n let shortestDistance = 0;\r\n\r\n if (point.x < this.left) {\r\n if (point.y < this.top)\r\n shortestDistance = UiGeometry.hypotenuseXY(this.left - point.x, this.top - point.y);\r\n else if (point.y <= this.bottom)\r\n shortestDistance = this.left - point.x;\r\n else\r\n shortestDistance = UiGeometry.hypotenuseXY(this.left - point.x, this.bottom - point.y);\r\n } else if (point.x <= this.right) {\r\n if (point.y < this.top)\r\n shortestDistance = this.top - point.y;\r\n else if (point.y <= this.bottom)\r\n shortestDistance = 0;\r\n else\r\n shortestDistance = point.y - this.bottom;\r\n } else {\r\n if (point.y < this.top)\r\n shortestDistance = UiGeometry.hypotenuseXY(this.right - point.x, this.top - point.y);\r\n else if (point.y <= this.bottom)\r\n shortestDistance = point.x - this.right;\r\n else\r\n shortestDistance = UiGeometry.hypotenuseXY(this.right - point.x, this.bottom - point.y);\r\n }\r\n\r\n return shortestDistance;\r\n }\r\n\r\n /** @returns [[RectangleProps]] object for this rectangle. */\r\n public toProps(): RectangleProps {\r\n return {\r\n bottom: this.bottom,\r\n left: this.left,\r\n right: this.right,\r\n top: this.top,\r\n };\r\n }\r\n}\r\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ScrollPositionMaintainer.d.ts","sourceRoot":"","sources":["../../../../src/core-react/utils/ScrollPositionMaintainer.ts"],"names":[],"mappings":"AAIA;;GAEG;AACH,OAAO,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;
|
|
1
|
+
{"version":3,"file":"ScrollPositionMaintainer.d.ts","sourceRoot":"","sources":["../../../../src/core-react/utils/ScrollPositionMaintainer.ts"],"names":[],"mappings":"AAIA;;GAEG;AACH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAEvD;;;;;;;;;;;GAWG;AACH,qBAAa,wBAAyB,YAAW,WAAW;IAC1D,OAAO,CAAC,QAAQ,CAAuB;gBACpB,EAAE,EAAE,OAAO;IAIvB,OAAO;IACd,OAAO,CAAC,MAAM,CAAC,mBAAmB;IAUlC,OAAO,CAAC,MAAM,CAAC,sBAAsB;CAGtC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ScrollPositionMaintainer.js","sourceRoot":"","sources":["../../../../src/core-react/utils/ScrollPositionMaintainer.ts"],"names":[],"mappings":"AASA;;;;;;;;;;;GAWG;AACH,MAAM,OAAO,wBAAwB;IAEnC,YAAmB,EAAW;QAC5B,IAAI,CAAC,QAAQ,GAAG,IAAI,GAAG,EAAE,CAAC;QAC1B,wBAAwB,CAAC,mBAAmB,CAAC,CAAC,EAAE,CAAC,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;IACpE,CAAC;IACM,OAAO,KAAK,wBAAwB,CAAC,sBAAsB,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;IAC5E,MAAM,CAAC,mBAAmB,CAAC,KAAiC,EAAE,OAA6B;QACjG,KAAK,MAAM,EAAE,IAAI,KAAK,EAAE;YACtB,uBAAuB;YACvB,IAAI,EAAE,CAAC,SAAS;gBACd,OAAO,CAAC,GAAG,CAAC,EAAE,EAAE,EAAE,CAAC,SAAS,CAAC,CAAC;YAChC,uBAAuB;YACvB,IAAI,EAAE,CAAC,QAAQ;gBACb,IAAI,CAAC,mBAAmB,CAAC,EAAE,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;SAClD;IACH,CAAC;IACO,MAAM,CAAC,sBAAsB,CAAC,OAA6B;QACjE,OAAO,CAAC,OAAO,CAAC,CAAC,SAAS,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,SAAS,GAAG,SAAS,CAAC,CAAC;IAC/D,CAAC;CACF","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 Utilities\r\n */\r\nimport { IDisposable } from \"@itwin/core-bentley\";\r\n\r\n/**\r\n * A helper class to recursively save and restore scroll positions.\r\n * Usage:\r\n * ```ts\r\n * // scroll positions are saved when `ScrollPositionMaintainer` object is created\r\n * const maintainer = new ScrollPositionMaintainer(element);\r\n * // can do something with `element` here\r\n * // disposing the `maintainer` object restores scroll positions\r\n * maintainer.dispose();\r\n * ```\r\n * @public\r\n */\r\nexport class ScrollPositionMaintainer implements IDisposable {\r\n private _storage: Map<Element, number>;\r\n public constructor(el: Element) {\r\n this._storage = new Map();\r\n ScrollPositionMaintainer.saveScrollPositions([el], this._storage);\r\n }\r\n public dispose() { ScrollPositionMaintainer.restoreScrollPositions(this._storage); }\r\n private static saveScrollPositions(elems: Element[] | HTMLCollection, storage: Map<Element, number>) {\r\n for (const el of elems) {\r\n // istanbul ignore else\r\n if (el.scrollTop)\r\n storage.set(el, el.scrollTop);\r\n // istanbul ignore else\r\n if (el.children)\r\n this.saveScrollPositions(el.children, storage);\r\n }\r\n }\r\n private static restoreScrollPositions(storage: Map<Element, number>) {\r\n storage.forEach((scrollTop, el) => el.scrollTop = scrollTop);\r\n }\r\n}\r\n"]}
|
|
1
|
+
{"version":3,"file":"ScrollPositionMaintainer.js","sourceRoot":"","sources":["../../../../src/core-react/utils/ScrollPositionMaintainer.ts"],"names":[],"mappings":"AASA;;;;;;;;;;;GAWG;AACH,MAAM,OAAO,wBAAwB;IAEnC,YAAmB,EAAW;QAC5B,IAAI,CAAC,QAAQ,GAAG,IAAI,GAAG,EAAE,CAAC;QAC1B,wBAAwB,CAAC,mBAAmB,CAAC,CAAC,EAAE,CAAC,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;IACpE,CAAC;IACM,OAAO,KAAK,wBAAwB,CAAC,sBAAsB,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;IAC5E,MAAM,CAAC,mBAAmB,CAAC,KAAiC,EAAE,OAA6B;QACjG,KAAK,MAAM,EAAE,IAAI,KAAK,EAAE;YACtB,uBAAuB;YACvB,IAAI,EAAE,CAAC,SAAS;gBACd,OAAO,CAAC,GAAG,CAAC,EAAE,EAAE,EAAE,CAAC,SAAS,CAAC,CAAC;YAChC,uBAAuB;YACvB,IAAI,EAAE,CAAC,QAAQ;gBACb,IAAI,CAAC,mBAAmB,CAAC,EAAE,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;SAClD;IACH,CAAC;IACO,MAAM,CAAC,sBAAsB,CAAC,OAA6B;QACjE,OAAO,CAAC,OAAO,CAAC,CAAC,SAAS,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,SAAS,GAAG,SAAS,CAAC,CAAC;IAC/D,CAAC;CACF","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 Utilities\r\n */\r\nimport type { IDisposable } from \"@itwin/core-bentley\";\r\n\r\n/**\r\n * A helper class to recursively save and restore scroll positions.\r\n * Usage:\r\n * ```ts\r\n * // scroll positions are saved when `ScrollPositionMaintainer` object is created\r\n * const maintainer = new ScrollPositionMaintainer(element);\r\n * // can do something with `element` here\r\n * // disposing the `maintainer` object restores scroll positions\r\n * maintainer.dispose();\r\n * ```\r\n * @public\r\n */\r\nexport class ScrollPositionMaintainer implements IDisposable {\r\n private _storage: Map<Element, number>;\r\n public constructor(el: Element) {\r\n this._storage = new Map();\r\n ScrollPositionMaintainer.saveScrollPositions([el], this._storage);\r\n }\r\n public dispose() { ScrollPositionMaintainer.restoreScrollPositions(this._storage); }\r\n private static saveScrollPositions(elems: Element[] | HTMLCollection, storage: Map<Element, number>) {\r\n for (const el of elems) {\r\n // istanbul ignore else\r\n if (el.scrollTop)\r\n storage.set(el, el.scrollTop);\r\n // istanbul ignore else\r\n if (el.children)\r\n this.saveScrollPositions(el.children, storage);\r\n }\r\n }\r\n private static restoreScrollPositions(storage: Map<Element, number>) {\r\n storage.forEach((scrollTop, el) => el.scrollTop = scrollTop);\r\n }\r\n}\r\n"]}
|
|
@@ -9,7 +9,7 @@
|
|
|
9
9
|
* @public
|
|
10
10
|
*/
|
|
11
11
|
export function getCssVariable(variableName, htmlElement) {
|
|
12
|
-
const element = htmlElement
|
|
12
|
+
const element = htmlElement !== null && htmlElement !== void 0 ? htmlElement : document.documentElement;
|
|
13
13
|
const cssStyles = getComputedStyle(element, null);
|
|
14
14
|
const cssVal = String(cssStyles.getPropertyValue(variableName)).trim();
|
|
15
15
|
return cssVal;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getCssVariable.js","sourceRoot":"","sources":["../../../../src/core-react/utils/getCssVariable.ts"],"names":[],"mappings":"AAAA;;;+FAG+F;AAC/F;;GAEG;AAEH;;GAEG;AACH,MAAM,UAAU,cAAc,CAAC,YAAoB,EAAE,WAAyB;IAC5E,MAAM,OAAO,GAAG,WAAW,
|
|
1
|
+
{"version":3,"file":"getCssVariable.js","sourceRoot":"","sources":["../../../../src/core-react/utils/getCssVariable.ts"],"names":[],"mappings":"AAAA;;;+FAG+F;AAC/F;;GAEG;AAEH;;GAEG;AACH,MAAM,UAAU,cAAc,CAAC,YAAoB,EAAE,WAAyB;IAC5E,MAAM,OAAO,GAAG,WAAW,aAAX,WAAW,cAAX,WAAW,GAAI,QAAQ,CAAC,eAAe,CAAC;IACxD,MAAM,SAAS,GAAG,gBAAgB,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;IAClD,MAAM,MAAM,GAAG,MAAM,CAAC,SAAS,CAAC,gBAAgB,CAAC,YAAY,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;IACvE,OAAO,MAAM,CAAC;AAChB,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,sBAAsB,CAAC,YAAoB,EAAE,WAAyB;IACpF,IAAI,SAAS,GAAW,GAAG,CAAC;IAC5B,MAAM,SAAS,GAAG,cAAc,CAAC,YAAY,EAAE,WAAW,CAAC,CAAC;IAC5D,IAAI,SAAS;QACX,SAAS,GAAG,UAAU,CAAC,SAAS,CAAC,CAAC;IACpC,OAAO,SAAS,CAAC;AACnB,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/** @packageDocumentation\r\n * @module Utilities\r\n */\r\n\r\n/** Get CSS variable\r\n * @public\r\n */\r\nexport function getCssVariable(variableName: string, htmlElement?: HTMLElement): string {\r\n const element = htmlElement ?? document.documentElement;\r\n const cssStyles = getComputedStyle(element, null);\r\n const cssVal = String(cssStyles.getPropertyValue(variableName)).trim();\r\n return cssVal;\r\n}\r\n\r\n/** Get CSS variable as number\r\n * @public\r\n */\r\nexport function getCssVariableAsNumber(variableName: string, htmlElement?: HTMLElement): number {\r\n let cssValNum: number = NaN;\r\n const cssValStr = getCssVariable(variableName, htmlElement);\r\n if (cssValStr)\r\n cssValNum = parseFloat(cssValStr);\r\n return cssValNum;\r\n}\r\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getDisplayName.d.ts","sourceRoot":"","sources":["../../../../src/core-react/utils/getDisplayName.ts"],"names":[],"mappings":"AAIA;;GAEG;AAEH,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"getDisplayName.d.ts","sourceRoot":"","sources":["../../../../src/core-react/utils/getDisplayName.ts"],"names":[],"mappings":"AAIA;;GAEG;AAEH,OAAO,KAAK,KAAK,KAAK,MAAM,OAAO,CAAC;AAEpC;;GAEG;AACH,eAAO,MAAM,cAAc,cAAe,MAAM,aAAa,CAAC,GAAG,CAAC,KAAG,MAMpE,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getDisplayName.js","sourceRoot":"","sources":["../../../../src/core-react/utils/getDisplayName.ts"],"names":[],"mappings":"AAAA;;;+FAG+F;AAC/F;;GAEG;AAIH;;GAEG;AACH,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,SAAmC,EAAU,EAAE;IAC5E,IAAI,SAAS,CAAC,WAAW;QACvB,OAAO,SAAS,CAAC,WAAW,CAAC;IAC/B,IAAI,SAAS,CAAC,IAAI;QAChB,OAAO,SAAS,CAAC,IAAI,CAAC;IACxB,OAAO,WAAW,CAAC;AACrB,CAAC,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/** @packageDocumentation\r\n * @module Utilities\r\n */\r\n\r\nimport * as React from \"react\";\r\n\r\n/** Gets the display name for a React component.\r\n * @internal\r\n */\r\nexport const getDisplayName = (component: React.ComponentType<any>): string => {\r\n if (component.displayName)\r\n return component.displayName;\r\n if (component.name)\r\n return component.name;\r\n return \"Component\";\r\n};\r\n"]}
|
|
1
|
+
{"version":3,"file":"getDisplayName.js","sourceRoot":"","sources":["../../../../src/core-react/utils/getDisplayName.ts"],"names":[],"mappings":"AAAA;;;+FAG+F;AAC/F;;GAEG;AAIH;;GAEG;AACH,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,SAAmC,EAAU,EAAE;IAC5E,IAAI,SAAS,CAAC,WAAW;QACvB,OAAO,SAAS,CAAC,WAAW,CAAC;IAC/B,IAAI,SAAS,CAAC,IAAI;QAChB,OAAO,SAAS,CAAC,IAAI,CAAC;IACxB,OAAO,WAAW,CAAC;AACrB,CAAC,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/** @packageDocumentation\r\n * @module Utilities\r\n */\r\n\r\nimport type * as React from \"react\";\r\n\r\n/** Gets the display name for a React component.\r\n * @internal\r\n */\r\nexport const getDisplayName = (component: React.ComponentType<any>): string => {\r\n if (component.displayName)\r\n return component.displayName;\r\n if (component.name)\r\n return component.name;\r\n return \"Component\";\r\n};\r\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ResizeObserverPolyfill.js","sourceRoot":"","sources":["../../../../../src/core-react/utils/hooks/ResizeObserverPolyfill.tsx"],"names":[],"mappings":"AAAA;;;+FAG+F;AAC/F;;GAEG;AACH,OAAO,KAAK,sBAAsB,MAAM,0BAA0B,CAAC;AAKnE,SAAS,SAAS,CAAC,GAAQ;IACzB,wBAAwB;IACxB,IAAI,GAAG,CAAC,OAAO;QACb,OAAO,GAAG,CAAC,OAAO,CAAC;IACrB,OAAO,GAAG,CAAC;AACb,CAAC;AAED,gBAAgB;AAChB,MAAM,CAAC,MAAM,cAAc,GAAuB,SAAS,CAAC,sBAAsB,CAAC,CAAC,CAAC,2DAA2D","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 Utilities\r\n */\r\nimport * as ResizeObserverPolyfill from \"resize-observer-polyfill\";\r\n\r\n/** @internal */\r\nexport type ResizeObserverType = typeof import(\"resize-observer-polyfill\").default
|
|
1
|
+
{"version":3,"file":"ResizeObserverPolyfill.js","sourceRoot":"","sources":["../../../../../src/core-react/utils/hooks/ResizeObserverPolyfill.tsx"],"names":[],"mappings":"AAAA;;;+FAG+F;AAC/F;;GAEG;AACH,OAAO,KAAK,sBAAsB,MAAM,0BAA0B,CAAC;AAKnE,SAAS,SAAS,CAAC,GAAQ;IACzB,wBAAwB;IACxB,IAAI,GAAG,CAAC,OAAO;QACb,OAAO,GAAG,CAAC,OAAO,CAAC;IACrB,OAAO,GAAG,CAAC;AACb,CAAC;AAED,gBAAgB;AAChB,MAAM,CAAC,MAAM,cAAc,GAAuB,SAAS,CAAC,sBAAsB,CAAC,CAAC,CAAC,2DAA2D","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 Utilities\r\n */\r\nimport * as ResizeObserverPolyfill from \"resize-observer-polyfill\";\r\n\r\n/** @internal */\r\nexport type ResizeObserverType = typeof import(\"resize-observer-polyfill\").default; // eslint-disable-line @typescript-eslint/consistent-type-imports\r\n\r\nfunction getModule(mod: any) {\r\n /* istanbul ignore if */\r\n if (mod.default)\r\n return mod.default;\r\n return mod;\r\n}\r\n\r\n/** @internal */\r\nexport const ResizeObserver: ResizeObserverType = getModule(ResizeObserverPolyfill); // eslint-disable-line @typescript-eslint/naming-convention\r\n"]}
|
|
@@ -38,7 +38,8 @@ export function useCrossOriginPopup(visible, url, title, width, height, onClose)
|
|
|
38
38
|
}
|
|
39
39
|
}, [handleClosedPopup]);
|
|
40
40
|
const checkPopupClosed = React.useCallback(() => {
|
|
41
|
-
|
|
41
|
+
var _a;
|
|
42
|
+
if ((_a = popupWindow.current) === null || _a === void 0 ? void 0 : _a.closed) {
|
|
42
43
|
// Popup has been closed by end-user, inform our host and cleanup
|
|
43
44
|
handleClosedPopup();
|
|
44
45
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useCrossOriginPopup.js","sourceRoot":"","sources":["../../../../../src/core-react/utils/hooks/useCrossOriginPopup.tsx"],"names":[],"mappings":"AAAA;;;+FAG+F;AAC/F;;GAEG;AAEH,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EAAC,WAAW,EAAC,MAAM,eAAe,CAAC;AAE1C;;GAEG;AACH,MAAM,UAAU,mBAAmB,CAAC,OAAgB,EAAE,GAAuB,EAAE,KAAa,EAAE,KAAa,EAAE,MAAc,EAAE,OAAmB;IAE9I,MAAM,CAAC,oBAAoB,EAAE,uBAAuB,CAAC,GAAG,KAAK,CAAC,QAAQ,EAAsB,CAAC;IAE7F,gHAAgH;IAChH,oCAAoC;IACpC,MAAM,WAAW,GAAG,KAAK,CAAC,MAAM,EAAU,CAAC;IAC3C,MAAM,QAAQ,GAAG,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;IACnC,MAAM,UAAU,GAAG,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IACvC,MAAM,UAAU,GAAG,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IACvC,MAAM,WAAW,GAAG,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IACzC,MAAM,YAAY,GAAG,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IAE3C,KAAK,CAAC,SAAS,CAAC,GAAG,EAAE,GAAG,QAAQ,CAAC,OAAO,GAAG,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IAC1D,KAAK,CAAC,SAAS,CAAC,GAAG,EAAE,GAAG,UAAU,CAAC,OAAO,GAAG,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC;IAChE,KAAK,CAAC,SAAS,CAAC,GAAG,EAAE,GAAG,UAAU,CAAC,OAAO,GAAG,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC;IAChE,KAAK,CAAC,SAAS,CAAC,GAAG,EAAE,GAAG,WAAW,CAAC,OAAO,GAAG,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC;IACnE,KAAK,CAAC,SAAS,CAAC,GAAG,EAAE,GAAG,YAAY,CAAC,OAAO,GAAG,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC;IAEtE,0EAA0E;IAC1E,MAAM,iBAAiB,GAAG,KAAK,CAAC,WAAW,CAAC,GAAG,EAAE;QAC/C,YAAY,CAAC,OAAO,EAAE,CAAC;QACvB,uBAAuB,CAAC,SAAS,CAAC,CAAC;QACnC,WAAW,CAAC,OAAO,GAAG,SAAS,CAAC;IAClC,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,MAAM,UAAU,GAAG,KAAK,CAAC,WAAW,CAAC,GAAG,EAAE;QACxC,IAAI,WAAW,CAAC,OAAO,KAAK,SAAS,EAAE;YACrC,WAAW,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC,CAAI,2BAA2B;YAC3D,iBAAiB,EAAE,CAAC;SACrB;IACH,CAAC,EAAE,CAAC,iBAAiB,CAAC,CAAC,CAAC;IAExB,MAAM,gBAAgB,GAAG,KAAK,CAAC,WAAW,CAAC,GAAG,EAAE
|
|
1
|
+
{"version":3,"file":"useCrossOriginPopup.js","sourceRoot":"","sources":["../../../../../src/core-react/utils/hooks/useCrossOriginPopup.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 Utilities\r\n */\r\n\r\nimport * as React from \"react\";\r\nimport {useInterval} from \"./useInterval\";\r\n\r\n/** Hook that will show a popup window\r\n * @beta\r\n */\r\nexport function useCrossOriginPopup(visible: boolean, url: string | undefined, title: string, width: number, height: number, onClose: () => void) {\r\n\r\n const [checkPopupAliveDelay, setCheckPopupAliveDelay] = React.useState<number | undefined>();\r\n\r\n // ONLY re-render the popup when visibility changes, any other changes get deferred until next visibility change\r\n // hence the massive use of 'useRef'\r\n const popupWindow = React.useRef<Window>();\r\n const savedUrl = React.useRef(url);\r\n const savedTitle = React.useRef(title);\r\n const savedWidth = React.useRef(width);\r\n const savedHeight = React.useRef(height);\r\n const savedOnClose = React.useRef(onClose);\r\n\r\n React.useEffect(() => { savedUrl.current = url; }, [url]);\r\n React.useEffect(() => { savedTitle.current = title; }, [title]);\r\n React.useEffect(() => { savedWidth.current = width; }, [width]);\r\n React.useEffect(() => { savedHeight.current = height; }, [height]);\r\n React.useEffect(() => { savedOnClose.current = onClose; }, [onClose]);\r\n\r\n // Cleanup method after a popup closure. Also calls the OnClose callback.\r\n const handleClosedPopup = React.useCallback(() => {\r\n savedOnClose.current();\r\n setCheckPopupAliveDelay(undefined);\r\n popupWindow.current = undefined;\r\n }, []);\r\n\r\n const closePopup = React.useCallback(() => {\r\n if (popupWindow.current !== undefined) {\r\n popupWindow.current.close(); // Manually close the popup\r\n handleClosedPopup();\r\n }\r\n }, [handleClosedPopup]);\r\n\r\n const checkPopupClosed = React.useCallback(() => {\r\n if (popupWindow.current?.closed) {\r\n // Popup has been closed by end-user, inform our host and cleanup\r\n handleClosedPopup();\r\n }\r\n }, [handleClosedPopup]);\r\n\r\n // Close popup when parent window get closed\r\n React.useEffect(() => {\r\n window.onbeforeunload = (_event) => {closePopup();};\r\n return () => {\r\n window.onbeforeunload = null;\r\n };\r\n }, [closePopup]);\r\n\r\n // Whenever the hook is unloaded, make sure the underlying popup get closed.\r\n // Note: An interval is used to check if popup was closed by user: because we access\r\n // a cross domain resource inside the popup, we don't have access to popup window events.\r\n // As a workaround, we periodically check if popup is still alive.\r\n // Reference: https://stackoverflow.com/questions/9388380/capture-the-close-event-of-popup-window-in-javascript/48240128#48240128\r\n React.useEffect(() => {\r\n return () => {\r\n closePopup();\r\n };\r\n }, [closePopup]);\r\n\r\n // Timer that checks if popup was closed by end-user\r\n useInterval(checkPopupClosed, checkPopupAliveDelay);\r\n\r\n // ==> Main render effect\r\n // Monitors visibility changes and open/close the popup accordingly.\r\n React.useEffect(() => {\r\n // If visible and a popup window is not already open, open a new popup window\r\n if (visible && popupWindow.current === undefined) {\r\n const popup = window.open(savedUrl.current, savedTitle.current, `width=${savedWidth.current},height=${savedHeight.current}`);\r\n if (popup) {\r\n popup.focus();\r\n popupWindow.current = popup;\r\n\r\n // Start and interval that will check if popup got closed by user\r\n setCheckPopupAliveDelay(1000);\r\n }\r\n }\r\n\r\n // If not visible but a previous popup window is still open, close it.\r\n if (!visible && popupWindow.current !== undefined) {\r\n popupWindow.current.close();\r\n\r\n handleClosedPopup();\r\n }\r\n\r\n }, [handleClosedPopup, visible]);\r\n}\r\n"]}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/** @packageDocumentation
|
|
2
2
|
* @module Utilities
|
|
3
3
|
*/
|
|
4
|
-
import { IDisposable } from "@itwin/core-bentley";
|
|
4
|
+
import type { IDisposable } from "@itwin/core-bentley";
|
|
5
5
|
/**
|
|
6
6
|
* A custom hook which creates a disposable object and manages its disposal on unmount
|
|
7
7
|
* or factory method change.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useDisposable.d.ts","sourceRoot":"","sources":["../../../../../src/core-react/utils/hooks/useDisposable.ts"],"names":[],"mappings":"AAIA;;GAEG;AAGH,OAAO,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;
|
|
1
|
+
{"version":3,"file":"useDisposable.d.ts","sourceRoot":"","sources":["../../../../../src/core-react/utils/hooks/useDisposable.ts"],"names":[],"mappings":"AAIA;;GAEG;AAGH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAEvD;;;;GAIG;AACH,wBAAgB,aAAa,CAAC,WAAW,SAAS,WAAW,EAAE,gBAAgB,EAAE,MAAM,WAAW,GAAG,WAAW,CAE/G;AAED;;;;;GAKG;AACH,wBAAgB,qBAAqB,CAAC,WAAW,SAAS,WAAW,EAAE,gBAAgB,EAAE,MAAM,WAAW,GAAG,SAAS,GAAG,WAAW,GAAG,SAAS,CAY/I"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useDisposable.js","sourceRoot":"","sources":["../../../../../src/core-react/utils/hooks/useDisposable.ts"],"names":[],"mappings":"AAAA;;;+FAG+F;AAC/F;;GAEG;AAEH,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,OAAO,CAAC;AAGnD;;;;GAIG;AACH,MAAM,UAAU,aAAa,CAAkC,gBAAmC;IAChG,OAAO,qBAAqB,CAAC,gBAAgB,CAAE,CAAC;AAClD,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,qBAAqB,CAAkC,gBAA+C;IACpH,MAAM,QAAQ,GAAG,MAAM,EAAe,CAAC;IACvC,MAAM,KAAK,GAAG,OAAO,CAAC,GAAG,EAAE;QACzB,IAAI,QAAQ,CAAC,OAAO;YAClB,QAAQ,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC;QAE7B,QAAQ,CAAC,OAAO,GAAG,gBAAgB,EAAE,CAAC;QACtC,OAAO,QAAQ,CAAC,OAAO,CAAC;IAC1B,CAAC,EAAE,CAAC,gBAAgB,CAAC,CAAC,CAAC;IAEvB,SAAS,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,CAAC,QAAQ,CAAC,OAAO,IAAI,QAAQ,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,EAAE,CAAC,CAAC;IAC1E,OAAO,KAAK,CAAC;AACf,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/** @packageDocumentation\r\n * @module Utilities\r\n */\r\n\r\nimport { useEffect, useMemo, useRef } from \"react\";\r\nimport { IDisposable } from \"@itwin/core-bentley\";\r\n\r\n/**\r\n * A custom hook which creates a disposable object and manages its disposal on unmount\r\n * or factory method change.\r\n * @public\r\n */\r\nexport function useDisposable<TDisposable extends IDisposable>(createDisposable: () => TDisposable): TDisposable {\r\n return useOptionalDisposable(createDisposable)!;\r\n}\r\n\r\n/**\r\n * A custom hook which calls the factory method to create a disposable object\r\n * which might as well be undefined. If the result was a disposable object, the\r\n * hook takes care of disposing it when necessary.\r\n * @public\r\n */\r\nexport function useOptionalDisposable<TDisposable extends IDisposable>(createDisposable: () => TDisposable | undefined): TDisposable | undefined {\r\n const previous = useRef<TDisposable>();\r\n const value = useMemo(() => {\r\n if (previous.current)\r\n previous.current.dispose();\r\n\r\n previous.current = createDisposable();\r\n return previous.current;\r\n }, [createDisposable]);\r\n\r\n useEffect(() => () => previous.current && previous.current.dispose(), []);\r\n return value;\r\n}\r\n"]}
|
|
1
|
+
{"version":3,"file":"useDisposable.js","sourceRoot":"","sources":["../../../../../src/core-react/utils/hooks/useDisposable.ts"],"names":[],"mappings":"AAAA;;;+FAG+F;AAC/F;;GAEG;AAEH,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,OAAO,CAAC;AAGnD;;;;GAIG;AACH,MAAM,UAAU,aAAa,CAAkC,gBAAmC;IAChG,OAAO,qBAAqB,CAAC,gBAAgB,CAAE,CAAC;AAClD,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,qBAAqB,CAAkC,gBAA+C;IACpH,MAAM,QAAQ,GAAG,MAAM,EAAe,CAAC;IACvC,MAAM,KAAK,GAAG,OAAO,CAAC,GAAG,EAAE;QACzB,IAAI,QAAQ,CAAC,OAAO;YAClB,QAAQ,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC;QAE7B,QAAQ,CAAC,OAAO,GAAG,gBAAgB,EAAE,CAAC;QACtC,OAAO,QAAQ,CAAC,OAAO,CAAC;IAC1B,CAAC,EAAE,CAAC,gBAAgB,CAAC,CAAC,CAAC;IAEvB,SAAS,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,CAAC,QAAQ,CAAC,OAAO,IAAI,QAAQ,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,EAAE,CAAC,CAAC;IAC1E,OAAO,KAAK,CAAC;AACf,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/** @packageDocumentation\r\n * @module Utilities\r\n */\r\n\r\nimport { useEffect, useMemo, useRef } from \"react\";\r\nimport type { IDisposable } from \"@itwin/core-bentley\";\r\n\r\n/**\r\n * A custom hook which creates a disposable object and manages its disposal on unmount\r\n * or factory method change.\r\n * @public\r\n */\r\nexport function useDisposable<TDisposable extends IDisposable>(createDisposable: () => TDisposable): TDisposable {\r\n return useOptionalDisposable(createDisposable)!;\r\n}\r\n\r\n/**\r\n * A custom hook which calls the factory method to create a disposable object\r\n * which might as well be undefined. If the result was a disposable object, the\r\n * hook takes care of disposing it when necessary.\r\n * @public\r\n */\r\nexport function useOptionalDisposable<TDisposable extends IDisposable>(createDisposable: () => TDisposable | undefined): TDisposable | undefined {\r\n const previous = useRef<TDisposable>();\r\n const value = useMemo(() => {\r\n if (previous.current)\r\n previous.current.dispose();\r\n\r\n previous.current = createDisposable();\r\n return previous.current;\r\n }, [createDisposable]);\r\n\r\n useEffect(() => () => previous.current && previous.current.dispose(), []);\r\n return value;\r\n}\r\n"]}
|
|
@@ -20,18 +20,20 @@ export function useResizeObserver(onResize) {
|
|
|
20
20
|
const owningWindowRef = React.useRef(null);
|
|
21
21
|
// istanbul ignore next
|
|
22
22
|
const resizeObserverCleanup = () => {
|
|
23
|
+
var _a;
|
|
23
24
|
if (rafRef.current)
|
|
24
25
|
owningWindowRef.current.cancelAnimationFrame(rafRef.current);
|
|
25
|
-
resizeObserver.current
|
|
26
|
+
(_a = resizeObserver.current) === null || _a === void 0 ? void 0 : _a.disconnect();
|
|
26
27
|
resizeObserver.current = null;
|
|
27
28
|
};
|
|
28
29
|
React.useEffect(() => {
|
|
29
30
|
isMountedRef.current = true;
|
|
30
31
|
return () => {
|
|
32
|
+
var _a;
|
|
31
33
|
isMountedRef.current = false;
|
|
32
34
|
if (rafRef.current)
|
|
33
35
|
owningWindowRef.current.cancelAnimationFrame(rafRef.current);
|
|
34
|
-
owningWindowRef.current
|
|
36
|
+
(_a = owningWindowRef.current) === null || _a === void 0 ? void 0 : _a.removeEventListener("beforeunload", resizeObserverCleanup);
|
|
35
37
|
};
|
|
36
38
|
}, []);
|
|
37
39
|
const processResize = React.useCallback((target) => {
|
|
@@ -68,7 +70,8 @@ export function useResizeObserver(onResize) {
|
|
|
68
70
|
setBounds(newBounds);
|
|
69
71
|
}
|
|
70
72
|
return () => {
|
|
71
|
-
|
|
73
|
+
var _a;
|
|
74
|
+
instance && ( /* istanbul ignore next */(_a = resizeObserver.current) === null || _a === void 0 ? void 0 : _a.unobserve(instance));
|
|
72
75
|
resizeObserver.current = null;
|
|
73
76
|
};
|
|
74
77
|
}, [handleResize, onResize]);
|
|
@@ -89,8 +92,8 @@ export function useResizeObserver(onResize) {
|
|
|
89
92
|
* @internal
|
|
90
93
|
*/
|
|
91
94
|
export function useLayoutResizeObserver(inElement, onResize) {
|
|
92
|
-
const inBoundingRect = inElement
|
|
93
|
-
const [bounds, setBounds] = React.useState({ width: inBoundingRect
|
|
95
|
+
const inBoundingRect = inElement === null || inElement === void 0 ? void 0 : inElement.getBoundingClientRect();
|
|
96
|
+
const [bounds, setBounds] = React.useState({ width: inBoundingRect === null || inBoundingRect === void 0 ? void 0 : inBoundingRect.width, height: inBoundingRect === null || inBoundingRect === void 0 ? void 0 : inBoundingRect.height });
|
|
94
97
|
const [watchedElement, setWatchedElement] = React.useState(inElement);
|
|
95
98
|
const resizeObserver = React.useRef(null);
|
|
96
99
|
const rafRef = React.useRef(0); // set to non-zero when requestAnimationFrame processing is active
|
|
@@ -98,9 +101,10 @@ export function useLayoutResizeObserver(inElement, onResize) {
|
|
|
98
101
|
const owningWindowRef = React.useRef(null);
|
|
99
102
|
// istanbul ignore next
|
|
100
103
|
const resizeObserverCleanup = () => {
|
|
104
|
+
var _a;
|
|
101
105
|
if (rafRef.current)
|
|
102
106
|
owningWindowRef.current.cancelAnimationFrame(rafRef.current);
|
|
103
|
-
resizeObserver.current
|
|
107
|
+
(_a = resizeObserver.current) === null || _a === void 0 ? void 0 : _a.disconnect();
|
|
104
108
|
resizeObserver.current = null;
|
|
105
109
|
};
|
|
106
110
|
React.useEffect(() => {
|
|
@@ -151,8 +155,9 @@ export function useLayoutResizeObserver(inElement, onResize) {
|
|
|
151
155
|
resizeObserver.current = new ResizeObserver(handleResize);
|
|
152
156
|
resizeObserver.current.observe(watchedElement);
|
|
153
157
|
return () => {
|
|
158
|
+
var _a;
|
|
154
159
|
// istanbul ignore next
|
|
155
|
-
resizeObserver.current
|
|
160
|
+
(_a = resizeObserver.current) === null || _a === void 0 ? void 0 : _a.disconnect();
|
|
156
161
|
resizeObserver.current = null;
|
|
157
162
|
};
|
|
158
163
|
}, [handleResize, watchedElement]);
|
|
@@ -188,7 +193,7 @@ export function ResizableContainerObserver({ onResize, children }) {
|
|
|
188
193
|
}, [hasChildren]);
|
|
189
194
|
const processResize = React.useCallback((width, height) => {
|
|
190
195
|
// istanbul ignore next
|
|
191
|
-
onResize(width
|
|
196
|
+
onResize(width !== null && width !== void 0 ? width : 0, height !== null && height !== void 0 ? height : 0);
|
|
192
197
|
}, [onResize]);
|
|
193
198
|
useLayoutResizeObserver(containerElement, processResize);
|
|
194
199
|
const style = hasChildren ? { width: "100%", height: "100%" } : { display: "none" };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useResizeObserver.js","sourceRoot":"","sources":["../../../../../src/core-react/utils/hooks/useResizeObserver.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 Utilities\r\n */\r\nimport * as React from \"react\";\r\nimport { ResizeObserver } from \"./ResizeObserverPolyfill\";\r\nimport { useRefEffect } from \"./useRefEffect\";\r\nimport { useRefs } from \"./useRefs\";\r\n\r\n/** Uses ResizeObserver API to notify about element bound changes.\r\n * @internal\r\n */\r\nexport function useResizeObserver<T extends Element>(onResize?: (width: number, height: number) => void) {\r\n const [bounds, setBounds] = React.useState({ width: 0, height: 0 });\r\n const resizeObserver = React.useRef<ResizeObserver | null>(null);\r\n const rafRef = React.useRef(0); // set to non-zero when requestAnimationFrame processing is active\r\n const isMountedRef = React.useRef(false);\r\n const owningWindowRef = React.useRef<any>(null);\r\n\r\n // istanbul ignore next\r\n const resizeObserverCleanup = () => {\r\n if (rafRef.current)\r\n owningWindowRef.current.cancelAnimationFrame(rafRef.current);\r\n\r\n resizeObserver.current?.disconnect();\r\n resizeObserver.current = null;\r\n };\r\n\r\n React.useEffect(() => {\r\n isMountedRef.current = true;\r\n return () => {\r\n isMountedRef.current = false;\r\n if (rafRef.current)\r\n owningWindowRef.current.cancelAnimationFrame(rafRef.current);\r\n owningWindowRef.current?.removeEventListener(\"beforeunload\", resizeObserverCleanup);\r\n };\r\n }, []);\r\n\r\n const processResize = React.useCallback((target: HTMLElement) => {\r\n const newBounds = target.getBoundingClientRect();\r\n // istanbul ignore else\r\n if (isMountedRef.current && (bounds.width !== newBounds.width || bounds.height !== newBounds.height)) {\r\n setBounds(newBounds);\r\n onResize && onResize(newBounds.width, newBounds.height);\r\n }\r\n }, [onResize, bounds.height, bounds.width]);\r\n\r\n const handleResize = React.useCallback((entries: any[]) => {\r\n // istanbul ignore if\r\n if (!isMountedRef.current || !Array.isArray(entries) || 0 === entries.length) {\r\n return;\r\n }\r\n const target = entries[0].target as HTMLElement;\r\n // istanbul ignore next\r\n owningWindowRef.current && owningWindowRef.current.removeEventListener(\"beforeunload\", resizeObserverCleanup);\r\n\r\n owningWindowRef.current = target.ownerDocument.defaultView;\r\n // istanbul ignore else\r\n if (owningWindowRef.current) {\r\n owningWindowRef.current.addEventListener(\"unload\", resizeObserverCleanup);\r\n\r\n // using requestAnimationFrame to stop the \"ResizeObserver loop completed with undelivered notifications.\" and\r\n // \"ResizeObserver loop limit exceeded\" messages reported to window.onError\r\n rafRef.current = owningWindowRef.current.requestAnimationFrame(() => processResize(target));\r\n }\r\n }, [processResize]);\r\n\r\n const observerRef = useRefEffect((instance: T | null) => {\r\n resizeObserver.current = new ResizeObserver(handleResize);\r\n if (instance) {\r\n resizeObserver.current.observe(instance);\r\n const newBounds = instance.getBoundingClientRect();\r\n onResize && onResize(newBounds.width, newBounds.height);\r\n setBounds(newBounds);\r\n }\r\n\r\n return () => {\r\n instance && ( /* istanbul ignore next */resizeObserver.current?.unobserve(instance));\r\n resizeObserver.current = null;\r\n };\r\n }, [handleResize, onResize]);\r\n\r\n const handleRef = React.useCallback((instance: Element | null) => {\r\n const newBounds = instance && instance.getBoundingClientRect();\r\n // istanbul ignore if\r\n if (newBounds && (bounds.width !== newBounds.width || bounds.height !== newBounds.height)) {\r\n setBounds(newBounds);\r\n onResize && onResize(newBounds.width, newBounds.height);\r\n }\r\n }, [bounds.height, bounds.width, onResize]);\r\n\r\n const ref = useRefs(handleRef, observerRef);\r\n return ref;\r\n}\r\n\r\n/** React hook that uses ResizeObserver API to notify about element bound changes. Note: to work similar to ReactResizeDetector\r\n * width and height are initialized as undefined and only set during after mount if bounds are non-zero. This implementation properly\r\n * handles observing element in pop-out/child windows.\r\n * @internal\r\n */\r\nexport function useLayoutResizeObserver(inElement: HTMLElement | null, onResize?: (width?: number, height?: number) => void) {\r\n const inBoundingRect = inElement?.getBoundingClientRect();\r\n const [bounds, setBounds] = React.useState<{ width?: number, height?: number }>({ width: inBoundingRect?.width, height: inBoundingRect?.height });\r\n const [watchedElement, setWatchedElement] = React.useState(inElement);\r\n const resizeObserver = React.useRef<ResizeObserver | null>(null);\r\n const rafRef = React.useRef(0); // set to non-zero when requestAnimationFrame processing is active\r\n const isMountedRef = React.useRef(false);\r\n const owningWindowRef = React.useRef<any>(null);\r\n\r\n // istanbul ignore next\r\n const resizeObserverCleanup = () => {\r\n if (rafRef.current)\r\n owningWindowRef.current.cancelAnimationFrame(rafRef.current);\r\n\r\n resizeObserver.current?.disconnect();\r\n resizeObserver.current = null;\r\n };\r\n\r\n React.useEffect(() => {\r\n isMountedRef.current = true;\r\n setWatchedElement(inElement);\r\n\r\n // istanbul ignore next\r\n if (inElement) {\r\n const newBounds = inElement.getBoundingClientRect();\r\n onResize && onResize(newBounds.width, newBounds.height);\r\n setBounds(newBounds);\r\n }\r\n\r\n return () => {\r\n isMountedRef.current = false;\r\n (rafRef.current && owningWindowRef.current) && owningWindowRef.current.cancelAnimationFrame(rafRef.current);\r\n owningWindowRef.current && owningWindowRef.current.removeEventListener(\"beforeunload\", resizeObserverCleanup);\r\n };\r\n }, [onResize, inElement]);\r\n\r\n const processResize = React.useCallback((target: HTMLElement) => {\r\n const newBounds = target.getBoundingClientRect();\r\n // istanbul ignore next\r\n if (isMountedRef.current && (bounds.width !== newBounds.width || bounds.height !== newBounds.height)) {\r\n onResize && onResize(newBounds.width, newBounds.height);\r\n setBounds(newBounds);\r\n }\r\n }, [bounds.height, bounds.width, onResize]);\r\n\r\n const handleResize = React.useCallback((entries: any[]) => {\r\n // istanbul ignore next\r\n if (!isMountedRef.current || !Array.isArray(entries) || 0 === entries.length) {\r\n return;\r\n }\r\n const target = entries[0].target as HTMLElement;\r\n // istanbul ignore next\r\n if (owningWindowRef.current)\r\n owningWindowRef.current.removeEventListener(\"beforeunload\", resizeObserverCleanup);\r\n\r\n owningWindowRef.current = target.ownerDocument.defaultView;\r\n // istanbul ignore else\r\n if (owningWindowRef.current) {\r\n owningWindowRef.current.addEventListener(\"unload\", resizeObserverCleanup);\r\n\r\n // using requestAnimationFrame to stop the \"ResizeObserver loop completed with undelivered notifications.\" and\r\n // \"ResizeObserver loop limit exceeded\" messages reported to window.onError\r\n rafRef.current = owningWindowRef.current.requestAnimationFrame(() => processResize(target));\r\n }\r\n }, [processResize]);\r\n\r\n React.useLayoutEffect(() => {\r\n if (!watchedElement) {\r\n return;\r\n }\r\n resizeObserver.current = new ResizeObserver(handleResize);\r\n resizeObserver.current.observe(watchedElement);\r\n return () => {\r\n // istanbul ignore next\r\n resizeObserver.current?.disconnect();\r\n resizeObserver.current = null;\r\n };\r\n }, [handleResize, watchedElement]);\r\n\r\n return [bounds.width, bounds.height];\r\n}\r\n\r\n/** Prop the ElementResizeObserver sends to the render function.\r\n * @public\r\n */\r\nexport interface RenderPropsArgs {\r\n width?: number;\r\n height?: number;\r\n}\r\n\r\n/** ElementResizeObserver provides functionality similar to ReactResizeDetector when a render function is specified. This implementation properly handles\r\n * observing element in pop-out/child windows.\r\n * @public\r\n */\r\nexport function ElementResizeObserver({ watchedElement, render }: { watchedElement: HTMLElement | null, render: (props: RenderPropsArgs) => JSX.Element }) {\r\n const [width, height] = useLayoutResizeObserver(watchedElement);\r\n return render({ width, height });\r\n}\r\n\r\n/** ResizableContainerObserver is a component that provides the functionality similar to the ReactResizeDetector option that call a function when\r\n * the observed element is resized. This implementation properly handles observing element in pop-out/child windows. If children nodes are defined then\r\n * the div added by the component is considered the container whose size will be observed. If no children are provided then the component will report\r\n * size changes from its parent container.\r\n * @public\r\n */\r\nexport function ResizableContainerObserver({ onResize, children }: { onResize: (width: number, height: number) => void, children?: React.ReactNode }) {\r\n const containerRef = React.useRef<HTMLDivElement>(null); // set to non-zero when requestAnimationFrame processing is active\r\n const [containerElement, setContainerElement] = React.useState<HTMLElement | null>(null);\r\n const isMountedRef = React.useRef(false);\r\n const hasChildren = React.Children.count(children) !== 0;\r\n\r\n // if no children are specified then monitor size of parent element.\r\n React.useEffect(() => {\r\n // istanbul ignore next\r\n if (!isMountedRef.current && containerRef.current) {\r\n isMountedRef.current = true;\r\n const hasParent = !!containerRef.current.parentElement;\r\n setContainerElement(hasChildren && hasParent ? containerRef.current : containerRef.current.parentElement);\r\n }\r\n }, [hasChildren]);\r\n\r\n const processResize = React.useCallback((width?: number, height?: number) => {\r\n // istanbul ignore next\r\n onResize(width ?? 0, height ?? 0);\r\n }, [onResize]);\r\n\r\n useLayoutResizeObserver(containerElement, processResize);\r\n const style: React.CSSProperties = hasChildren ? { width: \"100%\", height: \"100%\" } : { display: \"none\" };\r\n\r\n return (\r\n <div ref={containerRef} className=\"uicore-resizable-container\" style={style}>\r\n {hasChildren && children}\r\n </div>\r\n );\r\n}\r\n"]}
|
|
1
|
+
{"version":3,"file":"useResizeObserver.js","sourceRoot":"","sources":["../../../../../src/core-react/utils/hooks/useResizeObserver.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 Utilities\r\n */\r\nimport * as React from \"react\";\r\nimport { ResizeObserver } from \"./ResizeObserverPolyfill\";\r\nimport { useRefEffect } from \"./useRefEffect\";\r\nimport { useRefs } from \"./useRefs\";\r\n\r\n/** Uses ResizeObserver API to notify about element bound changes.\r\n * @internal\r\n */\r\nexport function useResizeObserver<T extends Element>(onResize?: (width: number, height: number) => void) {\r\n const [bounds, setBounds] = React.useState({ width: 0, height: 0 });\r\n const resizeObserver = React.useRef<ResizeObserver | null>(null);\r\n const rafRef = React.useRef(0); // set to non-zero when requestAnimationFrame processing is active\r\n const isMountedRef = React.useRef(false);\r\n const owningWindowRef = React.useRef<any>(null);\r\n\r\n // istanbul ignore next\r\n const resizeObserverCleanup = () => {\r\n if (rafRef.current)\r\n owningWindowRef.current.cancelAnimationFrame(rafRef.current);\r\n\r\n resizeObserver.current?.disconnect();\r\n resizeObserver.current = null;\r\n };\r\n\r\n React.useEffect(() => {\r\n isMountedRef.current = true;\r\n return () => {\r\n isMountedRef.current = false;\r\n if (rafRef.current)\r\n owningWindowRef.current.cancelAnimationFrame(rafRef.current);\r\n owningWindowRef.current?.removeEventListener(\"beforeunload\", resizeObserverCleanup);\r\n };\r\n }, []);\r\n\r\n const processResize = React.useCallback((target: HTMLElement) => {\r\n const newBounds = target.getBoundingClientRect();\r\n // istanbul ignore else\r\n if (isMountedRef.current && (bounds.width !== newBounds.width || bounds.height !== newBounds.height)) {\r\n setBounds(newBounds);\r\n onResize && onResize(newBounds.width, newBounds.height);\r\n }\r\n }, [onResize, bounds.height, bounds.width]);\r\n\r\n const handleResize = React.useCallback((entries: any[]) => {\r\n // istanbul ignore if\r\n if (!isMountedRef.current || !Array.isArray(entries) || 0 === entries.length) {\r\n return;\r\n }\r\n const target = entries[0].target as HTMLElement;\r\n // istanbul ignore next\r\n owningWindowRef.current && owningWindowRef.current.removeEventListener(\"beforeunload\", resizeObserverCleanup);\r\n\r\n owningWindowRef.current = target.ownerDocument.defaultView;\r\n // istanbul ignore else\r\n if (owningWindowRef.current) {\r\n owningWindowRef.current.addEventListener(\"unload\", resizeObserverCleanup);\r\n\r\n // using requestAnimationFrame to stop the \"ResizeObserver loop completed with undelivered notifications.\" and\r\n // \"ResizeObserver loop limit exceeded\" messages reported to window.onError\r\n rafRef.current = owningWindowRef.current.requestAnimationFrame(() => processResize(target));\r\n }\r\n }, [processResize]);\r\n\r\n const observerRef = useRefEffect((instance: T | null) => {\r\n resizeObserver.current = new ResizeObserver(handleResize);\r\n if (instance) {\r\n resizeObserver.current.observe(instance);\r\n const newBounds = instance.getBoundingClientRect();\r\n onResize && onResize(newBounds.width, newBounds.height);\r\n setBounds(newBounds);\r\n }\r\n\r\n return () => {\r\n instance && ( /* istanbul ignore next */resizeObserver.current?.unobserve(instance));\r\n resizeObserver.current = null;\r\n };\r\n }, [handleResize, onResize]);\r\n\r\n const handleRef = React.useCallback((instance: Element | null) => {\r\n const newBounds = instance && instance.getBoundingClientRect();\r\n // istanbul ignore if\r\n if (newBounds && (bounds.width !== newBounds.width || bounds.height !== newBounds.height)) {\r\n setBounds(newBounds);\r\n onResize && onResize(newBounds.width, newBounds.height);\r\n }\r\n }, [bounds.height, bounds.width, onResize]);\r\n\r\n const ref = useRefs(handleRef, observerRef);\r\n return ref;\r\n}\r\n\r\n/** React hook that uses ResizeObserver API to notify about element bound changes. Note: to work similar to ReactResizeDetector\r\n * width and height are initialized as undefined and only set during after mount if bounds are non-zero. This implementation properly\r\n * handles observing element in pop-out/child windows.\r\n * @internal\r\n */\r\nexport function useLayoutResizeObserver(inElement: HTMLElement | null, onResize?: (width?: number, height?: number) => void) {\r\n const inBoundingRect = inElement?.getBoundingClientRect();\r\n const [bounds, setBounds] = React.useState<{ width?: number, height?: number }>({ width: inBoundingRect?.width, height: inBoundingRect?.height });\r\n const [watchedElement, setWatchedElement] = React.useState(inElement);\r\n const resizeObserver = React.useRef<ResizeObserver | null>(null);\r\n const rafRef = React.useRef(0); // set to non-zero when requestAnimationFrame processing is active\r\n const isMountedRef = React.useRef(false);\r\n const owningWindowRef = React.useRef<any>(null);\r\n\r\n // istanbul ignore next\r\n const resizeObserverCleanup = () => {\r\n if (rafRef.current)\r\n owningWindowRef.current.cancelAnimationFrame(rafRef.current);\r\n\r\n resizeObserver.current?.disconnect();\r\n resizeObserver.current = null;\r\n };\r\n\r\n React.useEffect(() => {\r\n isMountedRef.current = true;\r\n setWatchedElement(inElement);\r\n\r\n // istanbul ignore next\r\n if (inElement) {\r\n const newBounds = inElement.getBoundingClientRect();\r\n onResize && onResize(newBounds.width, newBounds.height);\r\n setBounds(newBounds);\r\n }\r\n\r\n return () => {\r\n isMountedRef.current = false;\r\n (rafRef.current && owningWindowRef.current) && owningWindowRef.current.cancelAnimationFrame(rafRef.current);\r\n owningWindowRef.current && owningWindowRef.current.removeEventListener(\"beforeunload\", resizeObserverCleanup);\r\n };\r\n }, [onResize, inElement]);\r\n\r\n const processResize = React.useCallback((target: HTMLElement) => {\r\n const newBounds = target.getBoundingClientRect();\r\n // istanbul ignore next\r\n if (isMountedRef.current && (bounds.width !== newBounds.width || bounds.height !== newBounds.height)) {\r\n onResize && onResize(newBounds.width, newBounds.height);\r\n setBounds(newBounds);\r\n }\r\n }, [bounds.height, bounds.width, onResize]);\r\n\r\n const handleResize = React.useCallback((entries: any[]) => {\r\n // istanbul ignore next\r\n if (!isMountedRef.current || !Array.isArray(entries) || 0 === entries.length) {\r\n return;\r\n }\r\n const target = entries[0].target as HTMLElement;\r\n // istanbul ignore next\r\n if (owningWindowRef.current)\r\n owningWindowRef.current.removeEventListener(\"beforeunload\", resizeObserverCleanup);\r\n\r\n owningWindowRef.current = target.ownerDocument.defaultView;\r\n // istanbul ignore else\r\n if (owningWindowRef.current) {\r\n owningWindowRef.current.addEventListener(\"unload\", resizeObserverCleanup);\r\n\r\n // using requestAnimationFrame to stop the \"ResizeObserver loop completed with undelivered notifications.\" and\r\n // \"ResizeObserver loop limit exceeded\" messages reported to window.onError\r\n rafRef.current = owningWindowRef.current.requestAnimationFrame(() => processResize(target));\r\n }\r\n }, [processResize]);\r\n\r\n React.useLayoutEffect(() => {\r\n if (!watchedElement) {\r\n return;\r\n }\r\n resizeObserver.current = new ResizeObserver(handleResize);\r\n resizeObserver.current.observe(watchedElement);\r\n return () => {\r\n // istanbul ignore next\r\n resizeObserver.current?.disconnect();\r\n resizeObserver.current = null;\r\n };\r\n }, [handleResize, watchedElement]);\r\n\r\n return [bounds.width, bounds.height];\r\n}\r\n\r\n/** Prop the ElementResizeObserver sends to the render function.\r\n * @public\r\n */\r\nexport interface RenderPropsArgs {\r\n width?: number;\r\n height?: number;\r\n}\r\n\r\n/** ElementResizeObserver provides functionality similar to ReactResizeDetector when a render function is specified. This implementation properly handles\r\n * observing element in pop-out/child windows.\r\n * @public\r\n */\r\nexport function ElementResizeObserver({ watchedElement, render }: { watchedElement: HTMLElement | null, render: (props: RenderPropsArgs) => JSX.Element }) {\r\n const [width, height] = useLayoutResizeObserver(watchedElement);\r\n return render({ width, height });\r\n}\r\n\r\n/** ResizableContainerObserver is a component that provides the functionality similar to the ReactResizeDetector option that call a function when\r\n * the observed element is resized. This implementation properly handles observing element in pop-out/child windows. If children nodes are defined then\r\n * the div added by the component is considered the container whose size will be observed. If no children are provided then the component will report\r\n * size changes from its parent container.\r\n * @public\r\n */\r\nexport function ResizableContainerObserver({ onResize, children }: { onResize: (width: number, height: number) => void, children?: React.ReactNode }) {\r\n const containerRef = React.useRef<HTMLDivElement>(null); // set to non-zero when requestAnimationFrame processing is active\r\n const [containerElement, setContainerElement] = React.useState<HTMLElement | null>(null);\r\n const isMountedRef = React.useRef(false);\r\n const hasChildren = React.Children.count(children) !== 0;\r\n\r\n // if no children are specified then monitor size of parent element.\r\n React.useEffect(() => {\r\n // istanbul ignore next\r\n if (!isMountedRef.current && containerRef.current) {\r\n isMountedRef.current = true;\r\n const hasParent = !!containerRef.current.parentElement;\r\n setContainerElement(hasChildren && hasParent ? containerRef.current : containerRef.current.parentElement);\r\n }\r\n }, [hasChildren]);\r\n\r\n const processResize = React.useCallback((width?: number, height?: number) => {\r\n // istanbul ignore next\r\n onResize(width ?? 0, height ?? 0);\r\n }, [onResize]);\r\n\r\n useLayoutResizeObserver(containerElement, processResize);\r\n const style: React.CSSProperties = hasChildren ? { width: \"100%\", height: \"100%\" } : { display: \"none\" };\r\n\r\n return (\r\n <div ref={containerRef} className=\"uicore-resizable-container\" style={style}>\r\n {hasChildren && children}\r\n </div>\r\n );\r\n}\r\n"]}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@itwin/core-react",
|
|
3
|
-
"version": "4.1.0
|
|
3
|
+
"version": "4.1.0",
|
|
4
4
|
"description": "iTwin.js UI core components",
|
|
5
5
|
"main": "lib/cjs/core-react.js",
|
|
6
6
|
"module": "lib/esm/core-react.js",
|
|
@@ -24,8 +24,8 @@
|
|
|
24
24
|
"url": "http://www.bentley.com"
|
|
25
25
|
},
|
|
26
26
|
"peerDependencies": {
|
|
27
|
-
"@itwin/appui-abstract": "
|
|
28
|
-
"@itwin/core-bentley": "
|
|
27
|
+
"@itwin/appui-abstract": "^3.7.0 || ^4.0.0",
|
|
28
|
+
"@itwin/core-bentley": "^3.7.0 || ^4.0.0",
|
|
29
29
|
"react": "^17.0.0 || ^18.0.0",
|
|
30
30
|
"react-dom": "^17.0.0 || ^18.0.0"
|
|
31
31
|
},
|
|
@@ -112,7 +112,11 @@
|
|
|
112
112
|
"extends": [
|
|
113
113
|
"plugin:@itwin/ui",
|
|
114
114
|
"plugin:@itwin/jsdoc"
|
|
115
|
-
]
|
|
115
|
+
],
|
|
116
|
+
"rules": {
|
|
117
|
+
"@typescript-eslint/consistent-type-imports": "error",
|
|
118
|
+
"no-duplicate-imports": "off"
|
|
119
|
+
}
|
|
116
120
|
},
|
|
117
121
|
"scripts": {
|
|
118
122
|
"build": "npm run -s copy:locale && npm run -s build:cjs && npm run -s build:esm",
|
|
@@ -125,6 +129,7 @@
|
|
|
125
129
|
"clean": "rimraf lib .rush/temp/package-deps*.json",
|
|
126
130
|
"cover": "nyc npm -s test",
|
|
127
131
|
"lint": "eslint -f visualstudio \"./src/**/*.{ts,tsx}\" 1>&2",
|
|
132
|
+
"lint:fix": "npm run -s lint -- --fix",
|
|
128
133
|
"extract-api": "betools extract-api --entry=core-react",
|
|
129
134
|
"test": "mocha --config ../.mocharc.json \"./lib/cjs/test/**/*.test.js\"",
|
|
130
135
|
"test:watch": "npm -s test -- --reporter min --watch-extensions ts,tsx --watch",
|