@itwin/appui-react 4.16.4 → 4.17.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +32 -1
- package/lib/cjs/appui-react/UiFramework.d.ts +5 -0
- package/lib/cjs/appui-react/UiFramework.d.ts.map +1 -1
- package/lib/cjs/appui-react/UiFramework.js +5 -0
- package/lib/cjs/appui-react/UiFramework.js.map +1 -1
- package/lib/cjs/appui-react/accudraw/AccuDrawDialog.d.ts +1 -0
- package/lib/cjs/appui-react/accudraw/AccuDrawDialog.d.ts.map +1 -1
- package/lib/cjs/appui-react/accudraw/AccuDrawDialog.js +1 -0
- package/lib/cjs/appui-react/accudraw/AccuDrawDialog.js.map +1 -1
- package/lib/cjs/appui-react/accudraw/AccuDrawFieldContainer.d.ts +1 -0
- package/lib/cjs/appui-react/accudraw/AccuDrawFieldContainer.d.ts.map +1 -1
- package/lib/cjs/appui-react/accudraw/AccuDrawFieldContainer.js +1 -0
- package/lib/cjs/appui-react/accudraw/AccuDrawFieldContainer.js.map +1 -1
- package/lib/cjs/appui-react/accudraw/AccuDrawInputField.d.ts +1 -0
- package/lib/cjs/appui-react/accudraw/AccuDrawInputField.d.ts.map +1 -1
- package/lib/cjs/appui-react/accudraw/AccuDrawInputField.js.map +1 -1
- package/lib/cjs/appui-react/backstage/BackstageComposer.d.ts +1 -0
- package/lib/cjs/appui-react/backstage/BackstageComposer.d.ts.map +1 -1
- package/lib/cjs/appui-react/backstage/BackstageComposer.js +2 -0
- package/lib/cjs/appui-react/backstage/BackstageComposer.js.map +1 -1
- package/lib/cjs/appui-react/backstage/useUiItemsProviderBackstageItems.d.ts +2 -1
- package/lib/cjs/appui-react/backstage/useUiItemsProviderBackstageItems.d.ts.map +1 -1
- package/lib/cjs/appui-react/backstage/useUiItemsProviderBackstageItems.js +2 -1
- package/lib/cjs/appui-react/backstage/useUiItemsProviderBackstageItems.js.map +1 -1
- package/lib/cjs/appui-react/childwindow/CopyStyles.d.ts.map +1 -1
- package/lib/cjs/appui-react/childwindow/CopyStyles.js +10 -5
- package/lib/cjs/appui-react/childwindow/CopyStyles.js.map +1 -1
- package/lib/cjs/appui-react/configurableui/ConfigurableUiContent.d.ts +1 -0
- package/lib/cjs/appui-react/configurableui/ConfigurableUiContent.d.ts.map +1 -1
- package/lib/cjs/appui-react/configurableui/ConfigurableUiContent.js +7 -2
- package/lib/cjs/appui-react/configurableui/ConfigurableUiContent.js.map +1 -1
- package/lib/cjs/appui-react/content/ContentGroup.d.ts +8 -4
- package/lib/cjs/appui-react/content/ContentGroup.d.ts.map +1 -1
- package/lib/cjs/appui-react/content/ContentGroup.js +1 -1
- package/lib/cjs/appui-react/content/ContentGroup.js.map +1 -1
- package/lib/cjs/appui-react/content/ContentLayout.d.ts +2 -1
- package/lib/cjs/appui-react/content/ContentLayout.d.ts.map +1 -1
- package/lib/cjs/appui-react/content/ContentLayout.js +44 -10
- package/lib/cjs/appui-react/content/ContentLayout.js.map +1 -1
- package/lib/cjs/appui-react/content/ContentLayoutProps.d.ts +63 -0
- package/lib/cjs/appui-react/content/ContentLayoutProps.d.ts.map +1 -0
- package/lib/cjs/appui-react/content/ContentLayoutProps.js +10 -0
- package/lib/cjs/appui-react/content/ContentLayoutProps.js.map +1 -0
- package/lib/cjs/appui-react/content/ContentOverlay.d.ts +4 -0
- package/lib/cjs/appui-react/content/ContentOverlay.d.ts.map +1 -1
- package/lib/cjs/appui-react/content/ContentOverlay.js +33 -1
- package/lib/cjs/appui-react/content/ContentOverlay.js.map +1 -1
- package/lib/cjs/appui-react/content/FloatingViewportContent.d.ts.map +1 -1
- package/lib/cjs/appui-react/content/FloatingViewportContent.js +1 -1
- package/lib/cjs/appui-react/content/FloatingViewportContent.js.map +1 -1
- package/lib/cjs/appui-react/content/InternalContentLayoutManager.d.ts +1 -1
- package/lib/cjs/appui-react/content/InternalContentLayoutManager.d.ts.map +1 -1
- package/lib/cjs/appui-react/content/InternalContentLayoutManager.js.map +1 -1
- package/lib/cjs/appui-react/content/InternalContentViewManager.d.ts.map +1 -1
- package/lib/cjs/appui-react/content/InternalContentViewManager.js +9 -3
- package/lib/cjs/appui-react/content/InternalContentViewManager.js.map +1 -1
- package/lib/cjs/appui-react/content/StageContentLayout.d.ts +1 -1
- package/lib/cjs/appui-react/content/StageContentLayout.d.ts.map +1 -1
- package/lib/cjs/appui-react/content/StageContentLayout.js.map +1 -1
- package/lib/cjs/appui-react/content/StandardContentLayouts.d.ts +20 -0
- package/lib/cjs/appui-react/content/StandardContentLayouts.d.ts.map +1 -0
- package/lib/cjs/appui-react/content/StandardContentLayouts.js +169 -0
- package/lib/cjs/appui-react/content/StandardContentLayouts.js.map +1 -0
- package/lib/cjs/appui-react/content/split-pane/SplitPane.d.ts +1 -0
- package/lib/cjs/appui-react/content/split-pane/SplitPane.d.ts.map +1 -1
- package/lib/cjs/appui-react/content/split-pane/SplitPane.js +1 -0
- package/lib/cjs/appui-react/content/split-pane/SplitPane.js.map +1 -1
- package/lib/cjs/appui-react/framework/FrameworkContent.d.ts +1 -1
- package/lib/cjs/appui-react/framework/FrameworkContent.d.ts.map +1 -1
- package/lib/cjs/appui-react/framework/FrameworkContent.js.map +1 -1
- package/lib/cjs/appui-react/framework/FrameworkFrontstages.d.ts +3 -0
- package/lib/cjs/appui-react/framework/FrameworkFrontstages.d.ts.map +1 -1
- package/lib/cjs/appui-react/framework/FrameworkFrontstages.js.map +1 -1
- package/lib/cjs/appui-react/frontstage/FrontstageDef.d.ts +1 -0
- package/lib/cjs/appui-react/frontstage/FrontstageDef.d.ts.map +1 -1
- package/lib/cjs/appui-react/frontstage/FrontstageDef.js +2 -1
- package/lib/cjs/appui-react/frontstage/FrontstageDef.js.map +1 -1
- package/lib/cjs/appui-react/frontstage/InternalFrontstageManager.d.ts +2 -0
- package/lib/cjs/appui-react/frontstage/InternalFrontstageManager.d.ts.map +1 -1
- package/lib/cjs/appui-react/frontstage/InternalFrontstageManager.js +5 -0
- package/lib/cjs/appui-react/frontstage/InternalFrontstageManager.js.map +1 -1
- package/lib/cjs/appui-react/hooks/useConditionalProp.d.ts +3 -3
- package/lib/cjs/appui-react/hooks/useConditionalProp.d.ts.map +1 -1
- package/lib/cjs/appui-react/hooks/useConditionalProp.js.map +1 -1
- package/lib/cjs/appui-react/hooks/useConditionalValue.d.ts +1 -1
- package/lib/cjs/appui-react/hooks/useConditionalValue.js +1 -1
- package/lib/cjs/appui-react/hooks/useConditionalValue.js.map +1 -1
- package/lib/cjs/appui-react/hooks/useUiVisibility.d.ts.map +1 -1
- package/lib/cjs/appui-react/hooks/useUiVisibility.js +1 -0
- package/lib/cjs/appui-react/hooks/useUiVisibility.js.map +1 -1
- package/lib/cjs/appui-react/layout/base/LayoutStore.d.ts +3 -1
- package/lib/cjs/appui-react/layout/base/LayoutStore.d.ts.map +1 -1
- package/lib/cjs/appui-react/layout/base/LayoutStore.js +9 -1
- package/lib/cjs/appui-react/layout/base/LayoutStore.js.map +1 -1
- package/lib/cjs/appui-react/preview/new-toolbars/ToolGroup.scss +4 -0
- package/lib/cjs/appui-react/selection/SelectionContextItemDef.d.ts.map +1 -1
- package/lib/cjs/appui-react/selection/SelectionContextItemDef.js +27 -25
- package/lib/cjs/appui-react/selection/SelectionContextItemDef.js.map +1 -1
- package/lib/cjs/appui-react/shared/ConditionalValue.d.ts +10 -7
- package/lib/cjs/appui-react/shared/ConditionalValue.d.ts.map +1 -1
- package/lib/cjs/appui-react/shared/ConditionalValue.js +3 -4
- package/lib/cjs/appui-react/shared/ConditionalValue.js.map +1 -1
- package/lib/cjs/appui-react/statusbar/StatusBarComposer.d.ts +1 -0
- package/lib/cjs/appui-react/statusbar/StatusBarComposer.d.ts.map +1 -1
- package/lib/cjs/appui-react/statusbar/StatusBarComposer.js +10 -6
- package/lib/cjs/appui-react/statusbar/StatusBarComposer.js.map +1 -1
- package/lib/cjs/appui-react/statusbar/StatusBarCornerComponentContext.js +2 -0
- package/lib/cjs/appui-react/statusbar/StatusBarCornerComponentContext.js.map +1 -1
- package/lib/cjs/appui-react/statusbar/useDefaultStatusBarItems.d.ts +1 -0
- package/lib/cjs/appui-react/statusbar/useDefaultStatusBarItems.d.ts.map +1 -1
- package/lib/cjs/appui-react/statusbar/useDefaultStatusBarItems.js +1 -0
- package/lib/cjs/appui-react/statusbar/useDefaultStatusBarItems.js.map +1 -1
- package/lib/cjs/appui-react/statusbar/useUiItemsProviderStatusBarItems.d.ts +1 -0
- package/lib/cjs/appui-react/statusbar/useUiItemsProviderStatusBarItems.d.ts.map +1 -1
- package/lib/cjs/appui-react/statusbar/useUiItemsProviderStatusBarItems.js +1 -0
- package/lib/cjs/appui-react/statusbar/useUiItemsProviderStatusBarItems.js.map +1 -1
- package/lib/cjs/appui-react/statusfields/SelectionScope.d.ts.map +1 -1
- package/lib/cjs/appui-react/statusfields/SelectionScope.js +1 -1
- package/lib/cjs/appui-react/statusfields/SelectionScope.js.map +1 -1
- package/lib/cjs/appui-react/statusfields/SnapMode.d.ts +2 -0
- package/lib/cjs/appui-react/statusfields/SnapMode.d.ts.map +1 -1
- package/lib/cjs/appui-react/statusfields/SnapMode.js +59 -83
- package/lib/cjs/appui-react/statusfields/SnapMode.js.map +1 -1
- package/lib/cjs/appui-react/theme/ThemeManager.d.ts +7 -8
- package/lib/cjs/appui-react/theme/ThemeManager.d.ts.map +1 -1
- package/lib/cjs/appui-react/theme/ThemeManager.js +7 -8
- package/lib/cjs/appui-react/theme/ThemeManager.js.map +1 -1
- package/lib/cjs/appui-react/toolbar/ToolbarComposer.d.ts +1 -0
- package/lib/cjs/appui-react/toolbar/ToolbarComposer.d.ts.map +1 -1
- package/lib/cjs/appui-react/toolbar/ToolbarComposer.js +1 -0
- package/lib/cjs/appui-react/toolbar/ToolbarComposer.js.map +1 -1
- package/lib/cjs/appui-react/toolbar/ToolbarItem.d.ts +1 -1
- package/lib/cjs/appui-react/toolbar/ToolbarItem.js.map +1 -1
- package/lib/cjs/appui-react/toolbar/ToolbarItemsManager.d.ts.map +1 -1
- package/lib/cjs/appui-react/toolbar/ToolbarItemsManager.js +11 -6
- package/lib/cjs/appui-react/toolbar/ToolbarItemsManager.js.map +1 -1
- package/lib/cjs/appui-react/tools/CoreToolDefinitions.d.ts.map +1 -1
- package/lib/cjs/appui-react/tools/CoreToolDefinitions.js +23 -25
- package/lib/cjs/appui-react/tools/CoreToolDefinitions.js.map +1 -1
- package/lib/cjs/appui-react/ui-items-provider/BaseUiItemsProvider.d.ts +1 -0
- package/lib/cjs/appui-react/ui-items-provider/BaseUiItemsProvider.d.ts.map +1 -1
- package/lib/cjs/appui-react/ui-items-provider/BaseUiItemsProvider.js +1 -0
- package/lib/cjs/appui-react/ui-items-provider/BaseUiItemsProvider.js.map +1 -1
- package/lib/cjs/appui-react/ui-items-provider/StandardContentToolsProvider.d.ts +3 -2
- package/lib/cjs/appui-react/ui-items-provider/StandardContentToolsProvider.d.ts.map +1 -1
- package/lib/cjs/appui-react/ui-items-provider/StandardContentToolsProvider.js +4 -2
- package/lib/cjs/appui-react/ui-items-provider/StandardContentToolsProvider.js.map +1 -1
- package/lib/cjs/appui-react/ui-items-provider/StandardContentToolsUiItemsProvider.d.ts +6 -2
- package/lib/cjs/appui-react/ui-items-provider/StandardContentToolsUiItemsProvider.d.ts.map +1 -1
- package/lib/cjs/appui-react/ui-items-provider/StandardContentToolsUiItemsProvider.js +117 -88
- package/lib/cjs/appui-react/ui-items-provider/StandardContentToolsUiItemsProvider.js.map +1 -1
- package/lib/cjs/appui-react/ui-items-provider/StandardNavigationToolsProvider.d.ts +2 -2
- package/lib/cjs/appui-react/ui-items-provider/StandardNavigationToolsProvider.d.ts.map +1 -1
- package/lib/cjs/appui-react/ui-items-provider/StandardNavigationToolsProvider.js +4 -2
- package/lib/cjs/appui-react/ui-items-provider/StandardNavigationToolsProvider.js.map +1 -1
- package/lib/cjs/appui-react/ui-items-provider/StandardNavigationToolsUiItemsProvider.d.ts +3 -2
- package/lib/cjs/appui-react/ui-items-provider/StandardNavigationToolsUiItemsProvider.d.ts.map +1 -1
- package/lib/cjs/appui-react/ui-items-provider/StandardNavigationToolsUiItemsProvider.js +79 -60
- package/lib/cjs/appui-react/ui-items-provider/StandardNavigationToolsUiItemsProvider.js.map +1 -1
- package/lib/cjs/appui-react/ui-items-provider/StandardStatusbarItemsProvider.d.ts +1 -0
- package/lib/cjs/appui-react/ui-items-provider/StandardStatusbarItemsProvider.d.ts.map +1 -1
- package/lib/cjs/appui-react/ui-items-provider/StandardStatusbarItemsProvider.js +3 -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 +4 -2
- package/lib/cjs/appui-react/ui-items-provider/StandardStatusbarUiItemsProvider.d.ts.map +1 -1
- package/lib/cjs/appui-react/ui-items-provider/StandardStatusbarUiItemsProvider.js +6 -2
- package/lib/cjs/appui-react/ui-items-provider/StandardStatusbarUiItemsProvider.js.map +1 -1
- package/lib/cjs/appui-react/uiprovider/ComponentGenerator.d.ts.map +1 -1
- package/lib/cjs/appui-react/uiprovider/ComponentGenerator.js +16 -12
- package/lib/cjs/appui-react/uiprovider/ComponentGenerator.js.map +1 -1
- package/lib/cjs/appui-react/uistate/useUiStateStorage.d.ts +1 -0
- package/lib/cjs/appui-react/uistate/useUiStateStorage.d.ts.map +1 -1
- package/lib/cjs/appui-react/uistate/useUiStateStorage.js +1 -0
- package/lib/cjs/appui-react/uistate/useUiStateStorage.js.map +1 -1
- package/lib/cjs/appui-react/utils/getActiveViewport.d.ts +10 -0
- package/lib/cjs/appui-react/utils/getActiveViewport.d.ts.map +1 -0
- package/lib/cjs/appui-react/utils/getActiveViewport.js +26 -0
- package/lib/cjs/appui-react/utils/getActiveViewport.js.map +1 -0
- package/lib/cjs/appui-react/widgets/BasicNavigationWidget.d.ts +1 -0
- package/lib/cjs/appui-react/widgets/BasicNavigationWidget.d.ts.map +1 -1
- package/lib/cjs/appui-react/widgets/BasicNavigationWidget.js +1 -0
- package/lib/cjs/appui-react/widgets/BasicNavigationWidget.js.map +1 -1
- package/lib/cjs/appui-react/widgets/BasicToolWidget.d.ts +1 -0
- package/lib/cjs/appui-react/widgets/BasicToolWidget.d.ts.map +1 -1
- package/lib/cjs/appui-react/widgets/BasicToolWidget.js +1 -0
- package/lib/cjs/appui-react/widgets/BasicToolWidget.js.map +1 -1
- package/lib/cjs/appui-react/widgets/ContentToolWidgetComposer.d.ts +1 -0
- package/lib/cjs/appui-react/widgets/ContentToolWidgetComposer.d.ts.map +1 -1
- package/lib/cjs/appui-react/widgets/ContentToolWidgetComposer.js +3 -1
- package/lib/cjs/appui-react/widgets/ContentToolWidgetComposer.js.map +1 -1
- package/lib/cjs/appui-react/widgets/NavigationWidgetComposer.d.ts +2 -0
- package/lib/cjs/appui-react/widgets/NavigationWidgetComposer.d.ts.map +1 -1
- package/lib/cjs/appui-react/widgets/NavigationWidgetComposer.js +2 -0
- package/lib/cjs/appui-react/widgets/NavigationWidgetComposer.js.map +1 -1
- package/lib/cjs/appui-react/widgets/ToolWidgetComposer.d.ts +2 -1
- package/lib/cjs/appui-react/widgets/ToolWidgetComposer.d.ts.map +1 -1
- package/lib/cjs/appui-react/widgets/ToolWidgetComposer.js +1 -0
- package/lib/cjs/appui-react/widgets/ToolWidgetComposer.js.map +1 -1
- package/lib/cjs/appui-react/widgets/ViewToolWidgetComposer.d.ts +1 -0
- package/lib/cjs/appui-react/widgets/ViewToolWidgetComposer.d.ts.map +1 -1
- package/lib/cjs/appui-react/widgets/ViewToolWidgetComposer.js +1 -0
- package/lib/cjs/appui-react/widgets/ViewToolWidgetComposer.js.map +1 -1
- package/lib/cjs/appui-react/widgets/WidgetDef.d.ts +1 -1
- package/lib/cjs/appui-react/widgets/WidgetDef.d.ts.map +1 -1
- package/lib/cjs/appui-react/widgets/WidgetDef.js +7 -7
- package/lib/cjs/appui-react/widgets/WidgetDef.js.map +1 -1
- package/lib/cjs/appui-react.d.ts +3 -0
- package/lib/cjs/appui-react.d.ts.map +1 -1
- package/lib/cjs/appui-react.js +3 -0
- package/lib/cjs/appui-react.js.map +1 -1
- package/lib/esm/appui-react/UiFramework.d.ts +5 -0
- package/lib/esm/appui-react/UiFramework.d.ts.map +1 -1
- package/lib/esm/appui-react/UiFramework.js +6 -1
- package/lib/esm/appui-react/UiFramework.js.map +1 -1
- package/lib/esm/appui-react/accudraw/AccuDrawDialog.d.ts +1 -0
- package/lib/esm/appui-react/accudraw/AccuDrawDialog.d.ts.map +1 -1
- package/lib/esm/appui-react/accudraw/AccuDrawDialog.js +1 -0
- package/lib/esm/appui-react/accudraw/AccuDrawDialog.js.map +1 -1
- package/lib/esm/appui-react/accudraw/AccuDrawFieldContainer.d.ts +1 -0
- package/lib/esm/appui-react/accudraw/AccuDrawFieldContainer.d.ts.map +1 -1
- package/lib/esm/appui-react/accudraw/AccuDrawFieldContainer.js +1 -0
- package/lib/esm/appui-react/accudraw/AccuDrawFieldContainer.js.map +1 -1
- package/lib/esm/appui-react/accudraw/AccuDrawInputField.d.ts +1 -0
- package/lib/esm/appui-react/accudraw/AccuDrawInputField.d.ts.map +1 -1
- package/lib/esm/appui-react/accudraw/AccuDrawInputField.js.map +1 -1
- package/lib/esm/appui-react/backstage/BackstageComposer.d.ts +1 -0
- package/lib/esm/appui-react/backstage/BackstageComposer.d.ts.map +1 -1
- package/lib/esm/appui-react/backstage/BackstageComposer.js +2 -0
- package/lib/esm/appui-react/backstage/BackstageComposer.js.map +1 -1
- package/lib/esm/appui-react/backstage/useUiItemsProviderBackstageItems.d.ts +2 -1
- package/lib/esm/appui-react/backstage/useUiItemsProviderBackstageItems.d.ts.map +1 -1
- package/lib/esm/appui-react/backstage/useUiItemsProviderBackstageItems.js +2 -1
- package/lib/esm/appui-react/backstage/useUiItemsProviderBackstageItems.js.map +1 -1
- package/lib/esm/appui-react/childwindow/CopyStyles.d.ts.map +1 -1
- package/lib/esm/appui-react/childwindow/CopyStyles.js +8 -3
- package/lib/esm/appui-react/childwindow/CopyStyles.js.map +1 -1
- package/lib/esm/appui-react/configurableui/ConfigurableUiContent.d.ts +1 -0
- package/lib/esm/appui-react/configurableui/ConfigurableUiContent.d.ts.map +1 -1
- package/lib/esm/appui-react/configurableui/ConfigurableUiContent.js +7 -2
- package/lib/esm/appui-react/configurableui/ConfigurableUiContent.js.map +1 -1
- package/lib/esm/appui-react/content/ContentGroup.d.ts +8 -4
- package/lib/esm/appui-react/content/ContentGroup.d.ts.map +1 -1
- package/lib/esm/appui-react/content/ContentGroup.js +1 -1
- package/lib/esm/appui-react/content/ContentGroup.js.map +1 -1
- package/lib/esm/appui-react/content/ContentLayout.d.ts +2 -1
- package/lib/esm/appui-react/content/ContentLayout.d.ts.map +1 -1
- package/lib/esm/appui-react/content/ContentLayout.js +45 -11
- package/lib/esm/appui-react/content/ContentLayout.js.map +1 -1
- package/lib/esm/appui-react/content/ContentLayoutProps.d.ts +63 -0
- package/lib/esm/appui-react/content/ContentLayoutProps.d.ts.map +1 -0
- package/lib/esm/appui-react/content/ContentLayoutProps.js +9 -0
- package/lib/esm/appui-react/content/ContentLayoutProps.js.map +1 -0
- package/lib/esm/appui-react/content/ContentOverlay.d.ts +4 -0
- package/lib/esm/appui-react/content/ContentOverlay.d.ts.map +1 -1
- package/lib/esm/appui-react/content/ContentOverlay.js +32 -0
- package/lib/esm/appui-react/content/ContentOverlay.js.map +1 -1
- package/lib/esm/appui-react/content/FloatingViewportContent.d.ts.map +1 -1
- package/lib/esm/appui-react/content/FloatingViewportContent.js +1 -1
- package/lib/esm/appui-react/content/FloatingViewportContent.js.map +1 -1
- package/lib/esm/appui-react/content/InternalContentLayoutManager.d.ts +1 -1
- package/lib/esm/appui-react/content/InternalContentLayoutManager.d.ts.map +1 -1
- package/lib/esm/appui-react/content/InternalContentLayoutManager.js.map +1 -1
- package/lib/esm/appui-react/content/InternalContentViewManager.d.ts.map +1 -1
- package/lib/esm/appui-react/content/InternalContentViewManager.js +9 -3
- package/lib/esm/appui-react/content/InternalContentViewManager.js.map +1 -1
- package/lib/esm/appui-react/content/StageContentLayout.d.ts +1 -1
- package/lib/esm/appui-react/content/StageContentLayout.d.ts.map +1 -1
- package/lib/esm/appui-react/content/StageContentLayout.js.map +1 -1
- package/lib/esm/appui-react/content/StandardContentLayouts.d.ts +20 -0
- package/lib/esm/appui-react/content/StandardContentLayouts.d.ts.map +1 -0
- package/lib/esm/appui-react/content/StandardContentLayouts.js +165 -0
- package/lib/esm/appui-react/content/StandardContentLayouts.js.map +1 -0
- package/lib/esm/appui-react/content/split-pane/SplitPane.d.ts +1 -0
- package/lib/esm/appui-react/content/split-pane/SplitPane.d.ts.map +1 -1
- package/lib/esm/appui-react/content/split-pane/SplitPane.js +1 -0
- package/lib/esm/appui-react/content/split-pane/SplitPane.js.map +1 -1
- package/lib/esm/appui-react/framework/FrameworkContent.d.ts +1 -1
- package/lib/esm/appui-react/framework/FrameworkContent.d.ts.map +1 -1
- package/lib/esm/appui-react/framework/FrameworkContent.js.map +1 -1
- package/lib/esm/appui-react/framework/FrameworkFrontstages.d.ts +3 -0
- package/lib/esm/appui-react/framework/FrameworkFrontstages.d.ts.map +1 -1
- package/lib/esm/appui-react/framework/FrameworkFrontstages.js.map +1 -1
- package/lib/esm/appui-react/frontstage/FrontstageDef.d.ts +1 -0
- package/lib/esm/appui-react/frontstage/FrontstageDef.d.ts.map +1 -1
- package/lib/esm/appui-react/frontstage/FrontstageDef.js +2 -1
- package/lib/esm/appui-react/frontstage/FrontstageDef.js.map +1 -1
- package/lib/esm/appui-react/frontstage/InternalFrontstageManager.d.ts +2 -0
- package/lib/esm/appui-react/frontstage/InternalFrontstageManager.d.ts.map +1 -1
- package/lib/esm/appui-react/frontstage/InternalFrontstageManager.js +5 -0
- package/lib/esm/appui-react/frontstage/InternalFrontstageManager.js.map +1 -1
- package/lib/esm/appui-react/hooks/useConditionalProp.d.ts +3 -3
- package/lib/esm/appui-react/hooks/useConditionalProp.d.ts.map +1 -1
- package/lib/esm/appui-react/hooks/useConditionalProp.js.map +1 -1
- package/lib/esm/appui-react/hooks/useConditionalValue.d.ts +1 -1
- package/lib/esm/appui-react/hooks/useConditionalValue.js +1 -1
- package/lib/esm/appui-react/hooks/useConditionalValue.js.map +1 -1
- package/lib/esm/appui-react/hooks/useUiVisibility.d.ts.map +1 -1
- package/lib/esm/appui-react/hooks/useUiVisibility.js +1 -0
- package/lib/esm/appui-react/hooks/useUiVisibility.js.map +1 -1
- package/lib/esm/appui-react/layout/base/LayoutStore.d.ts +3 -1
- package/lib/esm/appui-react/layout/base/LayoutStore.d.ts.map +1 -1
- package/lib/esm/appui-react/layout/base/LayoutStore.js +7 -0
- package/lib/esm/appui-react/layout/base/LayoutStore.js.map +1 -1
- package/lib/esm/appui-react/preview/new-toolbars/ToolGroup.scss +4 -0
- package/lib/esm/appui-react/selection/SelectionContextItemDef.d.ts.map +1 -1
- package/lib/esm/appui-react/selection/SelectionContextItemDef.js +27 -25
- package/lib/esm/appui-react/selection/SelectionContextItemDef.js.map +1 -1
- package/lib/esm/appui-react/shared/ConditionalValue.d.ts +10 -7
- package/lib/esm/appui-react/shared/ConditionalValue.d.ts.map +1 -1
- package/lib/esm/appui-react/shared/ConditionalValue.js +2 -3
- package/lib/esm/appui-react/shared/ConditionalValue.js.map +1 -1
- package/lib/esm/appui-react/statusbar/StatusBarComposer.d.ts +1 -0
- package/lib/esm/appui-react/statusbar/StatusBarComposer.d.ts.map +1 -1
- package/lib/esm/appui-react/statusbar/StatusBarComposer.js +10 -6
- package/lib/esm/appui-react/statusbar/StatusBarComposer.js.map +1 -1
- package/lib/esm/appui-react/statusbar/StatusBarCornerComponentContext.js +2 -0
- package/lib/esm/appui-react/statusbar/StatusBarCornerComponentContext.js.map +1 -1
- package/lib/esm/appui-react/statusbar/useDefaultStatusBarItems.d.ts +1 -0
- package/lib/esm/appui-react/statusbar/useDefaultStatusBarItems.d.ts.map +1 -1
- package/lib/esm/appui-react/statusbar/useDefaultStatusBarItems.js +1 -0
- package/lib/esm/appui-react/statusbar/useDefaultStatusBarItems.js.map +1 -1
- package/lib/esm/appui-react/statusbar/useUiItemsProviderStatusBarItems.d.ts +1 -0
- package/lib/esm/appui-react/statusbar/useUiItemsProviderStatusBarItems.d.ts.map +1 -1
- package/lib/esm/appui-react/statusbar/useUiItemsProviderStatusBarItems.js +1 -0
- package/lib/esm/appui-react/statusbar/useUiItemsProviderStatusBarItems.js.map +1 -1
- package/lib/esm/appui-react/statusfields/SelectionScope.d.ts.map +1 -1
- package/lib/esm/appui-react/statusfields/SelectionScope.js +1 -1
- package/lib/esm/appui-react/statusfields/SelectionScope.js.map +1 -1
- package/lib/esm/appui-react/statusfields/SnapMode.d.ts +2 -0
- package/lib/esm/appui-react/statusfields/SnapMode.d.ts.map +1 -1
- package/lib/esm/appui-react/statusfields/SnapMode.js +59 -83
- package/lib/esm/appui-react/statusfields/SnapMode.js.map +1 -1
- package/lib/esm/appui-react/theme/ThemeManager.d.ts +7 -8
- package/lib/esm/appui-react/theme/ThemeManager.d.ts.map +1 -1
- package/lib/esm/appui-react/theme/ThemeManager.js +7 -8
- package/lib/esm/appui-react/theme/ThemeManager.js.map +1 -1
- package/lib/esm/appui-react/toolbar/ToolbarComposer.d.ts +1 -0
- package/lib/esm/appui-react/toolbar/ToolbarComposer.d.ts.map +1 -1
- package/lib/esm/appui-react/toolbar/ToolbarComposer.js +1 -0
- package/lib/esm/appui-react/toolbar/ToolbarComposer.js.map +1 -1
- package/lib/esm/appui-react/toolbar/ToolbarItem.d.ts +1 -1
- package/lib/esm/appui-react/toolbar/ToolbarItem.js.map +1 -1
- package/lib/esm/appui-react/toolbar/ToolbarItemsManager.d.ts.map +1 -1
- package/lib/esm/appui-react/toolbar/ToolbarItemsManager.js +11 -6
- package/lib/esm/appui-react/toolbar/ToolbarItemsManager.js.map +1 -1
- package/lib/esm/appui-react/tools/CoreToolDefinitions.d.ts.map +1 -1
- package/lib/esm/appui-react/tools/CoreToolDefinitions.js +23 -25
- package/lib/esm/appui-react/tools/CoreToolDefinitions.js.map +1 -1
- package/lib/esm/appui-react/ui-items-provider/BaseUiItemsProvider.d.ts +1 -0
- package/lib/esm/appui-react/ui-items-provider/BaseUiItemsProvider.d.ts.map +1 -1
- package/lib/esm/appui-react/ui-items-provider/BaseUiItemsProvider.js +1 -0
- package/lib/esm/appui-react/ui-items-provider/BaseUiItemsProvider.js.map +1 -1
- package/lib/esm/appui-react/ui-items-provider/StandardContentToolsProvider.d.ts +3 -2
- package/lib/esm/appui-react/ui-items-provider/StandardContentToolsProvider.d.ts.map +1 -1
- package/lib/esm/appui-react/ui-items-provider/StandardContentToolsProvider.js +4 -2
- package/lib/esm/appui-react/ui-items-provider/StandardContentToolsProvider.js.map +1 -1
- package/lib/esm/appui-react/ui-items-provider/StandardContentToolsUiItemsProvider.d.ts +6 -2
- package/lib/esm/appui-react/ui-items-provider/StandardContentToolsUiItemsProvider.d.ts.map +1 -1
- package/lib/esm/appui-react/ui-items-provider/StandardContentToolsUiItemsProvider.js +117 -88
- package/lib/esm/appui-react/ui-items-provider/StandardContentToolsUiItemsProvider.js.map +1 -1
- package/lib/esm/appui-react/ui-items-provider/StandardNavigationToolsProvider.d.ts +2 -2
- package/lib/esm/appui-react/ui-items-provider/StandardNavigationToolsProvider.d.ts.map +1 -1
- package/lib/esm/appui-react/ui-items-provider/StandardNavigationToolsProvider.js +4 -2
- package/lib/esm/appui-react/ui-items-provider/StandardNavigationToolsProvider.js.map +1 -1
- package/lib/esm/appui-react/ui-items-provider/StandardNavigationToolsUiItemsProvider.d.ts +3 -2
- package/lib/esm/appui-react/ui-items-provider/StandardNavigationToolsUiItemsProvider.d.ts.map +1 -1
- package/lib/esm/appui-react/ui-items-provider/StandardNavigationToolsUiItemsProvider.js +79 -60
- package/lib/esm/appui-react/ui-items-provider/StandardNavigationToolsUiItemsProvider.js.map +1 -1
- package/lib/esm/appui-react/ui-items-provider/StandardStatusbarItemsProvider.d.ts +1 -0
- package/lib/esm/appui-react/ui-items-provider/StandardStatusbarItemsProvider.d.ts.map +1 -1
- package/lib/esm/appui-react/ui-items-provider/StandardStatusbarItemsProvider.js +3 -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 +4 -2
- package/lib/esm/appui-react/ui-items-provider/StandardStatusbarUiItemsProvider.d.ts.map +1 -1
- package/lib/esm/appui-react/ui-items-provider/StandardStatusbarUiItemsProvider.js +6 -2
- package/lib/esm/appui-react/ui-items-provider/StandardStatusbarUiItemsProvider.js.map +1 -1
- package/lib/esm/appui-react/uiprovider/ComponentGenerator.d.ts.map +1 -1
- package/lib/esm/appui-react/uiprovider/ComponentGenerator.js +16 -12
- package/lib/esm/appui-react/uiprovider/ComponentGenerator.js.map +1 -1
- package/lib/esm/appui-react/uistate/useUiStateStorage.d.ts +1 -0
- package/lib/esm/appui-react/uistate/useUiStateStorage.d.ts.map +1 -1
- package/lib/esm/appui-react/uistate/useUiStateStorage.js +1 -0
- package/lib/esm/appui-react/uistate/useUiStateStorage.js.map +1 -1
- package/lib/esm/appui-react/utils/getActiveViewport.d.ts +10 -0
- package/lib/esm/appui-react/utils/getActiveViewport.d.ts.map +1 -0
- package/lib/esm/appui-react/utils/getActiveViewport.js +22 -0
- package/lib/esm/appui-react/utils/getActiveViewport.js.map +1 -0
- package/lib/esm/appui-react/widgets/BasicNavigationWidget.d.ts +1 -0
- package/lib/esm/appui-react/widgets/BasicNavigationWidget.d.ts.map +1 -1
- package/lib/esm/appui-react/widgets/BasicNavigationWidget.js +1 -0
- package/lib/esm/appui-react/widgets/BasicNavigationWidget.js.map +1 -1
- package/lib/esm/appui-react/widgets/BasicToolWidget.d.ts +1 -0
- package/lib/esm/appui-react/widgets/BasicToolWidget.d.ts.map +1 -1
- package/lib/esm/appui-react/widgets/BasicToolWidget.js +1 -0
- package/lib/esm/appui-react/widgets/BasicToolWidget.js.map +1 -1
- package/lib/esm/appui-react/widgets/ContentToolWidgetComposer.d.ts +1 -0
- package/lib/esm/appui-react/widgets/ContentToolWidgetComposer.d.ts.map +1 -1
- package/lib/esm/appui-react/widgets/ContentToolWidgetComposer.js +3 -1
- package/lib/esm/appui-react/widgets/ContentToolWidgetComposer.js.map +1 -1
- package/lib/esm/appui-react/widgets/NavigationWidgetComposer.d.ts +2 -0
- package/lib/esm/appui-react/widgets/NavigationWidgetComposer.d.ts.map +1 -1
- package/lib/esm/appui-react/widgets/NavigationWidgetComposer.js +2 -0
- package/lib/esm/appui-react/widgets/NavigationWidgetComposer.js.map +1 -1
- package/lib/esm/appui-react/widgets/ToolWidgetComposer.d.ts +2 -1
- package/lib/esm/appui-react/widgets/ToolWidgetComposer.d.ts.map +1 -1
- package/lib/esm/appui-react/widgets/ToolWidgetComposer.js +1 -0
- package/lib/esm/appui-react/widgets/ToolWidgetComposer.js.map +1 -1
- package/lib/esm/appui-react/widgets/ViewToolWidgetComposer.d.ts +1 -0
- package/lib/esm/appui-react/widgets/ViewToolWidgetComposer.d.ts.map +1 -1
- package/lib/esm/appui-react/widgets/ViewToolWidgetComposer.js +1 -0
- package/lib/esm/appui-react/widgets/ViewToolWidgetComposer.js.map +1 -1
- package/lib/esm/appui-react/widgets/WidgetDef.d.ts +1 -1
- package/lib/esm/appui-react/widgets/WidgetDef.d.ts.map +1 -1
- package/lib/esm/appui-react/widgets/WidgetDef.js +7 -7
- package/lib/esm/appui-react/widgets/WidgetDef.js.map +1 -1
- package/lib/esm/appui-react.d.ts +3 -0
- package/lib/esm/appui-react.d.ts.map +1 -1
- package/lib/esm/appui-react.js +3 -0
- package/lib/esm/appui-react.js.map +1 -1
- package/package.json +7 -7
|
@@ -2,23 +2,26 @@
|
|
|
2
2
|
* @module Item
|
|
3
3
|
*/
|
|
4
4
|
import { ConditionalBooleanValue as _ConditionalBooleanValue, ConditionalStringValue as _ConditionalStringValue } from "@itwin/appui-abstract";
|
|
5
|
-
|
|
5
|
+
/** Interface used to track the conditional value of a generic type `T`. The `getValue` function should be called when sync event is emitted that matches one of specified `eventIds` values.
|
|
6
|
+
* @note Use {@link useConditionalValue} hook to get the value.
|
|
7
|
+
* @public
|
|
8
|
+
*/
|
|
9
|
+
export interface ConditionalValue<T> {
|
|
10
|
+
eventIds: string[];
|
|
11
|
+
getValue: () => T;
|
|
12
|
+
}
|
|
6
13
|
/** Class used to return a boolean value. The boolean value is refreshed by using the specified function. The `syncEventIds` define
|
|
7
14
|
* events that would require the `testFunc` function to be rerun.
|
|
8
15
|
* @public
|
|
9
16
|
*/
|
|
10
17
|
export type ConditionalBooleanValue = _ConditionalBooleanValue;
|
|
18
|
+
/** @public */
|
|
11
19
|
export declare const ConditionalBooleanValue: typeof _ConditionalBooleanValue;
|
|
12
20
|
/** Class used to return a string value. The string value is refreshed by using the specified function. The `syncEventIds` define
|
|
13
21
|
* events that would require the `stringGetter` function to be rerun.
|
|
14
22
|
* @public
|
|
15
23
|
*/
|
|
16
24
|
export type ConditionalStringValue = _ConditionalStringValue;
|
|
25
|
+
/** @public */
|
|
17
26
|
export declare const ConditionalStringValue: typeof _ConditionalStringValue;
|
|
18
|
-
/** Class used to return an icon value. The value is refreshed by using the specified function. The `syncEventIds` define
|
|
19
|
-
* events that would require the `iconGetter` function to be rerun.
|
|
20
|
-
* @public
|
|
21
|
-
*/
|
|
22
|
-
export type ConditionalIconValue = _ConditionalIconItem;
|
|
23
|
-
export declare const ConditionalIconValue: typeof _ConditionalIconItem;
|
|
24
27
|
//# sourceMappingURL=ConditionalValue.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ConditionalValue.d.ts","sourceRoot":"","sources":["../../../../src/appui-react/shared/ConditionalValue.ts"],"names":[],"mappings":"AAIA;;GAEG;AACH,OAAO,EACL,uBAAuB,IAAI,wBAAwB,EACnD,sBAAsB,IAAI,uBAAuB,EAClD,MAAM,uBAAuB,CAAC;
|
|
1
|
+
{"version":3,"file":"ConditionalValue.d.ts","sourceRoot":"","sources":["../../../../src/appui-react/shared/ConditionalValue.ts"],"names":[],"mappings":"AAIA;;GAEG;AACH,OAAO,EACL,uBAAuB,IAAI,wBAAwB,EACnD,sBAAsB,IAAI,uBAAuB,EAClD,MAAM,uBAAuB,CAAC;AAI/B;;;GAGG;AACH,MAAM,WAAW,gBAAgB,CAAC,CAAC;IACjC,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC,CAAC;CACnB;AAED;;;GAGG;AACH,MAAM,MAAM,uBAAuB,GAAG,wBAAwB,CAAC;AAC/D,cAAc;AAEd,eAAO,MAAM,uBAAuB,iCAA2B,CAAC;AAEhE;;;GAGG;AACH,MAAM,MAAM,sBAAsB,GAAG,uBAAuB,CAAC;AAC7D,cAAc;AAEd,eAAO,MAAM,sBAAsB,gCAA0B,CAAC"}
|
|
@@ -6,11 +6,10 @@
|
|
|
6
6
|
* @module Item
|
|
7
7
|
*/
|
|
8
8
|
import { ConditionalBooleanValue as _ConditionalBooleanValue, ConditionalStringValue as _ConditionalStringValue, } from "@itwin/appui-abstract";
|
|
9
|
-
|
|
9
|
+
/** @public */
|
|
10
10
|
// eslint-disable-next-line @typescript-eslint/no-redeclare
|
|
11
11
|
export const ConditionalBooleanValue = _ConditionalBooleanValue;
|
|
12
|
+
/** @public */
|
|
12
13
|
// eslint-disable-next-line @typescript-eslint/no-redeclare
|
|
13
14
|
export const ConditionalStringValue = _ConditionalStringValue;
|
|
14
|
-
// eslint-disable-next-line @typescript-eslint/no-redeclare, deprecation/deprecation
|
|
15
|
-
export const ConditionalIconValue = _ConditionalIconItem;
|
|
16
15
|
//# sourceMappingURL=ConditionalValue.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ConditionalValue.js","sourceRoot":"","sources":["../../../../src/appui-react/shared/ConditionalValue.ts"],"names":[],"mappings":"AAAA;;;gGAGgG;AAChG;;GAEG;AACH,OAAO,EACL,uBAAuB,IAAI,wBAAwB,EACnD,sBAAsB,IAAI,uBAAuB,GAClD,MAAM,uBAAuB,CAAC;
|
|
1
|
+
{"version":3,"file":"ConditionalValue.js","sourceRoot":"","sources":["../../../../src/appui-react/shared/ConditionalValue.ts"],"names":[],"mappings":"AAAA;;;gGAGgG;AAChG;;GAEG;AACH,OAAO,EACL,uBAAuB,IAAI,wBAAwB,EACnD,sBAAsB,IAAI,uBAAuB,GAClD,MAAM,uBAAuB,CAAC;AAkB/B,cAAc;AACd,2DAA2D;AAC3D,MAAM,CAAC,MAAM,uBAAuB,GAAG,wBAAwB,CAAC;AAOhE,cAAc;AACd,2DAA2D;AAC3D,MAAM,CAAC,MAAM,sBAAsB,GAAG,uBAAuB,CAAC","sourcesContent":["/*---------------------------------------------------------------------------------------------\n * Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n * See LICENSE.md in the project root for license terms and full copyright notice.\n *--------------------------------------------------------------------------------------------*/\n/** @packageDocumentation\n * @module Item\n */\nimport {\n ConditionalBooleanValue as _ConditionalBooleanValue,\n ConditionalStringValue as _ConditionalStringValue,\n} from \"@itwin/appui-abstract\";\nimport { ConditionalIconItem as _ConditionalIconItem } from \"@itwin/core-react\";\nimport type { useConditionalValue } from \"../hooks/useConditionalValue\";\n\n/** Interface used to track the conditional value of a generic type `T`. The `getValue` function should be called when sync event is emitted that matches one of specified `eventIds` values.\n * @note Use {@link useConditionalValue} hook to get the value.\n * @public\n */\nexport interface ConditionalValue<T> {\n eventIds: string[];\n getValue: () => T;\n}\n\n/** Class used to return a boolean value. The boolean value is refreshed by using the specified function. The `syncEventIds` define\n * events that would require the `testFunc` function to be rerun.\n * @public\n */\nexport type ConditionalBooleanValue = _ConditionalBooleanValue;\n/** @public */\n// eslint-disable-next-line @typescript-eslint/no-redeclare\nexport const ConditionalBooleanValue = _ConditionalBooleanValue;\n\n/** Class used to return a string value. The string value is refreshed by using the specified function. The `syncEventIds` define\n * events that would require the `stringGetter` function to be rerun.\n * @public\n */\nexport type ConditionalStringValue = _ConditionalStringValue;\n/** @public */\n// eslint-disable-next-line @typescript-eslint/no-redeclare\nexport const ConditionalStringValue = _ConditionalStringValue;\n"]}
|
|
@@ -26,6 +26,7 @@ export interface StatusBarItemProps extends CommonProps {
|
|
|
26
26
|
export declare function DockedStatusBarItem(props: StatusBarItemProps): React.JSX.Element;
|
|
27
27
|
/** Properties for the [[StatusBarComposer]] React components
|
|
28
28
|
* @public
|
|
29
|
+
* @deprecated in 4.17.0. Use `React.ComponentProps<typeof StatusBarComposer>`
|
|
29
30
|
*/
|
|
30
31
|
export interface StatusBarComposerProps extends CommonProps {
|
|
31
32
|
/** Status Bar items */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"StatusBarComposer.d.ts","sourceRoot":"","sources":["../../../../src/appui-react/statusbar/StatusBarComposer.tsx"],"names":[],"mappings":"AAIA;;GAEG;AAMH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAGrD,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAY/B,OAAO,KAAK,EAEV,aAAa,EAEd,MAAM,iBAAiB,CAAC;AAqBzB,UAAU,8BAA8B;IACtC,QAAQ,CAAC,WAAW,EAAE,OAAO,CAAC;IAC9B,QAAQ,CAAC,QAAQ,EAAE,CAAC,CAAC,EAAE,MAAM,KAAK,IAAI,CAAC;CACxC;AAMD,gBAAgB;AAChB,wBAAgB,iBAAiB,mCAEhC;AAED;;GAEG;AAEH,MAAM,WAAW,kBAAmB,SAAQ,WAAW;IACrD,4BAA4B;IAC5B,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC3B,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,kBAAkB,qBAqB5D;AAoLD
|
|
1
|
+
{"version":3,"file":"StatusBarComposer.d.ts","sourceRoot":"","sources":["../../../../src/appui-react/statusbar/StatusBarComposer.tsx"],"names":[],"mappings":"AAIA;;GAEG;AAMH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAGrD,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAY/B,OAAO,KAAK,EAEV,aAAa,EAEd,MAAM,iBAAiB,CAAC;AAqBzB,UAAU,8BAA8B;IACtC,QAAQ,CAAC,WAAW,EAAE,OAAO,CAAC;IAC9B,QAAQ,CAAC,QAAQ,EAAE,CAAC,CAAC,EAAE,MAAM,KAAK,IAAI,CAAC;CACxC;AAMD,gBAAgB;AAChB,wBAAgB,iBAAiB,mCAEhC;AAED;;GAEG;AAEH,MAAM,WAAW,kBAAmB,SAAQ,WAAW;IACrD,4BAA4B;IAC5B,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC3B,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,kBAAkB,qBAqB5D;AAoLD;;;GAGG;AAEH,MAAM,WAAW,sBAAuB,SAAQ,WAAW;IACzD,uBAAuB;IACvB,KAAK,EAAE,aAAa,EAAE,CAAC;IAEvB,yDAAyD;IACzD,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,mDAAmD;IACnD,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,qDAAqD;IACrD,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,oDAAoD;IACpD,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AAED;;GAEG;AAEH,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,sBAAsB,qBAsR9D"}
|
|
@@ -171,6 +171,7 @@ function isItemInOverflow(id, overflowItemIds) {
|
|
|
171
171
|
/** Component to load components into the [[StatusBar]].
|
|
172
172
|
* @public
|
|
173
173
|
*/
|
|
174
|
+
// eslint-disable-next-line deprecation/deprecation
|
|
174
175
|
export function StatusBarComposer(props) {
|
|
175
176
|
const { className, style, items, mainClassName, leftClassName, centerClassName, rightClassName, } = props;
|
|
176
177
|
const [defaultItemsManager, setDefaultItemsManager] = React.useState(() => new StatusBarItemsManager(items));
|
|
@@ -183,10 +184,12 @@ export function StatusBarComposer(props) {
|
|
|
183
184
|
setDefaultItemsManager(new StatusBarItemsManager(items));
|
|
184
185
|
}
|
|
185
186
|
}, [items]);
|
|
187
|
+
// eslint-disable-next-line deprecation/deprecation
|
|
186
188
|
const defaultItems = useDefaultStatusBarItems(defaultItemsManager);
|
|
187
189
|
const syncIdsOfInterest = React.useMemo(() => StatusBarItemsManager.getSyncIdsOfInterest(defaultItems), [defaultItems]);
|
|
188
190
|
useStatusBarItemSyncEffect(defaultItemsManager, syncIdsOfInterest);
|
|
189
191
|
const [addonItemsManager] = React.useState(() => new StatusBarItemsManager());
|
|
192
|
+
// eslint-disable-next-line deprecation/deprecation
|
|
190
193
|
const addonItems = useUiItemsProviderStatusBarItems(addonItemsManager);
|
|
191
194
|
const addonSyncIdsOfInterest = React.useMemo(() => StatusBarItemsManager.getSyncIdsOfInterest(addonItems), [addonItems]);
|
|
192
195
|
useStatusBarItemSyncEffect(addonItemsManager, addonSyncIdsOfInterest);
|
|
@@ -197,8 +200,10 @@ export function StatusBarComposer(props) {
|
|
|
197
200
|
const combinedItems = combineItems(defaultItems, addonItems);
|
|
198
201
|
return sortItems(combinedItems);
|
|
199
202
|
}, [defaultItems, addonItems]);
|
|
200
|
-
const
|
|
201
|
-
return statusBarItems
|
|
203
|
+
const notOverflown = React.useMemo(() => {
|
|
204
|
+
return statusBarItems
|
|
205
|
+
.filter((item) => !isItemInOverflow(item.id, overflown))
|
|
206
|
+
.map((item) => item.id);
|
|
202
207
|
}, [overflown, statusBarItems]);
|
|
203
208
|
const calculateOverflow = React.useCallback(() => {
|
|
204
209
|
const widths = verifiedMapEntries(entryWidths.current);
|
|
@@ -251,10 +256,9 @@ export function StatusBarComposer(props) {
|
|
|
251
256
|
const providerId = isProviderItem(item) ? item.providerId : undefined;
|
|
252
257
|
return (React.createElement(DockedStatusBarEntry, { key: key, entryKey: key, getOnResize: handleEntryResize },
|
|
253
258
|
React.createElement(DockedStatusBarItem, { key: key, itemId: item.id, itemPriority: itemPriority, providerId: providerId, section: getSectionName(section) },
|
|
254
|
-
React.createElement(StatusBarCornerComponentContext.Provider, { value: key ===
|
|
259
|
+
React.createElement(StatusBarCornerComponentContext.Provider, { value: key === notOverflown[0]
|
|
255
260
|
? "left-corner"
|
|
256
|
-
: (key ===
|
|
257
|
-
itemsNotInOverflow[itemsNotInOverflow.length - 1].id &&
|
|
261
|
+
: (key === notOverflown[notOverflown.length - 1] &&
|
|
258
262
|
overflown?.length === 0) ||
|
|
259
263
|
isItemInOverflow(key, overflown)
|
|
260
264
|
? "right-corner"
|
|
@@ -262,7 +266,7 @@ export function StatusBarComposer(props) {
|
|
|
262
266
|
isStatusBarCustomItem(item) && item.content,
|
|
263
267
|
isStatusBarActionItem(item) && (React.createElement(StatusBarActionItemComponent, { ...item })),
|
|
264
268
|
isStatusBarLabelItem(item) && (React.createElement(StatusBarLabelItemComponent, { ...item }))))));
|
|
265
|
-
}, [handleEntryResize,
|
|
269
|
+
}, [handleEntryResize, notOverflown, overflown]);
|
|
266
270
|
const getSectionItems = React.useCallback((section) => {
|
|
267
271
|
const sectionItems = statusBarItems
|
|
268
272
|
.filter((item) => item.section.valueOf() === section.valueOf() &&
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"StatusBarComposer.js","sourceRoot":"","sources":["../../../../src/appui-react/statusbar/StatusBarComposer.tsx"],"names":[],"mappings":"AAAA;;;gGAGgG;AAChG;;GAEG;AAEH,OAAO,EACL,uBAAuB,EACvB,sBAAsB,GACvB,MAAM,uBAAuB,CAAC;AAE/B,OAAO,EAAE,OAAO,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAC/D,OAAO,UAAU,MAAM,YAAY,CAAC;AACpC,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EAAE,YAAY,EAAE,MAAM,gCAAgC,CAAC;AAC9D,OAAO,EAAE,uBAAuB,EAAE,MAAM,6BAA6B,CAAC;AACtE,OAAO,EAAE,qBAAqB,EAAE,MAAM,iCAAiC,CAAC;AACxE,OAAO,EAAE,cAAc,EAAE,MAAM,qCAAqC,CAAC;AACrE,OAAO,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAC/C,OAAO,EACL,sBAAsB,EACtB,oBAAoB,EACpB,qBAAqB,EACrB,qBAAqB,GACtB,MAAM,aAAa,CAAC;AAMrB,OAAO,EACL,qBAAqB,EACrB,qBAAqB,EACrB,oBAAoB,EACpB,gBAAgB,GACjB,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAC;AAChE,OAAO,EAAE,wBAAwB,EAAE,MAAM,4BAA4B,CAAC;AACtE,OAAO,EAAE,gCAAgC,EAAE,MAAM,oCAAoC,CAAC;AACtF,OAAO,EAAE,+BAA+B,EAAE,MAAM,mCAAmC,CAAC;AAEpF,sIAAsI;AACtI,SAAS,8BAA8B,CAAC,IAAmB;IACzD,IAAI,YAAY,GAAG,CAAC,CAAC;IACrB,IAAI,IAAI,CAAC,OAAO,KAAK,gBAAgB,CAAC,MAAM;QAAE,YAAY,GAAG,MAAM,CAAC;SAC/D,IAAI,IAAI,CAAC,OAAO,KAAK,gBAAgB,CAAC,OAAO;QAAE,YAAY,GAAG,MAAM,CAAC;SACrE,IAAI,IAAI,CAAC,OAAO,KAAK,gBAAgB,CAAC,KAAK;QAAE,YAAY,GAAG,MAAM,CAAC;IACxE,OAAO,YAAY,GAAG,IAAI,CAAC,YAAY,CAAC;AAC1C,CAAC;AAOD,MAAM,2BAA2B,GAC/B,KAAK,CAAC,aAAa,CAAiC,IAAK,CAAC,CAAC;AAC7D,2BAA2B,CAAC,WAAW,GAAG,gCAAgC,CAAC;AAE3E,gBAAgB;AAChB,MAAM,UAAU,iBAAiB;IAC/B,OAAO,KAAK,CAAC,UAAU,CAAC,2BAA2B,CAAC,CAAC;AACvD,CAAC;AAcD;;GAEG;AACH,MAAM,UAAU,mBAAmB,CAAC,KAAyB;IAC3D,MAAM,EAAE,QAAQ,EAAE,GAAG,iBAAiB,EAAE,CAAC;IACzC,MAAM,GAAG,GAAG,iBAAiB,CAAiB,QAAQ,CAAC,CAAC;IACxD,MAAM,SAAS,GAAG,UAAU,CAC1B,+BAA+B,EAC/B,KAAK,CAAC,SAAS,CAChB,CAAC;IACF,OAAO,CACL,6CACgB,KAAK,CAAC,MAAM,oBACX,iBAAiB,wBACZ,KAAK,CAAC,OAAO,wBACb,KAAK,CAAC,YAAY,2BACf,KAAK,CAAC,UAAU,EACvC,SAAS,EAAE,SAAS,EACpB,GAAG,EAAE,GAAG,EACR,KAAK,EAAE,KAAK,CAAC,KAAK,IAEjB,KAAK,CAAC,QAAQ,CACX,CACP,CAAC;AACJ,CAAC;AAQD,iLAAiL;AACjL,SAAS,oBAAoB,CAAC,EAC5B,QAAQ,EACR,QAAQ,EACR,WAAW,GACe;IAC1B,MAAM,QAAQ,GAAG,KAAK,CAAC,OAAO,CAC5B,GAAG,EAAE,CAAC,WAAW,CAAC,QAAQ,CAAC,EAC3B,CAAC,WAAW,EAAE,QAAQ,CAAC,CACxB,CAAC;IACF,MAAM,KAAK,GAAG,KAAK,CAAC,OAAO,CACzB,GAAG,EAAE,CAAC,CAAC;QACL,WAAW,EAAE,KAAK;QAClB,QAAQ;KACT,CAAC,EACF,CAAC,QAAQ,CAAC,CACX,CAAC;IACF,OAAO,CACL,oBAAC,2BAA2B,CAAC,QAAQ,IAAC,KAAK,EAAE,KAAK,IAC/C,QAAQ,CAC4B,CACxC,CAAC;AACJ,CAAC;AAED,0EAA0E;AAC1E,SAAS,0BAA0B,CACjC,YAAmC,EACnC,iBAA2B;IAE3B,KAAK,CAAC,SAAS,CAAC,GAAG,EAAE;QACnB,yFAAyF;QACzF,OAAO,qBAAqB,CAAC,aAAa,CAAC,WAAW,CAAC,CAAC,IAAI,EAAE,EAAE;YAC9D,IAAI,CAAC,KAAK,iBAAiB,CAAC,MAAM;gBAAE,OAAO;YAE3C,IACE,iBAAiB,CAAC,IAAI,CAAC,CAAC,KAAa,EAAW,EAAE,CAChD,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC,CACvC,EACD,CAAC;gBACD,sCAAsC;gBACtC,YAAY,CAAC,oBAAoB,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;YACnD,CAAC;QACH,CAAC,CAAC,CAAC;IACL,CAAC,EAAE,CAAC,YAAY,EAAE,YAAY,CAAC,KAAK,EAAE,iBAAiB,CAAC,CAAC,CAAC;AAC5D,CAAC;AAED,SAAS,2BAA2B,CAAC,KAAyB;IAC5D,MAAM,KAAK,GAAG,sBAAsB,CAAC,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;IAC3D,mDAAmD;IACnD,OAAO,oBAAC,uBAAuB,IAAC,QAAQ,EAAE,KAAK,CAAC,IAAI,EAAE,KAAK,EAAE,KAAK,GAAI,CAAC;AACzE,CAAC;AAED,SAAS,4BAA4B,CAAC,KAA0B;IAC9D,MAAM,KAAK,GAAG,sBAAsB,CAAC,QAAQ,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;IAC7D,OAAO;IACL,mDAAmD;IACnD,oBAAC,uBAAuB,IACtB,KAAK,EAAE,KAAK,EACZ,OAAO,EAAE,KAAK,CAAC,OAAO;QACtB,mDAAmD;QACnD,QAAQ,EAAE,KAAK,CAAC,IAAI,GACpB,CACH,CAAC;AACJ,CAAC;AAED,qEAAqE;AACrE,SAAS,YAAY,CACnB,UAAwC,EACxC,UAAwC;IAExC,MAAM,KAAK,GAAoB,EAAE,CAAC;IAClC,IAAI,UAAU,CAAC,MAAM,EAAE,CAAC;QACtB,2DAA2D;QAC3D,UAAU,CAAC,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;YAC7B,IAAI,CAAC,CAAC,KAAK,KAAK,CAAC,SAAS,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,EAAE,KAAK,OAAO,CAAC,EAAE,CAAC,EAAE,CAAC;gBAC7D,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YACtB,CAAC;QACH,CAAC,CAAC,CAAC;IACL,CAAC;IACD,IAAI,UAAU,CAAC,MAAM,EAAE,CAAC;QACtB,2DAA2D;QAC3D,UAAU,CAAC,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;YAC7B,IAAI,CAAC,CAAC,KAAK,KAAK,CAAC,SAAS,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,EAAE,KAAK,OAAO,CAAC,EAAE,CAAC,EAAE,CAAC;gBAC7D,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YACtB,CAAC;QACH,CAAC,CAAC,CAAC;IACL,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,iEAAiE;AACjE,MAAM,SAAS,GAAG,CAAC,KAAsB,EAAE,EAAE;IAC3C,MAAM,WAAW,GAAoB,EAAE,CAAC;IACxC;QACE,gBAAgB,CAAC,IAAI;QACrB,gBAAgB,CAAC,MAAM;QACvB,gBAAgB,CAAC,OAAO;QACxB,gBAAgB,CAAC,KAAK;KACvB,CAAC,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;QACpB,KAAK;aACF,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,KAAK,OAAO,CAAC,OAAO,EAAE,CAAC;aAC9D,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,YAAY,GAAG,CAAC,CAAC,YAAY,CAAC;aAC/C,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;IAC/C,CAAC,CAAC,CAAC;IAEH,OAAO,WAAW,CAAC;AACrB,CAAC,CAAC;AAEF,mFAAmF;AACnF,SAAS,kBAAkB,CAAI,GAA+B;IAC5D,KAAK,MAAM,CAAC,EAAE,GAAG,CAAC,IAAI,GAAG,EAAE,CAAC;QAC1B,IAAI,GAAG,KAAK,SAAS;YAAE,OAAO,SAAS,CAAC;IAC1C,CAAC;IACD,OAAO,GAAqB,CAAC;AAC/B,CAAC;AAED,oDAAoD;AACpD,MAAM,UAAU,GAAG,CACjB,MAA2B,EAC3B,cAA+B,EAC/B,EAAE;IACF,MAAM,WAAW,GAAG,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC;IACjD,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;QACxB,MAAM,MAAM,GAAG,cAAc,CAAC,SAAS,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACpE,MAAM,MAAM,GAAG,cAAc,CAAC,SAAS,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACpE,OAAO,MAAM,GAAG,MAAM,CAAC;IACzB,CAAC,CAAC,CAAC;IAEH,OAAO,IAAI,GAAG,CAAiB,WAAW,CAAC,CAAC;AAC9C,CAAC,CAAC;AAEF,4GAA4G;AAC5G,SAAS,wBAAwB,CAC/B,KAAa,EACb,MAAgD,EAChD,aAAqB;IAErB,IAAI,aAAa,GAAG,CAAC,CAAC;IAEtB,IAAI,CAAC,GAAG,CAAC,CAAC;IACV,OAAO,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QAC9B,MAAM,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACvB,MAAM,gBAAgB,GAAG,aAAa,GAAG,CAAC,CAAC;QAC3C,IAAI,gBAAgB,GAAG,KAAK,EAAE,CAAC;YAC7B,aAAa,IAAI,aAAa,CAAC;YAC/B,MAAM;QACR,CAAC;QACD,aAAa,GAAG,gBAAgB,CAAC;IACnC,CAAC;IAED,IAAI,CAAC,GAAG,CAAC,CAAC;IACV,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;QAClB,IAAI,aAAa,IAAI,KAAK;YAAE,MAAM;QAClC,MAAM,CAAC,GAAG,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAC3B,aAAa,IAAI,CAAC,CAAC;IACrB,CAAC;IAED,MAAM,aAAa,GAAG,IAAI,KAAK,EAAU,CAAC;IAC1C,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACnC,aAAa,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACnC,CAAC;IACD,OAAO,aAAa,CAAC;AACvB,CAAC;AAED,SAAS,gBAAgB,CACvB,EAAU,EACV,eAAkD;IAElD,IAAI,CAAC,eAAe,IAAI,CAAC,KAAK,eAAe,CAAC,MAAM;QAAE,OAAO,KAAK,CAAC;IACnE,OAAO,CAAC,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,KAAK,EAAE,CAAC,CAAC;AACzD,CAAC;AAoBD;;GAEG;AACH,MAAM,UAAU,iBAAiB,CAAC,KAA6B;IAC7D,MAAM,EACJ,SAAS,EACT,KAAK,EACL,KAAK,EACL,aAAa,EACb,aAAa,EACb,eAAe,EACf,cAAc,GACf,GAAG,KAAK,CAAC;IACV,MAAM,CAAC,mBAAmB,EAAE,sBAAsB,CAAC,GAAG,KAAK,CAAC,QAAQ,CAClE,GAAG,EAAE,CAAC,IAAI,qBAAqB,CAAC,KAAK,CAAC,CACvC,CAAC;IACF,MAAM,cAAc,GAAG,KAAK,CAAC,MAAM,CAAqB,SAAS,CAAC,CAAC;IAEnE,MAAM,cAAc,GAAG,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IAC1C,KAAK,CAAC,SAAS,CAAC,GAAG,EAAE;QACnB,IAAI,cAAc,CAAC,OAAO;YAAE,cAAc,CAAC,OAAO,GAAG,KAAK,CAAC;aACtD,CAAC;YACJ,sBAAsB,CAAC,IAAI,qBAAqB,CAAC,KAAK,CAAC,CAAC,CAAC;QAC3D,CAAC;IACH,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC;IACZ,MAAM,YAAY,GAAG,wBAAwB,CAAC,mBAAmB,CAAC,CAAC;IACnE,MAAM,iBAAiB,GAAG,KAAK,CAAC,OAAO,CACrC,GAAG,EAAE,CAAC,qBAAqB,CAAC,oBAAoB,CAAC,YAAY,CAAC,EAC9D,CAAC,YAAY,CAAC,CACf,CAAC;IACF,0BAA0B,CAAC,mBAAmB,EAAE,iBAAiB,CAAC,CAAC;IAEnE,MAAM,CAAC,iBAAiB,CAAC,GAAG,KAAK,CAAC,QAAQ,CAAC,GAAG,EAAE,CAAC,IAAI,qBAAqB,EAAE,CAAC,CAAC;IAC9E,MAAM,UAAU,GAAG,gCAAgC,CAAC,iBAAiB,CAAC,CAAC;IACvE,MAAM,sBAAsB,GAAG,KAAK,CAAC,OAAO,CAC1C,GAAG,EAAE,CAAC,qBAAqB,CAAC,oBAAoB,CAAC,UAAU,CAAC,EAC5D,CAAC,UAAU,CAAC,CACb,CAAC;IACF,0BAA0B,CAAC,iBAAiB,EAAE,sBAAsB,CAAC,CAAC;IAEtE,MAAM,WAAW,GAAG,KAAK,CAAC,MAAM,CAAC,IAAI,GAAG,EAA8B,CAAC,CAAC;IACxE,MAAM,aAAa,GAAG,KAAK,CAAC,MAAM,CAAqB,SAAS,CAAC,CAAC;IAClE,MAAM,CAAC,SAAS,EAAE,YAAY,CAAC,GAAG,KAAK,CAAC,QAAQ,EAAyB,CAAC;IAC1E,MAAM,cAAc,GAAG,KAAK,CAAC,OAAO,CAAC,GAAG,EAAE;QACxC,MAAM,aAAa,GAAG,YAAY,CAAC,YAAY,EAAE,UAAU,CAAC,CAAC;QAC7D,OAAO,SAAS,CAAC,aAAa,CAAC,CAAC;IAClC,CAAC,EAAE,CAAC,YAAY,EAAE,UAAU,CAAC,CAAC,CAAC;IAC/B,MAAM,kBAAkB,GAAG,KAAK,CAAC,OAAO,CAAC,GAAG,EAAE;QAC5C,OAAO,cAAc,CAAC,MAAM,CAC1B,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,gBAAgB,CAAC,IAAI,CAAC,EAAE,EAAE,SAAS,CAAC,CAChD,CAAC;IACJ,CAAC,EAAE,CAAC,SAAS,EAAE,cAAc,CAAC,CAAC,CAAC;IAEhC,MAAM,iBAAiB,GAAG,KAAK,CAAC,WAAW,CAAC,GAAG,EAAE;QAC/C,MAAM,MAAM,GAAG,kBAAkB,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;QAEvD,IACE,cAAc,CAAC,OAAO,KAAK,SAAS;YACpC,MAAM,KAAK,SAAS;YACpB,aAAa,CAAC,OAAO,KAAK,SAAS,EACnC,CAAC;YACD,YAAY,CAAC,IAAI,KAAK,EAAU,CAAC,CAAC;YAClC,OAAO;QACT,CAAC;QAED,sBAAsB;QACtB,MAAM,YAAY,GAAG,wBAAwB,CAC3C,cAAc,CAAC,OAAO,EACtB,CAAC,GAAG,MAAM,CAAC,OAAO,EAAE,CAAC,EACrB,aAAa,CAAC,OAAO,CACtB,CAAC;QACF,IAAI,CAAC,YAAY,CAAC,SAAS,EAAE,YAAY,CAAC,EAAE,CAAC;YAC3C,YAAY,CAAC,YAAY,CAAC,CAAC;QAC7B,CAAC;IACH,CAAC,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC;IAEhB,MAAM,oBAAoB,GAAG,KAAK,CAAC,WAAW,CAC5C,CAAC,CAAS,EAAE,EAAE;QACZ,MAAM,SAAS,GAAG,aAAa,CAAC,OAAO,KAAK,CAAC,CAAC;QAC9C,aAAa,CAAC,OAAO,GAAG,CAAC,CAAC;QAC1B,SAAS,IAAI,iBAAiB,EAAE,CAAC;IACnC,CAAC,EACD,CAAC,iBAAiB,CAAC,CACpB,CAAC;IAEF,MAAM,iBAAiB,GAAG,KAAK,CAAC,WAAW,CACzC,CAAC,GAAW,EAAE,EAAE,CAAC,CAAC,CAAS,EAAE,EAAE;QAC7B,MAAM,IAAI,GAAG,WAAW,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QAC1C,IAAI,IAAI,KAAK,SAAS,IAAI,IAAI,CAAC,GAAG,CAAC,IAAI,GAAG,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC;YACjD,WAAW,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;YAChC,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;gBACvB,MAAM,MAAM,GAAG,kBAAkB,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;gBACvD,IAAI,MAAM,KAAK,SAAS;oBACtB,WAAW,CAAC,OAAO,GAAG,UAAU,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC;YAC7D,CAAC;YAED,iBAAiB,EAAE,CAAC;QACtB,CAAC;IACH,CAAC,EACD,CAAC,iBAAiB,EAAE,cAAc,CAAC,CACpC,CAAC;IAEF,MAAM,cAAc,GAAG,CAAC,OAAyB,EAAE,EAAE;QACnD,QAAQ,OAAO,EAAE,CAAC;YAChB,KAAK,gBAAgB,CAAC,MAAM,CAAC;YAC7B,KAAK,gBAAgB,CAAC,KAAK;gBACzB,OAAO,mBAAmB,CAAC;YAC7B,KAAK,gBAAgB,CAAC,OAAO;gBAC3B,OAAO,wBAAwB,CAAC;YAClC,KAAK,gBAAgB,CAAC,KAAK,CAAC;YAC5B,KAAK,gBAAgB,CAAC,SAAS;gBAC7B,OAAO,sBAAsB,CAAC;YAChC,KAAK,gBAAgB,CAAC,IAAI,CAAC;YAC3B,KAAK,gBAAgB,CAAC,OAAO;gBAC3B,OAAO,iBAAiB,CAAC;QAC7B,CAAC;IACH,CAAC,CAAC;IAEF,qEAAqE;IACrE,MAAM,YAAY,GAAG,KAAK,CAAC,WAAW,CACpC,CACE,IAAmB,EACnB,GAAW,EACX,YAAoB,EACpB,OAAyB,EACR,EAAE;QACnB,MAAM,UAAU,GAAG,cAAc,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,SAAS,CAAC;QACtE,OAAO,CACL,oBAAC,oBAAoB,IACnB,GAAG,EAAE,GAAG,EACR,QAAQ,EAAE,GAAG,EACb,WAAW,EAAE,iBAAiB;YAE9B,oBAAC,mBAAmB,IAClB,GAAG,EAAE,GAAG,EACR,MAAM,EAAE,IAAI,CAAC,EAAE,EACf,YAAY,EAAE,YAAY,EAC1B,UAAU,EAAE,UAAU,EACtB,OAAO,EAAE,cAAc,CAAC,OAAO,CAAC;gBAEhC,oBAAC,+BAA+B,CAAC,QAAQ,IACvC,KAAK,EACH,GAAG,KAAK,kBAAkB,CAAC,CAAC,CAAC,CAAC,EAAE;wBAC9B,CAAC,CAAC,aAAa;wBACf,CAAC,CAAC,CAAC,GAAG;4BACF,kBAAkB,CAAC,kBAAkB,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,EAAE;4BACpD,SAAS,EAAE,MAAM,KAAK,CAAC,CAAC;4BAC1B,gBAAgB,CAAC,GAAG,EAAE,SAAS,CAAC;4BAClC,CAAC,CAAC,cAAc;4BAChB,CAAC,CAAC,SAAS;oBAGd,qBAAqB,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,OAAO;oBAC3C,qBAAqB,CAAC,IAAI,CAAC,IAAI,CAC9B,oBAAC,4BAA4B,OAAK,IAAI,GAAI,CAC3C;oBACA,oBAAoB,CAAC,IAAI,CAAC,IAAI,CAC7B,oBAAC,2BAA2B,OAAK,IAAI,GAAI,CAC1C,CACwC,CACvB,CACD,CACxB,CAAC;IACJ,CAAC,EACD,CAAC,iBAAiB,EAAE,kBAAkB,EAAE,SAAS,CAAC,CACnD,CAAC;IAEF,MAAM,eAAe,GAAG,KAAK,CAAC,WAAW,CACvC,CAAC,OAAyB,EAAqB,EAAE;QAC/C,MAAM,YAAY,GAAG,cAAc;aAChC,MAAM,CACL,CAAC,IAAI,EAAE,EAAE,CACP,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,KAAK,OAAO,CAAC,OAAO,EAAE;YAC5C,CAAC,gBAAgB,CAAC,IAAI,CAAC,EAAE,EAAE,SAAS,CAAC;YACrC,CAAC,uBAAuB,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,CACnD;aACA,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,YAAY,GAAG,CAAC,CAAC,YAAY,CAAC,CAAC;QAEnD,OAAO,YAAY,CAAC,GAAG,CAAC,CAAC,WAAW,EAAE,EAAE,CAAC,CACvC,oBAAC,KAAK,CAAC,QAAQ,IAAC,GAAG,EAAE,WAAW,CAAC,EAAE,IAChC,YAAY,CACX,WAAW,EACX,WAAW,CAAC,EAAE,EACd,WAAW,CAAC,YAAY,EACxB,WAAW,CAAC,OAAO,CACpB,CACc,CAClB,CAAC,CAAC;IACL,CAAC,EACD,CAAC,cAAc,EAAE,SAAS,EAAE,YAAY,CAAC,CAC1C,CAAC;IAEF,MAAM,gBAAgB,GAAG,KAAK,CAAC,WAAW,CAAC,GAAsB,EAAE;QACjE,MAAM,eAAe,GAAG,cAAc;aACnC,MAAM,CACL,CAAC,IAAI,EAAE,EAAE,CACP,gBAAgB,CAAC,IAAI,CAAC,EAAE,EAAE,SAAS,CAAC;YACpC,CAAC,uBAAuB,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,CACnD;aACA,IAAI,CACH,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CACP,8BAA8B,CAAC,CAAC,CAAC,GAAG,8BAA8B,CAAC,CAAC,CAAC,CACxE;aACA,OAAO,EAAE,CAAC;QAEb,OAAO,eAAe,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CACnC,oBAAC,KAAK,CAAC,QAAQ,IAAC,GAAG,EAAE,IAAI,CAAC,EAAE,IACzB,YAAY,CAAC,IAAI,EAAE,IAAI,CAAC,EAAE,EAAE,IAAI,CAAC,YAAY,EAAE,IAAI,CAAC,OAAO,CAAC,CAC9C,CAClB,CAAC,CAAC;IACL,CAAC,EAAE,CAAC,cAAc,EAAE,SAAS,EAAE,YAAY,CAAC,CAAC,CAAC;IAE9C,MAAM,qBAAqB,GAAG,KAAK,CAAC,WAAW,CAC7C,CAAC,CAAS,EAAE,EAAE;QACZ,IACE,SAAS,KAAK,cAAc,CAAC,OAAO;YACpC,IAAI,CAAC,GAAG,CAAC,cAAc,CAAC,OAAO,GAAG,CAAC,CAAC,GAAG,CAAC,EACxC,CAAC;YACD,cAAc,CAAC,OAAO,GAAG,CAAC,CAAC;YAC3B,iBAAiB,EAAE,CAAC;QACtB,CAAC;IACH,CAAC,EACD,CAAC,iBAAiB,CAAC,CACpB,CAAC;IAEF,MAAM,YAAY,GAAG,KAAK,CAAC,MAAM,CAAiB,IAAI,CAAC,CAAC;IACxD,MAAM,iBAAiB,GAAG,iBAAiB,CAAC,qBAAqB,CAAC,CAAC;IACnE,sHAAsH;IACtH,MAAM,IAAI,GAAG,OAAO,CAAC,YAAY,EAAE,iBAAiB,CAAC,CAAC;IAEtD,MAAM,SAAS,GAAG,KAAK,CAAC,OAAO,CAC7B,GAAG,EAAE,CAAC,eAAe,CAAC,gBAAgB,CAAC,IAAI,CAAC,EAC5C,CAAC,eAAe,CAAC,CAClB,CAAC;IACF,MAAM,WAAW,GAAG,KAAK,CAAC,OAAO,CAC/B,GAAG,EAAE,CAAC,eAAe,CAAC,gBAAgB,CAAC,MAAM,CAAC,EAC9C,CAAC,eAAe,CAAC,CAClB,CAAC;IACF,MAAM,UAAU,GAAG,KAAK,CAAC,OAAO,CAC9B,GAAG,EAAE,CAAC,eAAe,CAAC,gBAAgB,CAAC,KAAK,CAAC,EAC7C,CAAC,eAAe,CAAC,CAClB,CAAC;IACF,MAAM,YAAY,GAAG,KAAK,CAAC,OAAO,CAChC,GAAG,EAAE,CAAC,eAAe,CAAC,gBAAgB,CAAC,OAAO,CAAC,EAC/C,CAAC,eAAe,CAAC,CAClB,CAAC;IACF,MAAM,aAAa,GAAG,KAAK,CAAC,OAAO,CACjC,GAAG,EAAE,CAAC,gBAAgB,EAAE,EACxB,CAAC,gBAAgB,CAAC,CACnB,CAAC;IAEF,MAAM,kBAAkB,GAAG,UAAU,CAAC,uBAAuB,EAAE,SAAS,CAAC,CAAC;IAE1E,OAAO,CACL,6BACE,SAAS,EAAE,kBAAkB,EAC7B,GAAG,EAAE,IAAI,EACT,KAAK,EAAE,KAAK,EACZ,IAAI,EAAC,cAAc;QAEnB,oBAAC,qBAAqB,IAAC,SAAS,EAAE,aAAa;YAC7C,oBAAC,oBAAoB,IAAC,SAAS,EAAE,aAAa,IAC3C,SAAS,CACW;YACvB,oBAAC,sBAAsB,IAAC,SAAS,EAAE,eAAe;gBAC/C,WAAW;gBACX,YAAY,CACU;YACzB,oBAAC,qBAAqB,IAAC,SAAS,EAAE,cAAc;gBAC7C,UAAU;gBACV,CAAC,CAAC,SAAS,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC,IAAI,CACvC,oBAAC,iBAAiB,IAChB,QAAQ,EAAE,oBAAoB,EAC9B,aAAa,EAAE,aAAa,GAC5B,CACH,CACqB,CACF,CACpB,CACP,CAAC;AACJ,CAAC","sourcesContent":["/*---------------------------------------------------------------------------------------------\n * Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n * See LICENSE.md in the project root for license terms and full copyright notice.\n *--------------------------------------------------------------------------------------------*/\n/** @packageDocumentation\n * @module StatusBar\n */\n\nimport {\n ConditionalBooleanValue,\n ConditionalStringValue,\n} from \"@itwin/appui-abstract\";\nimport type { CommonProps } from \"@itwin/core-react\";\nimport { useRefs, useResizeObserver } from \"@itwin/core-react\";\nimport classnames from \"classnames\";\nimport * as React from \"react\";\nimport { eqlOverflown } from \"../layout/tool-settings/Docked\";\nimport { StatusBarLabelIndicator } from \"../statusbar/LabelIndicator\";\nimport { SyncUiEventDispatcher } from \"../syncui/SyncUiEventDispatcher\";\nimport { isProviderItem } from \"../ui-items-provider/isProviderItem\";\nimport { StatusBarOverflow } from \"./Overflow\";\nimport {\n StatusBarCenterSection,\n StatusBarLeftSection,\n StatusBarRightSection,\n StatusBarSpaceBetween,\n} from \"./StatusBar\";\nimport type {\n StatusBarActionItem,\n StatusBarItem,\n StatusBarLabelItem,\n} from \"./StatusBarItem\";\nimport {\n isStatusBarActionItem,\n isStatusBarCustomItem,\n isStatusBarLabelItem,\n StatusBarSection,\n} from \"./StatusBarItem\";\nimport { StatusBarItemsManager } from \"./StatusBarItemsManager\";\nimport { useDefaultStatusBarItems } from \"./useDefaultStatusBarItems\";\nimport { useUiItemsProviderStatusBarItems } from \"./useUiItemsProviderStatusBarItems\";\nimport { StatusBarCornerComponentContext } from \"./StatusBarCornerComponentContext\";\n\n/** Private function to generate a value that will allow the proper order to be maintained when items are placed in overflow panel */\nfunction getCombinedSectionItemPriority(item: StatusBarItem) {\n let sectionValue = 0;\n if (item.section === StatusBarSection.Center) sectionValue = 100000;\n else if (item.section === StatusBarSection.Context) sectionValue = 200000;\n else if (item.section === StatusBarSection.Right) sectionValue = 300000;\n return sectionValue + item.itemPriority;\n}\n\ninterface DockedStatusBarEntryContextArg {\n readonly isOverflown: boolean;\n readonly onResize: (w: number) => void;\n}\n\nconst DockedStatusBarEntryContext =\n React.createContext<DockedStatusBarEntryContextArg>(null!);\nDockedStatusBarEntryContext.displayName = \"nz:DockedStatusBarEntryContext\";\n\n/** @internal */\nexport function useStatusBarEntry() {\n return React.useContext(DockedStatusBarEntryContext);\n}\n\n/** Properties of [[DockedStatusBarItem]] component.\n * @internal future\n */\n// eslint-disable-next-line deprecation/deprecation\nexport interface StatusBarItemProps extends CommonProps {\n /** Tool setting content. */\n children?: React.ReactNode;\n itemPriority?: number;\n providerId?: string;\n section?: string;\n}\n\n/** Used in [[StatusBarComposer]] component to display a statusbar item.\n * @internal future\n */\nexport function DockedStatusBarItem(props: StatusBarItemProps) {\n const { onResize } = useStatusBarEntry();\n const ref = useResizeObserver<HTMLDivElement>(onResize);\n const className = classnames(\n \"uifw-statusBar-item-container\",\n props.className\n );\n return (\n <div\n data-item-id={props.itemId}\n data-item-type=\"status-bar-item\"\n data-item-location={props.section}\n data-item-priority={props.itemPriority}\n data-item-provider-id={props.providerId}\n className={className}\n ref={ref}\n style={props.style}\n >\n {props.children}\n </div>\n );\n}\n\ninterface DockedStatusBarEntryProps {\n children?: React.ReactNode;\n entryKey: string;\n getOnResize: (key: string) => (w: number) => void;\n}\n\n/** Wrapper for status bar entries so their size can be used to determine if the status bar container can display them or if they will need to be placed in an overflow panel. */\nfunction DockedStatusBarEntry({\n children,\n entryKey,\n getOnResize,\n}: DockedStatusBarEntryProps) {\n const onResize = React.useMemo(\n () => getOnResize(entryKey),\n [getOnResize, entryKey]\n );\n const entry = React.useMemo<DockedStatusBarEntryContextArg>(\n () => ({\n isOverflown: false,\n onResize,\n }),\n [onResize]\n );\n return (\n <DockedStatusBarEntryContext.Provider value={entry}>\n {children}\n </DockedStatusBarEntryContext.Provider>\n );\n}\n\n/** Private function to set up sync event monitoring of statusbar items */\nfunction useStatusBarItemSyncEffect(\n itemsManager: StatusBarItemsManager,\n syncIdsOfInterest: string[]\n) {\n React.useEffect(() => {\n // Note: that items with conditions have condition run when loaded into the items manager\n return SyncUiEventDispatcher.onSyncUiEvent.addListener((args) => {\n if (0 === syncIdsOfInterest.length) return;\n\n if (\n syncIdsOfInterest.some((value: string): boolean =>\n args.eventIds.has(value.toLowerCase())\n )\n ) {\n // process each item that has interest\n itemsManager.refreshAffectedItems(args.eventIds);\n }\n });\n }, [itemsManager, itemsManager.items, syncIdsOfInterest]);\n}\n\nfunction StatusBarLabelItemComponent(props: StatusBarLabelItem) {\n const label = ConditionalStringValue.getValue(props.label);\n // eslint-disable-next-line deprecation/deprecation\n return <StatusBarLabelIndicator iconSpec={props.icon} label={label} />;\n}\n\nfunction StatusBarActionItemComponent(props: StatusBarActionItem) {\n const title = ConditionalStringValue.getValue(props.tooltip);\n return (\n // eslint-disable-next-line deprecation/deprecation\n <StatusBarLabelIndicator\n title={title}\n onClick={props.execute}\n // eslint-disable-next-line deprecation/deprecation\n iconSpec={props.icon}\n />\n );\n}\n\n/** local function to combine items from Stage and from Extensions */\nfunction combineItems(\n stageItems: ReadonlyArray<StatusBarItem>,\n addonItems: ReadonlyArray<StatusBarItem>\n) {\n const items: StatusBarItem[] = [];\n if (stageItems.length) {\n // Walk through each and ensure no duplicate ids are added.\n stageItems.forEach((srcItem) => {\n if (-1 === items.findIndex((item) => item.id === srcItem.id)) {\n items.push(srcItem);\n }\n });\n }\n if (addonItems.length) {\n // Walk through each and ensure no duplicate ids are added.\n addonItems.forEach((srcItem) => {\n if (-1 === items.findIndex((item) => item.id === srcItem.id)) {\n items.push(srcItem);\n }\n });\n }\n return items;\n}\n\n/** local function to sort status bar items from left to right */\nconst sortItems = (items: StatusBarItem[]) => {\n const sortedItems: StatusBarItem[] = [];\n [\n StatusBarSection.Left,\n StatusBarSection.Center,\n StatusBarSection.Context,\n StatusBarSection.Right,\n ].forEach((section) => {\n items\n .filter((item) => item.section.valueOf() === section.valueOf())\n .sort((a, b) => a.itemPriority - b.itemPriority)\n .forEach((item) => sortedItems.push(item));\n });\n\n return sortedItems;\n};\n\n/** local function to ensure a width value is defined for a status bar entries. */\nfunction verifiedMapEntries<T>(map: Map<string, T | undefined>) {\n for (const [, val] of map) {\n if (val === undefined) return undefined;\n }\n return map as Map<string, T>;\n}\n\n/** local function to sort status bar item widths */\nconst sortWidths = (\n widths: Map<string, number>,\n statusBarItems: StatusBarItem[]\n) => {\n const widthsArray = Array.from(widths.entries());\n widthsArray.sort((a, b) => {\n const aIndex = statusBarItems.findIndex((item) => item.id === a[0]);\n const bIndex = statusBarItems.findIndex((item) => item.id === b[0]);\n return aIndex - bIndex;\n });\n\n return new Map<string, number>(widthsArray);\n};\n\n/** Returns a subset of docked entry keys that exceed given width and should be placed in overflow panel. */\nfunction getItemToPlaceInOverflow(\n width: number,\n docked: ReadonlyArray<readonly [string, number]>,\n overflowWidth: number\n) {\n let settingsWidth = 0;\n\n let i = 0;\n for (; i < docked.length; i++) {\n const w = docked[i][1];\n const newSettingsWidth = settingsWidth + w;\n if (newSettingsWidth > width) {\n settingsWidth += overflowWidth;\n break;\n }\n settingsWidth = newSettingsWidth;\n }\n\n let j = i;\n for (; j > 0; j--) {\n if (settingsWidth <= width) break;\n const w = docked[j - 1][1];\n settingsWidth -= w;\n }\n\n const overflowItems = new Array<string>();\n for (i = j; i < docked.length; i++) {\n overflowItems.push(docked[i][0]);\n }\n return overflowItems;\n}\n\nfunction isItemInOverflow(\n id: string,\n overflowItemIds: ReadonlyArray<string> | undefined\n) {\n if (!overflowItemIds || 0 === overflowItemIds.length) return false;\n return !!overflowItemIds.find((value) => value === id);\n}\n\n/** Properties for the [[StatusBarComposer]] React components\n * @public\n */\n// eslint-disable-next-line deprecation/deprecation\nexport interface StatusBarComposerProps extends CommonProps {\n /** Status Bar items */\n items: StatusBarItem[];\n\n /** CSS class name override for the overall Status Bar */\n mainClassName?: string;\n /** CSS class name override for the left section */\n leftClassName?: string;\n /** CSS class name override for the center section */\n centerClassName?: string;\n /** CSS class name override for the right section */\n rightClassName?: string;\n}\n\n/** Component to load components into the [[StatusBar]].\n * @public\n */\nexport function StatusBarComposer(props: StatusBarComposerProps) {\n const {\n className,\n style,\n items,\n mainClassName,\n leftClassName,\n centerClassName,\n rightClassName,\n } = props;\n const [defaultItemsManager, setDefaultItemsManager] = React.useState(\n () => new StatusBarItemsManager(items)\n );\n const containerWidth = React.useRef<number | undefined>(undefined);\n\n const isInitialMount = React.useRef(true);\n React.useEffect(() => {\n if (isInitialMount.current) isInitialMount.current = false;\n else {\n setDefaultItemsManager(new StatusBarItemsManager(items));\n }\n }, [items]);\n const defaultItems = useDefaultStatusBarItems(defaultItemsManager);\n const syncIdsOfInterest = React.useMemo(\n () => StatusBarItemsManager.getSyncIdsOfInterest(defaultItems),\n [defaultItems]\n );\n useStatusBarItemSyncEffect(defaultItemsManager, syncIdsOfInterest);\n\n const [addonItemsManager] = React.useState(() => new StatusBarItemsManager());\n const addonItems = useUiItemsProviderStatusBarItems(addonItemsManager);\n const addonSyncIdsOfInterest = React.useMemo(\n () => StatusBarItemsManager.getSyncIdsOfInterest(addonItems),\n [addonItems]\n );\n useStatusBarItemSyncEffect(addonItemsManager, addonSyncIdsOfInterest);\n\n const entryWidths = React.useRef(new Map<string, number | undefined>());\n const overflowWidth = React.useRef<number | undefined>(undefined);\n const [overflown, setOverflown] = React.useState<ReadonlyArray<string>>();\n const statusBarItems = React.useMemo(() => {\n const combinedItems = combineItems(defaultItems, addonItems);\n return sortItems(combinedItems);\n }, [defaultItems, addonItems]);\n const itemsNotInOverflow = React.useMemo(() => {\n return statusBarItems.filter(\n (item) => !isItemInOverflow(item.id, overflown)\n );\n }, [overflown, statusBarItems]);\n\n const calculateOverflow = React.useCallback(() => {\n const widths = verifiedMapEntries(entryWidths.current);\n\n if (\n containerWidth.current === undefined ||\n widths === undefined ||\n overflowWidth.current === undefined\n ) {\n setOverflown(new Array<string>());\n return;\n }\n\n // Calculate overflow.\n const newOverflown = getItemToPlaceInOverflow(\n containerWidth.current,\n [...widths.entries()],\n overflowWidth.current\n );\n if (!eqlOverflown(overflown, newOverflown)) {\n setOverflown(newOverflown);\n }\n }, [overflown]);\n\n const handleOverflowResize = React.useCallback(\n (w: number) => {\n const calculate = overflowWidth.current !== w;\n overflowWidth.current = w;\n calculate && calculateOverflow();\n },\n [calculateOverflow]\n );\n\n const handleEntryResize = React.useCallback(\n (key: string) => (w: number) => {\n const oldW = entryWidths.current.get(key);\n if (oldW === undefined || Math.abs(oldW - w) > 2) {\n entryWidths.current.set(key, w);\n if (oldW === undefined) {\n const widths = verifiedMapEntries(entryWidths.current);\n if (widths !== undefined)\n entryWidths.current = sortWidths(widths, statusBarItems);\n }\n\n calculateOverflow();\n }\n },\n [calculateOverflow, statusBarItems]\n );\n\n const getSectionName = (section: StatusBarSection) => {\n switch (section) {\n case StatusBarSection.Center:\n case StatusBarSection.Stage:\n return \"status-bar-center\";\n case StatusBarSection.Context:\n return \"status-bar-right-start\";\n case StatusBarSection.Right:\n case StatusBarSection.Selection:\n return \"status-bar-right-end\";\n case StatusBarSection.Left:\n case StatusBarSection.Message:\n return \"status-bar-left\";\n }\n };\n\n /** generate a wrapped status bar entry that will report its size. */\n const getComponent = React.useCallback(\n (\n item: StatusBarItem,\n key: string,\n itemPriority: number,\n section: StatusBarSection\n ): React.ReactNode => {\n const providerId = isProviderItem(item) ? item.providerId : undefined;\n return (\n <DockedStatusBarEntry\n key={key}\n entryKey={key}\n getOnResize={handleEntryResize}\n >\n <DockedStatusBarItem\n key={key}\n itemId={item.id}\n itemPriority={itemPriority}\n providerId={providerId}\n section={getSectionName(section)}\n >\n <StatusBarCornerComponentContext.Provider\n value={\n key === itemsNotInOverflow[0].id\n ? \"left-corner\"\n : (key ===\n itemsNotInOverflow[itemsNotInOverflow.length - 1].id &&\n overflown?.length === 0) ||\n isItemInOverflow(key, overflown)\n ? \"right-corner\"\n : undefined\n }\n >\n {isStatusBarCustomItem(item) && item.content}\n {isStatusBarActionItem(item) && (\n <StatusBarActionItemComponent {...item} />\n )}\n {isStatusBarLabelItem(item) && (\n <StatusBarLabelItemComponent {...item} />\n )}\n </StatusBarCornerComponentContext.Provider>\n </DockedStatusBarItem>\n </DockedStatusBarEntry>\n );\n },\n [handleEntryResize, itemsNotInOverflow, overflown]\n );\n\n const getSectionItems = React.useCallback(\n (section: StatusBarSection): React.ReactNode[] => {\n const sectionItems = statusBarItems\n .filter(\n (item) =>\n item.section.valueOf() === section.valueOf() &&\n !isItemInOverflow(item.id, overflown) &&\n !ConditionalBooleanValue.getValue(item.isHidden)\n )\n .sort((a, b) => a.itemPriority - b.itemPriority);\n\n return sectionItems.map((sectionItem) => (\n <React.Fragment key={sectionItem.id}>\n {getComponent(\n sectionItem,\n sectionItem.id,\n sectionItem.itemPriority,\n sectionItem.section\n )}\n </React.Fragment>\n ));\n },\n [statusBarItems, overflown, getComponent]\n );\n\n const getOverflowItems = React.useCallback((): React.ReactNode[] => {\n const itemsInOverflow = statusBarItems\n .filter(\n (item) =>\n isItemInOverflow(item.id, overflown) &&\n !ConditionalBooleanValue.getValue(item.isHidden)\n )\n .sort(\n (a, b) =>\n getCombinedSectionItemPriority(a) - getCombinedSectionItemPriority(b)\n )\n .reverse();\n\n return itemsInOverflow.map((item) => (\n <React.Fragment key={item.id}>\n {getComponent(item, item.id, item.itemPriority, item.section)}\n </React.Fragment>\n ));\n }, [statusBarItems, overflown, getComponent]);\n\n const handleContainerResize = React.useCallback(\n (w: number) => {\n if (\n undefined === containerWidth.current ||\n Math.abs(containerWidth.current - w) > 2\n ) {\n containerWidth.current = w;\n calculateOverflow();\n }\n },\n [calculateOverflow]\n );\n\n const containerRef = React.useRef<HTMLDivElement>(null);\n const resizeObserverRef = useResizeObserver(handleContainerResize);\n // allow both the containerRef and the resize observer function that takes a ref to be processed when the ref is set.\n const refs = useRefs(containerRef, resizeObserverRef);\n\n const leftItems = React.useMemo(\n () => getSectionItems(StatusBarSection.Left),\n [getSectionItems]\n );\n const centerItems = React.useMemo(\n () => getSectionItems(StatusBarSection.Center),\n [getSectionItems]\n );\n const rightItems = React.useMemo(\n () => getSectionItems(StatusBarSection.Right),\n [getSectionItems]\n );\n const contextItems = React.useMemo(\n () => getSectionItems(StatusBarSection.Context),\n [getSectionItems]\n );\n const overflowItems = React.useMemo(\n () => getOverflowItems(),\n [getOverflowItems]\n );\n\n const containerClassName = classnames(\"uifw-statusBar-docked\", className);\n\n return (\n <div\n className={containerClassName}\n ref={refs}\n style={style}\n role=\"presentation\"\n >\n <StatusBarSpaceBetween className={mainClassName}>\n <StatusBarLeftSection className={leftClassName}>\n {leftItems}\n </StatusBarLeftSection>\n <StatusBarCenterSection className={centerClassName}>\n {centerItems}\n {contextItems}\n </StatusBarCenterSection>\n <StatusBarRightSection className={rightClassName}>\n {rightItems}\n {(!overflown || overflown.length > 0) && (\n <StatusBarOverflow\n onResize={handleOverflowResize}\n overflowItems={overflowItems}\n />\n )}\n </StatusBarRightSection>\n </StatusBarSpaceBetween>\n </div>\n );\n}\n"]}
|
|
1
|
+
{"version":3,"file":"StatusBarComposer.js","sourceRoot":"","sources":["../../../../src/appui-react/statusbar/StatusBarComposer.tsx"],"names":[],"mappings":"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","sourcesContent":["/*---------------------------------------------------------------------------------------------\n * Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n * See LICENSE.md in the project root for license terms and full copyright notice.\n *--------------------------------------------------------------------------------------------*/\n/** @packageDocumentation\n * @module StatusBar\n */\n\nimport {\n ConditionalBooleanValue,\n ConditionalStringValue,\n} from \"@itwin/appui-abstract\";\nimport type { CommonProps } from \"@itwin/core-react\";\nimport { useRefs, useResizeObserver } from \"@itwin/core-react\";\nimport classnames from \"classnames\";\nimport * as React from \"react\";\nimport { eqlOverflown } from \"../layout/tool-settings/Docked\";\nimport { StatusBarLabelIndicator } from \"../statusbar/LabelIndicator\";\nimport { SyncUiEventDispatcher } from \"../syncui/SyncUiEventDispatcher\";\nimport { isProviderItem } from \"../ui-items-provider/isProviderItem\";\nimport { StatusBarOverflow } from \"./Overflow\";\nimport {\n StatusBarCenterSection,\n StatusBarLeftSection,\n StatusBarRightSection,\n StatusBarSpaceBetween,\n} from \"./StatusBar\";\nimport type {\n StatusBarActionItem,\n StatusBarItem,\n StatusBarLabelItem,\n} from \"./StatusBarItem\";\nimport {\n isStatusBarActionItem,\n isStatusBarCustomItem,\n isStatusBarLabelItem,\n StatusBarSection,\n} from \"./StatusBarItem\";\nimport { StatusBarItemsManager } from \"./StatusBarItemsManager\";\nimport { useDefaultStatusBarItems } from \"./useDefaultStatusBarItems\";\nimport { useUiItemsProviderStatusBarItems } from \"./useUiItemsProviderStatusBarItems\";\nimport { StatusBarCornerComponentContext } from \"./StatusBarCornerComponentContext\";\n\n/** Private function to generate a value that will allow the proper order to be maintained when items are placed in overflow panel */\nfunction getCombinedSectionItemPriority(item: StatusBarItem) {\n let sectionValue = 0;\n if (item.section === StatusBarSection.Center) sectionValue = 100000;\n else if (item.section === StatusBarSection.Context) sectionValue = 200000;\n else if (item.section === StatusBarSection.Right) sectionValue = 300000;\n return sectionValue + item.itemPriority;\n}\n\ninterface DockedStatusBarEntryContextArg {\n readonly isOverflown: boolean;\n readonly onResize: (w: number) => void;\n}\n\nconst DockedStatusBarEntryContext =\n React.createContext<DockedStatusBarEntryContextArg>(null!);\nDockedStatusBarEntryContext.displayName = \"nz:DockedStatusBarEntryContext\";\n\n/** @internal */\nexport function useStatusBarEntry() {\n return React.useContext(DockedStatusBarEntryContext);\n}\n\n/** Properties of [[DockedStatusBarItem]] component.\n * @internal future\n */\n// eslint-disable-next-line deprecation/deprecation\nexport interface StatusBarItemProps extends CommonProps {\n /** Tool setting content. */\n children?: React.ReactNode;\n itemPriority?: number;\n providerId?: string;\n section?: string;\n}\n\n/** Used in [[StatusBarComposer]] component to display a statusbar item.\n * @internal future\n */\nexport function DockedStatusBarItem(props: StatusBarItemProps) {\n const { onResize } = useStatusBarEntry();\n const ref = useResizeObserver<HTMLDivElement>(onResize);\n const className = classnames(\n \"uifw-statusBar-item-container\",\n props.className\n );\n return (\n <div\n data-item-id={props.itemId}\n data-item-type=\"status-bar-item\"\n data-item-location={props.section}\n data-item-priority={props.itemPriority}\n data-item-provider-id={props.providerId}\n className={className}\n ref={ref}\n style={props.style}\n >\n {props.children}\n </div>\n );\n}\n\ninterface DockedStatusBarEntryProps {\n children?: React.ReactNode;\n entryKey: string;\n getOnResize: (key: string) => (w: number) => void;\n}\n\n/** Wrapper for status bar entries so their size can be used to determine if the status bar container can display them or if they will need to be placed in an overflow panel. */\nfunction DockedStatusBarEntry({\n children,\n entryKey,\n getOnResize,\n}: DockedStatusBarEntryProps) {\n const onResize = React.useMemo(\n () => getOnResize(entryKey),\n [getOnResize, entryKey]\n );\n const entry = React.useMemo<DockedStatusBarEntryContextArg>(\n () => ({\n isOverflown: false,\n onResize,\n }),\n [onResize]\n );\n return (\n <DockedStatusBarEntryContext.Provider value={entry}>\n {children}\n </DockedStatusBarEntryContext.Provider>\n );\n}\n\n/** Private function to set up sync event monitoring of statusbar items */\nfunction useStatusBarItemSyncEffect(\n itemsManager: StatusBarItemsManager,\n syncIdsOfInterest: string[]\n) {\n React.useEffect(() => {\n // Note: that items with conditions have condition run when loaded into the items manager\n return SyncUiEventDispatcher.onSyncUiEvent.addListener((args) => {\n if (0 === syncIdsOfInterest.length) return;\n\n if (\n syncIdsOfInterest.some((value: string): boolean =>\n args.eventIds.has(value.toLowerCase())\n )\n ) {\n // process each item that has interest\n itemsManager.refreshAffectedItems(args.eventIds);\n }\n });\n }, [itemsManager, itemsManager.items, syncIdsOfInterest]);\n}\n\nfunction StatusBarLabelItemComponent(props: StatusBarLabelItem) {\n const label = ConditionalStringValue.getValue(props.label);\n // eslint-disable-next-line deprecation/deprecation\n return <StatusBarLabelIndicator iconSpec={props.icon} label={label} />;\n}\n\nfunction StatusBarActionItemComponent(props: StatusBarActionItem) {\n const title = ConditionalStringValue.getValue(props.tooltip);\n return (\n // eslint-disable-next-line deprecation/deprecation\n <StatusBarLabelIndicator\n title={title}\n onClick={props.execute}\n // eslint-disable-next-line deprecation/deprecation\n iconSpec={props.icon}\n />\n );\n}\n\n/** local function to combine items from Stage and from Extensions */\nfunction combineItems(\n stageItems: ReadonlyArray<StatusBarItem>,\n addonItems: ReadonlyArray<StatusBarItem>\n) {\n const items: StatusBarItem[] = [];\n if (stageItems.length) {\n // Walk through each and ensure no duplicate ids are added.\n stageItems.forEach((srcItem) => {\n if (-1 === items.findIndex((item) => item.id === srcItem.id)) {\n items.push(srcItem);\n }\n });\n }\n if (addonItems.length) {\n // Walk through each and ensure no duplicate ids are added.\n addonItems.forEach((srcItem) => {\n if (-1 === items.findIndex((item) => item.id === srcItem.id)) {\n items.push(srcItem);\n }\n });\n }\n return items;\n}\n\n/** local function to sort status bar items from left to right */\nconst sortItems = (items: StatusBarItem[]) => {\n const sortedItems: StatusBarItem[] = [];\n [\n StatusBarSection.Left,\n StatusBarSection.Center,\n StatusBarSection.Context,\n StatusBarSection.Right,\n ].forEach((section) => {\n items\n .filter((item) => item.section.valueOf() === section.valueOf())\n .sort((a, b) => a.itemPriority - b.itemPriority)\n .forEach((item) => sortedItems.push(item));\n });\n\n return sortedItems;\n};\n\n/** local function to ensure a width value is defined for a status bar entries. */\nfunction verifiedMapEntries<T>(map: Map<string, T | undefined>) {\n for (const [, val] of map) {\n if (val === undefined) return undefined;\n }\n return map as Map<string, T>;\n}\n\n/** local function to sort status bar item widths */\nconst sortWidths = (\n widths: Map<string, number>,\n statusBarItems: StatusBarItem[]\n) => {\n const widthsArray = Array.from(widths.entries());\n widthsArray.sort((a, b) => {\n const aIndex = statusBarItems.findIndex((item) => item.id === a[0]);\n const bIndex = statusBarItems.findIndex((item) => item.id === b[0]);\n return aIndex - bIndex;\n });\n\n return new Map<string, number>(widthsArray);\n};\n\n/** Returns a subset of docked entry keys that exceed given width and should be placed in overflow panel. */\nfunction getItemToPlaceInOverflow(\n width: number,\n docked: ReadonlyArray<readonly [string, number]>,\n overflowWidth: number\n) {\n let settingsWidth = 0;\n\n let i = 0;\n for (; i < docked.length; i++) {\n const w = docked[i][1];\n const newSettingsWidth = settingsWidth + w;\n if (newSettingsWidth > width) {\n settingsWidth += overflowWidth;\n break;\n }\n settingsWidth = newSettingsWidth;\n }\n\n let j = i;\n for (; j > 0; j--) {\n if (settingsWidth <= width) break;\n const w = docked[j - 1][1];\n settingsWidth -= w;\n }\n\n const overflowItems = new Array<string>();\n for (i = j; i < docked.length; i++) {\n overflowItems.push(docked[i][0]);\n }\n return overflowItems;\n}\n\nfunction isItemInOverflow(\n id: string,\n overflowItemIds: ReadonlyArray<string> | undefined\n) {\n if (!overflowItemIds || 0 === overflowItemIds.length) return false;\n return !!overflowItemIds.find((value) => value === id);\n}\n\n/** Properties for the [[StatusBarComposer]] React components\n * @public\n * @deprecated in 4.17.0. Use `React.ComponentProps<typeof StatusBarComposer>`\n */\n// eslint-disable-next-line deprecation/deprecation\nexport interface StatusBarComposerProps extends CommonProps {\n /** Status Bar items */\n items: StatusBarItem[];\n\n /** CSS class name override for the overall Status Bar */\n mainClassName?: string;\n /** CSS class name override for the left section */\n leftClassName?: string;\n /** CSS class name override for the center section */\n centerClassName?: string;\n /** CSS class name override for the right section */\n rightClassName?: string;\n}\n\n/** Component to load components into the [[StatusBar]].\n * @public\n */\n// eslint-disable-next-line deprecation/deprecation\nexport function StatusBarComposer(props: StatusBarComposerProps) {\n const {\n className,\n style,\n items,\n mainClassName,\n leftClassName,\n centerClassName,\n rightClassName,\n } = props;\n const [defaultItemsManager, setDefaultItemsManager] = React.useState(\n () => new StatusBarItemsManager(items)\n );\n const containerWidth = React.useRef<number | undefined>(undefined);\n\n const isInitialMount = React.useRef(true);\n React.useEffect(() => {\n if (isInitialMount.current) isInitialMount.current = false;\n else {\n setDefaultItemsManager(new StatusBarItemsManager(items));\n }\n }, [items]);\n // eslint-disable-next-line deprecation/deprecation\n const defaultItems = useDefaultStatusBarItems(defaultItemsManager);\n const syncIdsOfInterest = React.useMemo(\n () => StatusBarItemsManager.getSyncIdsOfInterest(defaultItems),\n [defaultItems]\n );\n useStatusBarItemSyncEffect(defaultItemsManager, syncIdsOfInterest);\n\n const [addonItemsManager] = React.useState(() => new StatusBarItemsManager());\n // eslint-disable-next-line deprecation/deprecation\n const addonItems = useUiItemsProviderStatusBarItems(addonItemsManager);\n const addonSyncIdsOfInterest = React.useMemo(\n () => StatusBarItemsManager.getSyncIdsOfInterest(addonItems),\n [addonItems]\n );\n useStatusBarItemSyncEffect(addonItemsManager, addonSyncIdsOfInterest);\n\n const entryWidths = React.useRef(new Map<string, number | undefined>());\n const overflowWidth = React.useRef<number | undefined>(undefined);\n const [overflown, setOverflown] = React.useState<ReadonlyArray<string>>();\n const statusBarItems = React.useMemo(() => {\n const combinedItems = combineItems(defaultItems, addonItems);\n return sortItems(combinedItems);\n }, [defaultItems, addonItems]);\n const notOverflown = React.useMemo(() => {\n return statusBarItems\n .filter((item) => !isItemInOverflow(item.id, overflown))\n .map((item) => item.id);\n }, [overflown, statusBarItems]);\n\n const calculateOverflow = React.useCallback(() => {\n const widths = verifiedMapEntries(entryWidths.current);\n\n if (\n containerWidth.current === undefined ||\n widths === undefined ||\n overflowWidth.current === undefined\n ) {\n setOverflown(new Array<string>());\n return;\n }\n\n // Calculate overflow.\n const newOverflown = getItemToPlaceInOverflow(\n containerWidth.current,\n [...widths.entries()],\n overflowWidth.current\n );\n if (!eqlOverflown(overflown, newOverflown)) {\n setOverflown(newOverflown);\n }\n }, [overflown]);\n\n const handleOverflowResize = React.useCallback(\n (w: number) => {\n const calculate = overflowWidth.current !== w;\n overflowWidth.current = w;\n calculate && calculateOverflow();\n },\n [calculateOverflow]\n );\n\n const handleEntryResize = React.useCallback(\n (key: string) => (w: number) => {\n const oldW = entryWidths.current.get(key);\n if (oldW === undefined || Math.abs(oldW - w) > 2) {\n entryWidths.current.set(key, w);\n if (oldW === undefined) {\n const widths = verifiedMapEntries(entryWidths.current);\n if (widths !== undefined)\n entryWidths.current = sortWidths(widths, statusBarItems);\n }\n\n calculateOverflow();\n }\n },\n [calculateOverflow, statusBarItems]\n );\n\n const getSectionName = (section: StatusBarSection) => {\n switch (section) {\n case StatusBarSection.Center:\n case StatusBarSection.Stage:\n return \"status-bar-center\";\n case StatusBarSection.Context:\n return \"status-bar-right-start\";\n case StatusBarSection.Right:\n case StatusBarSection.Selection:\n return \"status-bar-right-end\";\n case StatusBarSection.Left:\n case StatusBarSection.Message:\n return \"status-bar-left\";\n }\n };\n\n /** generate a wrapped status bar entry that will report its size. */\n const getComponent = React.useCallback(\n (\n item: StatusBarItem,\n key: string,\n itemPriority: number,\n section: StatusBarSection\n ): React.ReactNode => {\n const providerId = isProviderItem(item) ? item.providerId : undefined;\n return (\n <DockedStatusBarEntry\n key={key}\n entryKey={key}\n getOnResize={handleEntryResize}\n >\n <DockedStatusBarItem\n key={key}\n itemId={item.id}\n itemPriority={itemPriority}\n providerId={providerId}\n section={getSectionName(section)}\n >\n <StatusBarCornerComponentContext.Provider\n value={\n key === notOverflown[0]\n ? \"left-corner\"\n : (key === notOverflown[notOverflown.length - 1] &&\n overflown?.length === 0) ||\n isItemInOverflow(key, overflown)\n ? \"right-corner\"\n : undefined\n }\n >\n {isStatusBarCustomItem(item) && item.content}\n {isStatusBarActionItem(item) && (\n <StatusBarActionItemComponent {...item} />\n )}\n {isStatusBarLabelItem(item) && (\n <StatusBarLabelItemComponent {...item} />\n )}\n </StatusBarCornerComponentContext.Provider>\n </DockedStatusBarItem>\n </DockedStatusBarEntry>\n );\n },\n [handleEntryResize, notOverflown, overflown]\n );\n\n const getSectionItems = React.useCallback(\n (section: StatusBarSection): React.ReactNode[] => {\n const sectionItems = statusBarItems\n .filter(\n (item) =>\n item.section.valueOf() === section.valueOf() &&\n !isItemInOverflow(item.id, overflown) &&\n !ConditionalBooleanValue.getValue(item.isHidden)\n )\n .sort((a, b) => a.itemPriority - b.itemPriority);\n\n return sectionItems.map((sectionItem) => (\n <React.Fragment key={sectionItem.id}>\n {getComponent(\n sectionItem,\n sectionItem.id,\n sectionItem.itemPriority,\n sectionItem.section\n )}\n </React.Fragment>\n ));\n },\n [statusBarItems, overflown, getComponent]\n );\n\n const getOverflowItems = React.useCallback((): React.ReactNode[] => {\n const itemsInOverflow = statusBarItems\n .filter(\n (item) =>\n isItemInOverflow(item.id, overflown) &&\n !ConditionalBooleanValue.getValue(item.isHidden)\n )\n .sort(\n (a, b) =>\n getCombinedSectionItemPriority(a) - getCombinedSectionItemPriority(b)\n )\n .reverse();\n\n return itemsInOverflow.map((item) => (\n <React.Fragment key={item.id}>\n {getComponent(item, item.id, item.itemPriority, item.section)}\n </React.Fragment>\n ));\n }, [statusBarItems, overflown, getComponent]);\n\n const handleContainerResize = React.useCallback(\n (w: number) => {\n if (\n undefined === containerWidth.current ||\n Math.abs(containerWidth.current - w) > 2\n ) {\n containerWidth.current = w;\n calculateOverflow();\n }\n },\n [calculateOverflow]\n );\n\n const containerRef = React.useRef<HTMLDivElement>(null);\n const resizeObserverRef = useResizeObserver(handleContainerResize);\n // allow both the containerRef and the resize observer function that takes a ref to be processed when the ref is set.\n const refs = useRefs(containerRef, resizeObserverRef);\n\n const leftItems = React.useMemo(\n () => getSectionItems(StatusBarSection.Left),\n [getSectionItems]\n );\n const centerItems = React.useMemo(\n () => getSectionItems(StatusBarSection.Center),\n [getSectionItems]\n );\n const rightItems = React.useMemo(\n () => getSectionItems(StatusBarSection.Right),\n [getSectionItems]\n );\n const contextItems = React.useMemo(\n () => getSectionItems(StatusBarSection.Context),\n [getSectionItems]\n );\n const overflowItems = React.useMemo(\n () => getOverflowItems(),\n [getOverflowItems]\n );\n\n const containerClassName = classnames(\"uifw-statusBar-docked\", className);\n\n return (\n <div\n className={containerClassName}\n ref={refs}\n style={style}\n role=\"presentation\"\n >\n <StatusBarSpaceBetween className={mainClassName}>\n <StatusBarLeftSection className={leftClassName}>\n {leftItems}\n </StatusBarLeftSection>\n <StatusBarCenterSection className={centerClassName}>\n {centerItems}\n {contextItems}\n </StatusBarCenterSection>\n <StatusBarRightSection className={rightClassName}>\n {rightItems}\n {(!overflown || overflown.length > 0) && (\n <StatusBarOverflow\n onResize={handleOverflowResize}\n overflowItems={overflowItems}\n />\n )}\n </StatusBarRightSection>\n </StatusBarSpaceBetween>\n </div>\n );\n}\n"]}
|
|
@@ -8,4 +8,6 @@
|
|
|
8
8
|
import * as React from "react";
|
|
9
9
|
/** @internal */
|
|
10
10
|
export const StatusBarCornerComponentContext = React.createContext(undefined);
|
|
11
|
+
StatusBarCornerComponentContext.displayName =
|
|
12
|
+
"uifw:StatusBarCornerComponentContext";
|
|
11
13
|
//# sourceMappingURL=StatusBarCornerComponentContext.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"StatusBarCornerComponentContext.js","sourceRoot":"","sources":["../../../../src/appui-react/statusbar/StatusBarCornerComponentContext.tsx"],"names":[],"mappings":"AAAA;;;gGAGgG;AAChG;;GAEG;AAEH,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,gBAAgB;AAChB,MAAM,CAAC,MAAM,+BAA+B,GAAG,KAAK,CAAC,aAAa,CAEhE,SAAS,CAAC,CAAC","sourcesContent":["/*---------------------------------------------------------------------------------------------\n * Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n * See LICENSE.md in the project root for license terms and full copyright notice.\n *--------------------------------------------------------------------------------------------*/\n/** @packageDocumentation\n * @module Utilities\n */\n\nimport * as React from \"react\";\n\n/** @internal */\nexport const StatusBarCornerComponentContext = React.createContext<\n \"right-corner\" | \"left-corner\" | undefined\n>(undefined);\n"]}
|
|
1
|
+
{"version":3,"file":"StatusBarCornerComponentContext.js","sourceRoot":"","sources":["../../../../src/appui-react/statusbar/StatusBarCornerComponentContext.tsx"],"names":[],"mappings":"AAAA;;;gGAGgG;AAChG;;GAEG;AAEH,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,gBAAgB;AAChB,MAAM,CAAC,MAAM,+BAA+B,GAAG,KAAK,CAAC,aAAa,CAEhE,SAAS,CAAC,CAAC;AACb,+BAA+B,CAAC,WAAW;IACzC,sCAAsC,CAAC","sourcesContent":["/*---------------------------------------------------------------------------------------------\n * Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n * See LICENSE.md in the project root for license terms and full copyright notice.\n *--------------------------------------------------------------------------------------------*/\n/** @packageDocumentation\n * @module Utilities\n */\n\nimport * as React from \"react\";\n\n/** @internal */\nexport const StatusBarCornerComponentContext = React.createContext<\n \"right-corner\" | \"left-corner\" | undefined\n>(undefined);\nStatusBarCornerComponentContext.displayName =\n \"uifw:StatusBarCornerComponentContext\";\n"]}
|
|
@@ -4,6 +4,7 @@
|
|
|
4
4
|
import type { StatusBarItem } from "./StatusBarItem";
|
|
5
5
|
import type { StatusBarItemsManager } from "./StatusBarItemsManager";
|
|
6
6
|
/** Hook that returns items from [[StatusBarItemsManager]].
|
|
7
|
+
* @deprecated in 4.17.0. Uses an internal `StatusBarItemsManager` API. Use {@link StatusBarComposer} instead.
|
|
7
8
|
* @public
|
|
8
9
|
*/
|
|
9
10
|
export declare const useDefaultStatusBarItems: (manager: StatusBarItemsManager) => readonly StatusBarItem[];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useDefaultStatusBarItems.d.ts","sourceRoot":"","sources":["../../../../src/appui-react/statusbar/useDefaultStatusBarItems.tsx"],"names":[],"mappings":"AAIA;;GAEG;AAGH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AACrD,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAC;AAErE
|
|
1
|
+
{"version":3,"file":"useDefaultStatusBarItems.d.ts","sourceRoot":"","sources":["../../../../src/appui-react/statusbar/useDefaultStatusBarItems.tsx"],"names":[],"mappings":"AAIA;;GAEG;AAGH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AACrD,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAC;AAErE;;;GAGG;AACH,eAAO,MAAM,wBAAwB,YAC1B,qBAAqB,KAC7B,SAAS,aAAa,EAexB,CAAC"}
|
|
@@ -7,6 +7,7 @@
|
|
|
7
7
|
*/
|
|
8
8
|
import * as React from "react";
|
|
9
9
|
/** Hook that returns items from [[StatusBarItemsManager]].
|
|
10
|
+
* @deprecated in 4.17.0. Uses an internal `StatusBarItemsManager` API. Use {@link StatusBarComposer} instead.
|
|
10
11
|
* @public
|
|
11
12
|
*/
|
|
12
13
|
export const useDefaultStatusBarItems = (manager) => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useDefaultStatusBarItems.js","sourceRoot":"","sources":["../../../../src/appui-react/statusbar/useDefaultStatusBarItems.tsx"],"names":[],"mappings":"AAAA;;;gGAGgG;AAChG;;GAEG;AAEH,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAI/B
|
|
1
|
+
{"version":3,"file":"useDefaultStatusBarItems.js","sourceRoot":"","sources":["../../../../src/appui-react/statusbar/useDefaultStatusBarItems.tsx"],"names":[],"mappings":"AAAA;;;gGAGgG;AAChG;;GAEG;AAEH,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAI/B;;;GAGG;AACH,MAAM,CAAC,MAAM,wBAAwB,GAAG,CACtC,OAA8B,EACJ,EAAE;IAC5B,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,KAAK,CAAC,QAAQ,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;IACxD,MAAM,cAAc,GAAG,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IAC1C,KAAK,CAAC,SAAS,CAAC,GAAG,EAAE;QACnB,IAAI,cAAc,CAAC,OAAO;YAAE,cAAc,CAAC,OAAO,GAAG,KAAK,CAAC;aACtD,CAAC;YACJ,QAAQ,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;QAC1B,CAAC;IACH,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC;IACd,KAAK,CAAC,SAAS,CAAC,GAAG,EAAE;QACnB,OAAO,OAAO,CAAC,cAAc,CAAC,WAAW,CAAC,CAAC,IAAI,EAAE,EAAE;YACjD,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACvB,CAAC,CAAC,CAAC;IACL,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC;IACd,OAAO,KAAK,CAAC;AACf,CAAC,CAAC","sourcesContent":["/*---------------------------------------------------------------------------------------------\n * Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n * See LICENSE.md in the project root for license terms and full copyright notice.\n *--------------------------------------------------------------------------------------------*/\n/** @packageDocumentation\n * @module StatusBar\n */\n\nimport * as React from \"react\";\nimport type { StatusBarItem } from \"./StatusBarItem\";\nimport type { StatusBarItemsManager } from \"./StatusBarItemsManager\";\n\n/** Hook that returns items from [[StatusBarItemsManager]].\n * @deprecated in 4.17.0. Uses an internal `StatusBarItemsManager` API. Use {@link StatusBarComposer} instead.\n * @public\n */\nexport const useDefaultStatusBarItems = (\n manager: StatusBarItemsManager\n): readonly StatusBarItem[] => {\n const [items, setItems] = React.useState(manager.items);\n const isInitialMount = React.useRef(true);\n React.useEffect(() => {\n if (isInitialMount.current) isInitialMount.current = false;\n else {\n setItems(manager.items);\n }\n }, [manager]);\n React.useEffect(() => {\n return manager.onItemsChanged.addListener((args) => {\n setItems(args.items);\n });\n }, [manager]);\n return items;\n};\n"]}
|
|
@@ -4,6 +4,7 @@
|
|
|
4
4
|
import type { StatusBarItem } from "./StatusBarItem";
|
|
5
5
|
import type { StatusBarItemsManager } from "./StatusBarItemsManager";
|
|
6
6
|
/** Hook that returns items from [[StatusBarItemsManager]].
|
|
7
|
+
* @deprecated in 4.17.0. Uses an internal `StatusBarItemsManager` API. Use {@link StatusBarComposer} instead.
|
|
7
8
|
* @public
|
|
8
9
|
*/
|
|
9
10
|
export declare const useUiItemsProviderStatusBarItems: (manager: StatusBarItemsManager) => readonly StatusBarItem[];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useUiItemsProviderStatusBarItems.d.ts","sourceRoot":"","sources":["../../../../src/appui-react/statusbar/useUiItemsProviderStatusBarItems.tsx"],"names":[],"mappings":"AAIA;;GAEG;AAOH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AACrD,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAC;
|
|
1
|
+
{"version":3,"file":"useUiItemsProviderStatusBarItems.d.ts","sourceRoot":"","sources":["../../../../src/appui-react/statusbar/useUiItemsProviderStatusBarItems.tsx"],"names":[],"mappings":"AAIA;;GAEG;AAOH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AACrD,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAC;AAGrE;;;GAGG;AACH,eAAO,MAAM,gCAAgC,YAClC,qBAAqB,KAC7B,SAAS,aAAa,EAkCxB,CAAC"}
|
|
@@ -11,6 +11,7 @@ import { useAvailableUiItemsProviders } from "../hooks/useAvailableUiItemsProvid
|
|
|
11
11
|
import { UiFramework } from "../UiFramework";
|
|
12
12
|
import { UiItemsManager } from "../ui-items-provider/UiItemsManager";
|
|
13
13
|
/** Hook that returns items from [[StatusBarItemsManager]].
|
|
14
|
+
* @deprecated in 4.17.0. Uses an internal `StatusBarItemsManager` API. Use {@link StatusBarComposer} instead.
|
|
14
15
|
* @public
|
|
15
16
|
*/
|
|
16
17
|
export const useUiItemsProviderStatusBarItems = (manager) => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useUiItemsProviderStatusBarItems.js","sourceRoot":"","sources":["../../../../src/appui-react/statusbar/useUiItemsProviderStatusBarItems.tsx"],"names":[],"mappings":"AAAA;;;gGAGgG;AAChG;;GAEG;AAEH,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAC;AAC7D,OAAO,EAAE,4BAA4B,EAAE,MAAM,uCAAuC,CAAC;AACrF,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAC7C,OAAO,EAAE,cAAc,EAAE,MAAM,qCAAqC,CAAC;
|
|
1
|
+
{"version":3,"file":"useUiItemsProviderStatusBarItems.js","sourceRoot":"","sources":["../../../../src/appui-react/statusbar/useUiItemsProviderStatusBarItems.tsx"],"names":[],"mappings":"AAAA;;;gGAGgG;AAChG;;GAEG;AAEH,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAC;AAC7D,OAAO,EAAE,4BAA4B,EAAE,MAAM,uCAAuC,CAAC;AACrF,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAC7C,OAAO,EAAE,cAAc,EAAE,MAAM,qCAAqC,CAAC;AAKrE;;;GAGG;AACH,MAAM,CAAC,MAAM,gCAAgC,GAAG,CAC9C,OAA8B,EACJ,EAAE;IAC5B,MAAM,iBAAiB,GAAG,4BAA4B,EAAE,CAAC;IACzD,MAAM,OAAO,GAAG,gBAAgB,EAAE,CAAC;IACnC,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,KAAK,CAAC,QAAQ,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;IACxD,MAAM,YAAY,GAAG,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;IACtC,MAAM,eAAe,GAAG,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;IACzC,wHAAwH;IACxH,2DAA2D;IAC3D,KAAK,CAAC,SAAS,CAAC,GAAG,EAAE;QACnB,MAAM,WAAW,GAAG,iBAAiB,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAChD,IACE,YAAY,CAAC,OAAO,KAAK,WAAW;YACpC,eAAe,CAAC,OAAO,KAAK,OAAO,EACnC,CAAC;YACD,eAAe,CAAC,OAAO,GAAG,OAAO,CAAC;YAClC,MAAM,aAAa,GAAG,WAAW,CAAC,WAAW,CAAC,mBAAmB,CAAC;YAClE,IAAI,aAAa,EAAE,CAAC;gBAClB,YAAY,CAAC,OAAO,GAAG,WAAW,CAAC;gBACnC,MAAM,cAAc,GAAG,cAAc,CAAC,iBAAiB,CACrD,OAAO,EACP,aAAa,CAAC,KAAK,CACpB,CAAC;gBACF,OAAO,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC;gBAClC,QAAQ,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;YAC1B,CAAC;QACH,CAAC;IACH,CAAC,EAAE,CAAC,OAAO,EAAE,iBAAiB,EAAE,OAAO,CAAC,CAAC,CAAC;IAC1C,uFAAuF;IACvF,KAAK,CAAC,SAAS,CAAC,GAAG,EAAE;QACnB,OAAO,OAAO,CAAC,cAAc,CAAC,WAAW,CAAC,CAAC,IAAI,EAAE,EAAE;YACjD,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACvB,CAAC,CAAC,CAAC;IACL,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC;IACd,OAAO,KAAK,CAAC;AACf,CAAC,CAAC","sourcesContent":["/*---------------------------------------------------------------------------------------------\n * Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n * See LICENSE.md in the project root for license terms and full copyright notice.\n *--------------------------------------------------------------------------------------------*/\n/** @packageDocumentation\n * @module StatusBar\n */\n\nimport * as React from \"react\";\nimport { useActiveStageId } from \"../hooks/useActiveStageId\";\nimport { useAvailableUiItemsProviders } from \"../hooks/useAvailableUiItemsProviders\";\nimport { UiFramework } from \"../UiFramework\";\nimport { UiItemsManager } from \"../ui-items-provider/UiItemsManager\";\nimport type { StatusBarItem } from \"./StatusBarItem\";\nimport type { StatusBarItemsManager } from \"./StatusBarItemsManager\";\nimport type { StatusBarComposer } from \"./StatusBarComposer\";\n\n/** Hook that returns items from [[StatusBarItemsManager]].\n * @deprecated in 4.17.0. Uses an internal `StatusBarItemsManager` API. Use {@link StatusBarComposer} instead.\n * @public\n */\nexport const useUiItemsProviderStatusBarItems = (\n manager: StatusBarItemsManager\n): readonly StatusBarItem[] => {\n const uiItemProviderIds = useAvailableUiItemsProviders();\n const stageId = useActiveStageId();\n const [items, setItems] = React.useState(manager.items);\n const providersRef = React.useRef(\"\");\n const currentStageRef = React.useRef(\"\");\n // gathers items from registered extensions - dependent on when a UiItemsProvider is register or unregistered and if the\n // current stage's composer allows entries from extensions.\n React.useEffect(() => {\n const uiProviders = uiItemProviderIds.join(\"-\");\n if (\n providersRef.current !== uiProviders ||\n currentStageRef.current !== stageId\n ) {\n currentStageRef.current = stageId;\n const frontstageDef = UiFramework.frontstages.activeFrontstageDef;\n if (frontstageDef) {\n providersRef.current = uiProviders;\n const statusBarItems = UiItemsManager.getStatusBarItems(\n stageId,\n frontstageDef.usage\n );\n manager.loadItems(statusBarItems);\n setItems(manager.items);\n }\n }\n }, [manager, uiItemProviderIds, stageId]);\n // handle item changes caused by setter calls to UiFramework.addonStatusBarItemsManager\n React.useEffect(() => {\n return manager.onItemsChanged.addListener((args) => {\n setItems(args.items);\n });\n }, [manager]);\n return items;\n};\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SelectionScope.d.ts","sourceRoot":"","sources":["../../../../src/appui-react/statusfields/SelectionScope.tsx"],"names":[],"mappings":"AAIA;;GAEG;AAEH,OAAO,uBAAuB,CAAC;AAE/B,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAOrD,UAAU,wBAAyB,SAAQ,WAAW;IACpD,mGAAmG;IACnG,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,+HAA+H;IAC/H,eAAe,CAAC,EAAE;QAChB,EAAE,EAAE,MAAM,CAAC;QACX,KAAK,EAAE,MAAM,CAAC;KACf,EAAE,CAAC;IACJ,kEAAkE;IAClE,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;CACpC;AAED;;;GAGG;AACH,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,wBAAwB,
|
|
1
|
+
{"version":3,"file":"SelectionScope.d.ts","sourceRoot":"","sources":["../../../../src/appui-react/statusfields/SelectionScope.tsx"],"names":[],"mappings":"AAIA;;GAEG;AAEH,OAAO,uBAAuB,CAAC;AAE/B,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAOrD,UAAU,wBAAyB,SAAQ,WAAW;IACpD,mGAAmG;IACnG,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,+HAA+H;IAC/H,eAAe,CAAC,EAAE;QAChB,EAAE,EAAE,MAAM,CAAC;QACX,KAAK,EAAE,MAAM,CAAC;KACf,EAAE,CAAC;IACJ,kEAAkE;IAClE,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;CACpC;AAED;;;GAGG;AACH,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,wBAAwB,qBA8DlE"}
|
|
@@ -41,6 +41,6 @@ export function SelectionScopeField(props) {
|
|
|
41
41
|
UiFramework.setActiveSelectionScope(newValue);
|
|
42
42
|
};
|
|
43
43
|
return (React.createElement("div", { className: classnames("uifw-statusFields-selectionScope", props.className), style: props.style },
|
|
44
|
-
React.createElement(LabeledSelect, { className: "uifw-statusFields-selectionScope-selector", label: `${translate("selectionScopeField.label")}:`, labelProps: { className: "uifw-statusFields-selectionScope-label" }, displayStyle: "inline", value: activeSelectionScope, options: options, onChange: updateSelectValue, "data-testid": "components-selectionScope-selector", title: translate("selectionScopeField.toolTip"), size: "small" })));
|
|
44
|
+
React.createElement(LabeledSelect, { className: "uifw-statusFields-selectionScope-selector", label: `${translate("selectionScopeField.label")}:`, labelProps: { className: "uifw-statusFields-selectionScope-label" }, popoverProps: { placement: "top" }, displayStyle: "inline", value: activeSelectionScope, options: options, onChange: updateSelectValue, "data-testid": "components-selectionScope-selector", title: translate("selectionScopeField.toolTip"), size: "small" })));
|
|
45
45
|
}
|
|
46
46
|
//# sourceMappingURL=SelectionScope.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SelectionScope.js","sourceRoot":"","sources":["../../../../src/appui-react/statusfields/SelectionScope.tsx"],"names":[],"mappings":"AAAA;;;gGAGgG;AAChG;;GAEG;AAEH,OAAO,uBAAuB,CAAC;AAC/B,OAAO,UAAU,MAAM,YAAY,CAAC;AACpC,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAC7C,OAAO,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AACzD,OAAO,EAAE,sBAAsB,EAAE,MAAM,mCAAmC,CAAC;AAe3E;;;GAGG;AACH,MAAM,UAAU,mBAAmB,CAAC,KAA+B;IACjE,MAAM,EAAE,SAAS,EAAE,GAAG,cAAc,EAAE,CAAC;IACvC,MAAM,yBAAyB,GAAG,sBAAsB;IACtD,mDAAmD;IACnD,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,EAAE,YAAY,CAAC,oBAAoB,CACpD,CAAC;IACF,MAAM,6BAA6B,GAAG,sBAAsB;IAC1D,mDAAmD;IACnD,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,EAAE,YAAY,CAAC,wBAAwB,CACxD,CAAC;IAEF,MAAM,oBAAoB,GACxB,KAAK,CAAC,WAAW,IAAI,yBAAyB,IAAI,EAAE,CAAC;IACvD,MAAM,wBAAwB,GAAG,KAAK,CAAC,OAAO,CAC5C,GAAG,EAAE,CACH,KAAK,CAAC,eAAe;QACrB,6BAA6B,IAAI,CAAC,EAAE,EAAE,EAAE,SAAS,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC,EACxE,CAAC,KAAK,CAAC,eAAe,EAAE,6BAA6B,CAAC,CACvD,CAAC;IAEF,MAAM,OAAO,GAAG,KAAK,CAAC,OAAO,CAC3B,GAAG,EAAE,CACH,wBAAwB,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE;QACrC,OAAO,EAAE,KAAK,EAAE,KAAK,CAAC,EAAE,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,CAAC;IACjD,CAAC,CAAC,EACJ,CAAC,wBAAwB,CAAC,CAC3B,CAAC;IAEF,MAAM,iBAAiB,GAAG,CAAC,QAAgB,EAAE,EAAE;QAC7C,IAAI,CAAC,QAAQ;YAAE,OAAO;QACtB,IAAI,KAAK,CAAC,QAAQ,EAAE,CAAC;YACnB,KAAK,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;YACzB,OAAO;QACT,CAAC;QAED,mDAAmD;QACnD,WAAW,CAAC,uBAAuB,CAAC,QAAQ,CAAC,CAAC;IAChD,CAAC,CAAC;IAEF,OAAO,CACL,6BACE,SAAS,EAAE,UAAU,CACnB,kCAAkC,EAClC,KAAK,CAAC,SAAS,CAChB,EACD,KAAK,EAAE,KAAK,CAAC,KAAK;QAElB,oBAAC,aAAa,IACZ,SAAS,EAAC,2CAA2C,EACrD,KAAK,EAAE,GAAG,SAAS,CAAC,2BAA2B,CAAC,GAAG,EACnD,UAAU,EAAE,EAAE,SAAS,EAAE,wCAAwC,EAAE,EACnE,YAAY,EAAC,QAAQ,EACrB,KAAK,EAAE,oBAAoB,EAC3B,OAAO,EAAE,OAAO,EAChB,QAAQ,EAAE,iBAAiB,iBACf,oCAAoC,EAChD,KAAK,EAAE,SAAS,CAAC,6BAA6B,CAAC,EAC/C,IAAI,EAAC,OAAO,GACZ,CACE,CACP,CAAC;AACJ,CAAC","sourcesContent":["/*---------------------------------------------------------------------------------------------\n * Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n * See LICENSE.md in the project root for license terms and full copyright notice.\n *--------------------------------------------------------------------------------------------*/\n/** @packageDocumentation\n * @module StatusBar\n */\n\nimport \"./SelectionScope.scss\";\nimport classnames from \"classnames\";\nimport * as React from \"react\";\nimport type { CommonProps } from \"@itwin/core-react\";\nimport { LabeledSelect } from \"@itwin/itwinui-react\";\nimport { UiFramework } from \"../UiFramework\";\nimport { useTranslation } from \"../hooks/useTranslation\";\nimport { useReduxFrameworkState } from \"../uistate/useReduxFrameworkState\";\n\n// eslint-disable-next-line deprecation/deprecation\ninterface SelectionScopeFieldProps extends CommonProps {\n /** Describes which selection scope is active. Uses redux store as a fallback. Defaults to `\"\"`. */\n activeScope?: string;\n /** Describes available selection scopes. Uses redux store as a fallback. Defaults to `{ id: \"element\", label: \"Element\" }`. */\n selectionScopes?: {\n id: string;\n label: string;\n }[];\n /** Function called when the active selection scope is changed. */\n onChange?: (scope: string) => void;\n}\n\n/** `SelectionScopeField` component is designed to be specified in a status bar.\n * It displays the active selection scope and the list of scopes from which the user can change the active selection scope.\n * @public\n */\nexport function SelectionScopeField(props: SelectionScopeFieldProps) {\n const { translate } = useTranslation();\n const reduxActiveSelectionScope = useReduxFrameworkState(\n // eslint-disable-next-line deprecation/deprecation\n (state) => state?.sessionState.activeSelectionScope\n );\n const reduxAvailableSelectionScopes = useReduxFrameworkState(\n // eslint-disable-next-line deprecation/deprecation\n (state) => state?.sessionState.availableSelectionScopes\n );\n\n const activeSelectionScope =\n props.activeScope ?? reduxActiveSelectionScope ?? \"\";\n const availableSelectionScopes = React.useMemo(\n () =>\n props.selectionScopes ??\n reduxAvailableSelectionScopes ?? [{ id: \"element\", label: \"Element\" }],\n [props.selectionScopes, reduxAvailableSelectionScopes]\n );\n\n const options = React.useMemo(\n () =>\n availableSelectionScopes.map((scope) => {\n return { value: scope.id, label: scope.label };\n }),\n [availableSelectionScopes]\n );\n\n const updateSelectValue = (newValue: string) => {\n if (!newValue) return;\n if (props.onChange) {\n props.onChange(newValue);\n return;\n }\n\n // eslint-disable-next-line deprecation/deprecation\n UiFramework.setActiveSelectionScope(newValue);\n };\n\n return (\n <div\n className={classnames(\n \"uifw-statusFields-selectionScope\",\n props.className\n )}\n style={props.style}\n >\n <LabeledSelect\n className=\"uifw-statusFields-selectionScope-selector\"\n label={`${translate(\"selectionScopeField.label\")}:`}\n labelProps={{ className: \"uifw-statusFields-selectionScope-label\" }}\n displayStyle=\"inline\"\n value={activeSelectionScope}\n options={options}\n onChange={updateSelectValue}\n data-testid=\"components-selectionScope-selector\"\n title={translate(\"selectionScopeField.toolTip\")}\n size=\"small\"\n />\n </div>\n );\n}\n"]}
|
|
1
|
+
{"version":3,"file":"SelectionScope.js","sourceRoot":"","sources":["../../../../src/appui-react/statusfields/SelectionScope.tsx"],"names":[],"mappings":"AAAA;;;gGAGgG;AAChG;;GAEG;AAEH,OAAO,uBAAuB,CAAC;AAC/B,OAAO,UAAU,MAAM,YAAY,CAAC;AACpC,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAC7C,OAAO,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AACzD,OAAO,EAAE,sBAAsB,EAAE,MAAM,mCAAmC,CAAC;AAe3E;;;GAGG;AACH,MAAM,UAAU,mBAAmB,CAAC,KAA+B;IACjE,MAAM,EAAE,SAAS,EAAE,GAAG,cAAc,EAAE,CAAC;IACvC,MAAM,yBAAyB,GAAG,sBAAsB;IACtD,mDAAmD;IACnD,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,EAAE,YAAY,CAAC,oBAAoB,CACpD,CAAC;IACF,MAAM,6BAA6B,GAAG,sBAAsB;IAC1D,mDAAmD;IACnD,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,EAAE,YAAY,CAAC,wBAAwB,CACxD,CAAC;IAEF,MAAM,oBAAoB,GACxB,KAAK,CAAC,WAAW,IAAI,yBAAyB,IAAI,EAAE,CAAC;IACvD,MAAM,wBAAwB,GAAG,KAAK,CAAC,OAAO,CAC5C,GAAG,EAAE,CACH,KAAK,CAAC,eAAe;QACrB,6BAA6B,IAAI,CAAC,EAAE,EAAE,EAAE,SAAS,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC,EACxE,CAAC,KAAK,CAAC,eAAe,EAAE,6BAA6B,CAAC,CACvD,CAAC;IAEF,MAAM,OAAO,GAAG,KAAK,CAAC,OAAO,CAC3B,GAAG,EAAE,CACH,wBAAwB,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE;QACrC,OAAO,EAAE,KAAK,EAAE,KAAK,CAAC,EAAE,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,CAAC;IACjD,CAAC,CAAC,EACJ,CAAC,wBAAwB,CAAC,CAC3B,CAAC;IAEF,MAAM,iBAAiB,GAAG,CAAC,QAAgB,EAAE,EAAE;QAC7C,IAAI,CAAC,QAAQ;YAAE,OAAO;QACtB,IAAI,KAAK,CAAC,QAAQ,EAAE,CAAC;YACnB,KAAK,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;YACzB,OAAO;QACT,CAAC;QAED,mDAAmD;QACnD,WAAW,CAAC,uBAAuB,CAAC,QAAQ,CAAC,CAAC;IAChD,CAAC,CAAC;IAEF,OAAO,CACL,6BACE,SAAS,EAAE,UAAU,CACnB,kCAAkC,EAClC,KAAK,CAAC,SAAS,CAChB,EACD,KAAK,EAAE,KAAK,CAAC,KAAK;QAElB,oBAAC,aAAa,IACZ,SAAS,EAAC,2CAA2C,EACrD,KAAK,EAAE,GAAG,SAAS,CAAC,2BAA2B,CAAC,GAAG,EACnD,UAAU,EAAE,EAAE,SAAS,EAAE,wCAAwC,EAAE,EACnE,YAAY,EAAE,EAAE,SAAS,EAAE,KAAK,EAAE,EAClC,YAAY,EAAC,QAAQ,EACrB,KAAK,EAAE,oBAAoB,EAC3B,OAAO,EAAE,OAAO,EAChB,QAAQ,EAAE,iBAAiB,iBACf,oCAAoC,EAChD,KAAK,EAAE,SAAS,CAAC,6BAA6B,CAAC,EAC/C,IAAI,EAAC,OAAO,GACZ,CACE,CACP,CAAC;AACJ,CAAC","sourcesContent":["/*---------------------------------------------------------------------------------------------\n * Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n * See LICENSE.md in the project root for license terms and full copyright notice.\n *--------------------------------------------------------------------------------------------*/\n/** @packageDocumentation\n * @module StatusBar\n */\n\nimport \"./SelectionScope.scss\";\nimport classnames from \"classnames\";\nimport * as React from \"react\";\nimport type { CommonProps } from \"@itwin/core-react\";\nimport { LabeledSelect } from \"@itwin/itwinui-react\";\nimport { UiFramework } from \"../UiFramework\";\nimport { useTranslation } from \"../hooks/useTranslation\";\nimport { useReduxFrameworkState } from \"../uistate/useReduxFrameworkState\";\n\n// eslint-disable-next-line deprecation/deprecation\ninterface SelectionScopeFieldProps extends CommonProps {\n /** Describes which selection scope is active. Uses redux store as a fallback. Defaults to `\"\"`. */\n activeScope?: string;\n /** Describes available selection scopes. Uses redux store as a fallback. Defaults to `{ id: \"element\", label: \"Element\" }`. */\n selectionScopes?: {\n id: string;\n label: string;\n }[];\n /** Function called when the active selection scope is changed. */\n onChange?: (scope: string) => void;\n}\n\n/** `SelectionScopeField` component is designed to be specified in a status bar.\n * It displays the active selection scope and the list of scopes from which the user can change the active selection scope.\n * @public\n */\nexport function SelectionScopeField(props: SelectionScopeFieldProps) {\n const { translate } = useTranslation();\n const reduxActiveSelectionScope = useReduxFrameworkState(\n // eslint-disable-next-line deprecation/deprecation\n (state) => state?.sessionState.activeSelectionScope\n );\n const reduxAvailableSelectionScopes = useReduxFrameworkState(\n // eslint-disable-next-line deprecation/deprecation\n (state) => state?.sessionState.availableSelectionScopes\n );\n\n const activeSelectionScope =\n props.activeScope ?? reduxActiveSelectionScope ?? \"\";\n const availableSelectionScopes = React.useMemo(\n () =>\n props.selectionScopes ??\n reduxAvailableSelectionScopes ?? [{ id: \"element\", label: \"Element\" }],\n [props.selectionScopes, reduxAvailableSelectionScopes]\n );\n\n const options = React.useMemo(\n () =>\n availableSelectionScopes.map((scope) => {\n return { value: scope.id, label: scope.label };\n }),\n [availableSelectionScopes]\n );\n\n const updateSelectValue = (newValue: string) => {\n if (!newValue) return;\n if (props.onChange) {\n props.onChange(newValue);\n return;\n }\n\n // eslint-disable-next-line deprecation/deprecation\n UiFramework.setActiveSelectionScope(newValue);\n };\n\n return (\n <div\n className={classnames(\n \"uifw-statusFields-selectionScope\",\n props.className\n )}\n style={props.style}\n >\n <LabeledSelect\n className=\"uifw-statusFields-selectionScope-selector\"\n label={`${translate(\"selectionScopeField.label\")}:`}\n labelProps={{ className: \"uifw-statusFields-selectionScope-label\" }}\n popoverProps={{ placement: \"top\" }}\n displayStyle=\"inline\"\n value={activeSelectionScope}\n options={options}\n onChange={updateSelectValue}\n data-testid=\"components-selectionScope-selector\"\n title={translate(\"selectionScopeField.toolTip\")}\n size=\"small\"\n />\n </div>\n );\n}\n"]}
|
|
@@ -10,6 +10,8 @@ interface SnapModeFieldProps extends CommonProps {
|
|
|
10
10
|
* @note Enum flags are supported.
|
|
11
11
|
*/
|
|
12
12
|
snapMode?: SnapMode;
|
|
13
|
+
/** The list of snap modes available for selection. Defaults to all the modes.*/
|
|
14
|
+
availableSnapModes?: SnapMode[];
|
|
13
15
|
onChange?: (newSnapMode: SnapMode) => void;
|
|
14
16
|
}
|
|
15
17
|
/** `SnapModeField` component designed to be specified in a status bar. It will
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SnapMode.d.ts","sourceRoot":"","sources":["../../../../src/appui-react/statusfields/SnapMode.tsx"],"names":[],"mappings":"AAIA;;GAEG;AASH,OAAO,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAEhD,OAAO,KAAK,EAAE,WAAW,
|
|
1
|
+
{"version":3,"file":"SnapMode.d.ts","sourceRoot":"","sources":["../../../../src/appui-react/statusfields/SnapMode.tsx"],"names":[],"mappings":"AAIA;;GAEG;AASH,OAAO,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAEhD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AACrD,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAwE/B,oEAAoE;AAEpE,UAAU,kBAAmB,SAAQ,WAAW;IAC9C;;OAEG;IACH,QAAQ,CAAC,EAAE,QAAQ,CAAC;IACpB,gFAAgF;IAChF,kBAAkB,CAAC,EAAE,QAAQ,EAAE,CAAC;IAChC,QAAQ,CAAC,EAAE,CAAC,WAAW,EAAE,QAAQ,KAAK,IAAI,CAAC;CAC5C;AAED;;;GAGG;AACH,wBAAgB,aAAa,CAAC,KAAK,EAAE,kBAAkB,qBAyDtD"}
|