@itwin/appui-react 3.6.0-dev.8 → 3.7.0-dev.1
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 +45 -1
- package/LICENSE.md +1 -1
- package/lib/cjs/appui-react/UiFramework.d.ts +65 -8
- package/lib/cjs/appui-react/UiFramework.d.ts.map +1 -1
- package/lib/cjs/appui-react/UiFramework.js +97 -22
- package/lib/cjs/appui-react/UiFramework.js.map +1 -1
- package/lib/cjs/appui-react/accudraw/AccuDrawDialog.d.ts.map +1 -1
- package/lib/cjs/appui-react/accudraw/AccuDrawDialog.js +1 -2
- package/lib/cjs/appui-react/accudraw/AccuDrawDialog.js.map +1 -1
- package/lib/cjs/appui-react/accudraw/AccuDrawFieldContainer.js +2 -2
- package/lib/cjs/appui-react/accudraw/AccuDrawFieldContainer.js.map +1 -1
- package/lib/cjs/appui-react/accudraw/AccuDrawInputField.js +2 -2
- package/lib/cjs/appui-react/accudraw/AccuDrawInputField.js.map +1 -1
- package/lib/cjs/appui-react/accudraw/AccuDrawKeyboardShortcuts.d.ts +1 -1
- package/lib/cjs/appui-react/accudraw/AccuDrawKeyboardShortcuts.d.ts.map +1 -1
- package/lib/cjs/appui-react/accudraw/AccuDrawKeyboardShortcuts.js.map +1 -1
- package/lib/cjs/appui-react/backstage/Backstage.d.ts +4 -4
- package/lib/cjs/appui-react/backstage/Backstage.js +7 -7
- package/lib/cjs/appui-react/backstage/Backstage.js.map +1 -1
- package/lib/cjs/appui-react/backstage/BackstageComposer.d.ts.map +1 -1
- package/lib/cjs/appui-react/backstage/BackstageComposer.js +1 -0
- package/lib/cjs/appui-react/backstage/BackstageComposer.js.map +1 -1
- package/lib/cjs/appui-react/backstage/BackstageComposerItem.js +4 -4
- package/lib/cjs/appui-react/backstage/BackstageComposerItem.js.map +1 -1
- package/lib/cjs/appui-react/backstage/BackstageItem.d.ts +43 -0
- package/lib/cjs/appui-react/backstage/BackstageItem.d.ts.map +1 -0
- package/lib/cjs/appui-react/backstage/BackstageItem.js +37 -0
- package/lib/cjs/appui-react/backstage/BackstageItem.js.map +1 -0
- package/lib/cjs/appui-react/backstage/BackstageItemProps.d.ts +3 -3
- package/lib/cjs/appui-react/backstage/BackstageItemProps.js +1 -1
- package/lib/cjs/appui-react/backstage/BackstageItemProps.js.map +1 -1
- package/lib/cjs/appui-react/backstage/BackstageItemUtilities.d.ts +7 -35
- package/lib/cjs/appui-react/backstage/BackstageItemUtilities.d.ts.map +1 -1
- package/lib/cjs/appui-react/backstage/BackstageItemUtilities.js +10 -24
- package/lib/cjs/appui-react/backstage/BackstageItemUtilities.js.map +1 -1
- package/lib/cjs/appui-react/backstage/BackstageManager.d.ts +9 -15
- package/lib/cjs/appui-react/backstage/BackstageManager.d.ts.map +1 -1
- package/lib/cjs/appui-react/backstage/BackstageManager.js +15 -29
- package/lib/cjs/appui-react/backstage/BackstageManager.js.map +1 -1
- package/lib/cjs/appui-react/backstage/CommandLaunch.d.ts +2 -2
- package/lib/cjs/appui-react/backstage/CommandLaunch.js +1 -1
- package/lib/cjs/appui-react/backstage/CommandLaunch.js.map +1 -1
- package/lib/cjs/appui-react/backstage/FrontstageLaunch.d.ts +2 -2
- package/lib/cjs/appui-react/backstage/FrontstageLaunch.d.ts.map +1 -1
- package/lib/cjs/appui-react/backstage/FrontstageLaunch.js +6 -7
- package/lib/cjs/appui-react/backstage/FrontstageLaunch.js.map +1 -1
- package/lib/cjs/appui-react/backstage/InternalBackstageManager.d.ts +23 -0
- package/lib/cjs/appui-react/backstage/InternalBackstageManager.d.ts.map +1 -0
- package/lib/cjs/appui-react/backstage/InternalBackstageManager.js +58 -0
- package/lib/cjs/appui-react/backstage/InternalBackstageManager.js.map +1 -0
- package/lib/cjs/appui-react/backstage/Separator.d.ts +1 -1
- package/lib/cjs/appui-react/backstage/Separator.js +1 -1
- package/lib/cjs/appui-react/backstage/Separator.js.map +1 -1
- package/lib/cjs/appui-react/backstage/TaskLaunch.d.ts +2 -2
- package/lib/cjs/appui-react/backstage/TaskLaunch.js +1 -1
- package/lib/cjs/appui-react/backstage/TaskLaunch.js.map +1 -1
- package/lib/cjs/appui-react/backstage/useDefaultBackstageItems.js.map +1 -1
- package/lib/cjs/appui-react/childwindow/ChildWindowManager.d.ts +57 -19
- package/lib/cjs/appui-react/childwindow/ChildWindowManager.d.ts.map +1 -1
- package/lib/cjs/appui-react/childwindow/ChildWindowManager.js +74 -150
- package/lib/cjs/appui-react/childwindow/ChildWindowManager.js.map +1 -1
- package/lib/cjs/appui-react/childwindow/InternalChildWindowManager.d.ts +49 -0
- package/lib/cjs/appui-react/childwindow/InternalChildWindowManager.d.ts.map +1 -0
- package/lib/cjs/appui-react/childwindow/InternalChildWindowManager.js +206 -0
- package/lib/cjs/appui-react/childwindow/InternalChildWindowManager.js.map +1 -0
- package/lib/cjs/appui-react/childwindow/{ChildWindowManager.scss → InternalChildWindowManager.scss} +0 -0
- package/lib/cjs/appui-react/configurableui/ActivityTracker.d.ts.map +1 -1
- package/lib/cjs/appui-react/configurableui/ActivityTracker.js +4 -3
- package/lib/cjs/appui-react/configurableui/ActivityTracker.js.map +1 -1
- package/lib/cjs/appui-react/configurableui/ConfigurableUiContent.js +5 -5
- package/lib/cjs/appui-react/configurableui/ConfigurableUiContent.js.map +1 -1
- package/lib/cjs/appui-react/configurableui/ConfigurableUiManager.d.ts +13 -37
- package/lib/cjs/appui-react/configurableui/ConfigurableUiManager.d.ts.map +1 -1
- package/lib/cjs/appui-react/configurableui/ConfigurableUiManager.js +24 -96
- package/lib/cjs/appui-react/configurableui/ConfigurableUiManager.js.map +1 -1
- package/lib/cjs/appui-react/configurableui/InternalConfigurableUiManager.d.ts +82 -0
- package/lib/cjs/appui-react/configurableui/InternalConfigurableUiManager.d.ts.map +1 -0
- package/lib/cjs/appui-react/configurableui/InternalConfigurableUiManager.js +155 -0
- package/lib/cjs/appui-react/configurableui/InternalConfigurableUiManager.js.map +1 -0
- package/lib/cjs/appui-react/configurableui/TimeTracker.js +5 -5
- package/lib/cjs/appui-react/configurableui/TimeTracker.js.map +1 -1
- package/lib/cjs/appui-react/configurableui/state.d.ts +3 -3
- package/lib/cjs/appui-react/configurableui/state.d.ts.map +1 -1
- package/lib/cjs/appui-react/configurableui/state.js +2 -2
- package/lib/cjs/appui-react/configurableui/state.js.map +1 -1
- package/lib/cjs/appui-react/content/ContentGroup.d.ts +1 -1
- package/lib/cjs/appui-react/content/ContentGroup.d.ts.map +1 -1
- package/lib/cjs/appui-react/content/ContentGroup.js +4 -4
- package/lib/cjs/appui-react/content/ContentGroup.js.map +1 -1
- package/lib/cjs/appui-react/content/ContentLayout.d.ts +1 -1
- package/lib/cjs/appui-react/content/ContentLayout.d.ts.map +1 -1
- package/lib/cjs/appui-react/content/ContentLayout.js +30 -15
- package/lib/cjs/appui-react/content/ContentLayout.js.map +1 -1
- package/lib/cjs/appui-react/content/ContentLayoutManager.d.ts +1 -1
- package/lib/cjs/appui-react/content/ContentLayoutManager.d.ts.map +1 -1
- package/lib/cjs/appui-react/content/ContentLayoutManager.js +11 -37
- package/lib/cjs/appui-react/content/ContentLayoutManager.js.map +1 -1
- package/lib/cjs/appui-react/content/ContentViewManager.d.ts +4 -34
- package/lib/cjs/appui-react/content/ContentViewManager.d.ts.map +1 -1
- package/lib/cjs/appui-react/content/ContentViewManager.js +22 -115
- package/lib/cjs/appui-react/content/ContentViewManager.js.map +1 -1
- package/lib/cjs/appui-react/content/FloatingViewportContent.d.ts +6 -3
- package/lib/cjs/appui-react/content/FloatingViewportContent.d.ts.map +1 -1
- package/lib/cjs/appui-react/content/FloatingViewportContent.js +24 -14
- package/lib/cjs/appui-react/content/FloatingViewportContent.js.map +1 -1
- package/lib/cjs/appui-react/content/IModelViewport.d.ts.map +1 -1
- package/lib/cjs/appui-react/content/IModelViewport.js +5 -7
- package/lib/cjs/appui-react/content/IModelViewport.js.map +1 -1
- package/lib/cjs/appui-react/content/InternalContentLayoutManager.d.ts +48 -0
- package/lib/cjs/appui-react/content/InternalContentLayoutManager.d.ts.map +1 -0
- package/lib/cjs/appui-react/content/InternalContentLayoutManager.js +96 -0
- package/lib/cjs/appui-react/content/InternalContentLayoutManager.js.map +1 -0
- package/lib/cjs/appui-react/content/InternalContentViewManager.d.ts +80 -0
- package/lib/cjs/appui-react/content/InternalContentViewManager.d.ts.map +1 -0
- package/lib/cjs/appui-react/content/InternalContentViewManager.js +210 -0
- package/lib/cjs/appui-react/content/InternalContentViewManager.js.map +1 -0
- package/lib/cjs/appui-react/content/ViewportContentControl.d.ts.map +1 -1
- package/lib/cjs/appui-react/content/ViewportContentControl.js +3 -4
- package/lib/cjs/appui-react/content/ViewportContentControl.js.map +1 -1
- package/lib/cjs/appui-react/cursor/cursormenu/CursorMenu.js +1 -1
- package/lib/cjs/appui-react/cursor/cursormenu/CursorMenu.js.map +1 -1
- package/lib/cjs/appui-react/dialog/ContentDialog.js +10 -11
- package/lib/cjs/appui-react/dialog/ContentDialog.js.map +1 -1
- package/lib/cjs/appui-react/dialog/ContentDialogManager.d.ts +9 -22
- package/lib/cjs/appui-react/dialog/ContentDialogManager.d.ts.map +1 -1
- package/lib/cjs/appui-react/dialog/ContentDialogManager.js +23 -85
- package/lib/cjs/appui-react/dialog/ContentDialogManager.js.map +1 -1
- package/lib/cjs/appui-react/dialog/InternalContentDialogManager.d.ts +48 -0
- package/lib/cjs/appui-react/dialog/InternalContentDialogManager.d.ts.map +1 -0
- package/lib/cjs/appui-react/dialog/InternalContentDialogManager.js +132 -0
- package/lib/cjs/appui-react/dialog/InternalContentDialogManager.js.map +1 -0
- package/lib/cjs/appui-react/dialog/InternalModalDialogManager.d.ts +36 -0
- package/lib/cjs/appui-react/dialog/InternalModalDialogManager.d.ts.map +1 -0
- package/lib/cjs/appui-react/dialog/InternalModalDialogManager.js +55 -0
- package/lib/cjs/appui-react/dialog/InternalModalDialogManager.js.map +1 -0
- package/lib/cjs/appui-react/dialog/InternalModelessDialogManager.d.ts +46 -0
- package/lib/cjs/appui-react/dialog/InternalModelessDialogManager.d.ts.map +1 -0
- package/lib/cjs/appui-react/dialog/InternalModelessDialogManager.js +120 -0
- package/lib/cjs/appui-react/dialog/InternalModelessDialogManager.js.map +1 -0
- package/lib/cjs/appui-react/dialog/ModalDialogManager.d.ts +7 -12
- package/lib/cjs/appui-react/dialog/ModalDialogManager.d.ts.map +1 -1
- package/lib/cjs/appui-react/dialog/ModalDialogManager.js +23 -27
- package/lib/cjs/appui-react/dialog/ModalDialogManager.js.map +1 -1
- package/lib/cjs/appui-react/dialog/ModelessDialog.js +2 -2
- package/lib/cjs/appui-react/dialog/ModelessDialog.js.map +1 -1
- package/lib/cjs/appui-react/dialog/ModelessDialogManager.d.ts +17 -28
- package/lib/cjs/appui-react/dialog/ModelessDialogManager.d.ts.map +1 -1
- package/lib/cjs/appui-react/dialog/ModelessDialogManager.js +36 -86
- package/lib/cjs/appui-react/dialog/ModelessDialogManager.js.map +1 -1
- package/lib/cjs/appui-react/dialog/StandardMessageBox.js +2 -2
- package/lib/cjs/appui-react/dialog/StandardMessageBox.js.map +1 -1
- package/lib/cjs/appui-react/dialog/UiDataProvidedDialog.d.ts.map +1 -1
- package/lib/cjs/appui-react/dialog/UiDataProvidedDialog.js +3 -4
- package/lib/cjs/appui-react/dialog/UiDataProvidedDialog.js.map +1 -1
- package/lib/cjs/appui-react/framework/FrameworkBackstage.d.ts +44 -0
- package/lib/cjs/appui-react/framework/FrameworkBackstage.d.ts.map +1 -0
- package/lib/cjs/appui-react/framework/FrameworkBackstage.js +10 -0
- package/lib/cjs/appui-react/framework/FrameworkBackstage.js.map +1 -0
- package/lib/cjs/appui-react/framework/FrameworkChildWindows.d.ts +59 -0
- package/lib/cjs/appui-react/framework/FrameworkChildWindows.d.ts.map +1 -0
- package/lib/cjs/appui-react/framework/FrameworkChildWindows.js +10 -0
- package/lib/cjs/appui-react/framework/FrameworkChildWindows.js.map +1 -0
- package/lib/cjs/appui-react/framework/FrameworkContent.d.ts +155 -0
- package/lib/cjs/appui-react/framework/FrameworkContent.d.ts.map +1 -0
- package/lib/cjs/appui-react/framework/FrameworkContent.js +31 -0
- package/lib/cjs/appui-react/framework/FrameworkContent.js.map +1 -0
- package/lib/cjs/appui-react/framework/FrameworkControls.d.ts +43 -0
- package/lib/cjs/appui-react/framework/FrameworkControls.d.ts.map +1 -0
- package/lib/cjs/appui-react/framework/FrameworkControls.js +3 -0
- package/lib/cjs/appui-react/framework/FrameworkControls.js.map +1 -0
- package/lib/cjs/appui-react/framework/FrameworkDialogs.d.ts +79 -0
- package/lib/cjs/appui-react/framework/FrameworkDialogs.d.ts.map +1 -0
- package/lib/cjs/appui-react/framework/FrameworkDialogs.js +24 -0
- package/lib/cjs/appui-react/framework/FrameworkDialogs.js.map +1 -0
- package/lib/cjs/appui-react/framework/FrameworkFrontstages.d.ts +286 -0
- package/lib/cjs/appui-react/framework/FrameworkFrontstages.d.ts.map +1 -0
- package/lib/cjs/appui-react/framework/FrameworkFrontstages.js +64 -0
- package/lib/cjs/appui-react/framework/FrameworkFrontstages.js.map +1 -0
- package/lib/cjs/appui-react/framework/FrameworkKeyboardShortcuts.d.ts +100 -0
- package/lib/cjs/appui-react/framework/FrameworkKeyboardShortcuts.d.ts.map +1 -0
- package/lib/cjs/appui-react/framework/FrameworkKeyboardShortcuts.js +3 -0
- package/lib/cjs/appui-react/framework/FrameworkKeyboardShortcuts.js.map +1 -0
- package/lib/cjs/appui-react/framework/FrameworkToolSettings.d.ts +52 -0
- package/lib/cjs/appui-react/framework/FrameworkToolSettings.d.ts.map +1 -0
- package/lib/cjs/appui-react/framework/FrameworkToolSettings.js +18 -0
- package/lib/cjs/appui-react/framework/FrameworkToolSettings.js.map +1 -0
- package/lib/cjs/appui-react/framework/FrameworkVisibility.d.ts +37 -0
- package/lib/cjs/appui-react/framework/FrameworkVisibility.d.ts.map +1 -0
- package/lib/cjs/appui-react/framework/FrameworkVisibility.js +3 -0
- package/lib/cjs/appui-react/framework/FrameworkVisibility.js.map +1 -0
- package/lib/cjs/appui-react/frontstage/Frontstage.d.ts +14 -14
- package/lib/cjs/appui-react/frontstage/Frontstage.d.ts.map +1 -1
- package/lib/cjs/appui-react/frontstage/Frontstage.js +16 -17
- package/lib/cjs/appui-react/frontstage/Frontstage.js.map +1 -1
- package/lib/cjs/appui-react/frontstage/FrontstageComposer.d.ts +6 -6
- package/lib/cjs/appui-react/frontstage/FrontstageComposer.d.ts.map +1 -1
- package/lib/cjs/appui-react/frontstage/FrontstageComposer.js +51 -51
- package/lib/cjs/appui-react/frontstage/FrontstageComposer.js.map +1 -1
- package/lib/cjs/appui-react/frontstage/FrontstageDef.d.ts +17 -17
- package/lib/cjs/appui-react/frontstage/FrontstageDef.d.ts.map +1 -1
- package/lib/cjs/appui-react/frontstage/FrontstageDef.js +36 -38
- package/lib/cjs/appui-react/frontstage/FrontstageDef.js.map +1 -1
- package/lib/cjs/appui-react/frontstage/FrontstageManager.d.ts +98 -254
- package/lib/cjs/appui-react/frontstage/FrontstageManager.d.ts.map +1 -1
- package/lib/cjs/appui-react/frontstage/FrontstageManager.js +156 -472
- package/lib/cjs/appui-react/frontstage/FrontstageManager.js.map +1 -1
- package/lib/cjs/appui-react/frontstage/FrontstageProvider.d.ts +1 -1
- package/lib/cjs/appui-react/frontstage/FrontstageProvider.js.map +1 -1
- package/lib/cjs/appui-react/frontstage/InternalFrontstageManager.d.ts +240 -0
- package/lib/cjs/appui-react/frontstage/InternalFrontstageManager.d.ts.map +1 -0
- package/lib/cjs/appui-react/frontstage/InternalFrontstageManager.js +538 -0
- package/lib/cjs/appui-react/frontstage/InternalFrontstageManager.js.map +1 -0
- package/lib/cjs/appui-react/frontstage/ModalSettingsStage.d.ts +1 -1
- package/lib/cjs/appui-react/frontstage/ModalSettingsStage.d.ts.map +1 -1
- package/lib/cjs/appui-react/frontstage/ModalSettingsStage.js +8 -7
- package/lib/cjs/appui-react/frontstage/ModalSettingsStage.js.map +1 -1
- package/lib/cjs/appui-react/frontstage/NestedFrontstage.js +2 -2
- package/lib/cjs/appui-react/frontstage/NestedFrontstage.js.map +1 -1
- package/lib/cjs/appui-react/frontstage/StageUsage.d.ts +15 -0
- package/lib/cjs/appui-react/frontstage/StageUsage.d.ts.map +1 -0
- package/lib/cjs/appui-react/frontstage/StageUsage.js +17 -0
- package/lib/cjs/appui-react/frontstage/StageUsage.js.map +1 -0
- package/lib/cjs/appui-react/frontstage/StandardFrontstageProvider.js.map +1 -1
- package/lib/cjs/appui-react/hooks/useActiveStageId.d.ts.map +1 -1
- package/lib/cjs/appui-react/hooks/useActiveStageId.js +4 -4
- package/lib/cjs/appui-react/hooks/useActiveStageId.js.map +1 -1
- package/lib/cjs/appui-react/hooks/useActiveViewport.d.ts.map +1 -1
- package/lib/cjs/appui-react/hooks/useActiveViewport.js +5 -5
- package/lib/cjs/appui-react/hooks/useActiveViewport.js.map +1 -1
- package/lib/cjs/appui-react/hooks/useAvailableUiItemsProviders.js +4 -4
- package/lib/cjs/appui-react/hooks/useAvailableUiItemsProviders.js.map +1 -1
- package/lib/cjs/appui-react/hooks/useEscapeSetFocusToHome.js +2 -2
- package/lib/cjs/appui-react/hooks/useEscapeSetFocusToHome.js.map +1 -1
- package/lib/cjs/appui-react/hooks/useFrameworkVersion.d.ts +4 -4
- package/lib/cjs/appui-react/hooks/useFrameworkVersion.js +3 -3
- package/lib/cjs/appui-react/hooks/useFrameworkVersion.js.map +1 -1
- package/lib/cjs/appui-react/imodel-components/Common.d.ts +2 -0
- package/lib/cjs/appui-react/imodel-components/Common.d.ts.map +1 -1
- package/lib/cjs/appui-react/imodel-components/Common.js +1 -0
- package/lib/cjs/appui-react/imodel-components/Common.js.map +1 -1
- package/lib/cjs/appui-react/imodel-components/VisibilityTreeEventHandler.d.ts +6 -0
- package/lib/cjs/appui-react/imodel-components/VisibilityTreeEventHandler.d.ts.map +1 -1
- package/lib/cjs/appui-react/imodel-components/VisibilityTreeEventHandler.js +2 -0
- package/lib/cjs/appui-react/imodel-components/VisibilityTreeEventHandler.js.map +1 -1
- package/lib/cjs/appui-react/imodel-components/VisibilityTreeRenderer.d.ts +6 -0
- package/lib/cjs/appui-react/imodel-components/VisibilityTreeRenderer.d.ts.map +1 -1
- package/lib/cjs/appui-react/imodel-components/VisibilityTreeRenderer.js +6 -0
- package/lib/cjs/appui-react/imodel-components/VisibilityTreeRenderer.js.map +1 -1
- package/lib/cjs/appui-react/imodel-components/category-tree/CategoriesTree.d.ts +5 -1
- package/lib/cjs/appui-react/imodel-components/category-tree/CategoriesTree.d.ts.map +1 -1
- package/lib/cjs/appui-react/imodel-components/category-tree/CategoriesTree.js +4 -0
- package/lib/cjs/appui-react/imodel-components/category-tree/CategoriesTree.js.map +1 -1
- package/lib/cjs/appui-react/imodel-components/category-tree/CategoryVisibilityHandler.d.ts +9 -2
- package/lib/cjs/appui-react/imodel-components/category-tree/CategoryVisibilityHandler.d.ts.map +1 -1
- package/lib/cjs/appui-react/imodel-components/category-tree/CategoryVisibilityHandler.js +5 -1
- package/lib/cjs/appui-react/imodel-components/category-tree/CategoryVisibilityHandler.js.map +1 -1
- package/lib/cjs/appui-react/imodel-components/models-tree/ModelsTree.d.ts +2 -0
- package/lib/cjs/appui-react/imodel-components/models-tree/ModelsTree.d.ts.map +1 -1
- package/lib/cjs/appui-react/imodel-components/models-tree/ModelsTree.js +2 -0
- package/lib/cjs/appui-react/imodel-components/models-tree/ModelsTree.js.map +1 -1
- package/lib/cjs/appui-react/imodel-components/models-tree/ModelsVisibilityHandler.d.ts +3 -0
- package/lib/cjs/appui-react/imodel-components/models-tree/ModelsVisibilityHandler.d.ts.map +1 -1
- package/lib/cjs/appui-react/imodel-components/models-tree/ModelsVisibilityHandler.js +2 -0
- package/lib/cjs/appui-react/imodel-components/models-tree/ModelsVisibilityHandler.js.map +1 -1
- package/lib/cjs/appui-react/imodel-components/spatial-tree/SpatialContainmentTree.d.ts +2 -0
- package/lib/cjs/appui-react/imodel-components/spatial-tree/SpatialContainmentTree.d.ts.map +1 -1
- package/lib/cjs/appui-react/imodel-components/spatial-tree/SpatialContainmentTree.js +2 -0
- package/lib/cjs/appui-react/imodel-components/spatial-tree/SpatialContainmentTree.js.map +1 -1
- package/lib/cjs/appui-react/keyboardshortcut/InternalKeyboardShortcut.d.ts +40 -0
- package/lib/cjs/appui-react/keyboardshortcut/InternalKeyboardShortcut.d.ts.map +1 -0
- package/lib/cjs/appui-react/keyboardshortcut/InternalKeyboardShortcut.js +112 -0
- package/lib/cjs/appui-react/keyboardshortcut/InternalKeyboardShortcut.js.map +1 -0
- package/lib/cjs/appui-react/keyboardshortcut/KeyboardShortcut.d.ts +5 -25
- package/lib/cjs/appui-react/keyboardshortcut/KeyboardShortcut.d.ts.map +1 -1
- package/lib/cjs/appui-react/keyboardshortcut/KeyboardShortcut.js +19 -61
- package/lib/cjs/appui-react/keyboardshortcut/KeyboardShortcut.js.map +1 -1
- package/lib/cjs/appui-react/keyinbrowser/KeyinBrowser.d.ts +5 -5
- package/lib/cjs/appui-react/keyinbrowser/KeyinBrowser.d.ts.map +1 -1
- package/lib/cjs/appui-react/keyinbrowser/KeyinBrowser.js +1 -1
- package/lib/cjs/appui-react/keyinbrowser/KeyinBrowser.js.map +1 -1
- package/lib/cjs/appui-react/messages/ActivityMessage.d.ts +2 -2
- package/lib/cjs/appui-react/messages/ActivityMessage.js +1 -1
- package/lib/cjs/appui-react/messages/ActivityMessage.js.map +1 -1
- package/lib/cjs/appui-react/messages/ActivityMessagePopup.d.ts +2 -2
- package/lib/cjs/appui-react/messages/ActivityMessagePopup.js +1 -1
- package/lib/cjs/appui-react/messages/ActivityMessagePopup.js.map +1 -1
- package/lib/cjs/appui-react/messages/MessageManager.d.ts.map +1 -1
- package/lib/cjs/appui-react/messages/MessageManager.js +5 -4
- package/lib/cjs/appui-react/messages/MessageManager.js.map +1 -1
- package/lib/cjs/appui-react/messages/StatusMessageRenderer.d.ts +2 -2
- package/lib/cjs/appui-react/messages/StatusMessageRenderer.js +1 -1
- package/lib/cjs/appui-react/messages/StatusMessageRenderer.js.map +1 -1
- package/lib/cjs/appui-react/messages/StatusMessagesContainer.d.ts +1 -1
- package/lib/cjs/appui-react/messages/StatusMessagesContainer.js +1 -1
- package/lib/cjs/appui-react/messages/StatusMessagesContainer.js.map +1 -1
- package/lib/cjs/appui-react/messages/StickyMessage.d.ts +2 -2
- package/lib/cjs/appui-react/messages/StickyMessage.js +1 -1
- package/lib/cjs/appui-react/messages/StickyMessage.js.map +1 -1
- package/lib/cjs/appui-react/messages/ToastMessage.d.ts +2 -2
- package/lib/cjs/appui-react/messages/ToastMessage.js +1 -1
- package/lib/cjs/appui-react/messages/ToastMessage.js.map +1 -1
- package/lib/cjs/appui-react/navigationaids/SheetNavigationAid.js +1 -2
- package/lib/cjs/appui-react/navigationaids/SheetNavigationAid.js.map +1 -1
- package/lib/cjs/appui-react/navigationaids/SheetsModalFrontstage.d.ts +1 -1
- package/lib/cjs/appui-react/navigationaids/SheetsModalFrontstage.d.ts.map +1 -1
- package/lib/cjs/appui-react/navigationaids/SheetsModalFrontstage.js +2 -3
- package/lib/cjs/appui-react/navigationaids/SheetsModalFrontstage.js.map +1 -1
- package/lib/cjs/appui-react/pickers/ListPicker.d.ts +1 -1
- package/lib/cjs/appui-react/pickers/ListPicker.js +5 -5
- package/lib/cjs/appui-react/pickers/ListPicker.js.map +1 -1
- package/lib/cjs/appui-react/pickers/ViewSelector.d.ts.map +1 -1
- package/lib/cjs/appui-react/pickers/ViewSelector.js +1 -2
- package/lib/cjs/appui-react/pickers/ViewSelector.js.map +1 -1
- package/lib/cjs/appui-react/safearea/SafeAreaContext.d.ts +1 -1
- package/lib/cjs/appui-react/safearea/SafeAreaContext.js +1 -1
- package/lib/cjs/appui-react/safearea/SafeAreaContext.js.map +1 -1
- package/lib/cjs/appui-react/selection/ClearEmphasisStatusField.d.ts +1 -1
- package/lib/cjs/appui-react/selection/ClearEmphasisStatusField.js +1 -1
- package/lib/cjs/appui-react/selection/ClearEmphasisStatusField.js.map +1 -1
- package/lib/cjs/appui-react/selection/SelectionContextItemDef.d.ts.map +1 -1
- package/lib/cjs/appui-react/selection/SelectionContextItemDef.js +4 -5
- package/lib/cjs/appui-react/selection/SelectionContextItemDef.js.map +1 -1
- package/lib/cjs/appui-react/settings/quantityformatting/QuantityFormat.d.ts.map +1 -1
- package/lib/cjs/appui-react/settings/quantityformatting/QuantityFormat.js +3 -4
- package/lib/cjs/appui-react/settings/quantityformatting/QuantityFormat.js.map +1 -1
- package/lib/cjs/appui-react/settings/ui/UiSettingsPage.d.ts +2 -2
- package/lib/cjs/appui-react/settings/ui/UiSettingsPage.d.ts.map +1 -1
- package/lib/cjs/appui-react/settings/ui/UiSettingsPage.js +16 -17
- package/lib/cjs/appui-react/settings/ui/UiSettingsPage.js.map +1 -1
- package/lib/cjs/appui-react/shared/CustomItemProps.js.map +1 -1
- package/lib/cjs/appui-react/shared/GroupItemProps.d.ts +1 -1
- package/lib/cjs/appui-react/shared/GroupItemProps.d.ts.map +1 -1
- package/lib/cjs/appui-react/shared/GroupItemProps.js.map +1 -1
- package/lib/cjs/appui-react/shared/ItemDefBase.d.ts +4 -4
- package/lib/cjs/appui-react/shared/ItemDefBase.d.ts.map +1 -1
- package/lib/cjs/appui-react/shared/ItemDefBase.js +3 -3
- package/lib/cjs/appui-react/shared/ItemDefBase.js.map +1 -1
- package/lib/cjs/appui-react/shared/ItemProps.d.ts +4 -4
- package/lib/cjs/appui-react/shared/ItemProps.js.map +1 -1
- package/lib/cjs/appui-react/stagepanels/FrameworkStagePanel.d.ts.map +1 -1
- package/lib/cjs/appui-react/stagepanels/FrameworkStagePanel.js +2 -2
- package/lib/cjs/appui-react/stagepanels/FrameworkStagePanel.js.map +1 -1
- package/lib/cjs/appui-react/stagepanels/StagePanel.d.ts +5 -5
- package/lib/cjs/appui-react/stagepanels/StagePanel.d.ts.map +1 -1
- package/lib/cjs/appui-react/stagepanels/StagePanel.js +6 -6
- package/lib/cjs/appui-react/stagepanels/StagePanel.js.map +1 -1
- package/lib/cjs/appui-react/stagepanels/StagePanelDef.d.ts.map +1 -1
- package/lib/cjs/appui-react/stagepanels/StagePanelDef.js +9 -9
- package/lib/cjs/appui-react/stagepanels/StagePanelDef.js.map +1 -1
- package/lib/cjs/appui-react/stagepanels/StagePanelHeader.d.ts +2 -2
- package/lib/cjs/appui-react/stagepanels/StagePanelHeader.js +3 -3
- package/lib/cjs/appui-react/stagepanels/StagePanelHeader.js.map +1 -1
- package/lib/cjs/appui-react/stagepanels/StagePanelLocation.d.ts +13 -0
- package/lib/cjs/appui-react/stagepanels/StagePanelLocation.d.ts.map +1 -0
- package/lib/cjs/appui-react/stagepanels/StagePanelLocation.js +16 -0
- package/lib/cjs/appui-react/stagepanels/StagePanelLocation.js.map +1 -0
- package/lib/cjs/appui-react/stagepanels/StagePanelSection.d.ts +13 -0
- package/lib/cjs/appui-react/stagepanels/StagePanelSection.d.ts.map +1 -0
- package/lib/cjs/appui-react/stagepanels/StagePanelSection.js +16 -0
- package/lib/cjs/appui-react/stagepanels/StagePanelSection.js.map +1 -0
- package/lib/cjs/appui-react/statusbar/LabelIndicator.js +2 -1
- package/lib/cjs/appui-react/statusbar/LabelIndicator.js.map +1 -1
- package/lib/cjs/appui-react/statusbar/StatusBar.d.ts +1 -1
- package/lib/cjs/appui-react/statusbar/StatusBar.d.ts.map +1 -1
- package/lib/cjs/appui-react/statusbar/StatusBar.js +2 -2
- package/lib/cjs/appui-react/statusbar/StatusBar.js.map +1 -1
- package/lib/cjs/appui-react/statusbar/StatusBarComposer.d.ts.map +1 -1
- package/lib/cjs/appui-react/statusbar/StatusBarComposer.js +1 -0
- package/lib/cjs/appui-react/statusbar/StatusBarComposer.js.map +1 -1
- package/lib/cjs/appui-react/statusbar/StatusBarItem.d.ts +52 -2
- package/lib/cjs/appui-react/statusbar/StatusBarItem.d.ts.map +1 -1
- package/lib/cjs/appui-react/statusbar/StatusBarItem.js +33 -2
- package/lib/cjs/appui-react/statusbar/StatusBarItem.js.map +1 -1
- package/lib/cjs/appui-react/statusbar/StatusBarItemUtilities.d.ts +23 -4
- package/lib/cjs/appui-react/statusbar/StatusBarItemUtilities.d.ts.map +1 -1
- package/lib/cjs/appui-react/statusbar/StatusBarItemUtilities.js +31 -1
- package/lib/cjs/appui-react/statusbar/StatusBarItemUtilities.js.map +1 -1
- package/lib/cjs/appui-react/statusbar/StatusBarItemsManager.d.ts +1 -1
- package/lib/cjs/appui-react/statusbar/StatusBarItemsManager.js +1 -1
- package/lib/cjs/appui-react/statusbar/StatusBarItemsManager.js.map +1 -1
- package/lib/cjs/appui-react/statusbar/StatusBarWidgetControl.d.ts +3 -3
- package/lib/cjs/appui-react/statusbar/StatusBarWidgetControl.js.map +1 -1
- package/lib/cjs/appui-react/statusbar/useDefaultStatusBarItems.js.map +1 -1
- package/lib/cjs/appui-react/statusbar/useUiItemsProviderStatusBarItems.js +2 -2
- package/lib/cjs/appui-react/statusbar/useUiItemsProviderStatusBarItems.js.map +1 -1
- package/lib/cjs/appui-react/statusbar/withMessageCenterFieldProps.d.ts +1 -1
- package/lib/cjs/appui-react/statusbar/withMessageCenterFieldProps.js +1 -1
- package/lib/cjs/appui-react/statusbar/withMessageCenterFieldProps.js.map +1 -1
- package/lib/cjs/appui-react/statusbar/withStatusFieldProps.d.ts +1 -1
- package/lib/cjs/appui-react/statusbar/withStatusFieldProps.js +1 -1
- package/lib/cjs/appui-react/statusbar/withStatusFieldProps.js.map +1 -1
- package/lib/cjs/appui-react/statusfields/ConditionalField.d.ts +1 -1
- package/lib/cjs/appui-react/statusfields/ConditionalField.js +1 -1
- package/lib/cjs/appui-react/statusfields/ConditionalField.js.map +1 -1
- package/lib/cjs/appui-react/statusfields/FooterModeField.d.ts +1 -1
- package/lib/cjs/appui-react/statusfields/FooterModeField.js +1 -1
- package/lib/cjs/appui-react/statusfields/FooterModeField.js.map +1 -1
- package/lib/cjs/appui-react/statusfields/Indicator.d.ts +4 -4
- package/lib/cjs/appui-react/statusfields/Indicator.d.ts.map +1 -1
- package/lib/cjs/appui-react/statusfields/Indicator.js +3 -2
- package/lib/cjs/appui-react/statusfields/Indicator.js.map +1 -1
- package/lib/cjs/appui-react/statusfields/MessageCenter.d.ts +1 -1
- package/lib/cjs/appui-react/statusfields/MessageCenter.js.map +1 -1
- package/lib/cjs/appui-react/statusfields/PromptField.d.ts +1 -1
- package/lib/cjs/appui-react/statusfields/PromptField.js +1 -1
- package/lib/cjs/appui-react/statusfields/PromptField.js.map +1 -1
- package/lib/cjs/appui-react/statusfields/StatusFieldProps.d.ts +3 -3
- package/lib/cjs/appui-react/statusfields/StatusFieldProps.js.map +1 -1
- package/lib/cjs/appui-react/statusfields/toolassistance/ToolAssistanceField.js +2 -3
- package/lib/cjs/appui-react/statusfields/toolassistance/ToolAssistanceField.js.map +1 -1
- package/lib/cjs/appui-react/syncui/BooleanListener.d.ts +2 -2
- package/lib/cjs/appui-react/syncui/BooleanListener.js +1 -1
- package/lib/cjs/appui-react/syncui/BooleanListener.js.map +1 -1
- package/lib/cjs/appui-react/syncui/SyncUiEventDispatcher.d.ts +5 -5
- package/lib/cjs/appui-react/syncui/SyncUiEventDispatcher.d.ts.map +1 -1
- package/lib/cjs/appui-react/syncui/SyncUiEventDispatcher.js +12 -14
- package/lib/cjs/appui-react/syncui/SyncUiEventDispatcher.js.map +1 -1
- package/lib/cjs/appui-react/toolbar/ActionItemButton.d.ts +2 -2
- package/lib/cjs/appui-react/toolbar/ActionItemButton.d.ts.map +1 -1
- package/lib/cjs/appui-react/toolbar/ActionItemButton.js +3 -3
- package/lib/cjs/appui-react/toolbar/ActionItemButton.js.map +1 -1
- package/lib/cjs/appui-react/toolbar/GroupButtonItem.d.ts +1 -1
- package/lib/cjs/appui-react/toolbar/GroupButtonItem.d.ts.map +1 -1
- package/lib/cjs/appui-react/toolbar/GroupButtonItem.js +11 -11
- package/lib/cjs/appui-react/toolbar/GroupButtonItem.js.map +1 -1
- package/lib/cjs/appui-react/toolbar/GroupItem.d.ts +5 -5
- package/lib/cjs/appui-react/toolbar/GroupItem.d.ts.map +1 -1
- package/lib/cjs/appui-react/toolbar/GroupItem.js +11 -12
- package/lib/cjs/appui-react/toolbar/GroupItem.js.map +1 -1
- package/lib/cjs/appui-react/toolbar/PopupButton.d.ts +4 -4
- package/lib/cjs/appui-react/toolbar/PopupButton.d.ts.map +1 -1
- package/lib/cjs/appui-react/toolbar/PopupButton.js +6 -7
- package/lib/cjs/appui-react/toolbar/PopupButton.js.map +1 -1
- package/lib/cjs/appui-react/toolbar/ToolButton.d.ts +2 -2
- package/lib/cjs/appui-react/toolbar/ToolButton.d.ts.map +1 -1
- package/lib/cjs/appui-react/toolbar/ToolButton.js +2 -3
- package/lib/cjs/appui-react/toolbar/ToolButton.js.map +1 -1
- package/lib/cjs/appui-react/toolbar/ToolbarComposer.d.ts.map +1 -1
- package/lib/cjs/appui-react/toolbar/ToolbarComposer.js +5 -7
- package/lib/cjs/appui-react/toolbar/ToolbarComposer.js.map +1 -1
- package/lib/cjs/appui-react/toolbar/ToolbarItem.d.ts +53 -0
- package/lib/cjs/appui-react/toolbar/ToolbarItem.d.ts.map +1 -0
- package/lib/cjs/appui-react/toolbar/ToolbarItem.js +41 -0
- package/lib/cjs/appui-react/toolbar/ToolbarItem.js.map +1 -0
- package/lib/cjs/appui-react/toolbar/ToolbarItemUtilities.d.ts +14 -0
- package/lib/cjs/appui-react/toolbar/ToolbarItemUtilities.d.ts.map +1 -0
- package/lib/cjs/appui-react/toolbar/ToolbarItemUtilities.js +28 -0
- package/lib/cjs/appui-react/toolbar/ToolbarItemUtilities.js.map +1 -0
- package/lib/cjs/appui-react/toolbar/useUiItemsProviderToolbarItems.js +2 -2
- package/lib/cjs/appui-react/toolbar/useUiItemsProviderToolbarItems.js.map +1 -1
- package/lib/cjs/appui-react/tools/CoreToolDefinitions.d.ts +1 -1
- package/lib/cjs/appui-react/tools/CoreToolDefinitions.d.ts.map +1 -1
- package/lib/cjs/appui-react/tools/CoreToolDefinitions.js +12 -13
- package/lib/cjs/appui-react/tools/CoreToolDefinitions.js.map +1 -1
- package/lib/cjs/appui-react/tools/FrameworkToolAdmin.d.ts.map +1 -1
- package/lib/cjs/appui-react/tools/FrameworkToolAdmin.js +2 -3
- package/lib/cjs/appui-react/tools/FrameworkToolAdmin.js.map +1 -1
- package/lib/cjs/appui-react/tools/MarkupToolDefinitions.d.ts +1 -1
- package/lib/cjs/appui-react/tools/MarkupToolDefinitions.js +1 -1
- package/lib/cjs/appui-react/tools/MarkupToolDefinitions.js.map +1 -1
- package/lib/cjs/appui-react/tools/RestoreLayoutTool.js +4 -4
- package/lib/cjs/appui-react/tools/RestoreLayoutTool.js.map +1 -1
- package/lib/cjs/appui-react/tools/ToolSettingsTools.js +2 -2
- package/lib/cjs/appui-react/tools/ToolSettingsTools.js.map +1 -1
- package/lib/cjs/appui-react/ui-items-provider/BaseUiItemsProvider.d.ts +11 -0
- package/lib/cjs/appui-react/ui-items-provider/BaseUiItemsProvider.d.ts.map +1 -0
- package/lib/cjs/appui-react/ui-items-provider/BaseUiItemsProvider.js +20 -0
- package/lib/cjs/appui-react/ui-items-provider/BaseUiItemsProvider.js.map +1 -0
- package/lib/cjs/appui-react/ui-items-provider/ProviderItem.d.ts +9 -0
- package/lib/cjs/appui-react/ui-items-provider/ProviderItem.d.ts.map +1 -0
- package/lib/cjs/appui-react/ui-items-provider/ProviderItem.js +10 -0
- package/lib/cjs/appui-react/ui-items-provider/ProviderItem.js.map +1 -0
- package/lib/cjs/appui-react/ui-items-provider/StandardContentToolsProvider.d.ts.map +1 -1
- package/lib/cjs/appui-react/ui-items-provider/StandardContentToolsProvider.js.map +1 -1
- package/lib/cjs/appui-react/ui-items-provider/StandardContentToolsUiItemsProvider.d.ts.map +1 -1
- package/lib/cjs/appui-react/ui-items-provider/StandardContentToolsUiItemsProvider.js.map +1 -1
- package/lib/cjs/appui-react/ui-items-provider/StandardNavigationToolsProvider.d.ts.map +1 -1
- package/lib/cjs/appui-react/ui-items-provider/StandardNavigationToolsProvider.js +1 -0
- package/lib/cjs/appui-react/ui-items-provider/StandardNavigationToolsProvider.js.map +1 -1
- package/lib/cjs/appui-react/ui-items-provider/StandardNavigationToolsUiItemsProvider.js +2 -2
- package/lib/cjs/appui-react/ui-items-provider/StandardNavigationToolsUiItemsProvider.js.map +1 -1
- package/lib/cjs/appui-react/ui-items-provider/StandardStatusbarItemsProvider.d.ts.map +1 -1
- package/lib/cjs/appui-react/ui-items-provider/StandardStatusbarItemsProvider.js +1 -0
- package/lib/cjs/appui-react/ui-items-provider/StandardStatusbarItemsProvider.js.map +1 -1
- package/lib/cjs/appui-react/ui-items-provider/StandardStatusbarUiItemsProvider.d.ts.map +1 -1
- package/lib/cjs/appui-react/ui-items-provider/StandardStatusbarUiItemsProvider.js.map +1 -1
- package/lib/cjs/appui-react/ui-items-provider/UiItemsManager.d.ts +24 -0
- package/lib/cjs/appui-react/ui-items-provider/UiItemsManager.d.ts.map +1 -0
- package/lib/cjs/appui-react/ui-items-provider/UiItemsManager.js +19 -0
- package/lib/cjs/appui-react/ui-items-provider/UiItemsManager.js.map +1 -0
- package/lib/cjs/appui-react/ui-items-provider/UiItemsProvider.d.ts +9 -0
- package/lib/cjs/appui-react/ui-items-provider/UiItemsProvider.d.ts.map +1 -0
- package/lib/cjs/appui-react/ui-items-provider/UiItemsProvider.js +10 -0
- package/lib/cjs/appui-react/ui-items-provider/UiItemsProvider.js.map +1 -0
- package/lib/cjs/appui-react/uiadmin/FrameworkUiAdmin.d.ts.map +1 -1
- package/lib/cjs/appui-react/uiadmin/FrameworkUiAdmin.js +11 -15
- package/lib/cjs/appui-react/uiadmin/FrameworkUiAdmin.js.map +1 -1
- package/lib/cjs/appui-react/uistate/AppUiSettings.d.ts +2 -2
- package/lib/cjs/appui-react/uistate/AppUiSettings.d.ts.map +1 -1
- package/lib/cjs/appui-react/uistate/AppUiSettings.js.map +1 -1
- package/lib/cjs/appui-react/uistate/UserSettingsStorage.d.ts +1 -1
- package/lib/cjs/appui-react/uistate/UserSettingsStorage.js +1 -1
- package/lib/cjs/appui-react/uistate/UserSettingsStorage.js.map +1 -1
- package/lib/cjs/appui-react/utils/InternalUiShowHideManager.d.ts +84 -0
- package/lib/cjs/appui-react/utils/InternalUiShowHideManager.d.ts.map +1 -0
- package/lib/cjs/appui-react/utils/InternalUiShowHideManager.js +198 -0
- package/lib/cjs/appui-react/utils/InternalUiShowHideManager.js.map +1 -0
- package/lib/cjs/appui-react/utils/PropsHelper.js.map +1 -1
- package/lib/cjs/appui-react/utils/UiShowHideManager.d.ts +3 -33
- package/lib/cjs/appui-react/utils/UiShowHideManager.d.ts.map +1 -1
- package/lib/cjs/appui-react/utils/UiShowHideManager.js +27 -117
- package/lib/cjs/appui-react/utils/UiShowHideManager.js.map +1 -1
- package/lib/cjs/appui-react/widget-panels/Content.js +3 -3
- package/lib/cjs/appui-react/widget-panels/Content.js.map +1 -1
- package/lib/cjs/appui-react/widget-panels/FloatingWidget.js +2 -2
- package/lib/cjs/appui-react/widget-panels/FloatingWidget.js.map +1 -1
- package/lib/cjs/appui-react/widget-panels/Frontstage.d.ts.map +1 -1
- package/lib/cjs/appui-react/widget-panels/Frontstage.js +29 -29
- package/lib/cjs/appui-react/widget-panels/Frontstage.js.map +1 -1
- package/lib/cjs/appui-react/widget-panels/ModalFrontstageComposer.d.ts +1 -1
- package/lib/cjs/appui-react/widget-panels/ModalFrontstageComposer.d.ts.map +1 -1
- package/lib/cjs/appui-react/widget-panels/ModalFrontstageComposer.js +6 -6
- package/lib/cjs/appui-react/widget-panels/ModalFrontstageComposer.js.map +1 -1
- package/lib/cjs/appui-react/widget-panels/ToolSettings.d.ts.map +1 -1
- package/lib/cjs/appui-react/widget-panels/ToolSettings.js +18 -17
- package/lib/cjs/appui-react/widget-panels/ToolSettings.js.map +1 -1
- package/lib/cjs/appui-react/widgets/BackstageAppButton.d.ts.map +1 -1
- package/lib/cjs/appui-react/widgets/BackstageAppButton.js +1 -2
- package/lib/cjs/appui-react/widgets/BackstageAppButton.js.map +1 -1
- package/lib/cjs/appui-react/widgets/BasicNavigationWidget.js.map +1 -1
- package/lib/cjs/appui-react/widgets/BasicToolWidget.js.map +1 -1
- package/lib/cjs/appui-react/widgets/ContentToolWidgetComposer.js.map +1 -1
- package/lib/cjs/appui-react/widgets/DefaultNavigationWidget.d.ts +3 -3
- package/lib/cjs/appui-react/widgets/DefaultNavigationWidget.js +2 -2
- package/lib/cjs/appui-react/widgets/DefaultNavigationWidget.js.map +1 -1
- package/lib/cjs/appui-react/widgets/NavigationWidget.d.ts +3 -3
- package/lib/cjs/appui-react/widgets/NavigationWidget.d.ts.map +1 -1
- package/lib/cjs/appui-react/widgets/NavigationWidget.js +14 -18
- package/lib/cjs/appui-react/widgets/NavigationWidget.js.map +1 -1
- package/lib/cjs/appui-react/widgets/NavigationWidgetComposer.d.ts.map +1 -1
- package/lib/cjs/appui-react/widgets/NavigationWidgetComposer.js +8 -12
- package/lib/cjs/appui-react/widgets/NavigationWidgetComposer.js.map +1 -1
- package/lib/cjs/appui-react/widgets/StableWidgetDef.d.ts +1 -1
- package/lib/cjs/appui-react/widgets/StableWidgetDef.js +1 -1
- package/lib/cjs/appui-react/widgets/StableWidgetDef.js.map +1 -1
- package/lib/cjs/appui-react/widgets/StatusBarWidgetComposerControl.d.ts.map +1 -1
- package/lib/cjs/appui-react/widgets/StatusBarWidgetComposerControl.js +2 -2
- package/lib/cjs/appui-react/widgets/StatusBarWidgetComposerControl.js.map +1 -1
- package/lib/cjs/appui-react/widgets/ToolWidget.d.ts +3 -3
- package/lib/cjs/appui-react/widgets/ToolWidget.d.ts.map +1 -1
- package/lib/cjs/appui-react/widgets/ToolWidget.js +4 -6
- package/lib/cjs/appui-react/widgets/ToolWidget.js.map +1 -1
- package/lib/cjs/appui-react/widgets/ToolWidgetComposer.js +3 -3
- package/lib/cjs/appui-react/widgets/ToolWidgetComposer.js.map +1 -1
- package/lib/cjs/appui-react/widgets/ToolbarWidgetBase.d.ts +1 -1
- package/lib/cjs/appui-react/widgets/ToolbarWidgetBase.js +1 -1
- package/lib/cjs/appui-react/widgets/ToolbarWidgetBase.js.map +1 -1
- package/lib/cjs/appui-react/widgets/ViewToolWidgetComposer.js.map +1 -1
- package/lib/cjs/appui-react/widgets/Widget.d.ts +1 -1
- package/lib/cjs/appui-react/widgets/Widget.js +1 -1
- package/lib/cjs/appui-react/widgets/Widget.js.map +1 -1
- package/lib/cjs/appui-react/widgets/WidgetControl.js.map +1 -1
- package/lib/cjs/appui-react/widgets/WidgetDef.d.ts +14 -14
- package/lib/cjs/appui-react/widgets/WidgetDef.d.ts.map +1 -1
- package/lib/cjs/appui-react/widgets/WidgetDef.js +18 -18
- package/lib/cjs/appui-react/widgets/WidgetDef.js.map +1 -1
- package/lib/cjs/appui-react/widgets/WidgetProps.d.ts +8 -1
- package/lib/cjs/appui-react/widgets/WidgetProps.d.ts.map +1 -1
- package/lib/cjs/appui-react/widgets/WidgetProps.js.map +1 -1
- package/lib/cjs/appui-react/widgets/WidgetStack.js +2 -2
- package/lib/cjs/appui-react/widgets/WidgetStack.js.map +1 -1
- package/lib/cjs/appui-react/widgets/WidgetState.d.ts +13 -0
- package/lib/cjs/appui-react/widgets/WidgetState.d.ts.map +1 -0
- package/lib/cjs/appui-react/widgets/WidgetState.js +16 -0
- package/lib/cjs/appui-react/widgets/WidgetState.js.map +1 -0
- package/lib/cjs/appui-react/workflow/Task.d.ts +4 -4
- package/lib/cjs/appui-react/workflow/Task.d.ts.map +1 -1
- package/lib/cjs/appui-react/workflow/Task.js +5 -5
- package/lib/cjs/appui-react/workflow/Task.js.map +1 -1
- package/lib/cjs/appui-react/workflow/Workflow.d.ts +8 -8
- package/lib/cjs/appui-react/workflow/Workflow.js +4 -4
- package/lib/cjs/appui-react/workflow/Workflow.js.map +1 -1
- package/lib/cjs/appui-react/zones/Zone.d.ts +3 -3
- package/lib/cjs/appui-react/zones/Zone.d.ts.map +1 -1
- package/lib/cjs/appui-react/zones/Zone.js +5 -5
- package/lib/cjs/appui-react/zones/Zone.js.map +1 -1
- package/lib/cjs/appui-react/zones/ZoneDef.d.ts +5 -5
- package/lib/cjs/appui-react/zones/ZoneDef.d.ts.map +1 -1
- package/lib/cjs/appui-react/zones/ZoneDef.js +5 -5
- package/lib/cjs/appui-react/zones/ZoneDef.js.map +1 -1
- package/lib/cjs/appui-react/zones/toolsettings/DefaultToolSettingsProvider.d.ts +1 -1
- package/lib/cjs/appui-react/zones/toolsettings/DefaultToolSettingsProvider.d.ts.map +1 -1
- package/lib/cjs/appui-react/zones/toolsettings/DefaultToolSettingsProvider.js +6 -8
- package/lib/cjs/appui-react/zones/toolsettings/DefaultToolSettingsProvider.js.map +1 -1
- package/lib/cjs/appui-react/zones/toolsettings/InternalToolSettingsManager.d.ts +50 -0
- package/lib/cjs/appui-react/zones/toolsettings/InternalToolSettingsManager.d.ts.map +1 -0
- package/lib/cjs/appui-react/zones/toolsettings/InternalToolSettingsManager.js +124 -0
- package/lib/cjs/appui-react/zones/toolsettings/InternalToolSettingsManager.js.map +1 -0
- package/lib/cjs/appui-react/zones/toolsettings/ToolInformation.d.ts.map +1 -1
- package/lib/cjs/appui-react/zones/toolsettings/ToolInformation.js +4 -6
- package/lib/cjs/appui-react/zones/toolsettings/ToolInformation.js.map +1 -1
- package/lib/cjs/appui-react/zones/toolsettings/ToolSettingsManager.d.ts +8 -23
- package/lib/cjs/appui-react/zones/toolsettings/ToolSettingsManager.d.ts.map +1 -1
- package/lib/cjs/appui-react/zones/toolsettings/ToolSettingsManager.js +21 -87
- package/lib/cjs/appui-react/zones/toolsettings/ToolSettingsManager.js.map +1 -1
- package/lib/cjs/appui-react/zones/toolsettings/ToolSettingsZone.d.ts.map +1 -1
- package/lib/cjs/appui-react/zones/toolsettings/ToolSettingsZone.js +6 -9
- package/lib/cjs/appui-react/zones/toolsettings/ToolSettingsZone.js.map +1 -1
- package/lib/cjs/appui-react/zones/toolsettings/ToolUiProvider.d.ts +2 -2
- package/lib/cjs/appui-react/zones/toolsettings/ToolUiProvider.d.ts.map +1 -1
- package/lib/cjs/appui-react/zones/toolsettings/ToolUiProvider.js +1 -1
- package/lib/cjs/appui-react/zones/toolsettings/ToolUiProvider.js.map +1 -1
- package/lib/cjs/appui-react.d.ts +25 -5
- package/lib/cjs/appui-react.d.ts.map +1 -1
- package/lib/cjs/appui-react.js +25 -5
- package/lib/cjs/appui-react.js.map +1 -1
- package/lib/esm/appui-react/UiFramework.d.ts +65 -8
- package/lib/esm/appui-react/UiFramework.d.ts.map +1 -1
- package/lib/esm/appui-react/UiFramework.js +96 -21
- package/lib/esm/appui-react/UiFramework.js.map +1 -1
- package/lib/esm/appui-react/accudraw/AccuDrawDialog.d.ts.map +1 -1
- package/lib/esm/appui-react/accudraw/AccuDrawDialog.js +1 -2
- package/lib/esm/appui-react/accudraw/AccuDrawDialog.js.map +1 -1
- package/lib/esm/appui-react/accudraw/AccuDrawFieldContainer.js +2 -2
- package/lib/esm/appui-react/accudraw/AccuDrawFieldContainer.js.map +1 -1
- package/lib/esm/appui-react/accudraw/AccuDrawInputField.js +2 -2
- package/lib/esm/appui-react/accudraw/AccuDrawInputField.js.map +1 -1
- package/lib/esm/appui-react/accudraw/AccuDrawKeyboardShortcuts.d.ts +1 -1
- package/lib/esm/appui-react/accudraw/AccuDrawKeyboardShortcuts.d.ts.map +1 -1
- package/lib/esm/appui-react/accudraw/AccuDrawKeyboardShortcuts.js.map +1 -1
- package/lib/esm/appui-react/backstage/Backstage.d.ts +4 -4
- package/lib/esm/appui-react/backstage/Backstage.js +7 -7
- package/lib/esm/appui-react/backstage/Backstage.js.map +1 -1
- package/lib/esm/appui-react/backstage/BackstageComposer.d.ts.map +1 -1
- package/lib/esm/appui-react/backstage/BackstageComposer.js +1 -0
- package/lib/esm/appui-react/backstage/BackstageComposer.js.map +1 -1
- package/lib/esm/appui-react/backstage/BackstageComposerItem.js +4 -4
- package/lib/esm/appui-react/backstage/BackstageComposerItem.js.map +1 -1
- package/lib/esm/appui-react/backstage/BackstageItem.d.ts +43 -0
- package/lib/esm/appui-react/backstage/BackstageItem.d.ts.map +1 -0
- package/lib/esm/appui-react/backstage/BackstageItem.js +32 -0
- package/lib/esm/appui-react/backstage/BackstageItem.js.map +1 -0
- package/lib/esm/appui-react/backstage/BackstageItemProps.d.ts +3 -3
- package/lib/esm/appui-react/backstage/BackstageItemProps.js +1 -1
- package/lib/esm/appui-react/backstage/BackstageItemProps.js.map +1 -1
- package/lib/esm/appui-react/backstage/BackstageItemUtilities.d.ts +7 -35
- package/lib/esm/appui-react/backstage/BackstageItemUtilities.d.ts.map +1 -1
- package/lib/esm/appui-react/backstage/BackstageItemUtilities.js +7 -21
- package/lib/esm/appui-react/backstage/BackstageItemUtilities.js.map +1 -1
- package/lib/esm/appui-react/backstage/BackstageManager.d.ts +9 -15
- package/lib/esm/appui-react/backstage/BackstageManager.d.ts.map +1 -1
- package/lib/esm/appui-react/backstage/BackstageManager.js +15 -29
- package/lib/esm/appui-react/backstage/BackstageManager.js.map +1 -1
- package/lib/esm/appui-react/backstage/CommandLaunch.d.ts +2 -2
- package/lib/esm/appui-react/backstage/CommandLaunch.js +1 -1
- package/lib/esm/appui-react/backstage/CommandLaunch.js.map +1 -1
- package/lib/esm/appui-react/backstage/FrontstageLaunch.d.ts +2 -2
- package/lib/esm/appui-react/backstage/FrontstageLaunch.d.ts.map +1 -1
- package/lib/esm/appui-react/backstage/FrontstageLaunch.js +6 -7
- package/lib/esm/appui-react/backstage/FrontstageLaunch.js.map +1 -1
- package/lib/esm/appui-react/backstage/InternalBackstageManager.d.ts +23 -0
- package/lib/esm/appui-react/backstage/InternalBackstageManager.d.ts.map +1 -0
- package/lib/esm/appui-react/backstage/InternalBackstageManager.js +54 -0
- package/lib/esm/appui-react/backstage/InternalBackstageManager.js.map +1 -0
- package/lib/esm/appui-react/backstage/Separator.d.ts +1 -1
- package/lib/esm/appui-react/backstage/Separator.js +1 -1
- package/lib/esm/appui-react/backstage/Separator.js.map +1 -1
- package/lib/esm/appui-react/backstage/TaskLaunch.d.ts +2 -2
- package/lib/esm/appui-react/backstage/TaskLaunch.js +1 -1
- package/lib/esm/appui-react/backstage/TaskLaunch.js.map +1 -1
- package/lib/esm/appui-react/backstage/useDefaultBackstageItems.js.map +1 -1
- package/lib/esm/appui-react/childwindow/ChildWindowManager.d.ts +57 -19
- package/lib/esm/appui-react/childwindow/ChildWindowManager.d.ts.map +1 -1
- package/lib/esm/appui-react/childwindow/ChildWindowManager.js +74 -150
- package/lib/esm/appui-react/childwindow/ChildWindowManager.js.map +1 -1
- package/lib/esm/appui-react/childwindow/InternalChildWindowManager.d.ts +49 -0
- package/lib/esm/appui-react/childwindow/InternalChildWindowManager.d.ts.map +1 -0
- package/lib/esm/appui-react/childwindow/InternalChildWindowManager.js +202 -0
- package/lib/esm/appui-react/childwindow/InternalChildWindowManager.js.map +1 -0
- package/lib/esm/appui-react/childwindow/{ChildWindowManager.scss → InternalChildWindowManager.scss} +0 -0
- package/lib/esm/appui-react/configurableui/ActivityTracker.d.ts.map +1 -1
- package/lib/esm/appui-react/configurableui/ActivityTracker.js +4 -3
- package/lib/esm/appui-react/configurableui/ActivityTracker.js.map +1 -1
- package/lib/esm/appui-react/configurableui/ConfigurableUiContent.js +5 -5
- package/lib/esm/appui-react/configurableui/ConfigurableUiContent.js.map +1 -1
- package/lib/esm/appui-react/configurableui/ConfigurableUiManager.d.ts +13 -37
- package/lib/esm/appui-react/configurableui/ConfigurableUiManager.d.ts.map +1 -1
- package/lib/esm/appui-react/configurableui/ConfigurableUiManager.js +23 -93
- package/lib/esm/appui-react/configurableui/ConfigurableUiManager.js.map +1 -1
- package/lib/esm/appui-react/configurableui/InternalConfigurableUiManager.d.ts +82 -0
- package/lib/esm/appui-react/configurableui/InternalConfigurableUiManager.d.ts.map +1 -0
- package/lib/esm/appui-react/configurableui/InternalConfigurableUiManager.js +149 -0
- package/lib/esm/appui-react/configurableui/InternalConfigurableUiManager.js.map +1 -0
- package/lib/esm/appui-react/configurableui/TimeTracker.js +5 -5
- package/lib/esm/appui-react/configurableui/TimeTracker.js.map +1 -1
- package/lib/esm/appui-react/configurableui/state.d.ts +3 -3
- package/lib/esm/appui-react/configurableui/state.d.ts.map +1 -1
- package/lib/esm/appui-react/configurableui/state.js +2 -2
- package/lib/esm/appui-react/configurableui/state.js.map +1 -1
- package/lib/esm/appui-react/content/ContentGroup.d.ts +1 -1
- package/lib/esm/appui-react/content/ContentGroup.d.ts.map +1 -1
- package/lib/esm/appui-react/content/ContentGroup.js +4 -4
- package/lib/esm/appui-react/content/ContentGroup.js.map +1 -1
- package/lib/esm/appui-react/content/ContentLayout.d.ts +1 -1
- package/lib/esm/appui-react/content/ContentLayout.d.ts.map +1 -1
- package/lib/esm/appui-react/content/ContentLayout.js +30 -15
- package/lib/esm/appui-react/content/ContentLayout.js.map +1 -1
- package/lib/esm/appui-react/content/ContentLayoutManager.d.ts +1 -1
- package/lib/esm/appui-react/content/ContentLayoutManager.d.ts.map +1 -1
- package/lib/esm/appui-react/content/ContentLayoutManager.js +11 -37
- package/lib/esm/appui-react/content/ContentLayoutManager.js.map +1 -1
- package/lib/esm/appui-react/content/ContentViewManager.d.ts +4 -34
- package/lib/esm/appui-react/content/ContentViewManager.d.ts.map +1 -1
- package/lib/esm/appui-react/content/ContentViewManager.js +21 -112
- package/lib/esm/appui-react/content/ContentViewManager.js.map +1 -1
- package/lib/esm/appui-react/content/FloatingViewportContent.d.ts +6 -3
- package/lib/esm/appui-react/content/FloatingViewportContent.d.ts.map +1 -1
- package/lib/esm/appui-react/content/FloatingViewportContent.js +24 -14
- package/lib/esm/appui-react/content/FloatingViewportContent.js.map +1 -1
- package/lib/esm/appui-react/content/IModelViewport.d.ts.map +1 -1
- package/lib/esm/appui-react/content/IModelViewport.js +5 -7
- package/lib/esm/appui-react/content/IModelViewport.js.map +1 -1
- package/lib/esm/appui-react/content/InternalContentLayoutManager.d.ts +48 -0
- package/lib/esm/appui-react/content/InternalContentLayoutManager.d.ts.map +1 -0
- package/lib/esm/appui-react/content/InternalContentLayoutManager.js +92 -0
- package/lib/esm/appui-react/content/InternalContentLayoutManager.js.map +1 -0
- package/lib/esm/appui-react/content/InternalContentViewManager.d.ts +80 -0
- package/lib/esm/appui-react/content/InternalContentViewManager.d.ts.map +1 -0
- package/lib/esm/appui-react/content/InternalContentViewManager.js +206 -0
- package/lib/esm/appui-react/content/InternalContentViewManager.js.map +1 -0
- package/lib/esm/appui-react/content/ViewportContentControl.d.ts.map +1 -1
- package/lib/esm/appui-react/content/ViewportContentControl.js +3 -4
- package/lib/esm/appui-react/content/ViewportContentControl.js.map +1 -1
- package/lib/esm/appui-react/cursor/cursormenu/CursorMenu.js +1 -1
- package/lib/esm/appui-react/cursor/cursormenu/CursorMenu.js.map +1 -1
- package/lib/esm/appui-react/dialog/ContentDialog.js +10 -11
- package/lib/esm/appui-react/dialog/ContentDialog.js.map +1 -1
- package/lib/esm/appui-react/dialog/ContentDialogManager.d.ts +9 -22
- package/lib/esm/appui-react/dialog/ContentDialogManager.d.ts.map +1 -1
- package/lib/esm/appui-react/dialog/ContentDialogManager.js +23 -84
- package/lib/esm/appui-react/dialog/ContentDialogManager.js.map +1 -1
- package/lib/esm/appui-react/dialog/InternalContentDialogManager.d.ts +48 -0
- package/lib/esm/appui-react/dialog/InternalContentDialogManager.d.ts.map +1 -0
- package/lib/esm/appui-react/dialog/InternalContentDialogManager.js +128 -0
- package/lib/esm/appui-react/dialog/InternalContentDialogManager.js.map +1 -0
- package/lib/esm/appui-react/dialog/InternalModalDialogManager.d.ts +36 -0
- package/lib/esm/appui-react/dialog/InternalModalDialogManager.d.ts.map +1 -0
- package/lib/esm/appui-react/dialog/InternalModalDialogManager.js +51 -0
- package/lib/esm/appui-react/dialog/InternalModalDialogManager.js.map +1 -0
- package/lib/esm/appui-react/dialog/InternalModelessDialogManager.d.ts +46 -0
- package/lib/esm/appui-react/dialog/InternalModelessDialogManager.d.ts.map +1 -0
- package/lib/esm/appui-react/dialog/InternalModelessDialogManager.js +116 -0
- package/lib/esm/appui-react/dialog/InternalModelessDialogManager.js.map +1 -0
- package/lib/esm/appui-react/dialog/ModalDialogManager.d.ts +7 -12
- package/lib/esm/appui-react/dialog/ModalDialogManager.d.ts.map +1 -1
- package/lib/esm/appui-react/dialog/ModalDialogManager.js +22 -25
- package/lib/esm/appui-react/dialog/ModalDialogManager.js.map +1 -1
- package/lib/esm/appui-react/dialog/ModelessDialog.js +2 -2
- package/lib/esm/appui-react/dialog/ModelessDialog.js.map +1 -1
- package/lib/esm/appui-react/dialog/ModelessDialogManager.d.ts +17 -28
- package/lib/esm/appui-react/dialog/ModelessDialogManager.d.ts.map +1 -1
- package/lib/esm/appui-react/dialog/ModelessDialogManager.js +35 -84
- package/lib/esm/appui-react/dialog/ModelessDialogManager.js.map +1 -1
- package/lib/esm/appui-react/dialog/StandardMessageBox.js +2 -2
- package/lib/esm/appui-react/dialog/StandardMessageBox.js.map +1 -1
- package/lib/esm/appui-react/dialog/UiDataProvidedDialog.d.ts.map +1 -1
- package/lib/esm/appui-react/dialog/UiDataProvidedDialog.js +3 -4
- package/lib/esm/appui-react/dialog/UiDataProvidedDialog.js.map +1 -1
- package/lib/esm/appui-react/framework/FrameworkBackstage.d.ts +44 -0
- package/lib/esm/appui-react/framework/FrameworkBackstage.d.ts.map +1 -0
- package/lib/esm/appui-react/framework/FrameworkBackstage.js +9 -0
- package/lib/esm/appui-react/framework/FrameworkBackstage.js.map +1 -0
- package/lib/esm/appui-react/framework/FrameworkChildWindows.d.ts +59 -0
- package/lib/esm/appui-react/framework/FrameworkChildWindows.d.ts.map +1 -0
- package/lib/esm/appui-react/framework/FrameworkChildWindows.js +9 -0
- package/lib/esm/appui-react/framework/FrameworkChildWindows.js.map +1 -0
- package/lib/esm/appui-react/framework/FrameworkContent.d.ts +155 -0
- package/lib/esm/appui-react/framework/FrameworkContent.d.ts.map +1 -0
- package/lib/esm/appui-react/framework/FrameworkContent.js +25 -0
- package/lib/esm/appui-react/framework/FrameworkContent.js.map +1 -0
- package/lib/esm/appui-react/framework/FrameworkControls.d.ts +43 -0
- package/lib/esm/appui-react/framework/FrameworkControls.d.ts.map +1 -0
- package/lib/esm/appui-react/framework/FrameworkControls.js +2 -0
- package/lib/esm/appui-react/framework/FrameworkControls.js.map +1 -0
- package/lib/esm/appui-react/framework/FrameworkDialogs.d.ts +79 -0
- package/lib/esm/appui-react/framework/FrameworkDialogs.d.ts.map +1 -0
- package/lib/esm/appui-react/framework/FrameworkDialogs.js +19 -0
- package/lib/esm/appui-react/framework/FrameworkDialogs.js.map +1 -0
- package/lib/esm/appui-react/framework/FrameworkFrontstages.d.ts +286 -0
- package/lib/esm/appui-react/framework/FrameworkFrontstages.d.ts.map +1 -0
- package/lib/esm/appui-react/framework/FrameworkFrontstages.js +53 -0
- package/lib/esm/appui-react/framework/FrameworkFrontstages.js.map +1 -0
- package/lib/esm/appui-react/framework/FrameworkKeyboardShortcuts.d.ts +100 -0
- package/lib/esm/appui-react/framework/FrameworkKeyboardShortcuts.d.ts.map +1 -0
- package/lib/esm/appui-react/framework/FrameworkKeyboardShortcuts.js +2 -0
- package/lib/esm/appui-react/framework/FrameworkKeyboardShortcuts.js.map +1 -0
- package/lib/esm/appui-react/framework/FrameworkToolSettings.d.ts +52 -0
- package/lib/esm/appui-react/framework/FrameworkToolSettings.d.ts.map +1 -0
- package/lib/esm/appui-react/framework/FrameworkToolSettings.js +14 -0
- package/lib/esm/appui-react/framework/FrameworkToolSettings.js.map +1 -0
- package/lib/esm/appui-react/framework/FrameworkVisibility.d.ts +37 -0
- package/lib/esm/appui-react/framework/FrameworkVisibility.d.ts.map +1 -0
- package/lib/esm/appui-react/framework/FrameworkVisibility.js +2 -0
- package/lib/esm/appui-react/framework/FrameworkVisibility.js.map +1 -0
- package/lib/esm/appui-react/frontstage/Frontstage.d.ts +14 -14
- package/lib/esm/appui-react/frontstage/Frontstage.d.ts.map +1 -1
- package/lib/esm/appui-react/frontstage/Frontstage.js +16 -17
- package/lib/esm/appui-react/frontstage/Frontstage.js.map +1 -1
- package/lib/esm/appui-react/frontstage/FrontstageComposer.d.ts +6 -6
- package/lib/esm/appui-react/frontstage/FrontstageComposer.d.ts.map +1 -1
- package/lib/esm/appui-react/frontstage/FrontstageComposer.js +51 -51
- package/lib/esm/appui-react/frontstage/FrontstageComposer.js.map +1 -1
- package/lib/esm/appui-react/frontstage/FrontstageDef.d.ts +17 -17
- package/lib/esm/appui-react/frontstage/FrontstageDef.d.ts.map +1 -1
- package/lib/esm/appui-react/frontstage/FrontstageDef.js +36 -38
- package/lib/esm/appui-react/frontstage/FrontstageDef.js.map +1 -1
- package/lib/esm/appui-react/frontstage/FrontstageManager.d.ts +98 -254
- package/lib/esm/appui-react/frontstage/FrontstageManager.d.ts.map +1 -1
- package/lib/esm/appui-react/frontstage/FrontstageManager.js +155 -463
- package/lib/esm/appui-react/frontstage/FrontstageManager.js.map +1 -1
- package/lib/esm/appui-react/frontstage/FrontstageProvider.d.ts +1 -1
- package/lib/esm/appui-react/frontstage/FrontstageProvider.js.map +1 -1
- package/lib/esm/appui-react/frontstage/InternalFrontstageManager.d.ts +240 -0
- package/lib/esm/appui-react/frontstage/InternalFrontstageManager.d.ts.map +1 -0
- package/lib/esm/appui-react/frontstage/InternalFrontstageManager.js +534 -0
- package/lib/esm/appui-react/frontstage/InternalFrontstageManager.js.map +1 -0
- package/lib/esm/appui-react/frontstage/ModalSettingsStage.d.ts +1 -1
- package/lib/esm/appui-react/frontstage/ModalSettingsStage.d.ts.map +1 -1
- package/lib/esm/appui-react/frontstage/ModalSettingsStage.js +9 -8
- package/lib/esm/appui-react/frontstage/ModalSettingsStage.js.map +1 -1
- package/lib/esm/appui-react/frontstage/NestedFrontstage.js +2 -2
- package/lib/esm/appui-react/frontstage/NestedFrontstage.js.map +1 -1
- package/lib/esm/appui-react/frontstage/StageUsage.d.ts +15 -0
- package/lib/esm/appui-react/frontstage/StageUsage.d.ts.map +1 -0
- package/lib/esm/appui-react/frontstage/StageUsage.js +14 -0
- package/lib/esm/appui-react/frontstage/StageUsage.js.map +1 -0
- package/lib/esm/appui-react/frontstage/StandardFrontstageProvider.js.map +1 -1
- package/lib/esm/appui-react/hooks/useActiveStageId.d.ts.map +1 -1
- package/lib/esm/appui-react/hooks/useActiveStageId.js +4 -4
- package/lib/esm/appui-react/hooks/useActiveStageId.js.map +1 -1
- package/lib/esm/appui-react/hooks/useActiveViewport.d.ts.map +1 -1
- package/lib/esm/appui-react/hooks/useActiveViewport.js +5 -5
- package/lib/esm/appui-react/hooks/useActiveViewport.js.map +1 -1
- package/lib/esm/appui-react/hooks/useAvailableUiItemsProviders.js +4 -4
- package/lib/esm/appui-react/hooks/useAvailableUiItemsProviders.js.map +1 -1
- package/lib/esm/appui-react/hooks/useEscapeSetFocusToHome.js +2 -2
- package/lib/esm/appui-react/hooks/useEscapeSetFocusToHome.js.map +1 -1
- package/lib/esm/appui-react/hooks/useFrameworkVersion.d.ts +4 -4
- package/lib/esm/appui-react/hooks/useFrameworkVersion.js +3 -3
- package/lib/esm/appui-react/hooks/useFrameworkVersion.js.map +1 -1
- package/lib/esm/appui-react/imodel-components/Common.d.ts +2 -0
- package/lib/esm/appui-react/imodel-components/Common.d.ts.map +1 -1
- package/lib/esm/appui-react/imodel-components/Common.js +1 -0
- package/lib/esm/appui-react/imodel-components/Common.js.map +1 -1
- package/lib/esm/appui-react/imodel-components/VisibilityTreeEventHandler.d.ts +6 -0
- package/lib/esm/appui-react/imodel-components/VisibilityTreeEventHandler.d.ts.map +1 -1
- package/lib/esm/appui-react/imodel-components/VisibilityTreeEventHandler.js +2 -0
- package/lib/esm/appui-react/imodel-components/VisibilityTreeEventHandler.js.map +1 -1
- package/lib/esm/appui-react/imodel-components/VisibilityTreeRenderer.d.ts +6 -0
- package/lib/esm/appui-react/imodel-components/VisibilityTreeRenderer.d.ts.map +1 -1
- package/lib/esm/appui-react/imodel-components/VisibilityTreeRenderer.js +6 -0
- package/lib/esm/appui-react/imodel-components/VisibilityTreeRenderer.js.map +1 -1
- package/lib/esm/appui-react/imodel-components/category-tree/CategoriesTree.d.ts +5 -1
- package/lib/esm/appui-react/imodel-components/category-tree/CategoriesTree.d.ts.map +1 -1
- package/lib/esm/appui-react/imodel-components/category-tree/CategoriesTree.js +4 -0
- package/lib/esm/appui-react/imodel-components/category-tree/CategoriesTree.js.map +1 -1
- package/lib/esm/appui-react/imodel-components/category-tree/CategoryVisibilityHandler.d.ts +9 -2
- package/lib/esm/appui-react/imodel-components/category-tree/CategoryVisibilityHandler.d.ts.map +1 -1
- package/lib/esm/appui-react/imodel-components/category-tree/CategoryVisibilityHandler.js +5 -1
- package/lib/esm/appui-react/imodel-components/category-tree/CategoryVisibilityHandler.js.map +1 -1
- package/lib/esm/appui-react/imodel-components/models-tree/ModelsTree.d.ts +2 -0
- package/lib/esm/appui-react/imodel-components/models-tree/ModelsTree.d.ts.map +1 -1
- package/lib/esm/appui-react/imodel-components/models-tree/ModelsTree.js +2 -0
- package/lib/esm/appui-react/imodel-components/models-tree/ModelsTree.js.map +1 -1
- package/lib/esm/appui-react/imodel-components/models-tree/ModelsVisibilityHandler.d.ts +3 -0
- package/lib/esm/appui-react/imodel-components/models-tree/ModelsVisibilityHandler.d.ts.map +1 -1
- package/lib/esm/appui-react/imodel-components/models-tree/ModelsVisibilityHandler.js +2 -0
- package/lib/esm/appui-react/imodel-components/models-tree/ModelsVisibilityHandler.js.map +1 -1
- package/lib/esm/appui-react/imodel-components/spatial-tree/SpatialContainmentTree.d.ts +2 -0
- package/lib/esm/appui-react/imodel-components/spatial-tree/SpatialContainmentTree.d.ts.map +1 -1
- package/lib/esm/appui-react/imodel-components/spatial-tree/SpatialContainmentTree.js +2 -0
- package/lib/esm/appui-react/imodel-components/spatial-tree/SpatialContainmentTree.js.map +1 -1
- package/lib/esm/appui-react/keyboardshortcut/InternalKeyboardShortcut.d.ts +40 -0
- package/lib/esm/appui-react/keyboardshortcut/InternalKeyboardShortcut.d.ts.map +1 -0
- package/lib/esm/appui-react/keyboardshortcut/InternalKeyboardShortcut.js +108 -0
- package/lib/esm/appui-react/keyboardshortcut/InternalKeyboardShortcut.js.map +1 -0
- package/lib/esm/appui-react/keyboardshortcut/KeyboardShortcut.d.ts +5 -25
- package/lib/esm/appui-react/keyboardshortcut/KeyboardShortcut.d.ts.map +1 -1
- package/lib/esm/appui-react/keyboardshortcut/KeyboardShortcut.js +20 -62
- package/lib/esm/appui-react/keyboardshortcut/KeyboardShortcut.js.map +1 -1
- package/lib/esm/appui-react/keyinbrowser/KeyinBrowser.d.ts +5 -5
- package/lib/esm/appui-react/keyinbrowser/KeyinBrowser.d.ts.map +1 -1
- package/lib/esm/appui-react/keyinbrowser/KeyinBrowser.js +1 -1
- package/lib/esm/appui-react/keyinbrowser/KeyinBrowser.js.map +1 -1
- package/lib/esm/appui-react/messages/ActivityMessage.d.ts +2 -2
- package/lib/esm/appui-react/messages/ActivityMessage.js +1 -1
- package/lib/esm/appui-react/messages/ActivityMessage.js.map +1 -1
- package/lib/esm/appui-react/messages/ActivityMessagePopup.d.ts +2 -2
- package/lib/esm/appui-react/messages/ActivityMessagePopup.js +1 -1
- package/lib/esm/appui-react/messages/ActivityMessagePopup.js.map +1 -1
- package/lib/esm/appui-react/messages/MessageManager.d.ts.map +1 -1
- package/lib/esm/appui-react/messages/MessageManager.js +5 -4
- package/lib/esm/appui-react/messages/MessageManager.js.map +1 -1
- package/lib/esm/appui-react/messages/StatusMessageRenderer.d.ts +2 -2
- package/lib/esm/appui-react/messages/StatusMessageRenderer.js +1 -1
- package/lib/esm/appui-react/messages/StatusMessageRenderer.js.map +1 -1
- package/lib/esm/appui-react/messages/StatusMessagesContainer.d.ts +1 -1
- package/lib/esm/appui-react/messages/StatusMessagesContainer.js +1 -1
- package/lib/esm/appui-react/messages/StatusMessagesContainer.js.map +1 -1
- package/lib/esm/appui-react/messages/StickyMessage.d.ts +2 -2
- package/lib/esm/appui-react/messages/StickyMessage.js +1 -1
- package/lib/esm/appui-react/messages/StickyMessage.js.map +1 -1
- package/lib/esm/appui-react/messages/ToastMessage.d.ts +2 -2
- package/lib/esm/appui-react/messages/ToastMessage.js +1 -1
- package/lib/esm/appui-react/messages/ToastMessage.js.map +1 -1
- package/lib/esm/appui-react/navigationaids/SheetNavigationAid.js +1 -2
- package/lib/esm/appui-react/navigationaids/SheetNavigationAid.js.map +1 -1
- package/lib/esm/appui-react/navigationaids/SheetsModalFrontstage.d.ts +1 -1
- package/lib/esm/appui-react/navigationaids/SheetsModalFrontstage.d.ts.map +1 -1
- package/lib/esm/appui-react/navigationaids/SheetsModalFrontstage.js +2 -3
- package/lib/esm/appui-react/navigationaids/SheetsModalFrontstage.js.map +1 -1
- package/lib/esm/appui-react/pickers/ListPicker.d.ts +1 -1
- package/lib/esm/appui-react/pickers/ListPicker.js +5 -5
- package/lib/esm/appui-react/pickers/ListPicker.js.map +1 -1
- package/lib/esm/appui-react/pickers/ViewSelector.d.ts.map +1 -1
- package/lib/esm/appui-react/pickers/ViewSelector.js +1 -2
- package/lib/esm/appui-react/pickers/ViewSelector.js.map +1 -1
- package/lib/esm/appui-react/safearea/SafeAreaContext.d.ts +1 -1
- package/lib/esm/appui-react/safearea/SafeAreaContext.js +1 -1
- package/lib/esm/appui-react/safearea/SafeAreaContext.js.map +1 -1
- package/lib/esm/appui-react/selection/ClearEmphasisStatusField.d.ts +1 -1
- package/lib/esm/appui-react/selection/ClearEmphasisStatusField.js +1 -1
- package/lib/esm/appui-react/selection/ClearEmphasisStatusField.js.map +1 -1
- package/lib/esm/appui-react/selection/SelectionContextItemDef.d.ts.map +1 -1
- package/lib/esm/appui-react/selection/SelectionContextItemDef.js +4 -5
- package/lib/esm/appui-react/selection/SelectionContextItemDef.js.map +1 -1
- package/lib/esm/appui-react/settings/quantityformatting/QuantityFormat.d.ts.map +1 -1
- package/lib/esm/appui-react/settings/quantityformatting/QuantityFormat.js +3 -4
- package/lib/esm/appui-react/settings/quantityformatting/QuantityFormat.js.map +1 -1
- package/lib/esm/appui-react/settings/ui/UiSettingsPage.d.ts +2 -2
- package/lib/esm/appui-react/settings/ui/UiSettingsPage.d.ts.map +1 -1
- package/lib/esm/appui-react/settings/ui/UiSettingsPage.js +16 -17
- package/lib/esm/appui-react/settings/ui/UiSettingsPage.js.map +1 -1
- package/lib/esm/appui-react/shared/CustomItemProps.js.map +1 -1
- package/lib/esm/appui-react/shared/GroupItemProps.d.ts +1 -1
- package/lib/esm/appui-react/shared/GroupItemProps.d.ts.map +1 -1
- package/lib/esm/appui-react/shared/GroupItemProps.js.map +1 -1
- package/lib/esm/appui-react/shared/ItemDefBase.d.ts +4 -4
- package/lib/esm/appui-react/shared/ItemDefBase.d.ts.map +1 -1
- package/lib/esm/appui-react/shared/ItemDefBase.js +3 -3
- package/lib/esm/appui-react/shared/ItemDefBase.js.map +1 -1
- package/lib/esm/appui-react/shared/ItemProps.d.ts +4 -4
- package/lib/esm/appui-react/shared/ItemProps.js.map +1 -1
- package/lib/esm/appui-react/stagepanels/FrameworkStagePanel.d.ts.map +1 -1
- package/lib/esm/appui-react/stagepanels/FrameworkStagePanel.js +2 -2
- package/lib/esm/appui-react/stagepanels/FrameworkStagePanel.js.map +1 -1
- package/lib/esm/appui-react/stagepanels/StagePanel.d.ts +5 -5
- package/lib/esm/appui-react/stagepanels/StagePanel.d.ts.map +1 -1
- package/lib/esm/appui-react/stagepanels/StagePanel.js +6 -6
- package/lib/esm/appui-react/stagepanels/StagePanel.js.map +1 -1
- package/lib/esm/appui-react/stagepanels/StagePanelDef.d.ts.map +1 -1
- package/lib/esm/appui-react/stagepanels/StagePanelDef.js +9 -9
- package/lib/esm/appui-react/stagepanels/StagePanelDef.js.map +1 -1
- package/lib/esm/appui-react/stagepanels/StagePanelHeader.d.ts +2 -2
- package/lib/esm/appui-react/stagepanels/StagePanelHeader.js +3 -3
- package/lib/esm/appui-react/stagepanels/StagePanelHeader.js.map +1 -1
- package/lib/esm/appui-react/stagepanels/StagePanelLocation.d.ts +13 -0
- package/lib/esm/appui-react/stagepanels/StagePanelLocation.d.ts.map +1 -0
- package/lib/esm/appui-react/stagepanels/StagePanelLocation.js +13 -0
- package/lib/esm/appui-react/stagepanels/StagePanelLocation.js.map +1 -0
- package/lib/esm/appui-react/stagepanels/StagePanelSection.d.ts +13 -0
- package/lib/esm/appui-react/stagepanels/StagePanelSection.d.ts.map +1 -0
- package/lib/esm/appui-react/stagepanels/StagePanelSection.js +13 -0
- package/lib/esm/appui-react/stagepanels/StagePanelSection.js.map +1 -0
- package/lib/esm/appui-react/statusbar/LabelIndicator.js +2 -1
- package/lib/esm/appui-react/statusbar/LabelIndicator.js.map +1 -1
- package/lib/esm/appui-react/statusbar/StatusBar.d.ts +1 -1
- package/lib/esm/appui-react/statusbar/StatusBar.d.ts.map +1 -1
- package/lib/esm/appui-react/statusbar/StatusBar.js +2 -2
- package/lib/esm/appui-react/statusbar/StatusBar.js.map +1 -1
- package/lib/esm/appui-react/statusbar/StatusBarComposer.d.ts.map +1 -1
- package/lib/esm/appui-react/statusbar/StatusBarComposer.js +1 -0
- package/lib/esm/appui-react/statusbar/StatusBarComposer.js.map +1 -1
- package/lib/esm/appui-react/statusbar/StatusBarItem.d.ts +52 -2
- package/lib/esm/appui-react/statusbar/StatusBarItem.d.ts.map +1 -1
- package/lib/esm/appui-react/statusbar/StatusBarItem.js +29 -1
- package/lib/esm/appui-react/statusbar/StatusBarItem.js.map +1 -1
- package/lib/esm/appui-react/statusbar/StatusBarItemUtilities.d.ts +23 -4
- package/lib/esm/appui-react/statusbar/StatusBarItemUtilities.d.ts.map +1 -1
- package/lib/esm/appui-react/statusbar/StatusBarItemUtilities.js +31 -1
- package/lib/esm/appui-react/statusbar/StatusBarItemUtilities.js.map +1 -1
- package/lib/esm/appui-react/statusbar/StatusBarItemsManager.d.ts +1 -1
- package/lib/esm/appui-react/statusbar/StatusBarItemsManager.js +1 -1
- package/lib/esm/appui-react/statusbar/StatusBarItemsManager.js.map +1 -1
- package/lib/esm/appui-react/statusbar/StatusBarWidgetControl.d.ts +3 -3
- package/lib/esm/appui-react/statusbar/StatusBarWidgetControl.js.map +1 -1
- package/lib/esm/appui-react/statusbar/useDefaultStatusBarItems.js.map +1 -1
- package/lib/esm/appui-react/statusbar/useUiItemsProviderStatusBarItems.js +2 -2
- package/lib/esm/appui-react/statusbar/useUiItemsProviderStatusBarItems.js.map +1 -1
- package/lib/esm/appui-react/statusbar/withMessageCenterFieldProps.d.ts +1 -1
- package/lib/esm/appui-react/statusbar/withMessageCenterFieldProps.js +1 -1
- package/lib/esm/appui-react/statusbar/withMessageCenterFieldProps.js.map +1 -1
- package/lib/esm/appui-react/statusbar/withStatusFieldProps.d.ts +1 -1
- package/lib/esm/appui-react/statusbar/withStatusFieldProps.js +1 -1
- package/lib/esm/appui-react/statusbar/withStatusFieldProps.js.map +1 -1
- package/lib/esm/appui-react/statusfields/ConditionalField.d.ts +1 -1
- package/lib/esm/appui-react/statusfields/ConditionalField.js +1 -1
- package/lib/esm/appui-react/statusfields/ConditionalField.js.map +1 -1
- package/lib/esm/appui-react/statusfields/FooterModeField.d.ts +1 -1
- package/lib/esm/appui-react/statusfields/FooterModeField.js +1 -1
- package/lib/esm/appui-react/statusfields/FooterModeField.js.map +1 -1
- package/lib/esm/appui-react/statusfields/Indicator.d.ts +4 -4
- package/lib/esm/appui-react/statusfields/Indicator.d.ts.map +1 -1
- package/lib/esm/appui-react/statusfields/Indicator.js +3 -2
- package/lib/esm/appui-react/statusfields/Indicator.js.map +1 -1
- package/lib/esm/appui-react/statusfields/MessageCenter.d.ts +1 -1
- package/lib/esm/appui-react/statusfields/MessageCenter.js.map +1 -1
- package/lib/esm/appui-react/statusfields/PromptField.d.ts +1 -1
- package/lib/esm/appui-react/statusfields/PromptField.js +1 -1
- package/lib/esm/appui-react/statusfields/PromptField.js.map +1 -1
- package/lib/esm/appui-react/statusfields/StatusFieldProps.d.ts +3 -3
- package/lib/esm/appui-react/statusfields/StatusFieldProps.js.map +1 -1
- package/lib/esm/appui-react/statusfields/toolassistance/ToolAssistanceField.js +2 -3
- package/lib/esm/appui-react/statusfields/toolassistance/ToolAssistanceField.js.map +1 -1
- package/lib/esm/appui-react/syncui/BooleanListener.d.ts +2 -2
- package/lib/esm/appui-react/syncui/BooleanListener.js +1 -1
- package/lib/esm/appui-react/syncui/BooleanListener.js.map +1 -1
- package/lib/esm/appui-react/syncui/SyncUiEventDispatcher.d.ts +5 -5
- package/lib/esm/appui-react/syncui/SyncUiEventDispatcher.d.ts.map +1 -1
- package/lib/esm/appui-react/syncui/SyncUiEventDispatcher.js +12 -14
- package/lib/esm/appui-react/syncui/SyncUiEventDispatcher.js.map +1 -1
- package/lib/esm/appui-react/toolbar/ActionItemButton.d.ts +2 -2
- package/lib/esm/appui-react/toolbar/ActionItemButton.d.ts.map +1 -1
- package/lib/esm/appui-react/toolbar/ActionItemButton.js +3 -3
- package/lib/esm/appui-react/toolbar/ActionItemButton.js.map +1 -1
- package/lib/esm/appui-react/toolbar/GroupButtonItem.d.ts +1 -1
- package/lib/esm/appui-react/toolbar/GroupButtonItem.d.ts.map +1 -1
- package/lib/esm/appui-react/toolbar/GroupButtonItem.js +9 -9
- package/lib/esm/appui-react/toolbar/GroupButtonItem.js.map +1 -1
- package/lib/esm/appui-react/toolbar/GroupItem.d.ts +5 -5
- package/lib/esm/appui-react/toolbar/GroupItem.d.ts.map +1 -1
- package/lib/esm/appui-react/toolbar/GroupItem.js +11 -12
- package/lib/esm/appui-react/toolbar/GroupItem.js.map +1 -1
- package/lib/esm/appui-react/toolbar/PopupButton.d.ts +4 -4
- package/lib/esm/appui-react/toolbar/PopupButton.d.ts.map +1 -1
- package/lib/esm/appui-react/toolbar/PopupButton.js +6 -7
- package/lib/esm/appui-react/toolbar/PopupButton.js.map +1 -1
- package/lib/esm/appui-react/toolbar/ToolButton.d.ts +2 -2
- package/lib/esm/appui-react/toolbar/ToolButton.d.ts.map +1 -1
- package/lib/esm/appui-react/toolbar/ToolButton.js +2 -3
- package/lib/esm/appui-react/toolbar/ToolButton.js.map +1 -1
- package/lib/esm/appui-react/toolbar/ToolbarComposer.d.ts.map +1 -1
- package/lib/esm/appui-react/toolbar/ToolbarComposer.js +5 -7
- package/lib/esm/appui-react/toolbar/ToolbarComposer.js.map +1 -1
- package/lib/esm/appui-react/toolbar/ToolbarItem.d.ts +53 -0
- package/lib/esm/appui-react/toolbar/ToolbarItem.d.ts.map +1 -0
- package/lib/esm/appui-react/toolbar/ToolbarItem.js +35 -0
- package/lib/esm/appui-react/toolbar/ToolbarItem.js.map +1 -0
- package/lib/esm/appui-react/toolbar/ToolbarItemUtilities.d.ts +14 -0
- package/lib/esm/appui-react/toolbar/ToolbarItemUtilities.d.ts.map +1 -0
- package/lib/esm/appui-react/toolbar/ToolbarItemUtilities.js +25 -0
- package/lib/esm/appui-react/toolbar/ToolbarItemUtilities.js.map +1 -0
- package/lib/esm/appui-react/toolbar/useUiItemsProviderToolbarItems.js +2 -2
- package/lib/esm/appui-react/toolbar/useUiItemsProviderToolbarItems.js.map +1 -1
- package/lib/esm/appui-react/tools/CoreToolDefinitions.d.ts +1 -1
- package/lib/esm/appui-react/tools/CoreToolDefinitions.d.ts.map +1 -1
- package/lib/esm/appui-react/tools/CoreToolDefinitions.js +12 -13
- package/lib/esm/appui-react/tools/CoreToolDefinitions.js.map +1 -1
- package/lib/esm/appui-react/tools/FrameworkToolAdmin.d.ts.map +1 -1
- package/lib/esm/appui-react/tools/FrameworkToolAdmin.js +2 -3
- package/lib/esm/appui-react/tools/FrameworkToolAdmin.js.map +1 -1
- package/lib/esm/appui-react/tools/MarkupToolDefinitions.d.ts +1 -1
- package/lib/esm/appui-react/tools/MarkupToolDefinitions.js +1 -1
- package/lib/esm/appui-react/tools/MarkupToolDefinitions.js.map +1 -1
- package/lib/esm/appui-react/tools/RestoreLayoutTool.js +4 -4
- package/lib/esm/appui-react/tools/RestoreLayoutTool.js.map +1 -1
- package/lib/esm/appui-react/tools/ToolSettingsTools.js +2 -2
- package/lib/esm/appui-react/tools/ToolSettingsTools.js.map +1 -1
- package/lib/esm/appui-react/ui-items-provider/BaseUiItemsProvider.d.ts +11 -0
- package/lib/esm/appui-react/ui-items-provider/BaseUiItemsProvider.d.ts.map +1 -0
- package/lib/esm/appui-react/ui-items-provider/BaseUiItemsProvider.js +16 -0
- package/lib/esm/appui-react/ui-items-provider/BaseUiItemsProvider.js.map +1 -0
- package/lib/esm/appui-react/ui-items-provider/ProviderItem.d.ts +9 -0
- package/lib/esm/appui-react/ui-items-provider/ProviderItem.d.ts.map +1 -0
- package/lib/esm/appui-react/ui-items-provider/ProviderItem.js +9 -0
- package/lib/esm/appui-react/ui-items-provider/ProviderItem.js.map +1 -0
- package/lib/esm/appui-react/ui-items-provider/StandardContentToolsProvider.d.ts.map +1 -1
- package/lib/esm/appui-react/ui-items-provider/StandardContentToolsProvider.js.map +1 -1
- package/lib/esm/appui-react/ui-items-provider/StandardContentToolsUiItemsProvider.d.ts.map +1 -1
- package/lib/esm/appui-react/ui-items-provider/StandardContentToolsUiItemsProvider.js.map +1 -1
- package/lib/esm/appui-react/ui-items-provider/StandardNavigationToolsProvider.d.ts.map +1 -1
- package/lib/esm/appui-react/ui-items-provider/StandardNavigationToolsProvider.js +1 -0
- package/lib/esm/appui-react/ui-items-provider/StandardNavigationToolsProvider.js.map +1 -1
- package/lib/esm/appui-react/ui-items-provider/StandardNavigationToolsUiItemsProvider.js +2 -2
- package/lib/esm/appui-react/ui-items-provider/StandardNavigationToolsUiItemsProvider.js.map +1 -1
- package/lib/esm/appui-react/ui-items-provider/StandardStatusbarItemsProvider.d.ts.map +1 -1
- package/lib/esm/appui-react/ui-items-provider/StandardStatusbarItemsProvider.js +1 -0
- package/lib/esm/appui-react/ui-items-provider/StandardStatusbarItemsProvider.js.map +1 -1
- package/lib/esm/appui-react/ui-items-provider/StandardStatusbarUiItemsProvider.d.ts.map +1 -1
- package/lib/esm/appui-react/ui-items-provider/StandardStatusbarUiItemsProvider.js.map +1 -1
- package/lib/esm/appui-react/ui-items-provider/UiItemsManager.d.ts +24 -0
- package/lib/esm/appui-react/ui-items-provider/UiItemsManager.d.ts.map +1 -0
- package/lib/esm/appui-react/ui-items-provider/UiItemsManager.js +15 -0
- package/lib/esm/appui-react/ui-items-provider/UiItemsManager.js.map +1 -0
- package/lib/esm/appui-react/ui-items-provider/UiItemsProvider.d.ts +9 -0
- package/lib/esm/appui-react/ui-items-provider/UiItemsProvider.d.ts.map +1 -0
- package/lib/esm/appui-react/ui-items-provider/UiItemsProvider.js +9 -0
- package/lib/esm/appui-react/ui-items-provider/UiItemsProvider.js.map +1 -0
- package/lib/esm/appui-react/uiadmin/FrameworkUiAdmin.d.ts.map +1 -1
- package/lib/esm/appui-react/uiadmin/FrameworkUiAdmin.js +11 -15
- package/lib/esm/appui-react/uiadmin/FrameworkUiAdmin.js.map +1 -1
- package/lib/esm/appui-react/uistate/AppUiSettings.d.ts +2 -2
- package/lib/esm/appui-react/uistate/AppUiSettings.d.ts.map +1 -1
- package/lib/esm/appui-react/uistate/AppUiSettings.js.map +1 -1
- package/lib/esm/appui-react/uistate/UserSettingsStorage.d.ts +1 -1
- package/lib/esm/appui-react/uistate/UserSettingsStorage.js +1 -1
- package/lib/esm/appui-react/uistate/UserSettingsStorage.js.map +1 -1
- package/lib/esm/appui-react/utils/InternalUiShowHideManager.d.ts +84 -0
- package/lib/esm/appui-react/utils/InternalUiShowHideManager.d.ts.map +1 -0
- package/lib/esm/appui-react/utils/InternalUiShowHideManager.js +193 -0
- package/lib/esm/appui-react/utils/InternalUiShowHideManager.js.map +1 -0
- package/lib/esm/appui-react/utils/PropsHelper.js.map +1 -1
- package/lib/esm/appui-react/utils/UiShowHideManager.d.ts +3 -33
- package/lib/esm/appui-react/utils/UiShowHideManager.d.ts.map +1 -1
- package/lib/esm/appui-react/utils/UiShowHideManager.js +27 -115
- package/lib/esm/appui-react/utils/UiShowHideManager.js.map +1 -1
- package/lib/esm/appui-react/widget-panels/Content.js +3 -3
- package/lib/esm/appui-react/widget-panels/Content.js.map +1 -1
- package/lib/esm/appui-react/widget-panels/FloatingWidget.js +2 -2
- package/lib/esm/appui-react/widget-panels/FloatingWidget.js.map +1 -1
- package/lib/esm/appui-react/widget-panels/Frontstage.d.ts.map +1 -1
- package/lib/esm/appui-react/widget-panels/Frontstage.js +29 -29
- package/lib/esm/appui-react/widget-panels/Frontstage.js.map +1 -1
- package/lib/esm/appui-react/widget-panels/ModalFrontstageComposer.d.ts +1 -1
- package/lib/esm/appui-react/widget-panels/ModalFrontstageComposer.d.ts.map +1 -1
- package/lib/esm/appui-react/widget-panels/ModalFrontstageComposer.js +6 -6
- package/lib/esm/appui-react/widget-panels/ModalFrontstageComposer.js.map +1 -1
- package/lib/esm/appui-react/widget-panels/ToolSettings.d.ts.map +1 -1
- package/lib/esm/appui-react/widget-panels/ToolSettings.js +18 -17
- package/lib/esm/appui-react/widget-panels/ToolSettings.js.map +1 -1
- package/lib/esm/appui-react/widgets/BackstageAppButton.d.ts.map +1 -1
- package/lib/esm/appui-react/widgets/BackstageAppButton.js +1 -2
- package/lib/esm/appui-react/widgets/BackstageAppButton.js.map +1 -1
- package/lib/esm/appui-react/widgets/BasicNavigationWidget.js.map +1 -1
- package/lib/esm/appui-react/widgets/BasicToolWidget.js.map +1 -1
- package/lib/esm/appui-react/widgets/ContentToolWidgetComposer.js.map +1 -1
- package/lib/esm/appui-react/widgets/DefaultNavigationWidget.d.ts +3 -3
- package/lib/esm/appui-react/widgets/DefaultNavigationWidget.js +2 -2
- package/lib/esm/appui-react/widgets/DefaultNavigationWidget.js.map +1 -1
- package/lib/esm/appui-react/widgets/NavigationWidget.d.ts +3 -3
- package/lib/esm/appui-react/widgets/NavigationWidget.d.ts.map +1 -1
- package/lib/esm/appui-react/widgets/NavigationWidget.js +14 -18
- package/lib/esm/appui-react/widgets/NavigationWidget.js.map +1 -1
- package/lib/esm/appui-react/widgets/NavigationWidgetComposer.d.ts.map +1 -1
- package/lib/esm/appui-react/widgets/NavigationWidgetComposer.js +8 -12
- package/lib/esm/appui-react/widgets/NavigationWidgetComposer.js.map +1 -1
- package/lib/esm/appui-react/widgets/StableWidgetDef.d.ts +1 -1
- package/lib/esm/appui-react/widgets/StableWidgetDef.js +1 -1
- package/lib/esm/appui-react/widgets/StableWidgetDef.js.map +1 -1
- package/lib/esm/appui-react/widgets/StatusBarWidgetComposerControl.d.ts.map +1 -1
- package/lib/esm/appui-react/widgets/StatusBarWidgetComposerControl.js +2 -2
- package/lib/esm/appui-react/widgets/StatusBarWidgetComposerControl.js.map +1 -1
- package/lib/esm/appui-react/widgets/ToolWidget.d.ts +3 -3
- package/lib/esm/appui-react/widgets/ToolWidget.d.ts.map +1 -1
- package/lib/esm/appui-react/widgets/ToolWidget.js +4 -6
- package/lib/esm/appui-react/widgets/ToolWidget.js.map +1 -1
- package/lib/esm/appui-react/widgets/ToolWidgetComposer.js +3 -3
- package/lib/esm/appui-react/widgets/ToolWidgetComposer.js.map +1 -1
- package/lib/esm/appui-react/widgets/ToolbarWidgetBase.d.ts +1 -1
- package/lib/esm/appui-react/widgets/ToolbarWidgetBase.js +1 -1
- package/lib/esm/appui-react/widgets/ToolbarWidgetBase.js.map +1 -1
- package/lib/esm/appui-react/widgets/ViewToolWidgetComposer.js.map +1 -1
- package/lib/esm/appui-react/widgets/Widget.d.ts +1 -1
- package/lib/esm/appui-react/widgets/Widget.js +1 -1
- package/lib/esm/appui-react/widgets/Widget.js.map +1 -1
- package/lib/esm/appui-react/widgets/WidgetControl.js.map +1 -1
- package/lib/esm/appui-react/widgets/WidgetDef.d.ts +14 -14
- package/lib/esm/appui-react/widgets/WidgetDef.d.ts.map +1 -1
- package/lib/esm/appui-react/widgets/WidgetDef.js +18 -18
- package/lib/esm/appui-react/widgets/WidgetDef.js.map +1 -1
- package/lib/esm/appui-react/widgets/WidgetProps.d.ts +8 -1
- package/lib/esm/appui-react/widgets/WidgetProps.d.ts.map +1 -1
- package/lib/esm/appui-react/widgets/WidgetProps.js.map +1 -1
- package/lib/esm/appui-react/widgets/WidgetStack.js +2 -2
- package/lib/esm/appui-react/widgets/WidgetStack.js.map +1 -1
- package/lib/esm/appui-react/widgets/WidgetState.d.ts +13 -0
- package/lib/esm/appui-react/widgets/WidgetState.d.ts.map +1 -0
- package/lib/esm/appui-react/widgets/WidgetState.js +13 -0
- package/lib/esm/appui-react/widgets/WidgetState.js.map +1 -0
- package/lib/esm/appui-react/workflow/Task.d.ts +4 -4
- package/lib/esm/appui-react/workflow/Task.d.ts.map +1 -1
- package/lib/esm/appui-react/workflow/Task.js +5 -5
- package/lib/esm/appui-react/workflow/Task.js.map +1 -1
- package/lib/esm/appui-react/workflow/Workflow.d.ts +8 -8
- package/lib/esm/appui-react/workflow/Workflow.js +4 -4
- package/lib/esm/appui-react/workflow/Workflow.js.map +1 -1
- package/lib/esm/appui-react/zones/Zone.d.ts +3 -3
- package/lib/esm/appui-react/zones/Zone.d.ts.map +1 -1
- package/lib/esm/appui-react/zones/Zone.js +5 -5
- package/lib/esm/appui-react/zones/Zone.js.map +1 -1
- package/lib/esm/appui-react/zones/ZoneDef.d.ts +5 -5
- package/lib/esm/appui-react/zones/ZoneDef.d.ts.map +1 -1
- package/lib/esm/appui-react/zones/ZoneDef.js +5 -5
- package/lib/esm/appui-react/zones/ZoneDef.js.map +1 -1
- package/lib/esm/appui-react/zones/toolsettings/DefaultToolSettingsProvider.d.ts +1 -1
- package/lib/esm/appui-react/zones/toolsettings/DefaultToolSettingsProvider.d.ts.map +1 -1
- package/lib/esm/appui-react/zones/toolsettings/DefaultToolSettingsProvider.js +6 -8
- package/lib/esm/appui-react/zones/toolsettings/DefaultToolSettingsProvider.js.map +1 -1
- package/lib/esm/appui-react/zones/toolsettings/InternalToolSettingsManager.d.ts +50 -0
- package/lib/esm/appui-react/zones/toolsettings/InternalToolSettingsManager.d.ts.map +1 -0
- package/lib/esm/appui-react/zones/toolsettings/InternalToolSettingsManager.js +120 -0
- package/lib/esm/appui-react/zones/toolsettings/InternalToolSettingsManager.js.map +1 -0
- package/lib/esm/appui-react/zones/toolsettings/ToolInformation.d.ts.map +1 -1
- package/lib/esm/appui-react/zones/toolsettings/ToolInformation.js +4 -6
- package/lib/esm/appui-react/zones/toolsettings/ToolInformation.js.map +1 -1
- package/lib/esm/appui-react/zones/toolsettings/ToolSettingsManager.d.ts +8 -23
- package/lib/esm/appui-react/zones/toolsettings/ToolSettingsManager.d.ts.map +1 -1
- package/lib/esm/appui-react/zones/toolsettings/ToolSettingsManager.js +20 -85
- package/lib/esm/appui-react/zones/toolsettings/ToolSettingsManager.js.map +1 -1
- package/lib/esm/appui-react/zones/toolsettings/ToolSettingsZone.d.ts.map +1 -1
- package/lib/esm/appui-react/zones/toolsettings/ToolSettingsZone.js +6 -9
- package/lib/esm/appui-react/zones/toolsettings/ToolSettingsZone.js.map +1 -1
- package/lib/esm/appui-react/zones/toolsettings/ToolUiProvider.d.ts +2 -2
- package/lib/esm/appui-react/zones/toolsettings/ToolUiProvider.d.ts.map +1 -1
- package/lib/esm/appui-react/zones/toolsettings/ToolUiProvider.js +1 -1
- package/lib/esm/appui-react/zones/toolsettings/ToolUiProvider.js.map +1 -1
- package/lib/esm/appui-react.d.ts +25 -5
- package/lib/esm/appui-react.d.ts.map +1 -1
- package/lib/esm/appui-react.js +25 -5
- package/lib/esm/appui-react.js.map +1 -1
- package/package.json +45 -35
|
@@ -12,8 +12,6 @@ import { SpecialKey } from "@itwin/appui-abstract";
|
|
|
12
12
|
import { BadgeUtilities, Icon, withOnOutsideClick } from "@itwin/core-react";
|
|
13
13
|
import { Direction, ExpandableItem, GroupColumn, GroupTool, GroupToolExpander, Item, NestedGroup as NestedToolGroupComponent, ToolbarDirectionContext, Group as ToolGroupComponent, withDragInteraction, } from "@itwin/appui-layout-react";
|
|
14
14
|
import { ToolGroupPanelContext } from "../frontstage/FrontstageComposer";
|
|
15
|
-
import { FrontstageManager } from "../frontstage/FrontstageManager";
|
|
16
|
-
import { KeyboardShortcutManager } from "../keyboardshortcut/KeyboardShortcut";
|
|
17
15
|
import { ActionButtonItemDef } from "../shared/ActionButtonItemDef";
|
|
18
16
|
import { ItemDefBase } from "../shared/ItemDefBase";
|
|
19
17
|
import { ItemList, ItemMap } from "../shared/ItemMap";
|
|
@@ -21,6 +19,7 @@ import { SyncUiEventDispatcher } from "../syncui/SyncUiEventDispatcher";
|
|
|
21
19
|
import { UiFramework } from "../UiFramework";
|
|
22
20
|
import { PropsHelper } from "../utils/PropsHelper";
|
|
23
21
|
import { ToolbarDragInteractionContext } from "./DragInteraction";
|
|
22
|
+
import { InternalFrontstageManager } from "../frontstage/InternalFrontstageManager";
|
|
24
23
|
// eslint-disable-next-line @typescript-eslint/naming-convention, deprecation/deprecation
|
|
25
24
|
const ToolGroup = withOnOutsideClick(ToolGroupComponent, undefined, false);
|
|
26
25
|
// eslint-disable-next-line @typescript-eslint/naming-convention, deprecation/deprecation
|
|
@@ -88,7 +87,7 @@ export class GroupItemDef extends ActionButtonItemDef {
|
|
|
88
87
|
}
|
|
89
88
|
execute() {
|
|
90
89
|
}
|
|
91
|
-
/** @deprecated Used in UI1.0 only. */
|
|
90
|
+
/** @deprecated in 3.6. Used in UI1.0 only. */
|
|
92
91
|
toolbarReactNode(index) {
|
|
93
92
|
this.resolveItems();
|
|
94
93
|
const key = this.getKey(index);
|
|
@@ -134,7 +133,7 @@ export class GroupItem extends React.Component {
|
|
|
134
133
|
// istanbul ignore else
|
|
135
134
|
if (e.key === SpecialKey.Escape) {
|
|
136
135
|
this.closeGroupButton();
|
|
137
|
-
|
|
136
|
+
UiFramework.keyboardShortcuts.setFocusToHome();
|
|
138
137
|
}
|
|
139
138
|
};
|
|
140
139
|
this._handleOpenPanel = () => {
|
|
@@ -142,7 +141,7 @@ export class GroupItem extends React.Component {
|
|
|
142
141
|
isPressed: true,
|
|
143
142
|
});
|
|
144
143
|
this._closeOnPanelOpened = false;
|
|
145
|
-
|
|
144
|
+
InternalFrontstageManager.onToolPanelOpenedEvent.emit();
|
|
146
145
|
this._closeOnPanelOpened = true;
|
|
147
146
|
};
|
|
148
147
|
this._handleClick = () => {
|
|
@@ -162,7 +161,7 @@ export class GroupItem extends React.Component {
|
|
|
162
161
|
};
|
|
163
162
|
}, () => {
|
|
164
163
|
this._closeOnPanelOpened = false;
|
|
165
|
-
!!this.state.isPressed &&
|
|
164
|
+
!!this.state.isPressed && InternalFrontstageManager.onToolPanelOpenedEvent.emit();
|
|
166
165
|
this._closeOnPanelOpened = true;
|
|
167
166
|
});
|
|
168
167
|
};
|
|
@@ -229,14 +228,14 @@ export class GroupItem extends React.Component {
|
|
|
229
228
|
}
|
|
230
229
|
componentDidMount() {
|
|
231
230
|
SyncUiEventDispatcher.onSyncUiEvent.addListener(this._handleSyncUiEvent);
|
|
232
|
-
|
|
233
|
-
|
|
231
|
+
UiFramework.frontstages.onToolActivatedEvent.addListener(this._handleToolActivatedEvent);
|
|
232
|
+
InternalFrontstageManager.onToolPanelOpenedEvent.addListener(this._handleToolPanelOpenedEvent);
|
|
234
233
|
}
|
|
235
234
|
componentWillUnmount() {
|
|
236
235
|
this._componentUnmounting = true;
|
|
237
236
|
SyncUiEventDispatcher.onSyncUiEvent.removeListener(this._handleSyncUiEvent);
|
|
238
|
-
|
|
239
|
-
|
|
237
|
+
UiFramework.frontstages.onToolActivatedEvent.removeListener(this._handleToolActivatedEvent);
|
|
238
|
+
InternalFrontstageManager.onToolPanelOpenedEvent.removeListener(this._handleToolPanelOpenedEvent);
|
|
240
239
|
}
|
|
241
240
|
shouldComponentUpdate(nextProps, nextState) {
|
|
242
241
|
if (!PropsHelper.isShallowEqual(nextState, this.state))
|
|
@@ -258,7 +257,7 @@ export class GroupItem extends React.Component {
|
|
|
258
257
|
const trayId = this.resetTrayId();
|
|
259
258
|
this.processGroupItemDef(groupItemDef, trayId, trays);
|
|
260
259
|
return {
|
|
261
|
-
activeToolId:
|
|
260
|
+
activeToolId: UiFramework.frontstages.activeToolId,
|
|
262
261
|
groupItemDef,
|
|
263
262
|
isEnabled: groupItemDef.isEnabled,
|
|
264
263
|
isPressed: groupItemDef.isPressed,
|
|
@@ -431,7 +430,7 @@ export class GroupItem extends React.Component {
|
|
|
431
430
|
}
|
|
432
431
|
}
|
|
433
432
|
/** Group Button React component
|
|
434
|
-
* @deprecated Use [GroupButton]($appui-abstract) instead.
|
|
433
|
+
* @deprecated in 3.5. Use [GroupButton]($appui-abstract) instead.
|
|
435
434
|
* @public
|
|
436
435
|
*/
|
|
437
436
|
export function GroupButton(props) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"GroupItem.js","sourceRoot":"","sources":["../../../../src/appui-react/toolbar/GroupItem.tsx"],"names":[],"mappings":"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","sourcesContent":["/*---------------------------------------------------------------------------------------------\r\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\r\n* See LICENSE.md in the project root for license terms and full copyright notice.\r\n*--------------------------------------------------------------------------------------------*/\r\n/** @packageDocumentation\r\n * @module Item\r\n */\r\n\r\nimport classnames from \"classnames\";\r\nimport * as React from \"react\";\r\nimport { Logger } from \"@itwin/core-bentley\";\r\nimport { BadgeType, ConditionalStringValue, OnItemExecutedFunc, SpecialKey, StringGetter, UiSyncEventArgs } from \"@itwin/appui-abstract\";\r\nimport { BadgeUtilities, CommonProps, Icon, IconSpec, SizeProps, withOnOutsideClick } from \"@itwin/core-react\";\r\nimport {\r\n Direction, ExpandableItem, GroupColumn, GroupTool, GroupToolExpander, Item, NestedGroup as NestedToolGroupComponent, ToolbarDirectionContext,\r\n Group as ToolGroupComponent, withDragInteraction,\r\n} from \"@itwin/appui-layout-react\";\r\nimport { ToolGroupPanelContext } from \"../frontstage/FrontstageComposer\";\r\nimport { FrontstageManager, ToolActivatedEventArgs } from \"../frontstage/FrontstageManager\";\r\nimport { KeyboardShortcutManager } from \"../keyboardshortcut/KeyboardShortcut\";\r\nimport { ActionButtonItemDef } from \"../shared/ActionButtonItemDef\";\r\nimport { AnyItemDef } from \"../shared/AnyItemDef\";\r\nimport { GroupItemProps } from \"../shared/GroupItemProps\";\r\nimport { BaseItemState, ItemDefBase } from \"../shared/ItemDefBase\";\r\nimport { ItemList, ItemMap } from \"../shared/ItemMap\";\r\nimport { SyncUiEventDispatcher } from \"../syncui/SyncUiEventDispatcher\";\r\nimport { UiFramework } from \"../UiFramework\";\r\nimport { PropsHelper } from \"../utils/PropsHelper\";\r\nimport { ToolbarDragInteractionContext } from \"./DragInteraction\";\r\n\r\n// eslint-disable-next-line @typescript-eslint/naming-convention, deprecation/deprecation\r\nconst ToolGroup = withOnOutsideClick(ToolGroupComponent, undefined, false);\r\n// eslint-disable-next-line @typescript-eslint/naming-convention, deprecation/deprecation\r\nconst NestedToolGroup = withOnOutsideClick(NestedToolGroupComponent, undefined, false);\r\n// eslint-disable-next-line @typescript-eslint/naming-convention, deprecation/deprecation\r\nconst ItemWithDragInteraction = withDragInteraction(Item);\r\n\r\n// -----------------------------------------------------------------------------\r\n// GroupItemDef class\r\n// -----------------------------------------------------------------------------\r\n\r\n/** An Item that opens a group of items.\r\n * @public\r\n */\r\nexport class GroupItemDef extends ActionButtonItemDef {\r\n private static _sId = 0;\r\n public static groupIdPrefix = \"Group-\";\r\n\r\n public groupId: string;\r\n /** @deprecated Used in UI1.0 only. */\r\n public direction: Direction; // eslint-disable-line deprecation/deprecation\r\n public itemsInColumn: number;\r\n public items: AnyItemDef[];\r\n /** @deprecated Used in UI1.0 only. */\r\n public directionExplicit: boolean;\r\n public defaultActiveItemId?: string;\r\n\r\n /** @internal */\r\n public overflow: boolean = false;\r\n\r\n private _itemList!: ItemList;\r\n private _itemMap!: ItemMap;\r\n private _panelLabel: string | StringGetter | ConditionalStringValue = \"\";\r\n\r\n constructor(groupItemProps: GroupItemProps, onItemExecuted?: OnItemExecutedFunc) {\r\n super(groupItemProps, onItemExecuted);\r\n\r\n this.groupId = (groupItemProps.groupId !== undefined) ? groupItemProps.groupId : \"\";\r\n if (groupItemProps.groupId)\r\n this.groupId = groupItemProps.groupId;\r\n else {\r\n GroupItemDef._sId++;\r\n this.groupId = GroupItemDef.groupIdPrefix + GroupItemDef._sId;\r\n }\r\n\r\n this.directionExplicit = (groupItemProps.direction !== undefined); // eslint-disable-line deprecation/deprecation\r\n this.direction = (groupItemProps.direction !== undefined) ? groupItemProps.direction : Direction.Bottom; // eslint-disable-line deprecation/deprecation\r\n this.itemsInColumn = (groupItemProps.itemsInColumn !== undefined) ? groupItemProps.itemsInColumn : 7;\r\n this._panelLabel = PropsHelper.getStringSpec(groupItemProps.panelLabel, groupItemProps.panelLabelKey); // eslint-disable-line deprecation/deprecation\r\n this.items = groupItemProps.items;\r\n this.defaultActiveItemId = groupItemProps.defaultActiveItemId;\r\n }\r\n\r\n public get id(): string {\r\n return this.groupId;\r\n }\r\n\r\n /** Get the panelLabel string */\r\n public get panelLabel(): string {\r\n return PropsHelper.getStringFromSpec(this._panelLabel);\r\n }\r\n\r\n /** Set the panelLabel.\r\n * @param v A string or a function to get the string.\r\n */\r\n public setPanelLabel(v: string | StringGetter | ConditionalStringValue) {\r\n this._panelLabel = v;\r\n }\r\n\r\n public resolveItems(force?: boolean): void {\r\n if (this._itemList && !force)\r\n return;\r\n\r\n this._itemList = new ItemList();\r\n this._itemMap = new ItemMap();\r\n\r\n this.items.map((item: AnyItemDef) => {\r\n const id: string = item.id;\r\n this._itemList.addItem(item);\r\n this._itemMap.set(id, item);\r\n });\r\n }\r\n\r\n public getItemById(id: string): ItemDefBase | undefined {\r\n return this._itemMap.get(id);\r\n }\r\n\r\n public getItemByIndex(index: number): ItemDefBase | undefined {\r\n return this._itemList.items[index];\r\n }\r\n\r\n public get itemCount(): number {\r\n return this._itemList.items.length;\r\n }\r\n\r\n public override execute(): void {\r\n }\r\n\r\n /** @deprecated Used in UI1.0 only. */\r\n public override toolbarReactNode(index?: number): React.ReactNode {\r\n this.resolveItems();\r\n const key = this.getKey(index);\r\n\r\n return (\r\n <GroupItem\r\n groupItemDef={this}\r\n key={key}\r\n onSizeKnown={this.handleSizeKnown}\r\n />\r\n );\r\n }\r\n\r\n}\r\n\r\n// -----------------------------------------------------------------------------\r\n// GroupItem component, props & state\r\n// -----------------------------------------------------------------------------\r\n\r\ninterface ToolGroupItem {\r\n iconSpec?: IconSpec;\r\n label: string;\r\n trayId?: string;\r\n badgeType?: BadgeType;\r\n}\r\n\r\ninterface ToolGroupTray {\r\n title: string;\r\n items: Map<string, ToolGroupItem>;\r\n groupItemDef: GroupItemDef;\r\n}\r\ntype ToolGroupTrayMap = Map<string, ToolGroupTray>;\r\n\r\ninterface GroupItemComponentProps extends CommonProps {\r\n groupItemDef: GroupItemDef;\r\n onSizeKnown?: (size: SizeProps) => void;\r\n}\r\n\r\ninterface GroupItemState extends BaseItemState {\r\n activeItemId: string; // One of group items id.\r\n activeToolId: string; // FrontstageManager.activeToolId\r\n groupItemDef: GroupItemDef;\r\n trayId: string;\r\n backTrays: ReadonlyArray<string>;\r\n trays: ToolGroupTrayMap;\r\n}\r\n\r\n/** Group Item React component.\r\n * @internal\r\n */\r\nexport class GroupItem extends React.Component<GroupItemComponentProps, GroupItemState> {\r\n /** @internal */\r\n public override readonly state: Readonly<GroupItemState>;\r\n private _componentUnmounting = false;\r\n private _childSyncIds?: Set<string>;\r\n private _childRefreshRequired = false;\r\n private _trayIndex = 0;\r\n private _closeOnPanelOpened = true;\r\n private _ref = React.createRef<HTMLDivElement>();\r\n\r\n constructor(props: GroupItemComponentProps) {\r\n super(props);\r\n\r\n this._loadChildSyncIds(props);\r\n const state = this.getGroupItemState(this.props);\r\n const activeItemId = this.props.groupItemDef.defaultActiveItemId !== undefined ? this.props.groupItemDef.defaultActiveItemId : getFirstItemId(this.props.groupItemDef);\r\n this.state = {\r\n ...state,\r\n activeItemId,\r\n };\r\n }\r\n\r\n private _loadChildSyncIds(props: GroupItemComponentProps) {\r\n // istanbul ignore else\r\n if (props.groupItemDef && props.groupItemDef.items.length > 0) {\r\n props.groupItemDef.items.forEach((itemDef: AnyItemDef) => {\r\n const item: ItemDefBase | undefined = itemDef;\r\n if (item.stateSyncIds.length > 0) { // eslint-disable-line deprecation/deprecation\r\n if (undefined === this._childSyncIds)\r\n this._childSyncIds = new Set<string>();\r\n item.stateSyncIds.forEach((value) => this._childSyncIds!.add(value)); // eslint-disable-line deprecation/deprecation\r\n }\r\n });\r\n }\r\n }\r\n\r\n private _handleSyncUiEvent = (args: UiSyncEventArgs): void => {\r\n // istanbul ignore next\r\n if (this._componentUnmounting) return;\r\n let refreshState = false;\r\n // istanbul ignore else\r\n if (this._childSyncIds && this._childSyncIds.size > 0)\r\n if ([...this._childSyncIds].some((value: string): boolean => args.eventIds.has(value.toLowerCase())))\r\n this._childRefreshRequired = true; // this is cleared when render occurs\r\n let newState: GroupItemState = { ...this.state };\r\n if (this.props.groupItemDef.stateSyncIds && this.props.groupItemDef.stateSyncIds.length > 0) // eslint-disable-line deprecation/deprecation\r\n refreshState = this.props.groupItemDef.stateSyncIds.some((value: string): boolean => args.eventIds.has(value.toLowerCase())); // eslint-disable-line deprecation/deprecation\r\n if (refreshState || this._childRefreshRequired) {\r\n if (this.props.groupItemDef.stateFunc) // eslint-disable-line deprecation/deprecation\r\n newState = this.props.groupItemDef.stateFunc(newState) as GroupItemState; // eslint-disable-line deprecation/deprecation\r\n // istanbul ignore else\r\n if ((this.state.isActive !== newState.isActive) || (this.state.isEnabled !== newState.isEnabled) || (this.state.isVisible !== newState.isVisible)\r\n || this._childRefreshRequired) {\r\n this.setState({ isActive: newState.isActive, isEnabled: newState.isEnabled, isVisible: newState.isVisible, isPressed: newState.isPressed });\r\n }\r\n }\r\n };\r\n\r\n public override componentDidMount() {\r\n SyncUiEventDispatcher.onSyncUiEvent.addListener(this._handleSyncUiEvent);\r\n FrontstageManager.onToolActivatedEvent.addListener(this._handleToolActivatedEvent);\r\n FrontstageManager.onToolPanelOpenedEvent.addListener(this._handleToolPanelOpenedEvent);\r\n }\r\n\r\n public override componentWillUnmount() {\r\n this._componentUnmounting = true;\r\n SyncUiEventDispatcher.onSyncUiEvent.removeListener(this._handleSyncUiEvent);\r\n FrontstageManager.onToolActivatedEvent.removeListener(this._handleToolActivatedEvent);\r\n FrontstageManager.onToolPanelOpenedEvent.removeListener(this._handleToolPanelOpenedEvent);\r\n }\r\n\r\n public override shouldComponentUpdate(nextProps: GroupItemComponentProps, nextState: GroupItemState) {\r\n if (!PropsHelper.isShallowEqual(nextState, this.state))\r\n return true;\r\n if (!PropsHelper.isShallowEqual(nextProps, this.props))\r\n return true;\r\n\r\n // istanbul ignore else\r\n if (this._childRefreshRequired) {\r\n this._childRefreshRequired = false;\r\n return true;\r\n }\r\n\r\n // istanbul ignore next\r\n return false;\r\n }\r\n\r\n private getGroupItemState(props: GroupItemComponentProps) {\r\n const groupItemDef = props.groupItemDef;\r\n // Separate into trays\r\n const trays = new Map<string, ToolGroupTray>();\r\n const trayId = this.resetTrayId();\r\n\r\n this.processGroupItemDef(groupItemDef, trayId, trays);\r\n\r\n return {\r\n activeToolId: FrontstageManager.activeToolId,\r\n groupItemDef,\r\n isEnabled: groupItemDef.isEnabled, // eslint-disable-line deprecation/deprecation\r\n isPressed: groupItemDef.isPressed,\r\n isVisible: groupItemDef.isVisible, // eslint-disable-line deprecation/deprecation\r\n trayId,\r\n backTrays: [],\r\n trays,\r\n };\r\n }\r\n\r\n private resetTrayId(): string {\r\n this._trayIndex = 1;\r\n return `tray-${this._trayIndex}`;\r\n }\r\n\r\n private generateTrayId(): string {\r\n return `tray-${this._trayIndex}`;\r\n }\r\n\r\n private processGroupItemDef(groupItemDef: GroupItemDef, trayId: string, trays: ToolGroupTrayMap): void {\r\n // Separate into column items\r\n const items = new Map<string, ToolGroupItem>();\r\n for (let itemIndex = 0; itemIndex < groupItemDef.itemCount; itemIndex++) {\r\n const item = groupItemDef.getItemByIndex(itemIndex)!;\r\n if (item instanceof GroupItemDef) {\r\n item.resolveItems();\r\n\r\n this._trayIndex++;\r\n const itemTrayId = this.generateTrayId();\r\n const groupItem: ToolGroupItem = {\r\n iconSpec: item.iconSpec, label: item.label, trayId: itemTrayId,\r\n badgeType: item.badgeType,\r\n };\r\n\r\n items.set(item.id, groupItem);\r\n this.processGroupItemDef(item, itemTrayId, trays);\r\n } else {\r\n items.set(item.id, item);\r\n }\r\n }\r\n\r\n trays.set(trayId, {\r\n items,\r\n title: groupItemDef.panelLabel ? groupItemDef.panelLabel : groupItemDef.tooltip, // we fallback to use tooltip since tooltip was originally (and confusingly) used as a panelLabel\r\n groupItemDef,\r\n });\r\n }\r\n\r\n public override componentDidUpdate(prevProps: GroupItemComponentProps, _prevState: GroupItemState) {\r\n if (this.props !== prevProps) {\r\n // istanbul ignore next\r\n if (this.props.groupItemDef !== prevProps.groupItemDef)\r\n Logger.logTrace(UiFramework.loggerCategory(this), `Different GroupItemDef for same groupId of ${this.state.groupItemDef.groupId}`);\r\n this.setState((_, props) => this.getGroupItemState(props));\r\n }\r\n }\r\n\r\n private get _tray() {\r\n const tray = this.state.trays.get(this.state.trayId);\r\n // istanbul ignore next\r\n if (!tray)\r\n throw new RangeError();\r\n\r\n return tray;\r\n }\r\n\r\n private getTray(trayId: string) {\r\n const tray = this.state.trays.get(trayId);\r\n // istanbul ignore next\r\n if (!tray)\r\n throw new RangeError();\r\n\r\n return tray;\r\n }\r\n\r\n private _handleKeyDown = (e: React.KeyboardEvent): void => {\r\n // istanbul ignore else\r\n if (e.key === SpecialKey.Escape) {\r\n this.closeGroupButton();\r\n KeyboardShortcutManager.setFocusToHome();\r\n }\r\n };\r\n\r\n public override render(): React.ReactNode {\r\n if (!this.state.isVisible)\r\n return null;\r\n\r\n const activeItem = this.getItemById(this.state.activeItemId);\r\n if (!activeItem)\r\n return null;\r\n\r\n const { groupItemDef, className, ...props } = this.props;\r\n const classNames = classnames(\r\n className,\r\n groupItemDef.overflow && \"nz-toolbar-item-overflow\",\r\n );\r\n const badge = BadgeUtilities.getComponentForBadgeType(groupItemDef.badgeType);\r\n return (\r\n <ToolbarDirectionContext.Consumer>\r\n {(direction) => (\r\n <ToolbarDragInteractionContext.Consumer>\r\n {(dragInteraction) => (\r\n <ExpandableItem // eslint-disable-line deprecation/deprecation\r\n {...props}\r\n className={classNames}\r\n key={this.state.groupItemDef.id}\r\n panel={this.getGroupTray(dragInteraction)}\r\n >\r\n {dragInteraction ?\r\n (\r\n <div ref={this._ref}>\r\n <ItemWithDragInteraction\r\n badge={badge}\r\n className={groupItemDef.overflow ? \"nz-ellipsis-icon\" : undefined}\r\n direction={direction}\r\n icon={<Icon\r\n iconSpec={groupItemDef.overflow ? \"nz-ellipsis\" : activeItem.iconSpec}\r\n />}\r\n isActive={groupItemDef.overflow ? false : this.state.activeToolId === this.state.activeItemId}\r\n isDisabled={!this.state.isEnabled}\r\n onClick={groupItemDef.overflow ? this._handleOverflowClick : this._handleDragInteractionClick}\r\n onKeyDown={this._handleKeyDown}\r\n onOpenPanel={this._handleOpenPanel}\r\n onSizeKnown={this.props.onSizeKnown}\r\n title={groupItemDef.overflow ? groupItemDef.label : activeItem.label}\r\n />\r\n </div>\r\n ) :\r\n (\r\n <div ref={this._ref}>\r\n <Item // eslint-disable-line deprecation/deprecation\r\n badge={badge}\r\n className={groupItemDef.overflow ? \"nz-ellipsis-icon\" : undefined}\r\n icon={<Icon\r\n iconSpec={groupItemDef.overflow ? \"nz-ellipsis\" : groupItemDef.iconSpec}\r\n />}\r\n isDisabled={!this.state.isEnabled}\r\n onClick={this._handleClick}\r\n onKeyDown={this._handleKeyDown}\r\n onSizeKnown={this.props.onSizeKnown}\r\n title={this.state.groupItemDef.label}\r\n />\r\n </div>\r\n )}\r\n </ExpandableItem>\r\n )}\r\n </ToolbarDragInteractionContext.Consumer>\r\n )}\r\n </ToolbarDirectionContext.Consumer>\r\n );\r\n }\r\n\r\n private _handleOpenPanel = () => {\r\n this.setState({\r\n isPressed: true,\r\n });\r\n this._closeOnPanelOpened = false;\r\n FrontstageManager.onToolPanelOpenedEvent.emit();\r\n this._closeOnPanelOpened = true;\r\n };\r\n\r\n private _handleClick = () => {\r\n this.setState((prevState) => ({\r\n isPressed: !prevState.isPressed,\r\n }));\r\n };\r\n\r\n private _handleDragInteractionClick = () => {\r\n const activeItem = this.getItemById(this.state.activeItemId);\r\n activeItem && activeItem instanceof ActionButtonItemDef && activeItem.execute();\r\n };\r\n\r\n private _handleOverflowClick = () => {\r\n this.setState((prevState) => {\r\n const isPressed = !prevState.isPressed;\r\n return {\r\n isPressed,\r\n };\r\n }, () => {\r\n this._closeOnPanelOpened = false;\r\n !!this.state.isPressed && FrontstageManager.onToolPanelOpenedEvent.emit();\r\n this._closeOnPanelOpened = true;\r\n });\r\n };\r\n\r\n private _handleDragInteractionOutsideClick = (e: MouseEvent) => {\r\n if (this.props.groupItemDef.overflow) {\r\n this._ref.current && (e.target instanceof Node) && !this._ref.current.contains(e.target) && this.closeGroupButton();\r\n return;\r\n }\r\n this.closeGroupButton();\r\n };\r\n\r\n private _handleOutsideClick = (e: MouseEvent) => {\r\n this._ref.current && (e.target instanceof Node) && !this._ref.current.contains(e.target) && this.closeGroupButton();\r\n };\r\n\r\n private _handleToolActivatedEvent = ({ toolId }: ToolActivatedEventArgs) => {\r\n this.setState({\r\n activeToolId: toolId,\r\n });\r\n };\r\n\r\n private _handleToolPanelOpenedEvent = () => {\r\n // istanbul ignore else\r\n if (!this._closeOnPanelOpened)\r\n return;\r\n // istanbul ignore next\r\n this.closeGroupButton();\r\n };\r\n\r\n private closeGroupButton() {\r\n const trayId = this.resetTrayId();\r\n\r\n this.setState({\r\n isPressed: false,\r\n trayId,\r\n backTrays: [],\r\n });\r\n }\r\n\r\n private handleToolGroupItemClicked(trayKey: string, itemKey: string) {\r\n const trayId = this.resetTrayId();\r\n this.setState(\r\n {\r\n activeItemId: itemKey,\r\n isPressed: false,\r\n trayId,\r\n backTrays: [],\r\n },\r\n () => {\r\n const tray = this.getTray(trayKey);\r\n const childItem = tray.groupItemDef.getItemById(itemKey);\r\n childItem && childItem instanceof ActionButtonItemDef && childItem.execute();\r\n },\r\n );\r\n }\r\n\r\n private getGroupTray(dragInteraction: boolean): React.ReactNode {\r\n if (!this.state.isPressed)\r\n return undefined;\r\n\r\n return (\r\n <ToolGroupPanelContext.Consumer>\r\n {(activateOnPointerUp) => {\r\n const tray = this._tray;\r\n const itemsInColumn = tray.groupItemDef.itemsInColumn;\r\n const items = [...tray.items.keys()];\r\n activateOnPointerUp = activateOnPointerUp && dragInteraction;\r\n\r\n // Divide items equally between columns.\r\n const numberOfColumns = Math.ceil(items.length / itemsInColumn);\r\n const numberItemsInColumn = Math.ceil(items.length / numberOfColumns);\r\n\r\n const columnToItems = items.reduce<ReadonlyArray<ReadonlyArray<string>>>((acc, item, index) => {\r\n const columnIndex = Math.floor(index / numberItemsInColumn);\r\n if (columnIndex >= acc.length) {\r\n return [\r\n ...acc,\r\n [item],\r\n ];\r\n }\r\n return [\r\n ...acc.slice(0, columnIndex),\r\n [\r\n ...acc[columnIndex],\r\n item,\r\n ],\r\n ...acc.slice(columnIndex + 1),\r\n ];\r\n }, []);\r\n const columns = (columnToItems.map((columnItems, columnIndex) =>\r\n <GroupColumn key={columnIndex}> {/* eslint-disable-line deprecation/deprecation */}\r\n {columnItems.map((itemKey) => {\r\n const item = tray.items.get(itemKey)!;\r\n const icon = <Icon iconSpec={item.iconSpec} />;\r\n let isVisible = true;\r\n let isActive = itemKey === this.state.activeToolId;\r\n let isEnabled = true;\r\n const badge = BadgeUtilities.getComponentForBadgeType(item.badgeType);\r\n\r\n if (item instanceof ItemDefBase) {\r\n isVisible = item.isVisible; // eslint-disable-line deprecation/deprecation\r\n isEnabled = item.isEnabled; // eslint-disable-line deprecation/deprecation\r\n if (item.stateFunc) { // eslint-disable-line deprecation/deprecation\r\n const newState = item.stateFunc({ isVisible, isActive, isEnabled }); // eslint-disable-line deprecation/deprecation\r\n isVisible = undefined !== newState.isVisible ? newState.isVisible : /* istanbul ignore next */ isVisible;\r\n isEnabled = undefined !== newState.isEnabled ? newState.isEnabled : /* istanbul ignore next */ isEnabled;\r\n isActive = undefined !== newState.isActive ? newState.isActive : /* istanbul ignore next */ isActive;\r\n }\r\n }\r\n\r\n const trayId = item.trayId;\r\n if (trayId) {\r\n return (\r\n isVisible &&\r\n <GroupToolExpander\r\n isDisabled={!isEnabled}\r\n key={itemKey}\r\n label={item.label}\r\n icon={icon}\r\n badge={badge}\r\n onClick={() => this._handleExpanderClick(trayId)}\r\n onPointerUp={activateOnPointerUp ? () => this._handleExpanderClick(trayId) : undefined}\r\n />\r\n );\r\n }\r\n\r\n return (\r\n isVisible &&\r\n <GroupTool\r\n isDisabled={!isEnabled}\r\n isActive={isActive}\r\n key={itemKey}\r\n label={item.label}\r\n onClick={() => this.handleToolGroupItemClicked(this.state.trayId, itemKey)}\r\n onPointerUp={activateOnPointerUp ? () => this.handleToolGroupItemClicked(this.state.trayId, itemKey) : undefined}\r\n icon={icon}\r\n badge={badge}\r\n />\r\n );\r\n })}\r\n </GroupColumn>,\r\n ));\r\n\r\n if (this.state.backTrays.length > 0)\r\n return (\r\n <NestedToolGroup\r\n columns={columns}\r\n onBack={this._handleBack}\r\n onBackPointerUp={activateOnPointerUp ? this._handleBack : undefined}\r\n onOutsideClick={dragInteraction ? this._handleDragInteractionOutsideClick : this._handleOutsideClick}\r\n title={tray.title}\r\n />\r\n );\r\n\r\n return (\r\n <ToolGroup\r\n columns={columns}\r\n onOutsideClick={dragInteraction ? this._handleDragInteractionOutsideClick : this._handleOutsideClick}\r\n title={tray.title}\r\n />\r\n );\r\n }}\r\n </ToolGroupPanelContext.Consumer>\r\n );\r\n }\r\n\r\n public getItemById(id: string): ItemDefBase | undefined {\r\n for (const [, tray] of this.state.trays) {\r\n const item = tray.groupItemDef.getItemById(id);\r\n if (item)\r\n return item;\r\n }\r\n return undefined;\r\n }\r\n\r\n private _handleBack = () => {\r\n this.setState((prevState) => {\r\n const trayId = prevState.backTrays.length > 0 ? prevState.backTrays[prevState.backTrays.length - 1] : prevState.trayId;\r\n const backTrays = prevState.backTrays.slice(0, -1);\r\n return {\r\n trayId,\r\n backTrays,\r\n };\r\n });\r\n };\r\n\r\n private _handleExpanderClick = (trayId: string) => {\r\n this.setState((prevState) => {\r\n return {\r\n trayId,\r\n backTrays: [...prevState.backTrays, prevState.trayId],\r\n };\r\n });\r\n };\r\n}\r\n\r\n/** Properties for the [[GroupButton]] React component\r\n * @deprecated Props of a deprecated component.\r\n * @public\r\n */\r\nexport interface GroupButtonProps extends GroupItemProps, CommonProps { }\r\n\r\n/** Group Button React component\r\n * @deprecated Use [GroupButton]($appui-abstract) instead.\r\n * @public\r\n */\r\nexport function GroupButton(props: GroupButtonProps) { // eslint-disable-line deprecation/deprecation\r\n const groupItemDef = new GroupItemDef(props);\r\n groupItemDef.resolveItems();\r\n return (\r\n <GroupItem\r\n {...props}\r\n groupItemDef={groupItemDef}\r\n key={groupItemDef.id}\r\n />\r\n );\r\n}\r\n\r\n/** @internal */\r\nexport const getFirstItem = (groupItemDef: GroupItemDef): AnyItemDef | undefined => {\r\n for (const item of groupItemDef.items) {\r\n if (item instanceof GroupItemDef) {\r\n const firstItem = getFirstItem(item);\r\n if (firstItem)\r\n return firstItem;\r\n continue;\r\n }\r\n return item;\r\n }\r\n return undefined;\r\n};\r\n\r\n/** @internal */\r\nexport const getFirstItemId = (groupItemDef: GroupItemDef): string => {\r\n const item = getFirstItem(groupItemDef);\r\n return item ? item.id : \"\";\r\n};\r\n"]}
|
|
1
|
+
{"version":3,"file":"GroupItem.js","sourceRoot":"","sources":["../../../../src/appui-react/toolbar/GroupItem.tsx"],"names":[],"mappings":"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","sourcesContent":["/*---------------------------------------------------------------------------------------------\r\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\r\n* See LICENSE.md in the project root for license terms and full copyright notice.\r\n*--------------------------------------------------------------------------------------------*/\r\n/** @packageDocumentation\r\n * @module Item\r\n */\r\n\r\nimport classnames from \"classnames\";\r\nimport * as React from \"react\";\r\nimport { Logger } from \"@itwin/core-bentley\";\r\nimport { BadgeType, ConditionalStringValue, OnItemExecutedFunc, SpecialKey, StringGetter, UiSyncEventArgs } from \"@itwin/appui-abstract\";\r\nimport { BadgeUtilities, CommonProps, Icon, IconSpec, SizeProps, withOnOutsideClick } from \"@itwin/core-react\";\r\nimport {\r\n Direction, ExpandableItem, GroupColumn, GroupTool, GroupToolExpander, Item, NestedGroup as NestedToolGroupComponent, ToolbarDirectionContext,\r\n Group as ToolGroupComponent, withDragInteraction,\r\n} from \"@itwin/appui-layout-react\";\r\nimport { ToolGroupPanelContext } from \"../frontstage/FrontstageComposer\";\r\nimport { ToolActivatedEventArgs } from \"../framework/FrameworkFrontstages\";\r\nimport { ActionButtonItemDef } from \"../shared/ActionButtonItemDef\";\r\nimport { AnyItemDef } from \"../shared/AnyItemDef\";\r\nimport { GroupItemProps } from \"../shared/GroupItemProps\";\r\nimport { BaseItemState, ItemDefBase } from \"../shared/ItemDefBase\";\r\nimport { ItemList, ItemMap } from \"../shared/ItemMap\";\r\nimport { SyncUiEventDispatcher } from \"../syncui/SyncUiEventDispatcher\";\r\nimport { UiFramework } from \"../UiFramework\";\r\nimport { PropsHelper } from \"../utils/PropsHelper\";\r\nimport { ToolbarDragInteractionContext } from \"./DragInteraction\";\r\nimport { InternalFrontstageManager } from \"../frontstage/InternalFrontstageManager\";\r\n\r\n// eslint-disable-next-line @typescript-eslint/naming-convention, deprecation/deprecation\r\nconst ToolGroup = withOnOutsideClick(ToolGroupComponent, undefined, false);\r\n// eslint-disable-next-line @typescript-eslint/naming-convention, deprecation/deprecation\r\nconst NestedToolGroup = withOnOutsideClick(NestedToolGroupComponent, undefined, false);\r\n// eslint-disable-next-line @typescript-eslint/naming-convention, deprecation/deprecation\r\nconst ItemWithDragInteraction = withDragInteraction(Item);\r\n\r\n// -----------------------------------------------------------------------------\r\n// GroupItemDef class\r\n// -----------------------------------------------------------------------------\r\n\r\n/** An Item that opens a group of items.\r\n * @public\r\n */\r\nexport class GroupItemDef extends ActionButtonItemDef {\r\n private static _sId = 0;\r\n public static groupIdPrefix = \"Group-\";\r\n\r\n public groupId: string;\r\n /** @deprecated in 3.6. Used in UI1.0 only. */\r\n public direction: Direction; // eslint-disable-line deprecation/deprecation\r\n public itemsInColumn: number;\r\n public items: AnyItemDef[];\r\n /** @deprecated in 3.6. Used in UI1.0 only. */\r\n public directionExplicit: boolean;\r\n public defaultActiveItemId?: string;\r\n\r\n /** @internal */\r\n public overflow: boolean = false;\r\n\r\n private _itemList!: ItemList;\r\n private _itemMap!: ItemMap;\r\n private _panelLabel: string | StringGetter | ConditionalStringValue = \"\";\r\n\r\n constructor(groupItemProps: GroupItemProps, onItemExecuted?: OnItemExecutedFunc) {\r\n super(groupItemProps, onItemExecuted);\r\n\r\n this.groupId = (groupItemProps.groupId !== undefined) ? groupItemProps.groupId : \"\";\r\n if (groupItemProps.groupId)\r\n this.groupId = groupItemProps.groupId;\r\n else {\r\n GroupItemDef._sId++;\r\n this.groupId = GroupItemDef.groupIdPrefix + GroupItemDef._sId;\r\n }\r\n\r\n this.directionExplicit = (groupItemProps.direction !== undefined); // eslint-disable-line deprecation/deprecation\r\n this.direction = (groupItemProps.direction !== undefined) ? groupItemProps.direction : Direction.Bottom; // eslint-disable-line deprecation/deprecation\r\n this.itemsInColumn = (groupItemProps.itemsInColumn !== undefined) ? groupItemProps.itemsInColumn : 7;\r\n this._panelLabel = PropsHelper.getStringSpec(groupItemProps.panelLabel, groupItemProps.panelLabelKey); // eslint-disable-line deprecation/deprecation\r\n this.items = groupItemProps.items;\r\n this.defaultActiveItemId = groupItemProps.defaultActiveItemId;\r\n }\r\n\r\n public get id(): string {\r\n return this.groupId;\r\n }\r\n\r\n /** Get the panelLabel string */\r\n public get panelLabel(): string {\r\n return PropsHelper.getStringFromSpec(this._panelLabel);\r\n }\r\n\r\n /** Set the panelLabel.\r\n * @param v A string or a function to get the string.\r\n */\r\n public setPanelLabel(v: string | StringGetter | ConditionalStringValue) {\r\n this._panelLabel = v;\r\n }\r\n\r\n public resolveItems(force?: boolean): void {\r\n if (this._itemList && !force)\r\n return;\r\n\r\n this._itemList = new ItemList();\r\n this._itemMap = new ItemMap();\r\n\r\n this.items.map((item: AnyItemDef) => {\r\n const id: string = item.id;\r\n this._itemList.addItem(item);\r\n this._itemMap.set(id, item);\r\n });\r\n }\r\n\r\n public getItemById(id: string): ItemDefBase | undefined {\r\n return this._itemMap.get(id);\r\n }\r\n\r\n public getItemByIndex(index: number): ItemDefBase | undefined {\r\n return this._itemList.items[index];\r\n }\r\n\r\n public get itemCount(): number {\r\n return this._itemList.items.length;\r\n }\r\n\r\n public override execute(): void {\r\n }\r\n\r\n /** @deprecated in 3.6. Used in UI1.0 only. */\r\n public override toolbarReactNode(index?: number): React.ReactNode {\r\n this.resolveItems();\r\n const key = this.getKey(index);\r\n\r\n return (\r\n <GroupItem\r\n groupItemDef={this}\r\n key={key}\r\n onSizeKnown={this.handleSizeKnown}\r\n />\r\n );\r\n }\r\n\r\n}\r\n\r\n// -----------------------------------------------------------------------------\r\n// GroupItem component, props & state\r\n// -----------------------------------------------------------------------------\r\n\r\ninterface ToolGroupItem {\r\n iconSpec?: IconSpec;\r\n label: string;\r\n trayId?: string;\r\n badgeType?: BadgeType;\r\n}\r\n\r\ninterface ToolGroupTray {\r\n title: string;\r\n items: Map<string, ToolGroupItem>;\r\n groupItemDef: GroupItemDef;\r\n}\r\ntype ToolGroupTrayMap = Map<string, ToolGroupTray>;\r\n\r\ninterface GroupItemComponentProps extends CommonProps {\r\n groupItemDef: GroupItemDef;\r\n onSizeKnown?: (size: SizeProps) => void;\r\n}\r\n\r\ninterface GroupItemState extends BaseItemState {\r\n activeItemId: string; // One of group items id.\r\n activeToolId: string; // UiFramework.frontstages.activeToolId\r\n groupItemDef: GroupItemDef;\r\n trayId: string;\r\n backTrays: ReadonlyArray<string>;\r\n trays: ToolGroupTrayMap;\r\n}\r\n\r\n/** Group Item React component.\r\n * @internal\r\n */\r\nexport class GroupItem extends React.Component<GroupItemComponentProps, GroupItemState> {\r\n /** @internal */\r\n public override readonly state: Readonly<GroupItemState>;\r\n private _componentUnmounting = false;\r\n private _childSyncIds?: Set<string>;\r\n private _childRefreshRequired = false;\r\n private _trayIndex = 0;\r\n private _closeOnPanelOpened = true;\r\n private _ref = React.createRef<HTMLDivElement>();\r\n\r\n constructor(props: GroupItemComponentProps) {\r\n super(props);\r\n\r\n this._loadChildSyncIds(props);\r\n const state = this.getGroupItemState(this.props);\r\n const activeItemId = this.props.groupItemDef.defaultActiveItemId !== undefined ? this.props.groupItemDef.defaultActiveItemId : getFirstItemId(this.props.groupItemDef);\r\n this.state = {\r\n ...state,\r\n activeItemId,\r\n };\r\n }\r\n\r\n private _loadChildSyncIds(props: GroupItemComponentProps) {\r\n // istanbul ignore else\r\n if (props.groupItemDef && props.groupItemDef.items.length > 0) {\r\n props.groupItemDef.items.forEach((itemDef: AnyItemDef) => {\r\n const item: ItemDefBase | undefined = itemDef;\r\n if (item.stateSyncIds.length > 0) { // eslint-disable-line deprecation/deprecation\r\n if (undefined === this._childSyncIds)\r\n this._childSyncIds = new Set<string>();\r\n item.stateSyncIds.forEach((value) => this._childSyncIds!.add(value)); // eslint-disable-line deprecation/deprecation\r\n }\r\n });\r\n }\r\n }\r\n\r\n private _handleSyncUiEvent = (args: UiSyncEventArgs): void => {\r\n // istanbul ignore next\r\n if (this._componentUnmounting) return;\r\n let refreshState = false;\r\n // istanbul ignore else\r\n if (this._childSyncIds && this._childSyncIds.size > 0)\r\n if ([...this._childSyncIds].some((value: string): boolean => args.eventIds.has(value.toLowerCase())))\r\n this._childRefreshRequired = true; // this is cleared when render occurs\r\n let newState: GroupItemState = { ...this.state };\r\n if (this.props.groupItemDef.stateSyncIds && this.props.groupItemDef.stateSyncIds.length > 0) // eslint-disable-line deprecation/deprecation\r\n refreshState = this.props.groupItemDef.stateSyncIds.some((value: string): boolean => args.eventIds.has(value.toLowerCase())); // eslint-disable-line deprecation/deprecation\r\n if (refreshState || this._childRefreshRequired) {\r\n if (this.props.groupItemDef.stateFunc) // eslint-disable-line deprecation/deprecation\r\n newState = this.props.groupItemDef.stateFunc(newState) as GroupItemState; // eslint-disable-line deprecation/deprecation\r\n // istanbul ignore else\r\n if ((this.state.isActive !== newState.isActive) || (this.state.isEnabled !== newState.isEnabled) || (this.state.isVisible !== newState.isVisible)\r\n || this._childRefreshRequired) {\r\n this.setState({ isActive: newState.isActive, isEnabled: newState.isEnabled, isVisible: newState.isVisible, isPressed: newState.isPressed });\r\n }\r\n }\r\n };\r\n\r\n public override componentDidMount() {\r\n SyncUiEventDispatcher.onSyncUiEvent.addListener(this._handleSyncUiEvent);\r\n UiFramework.frontstages.onToolActivatedEvent.addListener(this._handleToolActivatedEvent);\r\n InternalFrontstageManager.onToolPanelOpenedEvent.addListener(this._handleToolPanelOpenedEvent);\r\n }\r\n\r\n public override componentWillUnmount() {\r\n this._componentUnmounting = true;\r\n SyncUiEventDispatcher.onSyncUiEvent.removeListener(this._handleSyncUiEvent);\r\n UiFramework.frontstages.onToolActivatedEvent.removeListener(this._handleToolActivatedEvent);\r\n InternalFrontstageManager.onToolPanelOpenedEvent.removeListener(this._handleToolPanelOpenedEvent);\r\n }\r\n\r\n public override shouldComponentUpdate(nextProps: GroupItemComponentProps, nextState: GroupItemState) {\r\n if (!PropsHelper.isShallowEqual(nextState, this.state))\r\n return true;\r\n if (!PropsHelper.isShallowEqual(nextProps, this.props))\r\n return true;\r\n\r\n // istanbul ignore else\r\n if (this._childRefreshRequired) {\r\n this._childRefreshRequired = false;\r\n return true;\r\n }\r\n\r\n // istanbul ignore next\r\n return false;\r\n }\r\n\r\n private getGroupItemState(props: GroupItemComponentProps) {\r\n const groupItemDef = props.groupItemDef;\r\n // Separate into trays\r\n const trays = new Map<string, ToolGroupTray>();\r\n const trayId = this.resetTrayId();\r\n\r\n this.processGroupItemDef(groupItemDef, trayId, trays);\r\n\r\n return {\r\n activeToolId: UiFramework.frontstages.activeToolId,\r\n groupItemDef,\r\n isEnabled: groupItemDef.isEnabled, // eslint-disable-line deprecation/deprecation\r\n isPressed: groupItemDef.isPressed,\r\n isVisible: groupItemDef.isVisible, // eslint-disable-line deprecation/deprecation\r\n trayId,\r\n backTrays: [],\r\n trays,\r\n };\r\n }\r\n\r\n private resetTrayId(): string {\r\n this._trayIndex = 1;\r\n return `tray-${this._trayIndex}`;\r\n }\r\n\r\n private generateTrayId(): string {\r\n return `tray-${this._trayIndex}`;\r\n }\r\n\r\n private processGroupItemDef(groupItemDef: GroupItemDef, trayId: string, trays: ToolGroupTrayMap): void {\r\n // Separate into column items\r\n const items = new Map<string, ToolGroupItem>();\r\n for (let itemIndex = 0; itemIndex < groupItemDef.itemCount; itemIndex++) {\r\n const item = groupItemDef.getItemByIndex(itemIndex)!;\r\n if (item instanceof GroupItemDef) {\r\n item.resolveItems();\r\n\r\n this._trayIndex++;\r\n const itemTrayId = this.generateTrayId();\r\n const groupItem: ToolGroupItem = {\r\n iconSpec: item.iconSpec, label: item.label, trayId: itemTrayId,\r\n badgeType: item.badgeType,\r\n };\r\n\r\n items.set(item.id, groupItem);\r\n this.processGroupItemDef(item, itemTrayId, trays);\r\n } else {\r\n items.set(item.id, item);\r\n }\r\n }\r\n\r\n trays.set(trayId, {\r\n items,\r\n title: groupItemDef.panelLabel ? groupItemDef.panelLabel : groupItemDef.tooltip, // we fallback to use tooltip since tooltip was originally (and confusingly) used as a panelLabel\r\n groupItemDef,\r\n });\r\n }\r\n\r\n public override componentDidUpdate(prevProps: GroupItemComponentProps, _prevState: GroupItemState) {\r\n if (this.props !== prevProps) {\r\n // istanbul ignore next\r\n if (this.props.groupItemDef !== prevProps.groupItemDef)\r\n Logger.logTrace(UiFramework.loggerCategory(this), `Different GroupItemDef for same groupId of ${this.state.groupItemDef.groupId}`);\r\n this.setState((_, props) => this.getGroupItemState(props));\r\n }\r\n }\r\n\r\n private get _tray() {\r\n const tray = this.state.trays.get(this.state.trayId);\r\n // istanbul ignore next\r\n if (!tray)\r\n throw new RangeError();\r\n\r\n return tray;\r\n }\r\n\r\n private getTray(trayId: string) {\r\n const tray = this.state.trays.get(trayId);\r\n // istanbul ignore next\r\n if (!tray)\r\n throw new RangeError();\r\n\r\n return tray;\r\n }\r\n\r\n private _handleKeyDown = (e: React.KeyboardEvent): void => {\r\n // istanbul ignore else\r\n if (e.key === SpecialKey.Escape) {\r\n this.closeGroupButton();\r\n UiFramework.keyboardShortcuts.setFocusToHome();\r\n }\r\n };\r\n\r\n public override render(): React.ReactNode {\r\n if (!this.state.isVisible)\r\n return null;\r\n\r\n const activeItem = this.getItemById(this.state.activeItemId);\r\n if (!activeItem)\r\n return null;\r\n\r\n const { groupItemDef, className, ...props } = this.props;\r\n const classNames = classnames(\r\n className,\r\n groupItemDef.overflow && \"nz-toolbar-item-overflow\",\r\n );\r\n const badge = BadgeUtilities.getComponentForBadgeType(groupItemDef.badgeType);\r\n return (\r\n <ToolbarDirectionContext.Consumer>\r\n {(direction) => (\r\n <ToolbarDragInteractionContext.Consumer>\r\n {(dragInteraction) => (\r\n <ExpandableItem // eslint-disable-line deprecation/deprecation\r\n {...props}\r\n className={classNames}\r\n key={this.state.groupItemDef.id}\r\n panel={this.getGroupTray(dragInteraction)}\r\n >\r\n {dragInteraction ?\r\n (\r\n <div ref={this._ref}>\r\n <ItemWithDragInteraction\r\n badge={badge}\r\n className={groupItemDef.overflow ? \"nz-ellipsis-icon\" : undefined}\r\n direction={direction}\r\n icon={<Icon\r\n iconSpec={groupItemDef.overflow ? \"nz-ellipsis\" : activeItem.iconSpec}\r\n />}\r\n isActive={groupItemDef.overflow ? false : this.state.activeToolId === this.state.activeItemId}\r\n isDisabled={!this.state.isEnabled}\r\n onClick={groupItemDef.overflow ? this._handleOverflowClick : this._handleDragInteractionClick}\r\n onKeyDown={this._handleKeyDown}\r\n onOpenPanel={this._handleOpenPanel}\r\n onSizeKnown={this.props.onSizeKnown}\r\n title={groupItemDef.overflow ? groupItemDef.label : activeItem.label}\r\n />\r\n </div>\r\n ) :\r\n (\r\n <div ref={this._ref}>\r\n <Item // eslint-disable-line deprecation/deprecation\r\n badge={badge}\r\n className={groupItemDef.overflow ? \"nz-ellipsis-icon\" : undefined}\r\n icon={<Icon\r\n iconSpec={groupItemDef.overflow ? \"nz-ellipsis\" : groupItemDef.iconSpec}\r\n />}\r\n isDisabled={!this.state.isEnabled}\r\n onClick={this._handleClick}\r\n onKeyDown={this._handleKeyDown}\r\n onSizeKnown={this.props.onSizeKnown}\r\n title={this.state.groupItemDef.label}\r\n />\r\n </div>\r\n )}\r\n </ExpandableItem>\r\n )}\r\n </ToolbarDragInteractionContext.Consumer>\r\n )}\r\n </ToolbarDirectionContext.Consumer>\r\n );\r\n }\r\n\r\n private _handleOpenPanel = () => {\r\n this.setState({\r\n isPressed: true,\r\n });\r\n this._closeOnPanelOpened = false;\r\n InternalFrontstageManager.onToolPanelOpenedEvent.emit();\r\n this._closeOnPanelOpened = true;\r\n };\r\n\r\n private _handleClick = () => {\r\n this.setState((prevState) => ({\r\n isPressed: !prevState.isPressed,\r\n }));\r\n };\r\n\r\n private _handleDragInteractionClick = () => {\r\n const activeItem = this.getItemById(this.state.activeItemId);\r\n activeItem && activeItem instanceof ActionButtonItemDef && activeItem.execute();\r\n };\r\n\r\n private _handleOverflowClick = () => {\r\n this.setState((prevState) => {\r\n const isPressed = !prevState.isPressed;\r\n return {\r\n isPressed,\r\n };\r\n }, () => {\r\n this._closeOnPanelOpened = false;\r\n !!this.state.isPressed && InternalFrontstageManager.onToolPanelOpenedEvent.emit();\r\n this._closeOnPanelOpened = true;\r\n });\r\n };\r\n\r\n private _handleDragInteractionOutsideClick = (e: MouseEvent) => {\r\n if (this.props.groupItemDef.overflow) {\r\n this._ref.current && (e.target instanceof Node) && !this._ref.current.contains(e.target) && this.closeGroupButton();\r\n return;\r\n }\r\n this.closeGroupButton();\r\n };\r\n\r\n private _handleOutsideClick = (e: MouseEvent) => {\r\n this._ref.current && (e.target instanceof Node) && !this._ref.current.contains(e.target) && this.closeGroupButton();\r\n };\r\n\r\n private _handleToolActivatedEvent = ({ toolId }: ToolActivatedEventArgs) => {\r\n this.setState({\r\n activeToolId: toolId,\r\n });\r\n };\r\n\r\n private _handleToolPanelOpenedEvent = () => {\r\n // istanbul ignore else\r\n if (!this._closeOnPanelOpened)\r\n return;\r\n // istanbul ignore next\r\n this.closeGroupButton();\r\n };\r\n\r\n private closeGroupButton() {\r\n const trayId = this.resetTrayId();\r\n\r\n this.setState({\r\n isPressed: false,\r\n trayId,\r\n backTrays: [],\r\n });\r\n }\r\n\r\n private handleToolGroupItemClicked(trayKey: string, itemKey: string) {\r\n const trayId = this.resetTrayId();\r\n this.setState(\r\n {\r\n activeItemId: itemKey,\r\n isPressed: false,\r\n trayId,\r\n backTrays: [],\r\n },\r\n () => {\r\n const tray = this.getTray(trayKey);\r\n const childItem = tray.groupItemDef.getItemById(itemKey);\r\n childItem && childItem instanceof ActionButtonItemDef && childItem.execute();\r\n },\r\n );\r\n }\r\n\r\n private getGroupTray(dragInteraction: boolean): React.ReactNode {\r\n if (!this.state.isPressed)\r\n return undefined;\r\n\r\n return (\r\n <ToolGroupPanelContext.Consumer>\r\n {(activateOnPointerUp) => {\r\n const tray = this._tray;\r\n const itemsInColumn = tray.groupItemDef.itemsInColumn;\r\n const items = [...tray.items.keys()];\r\n activateOnPointerUp = activateOnPointerUp && dragInteraction;\r\n\r\n // Divide items equally between columns.\r\n const numberOfColumns = Math.ceil(items.length / itemsInColumn);\r\n const numberItemsInColumn = Math.ceil(items.length / numberOfColumns);\r\n\r\n const columnToItems = items.reduce<ReadonlyArray<ReadonlyArray<string>>>((acc, item, index) => {\r\n const columnIndex = Math.floor(index / numberItemsInColumn);\r\n if (columnIndex >= acc.length) {\r\n return [\r\n ...acc,\r\n [item],\r\n ];\r\n }\r\n return [\r\n ...acc.slice(0, columnIndex),\r\n [\r\n ...acc[columnIndex],\r\n item,\r\n ],\r\n ...acc.slice(columnIndex + 1),\r\n ];\r\n }, []);\r\n const columns = (columnToItems.map((columnItems, columnIndex) =>\r\n <GroupColumn key={columnIndex}> {/* eslint-disable-line deprecation/deprecation */}\r\n {columnItems.map((itemKey) => {\r\n const item = tray.items.get(itemKey)!;\r\n const icon = <Icon iconSpec={item.iconSpec} />;\r\n let isVisible = true;\r\n let isActive = itemKey === this.state.activeToolId;\r\n let isEnabled = true;\r\n const badge = BadgeUtilities.getComponentForBadgeType(item.badgeType);\r\n\r\n if (item instanceof ItemDefBase) {\r\n isVisible = item.isVisible; // eslint-disable-line deprecation/deprecation\r\n isEnabled = item.isEnabled; // eslint-disable-line deprecation/deprecation\r\n if (item.stateFunc) { // eslint-disable-line deprecation/deprecation\r\n const newState = item.stateFunc({ isVisible, isActive, isEnabled }); // eslint-disable-line deprecation/deprecation\r\n isVisible = undefined !== newState.isVisible ? newState.isVisible : /* istanbul ignore next */ isVisible;\r\n isEnabled = undefined !== newState.isEnabled ? newState.isEnabled : /* istanbul ignore next */ isEnabled;\r\n isActive = undefined !== newState.isActive ? newState.isActive : /* istanbul ignore next */ isActive;\r\n }\r\n }\r\n\r\n const trayId = item.trayId;\r\n if (trayId) {\r\n return (\r\n isVisible &&\r\n <GroupToolExpander\r\n isDisabled={!isEnabled}\r\n key={itemKey}\r\n label={item.label}\r\n icon={icon}\r\n badge={badge}\r\n onClick={() => this._handleExpanderClick(trayId)}\r\n onPointerUp={activateOnPointerUp ? () => this._handleExpanderClick(trayId) : undefined}\r\n />\r\n );\r\n }\r\n\r\n return (\r\n isVisible &&\r\n <GroupTool\r\n isDisabled={!isEnabled}\r\n isActive={isActive}\r\n key={itemKey}\r\n label={item.label}\r\n onClick={() => this.handleToolGroupItemClicked(this.state.trayId, itemKey)}\r\n onPointerUp={activateOnPointerUp ? () => this.handleToolGroupItemClicked(this.state.trayId, itemKey) : undefined}\r\n icon={icon}\r\n badge={badge}\r\n />\r\n );\r\n })}\r\n </GroupColumn>,\r\n ));\r\n\r\n if (this.state.backTrays.length > 0)\r\n return (\r\n <NestedToolGroup\r\n columns={columns}\r\n onBack={this._handleBack}\r\n onBackPointerUp={activateOnPointerUp ? this._handleBack : undefined}\r\n onOutsideClick={dragInteraction ? this._handleDragInteractionOutsideClick : this._handleOutsideClick}\r\n title={tray.title}\r\n />\r\n );\r\n\r\n return (\r\n <ToolGroup\r\n columns={columns}\r\n onOutsideClick={dragInteraction ? this._handleDragInteractionOutsideClick : this._handleOutsideClick}\r\n title={tray.title}\r\n />\r\n );\r\n }}\r\n </ToolGroupPanelContext.Consumer>\r\n );\r\n }\r\n\r\n public getItemById(id: string): ItemDefBase | undefined {\r\n for (const [, tray] of this.state.trays) {\r\n const item = tray.groupItemDef.getItemById(id);\r\n if (item)\r\n return item;\r\n }\r\n return undefined;\r\n }\r\n\r\n private _handleBack = () => {\r\n this.setState((prevState) => {\r\n const trayId = prevState.backTrays.length > 0 ? prevState.backTrays[prevState.backTrays.length - 1] : prevState.trayId;\r\n const backTrays = prevState.backTrays.slice(0, -1);\r\n return {\r\n trayId,\r\n backTrays,\r\n };\r\n });\r\n };\r\n\r\n private _handleExpanderClick = (trayId: string) => {\r\n this.setState((prevState) => {\r\n return {\r\n trayId,\r\n backTrays: [...prevState.backTrays, prevState.trayId],\r\n };\r\n });\r\n };\r\n}\r\n\r\n/** Properties for the [[GroupButton]] React component\r\n * @deprecated in 3.5. Props of a deprecated component.\r\n * @public\r\n */\r\nexport interface GroupButtonProps extends GroupItemProps, CommonProps { }\r\n\r\n/** Group Button React component\r\n * @deprecated in 3.5. Use [GroupButton]($appui-abstract) instead.\r\n * @public\r\n */\r\nexport function GroupButton(props: GroupButtonProps) { // eslint-disable-line deprecation/deprecation\r\n const groupItemDef = new GroupItemDef(props);\r\n groupItemDef.resolveItems();\r\n return (\r\n <GroupItem\r\n {...props}\r\n groupItemDef={groupItemDef}\r\n key={groupItemDef.id}\r\n />\r\n );\r\n}\r\n\r\n/** @internal */\r\nexport const getFirstItem = (groupItemDef: GroupItemDef): AnyItemDef | undefined => {\r\n for (const item of groupItemDef.items) {\r\n if (item instanceof GroupItemDef) {\r\n const firstItem = getFirstItem(item);\r\n if (firstItem)\r\n return firstItem;\r\n continue;\r\n }\r\n return item;\r\n }\r\n return undefined;\r\n};\r\n\r\n/** @internal */\r\nexport const getFirstItemId = (groupItemDef: GroupItemDef): string => {\r\n const item = getFirstItem(groupItemDef);\r\n return item ? item.id : \"\";\r\n};\r\n"]}
|
|
@@ -8,19 +8,19 @@ import { BaseItemState } from "../shared/ItemDefBase";
|
|
|
8
8
|
import { ItemProps } from "../shared/ItemProps";
|
|
9
9
|
/** Arguments of [[PopupButtonChildrenRenderProp]].
|
|
10
10
|
* @public
|
|
11
|
-
* @deprecated
|
|
11
|
+
* @deprecated in 2.x. Use PopupItem in ToolbarWithOverflow or popupPanelNode in CustomItemDef
|
|
12
12
|
*/
|
|
13
13
|
export interface PopupButtonChildrenRenderPropArgs {
|
|
14
14
|
closePanel: () => void;
|
|
15
15
|
}
|
|
16
16
|
/** Type of [[PopupButtonProps.children]] when used as render prop.
|
|
17
17
|
* @public
|
|
18
|
-
* @deprecated
|
|
18
|
+
* @deprecated in 2.x. Use PopupItem in ToolbarWithOverflow or popupPanelNode in CustomItemDef
|
|
19
19
|
*/
|
|
20
20
|
export declare type PopupButtonChildrenRenderProp = (args: PopupButtonChildrenRenderPropArgs) => React.ReactNode;
|
|
21
21
|
/** Properties for the [[PopupButton]] React component
|
|
22
22
|
* @public
|
|
23
|
-
* @deprecated
|
|
23
|
+
* @deprecated in 2.x. Use PopupItem in ToolbarWithOverflow or popupPanelNode in CustomItemDef
|
|
24
24
|
*/
|
|
25
25
|
export interface PopupButtonProps extends ItemProps, CommonProps {
|
|
26
26
|
children?: React.ReactNode | PopupButtonChildrenRenderProp;
|
|
@@ -31,7 +31,7 @@ export interface PopupButtonProps extends ItemProps, CommonProps {
|
|
|
31
31
|
/**
|
|
32
32
|
* Used to provide custom popup button in toolbar.
|
|
33
33
|
* @public
|
|
34
|
-
* @deprecated
|
|
34
|
+
* @deprecated in 2.x. Use PopupItem in ToolbarWithOverflow or popupPanelNode in CustomItemDef
|
|
35
35
|
*/
|
|
36
36
|
export declare class PopupButton extends React.Component<PopupButtonProps, BaseItemState> {
|
|
37
37
|
private _label;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PopupButton.d.ts","sourceRoot":"","sources":["../../../../src/appui-react/toolbar/PopupButton.tsx"],"names":[],"mappings":"AAIA;;GAEG;AAEH,OAAO,oBAAoB,CAAC;AAE5B,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,OAAO,EAAkB,WAAW,EAAQ,SAAS,EAAsB,MAAM,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"PopupButton.d.ts","sourceRoot":"","sources":["../../../../src/appui-react/toolbar/PopupButton.tsx"],"names":[],"mappings":"AAIA;;GAEG;AAEH,OAAO,oBAAoB,CAAC;AAE5B,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,OAAO,EAAkB,WAAW,EAAQ,SAAS,EAAsB,MAAM,mBAAmB,CAAC;AAErG,OAAO,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AACtD,OAAO,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAchD;;;GAGG;AACH,MAAM,WAAW,iCAAiC;IAChD,UAAU,EAAE,MAAM,IAAI,CAAC;CACxB;AAED;;;GAGG;AACH,oBAAY,6BAA6B,GAAG,CAAC,IAAI,EAAE,iCAAiC,KAAK,KAAK,CAAC,SAAS,CAAC;AAEzG;;;GAGG;AACH,MAAM,WAAW,gBAAiB,SAAQ,SAAS,EAAE,WAAW;IAC9D,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,GAAG,6BAA6B,CAAC;IAC3D,UAAU,CAAC,EAAE,CAAC,MAAM,EAAE,OAAO,KAAK,IAAI,CAAC;IACvC,WAAW,CAAC,EAAE,CAAC,IAAI,EAAE,SAAS,KAAK,IAAI,CAAC;IACxC,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB;AAQD;;;;GAIG;AACH,qBAAa,WAAY,SAAQ,KAAK,CAAC,SAAS,CAAC,gBAAgB,EAAE,aAAa,CAAC;IAC/E,OAAO,CAAC,MAAM,CAAsD;IACpE,OAAO,CAAC,oBAAoB,CAAS;IACrC,OAAO,CAAC,mBAAmB,CAAQ;IACnC,OAAO,CAAC,IAAI,CAAqC;IACjD,OAAO,CAAC,UAAU,CAAS;gBAEf,KAAK,EAAE,gBAAgB;IAiBnC,IAAW,KAAK,IAAI,MAAM,CAEzB;IAED,0CAA0C;IACnC,QAAQ,aAKb;IAEF,OAAO,CAAC,kBAAkB,CAsBxB;IAEc,iBAAiB;IAMjB,oBAAoB;IAOpC,OAAO,CAAC,2BAA2B,CAIjC;IAEF,OAAO,CAAC,cAAc,CAMpB;IAEF,0BAA0B;IACV,MAAM;IAkCtB,qCAAqC;IACrC,OAAO,CAAC,kBAAkB;IAqB1B,OAAO,CAAC,YAAY,CAiBlB;IAEF,OAAO,CAAC,mBAAmB,CAEzB;CACH"}
|
|
@@ -11,12 +11,11 @@ import * as React from "react";
|
|
|
11
11
|
import { ConditionalBooleanValue, SpecialKey } from "@itwin/appui-abstract";
|
|
12
12
|
import { BadgeUtilities, Icon, withOnOutsideClick } from "@itwin/core-react";
|
|
13
13
|
import { ExpandableItem, Item } from "@itwin/appui-layout-react";
|
|
14
|
-
import { FrontstageManager } from "../frontstage/FrontstageManager";
|
|
15
|
-
import { KeyboardShortcutManager } from "../keyboardshortcut/KeyboardShortcut";
|
|
16
14
|
import { SyncUiEventDispatcher } from "../syncui/SyncUiEventDispatcher";
|
|
17
15
|
import { UiFramework } from "../UiFramework";
|
|
18
16
|
import { PropsHelper } from "../utils/PropsHelper";
|
|
19
17
|
import { ToolbarDragInteractionContext } from "./DragInteraction";
|
|
18
|
+
import { InternalFrontstageManager } from "../frontstage/InternalFrontstageManager";
|
|
20
19
|
/* eslint-disable deprecation/deprecation */
|
|
21
20
|
// cSpell:ignore popupbutton
|
|
22
21
|
// eslint-disable-next-line @typescript-eslint/naming-convention
|
|
@@ -29,7 +28,7 @@ const isFunction = (node) => {
|
|
|
29
28
|
/**
|
|
30
29
|
* Used to provide custom popup button in toolbar.
|
|
31
30
|
* @public
|
|
32
|
-
* @deprecated
|
|
31
|
+
* @deprecated in 2.x. Use PopupItem in ToolbarWithOverflow or popupPanelNode in CustomItemDef
|
|
33
32
|
*/
|
|
34
33
|
export class PopupButton extends React.Component {
|
|
35
34
|
constructor(props) {
|
|
@@ -76,7 +75,7 @@ export class PopupButton extends React.Component {
|
|
|
76
75
|
// istanbul ignore next
|
|
77
76
|
if (e.key === SpecialKey.Escape) {
|
|
78
77
|
this.minimize();
|
|
79
|
-
|
|
78
|
+
UiFramework.keyboardShortcuts.setFocusToHome();
|
|
80
79
|
}
|
|
81
80
|
};
|
|
82
81
|
this._handleClick = () => {
|
|
@@ -90,7 +89,7 @@ export class PopupButton extends React.Component {
|
|
|
90
89
|
}, () => {
|
|
91
90
|
const expand = !!this.state.isPressed;
|
|
92
91
|
this._closeOnPanelOpened = false;
|
|
93
|
-
expand &&
|
|
92
|
+
expand && InternalFrontstageManager.onToolPanelOpenedEvent.emit();
|
|
94
93
|
this._closeOnPanelOpened = true;
|
|
95
94
|
this.props.onExpanded && this.props.onExpanded(expand);
|
|
96
95
|
});
|
|
@@ -116,13 +115,13 @@ export class PopupButton extends React.Component {
|
|
|
116
115
|
componentDidMount() {
|
|
117
116
|
this._isMounted = true;
|
|
118
117
|
SyncUiEventDispatcher.onSyncUiEvent.addListener(this._handleSyncUiEvent);
|
|
119
|
-
|
|
118
|
+
InternalFrontstageManager.onToolPanelOpenedEvent.addListener(this._handleToolPanelOpenedEvent);
|
|
120
119
|
}
|
|
121
120
|
componentWillUnmount() {
|
|
122
121
|
this._isMounted = false;
|
|
123
122
|
this._componentUnmounting = true;
|
|
124
123
|
SyncUiEventDispatcher.onSyncUiEvent.removeListener(this._handleSyncUiEvent);
|
|
125
|
-
|
|
124
|
+
InternalFrontstageManager.onToolPanelOpenedEvent.addListener(this._handleToolPanelOpenedEvent);
|
|
126
125
|
}
|
|
127
126
|
/** Renders PopupButton */
|
|
128
127
|
render() {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PopupButton.js","sourceRoot":"","sources":["../../../../src/appui-react/toolbar/PopupButton.tsx"],"names":[],"mappings":"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","sourcesContent":["/*---------------------------------------------------------------------------------------------\r\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\r\n* See LICENSE.md in the project root for license terms and full copyright notice.\r\n*--------------------------------------------------------------------------------------------*/\r\n/** @packageDocumentation\r\n * @module Item\r\n */\r\n\r\nimport \"./PopupButton.scss\";\r\nimport classnames from \"classnames\";\r\nimport * as React from \"react\";\r\nimport { ConditionalBooleanValue, ConditionalStringValue, SpecialKey, StringGetter } from \"@itwin/appui-abstract\";\r\nimport { BadgeUtilities, CommonProps, Icon, SizeProps, withOnOutsideClick } from \"@itwin/core-react\";\r\nimport { ExpandableItem, Item } from \"@itwin/appui-layout-react\";\r\nimport { FrontstageManager } from \"../frontstage/FrontstageManager\";\r\nimport { KeyboardShortcutManager } from \"../keyboardshortcut/KeyboardShortcut\";\r\nimport { BaseItemState } from \"../shared/ItemDefBase\";\r\nimport { ItemProps } from \"../shared/ItemProps\";\r\nimport { SyncUiEventArgs, SyncUiEventDispatcher } from \"../syncui/SyncUiEventDispatcher\";\r\nimport { UiFramework } from \"../UiFramework\";\r\nimport { PropsHelper } from \"../utils/PropsHelper\";\r\nimport { ToolbarDragInteractionContext } from \"./DragInteraction\";\r\n\r\n/* eslint-disable deprecation/deprecation */\r\n\r\n// cSpell:ignore popupbutton\r\n\r\n// eslint-disable-next-line @typescript-eslint/naming-convention\r\nconst DivWithOnOutsideClick = withOnOutsideClick((props: React.HTMLProps<HTMLDivElement>) => (<div {...props} />), undefined, true);\r\n\r\n/** Arguments of [[PopupButtonChildrenRenderProp]].\r\n * @public\r\n * @deprecated use PopupItem in ToolbarWithOverflow or popupPanelNode in CustomItemDef\r\n */\r\nexport interface PopupButtonChildrenRenderPropArgs {\r\n closePanel: () => void;\r\n}\r\n\r\n/** Type of [[PopupButtonProps.children]] when used as render prop.\r\n * @public\r\n * @deprecated use PopupItem in ToolbarWithOverflow or popupPanelNode in CustomItemDef\r\n */\r\nexport type PopupButtonChildrenRenderProp = (args: PopupButtonChildrenRenderPropArgs) => React.ReactNode;\r\n\r\n/** Properties for the [[PopupButton]] React component\r\n * @public\r\n * @deprecated use PopupItem in ToolbarWithOverflow or popupPanelNode in CustomItemDef\r\n */\r\nexport interface PopupButtonProps extends ItemProps, CommonProps {\r\n children?: React.ReactNode | PopupButtonChildrenRenderProp;\r\n onExpanded?: (expand: boolean) => void;\r\n onSizeKnown?: (size: SizeProps) => void;\r\n noPadding?: boolean;\r\n}\r\n\r\nconst isFunction = <T extends (...args: any) => any>(node: React.ReactNode): node is T => {\r\n if (typeof node === \"function\")\r\n return true;\r\n return false;\r\n};\r\n\r\n/**\r\n * Used to provide custom popup button in toolbar.\r\n * @public\r\n * @deprecated use PopupItem in ToolbarWithOverflow or popupPanelNode in CustomItemDef\r\n */\r\nexport class PopupButton extends React.Component<PopupButtonProps, BaseItemState> {\r\n private _label: string | StringGetter | ConditionalStringValue = \"\";\r\n private _componentUnmounting = false;\r\n private _closeOnPanelOpened = true;\r\n private _ref = React.createRef<HTMLDivElement>();\r\n private _isMounted = false;\r\n\r\n constructor(props: PopupButtonProps) {\r\n super(props);\r\n\r\n if (props.label)\r\n this._label = props.label;\r\n // istanbul ignore else\r\n else if (props.labelKey)\r\n this._label = UiFramework.localization.getLocalizedString(props.labelKey);\r\n\r\n this.state = {\r\n isVisible: undefined !== props.isVisible ? props.isVisible : true, // eslint-disable-line deprecation/deprecation\r\n isEnabled: undefined !== props.isEnabled ? props.isEnabled : true, // eslint-disable-line deprecation/deprecation\r\n isActive: undefined !== props.isActive ? props.isActive : false,\r\n isPressed: undefined !== props.isPressed ? props.isPressed : false,\r\n };\r\n }\r\n\r\n public get label(): string {\r\n return PropsHelper.getStringFromSpec(this._label);\r\n }\r\n\r\n /** Minimizes the expandable component. */\r\n public minimize = () => {\r\n if (this._isMounted)\r\n this.setState({\r\n isPressed: false,\r\n });\r\n };\r\n\r\n private _handleSyncUiEvent = (args: SyncUiEventArgs): void => {\r\n // istanbul ignore if\r\n if (this._componentUnmounting) return;\r\n\r\n let refreshState = false;\r\n let newState: BaseItemState = { ...this.state };\r\n\r\n // istanbul ignore else\r\n if (this.props.stateSyncIds && this.props.stateSyncIds.length > 0) // eslint-disable-line deprecation/deprecation\r\n refreshState = this.props.stateSyncIds.some((value: string): boolean => args.eventIds.has(value.toLowerCase())); // eslint-disable-line deprecation/deprecation\r\n\r\n // istanbul ignore else\r\n if (refreshState) {\r\n // istanbul ignore else\r\n if (this.props.stateFunc) // eslint-disable-line deprecation/deprecation\r\n newState = this.props.stateFunc(newState); // eslint-disable-line deprecation/deprecation\r\n // istanbul ignore next\r\n if ((this.state.isActive !== newState.isActive) || (this.state.isEnabled !== newState.isEnabled) || (this.state.isVisible !== newState.isVisible)) {\r\n if (this._isMounted)\r\n this.setState({ isActive: newState.isActive, isEnabled: newState.isEnabled, isVisible: newState.isVisible });\r\n }\r\n }\r\n };\r\n\r\n public override componentDidMount() {\r\n this._isMounted = true;\r\n SyncUiEventDispatcher.onSyncUiEvent.addListener(this._handleSyncUiEvent);\r\n FrontstageManager.onToolPanelOpenedEvent.addListener(this._handleToolPanelOpenedEvent);\r\n }\r\n\r\n public override componentWillUnmount() {\r\n this._isMounted = false;\r\n this._componentUnmounting = true;\r\n SyncUiEventDispatcher.onSyncUiEvent.removeListener(this._handleSyncUiEvent);\r\n FrontstageManager.onToolPanelOpenedEvent.addListener(this._handleToolPanelOpenedEvent);\r\n }\r\n\r\n private _handleToolPanelOpenedEvent = () => {\r\n if (!this._closeOnPanelOpened)\r\n return;\r\n this.minimize();\r\n };\r\n\r\n private _handleKeyDown = (e: React.KeyboardEvent): void => {\r\n // istanbul ignore next\r\n if (e.key === SpecialKey.Escape) {\r\n this.minimize();\r\n KeyboardShortcutManager.setFocusToHome();\r\n }\r\n };\r\n\r\n /** Renders PopupButton */\r\n public override render() {\r\n if (!this.state.isVisible)\r\n return null;\r\n\r\n const icon = <Icon iconSpec={this.props.iconSpec} />;\r\n const badge = BadgeUtilities.getComponentForBadgeType(this.props.badgeType);\r\n const { isDisabled, ...otherProps } = this.props;\r\n return (\r\n <ToolbarDragInteractionContext.Consumer>\r\n {(isDragEnabled) => {\r\n return (\r\n <ExpandableItem\r\n {...otherProps}\r\n isDisabled={ConditionalBooleanValue.getValue(isDisabled)}\r\n hideIndicator={isDragEnabled}\r\n panel={this.getExpandedContent()}\r\n >\r\n <div ref={this._ref}>\r\n <Item\r\n badge={badge}\r\n icon={icon}\r\n onKeyDown={this._handleKeyDown}\r\n onClick={this._handleClick}\r\n onSizeKnown={this.props.onSizeKnown}\r\n title={this.label}\r\n />\r\n </div>\r\n </ExpandableItem>\r\n );\r\n }}\r\n </ToolbarDragInteractionContext.Consumer>\r\n );\r\n }\r\n\r\n /** Returns expanded content panel */\r\n private getExpandedContent(): React.ReactNode {\r\n if (!this.state.isPressed)\r\n return undefined;\r\n\r\n const classNames = classnames(\r\n \"nz-toolbar-item-expandable-group-panel\",\r\n this.props.noPadding && \"uifw-popupbutton-noPadding\",\r\n );\r\n\r\n return (\r\n <DivWithOnOutsideClick\r\n className={classNames}\r\n onOutsideClick={this._handleOutsideClick}\r\n >\r\n {isFunction<PopupButtonChildrenRenderProp>(this.props.children) ? this.props.children({\r\n closePanel: this.minimize,\r\n }) : this.props.children}\r\n </DivWithOnOutsideClick>\r\n );\r\n }\r\n\r\n private _handleClick = () => {\r\n // istanbul ignore else\r\n if (this._isMounted)\r\n this.setState((prevState) => {\r\n const isPressed = !prevState.isPressed;\r\n return {\r\n isPressed,\r\n };\r\n }, () => {\r\n const expand = !!this.state.isPressed;\r\n\r\n this._closeOnPanelOpened = false;\r\n expand && FrontstageManager.onToolPanelOpenedEvent.emit();\r\n this._closeOnPanelOpened = true;\r\n\r\n this.props.onExpanded && this.props.onExpanded(expand);\r\n });\r\n };\r\n\r\n private _handleOutsideClick = (e: MouseEvent) => {\r\n this._ref.current && (e.target instanceof Node) && !this._ref.current.contains(e.target) && this.minimize();\r\n };\r\n}\r\n"]}
|
|
1
|
+
{"version":3,"file":"PopupButton.js","sourceRoot":"","sources":["../../../../src/appui-react/toolbar/PopupButton.tsx"],"names":[],"mappings":"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","sourcesContent":["/*---------------------------------------------------------------------------------------------\r\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\r\n* See LICENSE.md in the project root for license terms and full copyright notice.\r\n*--------------------------------------------------------------------------------------------*/\r\n/** @packageDocumentation\r\n * @module Item\r\n */\r\n\r\nimport \"./PopupButton.scss\";\r\nimport classnames from \"classnames\";\r\nimport * as React from \"react\";\r\nimport { ConditionalBooleanValue, ConditionalStringValue, SpecialKey, StringGetter } from \"@itwin/appui-abstract\";\r\nimport { BadgeUtilities, CommonProps, Icon, SizeProps, withOnOutsideClick } from \"@itwin/core-react\";\r\nimport { ExpandableItem, Item } from \"@itwin/appui-layout-react\";\r\nimport { BaseItemState } from \"../shared/ItemDefBase\";\r\nimport { ItemProps } from \"../shared/ItemProps\";\r\nimport { SyncUiEventArgs, SyncUiEventDispatcher } from \"../syncui/SyncUiEventDispatcher\";\r\nimport { UiFramework } from \"../UiFramework\";\r\nimport { PropsHelper } from \"../utils/PropsHelper\";\r\nimport { ToolbarDragInteractionContext } from \"./DragInteraction\";\r\nimport { InternalFrontstageManager } from \"../frontstage/InternalFrontstageManager\";\r\n\r\n/* eslint-disable deprecation/deprecation */\r\n\r\n// cSpell:ignore popupbutton\r\n\r\n// eslint-disable-next-line @typescript-eslint/naming-convention\r\nconst DivWithOnOutsideClick = withOnOutsideClick((props: React.HTMLProps<HTMLDivElement>) => (<div {...props} />), undefined, true);\r\n\r\n/** Arguments of [[PopupButtonChildrenRenderProp]].\r\n * @public\r\n * @deprecated in 2.x. Use PopupItem in ToolbarWithOverflow or popupPanelNode in CustomItemDef\r\n */\r\nexport interface PopupButtonChildrenRenderPropArgs {\r\n closePanel: () => void;\r\n}\r\n\r\n/** Type of [[PopupButtonProps.children]] when used as render prop.\r\n * @public\r\n * @deprecated in 2.x. Use PopupItem in ToolbarWithOverflow or popupPanelNode in CustomItemDef\r\n */\r\nexport type PopupButtonChildrenRenderProp = (args: PopupButtonChildrenRenderPropArgs) => React.ReactNode;\r\n\r\n/** Properties for the [[PopupButton]] React component\r\n * @public\r\n * @deprecated in 2.x. Use PopupItem in ToolbarWithOverflow or popupPanelNode in CustomItemDef\r\n */\r\nexport interface PopupButtonProps extends ItemProps, CommonProps {\r\n children?: React.ReactNode | PopupButtonChildrenRenderProp;\r\n onExpanded?: (expand: boolean) => void;\r\n onSizeKnown?: (size: SizeProps) => void;\r\n noPadding?: boolean;\r\n}\r\n\r\nconst isFunction = <T extends (...args: any) => any>(node: React.ReactNode): node is T => {\r\n if (typeof node === \"function\")\r\n return true;\r\n return false;\r\n};\r\n\r\n/**\r\n * Used to provide custom popup button in toolbar.\r\n * @public\r\n * @deprecated in 2.x. Use PopupItem in ToolbarWithOverflow or popupPanelNode in CustomItemDef\r\n */\r\nexport class PopupButton extends React.Component<PopupButtonProps, BaseItemState> {\r\n private _label: string | StringGetter | ConditionalStringValue = \"\";\r\n private _componentUnmounting = false;\r\n private _closeOnPanelOpened = true;\r\n private _ref = React.createRef<HTMLDivElement>();\r\n private _isMounted = false;\r\n\r\n constructor(props: PopupButtonProps) {\r\n super(props);\r\n\r\n if (props.label)\r\n this._label = props.label;\r\n // istanbul ignore else\r\n else if (props.labelKey)\r\n this._label = UiFramework.localization.getLocalizedString(props.labelKey);\r\n\r\n this.state = {\r\n isVisible: undefined !== props.isVisible ? props.isVisible : true, // eslint-disable-line deprecation/deprecation\r\n isEnabled: undefined !== props.isEnabled ? props.isEnabled : true, // eslint-disable-line deprecation/deprecation\r\n isActive: undefined !== props.isActive ? props.isActive : false,\r\n isPressed: undefined !== props.isPressed ? props.isPressed : false,\r\n };\r\n }\r\n\r\n public get label(): string {\r\n return PropsHelper.getStringFromSpec(this._label);\r\n }\r\n\r\n /** Minimizes the expandable component. */\r\n public minimize = () => {\r\n if (this._isMounted)\r\n this.setState({\r\n isPressed: false,\r\n });\r\n };\r\n\r\n private _handleSyncUiEvent = (args: SyncUiEventArgs): void => {\r\n // istanbul ignore if\r\n if (this._componentUnmounting) return;\r\n\r\n let refreshState = false;\r\n let newState: BaseItemState = { ...this.state };\r\n\r\n // istanbul ignore else\r\n if (this.props.stateSyncIds && this.props.stateSyncIds.length > 0) // eslint-disable-line deprecation/deprecation\r\n refreshState = this.props.stateSyncIds.some((value: string): boolean => args.eventIds.has(value.toLowerCase())); // eslint-disable-line deprecation/deprecation\r\n\r\n // istanbul ignore else\r\n if (refreshState) {\r\n // istanbul ignore else\r\n if (this.props.stateFunc) // eslint-disable-line deprecation/deprecation\r\n newState = this.props.stateFunc(newState); // eslint-disable-line deprecation/deprecation\r\n // istanbul ignore next\r\n if ((this.state.isActive !== newState.isActive) || (this.state.isEnabled !== newState.isEnabled) || (this.state.isVisible !== newState.isVisible)) {\r\n if (this._isMounted)\r\n this.setState({ isActive: newState.isActive, isEnabled: newState.isEnabled, isVisible: newState.isVisible });\r\n }\r\n }\r\n };\r\n\r\n public override componentDidMount() {\r\n this._isMounted = true;\r\n SyncUiEventDispatcher.onSyncUiEvent.addListener(this._handleSyncUiEvent);\r\n InternalFrontstageManager.onToolPanelOpenedEvent.addListener(this._handleToolPanelOpenedEvent);\r\n }\r\n\r\n public override componentWillUnmount() {\r\n this._isMounted = false;\r\n this._componentUnmounting = true;\r\n SyncUiEventDispatcher.onSyncUiEvent.removeListener(this._handleSyncUiEvent);\r\n InternalFrontstageManager.onToolPanelOpenedEvent.addListener(this._handleToolPanelOpenedEvent);\r\n }\r\n\r\n private _handleToolPanelOpenedEvent = () => {\r\n if (!this._closeOnPanelOpened)\r\n return;\r\n this.minimize();\r\n };\r\n\r\n private _handleKeyDown = (e: React.KeyboardEvent): void => {\r\n // istanbul ignore next\r\n if (e.key === SpecialKey.Escape) {\r\n this.minimize();\r\n UiFramework.keyboardShortcuts.setFocusToHome();\r\n }\r\n };\r\n\r\n /** Renders PopupButton */\r\n public override render() {\r\n if (!this.state.isVisible)\r\n return null;\r\n\r\n const icon = <Icon iconSpec={this.props.iconSpec} />;\r\n const badge = BadgeUtilities.getComponentForBadgeType(this.props.badgeType);\r\n const { isDisabled, ...otherProps } = this.props;\r\n return (\r\n <ToolbarDragInteractionContext.Consumer>\r\n {(isDragEnabled) => {\r\n return (\r\n <ExpandableItem\r\n {...otherProps}\r\n isDisabled={ConditionalBooleanValue.getValue(isDisabled)}\r\n hideIndicator={isDragEnabled}\r\n panel={this.getExpandedContent()}\r\n >\r\n <div ref={this._ref}>\r\n <Item\r\n badge={badge}\r\n icon={icon}\r\n onKeyDown={this._handleKeyDown}\r\n onClick={this._handleClick}\r\n onSizeKnown={this.props.onSizeKnown}\r\n title={this.label}\r\n />\r\n </div>\r\n </ExpandableItem>\r\n );\r\n }}\r\n </ToolbarDragInteractionContext.Consumer>\r\n );\r\n }\r\n\r\n /** Returns expanded content panel */\r\n private getExpandedContent(): React.ReactNode {\r\n if (!this.state.isPressed)\r\n return undefined;\r\n\r\n const classNames = classnames(\r\n \"nz-toolbar-item-expandable-group-panel\",\r\n this.props.noPadding && \"uifw-popupbutton-noPadding\",\r\n );\r\n\r\n return (\r\n <DivWithOnOutsideClick\r\n className={classNames}\r\n onOutsideClick={this._handleOutsideClick}\r\n >\r\n {isFunction<PopupButtonChildrenRenderProp>(this.props.children) ? this.props.children({\r\n closePanel: this.minimize,\r\n }) : this.props.children}\r\n </DivWithOnOutsideClick>\r\n );\r\n }\r\n\r\n private _handleClick = () => {\r\n // istanbul ignore else\r\n if (this._isMounted)\r\n this.setState((prevState) => {\r\n const isPressed = !prevState.isPressed;\r\n return {\r\n isPressed,\r\n };\r\n }, () => {\r\n const expand = !!this.state.isPressed;\r\n\r\n this._closeOnPanelOpened = false;\r\n expand && InternalFrontstageManager.onToolPanelOpenedEvent.emit();\r\n this._closeOnPanelOpened = true;\r\n\r\n this.props.onExpanded && this.props.onExpanded(expand);\r\n });\r\n };\r\n\r\n private _handleOutsideClick = (e: MouseEvent) => {\r\n this._ref.current && (e.target instanceof Node) && !this._ref.current.contains(e.target) && this.minimize();\r\n };\r\n}\r\n"]}
|
|
@@ -6,13 +6,13 @@ import { CommonProps } from "@itwin/core-react";
|
|
|
6
6
|
import { BaseItemState } from "../shared/ItemDefBase";
|
|
7
7
|
import { ToolItemProps } from "../shared/ItemProps";
|
|
8
8
|
/** Properties for the [[ToolButton]] React Component.
|
|
9
|
-
* @deprecated Props of a deprecated component.
|
|
9
|
+
* @deprecated in 3.5. Props of a deprecated component.
|
|
10
10
|
* @public
|
|
11
11
|
*/
|
|
12
12
|
export interface ToolButtonProps extends ToolItemProps, CommonProps {
|
|
13
13
|
}
|
|
14
14
|
/** Tool Button React Component.
|
|
15
|
-
* @deprecated Use [CommonToolbarItem]($appui-abstract) instead.
|
|
15
|
+
* @deprecated in 3.5. Use [CommonToolbarItem]($appui-abstract) instead.
|
|
16
16
|
* @public
|
|
17
17
|
*/
|
|
18
18
|
export declare class ToolButton extends React.Component<ToolButtonProps, BaseItemState> {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ToolButton.d.ts","sourceRoot":"","sources":["../../../../src/appui-react/toolbar/ToolButton.tsx"],"names":[],"mappings":"AAIA;;GAEG;AAEH,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAG/B,OAAO,EAAkB,WAAW,EAAQ,MAAM,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"ToolButton.d.ts","sourceRoot":"","sources":["../../../../src/appui-react/toolbar/ToolButton.tsx"],"names":[],"mappings":"AAIA;;GAEG;AAEH,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAG/B,OAAO,EAAkB,WAAW,EAAQ,MAAM,mBAAmB,CAAC;AAEtE,OAAO,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AACtD,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAMpD;;;GAGG;AACH,MAAM,WAAW,eAAgB,SAAQ,aAAa,EAAE,WAAW;CAAI;AAEvE;;;GAGG;AACH,qBAAa,UAAW,SAAQ,KAAK,CAAC,SAAS,CAAC,eAAe,EAAE,aAAa,CAAC;IAC7E,OAAO,CAAC,oBAAoB,CAAS;IACrC,OAAO,CAAC,MAAM,CAAsD;IAEpE,gBAAgB;IAChB,SAAyB,KAAK,EAAE,QAAQ,CAAC,aAAa,CAAC,CAAC;gBAE5C,KAAK,EAAE,aAAa;IAgBhC,OAAO,CAAC,kBAAkB,CA+BxB;IAEc,iBAAiB;IAIjB,oBAAoB;IAKpC,OAAO,CAAC,QAAQ,CASd;IAEF,IAAW,KAAK,IAAI,MAAM,CAEzB;IAEe,MAAM,IAAI,KAAK,CAAC,SAAS;CAwB1C"}
|
|
@@ -9,13 +9,12 @@ import * as React from "react";
|
|
|
9
9
|
import { IModelApp } from "@itwin/core-frontend";
|
|
10
10
|
import { BadgeUtilities, Icon } from "@itwin/core-react";
|
|
11
11
|
import { getToolbarItemProps, Item } from "@itwin/appui-layout-react";
|
|
12
|
-
import { FrontstageManager } from "../frontstage/FrontstageManager";
|
|
13
12
|
import { SyncUiEventDispatcher, SyncUiEventId } from "../syncui/SyncUiEventDispatcher";
|
|
14
13
|
import { UiFramework } from "../UiFramework";
|
|
15
14
|
import { PropsHelper } from "../utils/PropsHelper";
|
|
16
15
|
import { onEscapeSetFocusToHome } from "../hooks/useEscapeSetFocusToHome";
|
|
17
16
|
/** Tool Button React Component.
|
|
18
|
-
* @deprecated Use [CommonToolbarItem]($appui-abstract) instead.
|
|
17
|
+
* @deprecated in 3.5. Use [CommonToolbarItem]($appui-abstract) instead.
|
|
19
18
|
* @public
|
|
20
19
|
*/
|
|
21
20
|
export class ToolButton extends React.Component {
|
|
@@ -31,7 +30,7 @@ export class ToolButton extends React.Component {
|
|
|
31
30
|
let newState = { ...this.state };
|
|
32
31
|
// since this is a tool button automatically monitor the activation of tools so the active state of the button is updated.
|
|
33
32
|
if (args.eventIds.has(SyncUiEventId.ToolActivated)) {
|
|
34
|
-
newState.isActive = this.props.toolId ===
|
|
33
|
+
newState.isActive = this.props.toolId === UiFramework.frontstages.activeToolId;
|
|
35
34
|
refreshState = true;
|
|
36
35
|
}
|
|
37
36
|
if (!refreshState && this.props.stateSyncIds && this.props.stateSyncIds.length > 0) // eslint-disable-line deprecation/deprecation
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ToolButton.js","sourceRoot":"","sources":["../../../../src/appui-react/toolbar/ToolButton.tsx"],"names":[],"mappings":"AAAA;;;+FAG+F;AAC/F;;GAEG;AAEH,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EAAE,SAAS,EAAQ,MAAM,sBAAsB,CAAC;AAEvD,OAAO,EAAE,cAAc,EAAe,IAAI,EAAE,MAAM,mBAAmB,CAAC;AACtE,OAAO,EAAE,mBAAmB,EAAE,IAAI,EAAE,MAAM,2BAA2B,CAAC;
|
|
1
|
+
{"version":3,"file":"ToolButton.js","sourceRoot":"","sources":["../../../../src/appui-react/toolbar/ToolButton.tsx"],"names":[],"mappings":"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","sourcesContent":["/*---------------------------------------------------------------------------------------------\r\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\r\n* See LICENSE.md in the project root for license terms and full copyright notice.\r\n*--------------------------------------------------------------------------------------------*/\r\n/** @packageDocumentation\r\n * @module Item\r\n */\r\n\r\nimport * as React from \"react\";\r\nimport { IModelApp, Tool } from \"@itwin/core-frontend\";\r\nimport { ConditionalStringValue, StringGetter, UiSyncEventArgs } from \"@itwin/appui-abstract\";\r\nimport { BadgeUtilities, CommonProps, Icon } from \"@itwin/core-react\";\r\nimport { getToolbarItemProps, Item } from \"@itwin/appui-layout-react\";\r\nimport { BaseItemState } from \"../shared/ItemDefBase\";\r\nimport { ToolItemProps } from \"../shared/ItemProps\";\r\nimport { SyncUiEventDispatcher, SyncUiEventId } from \"../syncui/SyncUiEventDispatcher\";\r\nimport { UiFramework } from \"../UiFramework\";\r\nimport { PropsHelper } from \"../utils/PropsHelper\";\r\nimport { onEscapeSetFocusToHome } from \"../hooks/useEscapeSetFocusToHome\";\r\n\r\n/** Properties for the [[ToolButton]] React Component.\r\n * @deprecated in 3.5. Props of a deprecated component.\r\n * @public\r\n */\r\nexport interface ToolButtonProps extends ToolItemProps, CommonProps { }\r\n\r\n/** Tool Button React Component.\r\n * @deprecated in 3.5. Use [CommonToolbarItem]($appui-abstract) instead.\r\n * @public\r\n */\r\nexport class ToolButton extends React.Component<ToolButtonProps, BaseItemState> { // eslint-disable-line deprecation/deprecation\r\n private _componentUnmounting = false;\r\n private _label: string | StringGetter | ConditionalStringValue = \"\";\r\n\r\n /** @internal */\r\n public override readonly state: Readonly<BaseItemState>;\r\n\r\n constructor(props: ToolItemProps) {\r\n super(props);\r\n\r\n if (props.label)\r\n this._label = props.label;\r\n else if (props.labelKey)\r\n this._label = UiFramework.localization.getLocalizedString(props.labelKey);\r\n\r\n this.state = {\r\n isVisible: undefined !== props.isVisible ? props.isVisible : true, // eslint-disable-line deprecation/deprecation\r\n isEnabled: undefined !== props.isEnabled ? props.isEnabled : true, // eslint-disable-line deprecation/deprecation\r\n isActive: undefined !== props.isActive ? props.isActive : false,\r\n isPressed: undefined !== props.isPressed ? props.isPressed : false,\r\n };\r\n }\r\n\r\n private _handleSyncUiEvent = (args: UiSyncEventArgs): void => {\r\n // istanbul ignore if\r\n if (this._componentUnmounting) return;\r\n\r\n let refreshState = false;\r\n let newState: BaseItemState = { ...this.state };\r\n\r\n // since this is a tool button automatically monitor the activation of tools so the active state of the button is updated.\r\n if (args.eventIds.has(SyncUiEventId.ToolActivated)) {\r\n newState.isActive = this.props.toolId === UiFramework.frontstages.activeToolId;\r\n refreshState = true;\r\n }\r\n\r\n if (!refreshState && this.props.stateSyncIds && this.props.stateSyncIds.length > 0) // eslint-disable-line deprecation/deprecation\r\n refreshState = this.props.stateSyncIds.some((value: string): boolean => args.eventIds.has(value.toLowerCase())); // eslint-disable-line deprecation/deprecation\r\n\r\n if (refreshState) {\r\n if (this.props.stateFunc) // eslint-disable-line deprecation/deprecation\r\n newState = this.props.stateFunc(newState); // eslint-disable-line deprecation/deprecation\r\n\r\n // istanbul ignore next\r\n if ((this.state.isActive !== newState.isActive) ||\r\n ( /* istanbul ignore next */ this.state.isEnabled !== newState.isEnabled) ||\r\n ( /* istanbul ignore next */ this.state.isVisible !== newState.isVisible)) {\r\n this.setState({\r\n isActive: newState.isActive,\r\n isEnabled: newState.isEnabled,\r\n isVisible: newState.isVisible,\r\n });\r\n }\r\n }\r\n };\r\n\r\n public override componentDidMount() {\r\n SyncUiEventDispatcher.onSyncUiEvent.addListener(this._handleSyncUiEvent);\r\n }\r\n\r\n public override componentWillUnmount() {\r\n this._componentUnmounting = true;\r\n SyncUiEventDispatcher.onSyncUiEvent.removeListener(this._handleSyncUiEvent);\r\n }\r\n\r\n private _execute = async () => {\r\n if (this.props.execute) {\r\n this.props.execute();\r\n } else {\r\n const thisTool: typeof Tool | undefined = IModelApp.tools.find(this.props.toolId);\r\n // istanbul ignore next\r\n if (thisTool)\r\n await (new thisTool()).run();\r\n }\r\n };\r\n\r\n public get label(): string {\r\n return PropsHelper.getStringFromSpec(this._label);\r\n }\r\n\r\n public override render(): React.ReactNode {\r\n if (!this.state.isVisible)\r\n return null;\r\n\r\n const icon = <Icon iconSpec={this.props.iconSpec} />;\r\n const toolbarItemProps = getToolbarItemProps(this.props);\r\n const badge = BadgeUtilities.getComponentForBadgeType(this.props.badgeType);\r\n\r\n return (\r\n <Item // eslint-disable-line deprecation/deprecation\r\n {...toolbarItemProps}\r\n className={this.props.className}\r\n style={this.props.style}\r\n isActive={this.state.isActive}\r\n isDisabled={!this.state.isEnabled}\r\n title={this.label}\r\n key={this.props.toolId}\r\n onClick={this._execute}\r\n onKeyDown={onEscapeSetFocusToHome}\r\n icon={icon}\r\n badge={badge}\r\n />\r\n );\r\n }\r\n}\r\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ToolbarComposer.d.ts","sourceRoot":"","sources":["../../../../src/appui-react/toolbar/ToolbarComposer.tsx"],"names":[],"mappings":"AAIA;;GAEG;;AAIH,OAAO,EACS,iBAAiB,EAAmF,kBAAkB,EAAE,YAAY,EACnJ,MAAM,uBAAuB,CAAC;
|
|
1
|
+
{"version":3,"file":"ToolbarComposer.d.ts","sourceRoot":"","sources":["../../../../src/appui-react/toolbar/ToolbarComposer.tsx"],"names":[],"mappings":"AAIA;;GAEG;;AAIH,OAAO,EACS,iBAAiB,EAAmF,kBAAkB,EAAE,YAAY,EACnJ,MAAM,uBAAuB,CAAC;AAyN/B;;GAEG;AACH,MAAM,WAAW,sBAAsB;IACrC,KAAK,EAAE,iBAAiB,EAAE,CAAC;IAC3B,KAAK,EAAE,YAAY,CAAC;IACpB,2BAA2B;IAC3B,WAAW,EAAE,kBAAkB,CAAC;CACjC;AAED;;;GAGG;AACH,wBAAgB,eAAe,CAAC,KAAK,EAAE,sBAAsB,eA+C5D"}
|