@itwin/core-react 4.11.0 → 4.13.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 +21 -1
- package/ContributeGuidelines.md +2 -2
- package/lib/cjs/core-react/UiCore.d.ts +2 -6
- package/lib/cjs/core-react/UiCore.d.ts.map +1 -1
- package/lib/cjs/core-react/UiCore.js +2 -18
- package/lib/cjs/core-react/UiCore.js.map +1 -1
- package/lib/cjs/core-react/UiCore.json +31 -0
- 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 +2 -2
- package/lib/cjs/core-react/autosuggest/AutoSuggest.js.map +1 -1
- package/lib/cjs/core-react/badge/Badge.d.ts +6 -9
- package/lib/cjs/core-react/badge/Badge.d.ts.map +1 -1
- package/lib/cjs/core-react/badge/Badge.js +10 -9
- package/lib/cjs/core-react/badge/Badge.js.map +1 -1
- package/lib/{esm/core-react/badge/BadgeUtilities.d.ts → cjs/core-react/badge/BadgeType.d.ts} +1 -9
- package/lib/cjs/core-react/badge/BadgeType.d.ts.map +1 -0
- package/lib/cjs/core-react/{useTranslation.js → badge/BadgeType.js} +9 -13
- package/lib/cjs/core-react/badge/BadgeType.js.map +1 -0
- package/lib/cjs/core-react/badge/NewBadge.d.ts +2 -3
- package/lib/cjs/core-react/badge/NewBadge.d.ts.map +1 -1
- package/lib/cjs/core-react/badge/NewBadge.js +6 -7
- package/lib/cjs/core-react/badge/NewBadge.js.map +1 -1
- package/lib/cjs/core-react/badge/NewBadge.scss +2 -3
- package/lib/cjs/core-react/badge/TechnicalPreviewBadge.d.ts +10 -0
- package/lib/cjs/core-react/badge/TechnicalPreviewBadge.d.ts.map +1 -0
- package/lib/cjs/core-react/badge/TechnicalPreviewBadge.js +29 -0
- package/lib/cjs/core-react/badge/TechnicalPreviewBadge.js.map +1 -0
- package/lib/cjs/core-react/badge/{Badge.scss → TechnicalPreviewBadge.scss} +1 -7
- package/lib/cjs/core-react/base/Centered.d.ts +1 -0
- package/lib/cjs/core-react/base/Centered.d.ts.map +1 -1
- package/lib/cjs/core-react/base/Centered.js +2 -0
- package/lib/cjs/core-react/base/Centered.js.map +1 -1
- package/lib/cjs/core-react/base/Div.d.ts +2 -0
- package/lib/cjs/core-react/base/Div.d.ts.map +1 -1
- package/lib/cjs/core-react/base/Div.js +2 -0
- package/lib/cjs/core-react/base/Div.js.map +1 -1
- package/lib/cjs/core-react/base/DivWithOutsideClick.d.ts +1 -0
- package/lib/cjs/core-react/base/DivWithOutsideClick.d.ts.map +1 -1
- package/lib/cjs/core-react/base/DivWithOutsideClick.js +1 -0
- package/lib/cjs/core-react/base/DivWithOutsideClick.js.map +1 -1
- package/lib/cjs/core-react/base/FillCentered.d.ts +1 -0
- package/lib/cjs/core-react/base/FillCentered.d.ts.map +1 -1
- package/lib/cjs/core-react/base/FillCentered.js +2 -0
- package/lib/cjs/core-react/base/FillCentered.js.map +1 -1
- package/lib/cjs/core-react/base/FlexWrapContainer.d.ts +1 -0
- package/lib/cjs/core-react/base/FlexWrapContainer.d.ts.map +1 -1
- package/lib/cjs/core-react/base/FlexWrapContainer.js +2 -0
- package/lib/cjs/core-react/base/FlexWrapContainer.js.map +1 -1
- package/lib/cjs/core-react/base/Gap.d.ts +2 -0
- package/lib/cjs/core-react/base/Gap.d.ts.map +1 -1
- package/lib/cjs/core-react/base/Gap.js +3 -1
- package/lib/cjs/core-react/base/Gap.js.map +1 -1
- package/lib/cjs/core-react/base/ScrollView.d.ts +1 -0
- package/lib/cjs/core-react/base/ScrollView.d.ts.map +1 -1
- package/lib/cjs/core-react/base/ScrollView.js +2 -0
- package/lib/cjs/core-react/base/ScrollView.js.map +1 -1
- package/lib/cjs/core-react/button/UnderlinedButton.d.ts +2 -0
- package/lib/cjs/core-react/button/UnderlinedButton.d.ts.map +1 -1
- package/lib/cjs/core-react/button/UnderlinedButton.js +2 -0
- package/lib/cjs/core-react/button/UnderlinedButton.js.map +1 -1
- package/lib/cjs/core-react/checklistbox/CheckListBox.d.ts +4 -0
- package/lib/cjs/core-react/checklistbox/CheckListBox.d.ts.map +1 -1
- package/lib/cjs/core-react/checklistbox/CheckListBox.js +4 -0
- package/lib/cjs/core-react/checklistbox/CheckListBox.js.map +1 -1
- package/lib/cjs/core-react/contextmenu/ContextMenu.d.ts.map +1 -1
- package/lib/cjs/core-react/contextmenu/ContextMenu.js +1 -2
- package/lib/cjs/core-react/contextmenu/ContextMenu.js.map +1 -1
- package/lib/cjs/core-react/contextmenu/ContextMenuItem.d.ts +1 -1
- package/lib/cjs/core-react/contextmenu/ContextMenuItem.d.ts.map +1 -1
- package/lib/cjs/core-react/contextmenu/ContextMenuItem.js +3 -3
- package/lib/cjs/core-react/contextmenu/ContextMenuItem.js.map +1 -1
- package/lib/cjs/core-react/contextmenu/ContextSubMenu.d.ts.map +1 -1
- package/lib/cjs/core-react/contextmenu/ContextSubMenu.js +3 -3
- package/lib/cjs/core-react/contextmenu/ContextSubMenu.js.map +1 -1
- package/lib/cjs/core-react/contextmenu/GlobalContextMenu.js +3 -5
- package/lib/cjs/core-react/contextmenu/GlobalContextMenu.js.map +1 -1
- package/lib/cjs/core-react/dialog/Dialog.d.ts +4 -0
- package/lib/cjs/core-react/dialog/Dialog.d.ts.map +1 -1
- package/lib/cjs/core-react/dialog/Dialog.js +69 -53
- package/lib/cjs/core-react/dialog/Dialog.js.map +1 -1
- package/lib/cjs/core-react/dialog/GlobalDialog.d.ts +3 -0
- package/lib/cjs/core-react/dialog/GlobalDialog.d.ts.map +1 -1
- package/lib/cjs/core-react/dialog/GlobalDialog.js +7 -3
- package/lib/cjs/core-react/dialog/GlobalDialog.js.map +1 -1
- package/lib/cjs/core-react/elementseparator/ElementSeparator.d.ts +4 -2
- package/lib/cjs/core-react/elementseparator/ElementSeparator.d.ts.map +1 -1
- package/lib/cjs/core-react/elementseparator/ElementSeparator.js +5 -3
- package/lib/cjs/core-react/elementseparator/ElementSeparator.js.map +1 -1
- package/lib/cjs/core-react/expandable/ExpandableList.d.ts +3 -3
- package/lib/cjs/core-react/expandable/ExpandableList.d.ts.map +1 -1
- package/lib/cjs/core-react/expandable/ExpandableList.js +5 -2
- package/lib/cjs/core-react/expandable/ExpandableList.js.map +1 -1
- package/lib/cjs/core-react/hocs/withOnOutsideClick.js +1 -2
- package/lib/cjs/core-react/hocs/withOnOutsideClick.js.map +1 -1
- package/lib/cjs/core-react/icons/IconComponent.d.ts.map +1 -1
- package/lib/cjs/core-react/icons/IconComponent.js +22 -12
- package/lib/cjs/core-react/icons/IconComponent.js.map +1 -1
- package/lib/cjs/core-react/imagecheckbox/ImageCheckBox.d.ts +3 -2
- package/lib/cjs/core-react/imagecheckbox/ImageCheckBox.d.ts.map +1 -1
- package/lib/cjs/core-react/imagecheckbox/ImageCheckBox.js +3 -2
- package/lib/cjs/core-react/imagecheckbox/ImageCheckBox.js.map +1 -1
- package/lib/cjs/core-react/inputs/InputLabel.d.ts +2 -0
- package/lib/cjs/core-react/inputs/InputLabel.d.ts.map +1 -1
- package/lib/cjs/core-react/inputs/InputLabel.js +5 -0
- package/lib/cjs/core-react/inputs/InputLabel.js.map +1 -1
- package/lib/cjs/core-react/inputs/InputStatus.d.ts +1 -0
- package/lib/cjs/core-react/inputs/InputStatus.d.ts.map +1 -1
- package/lib/cjs/core-react/inputs/InputStatus.js +1 -0
- package/lib/cjs/core-react/inputs/InputStatus.js.map +1 -1
- package/lib/cjs/core-react/inputs/LabeledComponentProps.d.ts +2 -0
- 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 +2 -0
- package/lib/cjs/core-react/inputs/iconinput/IconInput.d.ts.map +1 -1
- package/lib/cjs/core-react/inputs/iconinput/IconInput.js +3 -0
- package/lib/cjs/core-react/inputs/iconinput/IconInput.js.map +1 -1
- package/lib/cjs/core-react/inputs/numberinput/NumberInput.d.ts +3 -0
- package/lib/cjs/core-react/inputs/numberinput/NumberInput.d.ts.map +1 -1
- package/lib/cjs/core-react/inputs/numberinput/NumberInput.js +1 -0
- package/lib/cjs/core-react/inputs/numberinput/NumberInput.js.map +1 -1
- package/lib/cjs/core-react/l10n/LocalizationProvider.d.ts +20 -0
- package/lib/cjs/core-react/l10n/LocalizationProvider.d.ts.map +1 -0
- package/lib/cjs/core-react/l10n/LocalizationProvider.js +29 -0
- package/lib/cjs/core-react/l10n/LocalizationProvider.js.map +1 -0
- package/lib/cjs/core-react/l10n/usePackageTranslation.d.ts +15 -0
- package/lib/cjs/core-react/l10n/usePackageTranslation.d.ts.map +1 -0
- package/lib/cjs/core-react/l10n/usePackageTranslation.js +64 -0
- package/lib/cjs/core-react/l10n/usePackageTranslation.js.map +1 -0
- package/lib/cjs/core-react/l10n/useTranslation.d.ts +7 -0
- package/lib/cjs/core-react/l10n/useTranslation.d.ts.map +1 -0
- package/lib/cjs/core-react/l10n/useTranslation.js +30 -0
- package/lib/cjs/core-react/l10n/useTranslation.js.map +1 -0
- package/lib/cjs/core-react/listbox/Listbox.d.ts +14 -14
- package/lib/cjs/core-react/listbox/Listbox.d.ts.map +1 -1
- package/lib/cjs/core-react/listbox/Listbox.js +8 -10
- package/lib/cjs/core-react/listbox/Listbox.js.map +1 -1
- package/lib/cjs/core-react/loading/LoadingBar.d.ts +3 -2
- package/lib/cjs/core-react/loading/LoadingBar.d.ts.map +1 -1
- package/lib/cjs/core-react/loading/LoadingBar.js +2 -2
- package/lib/cjs/core-react/loading/LoadingBar.js.map +1 -1
- package/lib/cjs/core-react/loading/LoadingPrompt.d.ts +3 -2
- package/lib/cjs/core-react/loading/LoadingPrompt.d.ts.map +1 -1
- package/lib/cjs/core-react/loading/LoadingPrompt.js +2 -2
- package/lib/cjs/core-react/loading/LoadingPrompt.js.map +1 -1
- package/lib/cjs/core-react/loading/LoadingSpinner.d.ts +4 -2
- package/lib/cjs/core-react/loading/LoadingSpinner.d.ts.map +1 -1
- package/lib/cjs/core-react/loading/LoadingSpinner.js +2 -2
- package/lib/cjs/core-react/loading/LoadingSpinner.js.map +1 -1
- package/lib/cjs/core-react/loading/LoadingStatus.d.ts +3 -2
- package/lib/cjs/core-react/loading/LoadingStatus.d.ts.map +1 -1
- package/lib/cjs/core-react/loading/LoadingStatus.js +2 -2
- package/lib/cjs/core-react/loading/LoadingStatus.js.map +1 -1
- package/lib/cjs/core-react/messagebox/MessageBox.d.ts.map +1 -1
- package/lib/cjs/core-react/messagebox/MessageBox.js +3 -1
- package/lib/cjs/core-react/messagebox/MessageBox.js.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/popup/Popup.js +4 -8
- package/lib/cjs/core-react/popup/Popup.js.map +1 -1
- package/lib/cjs/core-react/radialmenu/Annulus.d.ts +7 -8
- package/lib/cjs/core-react/radialmenu/Annulus.d.ts.map +1 -1
- package/lib/cjs/core-react/radialmenu/Annulus.js +7 -8
- package/lib/cjs/core-react/radialmenu/Annulus.js.map +1 -1
- package/lib/cjs/core-react/radialmenu/RadialMenu.d.ts +0 -1
- 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 +3 -3
- package/lib/cjs/core-react/searchbox/SearchBox.d.ts.map +1 -1
- package/lib/cjs/core-react/searchbox/SearchBox.js +15 -9
- package/lib/cjs/core-react/searchbox/SearchBox.js.map +1 -1
- package/lib/cjs/core-react/settings/SettingsContainer.d.ts.map +1 -1
- package/lib/cjs/core-react/settings/SettingsContainer.js +8 -4
- package/lib/cjs/core-react/settings/SettingsContainer.js.map +1 -1
- package/lib/cjs/core-react/settings/SettingsManager.d.ts +10 -7
- package/lib/cjs/core-react/settings/SettingsManager.d.ts.map +1 -1
- package/lib/cjs/core-react/settings/SettingsManager.js +14 -12
- package/lib/cjs/core-react/settings/SettingsManager.js.map +1 -1
- package/lib/cjs/core-react/tabs/Tabs.d.ts +5 -5
- package/lib/cjs/core-react/tabs/Tabs.d.ts.map +1 -1
- package/lib/cjs/core-react/tabs/Tabs.js +1 -0
- package/lib/cjs/core-react/tabs/Tabs.js.map +1 -1
- package/lib/cjs/core-react/tabs/VerticalTabs.d.ts +1 -0
- package/lib/cjs/core-react/tabs/VerticalTabs.d.ts.map +1 -1
- package/lib/cjs/core-react/tabs/VerticalTabs.js +2 -0
- package/lib/cjs/core-react/tabs/VerticalTabs.js.map +1 -1
- package/lib/cjs/core-react/text/BlockText.d.ts +1 -0
- package/lib/cjs/core-react/text/BlockText.d.ts.map +1 -1
- package/lib/cjs/core-react/text/BlockText.js +2 -0
- 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 +2 -1
- package/lib/cjs/core-react/text/BodyText.js.map +1 -1
- package/lib/cjs/core-react/text/DisabledText.d.ts +1 -0
- package/lib/cjs/core-react/text/DisabledText.d.ts.map +1 -1
- package/lib/cjs/core-react/text/DisabledText.js +2 -1
- package/lib/cjs/core-react/text/DisabledText.js.map +1 -1
- package/lib/cjs/core-react/text/MutedText.d.ts.map +1 -1
- package/lib/cjs/core-react/text/MutedText.js +1 -0
- package/lib/cjs/core-react/text/MutedText.js.map +1 -1
- package/lib/cjs/core-react/text/StyledText.d.ts +1 -0
- 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 +1 -0
- 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/ExpansionToggle.d.ts +1 -3
- package/lib/cjs/core-react/tree/ExpansionToggle.d.ts.map +1 -1
- package/lib/cjs/core-react/tree/ExpansionToggle.js +9 -10
- package/lib/cjs/core-react/tree/ExpansionToggle.js.map +1 -1
- package/lib/cjs/core-react/tree/Node.js +1 -2
- package/lib/cjs/core-react/tree/Node.js.map +1 -1
- package/lib/cjs/core-react/utils/IconWebComponent.d.ts +4 -2
- package/lib/cjs/core-react/utils/IconWebComponent.d.ts.map +1 -1
- package/lib/cjs/core-react/utils/IconWebComponent.js +10 -6
- package/lib/cjs/core-react/utils/IconWebComponent.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/getObjectClassName.js +2 -3
- package/lib/cjs/core-react/utils/getObjectClassName.js.map +1 -1
- package/lib/cjs/core-react/utils/hooks/ResizeObserverPolyfill.d.ts +4 -1
- package/lib/cjs/core-react/utils/hooks/ResizeObserverPolyfill.d.ts.map +1 -1
- package/lib/cjs/core-react/utils/hooks/ResizeObserverPolyfill.js +5 -2
- package/lib/cjs/core-react/utils/hooks/ResizeObserverPolyfill.js.map +1 -1
- package/lib/cjs/core-react/utils/hooks/useCrossOriginPopup.d.ts +1 -1
- package/lib/cjs/core-react/utils/hooks/useCrossOriginPopup.js +2 -3
- package/lib/cjs/core-react/utils/hooks/useCrossOriginPopup.js.map +1 -1
- package/lib/cjs/core-react/utils/hooks/useResizeObserver.d.ts.map +1 -1
- package/lib/cjs/core-react/utils/hooks/useResizeObserver.js +12 -16
- package/lib/cjs/core-react/utils/hooks/useResizeObserver.js.map +1 -1
- package/lib/cjs/core-react.d.ts +3 -3
- package/lib/cjs/core-react.d.ts.map +1 -1
- package/lib/cjs/core-react.js +12 -9
- package/lib/cjs/core-react.js.map +1 -1
- package/lib/esm/core-react/UiCore.d.ts +2 -6
- package/lib/esm/core-react/UiCore.d.ts.map +1 -1
- package/lib/esm/core-react/UiCore.js +2 -18
- package/lib/esm/core-react/UiCore.js.map +1 -1
- package/lib/esm/core-react/UiCore.json +31 -0
- 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 +1 -1
- package/lib/esm/core-react/autosuggest/AutoSuggest.js.map +1 -1
- package/lib/esm/core-react/badge/Badge.d.ts +6 -9
- package/lib/esm/core-react/badge/Badge.d.ts.map +1 -1
- package/lib/esm/core-react/badge/Badge.js +10 -9
- package/lib/esm/core-react/badge/Badge.js.map +1 -1
- package/lib/{cjs/core-react/badge/BadgeUtilities.d.ts → esm/core-react/badge/BadgeType.d.ts} +1 -9
- package/lib/esm/core-react/badge/BadgeType.d.ts.map +1 -0
- package/lib/esm/core-react/badge/BadgeType.js +13 -0
- package/lib/esm/core-react/badge/BadgeType.js.map +1 -0
- package/lib/esm/core-react/badge/NewBadge.d.ts +2 -3
- package/lib/esm/core-react/badge/NewBadge.d.ts.map +1 -1
- package/lib/esm/core-react/badge/NewBadge.js +6 -7
- package/lib/esm/core-react/badge/NewBadge.js.map +1 -1
- package/lib/esm/core-react/badge/NewBadge.scss +2 -3
- package/lib/esm/core-react/badge/TechnicalPreviewBadge.d.ts +10 -0
- package/lib/esm/core-react/badge/TechnicalPreviewBadge.d.ts.map +1 -0
- package/lib/esm/core-react/badge/TechnicalPreviewBadge.js +25 -0
- package/lib/esm/core-react/badge/TechnicalPreviewBadge.js.map +1 -0
- package/lib/esm/core-react/badge/{Badge.scss → TechnicalPreviewBadge.scss} +1 -7
- package/lib/esm/core-react/base/Centered.d.ts +1 -0
- package/lib/esm/core-react/base/Centered.d.ts.map +1 -1
- package/lib/esm/core-react/base/Centered.js +2 -0
- package/lib/esm/core-react/base/Centered.js.map +1 -1
- package/lib/esm/core-react/base/Div.d.ts +2 -0
- package/lib/esm/core-react/base/Div.d.ts.map +1 -1
- package/lib/esm/core-react/base/Div.js +2 -0
- package/lib/esm/core-react/base/Div.js.map +1 -1
- package/lib/esm/core-react/base/DivWithOutsideClick.d.ts +1 -0
- package/lib/esm/core-react/base/DivWithOutsideClick.d.ts.map +1 -1
- package/lib/esm/core-react/base/DivWithOutsideClick.js +1 -0
- package/lib/esm/core-react/base/DivWithOutsideClick.js.map +1 -1
- package/lib/esm/core-react/base/FillCentered.d.ts +1 -0
- package/lib/esm/core-react/base/FillCentered.d.ts.map +1 -1
- package/lib/esm/core-react/base/FillCentered.js +2 -0
- package/lib/esm/core-react/base/FillCentered.js.map +1 -1
- package/lib/esm/core-react/base/FlexWrapContainer.d.ts +1 -0
- package/lib/esm/core-react/base/FlexWrapContainer.d.ts.map +1 -1
- package/lib/esm/core-react/base/FlexWrapContainer.js +2 -0
- package/lib/esm/core-react/base/FlexWrapContainer.js.map +1 -1
- package/lib/esm/core-react/base/Gap.d.ts +2 -0
- package/lib/esm/core-react/base/Gap.d.ts.map +1 -1
- package/lib/esm/core-react/base/Gap.js +3 -1
- package/lib/esm/core-react/base/Gap.js.map +1 -1
- package/lib/esm/core-react/base/ScrollView.d.ts +1 -0
- package/lib/esm/core-react/base/ScrollView.d.ts.map +1 -1
- package/lib/esm/core-react/base/ScrollView.js +2 -0
- package/lib/esm/core-react/base/ScrollView.js.map +1 -1
- package/lib/esm/core-react/button/UnderlinedButton.d.ts +2 -0
- package/lib/esm/core-react/button/UnderlinedButton.d.ts.map +1 -1
- package/lib/esm/core-react/button/UnderlinedButton.js +2 -0
- package/lib/esm/core-react/button/UnderlinedButton.js.map +1 -1
- package/lib/esm/core-react/checklistbox/CheckListBox.d.ts +4 -0
- package/lib/esm/core-react/checklistbox/CheckListBox.d.ts.map +1 -1
- package/lib/esm/core-react/checklistbox/CheckListBox.js +4 -0
- package/lib/esm/core-react/checklistbox/CheckListBox.js.map +1 -1
- package/lib/esm/core-react/contextmenu/ContextMenu.d.ts.map +1 -1
- package/lib/esm/core-react/contextmenu/ContextMenu.js +1 -2
- package/lib/esm/core-react/contextmenu/ContextMenu.js.map +1 -1
- package/lib/esm/core-react/contextmenu/ContextMenuItem.d.ts +1 -1
- package/lib/esm/core-react/contextmenu/ContextMenuItem.d.ts.map +1 -1
- package/lib/esm/core-react/contextmenu/ContextMenuItem.js +3 -3
- package/lib/esm/core-react/contextmenu/ContextMenuItem.js.map +1 -1
- package/lib/esm/core-react/contextmenu/ContextSubMenu.d.ts.map +1 -1
- package/lib/esm/core-react/contextmenu/ContextSubMenu.js +3 -3
- package/lib/esm/core-react/contextmenu/ContextSubMenu.js.map +1 -1
- package/lib/esm/core-react/contextmenu/GlobalContextMenu.js +3 -5
- package/lib/esm/core-react/contextmenu/GlobalContextMenu.js.map +1 -1
- package/lib/esm/core-react/dialog/Dialog.d.ts +4 -0
- package/lib/esm/core-react/dialog/Dialog.d.ts.map +1 -1
- package/lib/esm/core-react/dialog/Dialog.js +69 -53
- package/lib/esm/core-react/dialog/Dialog.js.map +1 -1
- package/lib/esm/core-react/dialog/GlobalDialog.d.ts +3 -0
- package/lib/esm/core-react/dialog/GlobalDialog.d.ts.map +1 -1
- package/lib/esm/core-react/dialog/GlobalDialog.js +7 -3
- package/lib/esm/core-react/dialog/GlobalDialog.js.map +1 -1
- package/lib/esm/core-react/elementseparator/ElementSeparator.d.ts +4 -2
- package/lib/esm/core-react/elementseparator/ElementSeparator.d.ts.map +1 -1
- package/lib/esm/core-react/elementseparator/ElementSeparator.js +5 -3
- package/lib/esm/core-react/elementseparator/ElementSeparator.js.map +1 -1
- package/lib/esm/core-react/expandable/ExpandableList.d.ts +3 -3
- package/lib/esm/core-react/expandable/ExpandableList.d.ts.map +1 -1
- package/lib/esm/core-react/expandable/ExpandableList.js +5 -2
- package/lib/esm/core-react/expandable/ExpandableList.js.map +1 -1
- package/lib/esm/core-react/hocs/withOnOutsideClick.js +1 -2
- package/lib/esm/core-react/hocs/withOnOutsideClick.js.map +1 -1
- package/lib/esm/core-react/icons/IconComponent.d.ts.map +1 -1
- package/lib/esm/core-react/icons/IconComponent.js +21 -11
- package/lib/esm/core-react/icons/IconComponent.js.map +1 -1
- package/lib/esm/core-react/imagecheckbox/ImageCheckBox.d.ts +3 -2
- package/lib/esm/core-react/imagecheckbox/ImageCheckBox.d.ts.map +1 -1
- package/lib/esm/core-react/imagecheckbox/ImageCheckBox.js +3 -2
- package/lib/esm/core-react/imagecheckbox/ImageCheckBox.js.map +1 -1
- package/lib/esm/core-react/inputs/InputLabel.d.ts +2 -0
- package/lib/esm/core-react/inputs/InputLabel.d.ts.map +1 -1
- package/lib/esm/core-react/inputs/InputLabel.js +5 -0
- package/lib/esm/core-react/inputs/InputLabel.js.map +1 -1
- package/lib/esm/core-react/inputs/InputStatus.d.ts +1 -0
- package/lib/esm/core-react/inputs/InputStatus.d.ts.map +1 -1
- package/lib/esm/core-react/inputs/InputStatus.js +1 -0
- package/lib/esm/core-react/inputs/InputStatus.js.map +1 -1
- package/lib/esm/core-react/inputs/LabeledComponentProps.d.ts +2 -0
- 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 +2 -0
- package/lib/esm/core-react/inputs/iconinput/IconInput.d.ts.map +1 -1
- package/lib/esm/core-react/inputs/iconinput/IconInput.js +3 -0
- package/lib/esm/core-react/inputs/iconinput/IconInput.js.map +1 -1
- package/lib/esm/core-react/inputs/numberinput/NumberInput.d.ts +3 -0
- package/lib/esm/core-react/inputs/numberinput/NumberInput.d.ts.map +1 -1
- package/lib/esm/core-react/inputs/numberinput/NumberInput.js +1 -0
- package/lib/esm/core-react/inputs/numberinput/NumberInput.js.map +1 -1
- package/lib/esm/core-react/l10n/LocalizationProvider.d.ts +20 -0
- package/lib/esm/core-react/l10n/LocalizationProvider.d.ts.map +1 -0
- package/lib/esm/core-react/l10n/LocalizationProvider.js +24 -0
- package/lib/esm/core-react/l10n/LocalizationProvider.js.map +1 -0
- package/lib/esm/core-react/l10n/usePackageTranslation.d.ts +15 -0
- package/lib/esm/core-react/l10n/usePackageTranslation.d.ts.map +1 -0
- package/lib/esm/core-react/l10n/usePackageTranslation.js +60 -0
- package/lib/esm/core-react/l10n/usePackageTranslation.js.map +1 -0
- package/lib/esm/core-react/l10n/useTranslation.d.ts +7 -0
- package/lib/esm/core-react/l10n/useTranslation.d.ts.map +1 -0
- package/lib/esm/core-react/l10n/useTranslation.js +26 -0
- package/lib/esm/core-react/l10n/useTranslation.js.map +1 -0
- package/lib/esm/core-react/listbox/Listbox.d.ts +14 -14
- package/lib/esm/core-react/listbox/Listbox.d.ts.map +1 -1
- package/lib/esm/core-react/listbox/Listbox.js +8 -10
- package/lib/esm/core-react/listbox/Listbox.js.map +1 -1
- package/lib/esm/core-react/loading/LoadingBar.d.ts +3 -2
- package/lib/esm/core-react/loading/LoadingBar.d.ts.map +1 -1
- package/lib/esm/core-react/loading/LoadingBar.js +2 -2
- package/lib/esm/core-react/loading/LoadingBar.js.map +1 -1
- package/lib/esm/core-react/loading/LoadingPrompt.d.ts +3 -2
- package/lib/esm/core-react/loading/LoadingPrompt.d.ts.map +1 -1
- package/lib/esm/core-react/loading/LoadingPrompt.js +2 -2
- package/lib/esm/core-react/loading/LoadingPrompt.js.map +1 -1
- package/lib/esm/core-react/loading/LoadingSpinner.d.ts +4 -2
- package/lib/esm/core-react/loading/LoadingSpinner.d.ts.map +1 -1
- package/lib/esm/core-react/loading/LoadingSpinner.js +2 -2
- package/lib/esm/core-react/loading/LoadingSpinner.js.map +1 -1
- package/lib/esm/core-react/loading/LoadingStatus.d.ts +3 -2
- package/lib/esm/core-react/loading/LoadingStatus.d.ts.map +1 -1
- package/lib/esm/core-react/loading/LoadingStatus.js +2 -2
- package/lib/esm/core-react/loading/LoadingStatus.js.map +1 -1
- package/lib/esm/core-react/messagebox/MessageBox.d.ts.map +1 -1
- package/lib/esm/core-react/messagebox/MessageBox.js +3 -1
- package/lib/esm/core-react/messagebox/MessageBox.js.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/popup/Popup.js +4 -8
- package/lib/esm/core-react/popup/Popup.js.map +1 -1
- package/lib/esm/core-react/radialmenu/Annulus.d.ts +7 -8
- package/lib/esm/core-react/radialmenu/Annulus.d.ts.map +1 -1
- package/lib/esm/core-react/radialmenu/Annulus.js +7 -8
- package/lib/esm/core-react/radialmenu/Annulus.js.map +1 -1
- package/lib/esm/core-react/radialmenu/RadialMenu.d.ts +0 -1
- 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 +3 -3
- package/lib/esm/core-react/searchbox/SearchBox.d.ts.map +1 -1
- package/lib/esm/core-react/searchbox/SearchBox.js +15 -9
- package/lib/esm/core-react/searchbox/SearchBox.js.map +1 -1
- package/lib/esm/core-react/settings/SettingsContainer.d.ts.map +1 -1
- package/lib/esm/core-react/settings/SettingsContainer.js +8 -4
- package/lib/esm/core-react/settings/SettingsContainer.js.map +1 -1
- package/lib/esm/core-react/settings/SettingsManager.d.ts +10 -7
- package/lib/esm/core-react/settings/SettingsManager.d.ts.map +1 -1
- package/lib/esm/core-react/settings/SettingsManager.js +13 -10
- package/lib/esm/core-react/settings/SettingsManager.js.map +1 -1
- package/lib/esm/core-react/tabs/Tabs.d.ts +5 -5
- package/lib/esm/core-react/tabs/Tabs.d.ts.map +1 -1
- package/lib/esm/core-react/tabs/Tabs.js +1 -0
- package/lib/esm/core-react/tabs/Tabs.js.map +1 -1
- package/lib/esm/core-react/tabs/VerticalTabs.d.ts +1 -0
- package/lib/esm/core-react/tabs/VerticalTabs.d.ts.map +1 -1
- package/lib/esm/core-react/tabs/VerticalTabs.js +2 -0
- package/lib/esm/core-react/tabs/VerticalTabs.js.map +1 -1
- package/lib/esm/core-react/text/BlockText.d.ts +1 -0
- package/lib/esm/core-react/text/BlockText.d.ts.map +1 -1
- package/lib/esm/core-react/text/BlockText.js +2 -0
- 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 +2 -1
- package/lib/esm/core-react/text/BodyText.js.map +1 -1
- package/lib/esm/core-react/text/DisabledText.d.ts +1 -0
- package/lib/esm/core-react/text/DisabledText.d.ts.map +1 -1
- package/lib/esm/core-react/text/DisabledText.js +2 -1
- package/lib/esm/core-react/text/DisabledText.js.map +1 -1
- package/lib/esm/core-react/text/MutedText.d.ts.map +1 -1
- package/lib/esm/core-react/text/MutedText.js +1 -0
- package/lib/esm/core-react/text/MutedText.js.map +1 -1
- package/lib/esm/core-react/text/StyledText.d.ts +1 -0
- 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 +1 -0
- 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/ExpansionToggle.d.ts +1 -3
- package/lib/esm/core-react/tree/ExpansionToggle.d.ts.map +1 -1
- package/lib/esm/core-react/tree/ExpansionToggle.js +9 -10
- package/lib/esm/core-react/tree/ExpansionToggle.js.map +1 -1
- package/lib/esm/core-react/tree/Node.js +1 -2
- package/lib/esm/core-react/tree/Node.js.map +1 -1
- package/lib/esm/core-react/utils/IconWebComponent.d.ts +4 -2
- package/lib/esm/core-react/utils/IconWebComponent.d.ts.map +1 -1
- package/lib/esm/core-react/utils/IconWebComponent.js +8 -5
- package/lib/esm/core-react/utils/IconWebComponent.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/getObjectClassName.js +2 -3
- package/lib/esm/core-react/utils/getObjectClassName.js.map +1 -1
- package/lib/esm/core-react/utils/hooks/ResizeObserverPolyfill.d.ts +4 -1
- package/lib/esm/core-react/utils/hooks/ResizeObserverPolyfill.d.ts.map +1 -1
- package/lib/esm/core-react/utils/hooks/ResizeObserverPolyfill.js +3 -1
- package/lib/esm/core-react/utils/hooks/ResizeObserverPolyfill.js.map +1 -1
- package/lib/esm/core-react/utils/hooks/useCrossOriginPopup.d.ts +1 -1
- package/lib/esm/core-react/utils/hooks/useCrossOriginPopup.js +2 -3
- package/lib/esm/core-react/utils/hooks/useCrossOriginPopup.js.map +1 -1
- package/lib/esm/core-react/utils/hooks/useResizeObserver.d.ts.map +1 -1
- package/lib/esm/core-react/utils/hooks/useResizeObserver.js +13 -17
- package/lib/esm/core-react/utils/hooks/useResizeObserver.js.map +1 -1
- package/lib/esm/core-react.d.ts +3 -3
- package/lib/esm/core-react.d.ts.map +1 -1
- package/lib/esm/core-react.js +5 -4
- package/lib/esm/core-react.js.map +1 -1
- package/package.json +8 -33
- package/lib/cjs/core-react/badge/BadgeUtilities.d.ts.map +0 -1
- package/lib/cjs/core-react/badge/BadgeUtilities.js +0 -43
- package/lib/cjs/core-react/badge/BadgeUtilities.js.map +0 -1
- package/lib/cjs/core-react/badge/BetaBadge.d.ts +0 -10
- package/lib/cjs/core-react/badge/BetaBadge.d.ts.map +0 -1
- package/lib/cjs/core-react/badge/BetaBadge.js +0 -23
- package/lib/cjs/core-react/badge/BetaBadge.js.map +0 -1
- package/lib/cjs/core-react/badge/new-feature-badge.svg +0 -1
- package/lib/cjs/core-react/badge/technical-preview-badge.svg +0 -1
- package/lib/cjs/core-react/useTranslation.d.ts +0 -10
- package/lib/cjs/core-react/useTranslation.d.ts.map +0 -1
- package/lib/cjs/core-react/useTranslation.js.map +0 -1
- package/lib/esm/core-react/badge/BadgeUtilities.d.ts.map +0 -1
- package/lib/esm/core-react/badge/BadgeUtilities.js +0 -39
- package/lib/esm/core-react/badge/BadgeUtilities.js.map +0 -1
- package/lib/esm/core-react/badge/BetaBadge.d.ts +0 -10
- package/lib/esm/core-react/badge/BetaBadge.d.ts.map +0 -1
- package/lib/esm/core-react/badge/BetaBadge.js +0 -19
- package/lib/esm/core-react/badge/BetaBadge.js.map +0 -1
- package/lib/esm/core-react/badge/new-feature-badge.svg +0 -1
- package/lib/esm/core-react/badge/technical-preview-badge.svg +0 -1
- package/lib/esm/core-react/useTranslation.d.ts +0 -10
- package/lib/esm/core-react/useTranslation.d.ts.map +0 -1
- package/lib/esm/core-react/useTranslation.js +0 -16
- package/lib/esm/core-react/useTranslation.js.map +0 -1
|
@@ -2,8 +2,7 @@
|
|
|
2
2
|
* @module RadialMenu
|
|
3
3
|
*/
|
|
4
4
|
import { Point } from "../utils/Point";
|
|
5
|
-
/**
|
|
6
|
-
* 2D Line consisting of a start point, and an end point
|
|
5
|
+
/** 2D Line consisting of a start point, and an end point
|
|
7
6
|
* @internal
|
|
8
7
|
*/
|
|
9
8
|
export declare class Line {
|
|
@@ -13,16 +12,16 @@ export declare class Line {
|
|
|
13
12
|
/** checks for equality with the components of this, and line parameter */
|
|
14
13
|
equals: (line: Line) => boolean;
|
|
15
14
|
}
|
|
16
|
-
/**
|
|
17
|
-
*
|
|
15
|
+
/** 2D Circle.
|
|
16
|
+
* @internal
|
|
18
17
|
*/
|
|
19
18
|
export declare class Circle {
|
|
20
19
|
center: Point;
|
|
21
20
|
radius: number;
|
|
22
21
|
constructor(center?: Point, radius?: number);
|
|
23
22
|
}
|
|
24
|
-
/**
|
|
25
|
-
*
|
|
23
|
+
/** 2D Annulus (2D doughnut shape/flattened torus) defined by an inner and outer circle with a shared center point.
|
|
24
|
+
* @internal
|
|
26
25
|
*/
|
|
27
26
|
export declare class Annulus {
|
|
28
27
|
center: Point;
|
|
@@ -30,8 +29,8 @@ export declare class Annulus {
|
|
|
30
29
|
outer: Circle;
|
|
31
30
|
constructor(center?: Point, innerRadius?: number, outerRadius?: number);
|
|
32
31
|
}
|
|
33
|
-
/**
|
|
34
|
-
*
|
|
32
|
+
/** 2D Sector of an Annulus, defined by both a parent annulus, a startAngle, and an endAngle.
|
|
33
|
+
* @internal
|
|
35
34
|
*/
|
|
36
35
|
export declare class AnnularSector {
|
|
37
36
|
parent: Annulus;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Annulus.d.ts","sourceRoot":"","sources":["../../../../src/core-react/radialmenu/Annulus.ts"],"names":[],"mappings":"AAIA;;GAEG;AAEH,OAAO,EAAE,KAAK,EAAE,MAAM,gBAAgB,CAAC;AAEvC
|
|
1
|
+
{"version":3,"file":"Annulus.d.ts","sourceRoot":"","sources":["../../../../src/core-react/radialmenu/Annulus.ts"],"names":[],"mappings":"AAIA;;GAEG;AAEH,OAAO,EAAE,KAAK,EAAE,MAAM,gBAAgB,CAAC;AAEvC;;GAEG;AACH,qBAAa,IAAI;IACR,EAAE,EAAE,KAAK,CAAC;IACV,EAAE,EAAE,KAAK,CAAC;gBAEL,EAAE,CAAC,EAAE,KAAK,EAAE,EAAE,CAAC,EAAE,KAAK;IAKlC,0EAA0E;IACnE,MAAM,SAAU,IAAI,aAC0B;CACtD;AAED;;GAEG;AACH,qBAAa,MAAM;IACV,MAAM,EAAE,KAAK,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;gBACV,MAAM,CAAC,EAAE,KAAK,EAAE,MAAM,CAAC,EAAE,MAAM;CAI5C;AAED;;GAEG;AACH,qBAAa,OAAO;IACX,MAAM,EAAE,KAAK,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;gBAET,MAAM,CAAC,EAAE,KAAK,EAAE,WAAW,CAAC,EAAE,MAAM,EAAE,WAAW,CAAC,EAAE,MAAM;CAMvE;AAED;;GAEG;AACH,qBAAa,aAAa;IACjB,MAAM,EAAE,OAAO,CAAC;IAChB,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC;IAEjB,IAAI,EAAE,MAAM,CAAC;IAEb,UAAU,EAAE,KAAK,CAAC;IAClB,UAAU,EAAE,KAAK,CAAC;IAClB,KAAK,EAAE,IAAI,CAAC;IACZ,QAAQ,EAAE,KAAK,CAAC;IAChB,QAAQ,EAAE,KAAK,CAAC;IAChB,GAAG,EAAE,IAAI,CAAC;IAEjB;;;;;OAKG;gBACS,MAAM,EAAE,OAAO,EAAE,UAAU,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM;CAiDlE"}
|
|
@@ -6,8 +6,7 @@
|
|
|
6
6
|
* @module RadialMenu
|
|
7
7
|
*/
|
|
8
8
|
import { Point } from "../utils/Point";
|
|
9
|
-
/**
|
|
10
|
-
* 2D Line consisting of a start point, and an end point
|
|
9
|
+
/** 2D Line consisting of a start point, and an end point
|
|
11
10
|
* @internal
|
|
12
11
|
*/
|
|
13
12
|
export class Line {
|
|
@@ -18,8 +17,8 @@ export class Line {
|
|
|
18
17
|
this.p2 = p2 || new Point();
|
|
19
18
|
}
|
|
20
19
|
}
|
|
21
|
-
/**
|
|
22
|
-
*
|
|
20
|
+
/** 2D Circle.
|
|
21
|
+
* @internal
|
|
23
22
|
*/
|
|
24
23
|
export class Circle {
|
|
25
24
|
constructor(center, radius) {
|
|
@@ -27,8 +26,8 @@ export class Circle {
|
|
|
27
26
|
this.radius = radius || 0;
|
|
28
27
|
}
|
|
29
28
|
}
|
|
30
|
-
/**
|
|
31
|
-
*
|
|
29
|
+
/** 2D Annulus (2D doughnut shape/flattened torus) defined by an inner and outer circle with a shared center point.
|
|
30
|
+
* @internal
|
|
32
31
|
*/
|
|
33
32
|
export class Annulus {
|
|
34
33
|
constructor(center, innerRadius, outerRadius) {
|
|
@@ -37,8 +36,8 @@ export class Annulus {
|
|
|
37
36
|
this.outer = new Circle(center, outerRadius);
|
|
38
37
|
}
|
|
39
38
|
}
|
|
40
|
-
/**
|
|
41
|
-
*
|
|
39
|
+
/** 2D Sector of an Annulus, defined by both a parent annulus, a startAngle, and an endAngle.
|
|
40
|
+
* @internal
|
|
42
41
|
*/
|
|
43
42
|
export class AnnularSector {
|
|
44
43
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Annulus.js","sourceRoot":"","sources":["../../../../src/core-react/radialmenu/Annulus.ts"],"names":[],"mappings":"AAAA;;;gGAGgG;AAChG;;GAEG;AAEH,OAAO,EAAE,KAAK,EAAE,MAAM,gBAAgB,CAAC;AAEvC
|
|
1
|
+
{"version":3,"file":"Annulus.js","sourceRoot":"","sources":["../../../../src/core-react/radialmenu/Annulus.ts"],"names":[],"mappings":"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","sourcesContent":["/*---------------------------------------------------------------------------------------------\n * Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n * See LICENSE.md in the project root for license terms and full copyright notice.\n *--------------------------------------------------------------------------------------------*/\n/** @packageDocumentation\n * @module RadialMenu\n */\n\nimport { Point } from \"../utils/Point\";\n\n/** 2D Line consisting of a start point, and an end point\n * @internal\n */\nexport class Line {\n public p1: Point;\n public p2: Point;\n\n constructor(p1?: Point, p2?: Point) {\n this.p1 = p1 || new Point();\n this.p2 = p2 || new Point();\n }\n\n /** checks for equality with the components of this, and line parameter */\n public equals = (line: Line) =>\n this.p1.equals(line.p1) && this.p2.equals(line.p2);\n}\n\n/** 2D Circle.\n * @internal\n */\nexport class Circle {\n public center: Point;\n public radius: number;\n constructor(center?: Point, radius?: number) {\n this.center = center || new Point();\n this.radius = radius || 0;\n }\n}\n\n/** 2D Annulus (2D doughnut shape/flattened torus) defined by an inner and outer circle with a shared center point.\n * @internal\n */\nexport class Annulus {\n public center: Point;\n public inner: Circle;\n public outer: Circle;\n\n constructor(center?: Point, innerRadius?: number, outerRadius?: number) {\n this.center = center || new Point();\n\n this.inner = new Circle(center, innerRadius);\n this.outer = new Circle(center, outerRadius);\n }\n}\n\n/** 2D Sector of an Annulus, defined by both a parent annulus, a startAngle, and an endAngle.\n * @internal\n */\nexport class AnnularSector {\n public parent: Annulus;\n public startAngle: number;\n public endAngle: number;\n\n public path: string;\n\n public innerStart: Point;\n public outerStart: Point;\n public start: Line;\n public innerEnd: Point;\n public outerEnd: Point;\n public end: Line;\n\n /**\n * initialize AnnularSector on parent annulus, and generate SVG Path to store in this.path\n * @param parent parent annulus to initialize sector on.\n * @param startAngle angle to begin the annular sector on.\n * @param endAngle angle to end the annular sector on.\n */\n constructor(parent: Annulus, startAngle: number, endAngle: number) {\n this.parent = parent;\n this.startAngle = startAngle;\n this.endAngle = endAngle;\n\n // adapted from https://gist.github.com/buschtoens/4190516\n const { x: cx, y: cy } = parent.center;\n const inner = parent.inner.radius;\n const outer = parent.outer.radius;\n\n this.innerStart = new Point(\n cx + inner * Math.cos(startAngle),\n cy + inner * Math.sin(startAngle)\n );\n this.outerStart = new Point(\n cx + outer * Math.cos(startAngle),\n cy + outer * Math.sin(startAngle)\n );\n this.start = new Line(this.innerStart, this.outerStart);\n\n this.outerEnd = new Point(\n cx + outer * Math.cos(endAngle),\n cy + outer * Math.sin(endAngle)\n );\n this.innerEnd = new Point(\n cx + inner * Math.cos(endAngle),\n cy + inner * Math.sin(endAngle)\n );\n this.end = new Line(this.outerEnd, this.innerEnd);\n\n const angleDiff = endAngle - startAngle;\n const largeArc =\n angleDiff % (Math.PI * 2) > Math.PI ? /* istanbul ignore next */ 1 : 0;\n\n const sectorCommands = [];\n\n sectorCommands.push(`M${this.innerStart.x},${this.innerStart.y}`); // moveTo\n sectorCommands.push(`L${this.outerStart.x},${this.outerStart.y}`); // lineTo\n sectorCommands.push(\n `A${outer},${outer} 0 ${largeArc} 1 ${this.outerEnd.x},${this.outerEnd.y}`\n ); // arcTo\n sectorCommands.push(`L${this.innerEnd.x},${this.innerEnd.y}`); // lineTo\n sectorCommands.push(\n `A${inner},${inner} 0 ${largeArc} 0 ${this.innerStart.x},${this.innerStart.y}`\n ); // arcTo\n sectorCommands.push(`z`); // closePath\n\n this.path = sectorCommands.join(\" \");\n }\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RadialMenu.d.ts","sourceRoot":"","sources":["../../../../src/core-react/radialmenu/RadialMenu.tsx"],"names":[],"mappings":"AAIA;;GAEG;AAEH,OAAO,mBAAmB,CAAC;AAE3B,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAC;AAGvD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAClD,OAAO,EAAE,aAAa,EAAW,MAAM,WAAW,CAAC;AAEnD;;GAEG;AACH,MAAM,WAAW,eAAgB,SAAQ,WAAW;IAClD,iCAAiC;IACjC,MAAM,EAAE,OAAO,CAAC;IAChB,4CAA4C;IAC5C,WAAW,EAAE,MAAM,CAAC;IACpB,4CAA4C;IAC5C,WAAW,EAAE,MAAM,CAAC;IACpB,+DAA+D;IAC/D,IAAI,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IACvB,8DAA8D;IAC9D,GAAG,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IACtB;;OAEG;IACH,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,4CAA4C;IAC5C,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,0EAA0E;IAC1E,MAAM,CAAC,EAAE,CAAC,KAAK,EAAE,GAAG,KAAK,GAAG,CAAC;IAC7B,sCAAsC;IACtC,KAAK,CAAC,EAAE,CAAC,KAAK,EAAE,GAAG,KAAK,GAAG,CAAC;IAC5B,cAAc;IACd,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;CAC5B;AAED,
|
|
1
|
+
{"version":3,"file":"RadialMenu.d.ts","sourceRoot":"","sources":["../../../../src/core-react/radialmenu/RadialMenu.tsx"],"names":[],"mappings":"AAIA;;GAEG;AAEH,OAAO,mBAAmB,CAAC;AAE3B,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAC;AAGvD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAClD,OAAO,EAAE,aAAa,EAAW,MAAM,WAAW,CAAC;AAEnD;;GAEG;AACH,MAAM,WAAW,eAAgB,SAAQ,WAAW;IAClD,iCAAiC;IACjC,MAAM,EAAE,OAAO,CAAC;IAChB,4CAA4C;IAC5C,WAAW,EAAE,MAAM,CAAC;IACpB,4CAA4C;IAC5C,WAAW,EAAE,MAAM,CAAC;IACpB,+DAA+D;IAC/D,IAAI,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IACvB,8DAA8D;IAC9D,GAAG,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IACtB;;OAEG;IACH,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,4CAA4C;IAC5C,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,0EAA0E;IAC1E,MAAM,CAAC,EAAE,CAAC,KAAK,EAAE,GAAG,KAAK,GAAG,CAAC;IAC7B,sCAAsC;IACtC,KAAK,CAAC,EAAE,CAAC,KAAK,EAAE,GAAG,KAAK,GAAG,CAAC;IAC5B,cAAc;IACd,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;CAC5B;AAED,UAAU,eAAe;IACvB,OAAO,EAAE,aAAa,EAAE,CAAC;CAC1B;AAED;;;GAGG;AACH,qBAAa,UAAW,SAAQ,KAAK,CAAC,SAAS,CAC7C,eAAe,EACf,eAAe,CAChB;IACC,OAAO,CAAC,KAAK,CAA+B;IAC5C,OAAO,CAAC,eAAe,CAA6B;IACpD,OAAc,YAAY,EAAE,OAAO,CAAC,eAAe,CAAC,CAGlD;IAEF,gBAAgB;IAChB,SAAyB,KAAK,EAAE,QAAQ,CAAC,eAAe,CAAC,CAEvD;gBAEU,KAAK,EAAE,eAAe;IAIlB,MAAM,IAAI,KAAK,CAAC,YAAY;IAoE5B,iBAAiB;IASjB,oBAAoB;IAKpB,kBAAkB,CAAC,SAAS,EAAE,eAAe;IAS7D,OAAO,CAAC,YAAY,CAGlB;IAEF,OAAO,CAAC,YAAY,CAQlB;IAEF,oDAAoD;IAC7C,MAAM,aAGX;IAEF,OAAO,CAAC,uBAAuB,CAmB7B;CACH;AAED;;GAEG;AACH,MAAM,WAAW,iBAAkB,SAAQ,WAAW;IACpD,gEAAgE;IAChE,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,kDAAkD;IAClD,IAAI,CAAC,EAAE,QAAQ,CAAC;IAChB,gBAAgB;IAChB,aAAa,CAAC,EAAE,aAAa,CAAC;IAC9B,wGAAwG;IACxG,QAAQ,CAAC,EAAE,CAAC,CAAC,EAAE,GAAG,KAAK,GAAG,CAAC;IAC3B,kCAAkC;IAClC,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,cAAc;IACd,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;CAC5B;AAED,gBAAgB;AAChB,UAAU,iBAAiB;IACzB,KAAK,EAAE,OAAO,CAAC;CAChB;AAED;;;GAGG;AACH,qBAAa,YAAa,SAAQ,KAAK,CAAC,SAAS,CAC/C,iBAAiB,EACjB,iBAAiB,CAClB;IACC,gBAAgB;IAChB,SAAyB,KAAK,EAAE,QAAQ,CAAC,iBAAiB,CAAC,CAEzD;gBAEU,KAAK,EAAE,iBAAiB;IAIpB,MAAM,IAAI,KAAK,CAAC,YAAY;IAoE5C,wCAAwC;IACjC,MAAM,aAGX;IAEF,OAAO,CAAC,YAAY,CAGlB;IAEF,OAAO,CAAC,gBAAgB,CAEtB;IAEF,OAAO,CAAC,eAAe,CAErB;CACH"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RadialMenu.js","sourceRoot":"","sources":["../../../../src/core-react/radialmenu/RadialMenu.tsx"],"names":[],"mappings":"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","sourcesContent":["/*---------------------------------------------------------------------------------------------\n * Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n * See LICENSE.md in the project root for license terms and full copyright notice.\n *--------------------------------------------------------------------------------------------*/\n/** @packageDocumentation\n * @module RadialMenu\n */\n\nimport \"./RadialMenu.scss\";\nimport classnames from \"classnames\";\nimport * as React from \"react\";\nimport { Key } from \"ts-key-enum\";\nimport type { IconSpec } from \"../icons/IconComponent\";\nimport { Icon } from \"../icons/IconComponent\";\nimport { Point } from \"../utils/Point\";\nimport type { CommonProps } from \"../utils/Props\";\nimport { AnnularSector, Annulus } from \"./Annulus\";\n\n/** Properties for [[RadialMenu]]\n * @public\n */\nexport interface RadialMenuProps extends CommonProps {\n /** Whether to show RadialMenu */\n opened: boolean;\n /** Radius of inner portion of RadialMenu */\n innerRadius: number;\n /** Radius of outer portion of RadialMenu */\n outerRadius: number;\n /** Optional parameter to specify left position in viewport. */\n left?: number | string;\n /** Optional parameter to specify top position in viewport. */\n top?: number | string;\n /** Whether to rotate labels according to location on the RadialMenu, or to keep labels upright.\n * Default: false\n */\n labelRotate?: boolean;\n /** Which child RadialButton to highlight */\n selected?: number;\n /** triggered in case of onClick events anywhere other than radial menu */\n onBlur?: (event: any) => any;\n /** triggered onKeyUp for <Esc> key */\n onEsc?: (event: any) => any;\n /** Content */\n children?: React.ReactNode;\n}\n\n/** @internal */\ninterface RadialMenuState {\n sectors: AnnularSector[];\n}\n\n/**\n * A context menu arranged in a radial layout.\n * @public\n */\nexport class RadialMenu extends React.Component<\n RadialMenuProps,\n RadialMenuState\n> {\n private _root: HTMLDivElement | null = null;\n private _selectedButton: RadialButton | null = null;\n public static defaultProps: Partial<RadialMenuProps> = {\n labelRotate: false,\n selected: -1,\n };\n\n /** @internal */\n public override readonly state: Readonly<RadialMenuState> = {\n sectors: [],\n };\n\n constructor(props: RadialMenuProps) {\n super(props);\n }\n\n public override render(): React.ReactElement {\n const width = 2 * (this.props.outerRadius + 1);\n let x = this.props.left,\n y = this.props.top;\n\n if (\n this.props.left &&\n this.props.top &&\n typeof this.props.left === \"number\" &&\n typeof this.props.top === \"number\"\n ) {\n x = this.props.left;\n y = this.props.top;\n\n if (x < 0) x = 0;\n if (x > window.innerWidth - width) x = window.innerWidth - width;\n if (y < 0) y = 0;\n if (y > window.innerHeight - width) y = window.innerHeight - width;\n }\n\n const divStyle: React.CSSProperties = {\n left: x,\n top: y,\n ...this.props.style,\n };\n\n return (\n <div\n ref={(el) => {\n this._root = el;\n }}\n className={classnames(\n \"core-radial-menu\",\n { opened: this.props.opened },\n this.props.className\n )}\n style={divStyle}\n data-testid=\"core-radial-menu\"\n >\n <svg\n xmlns=\"http://w3.org/2000/svg\"\n version=\"1.1\"\n width={width}\n height={width}\n className={\"core-radial-menu-container\"}\n >\n {React.Children.map(this.props.children, (child, index) => {\n // istanbul ignore next\n if (!child || typeof child !== \"object\" || !(\"props\" in child))\n return child;\n\n const childElement = child as React.ReactElement<any>;\n return React.cloneElement(childElement, {\n key: index,\n ref: (el: any) => {\n if (this.props.selected === index) this._selectedButton = el;\n },\n selected: index === this.props.selected,\n labelRotate:\n childElement.props.labelRotate || this.props.labelRotate,\n annularSector: this.state.sectors[index],\n });\n })}\n </svg>\n </div>\n );\n }\n\n public override componentDidMount() {\n this._generateAnnularSectors();\n\n setTimeout(() => {\n window.addEventListener(\"keyup\", this._handleKeyUp);\n window.addEventListener(\"mouseup\", this._handleClick);\n });\n }\n\n public override componentWillUnmount() {\n window.removeEventListener(\"keyup\", this._handleKeyUp);\n window.removeEventListener(\"mouseup\", this._handleClick);\n }\n\n public override componentDidUpdate(prevProps: RadialMenuProps) {\n if (\n prevProps.innerRadius !== this.props.innerRadius ||\n prevProps.outerRadius !== this.props.outerRadius\n ) {\n this._generateAnnularSectors();\n }\n }\n\n private _handleKeyUp = (event: KeyboardEvent) => {\n if (event.key === Key.Escape.valueOf() && this.props.onEsc)\n this.props.onEsc(event);\n };\n\n private _handleClick = (event: MouseEvent) => {\n if (\n event.target instanceof HTMLElement &&\n this._root &&\n !event.target.contains(this._root) &&\n this.props.onBlur\n )\n this.props.onBlur(event);\n };\n\n /** Manually call onSelect of highlighted button. */\n public select = () => {\n // istanbul ignore else\n if (this._selectedButton) this._selectedButton.select();\n };\n\n private _generateAnnularSectors = () => {\n const n = React.Children.count(this.props.children);\n const angle = (2 * Math.PI) / n;\n const outer = this.props.outerRadius;\n const inner = this.props.innerRadius;\n\n const offset = -Math.PI / 8;\n const annulus = new Annulus(\n new Point(outer + 1, outer + 1),\n inner + 1,\n outer - 1\n );\n const sectors: AnnularSector[] = [];\n for (let i = 0; i < n; i++) {\n sectors.push(\n new AnnularSector(annulus, angle * i + offset, angle * (i + 1) + offset)\n );\n }\n this.setState({ sectors });\n };\n}\n\n/** Properties for [[RadialButton]] component\n * @public\n */\nexport interface RadialButtonProps extends CommonProps {\n /** Whether label is rotated to radial menu. Default: Inherit */\n labelRotate?: boolean;\n /** which icon to display in on the menu button */\n icon?: IconSpec;\n /** @internal */\n annularSector?: AnnularSector;\n /** listens to any onClick event, or any select event, which can be triggered by the select() method. */\n onSelect?: (e: any) => any;\n /** Whether item is highlighted */\n selected?: boolean;\n /** Content */\n children?: React.ReactNode;\n}\n\n/** @internal */\ninterface RadialButtonState {\n hover: boolean;\n}\n\n/**\n * Button for use within a [[RadialMenu]]\n * @public\n */\nexport class RadialButton extends React.Component<\n RadialButtonProps,\n RadialButtonState\n> {\n /** @internal */\n public override readonly state: Readonly<RadialButtonState> = {\n hover: this.props.selected || false,\n };\n\n constructor(props: RadialButtonProps) {\n super(props);\n }\n\n public override render(): React.ReactElement {\n const sector = this.props.annularSector;\n let p = new Point();\n let size = 0;\n let t = \"\";\n let path = \"\";\n\n if (sector) {\n size = sector.start.p1.getDistanceTo(sector.end.p2) * 2;\n path = sector.path;\n\n const parent = sector.parent;\n const { x: cx, y: cy } = parent.center;\n const r = (parent.inner.radius + parent.outer.radius) / 2;\n const angle = (sector.startAngle + sector.endAngle) / 2;\n p = new Point(cx + r * Math.cos(angle), cy + r * Math.sin(angle));\n\n if (this.props.labelRotate) {\n let a = (angle * 180) / Math.PI + 90;\n while (a > 180) a -= 360;\n while (a < -180)\n /* istanbul ignore next */\n a += 360;\n if (a > 90) a -= 180;\n if (a < -90) a += 180;\n t = `rotate(${a} ${p.x}, ${p.y})`;\n }\n }\n\n return (\n <g\n onMouseOver={this._handleMouseOver}\n onMouseOut={this._handleMouseOut}\n onClick={this._handleClick}\n >\n <path\n className={classnames(\n \"core-radial-menu-sector\",\n { selected: this.state.hover },\n this.props.className\n )}\n style={this.props.style}\n d={path}\n ></path>\n <foreignObject\n transform={t}\n x={p.x - size / 2}\n y={p.y - 16}\n width={size}\n height={size}\n className={\"core-radial-menu-button-svg\"}\n >\n <div\n {...{ xmlns: \"http://www.w3.org/1999/xhtml\" }}\n className={\"core-radial-menu-button-container\"}\n >\n <div className=\"core-radial-menu-button-icon\">\n <Icon iconSpec={this.props.icon} />\n </div>\n <div className={\"core-radial-menu-button-content\"}>\n {this.props.children}\n </div>\n </div>\n </foreignObject>\n </g>\n );\n }\n\n /** Manually call this.props.onSelect */\n public select = () => {\n // istanbul ignore else\n if (this.props.onSelect) this.props.onSelect(undefined);\n };\n\n private _handleClick = (event: React.MouseEvent<SVGElement>) => {\n // istanbul ignore else\n if (this.props.onSelect) this.props.onSelect(event);\n };\n\n private _handleMouseOver = (_event: React.MouseEvent<SVGElement>) => {\n this.setState({ hover: true });\n };\n\n private _handleMouseOut = (_event: React.MouseEvent<SVGElement>) => {\n this.setState({ hover: false });\n };\n}\n"]}
|
|
1
|
+
{"version":3,"file":"RadialMenu.js","sourceRoot":"","sources":["../../../../src/core-react/radialmenu/RadialMenu.tsx"],"names":[],"mappings":"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","sourcesContent":["/*---------------------------------------------------------------------------------------------\n * Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n * See LICENSE.md in the project root for license terms and full copyright notice.\n *--------------------------------------------------------------------------------------------*/\n/** @packageDocumentation\n * @module RadialMenu\n */\n\nimport \"./RadialMenu.scss\";\nimport classnames from \"classnames\";\nimport * as React from \"react\";\nimport { Key } from \"ts-key-enum\";\nimport type { IconSpec } from \"../icons/IconComponent\";\nimport { Icon } from \"../icons/IconComponent\";\nimport { Point } from \"../utils/Point\";\nimport type { CommonProps } from \"../utils/Props\";\nimport { AnnularSector, Annulus } from \"./Annulus\";\n\n/** Properties for [[RadialMenu]]\n * @public\n */\nexport interface RadialMenuProps extends CommonProps {\n /** Whether to show RadialMenu */\n opened: boolean;\n /** Radius of inner portion of RadialMenu */\n innerRadius: number;\n /** Radius of outer portion of RadialMenu */\n outerRadius: number;\n /** Optional parameter to specify left position in viewport. */\n left?: number | string;\n /** Optional parameter to specify top position in viewport. */\n top?: number | string;\n /** Whether to rotate labels according to location on the RadialMenu, or to keep labels upright.\n * Default: false\n */\n labelRotate?: boolean;\n /** Which child RadialButton to highlight */\n selected?: number;\n /** triggered in case of onClick events anywhere other than radial menu */\n onBlur?: (event: any) => any;\n /** triggered onKeyUp for <Esc> key */\n onEsc?: (event: any) => any;\n /** Content */\n children?: React.ReactNode;\n}\n\ninterface RadialMenuState {\n sectors: AnnularSector[];\n}\n\n/**\n * A context menu arranged in a radial layout.\n * @public\n */\nexport class RadialMenu extends React.Component<\n RadialMenuProps,\n RadialMenuState\n> {\n private _root: HTMLDivElement | null = null;\n private _selectedButton: RadialButton | null = null;\n public static defaultProps: Partial<RadialMenuProps> = {\n labelRotate: false,\n selected: -1,\n };\n\n /** @internal */\n public override readonly state: Readonly<RadialMenuState> = {\n sectors: [],\n };\n\n constructor(props: RadialMenuProps) {\n super(props);\n }\n\n public override render(): React.ReactElement {\n const width = 2 * (this.props.outerRadius + 1);\n let x = this.props.left,\n y = this.props.top;\n\n if (\n this.props.left &&\n this.props.top &&\n typeof this.props.left === \"number\" &&\n typeof this.props.top === \"number\"\n ) {\n x = this.props.left;\n y = this.props.top;\n\n if (x < 0) x = 0;\n if (x > window.innerWidth - width) x = window.innerWidth - width;\n if (y < 0) y = 0;\n if (y > window.innerHeight - width) y = window.innerHeight - width;\n }\n\n const divStyle: React.CSSProperties = {\n left: x,\n top: y,\n ...this.props.style,\n };\n\n return (\n <div\n ref={(el) => {\n this._root = el;\n }}\n className={classnames(\n \"core-radial-menu\",\n { opened: this.props.opened },\n this.props.className\n )}\n style={divStyle}\n data-testid=\"core-radial-menu\"\n >\n <svg\n xmlns=\"http://w3.org/2000/svg\"\n version=\"1.1\"\n width={width}\n height={width}\n className={\"core-radial-menu-container\"}\n >\n {React.Children.map(this.props.children, (child, index) => {\n // istanbul ignore next\n if (!child || typeof child !== \"object\" || !(\"props\" in child))\n return child;\n\n const childElement = child as React.ReactElement<any>;\n return React.cloneElement(childElement, {\n key: index,\n ref: (el: any) => {\n if (this.props.selected === index) this._selectedButton = el;\n },\n selected: index === this.props.selected,\n labelRotate:\n childElement.props.labelRotate || this.props.labelRotate,\n annularSector: this.state.sectors[index],\n });\n })}\n </svg>\n </div>\n );\n }\n\n public override componentDidMount() {\n this._generateAnnularSectors();\n\n setTimeout(() => {\n window.addEventListener(\"keyup\", this._handleKeyUp);\n window.addEventListener(\"mouseup\", this._handleClick);\n });\n }\n\n public override componentWillUnmount() {\n window.removeEventListener(\"keyup\", this._handleKeyUp);\n window.removeEventListener(\"mouseup\", this._handleClick);\n }\n\n public override componentDidUpdate(prevProps: RadialMenuProps) {\n if (\n prevProps.innerRadius !== this.props.innerRadius ||\n prevProps.outerRadius !== this.props.outerRadius\n ) {\n this._generateAnnularSectors();\n }\n }\n\n private _handleKeyUp = (event: KeyboardEvent) => {\n if (event.key === Key.Escape.valueOf() && this.props.onEsc)\n this.props.onEsc(event);\n };\n\n private _handleClick = (event: MouseEvent) => {\n if (\n event.target instanceof HTMLElement &&\n this._root &&\n !event.target.contains(this._root) &&\n this.props.onBlur\n )\n this.props.onBlur(event);\n };\n\n /** Manually call onSelect of highlighted button. */\n public select = () => {\n // istanbul ignore else\n if (this._selectedButton) this._selectedButton.select();\n };\n\n private _generateAnnularSectors = () => {\n const n = React.Children.count(this.props.children);\n const angle = (2 * Math.PI) / n;\n const outer = this.props.outerRadius;\n const inner = this.props.innerRadius;\n\n const offset = -Math.PI / 8;\n const annulus = new Annulus(\n new Point(outer + 1, outer + 1),\n inner + 1,\n outer - 1\n );\n const sectors: AnnularSector[] = [];\n for (let i = 0; i < n; i++) {\n sectors.push(\n new AnnularSector(annulus, angle * i + offset, angle * (i + 1) + offset)\n );\n }\n this.setState({ sectors });\n };\n}\n\n/** Properties for [[RadialButton]] component\n * @public\n */\nexport interface RadialButtonProps extends CommonProps {\n /** Whether label is rotated to radial menu. Default: Inherit */\n labelRotate?: boolean;\n /** which icon to display in on the menu button */\n icon?: IconSpec;\n /** @internal */\n annularSector?: AnnularSector;\n /** listens to any onClick event, or any select event, which can be triggered by the select() method. */\n onSelect?: (e: any) => any;\n /** Whether item is highlighted */\n selected?: boolean;\n /** Content */\n children?: React.ReactNode;\n}\n\n/** @internal */\ninterface RadialButtonState {\n hover: boolean;\n}\n\n/**\n * Button for use within a [[RadialMenu]]\n * @public\n */\nexport class RadialButton extends React.Component<\n RadialButtonProps,\n RadialButtonState\n> {\n /** @internal */\n public override readonly state: Readonly<RadialButtonState> = {\n hover: this.props.selected || false,\n };\n\n constructor(props: RadialButtonProps) {\n super(props);\n }\n\n public override render(): React.ReactElement {\n const sector = this.props.annularSector;\n let p = new Point();\n let size = 0;\n let t = \"\";\n let path = \"\";\n\n if (sector) {\n size = sector.start.p1.getDistanceTo(sector.end.p2) * 2;\n path = sector.path;\n\n const parent = sector.parent;\n const { x: cx, y: cy } = parent.center;\n const r = (parent.inner.radius + parent.outer.radius) / 2;\n const angle = (sector.startAngle + sector.endAngle) / 2;\n p = new Point(cx + r * Math.cos(angle), cy + r * Math.sin(angle));\n\n if (this.props.labelRotate) {\n let a = (angle * 180) / Math.PI + 90;\n while (a > 180) a -= 360;\n while (a < -180)\n /* istanbul ignore next */\n a += 360;\n if (a > 90) a -= 180;\n if (a < -90) a += 180;\n t = `rotate(${a} ${p.x}, ${p.y})`;\n }\n }\n\n return (\n <g\n onMouseOver={this._handleMouseOver}\n onMouseOut={this._handleMouseOut}\n onClick={this._handleClick}\n >\n <path\n className={classnames(\n \"core-radial-menu-sector\",\n { selected: this.state.hover },\n this.props.className\n )}\n style={this.props.style}\n d={path}\n ></path>\n <foreignObject\n transform={t}\n x={p.x - size / 2}\n y={p.y - 16}\n width={size}\n height={size}\n className={\"core-radial-menu-button-svg\"}\n >\n <div\n {...{ xmlns: \"http://www.w3.org/1999/xhtml\" }}\n className={\"core-radial-menu-button-container\"}\n >\n <div className=\"core-radial-menu-button-icon\">\n <Icon iconSpec={this.props.icon} />\n </div>\n <div className={\"core-radial-menu-button-content\"}>\n {this.props.children}\n </div>\n </div>\n </foreignObject>\n </g>\n );\n }\n\n /** Manually call this.props.onSelect */\n public select = () => {\n // istanbul ignore else\n if (this.props.onSelect) this.props.onSelect(undefined);\n };\n\n private _handleClick = (event: React.MouseEvent<SVGElement>) => {\n // istanbul ignore else\n if (this.props.onSelect) this.props.onSelect(event);\n };\n\n private _handleMouseOver = (_event: React.MouseEvent<SVGElement>) => {\n this.setState({ hover: true });\n };\n\n private _handleMouseOut = (_event: React.MouseEvent<SVGElement>) => {\n this.setState({ hover: false });\n };\n}\n"]}
|
|
@@ -6,6 +6,7 @@ import * as React from "react";
|
|
|
6
6
|
import type { CommonProps } from "../utils/Props";
|
|
7
7
|
/** Properties for [[SearchBox]] component
|
|
8
8
|
* @public
|
|
9
|
+
* @deprecated in 4.12.x. Props of deprecated component {@link SearchBox}.
|
|
9
10
|
*/
|
|
10
11
|
export interface SearchBoxProps extends CommonProps {
|
|
11
12
|
/** Value to set SearchBox to initially */
|
|
@@ -23,14 +24,13 @@ export interface SearchBoxProps extends CommonProps {
|
|
|
23
24
|
/** Listens for onClick event for Clear (x) icon */
|
|
24
25
|
onClear?: () => void;
|
|
25
26
|
}
|
|
26
|
-
/** @internal */
|
|
27
27
|
interface SearchBoxState {
|
|
28
28
|
value: string;
|
|
29
29
|
}
|
|
30
|
-
/**
|
|
31
|
-
* Input box for entering text to search for.
|
|
30
|
+
/** Input box for entering text to search for.
|
|
32
31
|
* The SearchBox has an icon right-justified and bounded by the box and shows a Search or Clear icon.
|
|
33
32
|
* @public
|
|
33
|
+
* @deprecated in 4.12.x. Use {@link https://itwinui.bentley.com/docs/searchbox iTwinUI SearchBox} instead.
|
|
34
34
|
*/
|
|
35
35
|
export declare class SearchBox extends React.Component<SearchBoxProps, SearchBoxState> {
|
|
36
36
|
private _inputElement;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SearchBox.d.ts","sourceRoot":"","sources":["../../../../src/core-react/searchbox/SearchBox.tsx"],"names":[],"mappings":"AAIA;;GAEG;AAEH,OAAO,kBAAkB,CAAC;AAE1B,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"SearchBox.d.ts","sourceRoot":"","sources":["../../../../src/core-react/searchbox/SearchBox.tsx"],"names":[],"mappings":"AAIA;;GAEG;AAEH,OAAO,kBAAkB,CAAC;AAE1B,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AASlD;;;GAGG;AACH,MAAM,WAAW,cAAe,SAAQ,WAAW;IACjD,0CAA0C;IAC1C,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,sEAAsE;IACtE,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,yDAAyD;IACzD,cAAc,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACxC,8DAA8D;IAC9D,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,mCAAmC;IACnC,cAAc,CAAC,EAAE,MAAM,IAAI,CAAC;IAC5B,iCAAiC;IACjC,YAAY,CAAC,EAAE,MAAM,IAAI,CAAC;IAC1B,mDAAmD;IACnD,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;CACtB;AAED,UAAU,cAAc;IACtB,KAAK,EAAE,MAAM,CAAC;CACf;AAED;;;;GAIG;AACH,qBAAa,SAAU,SAAQ,KAAK,CAAC,SAAS,CAAC,cAAc,EAAE,cAAc,CAAC;IAC5E,OAAO,CAAC,aAAa,CAAiC;IACtD,OAAO,CAAC,UAAU,CAAa;IAE/B,gBAAgB;IAChB,SAAyB,KAAK,EAAE,QAAQ,CAAC,cAAc,CAAC,CAEtD;gBAEU,KAAK,EAAE,cAAc;IAIjC,gBAAgB;IACA,MAAM,IAAI,KAAK,CAAC,SAAS;IAuCzC,6HAA6H;IAC7H,OAAO,CAAC,eAAe,CAcrB;IACF,OAAO,CAAC,YAAY,CAelB;IAEF,OAAO,CAAC,cAAc,CAWpB;IAEF,OAAO,CAAC,gBAAgB,CAUtB;IAEF,OAAO,CAAC,aAAa,CAKnB;IAEc,oBAAoB;IAI7B,KAAK;CAIb"}
|
|
@@ -9,14 +9,14 @@ import "./SearchBox.scss";
|
|
|
9
9
|
import classnames from "classnames";
|
|
10
10
|
import * as React from "react";
|
|
11
11
|
import { Key } from "ts-key-enum";
|
|
12
|
-
import { UiCore } from "../UiCore";
|
|
13
12
|
import { Input } from "@itwin/itwinui-react";
|
|
14
13
|
import { Icon } from "../icons/IconComponent";
|
|
15
14
|
import { SvgClose, SvgSearch } from "@itwin/itwinui-icons-react";
|
|
16
|
-
|
|
17
|
-
|
|
15
|
+
import { useTranslation } from "../l10n/useTranslation";
|
|
16
|
+
/** Input box for entering text to search for.
|
|
18
17
|
* The SearchBox has an icon right-justified and bounded by the box and shows a Search or Clear icon.
|
|
19
18
|
* @public
|
|
19
|
+
* @deprecated in 4.12.x. Use {@link https://itwinui.bentley.com/docs/searchbox iTwinUI SearchBox} instead.
|
|
20
20
|
*/
|
|
21
21
|
export class SearchBox extends React.Component {
|
|
22
22
|
constructor(props) {
|
|
@@ -95,14 +95,11 @@ export class SearchBox extends React.Component {
|
|
|
95
95
|
const emptyString = this.state.value === "";
|
|
96
96
|
const iconClassName = classnames("core-searchbox-icon", "icon");
|
|
97
97
|
const iconSpec = emptyString ? React.createElement(SvgSearch, null) : React.createElement(SvgClose, null);
|
|
98
|
-
const buttonTitle = UiCore.translate(emptyString ? "general.search" : "general.clear");
|
|
99
98
|
return (React.createElement("div", { className: searchClassName, style: this.props.style, "data-testid": "core-searchbox-instance" },
|
|
100
|
-
React.createElement(
|
|
99
|
+
React.createElement(SearchBoxInput, { defaultValue: this.props.initialValue, ref: (el) => {
|
|
101
100
|
this._inputElement = el;
|
|
102
|
-
}, onChange: this._trackChange, onKeyDown: this._handleKeyDown, onPaste: this._trackChange, onCut: this._trackChange, placeholder: this.props.placeholder
|
|
103
|
-
|
|
104
|
-
: UiCore.translate("general.search"), role: "searchbox", "data-testid": "core-searchbox-input" }),
|
|
105
|
-
React.createElement("div", { className: "core-searchbox-button", onClick: this._handleIconClick, role: "button", tabIndex: -1, title: buttonTitle },
|
|
101
|
+
}, onChange: this._trackChange, onKeyDown: this._handleKeyDown, onPaste: this._trackChange, onCut: this._trackChange, placeholder: this.props.placeholder, role: "searchbox", "data-testid": "core-searchbox-input" }),
|
|
102
|
+
React.createElement(SearchBoxButton, { className: "core-searchbox-button", onClick: this._handleIconClick, role: "button", tabIndex: -1, emptyString: emptyString },
|
|
106
103
|
React.createElement("span", { className: iconClassName },
|
|
107
104
|
React.createElement(Icon, { iconSpec: iconSpec })))));
|
|
108
105
|
}
|
|
@@ -115,4 +112,13 @@ export class SearchBox extends React.Component {
|
|
|
115
112
|
this._inputElement.focus();
|
|
116
113
|
}
|
|
117
114
|
}
|
|
115
|
+
const SearchBoxInput = React.forwardRef(function SearchBoxInput({ placeholder, ...props }, ref) {
|
|
116
|
+
const { translate } = useTranslation();
|
|
117
|
+
return (React.createElement(Input, { ref: ref, placeholder: placeholder || translate("general.search"), ...props }));
|
|
118
|
+
});
|
|
119
|
+
function SearchBoxButton({ emptyString, ...props }) {
|
|
120
|
+
const { translate } = useTranslation();
|
|
121
|
+
const buttonTitle = translate(emptyString ? "general.search" : "general.clear");
|
|
122
|
+
return React.createElement("div", { title: buttonTitle, ...props });
|
|
123
|
+
}
|
|
118
124
|
//# sourceMappingURL=SearchBox.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SearchBox.js","sourceRoot":"","sources":["../../../../src/core-react/searchbox/SearchBox.tsx"],"names":[],"mappings":"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","sourcesContent":["/*---------------------------------------------------------------------------------------------\n * Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n * See LICENSE.md in the project root for license terms and full copyright notice.\n *--------------------------------------------------------------------------------------------*/\n/** @packageDocumentation\n * @module SearchBox\n */\n\nimport \"./SearchBox.scss\";\nimport classnames from \"classnames\";\nimport * as React from \"react\";\nimport { Key } from \"ts-key-enum\";\nimport { UiCore } from \"../UiCore\";\nimport type { CommonProps } from \"../utils/Props\";\nimport { Input } from \"@itwin/itwinui-react\";\nimport type { IconSpec } from \"../icons/IconComponent\";\nimport { Icon } from \"../icons/IconComponent\";\nimport { SvgClose, SvgSearch } from \"@itwin/itwinui-icons-react\";\n\n/** Properties for [[SearchBox]] component\n * @public\n */\nexport interface SearchBoxProps extends CommonProps {\n /** Value to set SearchBox to initially */\n initialValue?: string;\n /** Placeholder value to show in gray before anything is entered in */\n placeholder?: string;\n /** Triggered when the content of SearchBox is changed */\n onValueChanged: (value: string) => void;\n /** Frequency to poll for changes in value, in milliseconds */\n valueChangedDelay?: number;\n /** Listens for <Enter> keypress */\n onEnterPressed?: () => void;\n /** Listens for <Esc> keypress */\n onEscPressed?: () => void;\n /** Listens for onClick event for Clear (x) icon */\n onClear?: () => void;\n}\n\n/** @internal */\ninterface SearchBoxState {\n value: string;\n}\n\n/**\n * Input box for entering text to search for.\n * The SearchBox has an icon right-justified and bounded by the box and shows a Search or Clear icon.\n * @public\n */\nexport class SearchBox extends React.Component<SearchBoxProps, SearchBoxState> {\n private _inputElement: HTMLInputElement | null = null;\n private _timeoutId: number = 0;\n\n /** @internal */\n public override readonly state: Readonly<SearchBoxState> = {\n value: this.props.initialValue || \"\",\n };\n\n constructor(props: SearchBoxProps) {\n super(props);\n }\n\n /** @internal */\n public override render(): React.ReactNode {\n const searchClassName = classnames(\"core-searchbox\", this.props.className);\n const emptyString = this.state.value === \"\";\n const iconClassName = classnames(\"core-searchbox-icon\", \"icon\");\n const iconSpec: IconSpec = emptyString ? <SvgSearch /> : <SvgClose />;\n const buttonTitle = UiCore.translate(\n emptyString ? \"general.search\" : \"general.clear\"\n );\n return (\n <div\n className={searchClassName}\n style={this.props.style}\n data-testid=\"core-searchbox-instance\"\n >\n <Input\n defaultValue={this.props.initialValue}\n ref={(el) => {\n this._inputElement = el;\n }}\n onChange={this._trackChange}\n onKeyDown={this._handleKeyDown}\n onPaste={this._trackChange}\n onCut={this._trackChange}\n placeholder={\n this.props.placeholder\n ? this.props.placeholder\n : UiCore.translate(\"general.search\")\n }\n role=\"searchbox\"\n data-testid=\"core-searchbox-input\"\n />\n {/* eslint-disable-next-line jsx-a11y/click-events-have-key-events */}\n <div\n className=\"core-searchbox-button\"\n onClick={this._handleIconClick}\n role=\"button\"\n tabIndex={-1}\n title={buttonTitle}\n >\n <span className={iconClassName}>\n <Icon iconSpec={iconSpec} />\n </span>\n </div>\n </div>\n );\n }\n\n /** Wrapper for onValueChanged to make sure we don't call search unless the new value is different from the previous value */\n private _onValueChanged = (value: string, previousValue: string) => {\n // istanbul ignore else\n if (value === previousValue) return;\n\n this.setState(\n (_prevState) => {\n return {\n value,\n };\n },\n () => {\n this.props.onValueChanged(this.state.value);\n }\n );\n };\n private _trackChange = (_event?: any): void => {\n let value = \"\";\n const previousValue = this.state.value;\n\n // istanbul ignore else\n if (this._inputElement) value = this._inputElement.value;\n\n if (this.props.valueChangedDelay) {\n this._unsetTimeout();\n this._timeoutId = window.setTimeout(() => {\n this._onValueChanged(value, previousValue);\n }, this.props.valueChangedDelay);\n } else {\n this._onValueChanged(value, previousValue);\n }\n };\n\n private _handleKeyDown = (e: React.KeyboardEvent) => {\n switch (e.key) {\n case Key.Escape.valueOf():\n // istanbul ignore else\n if (this.props.onEscPressed) this.props.onEscPressed();\n break;\n case Key.Enter.valueOf():\n // istanbul ignore else\n if (this.props.onEnterPressed) this.props.onEnterPressed();\n break;\n }\n };\n\n private _handleIconClick = (_event: React.MouseEvent<HTMLElement>): void => {\n // istanbul ignore else\n if (this._inputElement) {\n const clear = this.state.value !== \"\";\n this._inputElement.value = \"\";\n // istanbul ignore else\n if (clear && this.props.onClear) this.props.onClear();\n this._inputElement.focus();\n }\n this._trackChange();\n };\n\n private _unsetTimeout = (): void => {\n if (this._timeoutId) {\n window.clearTimeout(this._timeoutId);\n this._timeoutId = 0;\n }\n };\n\n public override componentWillUnmount() {\n this._unsetTimeout();\n }\n\n public focus() {\n // istanbul ignore else\n if (this._inputElement) this._inputElement.focus();\n }\n}\n"]}
|
|
1
|
+
{"version":3,"file":"SearchBox.js","sourceRoot":"","sources":["../../../../src/core-react/searchbox/SearchBox.tsx"],"names":[],"mappings":"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","sourcesContent":["/*---------------------------------------------------------------------------------------------\n * Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n * See LICENSE.md in the project root for license terms and full copyright notice.\n *--------------------------------------------------------------------------------------------*/\n/** @packageDocumentation\n * @module SearchBox\n */\n\nimport \"./SearchBox.scss\";\nimport classnames from \"classnames\";\nimport * as React from \"react\";\nimport { Key } from \"ts-key-enum\";\nimport type { CommonProps } from \"../utils/Props\";\nimport { Input } from \"@itwin/itwinui-react\";\nimport type { IconSpec } from \"../icons/IconComponent\";\nimport { Icon } from \"../icons/IconComponent\";\nimport { SvgClose, SvgSearch } from \"@itwin/itwinui-icons-react\";\nimport { useTranslation } from \"../l10n/useTranslation\";\n\n/* eslint-disable deprecation/deprecation */\n\n/** Properties for [[SearchBox]] component\n * @public\n * @deprecated in 4.12.x. Props of deprecated component {@link SearchBox}.\n */\nexport interface SearchBoxProps extends CommonProps {\n /** Value to set SearchBox to initially */\n initialValue?: string;\n /** Placeholder value to show in gray before anything is entered in */\n placeholder?: string;\n /** Triggered when the content of SearchBox is changed */\n onValueChanged: (value: string) => void;\n /** Frequency to poll for changes in value, in milliseconds */\n valueChangedDelay?: number;\n /** Listens for <Enter> keypress */\n onEnterPressed?: () => void;\n /** Listens for <Esc> keypress */\n onEscPressed?: () => void;\n /** Listens for onClick event for Clear (x) icon */\n onClear?: () => void;\n}\n\ninterface SearchBoxState {\n value: string;\n}\n\n/** Input box for entering text to search for.\n * The SearchBox has an icon right-justified and bounded by the box and shows a Search or Clear icon.\n * @public\n * @deprecated in 4.12.x. Use {@link https://itwinui.bentley.com/docs/searchbox iTwinUI SearchBox} instead.\n */\nexport class SearchBox extends React.Component<SearchBoxProps, SearchBoxState> {\n private _inputElement: HTMLInputElement | null = null;\n private _timeoutId: number = 0;\n\n /** @internal */\n public override readonly state: Readonly<SearchBoxState> = {\n value: this.props.initialValue || \"\",\n };\n\n constructor(props: SearchBoxProps) {\n super(props);\n }\n\n /** @internal */\n public override render(): React.ReactNode {\n const searchClassName = classnames(\"core-searchbox\", this.props.className);\n const emptyString = this.state.value === \"\";\n const iconClassName = classnames(\"core-searchbox-icon\", \"icon\");\n const iconSpec: IconSpec = emptyString ? <SvgSearch /> : <SvgClose />;\n return (\n <div\n className={searchClassName}\n style={this.props.style}\n data-testid=\"core-searchbox-instance\"\n >\n <SearchBoxInput\n defaultValue={this.props.initialValue}\n ref={(el) => {\n this._inputElement = el;\n }}\n onChange={this._trackChange}\n onKeyDown={this._handleKeyDown}\n onPaste={this._trackChange}\n onCut={this._trackChange}\n placeholder={this.props.placeholder}\n role=\"searchbox\"\n data-testid=\"core-searchbox-input\"\n />\n <SearchBoxButton\n className=\"core-searchbox-button\"\n onClick={this._handleIconClick}\n role=\"button\"\n tabIndex={-1}\n emptyString={emptyString}\n >\n <span className={iconClassName}>\n <Icon iconSpec={iconSpec} />\n </span>\n </SearchBoxButton>\n </div>\n );\n }\n\n /** Wrapper for onValueChanged to make sure we don't call search unless the new value is different from the previous value */\n private _onValueChanged = (value: string, previousValue: string) => {\n // istanbul ignore else\n if (value === previousValue) return;\n\n this.setState(\n (_prevState) => {\n return {\n value,\n };\n },\n () => {\n this.props.onValueChanged(this.state.value);\n }\n );\n };\n private _trackChange = (_event?: any): void => {\n let value = \"\";\n const previousValue = this.state.value;\n\n // istanbul ignore else\n if (this._inputElement) value = this._inputElement.value;\n\n if (this.props.valueChangedDelay) {\n this._unsetTimeout();\n this._timeoutId = window.setTimeout(() => {\n this._onValueChanged(value, previousValue);\n }, this.props.valueChangedDelay);\n } else {\n this._onValueChanged(value, previousValue);\n }\n };\n\n private _handleKeyDown = (e: React.KeyboardEvent) => {\n switch (e.key) {\n case Key.Escape.valueOf():\n // istanbul ignore else\n if (this.props.onEscPressed) this.props.onEscPressed();\n break;\n case Key.Enter.valueOf():\n // istanbul ignore else\n if (this.props.onEnterPressed) this.props.onEnterPressed();\n break;\n }\n };\n\n private _handleIconClick = (_event: React.MouseEvent<HTMLElement>): void => {\n // istanbul ignore else\n if (this._inputElement) {\n const clear = this.state.value !== \"\";\n this._inputElement.value = \"\";\n // istanbul ignore else\n if (clear && this.props.onClear) this.props.onClear();\n this._inputElement.focus();\n }\n this._trackChange();\n };\n\n private _unsetTimeout = (): void => {\n if (this._timeoutId) {\n window.clearTimeout(this._timeoutId);\n this._timeoutId = 0;\n }\n };\n\n public override componentWillUnmount() {\n this._unsetTimeout();\n }\n\n public focus() {\n // istanbul ignore else\n if (this._inputElement) this._inputElement.focus();\n }\n}\n\nconst SearchBoxInput = React.forwardRef<\n HTMLInputElement,\n React.ComponentProps<typeof Input>\n>(function SearchBoxInput({ placeholder, ...props }, ref) {\n const { translate } = useTranslation();\n return (\n <Input\n ref={ref}\n placeholder={placeholder || translate(\"general.search\")}\n {...props}\n />\n );\n});\n\nfunction SearchBoxButton({\n emptyString,\n ...props\n}: React.ComponentProps<\"div\"> & { emptyString: boolean }) {\n const { translate } = useTranslation();\n const buttonTitle = translate(\n emptyString ? \"general.search\" : \"general.clear\"\n );\n return <div title={buttonTitle} {...props} />;\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SettingsContainer.d.ts","sourceRoot":"","sources":["../../../../src/core-react/settings/SettingsContainer.tsx"],"names":[],"mappings":"AAIA;;GAEG;AAEH,OAAO,0BAA0B,CAAC;AAClC,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,KAAK,EAIV,eAAe,EACf,gBAAgB,EACjB,MAAM,mBAAmB,CAAC;AAiB3B;;GAEG;AACH,wBAAgB,qCAAqC,CACnD,eAAe,EAAE,eAAe,EAChC,YAAY,EAAE,CAAC,SAAS,EAAE,CAAC,IAAI,EAAE,GAAG,KAAK,IAAI,EAAE,aAAa,CAAC,EAAE,GAAG,KAAK,IAAI,
|
|
1
|
+
{"version":3,"file":"SettingsContainer.d.ts","sourceRoot":"","sources":["../../../../src/core-react/settings/SettingsContainer.tsx"],"names":[],"mappings":"AAIA;;GAEG;AAEH,OAAO,0BAA0B,CAAC;AAClC,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,KAAK,EAIV,eAAe,EACf,gBAAgB,EACjB,MAAM,mBAAmB,CAAC;AAiB3B;;GAEG;AACH,wBAAgB,qCAAqC,CACnD,eAAe,EAAE,eAAe,EAChC,YAAY,EAAE,CAAC,SAAS,EAAE,CAAC,IAAI,EAAE,GAAG,KAAK,IAAI,EAAE,aAAa,CAAC,EAAE,GAAG,KAAK,IAAI,QAY5E;AAED;;GAEG;AACH,wBAAgB,qCAAqC,CACnD,eAAe,EAAE,eAAe,EAChC,YAAY,EAAE,CACZ,gBAAgB,EAAE,CAAC,IAAI,EAAE,GAAG,KAAK,IAAI,EACrC,sBAAsB,CAAC,EAAE,MAAM,KAC5B,IAAI,QAeV;AAED;;GAEG;AACH,MAAM,WAAW,sBAAsB;IACrC,IAAI,EAAE,gBAAgB,EAAE,CAAC;IAEzB,kBAAkB,CAAC,EAAE,gBAAgB,CAAC;IAEtC,qBAAqB,CAAC,EAAE,CAAC,GAAG,EAAE,gBAAgB,KAAK,IAAI,CAAC;IAExD,eAAe,EAAE,eAAe,CAAC;IAEjC,UAAU,CAAC,EAAE,OAAO,CAAC;CACtB;AAED;;;;GAIG;AACH,eAAO,MAAM,iBAAiB,sFAM3B,sBAAsB,sBAkJxB,CAAC"}
|
|
@@ -26,7 +26,8 @@ const saveChanges = React.useCallback((afterSaveFunction: (args: any) => void, a
|
|
|
26
26
|
*/
|
|
27
27
|
export function useSaveBeforeClosingSettingsContainer(settingsManager, saveFunction) {
|
|
28
28
|
React.useEffect(() => {
|
|
29
|
-
const handleProcessSettingsContainerClose = ({ closeFunc, closeFuncArgs
|
|
29
|
+
const handleProcessSettingsContainerClose = ({ closeFunc, closeFuncArgs } // eslint-disable-line deprecation/deprecation
|
|
30
|
+
) => {
|
|
30
31
|
saveFunction(closeFunc, closeFuncArgs);
|
|
31
32
|
};
|
|
32
33
|
return settingsManager.onProcessSettingsContainerClose.addListener(handleProcessSettingsContainerClose);
|
|
@@ -37,7 +38,8 @@ export function useSaveBeforeClosingSettingsContainer(settingsManager, saveFunct
|
|
|
37
38
|
*/
|
|
38
39
|
export function useSaveBeforeActivatingNewSettingsTab(settingsManager, saveFunction) {
|
|
39
40
|
React.useEffect(() => {
|
|
40
|
-
const handleProcessSettingsTabActivation = ({ tabSelectionFunc, requestedSettingsTabId, }
|
|
41
|
+
const handleProcessSettingsTabActivation = ({ tabSelectionFunc, requestedSettingsTabId, } // eslint-disable-line deprecation/deprecation
|
|
42
|
+
) => {
|
|
41
43
|
saveFunction(tabSelectionFunc, requestedSettingsTabId);
|
|
42
44
|
};
|
|
43
45
|
return settingsManager.onProcessSettingsTabActivation.addListener(handleProcessSettingsTabActivation);
|
|
@@ -85,7 +87,8 @@ export const SettingsContainer = ({ tabs, onSettingsTabSelected, currentSettings
|
|
|
85
87
|
tabs,
|
|
86
88
|
]);
|
|
87
89
|
React.useEffect(() => {
|
|
88
|
-
const handleActivateSettingsTab = ({ settingsTabId
|
|
90
|
+
const handleActivateSettingsTab = ({ settingsTabId } // eslint-disable-line deprecation/deprecation
|
|
91
|
+
) => {
|
|
89
92
|
const idToFind = settingsTabId.toLowerCase();
|
|
90
93
|
let tabToActivate = tabs.find((tab) => tab.tabId.toLowerCase() === idToFind);
|
|
91
94
|
if (!tabToActivate)
|
|
@@ -111,7 +114,8 @@ export const SettingsContainer = ({ tabs, onSettingsTabSelected, currentSettings
|
|
|
111
114
|
tabs,
|
|
112
115
|
]);
|
|
113
116
|
React.useEffect(() => {
|
|
114
|
-
const handleSettingsContainerClose = ({ closeFunc, closeFuncArgs
|
|
117
|
+
const handleSettingsContainerClose = ({ closeFunc, closeFuncArgs } // eslint-disable-line deprecation/deprecation
|
|
118
|
+
) => {
|
|
115
119
|
if (openTab && openTab.pageWillHandleCloseRequest)
|
|
116
120
|
settingsManager.onProcessSettingsContainerClose.emit({
|
|
117
121
|
closeFunc,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SettingsContainer.js","sourceRoot":"","sources":["../../../../src/core-react/settings/SettingsContainer.tsx"],"names":[],"mappings":"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","sourcesContent":["/*---------------------------------------------------------------------------------------------\n * Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n * See LICENSE.md in the project root for license terms and full copyright notice.\n *--------------------------------------------------------------------------------------------*/\n/** @packageDocumentation\n * @module Settings\n */\n\nimport \"./SettingsContainer.scss\";\nimport * as React from \"react\";\nimport type {\n ActivateSettingsTabEventArgs,\n ProcessSettingsContainerCloseEventArgs,\n ProcessSettingsTabActivationEventArgs,\n SettingsManager,\n SettingsTabEntry,\n} from \"./SettingsManager\";\nimport { VerticalTabs } from \"../tabs/VerticalTabs\";\nimport { ConditionalBooleanValue } from \"@itwin/appui-abstract\";\n\n/* ---------------------------------------------------------------------------------------------------\n// A typical implementation of a saveFunction callback\nconst saveChanges = React.useCallback((afterSaveFunction: (args: any) => void, args?: any) => {\n if (dataIsDirty) {\n // prompt user to save changes passing in function and arguments to call after saving changes.\n UiFramework.dialogs.modal.openDialog(<CustomSavePromptModalDialog customProps={customProps}\n onDialogCloseArgs={args} onDialogClose={afterSaveFunction} />);\n return;\n }\n afterSaveFunction(args);\n}, []);\n---------------------------------------------------------------------------------------------------------- */\n\n/** Hook to use within Settings Page component to allow saving the current page's data before the Setting Container is closed.\n * @public\n */\nexport function useSaveBeforeClosingSettingsContainer(\n settingsManager: SettingsManager,\n saveFunction: (closeFunc: (args: any) => void, closeFuncArgs?: any) => void\n) {\n React.useEffect(() => {\n const handleProcessSettingsContainerClose = ({\n closeFunc,\n closeFuncArgs,\n }: ProcessSettingsContainerCloseEventArgs) => {\n saveFunction(closeFunc, closeFuncArgs);\n };\n return settingsManager.onProcessSettingsContainerClose.addListener(\n handleProcessSettingsContainerClose\n );\n }, [saveFunction, settingsManager]);\n}\n\n/** Hook to use within Settings Page component to allow saving the current page's data before loading to the requested Setting Tab's page.\n * @public\n */\nexport function useSaveBeforeActivatingNewSettingsTab(\n settingsManager: SettingsManager,\n saveFunction: (\n tabSelectionFunc: (args: any) => void,\n requestedSettingsTabId?: string\n ) => void\n) {\n React.useEffect(() => {\n const handleProcessSettingsTabActivation = ({\n tabSelectionFunc,\n requestedSettingsTabId,\n }: ProcessSettingsTabActivationEventArgs) => {\n saveFunction(tabSelectionFunc, requestedSettingsTabId);\n };\n return settingsManager.onProcessSettingsTabActivation.addListener(\n handleProcessSettingsTabActivation\n );\n }, [saveFunction, settingsManager]);\n}\n\n/**\n * @public\n */\nexport interface SettingsContainerProps {\n tabs: SettingsTabEntry[];\n // sets tab to set as active tab\n currentSettingsTab?: SettingsTabEntry;\n // If plugging into a SPA and you need to modify the route, you can pass in additional logic here\n onSettingsTabSelected?: (tab: SettingsTabEntry) => void;\n // The SettingsManager that can have event handlers registered against it so pages can save its settings before the page is closed.\n settingsManager: SettingsManager;\n // if true show tab label as header above page contents.\n showHeader?: boolean;\n}\n\n/**\n * SettingsContainer component that displays Setting Tabs on Left and the P\n * Note: that SettingsContainer is not rendered if tabs array is empty\n * @public\n */\nexport const SettingsContainer = ({\n tabs,\n onSettingsTabSelected,\n currentSettingsTab,\n settingsManager,\n showHeader,\n}: SettingsContainerProps) => {\n // sort the tabs based on itemPriority\n tabs = tabs.sort((a, b) => a.itemPriority - b.itemPriority);\n\n const [openTab, setOpenTab] = React.useState(() => {\n if (\n currentSettingsTab &&\n !ConditionalBooleanValue.getValue(currentSettingsTab.isDisabled)\n )\n return currentSettingsTab;\n else return tabs[0];\n });\n\n const processTabSelection = React.useCallback(\n (tab: SettingsTabEntry) => {\n if (ConditionalBooleanValue.getValue(tab.isDisabled)) return;\n onSettingsTabSelected && onSettingsTabSelected(tab);\n setOpenTab(tab);\n },\n [onSettingsTabSelected]\n );\n\n const processTabSelectionById = React.useCallback(\n (tabId: string) => {\n const tabToActivate = tabs.find((tab) => tab.tabId === tabId);\n tabToActivate && processTabSelection(tabToActivate);\n },\n [processTabSelection, tabs]\n );\n\n const onActivateTab = React.useCallback(\n (tabIndex: number) => {\n const selectedTab = tabs[tabIndex];\n if (openTab && openTab.pageWillHandleCloseRequest)\n settingsManager.onProcessSettingsTabActivation.emit({\n requestedSettingsTabId: selectedTab.tabId,\n tabSelectionFunc: processTabSelectionById,\n });\n else processTabSelection(selectedTab);\n },\n [\n openTab,\n processTabSelection,\n processTabSelectionById,\n settingsManager,\n tabs,\n ]\n );\n\n React.useEffect(() => {\n const handleActivateSettingsTab = ({\n settingsTabId,\n }: ActivateSettingsTabEventArgs) => {\n const idToFind = settingsTabId.toLowerCase();\n let tabToActivate = tabs.find(\n (tab) => tab.tabId.toLowerCase() === idToFind\n );\n if (!tabToActivate)\n tabToActivate = tabs.find(\n (tab) => tab.label.toLowerCase() === idToFind\n );\n // istanbul ignore else\n if (tabToActivate) {\n if (openTab && openTab.pageWillHandleCloseRequest)\n settingsManager.onProcessSettingsTabActivation.emit({\n requestedSettingsTabId: tabToActivate.tabId,\n tabSelectionFunc: processTabSelectionById,\n });\n else processTabSelection(tabToActivate);\n }\n };\n\n return settingsManager.onActivateSettingsTab.addListener(\n handleActivateSettingsTab\n );\n }, [\n openTab,\n processTabSelection,\n processTabSelectionById,\n settingsManager,\n settingsManager.onActivateSettingsTab,\n tabs,\n ]);\n\n React.useEffect(() => {\n const handleSettingsContainerClose = ({\n closeFunc,\n closeFuncArgs,\n }: ProcessSettingsContainerCloseEventArgs) => {\n if (openTab && openTab.pageWillHandleCloseRequest)\n settingsManager.onProcessSettingsContainerClose.emit({\n closeFunc,\n closeFuncArgs,\n });\n else closeFunc(closeFuncArgs);\n };\n return settingsManager.onCloseSettingsContainer.addListener(\n handleSettingsContainerClose\n );\n }, [\n openTab,\n processTabSelection,\n settingsManager,\n settingsManager.onActivateSettingsTab,\n tabs,\n ]);\n\n const labels = tabs.map((tab) => {\n return {\n label: tab.label,\n subLabel: tab.subLabel,\n icon: tab.icon,\n tooltip: tab.tooltip,\n tabId: tab.tabId,\n disabled: ConditionalBooleanValue.getValue(tab.isDisabled),\n };\n });\n const activeIndex = tabs.findIndex((tab) => tab.tabId === openTab.tabId);\n return (\n <div className=\"core-settings-container\">\n <div className=\"core-settings-container-left\">\n <VerticalTabs\n labels={labels}\n activeIndex={activeIndex}\n onActivateTab={onActivateTab}\n />\n </div>\n <div className=\"core-settings-container-right\">\n {showHeader && (\n <div className=\"core-settings-container-right-header\">\n <span className=\"core-settings-container-main-header\">\n {openTab.label}\n </span>\n {openTab.subLabel && (\n <span className=\"core-settings-container-main-sub-header\">\n {openTab.subLabel}\n </span>\n )}\n </div>\n )}\n <div className=\"core-settings-container-right-contents\">\n {openTab.page}\n </div>\n </div>\n </div>\n );\n};\n"]}
|
|
1
|
+
{"version":3,"file":"SettingsContainer.js","sourceRoot":"","sources":["../../../../src/core-react/settings/SettingsContainer.tsx"],"names":[],"mappings":"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","sourcesContent":["/*---------------------------------------------------------------------------------------------\n * Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n * See LICENSE.md in the project root for license terms and full copyright notice.\n *--------------------------------------------------------------------------------------------*/\n/** @packageDocumentation\n * @module Settings\n */\n\nimport \"./SettingsContainer.scss\";\nimport * as React from \"react\";\nimport type {\n ActivateSettingsTabEventArgs,\n ProcessSettingsContainerCloseEventArgs,\n ProcessSettingsTabActivationEventArgs,\n SettingsManager,\n SettingsTabEntry,\n} from \"./SettingsManager\";\nimport { VerticalTabs } from \"../tabs/VerticalTabs\";\nimport { ConditionalBooleanValue } from \"@itwin/appui-abstract\";\n\n/* ---------------------------------------------------------------------------------------------------\n// A typical implementation of a saveFunction callback\nconst saveChanges = React.useCallback((afterSaveFunction: (args: any) => void, args?: any) => {\n if (dataIsDirty) {\n // prompt user to save changes passing in function and arguments to call after saving changes.\n UiFramework.dialogs.modal.openDialog(<CustomSavePromptModalDialog customProps={customProps}\n onDialogCloseArgs={args} onDialogClose={afterSaveFunction} />);\n return;\n }\n afterSaveFunction(args);\n}, []);\n---------------------------------------------------------------------------------------------------------- */\n\n/** Hook to use within Settings Page component to allow saving the current page's data before the Setting Container is closed.\n * @public\n */\nexport function useSaveBeforeClosingSettingsContainer(\n settingsManager: SettingsManager,\n saveFunction: (closeFunc: (args: any) => void, closeFuncArgs?: any) => void\n) {\n React.useEffect(() => {\n const handleProcessSettingsContainerClose = (\n { closeFunc, closeFuncArgs }: ProcessSettingsContainerCloseEventArgs // eslint-disable-line deprecation/deprecation\n ) => {\n saveFunction(closeFunc, closeFuncArgs);\n };\n return settingsManager.onProcessSettingsContainerClose.addListener(\n handleProcessSettingsContainerClose\n );\n }, [saveFunction, settingsManager]);\n}\n\n/** Hook to use within Settings Page component to allow saving the current page's data before loading to the requested Setting Tab's page.\n * @public\n */\nexport function useSaveBeforeActivatingNewSettingsTab(\n settingsManager: SettingsManager,\n saveFunction: (\n tabSelectionFunc: (args: any) => void,\n requestedSettingsTabId?: string\n ) => void\n) {\n React.useEffect(() => {\n const handleProcessSettingsTabActivation = (\n {\n tabSelectionFunc,\n requestedSettingsTabId,\n }: ProcessSettingsTabActivationEventArgs // eslint-disable-line deprecation/deprecation\n ) => {\n saveFunction(tabSelectionFunc, requestedSettingsTabId);\n };\n return settingsManager.onProcessSettingsTabActivation.addListener(\n handleProcessSettingsTabActivation\n );\n }, [saveFunction, settingsManager]);\n}\n\n/**\n * @public\n */\nexport interface SettingsContainerProps {\n tabs: SettingsTabEntry[];\n // sets tab to set as active tab\n currentSettingsTab?: SettingsTabEntry;\n // If plugging into a SPA and you need to modify the route, you can pass in additional logic here\n onSettingsTabSelected?: (tab: SettingsTabEntry) => void;\n // The SettingsManager that can have event handlers registered against it so pages can save its settings before the page is closed.\n settingsManager: SettingsManager;\n // if true show tab label as header above page contents.\n showHeader?: boolean;\n}\n\n/**\n * SettingsContainer component that displays Setting Tabs on Left and the P\n * Note: that SettingsContainer is not rendered if tabs array is empty\n * @public\n */\nexport const SettingsContainer = ({\n tabs,\n onSettingsTabSelected,\n currentSettingsTab,\n settingsManager,\n showHeader,\n}: SettingsContainerProps) => {\n // sort the tabs based on itemPriority\n tabs = tabs.sort((a, b) => a.itemPriority - b.itemPriority);\n\n const [openTab, setOpenTab] = React.useState(() => {\n if (\n currentSettingsTab &&\n !ConditionalBooleanValue.getValue(currentSettingsTab.isDisabled)\n )\n return currentSettingsTab;\n else return tabs[0];\n });\n\n const processTabSelection = React.useCallback(\n (tab: SettingsTabEntry) => {\n if (ConditionalBooleanValue.getValue(tab.isDisabled)) return;\n onSettingsTabSelected && onSettingsTabSelected(tab);\n setOpenTab(tab);\n },\n [onSettingsTabSelected]\n );\n\n const processTabSelectionById = React.useCallback(\n (tabId: string) => {\n const tabToActivate = tabs.find((tab) => tab.tabId === tabId);\n tabToActivate && processTabSelection(tabToActivate);\n },\n [processTabSelection, tabs]\n );\n\n const onActivateTab = React.useCallback(\n (tabIndex: number) => {\n const selectedTab = tabs[tabIndex];\n if (openTab && openTab.pageWillHandleCloseRequest)\n settingsManager.onProcessSettingsTabActivation.emit({\n requestedSettingsTabId: selectedTab.tabId,\n tabSelectionFunc: processTabSelectionById,\n });\n else processTabSelection(selectedTab);\n },\n [\n openTab,\n processTabSelection,\n processTabSelectionById,\n settingsManager,\n tabs,\n ]\n );\n\n React.useEffect(() => {\n const handleActivateSettingsTab = (\n { settingsTabId }: ActivateSettingsTabEventArgs // eslint-disable-line deprecation/deprecation\n ) => {\n const idToFind = settingsTabId.toLowerCase();\n let tabToActivate = tabs.find(\n (tab) => tab.tabId.toLowerCase() === idToFind\n );\n if (!tabToActivate)\n tabToActivate = tabs.find(\n (tab) => tab.label.toLowerCase() === idToFind\n );\n // istanbul ignore else\n if (tabToActivate) {\n if (openTab && openTab.pageWillHandleCloseRequest)\n settingsManager.onProcessSettingsTabActivation.emit({\n requestedSettingsTabId: tabToActivate.tabId,\n tabSelectionFunc: processTabSelectionById,\n });\n else processTabSelection(tabToActivate);\n }\n };\n\n return settingsManager.onActivateSettingsTab.addListener(\n handleActivateSettingsTab\n );\n }, [\n openTab,\n processTabSelection,\n processTabSelectionById,\n settingsManager,\n settingsManager.onActivateSettingsTab,\n tabs,\n ]);\n\n React.useEffect(() => {\n const handleSettingsContainerClose = (\n { closeFunc, closeFuncArgs }: ProcessSettingsContainerCloseEventArgs // eslint-disable-line deprecation/deprecation\n ) => {\n if (openTab && openTab.pageWillHandleCloseRequest)\n settingsManager.onProcessSettingsContainerClose.emit({\n closeFunc,\n closeFuncArgs,\n });\n else closeFunc(closeFuncArgs);\n };\n return settingsManager.onCloseSettingsContainer.addListener(\n handleSettingsContainerClose\n );\n }, [\n openTab,\n processTabSelection,\n settingsManager,\n settingsManager.onActivateSettingsTab,\n tabs,\n ]);\n\n const labels = tabs.map((tab) => {\n return {\n label: tab.label,\n subLabel: tab.subLabel,\n icon: tab.icon,\n tooltip: tab.tooltip,\n tabId: tab.tabId,\n disabled: ConditionalBooleanValue.getValue(tab.isDisabled),\n };\n });\n const activeIndex = tabs.findIndex((tab) => tab.tabId === openTab.tabId);\n return (\n <div className=\"core-settings-container\">\n <div className=\"core-settings-container-left\">\n {/* eslint-disable-next-line deprecation/deprecation */}\n <VerticalTabs\n labels={labels}\n activeIndex={activeIndex}\n onActivateTab={onActivateTab}\n />\n </div>\n <div className=\"core-settings-container-right\">\n {showHeader && (\n <div className=\"core-settings-container-right-header\">\n <span className=\"core-settings-container-main-header\">\n {openTab.label}\n </span>\n {openTab.subLabel && (\n <span className=\"core-settings-container-main-sub-header\">\n {openTab.subLabel}\n </span>\n )}\n </div>\n )}\n <div className=\"core-settings-container-right-contents\">\n {openTab.page}\n </div>\n </div>\n </div>\n );\n};\n"]}
|
|
@@ -29,11 +29,13 @@ export interface SettingsTabEntry {
|
|
|
29
29
|
}
|
|
30
30
|
/** Event class for [[this.onSettingsProvidersChanged]] which is emitted when a new SettingsTabsProvider is added or removed.
|
|
31
31
|
* @public
|
|
32
|
+
* @deprecated in 4.13.x. This class should not be used by applications to instantiate objects.
|
|
32
33
|
*/
|
|
33
34
|
export declare class SettingsProvidersChangedEvent extends BeUiEvent<SettingsProvidersChangedEventArgs> {
|
|
34
35
|
}
|
|
35
36
|
/** Arguments of [[this.onSettingsProvidersChanged]] event.
|
|
36
37
|
* @public
|
|
38
|
+
* @deprecated in 4.13.x. Event args are inferred from a listener. If explicit type is needed use a type helper.
|
|
37
39
|
*/
|
|
38
40
|
export interface SettingsProvidersChangedEventArgs {
|
|
39
41
|
readonly providers: ReadonlyArray<SettingsTabsProvider>;
|
|
@@ -41,11 +43,13 @@ export interface SettingsProvidersChangedEventArgs {
|
|
|
41
43
|
/** Event class for [[this.onProcessSettingsTabActivation]] which is emitted when a new Tab needs to be activated. This allows the current
|
|
42
44
|
* settings page to save its settings before activating the new SettingTab.
|
|
43
45
|
* @public
|
|
46
|
+
* @deprecated in 4.13.x. This class should not be used by applications to instantiate objects.
|
|
44
47
|
*/
|
|
45
48
|
export declare class ProcessSettingsTabActivationEvent extends BeUiEvent<ProcessSettingsTabActivationEventArgs> {
|
|
46
49
|
}
|
|
47
50
|
/** Arguments of [[this.onProcessSettingsTabActivation]] event.
|
|
48
51
|
* @public
|
|
52
|
+
* @deprecated in 4.13.x. Event args are inferred from a listener. If explicit type is needed use a type helper.
|
|
49
53
|
*/
|
|
50
54
|
export interface ProcessSettingsTabActivationEventArgs {
|
|
51
55
|
readonly tabSelectionFunc: (tabId: string) => void;
|
|
@@ -54,16 +58,13 @@ export interface ProcessSettingsTabActivationEventArgs {
|
|
|
54
58
|
/** Event class for [[this.onProcessSettingsContainerClose]] which is emitted when the settings container will be closed. This allows the current
|
|
55
59
|
* settings page to save its settings before calling the function to close the container.
|
|
56
60
|
* @public
|
|
61
|
+
* @deprecated in 4.13.x. This class should not be used by applications to instantiate objects.
|
|
57
62
|
*/
|
|
58
63
|
export declare class ProcessSettingsContainerCloseEvent extends BeUiEvent<ProcessSettingsContainerCloseEventArgs> {
|
|
59
64
|
}
|
|
60
|
-
/** Event class for [[this.onCloseSettingsContainer]] which is monitored by the settings container and indicates that some out process want to close the settings container.
|
|
61
|
-
* @internal
|
|
62
|
-
*/
|
|
63
|
-
export declare class CloseSettingsContainerEvent extends BeUiEvent<ProcessSettingsContainerCloseEventArgs> {
|
|
64
|
-
}
|
|
65
65
|
/** Arguments of [[this.onProcessSettingsContainerClose]] event.
|
|
66
66
|
* @public
|
|
67
|
+
* @deprecated in 4.13.x. Event args are inferred from a listener. If explicit type is needed use a type helper.
|
|
67
68
|
*/
|
|
68
69
|
export interface ProcessSettingsContainerCloseEventArgs {
|
|
69
70
|
readonly closeFunc: (args: any) => void;
|
|
@@ -71,11 +72,13 @@ export interface ProcessSettingsContainerCloseEventArgs {
|
|
|
71
72
|
}
|
|
72
73
|
/** Event class for [[this.onActivateSettingsTab]] which is emitted when API call needs to set the active settings tab (ie via Tool key-in).
|
|
73
74
|
* @public
|
|
75
|
+
* @deprecated in 4.13.x. This class should not be used by applications to instantiate objects.
|
|
74
76
|
*/
|
|
75
77
|
export declare class ActivateSettingsTabEvent extends BeUiEvent<ActivateSettingsTabEventArgs> {
|
|
76
78
|
}
|
|
77
79
|
/** Arguments of [[this.onActivateSettingsTab]] event.
|
|
78
80
|
* @public
|
|
81
|
+
* @deprecated in 4.13.x. Event args are inferred from a listener. If explicit type is needed use a type helper.
|
|
79
82
|
*/
|
|
80
83
|
export interface ActivateSettingsTabEventArgs {
|
|
81
84
|
readonly settingsTabId: string;
|
|
@@ -108,11 +111,11 @@ export declare class SettingsManager {
|
|
|
108
111
|
/** Event raised to change the active settings tab shown in UI. Monitored by the SettingsContainer.
|
|
109
112
|
* @internal
|
|
110
113
|
*/
|
|
111
|
-
readonly onActivateSettingsTab:
|
|
114
|
+
readonly onActivateSettingsTab: BeUiEvent<ActivateSettingsTabEventArgs>;
|
|
112
115
|
/** Event monitored by SettingsContainer to process request to close the settings container.
|
|
113
116
|
* @internal
|
|
114
117
|
*/
|
|
115
|
-
readonly onCloseSettingsContainer:
|
|
118
|
+
readonly onCloseSettingsContainer: BeUiEvent<ProcessSettingsContainerCloseEventArgs>;
|
|
116
119
|
/** @public */
|
|
117
120
|
get providers(): ReadonlyArray<SettingsTabsProvider>;
|
|
118
121
|
set providers(p: ReadonlyArray<SettingsTabsProvider>);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SettingsManager.d.ts","sourceRoot":"","sources":["../../../../src/core-react/settings/SettingsManager.tsx"],"names":[],"mappings":"AAIA;;GAEG;AAEH,OAAO,EAAE,SAAS,EAAU,MAAM,qBAAqB,CAAC;AACxD,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,uBAAuB,CAAC;AAGrE;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B,0BAA0B;IAC1B,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,8BAA8B;IAC9B,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,iEAAiE;IACjE,QAAQ,CAAC,IAAI,EAAE,KAAK,CAAC,YAAY,CAAC;IAClC;gHAC4G;IAC5G,QAAQ,CAAC,0BAA0B,CAAC,EAAE,OAAO,CAAC;IAC9C,4CAA4C;IAC5C,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAC9B,6CAA6C;IAC7C,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAC3B,yBAAyB;IACzB,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,KAAK,CAAC,YAAY,CAAC;IAC5C,qEAAqE;IACrE,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,GAAG,KAAK,CAAC,YAAY,CAAC;IAC/C,2CAA2C;IAC3C,QAAQ,CAAC,UAAU,CAAC,EAAE,OAAO,GAAG,uBAAuB,CAAC;CACzD;AAED
|
|
1
|
+
{"version":3,"file":"SettingsManager.d.ts","sourceRoot":"","sources":["../../../../src/core-react/settings/SettingsManager.tsx"],"names":[],"mappings":"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"}
|