@itwin/appui-react 4.16.5 → 4.17.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +29 -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/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/configurableui/ConfigurableUiContent.scss +1 -0
- 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.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/layout/widget/FloatingTab.scss +1 -0
- package/lib/cjs/appui-react/layout/widget/FloatingWidget.scss +1 -0
- package/lib/cjs/appui-react/layout/widget/MenuTab.scss +1 -0
- package/lib/cjs/appui-react/layout/widget/Overflow.scss +1 -0
- package/lib/cjs/appui-react/layout/widget/Tab.scss +1 -0
- package/lib/cjs/appui-react/layout/widget/TabBar.scss +1 -0
- package/lib/cjs/appui-react/layout/widget-panels/CursorOverlay.scss +1 -0
- package/lib/cjs/appui-react/layout/widget-panels/Grip.scss +2 -0
- package/lib/cjs/appui-react/navigationaids/SheetsModalFrontstage.scss +1 -0
- 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 +3 -0
- package/lib/cjs/appui-react/statusbar/StatusBarComposer.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/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/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/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/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/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/configurableui/ConfigurableUiContent.scss +1 -0
- 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.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/layout/widget/FloatingTab.scss +1 -0
- package/lib/esm/appui-react/layout/widget/FloatingWidget.scss +1 -0
- package/lib/esm/appui-react/layout/widget/MenuTab.scss +1 -0
- package/lib/esm/appui-react/layout/widget/Overflow.scss +1 -0
- package/lib/esm/appui-react/layout/widget/Tab.scss +1 -0
- package/lib/esm/appui-react/layout/widget/TabBar.scss +1 -0
- package/lib/esm/appui-react/layout/widget-panels/CursorOverlay.scss +1 -0
- package/lib/esm/appui-react/layout/widget-panels/Grip.scss +2 -0
- package/lib/esm/appui-react/navigationaids/SheetsModalFrontstage.scss +1 -0
- 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 +3 -0
- package/lib/esm/appui-react/statusbar/StatusBarComposer.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/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/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/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/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
|
@@ -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"}
|
|
@@ -44,7 +44,7 @@ function SelectionScopeField(props) {
|
|
|
44
44
|
UiFramework_1.UiFramework.setActiveSelectionScope(newValue);
|
|
45
45
|
};
|
|
46
46
|
return (React.createElement("div", { className: (0, classnames_1.default)("uifw-statusFields-selectionScope", props.className), style: props.style },
|
|
47
|
-
React.createElement(itwinui_react_1.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" })));
|
|
47
|
+
React.createElement(itwinui_react_1.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" })));
|
|
48
48
|
}
|
|
49
49
|
exports.SelectionScopeField = SelectionScopeField;
|
|
50
50
|
//# 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,iCAA+B;AAC/B,2CAAoC;AACpC,+BAA+B;AAE/B,wDAAqD;AACrD,gDAA6C;AAC7C,4DAAyD;AACzD,8EAA2E;AAe3E;;;GAGG;AACH,SAAgB,mBAAmB,CAAC,KAA+B;IACjE,MAAM,EAAE,SAAS,EAAE,GAAG,IAAA,+BAAc,GAAE,CAAC;IACvC,MAAM,yBAAyB,GAAG,IAAA,+CAAsB;IACtD,mDAAmD;IACnD,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,EAAE,YAAY,CAAC,oBAAoB,CACpD,CAAC;IACF,MAAM,6BAA6B,GAAG,IAAA,+CAAsB;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,yBAAW,CAAC,uBAAuB,CAAC,QAAQ,CAAC,CAAC;IAChD,CAAC,CAAC;IAEF,OAAO,CACL,6BACE,SAAS,EAAE,IAAA,oBAAU,EACnB,kCAAkC,EAClC,KAAK,CAAC,SAAS,CAChB,EACD,KAAK,EAAE,KAAK,CAAC,KAAK;QAElB,oBAAC,6BAAa,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;
|
|
1
|
+
{"version":3,"file":"SelectionScope.js","sourceRoot":"","sources":["../../../../src/appui-react/statusfields/SelectionScope.tsx"],"names":[],"mappings":";AAAA;;;gGAGgG;AAChG;;GAEG;;;AAEH,iCAA+B;AAC/B,2CAAoC;AACpC,+BAA+B;AAE/B,wDAAqD;AACrD,gDAA6C;AAC7C,4DAAyD;AACzD,8EAA2E;AAe3E;;;GAGG;AACH,SAAgB,mBAAmB,CAAC,KAA+B;IACjE,MAAM,EAAE,SAAS,EAAE,GAAG,IAAA,+BAAc,GAAE,CAAC;IACvC,MAAM,yBAAyB,GAAG,IAAA,+CAAsB;IACtD,mDAAmD;IACnD,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,EAAE,YAAY,CAAC,oBAAoB,CACpD,CAAC;IACF,MAAM,6BAA6B,GAAG,IAAA,+CAAsB;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,yBAAW,CAAC,uBAAuB,CAAC,QAAQ,CAAC,CAAC;IAChD,CAAC,CAAC;IAEF,OAAO,CACL,6BACE,SAAS,EAAE,IAAA,oBAAU,EACnB,kCAAkC,EAClC,KAAK,CAAC,SAAS,CAChB,EACD,KAAK,EAAE,KAAK,CAAC,KAAK;QAElB,oBAAC,6BAAa,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;AA9DD,kDA8DC","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"}
|
|
@@ -25,43 +25,53 @@ const useTranslation_1 = require("../hooks/useTranslation");
|
|
|
25
25
|
const useReduxFrameworkState_1 = require("../uistate/useReduxFrameworkState");
|
|
26
26
|
const itwinui_react_1 = require("@itwin/itwinui-react");
|
|
27
27
|
const StatusBarPopover_1 = require("../statusbar/popup/StatusBarPopover");
|
|
28
|
-
//
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
28
|
+
// Field entry of all possible snap modes.
|
|
29
|
+
const allSnapModeFieldEntries = [
|
|
30
|
+
{
|
|
31
|
+
labelKey: "snapModeField.keypoint",
|
|
32
|
+
value: core_frontend_1.SnapMode.NearestKeypoint,
|
|
33
|
+
iconSpec: snaps_svg_1.default,
|
|
34
|
+
},
|
|
35
|
+
{
|
|
36
|
+
labelKey: "snapModeField.intersection",
|
|
37
|
+
value: core_frontend_1.SnapMode.Intersection,
|
|
38
|
+
iconSpec: snaps_intersection_svg_1.default,
|
|
39
|
+
},
|
|
40
|
+
{
|
|
41
|
+
labelKey: "snapModeField.center",
|
|
42
|
+
value: core_frontend_1.SnapMode.Center,
|
|
43
|
+
iconSpec: snaps_center_svg_1.default,
|
|
44
|
+
},
|
|
45
|
+
{
|
|
46
|
+
labelKey: "snapModeField.nearest",
|
|
47
|
+
value: core_frontend_1.SnapMode.Nearest,
|
|
48
|
+
iconSpec: snaps_nearest_svg_1.default,
|
|
49
|
+
},
|
|
50
|
+
{
|
|
51
|
+
labelKey: "snapModeField.origin",
|
|
52
|
+
value: core_frontend_1.SnapMode.Origin,
|
|
53
|
+
iconSpec: snaps_origin_svg_1.default,
|
|
54
|
+
},
|
|
55
|
+
{
|
|
56
|
+
labelKey: "snapModeField.midpoint",
|
|
57
|
+
value: core_frontend_1.SnapMode.MidPoint,
|
|
58
|
+
iconSpec: snaps_midpoint_svg_1.default,
|
|
59
|
+
},
|
|
60
|
+
{
|
|
61
|
+
labelKey: "snapModeField.bisector",
|
|
62
|
+
value: core_frontend_1.SnapMode.Bisector,
|
|
63
|
+
iconSpec: snaps_bisector_svg_1.default,
|
|
64
|
+
},
|
|
65
|
+
];
|
|
66
|
+
/** Return icon for a specific snapMode. */
|
|
67
|
+
const getSnapModeIcon = (snapMode) => {
|
|
68
|
+
// Get all the modes present in the bitmask.
|
|
69
|
+
const modes = allSnapModeFieldEntries.filter((entry) => {
|
|
70
|
+
return (entry.value & snapMode) === entry.value;
|
|
71
|
+
});
|
|
72
|
+
return (
|
|
73
|
+
// eslint-disable-next-line deprecation/deprecation
|
|
74
|
+
React.createElement(core_react_1.Icon, { iconSpec: modes.length === 1 ? modes[0].iconSpec : snaps_svg_1.default }));
|
|
65
75
|
};
|
|
66
76
|
/** `SnapModeField` component designed to be specified in a status bar. It will
|
|
67
77
|
* display the active snap mode that AccuSnap will use and allow the user to select a new snap mode.
|
|
@@ -69,62 +79,28 @@ const getSnapModeIconNameFromMode = (modeEntries, snapMode) => {
|
|
|
69
79
|
*/
|
|
70
80
|
function SnapModeField(props) {
|
|
71
81
|
const { translate } = (0, useTranslation_1.useTranslation)();
|
|
82
|
+
const snapModeEntries = props.availableSnapModes
|
|
83
|
+
? allSnapModeFieldEntries.filter((entry) => {
|
|
84
|
+
return (props.availableSnapModes &&
|
|
85
|
+
props.availableSnapModes.some((availableSnap) => availableSnap === entry.value));
|
|
86
|
+
})
|
|
87
|
+
: allSnapModeFieldEntries;
|
|
72
88
|
const reduxSnapMode = (0, useReduxFrameworkState_1.useReduxFrameworkState)(
|
|
73
89
|
// eslint-disable-next-line deprecation/deprecation
|
|
74
90
|
(state) => state?.configurableUiState.snapMode);
|
|
75
91
|
const snapMode = props.snapMode ?? reduxSnapMode ?? core_frontend_1.SnapMode.NearestKeypoint;
|
|
76
|
-
const snapModes = [
|
|
77
|
-
{
|
|
78
|
-
label: translate("snapModeField.keypoint"),
|
|
79
|
-
value: core_frontend_1.SnapMode.NearestKeypoint,
|
|
80
|
-
iconName: "snaps",
|
|
81
|
-
},
|
|
82
|
-
{
|
|
83
|
-
label: translate("snapModeField.intersection"),
|
|
84
|
-
value: core_frontend_1.SnapMode.Intersection,
|
|
85
|
-
iconName: "snaps-intersection",
|
|
86
|
-
},
|
|
87
|
-
{
|
|
88
|
-
label: translate("snapModeField.center"),
|
|
89
|
-
value: core_frontend_1.SnapMode.Center,
|
|
90
|
-
iconName: "snaps-center",
|
|
91
|
-
},
|
|
92
|
-
{
|
|
93
|
-
label: translate("snapModeField.nearest"),
|
|
94
|
-
value: core_frontend_1.SnapMode.Nearest,
|
|
95
|
-
iconName: "snaps-nearest",
|
|
96
|
-
},
|
|
97
|
-
{
|
|
98
|
-
label: translate("snapModeField.origin"),
|
|
99
|
-
value: core_frontend_1.SnapMode.Origin,
|
|
100
|
-
iconName: "snaps-origin",
|
|
101
|
-
},
|
|
102
|
-
{
|
|
103
|
-
label: translate("snapModeField.midpoint"),
|
|
104
|
-
value: core_frontend_1.SnapMode.MidPoint,
|
|
105
|
-
iconName: "snaps-midpoint",
|
|
106
|
-
},
|
|
107
|
-
{
|
|
108
|
-
label: translate("snapModeField.bisector"),
|
|
109
|
-
value: core_frontend_1.SnapMode.Bisector,
|
|
110
|
-
iconName: "snaps-bisector",
|
|
111
|
-
},
|
|
112
|
-
];
|
|
113
|
-
const iconName = getSnapModeIconNameFromMode(snapModes, snapMode);
|
|
114
92
|
const title = translate("snapModeField.snapMode");
|
|
115
|
-
return (React.createElement(StatusBarPopover_1.StatusBarPopover, { content: React.createElement(Panel_1.SnapModePanel, { title: title },
|
|
93
|
+
return (React.createElement(StatusBarPopover_1.StatusBarPopover, { content: React.createElement(Panel_1.SnapModePanel, { title: title }, snapModeEntries.map((entry, index) => (React.createElement(Snap_1.Snap, { key: `SM_${index}`, onClick: () => {
|
|
116
94
|
if (props.onChange) {
|
|
117
|
-
props.onChange(
|
|
95
|
+
props.onChange(entry.value);
|
|
118
96
|
return;
|
|
119
97
|
}
|
|
120
98
|
// eslint-disable-next-line deprecation/deprecation
|
|
121
|
-
UiFramework_1.UiFramework.setAccudrawSnapMode(
|
|
122
|
-
}, isActive: (snapMode &
|
|
123
|
-
// eslint-disable-next-line deprecation/deprecation
|
|
124
|
-
React.createElement(core_react_1.Icon, { className: `icon`, iconSpec: getIconFromIconName(item.iconName) }) }, item.label)))) },
|
|
125
|
-
React.createElement(itwinui_react_1.Button, { styleType: "borderless", title: title,
|
|
99
|
+
UiFramework_1.UiFramework.setAccudrawSnapMode(entry.value);
|
|
100
|
+
}, isActive: (snapMode & entry.value) === entry.value, icon:
|
|
126
101
|
// eslint-disable-next-line deprecation/deprecation
|
|
127
|
-
|
|
102
|
+
React.createElement(core_react_1.Icon, { className: `icon`, iconSpec: entry.iconSpec }) }, translate(entry.labelKey))))) },
|
|
103
|
+
React.createElement(itwinui_react_1.Button, { styleType: "borderless", title: title, endIcon: getSnapModeIcon(snapMode) },
|
|
128
104
|
title,
|
|
129
105
|
React.createElement(StatusBarPopover_1.StatusBarPopover.ExpandIndicator, null))));
|
|
130
106
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SnapMode.js","sourceRoot":"","sources":["../../../../src/appui-react/statusfields/SnapMode.tsx"],"names":[],"mappings":";AAAA;;;gGAGgG;AAChG;;GAEG;;;AAEH,wFAA+E;AAC/E,oFAA2E;AAC3E,gGAAuF;AACvF,wFAA+E;AAC/E,sFAA6E;AAC7E,oFAA2E;AAC3E,sEAAsE;AACtE,wDAAgD;AAChD,kDAAyC;AAEzC,+BAA+B;AAC/B,gDAA6C;AAC7C,4DAAiE;AACjE,0DAAuD;AACvD,4DAAyD;AACzD,8EAA2E;AAC3E,wDAA8C;AAC9C,0EAAuE;AASvE,
|
|
1
|
+
{"version":3,"file":"SnapMode.js","sourceRoot":"","sources":["../../../../src/appui-react/statusfields/SnapMode.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 snapModeBisector from \"@bentley/icons-generic/icons/snaps-bisector.svg\";\nimport snapModeCenter from \"@bentley/icons-generic/icons/snaps-center.svg\";\nimport snapModeIntersection from \"@bentley/icons-generic/icons/snaps-intersection.svg\";\nimport snapModeMidpoint from \"@bentley/icons-generic/icons/snaps-midpoint.svg\";\nimport snapModeNearest from \"@bentley/icons-generic/icons/snaps-nearest.svg\";\nimport snapModeOrigin from \"@bentley/icons-generic/icons/snaps-origin.svg\";\nimport snapModeKeypoint from \"@bentley/icons-generic/icons/snaps.svg\";\nimport { SnapMode } from \"@itwin/core-frontend\";\nimport { Icon } from \"@itwin/core-react\";\nimport type { CommonProps } from \"@itwin/core-react\";\nimport * as React from \"react\";\nimport { UiFramework } from \"../UiFramework\";\nimport { SnapModePanel } from \"../layout/footer/snap-mode/Panel\";\nimport { Snap } from \"../layout/footer/snap-mode/Snap\";\nimport { useTranslation } from \"../hooks/useTranslation\";\nimport { useReduxFrameworkState } from \"../uistate/useReduxFrameworkState\";\nimport { Button } from \"@itwin/itwinui-react\";\nimport { StatusBarPopover } from \"../statusbar/popup/StatusBarPopover\";\n\n/** Define the properties that will be used to represent the available snap modes. */\ninterface SnapModeFieldEntry {\n labelKey: string;\n value: number;\n iconSpec: string;\n}\n\n// Field entry of all possible snap modes.\nconst allSnapModeFieldEntries: SnapModeFieldEntry[] = [\n {\n labelKey: \"snapModeField.keypoint\",\n value: SnapMode.NearestKeypoint as number,\n iconSpec: snapModeKeypoint,\n },\n {\n labelKey: \"snapModeField.intersection\",\n value: SnapMode.Intersection as number,\n iconSpec: snapModeIntersection,\n },\n {\n labelKey: \"snapModeField.center\",\n value: SnapMode.Center as number,\n iconSpec: snapModeCenter,\n },\n {\n labelKey: \"snapModeField.nearest\",\n value: SnapMode.Nearest as number,\n iconSpec: snapModeNearest,\n },\n {\n labelKey: \"snapModeField.origin\",\n value: SnapMode.Origin as number,\n iconSpec: snapModeOrigin,\n },\n {\n labelKey: \"snapModeField.midpoint\",\n value: SnapMode.MidPoint as number,\n iconSpec: snapModeMidpoint,\n },\n {\n labelKey: \"snapModeField.bisector\",\n value: SnapMode.Bisector as number,\n iconSpec: snapModeBisector,\n },\n];\n\n/** Return icon for a specific snapMode. */\nconst getSnapModeIcon = (snapMode: number) => {\n // Get all the modes present in the bitmask.\n const modes: SnapModeFieldEntry[] = allSnapModeFieldEntries.filter(\n (entry) => {\n return (entry.value & snapMode) === entry.value;\n }\n );\n\n return (\n // eslint-disable-next-line deprecation/deprecation\n <Icon\n iconSpec={modes.length === 1 ? modes[0].iconSpec : snapModeKeypoint}\n />\n );\n};\n\n/** Defines properties supported by the SnapMode Field Component. */\n// eslint-disable-next-line deprecation/deprecation\ninterface SnapModeFieldProps extends CommonProps {\n /** Uses redux store as a fallback. Defaults to {@link SnapMode.NearestKeypoint}.\n * @note Enum flags are supported.\n */\n snapMode?: SnapMode;\n /** The list of snap modes available for selection. Defaults to all the modes.*/\n availableSnapModes?: SnapMode[];\n onChange?: (newSnapMode: SnapMode) => void;\n}\n\n/** `SnapModeField` component designed to be specified in a status bar. It will\n * display the active snap mode that AccuSnap will use and allow the user to select a new snap mode.\n * @public\n */\nexport function SnapModeField(props: SnapModeFieldProps) {\n const { translate } = useTranslation();\n const snapModeEntries: SnapModeFieldEntry[] = props.availableSnapModes\n ? allSnapModeFieldEntries.filter((entry) => {\n return (\n props.availableSnapModes &&\n props.availableSnapModes.some(\n (availableSnap) => availableSnap === (entry.value as SnapMode)\n )\n );\n })\n : allSnapModeFieldEntries;\n\n const reduxSnapMode = useReduxFrameworkState(\n // eslint-disable-next-line deprecation/deprecation\n (state) => state?.configurableUiState.snapMode\n );\n const snapMode = props.snapMode ?? reduxSnapMode ?? SnapMode.NearestKeypoint;\n\n const title = translate(\"snapModeField.snapMode\");\n return (\n <StatusBarPopover\n content={\n <SnapModePanel title={title}>\n {snapModeEntries.map((entry, index) => (\n <Snap\n key={`SM_${index}`}\n onClick={() => {\n if (props.onChange) {\n props.onChange(entry.value);\n return;\n }\n // eslint-disable-next-line deprecation/deprecation\n UiFramework.setAccudrawSnapMode(entry.value);\n }}\n isActive={(snapMode & entry.value) === entry.value}\n icon={\n // eslint-disable-next-line deprecation/deprecation\n <Icon className={`icon`} iconSpec={entry.iconSpec} />\n }\n >\n {translate(entry.labelKey)}\n </Snap>\n ))}\n </SnapModePanel>\n }\n >\n <Button\n styleType=\"borderless\"\n title={title}\n endIcon={getSnapModeIcon(snapMode)}\n >\n {title}\n <StatusBarPopover.ExpandIndicator />\n </Button>\n </StatusBarPopover>\n );\n}\n"]}
|
|
@@ -9,16 +9,15 @@ interface ThemeManagerProps {
|
|
|
9
9
|
/** Uses redux store as a fallback. Defaults to {@link SYSTEM_PREFERRED_COLOR_THEME}. */
|
|
10
10
|
theme?: ThemeId;
|
|
11
11
|
}
|
|
12
|
-
/** ThemeManager handles setting color themes
|
|
13
|
-
* affect the entire application by setting the data-theme attribute
|
|
14
|
-
*
|
|
15
|
-
*
|
|
16
|
-
*
|
|
17
|
-
* Any other string will only apply the `data-theme` attribute to the `html` element
|
|
12
|
+
/** `ThemeManager` handles setting color themes. Note that this component will
|
|
13
|
+
* affect the entire application by setting the internal `data-theme` attribute.
|
|
14
|
+
* Component children are wrapped with `v2` and `v3` iTwinUI `ThemeProvider` components, so all nodes within the tree will have the same theme, and should be using iTwinUI 2.x or later.
|
|
15
|
+
* Specified `ThemeId` will be mapped to iTwinUI `theme` accordingly.
|
|
16
|
+
* Any other string will only apply the `data-theme` attribute to the underlying `html` element
|
|
18
17
|
* and `ThemeProvider` theme will be set to `inherit`, in this case the application is
|
|
19
|
-
* responsible for setting the theme by
|
|
18
|
+
* responsible for setting the theme, i.e. by using iTwinUI css variables.
|
|
20
19
|
*
|
|
21
|
-
* This
|
|
20
|
+
* This component should wrap {@link ConfigurableUiContent}.
|
|
22
21
|
*
|
|
23
22
|
* ```tsx
|
|
24
23
|
* <ThemeManager>
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ThemeManager.d.ts","sourceRoot":"","sources":["../../../../src/appui-react/theme/ThemeManager.tsx"],"names":[],"mappings":"AAIA;;GAEG;AAEH,OAAO,qBAAqB,CAAC;AAC7B,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAI/B,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAqBzC,UAAU,iBAAiB;IACzB,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC3B,wFAAwF;IACxF,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB;AAED
|
|
1
|
+
{"version":3,"file":"ThemeManager.d.ts","sourceRoot":"","sources":["../../../../src/appui-react/theme/ThemeManager.tsx"],"names":[],"mappings":"AAIA;;GAEG;AAEH,OAAO,qBAAqB,CAAC;AAC7B,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAI/B,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAqBzC,UAAU,iBAAiB;IACzB,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC3B,wFAAwF;IACxF,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,YAAY,CAAC,EAAE,QAAQ,EAAE,GAAG,KAAK,EAAE,EAAE,iBAAiB,qBA+BrE"}
|
|
@@ -28,16 +28,15 @@ const highContrastColorThemes = [
|
|
|
28
28
|
ThemeId_1.ColorTheme.HighContrastDark,
|
|
29
29
|
ThemeId_1.ColorTheme.HighContrastLight,
|
|
30
30
|
];
|
|
31
|
-
/** ThemeManager handles setting color themes
|
|
32
|
-
* affect the entire application by setting the data-theme attribute
|
|
33
|
-
*
|
|
34
|
-
*
|
|
35
|
-
*
|
|
36
|
-
* Any other string will only apply the `data-theme` attribute to the `html` element
|
|
31
|
+
/** `ThemeManager` handles setting color themes. Note that this component will
|
|
32
|
+
* affect the entire application by setting the internal `data-theme` attribute.
|
|
33
|
+
* Component children are wrapped with `v2` and `v3` iTwinUI `ThemeProvider` components, so all nodes within the tree will have the same theme, and should be using iTwinUI 2.x or later.
|
|
34
|
+
* Specified `ThemeId` will be mapped to iTwinUI `theme` accordingly.
|
|
35
|
+
* Any other string will only apply the `data-theme` attribute to the underlying `html` element
|
|
37
36
|
* and `ThemeProvider` theme will be set to `inherit`, in this case the application is
|
|
38
|
-
* responsible for setting the theme by
|
|
37
|
+
* responsible for setting the theme, i.e. by using iTwinUI css variables.
|
|
39
38
|
*
|
|
40
|
-
* This
|
|
39
|
+
* This component should wrap {@link ConfigurableUiContent}.
|
|
41
40
|
*
|
|
42
41
|
* ```tsx
|
|
43
42
|
* <ThemeManager>
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ThemeManager.js","sourceRoot":"","sources":["../../../../src/appui-react/theme/ThemeManager.tsx"],"names":[],"mappings":";AAAA;;;gGAGgG;AAChG;;GAEG;;;AAEH,+BAA6B;AAC7B,+BAA+B;AAE/B,wDAAqD;AACrD,8DAA2E;AAE3E,uCAAqE;AACrE,8EAA2E;AAG3E,sCAAsC;AACtC,MAAM,wBAAwB,GAA+B;IAC3D,CAAC,oBAAU,CAAC,KAAK,CAAC,EAAE,OAAO;IAC3B,CAAC,oBAAU,CAAC,iBAAiB,CAAC,EAAE,OAAO;IACvC,CAAC,oBAAU,CAAC,IAAI,CAAC,EAAE,MAAM;IACzB,CAAC,oBAAU,CAAC,gBAAgB,CAAC,EAAE,MAAM;IACrC,CAAC,oBAAU,CAAC,MAAM,CAAC,EAAE,IAAI;IACzB,EAAE,EAAE,IAAI,EAAE,0CAA0C;CACrD,CAAC;AAEF,0CAA0C;AAC1C,MAAM,uBAAuB,GAAa;IACxC,oBAAU,CAAC,gBAAgB;IAC3B,oBAAU,CAAC,iBAAiB;CAC7B,CAAC;AAQF
|
|
1
|
+
{"version":3,"file":"ThemeManager.js","sourceRoot":"","sources":["../../../../src/appui-react/theme/ThemeManager.tsx"],"names":[],"mappings":";AAAA;;;gGAGgG;AAChG;;GAEG;;;AAEH,+BAA6B;AAC7B,+BAA+B;AAE/B,wDAAqD;AACrD,8DAA2E;AAE3E,uCAAqE;AACrE,8EAA2E;AAG3E,sCAAsC;AACtC,MAAM,wBAAwB,GAA+B;IAC3D,CAAC,oBAAU,CAAC,KAAK,CAAC,EAAE,OAAO;IAC3B,CAAC,oBAAU,CAAC,iBAAiB,CAAC,EAAE,OAAO;IACvC,CAAC,oBAAU,CAAC,IAAI,CAAC,EAAE,MAAM;IACzB,CAAC,oBAAU,CAAC,gBAAgB,CAAC,EAAE,MAAM;IACrC,CAAC,oBAAU,CAAC,MAAM,CAAC,EAAE,IAAI;IACzB,EAAE,EAAE,IAAI,EAAE,0CAA0C;CACrD,CAAC;AAEF,0CAA0C;AAC1C,MAAM,uBAAuB,GAAa;IACxC,oBAAU,CAAC,gBAAgB;IAC3B,oBAAU,CAAC,iBAAiB;CAC7B,CAAC;AAQF;;;;;;;;;;;;;;;;GAgBG;AACH,SAAgB,YAAY,CAAC,EAAE,QAAQ,EAAE,GAAG,KAAK,EAAqB;IACpE,MAAM,UAAU,GAAG,IAAA,+CAAsB,EAAC,CAAC,KAAK,EAAE,EAAE;QAClD,mDAAmD;QACnD,OAAO,KAAK,EAAE,mBAAmB,CAAC,KAAK,CAAC;IAC1C,CAAC,CAAC,CAAC;IACH,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,IAAI,UAAU,IAAI,sCAA4B,CAAC;IAExE,KAAK,CAAC,SAAS,CAAC,GAAG,EAAE;QACnB,QAAQ,CAAC,eAAe,CAAC,YAAY,CAAC,YAAY,EAAE,KAAK,CAAC,CAAC;IAC7D,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC;IAEZ,MAAM,aAAa,GAAG,wBAAwB,CAAC,KAAK,CAAC,CAAC;IACtD,MAAM,YAAY,GAAG,uBAAuB,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;IAE7D,OAAO,CACL,oBAAC,6BAAa,IACZ,SAAS,EAAC,WAAW,EACrB,KAAK,EAAE,aAAa,IAAI,SAAS,EACjC,YAAY,EAAE,EAAE,YAAY,EAAE,yBACV,eAAe,EACnC,UAAU,EAAE,IAAI;QAEhB,oBAAC,gCAAe,CAAC,iFAAiF,IAChG,KAAK,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,EACzB,KAAK,EAAE,aAAa,IAAI,SAAS,EACjC,YAAY,EAAE,EAAE,YAAY,EAAE,IAE7B,QAAQ,CACO,CACJ,CACjB,CAAC;AACJ,CAAC;AA/BD,oCA+BC","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 State\n */\n\nimport \"./ThemeManager.scss\";\nimport * as React from \"react\";\nimport type { ThemeType } from \"@itwin/itwinui-react\";\nimport { ThemeProvider } from \"@itwin/itwinui-react\";\nimport { ThemeProvider as ThemeProviderV2 } from \"@itwin/itwinui-react-v2\";\nimport type { ThemeId } from \"./ThemeId\";\nimport { ColorTheme, SYSTEM_PREFERRED_COLOR_THEME } from \"./ThemeId\";\nimport { useReduxFrameworkState } from \"../uistate/useReduxFrameworkState\";\nimport type { ConfigurableUiContent } from \"../configurableui/ConfigurableUiContent\";\n\n/** Map of ColorTheme to ThemeType. */\nconst colorThemeToThemeTypeMap: { [x: string]: ThemeType } = {\n [ColorTheme.Light]: \"light\",\n [ColorTheme.HighContrastLight]: \"light\",\n [ColorTheme.Dark]: \"dark\",\n [ColorTheme.HighContrastDark]: \"dark\",\n [ColorTheme.System]: \"os\",\n os: \"os\", // handle \"os\" for backwards compatibility\n};\n\n/** List of high contrast color themes. */\nconst highContrastColorThemes: string[] = [\n ColorTheme.HighContrastDark,\n ColorTheme.HighContrastLight,\n];\n\ninterface ThemeManagerProps {\n children?: React.ReactNode;\n /** Uses redux store as a fallback. Defaults to {@link SYSTEM_PREFERRED_COLOR_THEME}. */\n theme?: ThemeId;\n}\n\n/** `ThemeManager` handles setting color themes. Note that this component will\n * affect the entire application by setting the internal `data-theme` attribute.\n * Component children are wrapped with `v2` and `v3` iTwinUI `ThemeProvider` components, so all nodes within the tree will have the same theme, and should be using iTwinUI 2.x or later.\n * Specified `ThemeId` will be mapped to iTwinUI `theme` accordingly.\n * Any other string will only apply the `data-theme` attribute to the underlying `html` element\n * and `ThemeProvider` theme will be set to `inherit`, in this case the application is\n * responsible for setting the theme, i.e. by using iTwinUI css variables.\n *\n * This component should wrap {@link ConfigurableUiContent}.\n *\n * ```tsx\n * <ThemeManager>\n * <ConfigurableUiContent />\n * </ThemeManager>\n * ```\n * @public\n */\nexport function ThemeManager({ children, ...props }: ThemeManagerProps) {\n const reduxTheme = useReduxFrameworkState((state) => {\n // eslint-disable-next-line deprecation/deprecation\n return state?.configurableUiState.theme;\n });\n const theme = props.theme ?? reduxTheme ?? SYSTEM_PREFERRED_COLOR_THEME;\n\n React.useEffect(() => {\n document.documentElement.setAttribute(\"data-theme\", theme);\n }, [theme]);\n\n const providerTheme = colorThemeToThemeTypeMap[theme];\n const highContrast = highContrastColorThemes.includes(theme);\n\n return (\n <ThemeProvider\n className=\"uifw-root\"\n theme={providerTheme ?? \"inherit\"}\n themeOptions={{ highContrast }}\n data-root-container=\"appui-root-id\"\n includeCss={true}\n >\n <ThemeProviderV2 /* v2 ThemeProvider is required to fix popup styling issues in widget popouts. */\n style={{ height: \"100%\" }}\n theme={providerTheme ?? \"inherit\"}\n themeOptions={{ highContrast }}\n >\n {children}\n </ThemeProviderV2>\n </ThemeProvider>\n );\n}\n"]}
|
|
@@ -6,6 +6,7 @@ import type { ToolbarItem } from "./ToolbarItem";
|
|
|
6
6
|
import { ToolbarOrientation, ToolbarUsage } from "./ToolbarItem";
|
|
7
7
|
/** Properties for the [[ToolbarComposer]] React components
|
|
8
8
|
* @public
|
|
9
|
+
* @deprecated in 4.17.0. Use `React.ComponentProps<typeof ToolbarComposer>`
|
|
9
10
|
*/
|
|
10
11
|
export interface ExtensibleToolbarProps {
|
|
11
12
|
/** Toolbar items. */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ToolbarComposer.d.ts","sourceRoot":"","sources":["../../../../src/appui-react/toolbar/ToolbarComposer.tsx"],"names":[],"mappings":"AAIA;;GAEG;AAEH,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAU/B,OAAO,KAAK,EAGV,WAAW,EACZ,MAAM,eAAe,CAAC;AACvB,OAAO,EAGL,kBAAkB,EAClB,YAAY,EACb,MAAM,eAAe,CAAC;AA4JvB
|
|
1
|
+
{"version":3,"file":"ToolbarComposer.d.ts","sourceRoot":"","sources":["../../../../src/appui-react/toolbar/ToolbarComposer.tsx"],"names":[],"mappings":"AAIA;;GAEG;AAEH,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAU/B,OAAO,KAAK,EAGV,WAAW,EACZ,MAAM,eAAe,CAAC;AACvB,OAAO,EAGL,kBAAkB,EAClB,YAAY,EACb,MAAM,eAAe,CAAC;AA4JvB;;;GAGG;AACH,MAAM,WAAW,sBAAsB;IACrC,qBAAqB;IACrB,KAAK,EAAE,WAAW,EAAE,CAAC;IACrB,8FAA8F;IAC9F,KAAK,EAAE,YAAY,CAAC;IACpB,2BAA2B;IAC3B,WAAW,EAAE,kBAAkB,CAAC;CACjC;AAED;;;;GAIG;AAEH,wBAAgB,eAAe,CAAC,KAAK,EAAE,sBAAsB,qBA8C5D"}
|
|
@@ -130,6 +130,7 @@ const useSnapWidgetOpacitySetting = () => {
|
|
|
130
130
|
* @note Overrides `isActive` property based on the active tool id.
|
|
131
131
|
* @public
|
|
132
132
|
*/
|
|
133
|
+
// eslint-disable-next-line deprecation/deprecation
|
|
133
134
|
function ToolbarComposer(props) {
|
|
134
135
|
const { usage, orientation } = props;
|
|
135
136
|
// process items from addon UI providers
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ToolbarComposer.js","sourceRoot":"","sources":["../../../../src/appui-react/toolbar/ToolbarComposer.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 Toolbar\n */\n\nimport * as React from \"react\";\nimport {\n Direction,\n Orientation,\n ToolbarOpacitySetting,\n ToolbarPanelAlignment,\n} from \"@itwin/components-react\";\nimport { Logger, ProcessDetector } from \"@itwin/core-bentley\";\nimport { UiFramework } from \"../UiFramework\";\nimport { ToolbarDragInteractionContext } from \"./DragInteraction\";\nimport type {\n ToolbarActionItem,\n ToolbarGroupItem,\n ToolbarItem,\n} from \"./ToolbarItem\";\nimport {\n isToolbarActionItem,\n isToolbarGroupItem,\n ToolbarOrientation,\n ToolbarUsage,\n} from \"./ToolbarItem\";\nimport { Toolbar } from \"./Toolbar\";\nimport { useActiveToolIdSynchedItems } from \"./useActiveToolIdSynchedItems\";\nimport { useActiveStageProvidedToolbarItems } from \"./useActiveStageProvidedToolbarItems\";\n\nfunction addItemToSpecifiedParentGroup<T extends ToolbarItem>(\n items: readonly T[],\n groupChildren: Array<ToolbarActionItem | ToolbarGroupItem>\n): T[] {\n const outItems: T[] = [];\n for (const toolbarItem of items) {\n if (!isToolbarGroupItem(toolbarItem)) {\n outItems.push(toolbarItem);\n continue;\n }\n\n const newChildren = addItemToSpecifiedParentGroup(\n toolbarItem.items,\n groupChildren\n );\n const foundIndices: number[] = [];\n\n groupChildren.forEach((entry, index) => {\n if (entry.parentGroupItemId === toolbarItem.id) {\n foundIndices.push(index);\n }\n });\n\n if (foundIndices.length) {\n // process in reverse order so groupChildren can be reduced as we find matches\n foundIndices\n .sort((a, b) => a - b)\n .reverse()\n .forEach((foundIndex) => {\n newChildren.push(groupChildren[foundIndex]);\n groupChildren.splice(foundIndex);\n });\n }\n\n outItems.push({ ...toolbarItem, items: newChildren });\n }\n return outItems;\n}\n\nfunction cloneGroup(inGroup: ToolbarGroupItem): ToolbarGroupItem {\n const childItems: Array<ToolbarActionItem | ToolbarGroupItem> = [];\n inGroup.items.forEach((item) => {\n if (isToolbarGroupItem(item)) childItems.push(cloneGroup(item));\n else childItems.push(item);\n });\n\n const clonedGroup = { ...inGroup, items: childItems };\n return clonedGroup;\n}\n\nfunction getItemSortValue(item: ToolbarItem) {\n const groupValue = undefined === item.groupPriority ? 0 : item.groupPriority;\n return groupValue * 10000 + item.itemPriority;\n}\n\nfunction sortItems(items: ReadonlyArray<ToolbarItem>): ToolbarItem[] {\n return [...items]\n .sort((a, b) => getItemSortValue(a) - getItemSortValue(b))\n .map((i) => {\n if (isToolbarGroupItem(i)) {\n return { ...i, items: sortItems(i.items) };\n }\n return i;\n });\n}\n\n/**\n * Create a forEach handler that will add every element of an array of ToolbarItems\n * to a list of items that can then be replaced in its proper place, ensuring that\n * the same item, from different list, is not added multiple times.\n * @param items Output list of items\n * @param groupChildren Output list of group children to redistribute.\n * @returns Array<ToolbarItem>.forEach handler.\n */\nfunction addIfNotDuplicate(\n items: ToolbarItem[],\n groupChildren: (ToolbarActionItem | ToolbarGroupItem)[]\n): (value: ToolbarItem) => void {\n return (srcItem: ToolbarItem) => {\n if (-1 === items.findIndex((item) => item.id === srcItem.id)) {\n // if the default item is a group that an addon may insert into copy it so we don't mess with original\n const toolbarItem = isToolbarGroupItem(srcItem)\n ? cloneGroup(srcItem)\n : srcItem;\n if (\n (isToolbarGroupItem(toolbarItem) || isToolbarActionItem(toolbarItem)) &&\n toolbarItem.parentGroupItemId\n )\n groupChildren.push(toolbarItem);\n else items.push(toolbarItem);\n }\n };\n}\n\n/** local function to combine items from Stage and from Extensions */\nfunction combineItems(\n defaultItems: ReadonlyArray<ToolbarItem>,\n addonItems: ReadonlyArray<ToolbarItem>\n): ToolbarItem[] {\n let items: ToolbarItem[] = [];\n const groupChildren: Array<ToolbarActionItem | ToolbarGroupItem> = [];\n\n defaultItems.forEach(addIfNotDuplicate(items, groupChildren));\n addonItems.forEach(addIfNotDuplicate(items, groupChildren));\n\n // if an item from an addon has specified a parent group then try to find it and insert it. If no parent is found, add item at root level.\n if (groupChildren.length) {\n items = addItemToSpecifiedParentGroup(items, groupChildren);\n\n groupChildren.forEach((toolbarItem) => {\n Logger.logWarning(\n \"ToolbarComposer\",\n `Requested Parent Group [${toolbarItem.parentGroupItemId!}] not found, so item [${\n toolbarItem.id\n }] is added directly to toolbar.`\n );\n items.push(toolbarItem);\n });\n }\n\n return sortItems(items);\n}\n\nconst useProximityOpacitySetting = () => {\n const [proximityOpacity, setProximityOpacity] = React.useState(\n UiFramework.visibility.useProximityOpacity // eslint-disable-line deprecation/deprecation\n );\n\n React.useEffect(() => {\n UiFramework.onUiVisibilityChanged.addListener(\n () => setProximityOpacity(UiFramework.visibility.useProximityOpacity) // eslint-disable-line deprecation/deprecation\n );\n }, []);\n\n return proximityOpacity;\n};\n\nconst useSnapWidgetOpacitySetting = () => {\n const [snapWidgetOpacity, setSnapWidgetOpacity] = React.useState(\n UiFramework.visibility.snapWidgetOpacity\n );\n\n React.useEffect(() => {\n UiFramework.onUiVisibilityChanged.addListener(() =>\n setSnapWidgetOpacity(UiFramework.visibility.snapWidgetOpacity)\n );\n }, []);\n\n return snapWidgetOpacity;\n};\n\n/** Properties for the [[ToolbarComposer]] React components\n * @public\n */\nexport interface ExtensibleToolbarProps {\n /** Toolbar items. */\n items: ToolbarItem[];\n /** Toolbar usage based on which additional toolbar items are added from UI item providers. */\n usage: ToolbarUsage;\n /** Toolbar orientation. */\n orientation: ToolbarOrientation;\n}\n\n/**\n * Toolbar that is populated and maintained by UI item providers.\n * @note Overrides `isActive` property based on the active tool id.\n * @public\n */\nexport function ToolbarComposer(props: ExtensibleToolbarProps) {\n const { usage, orientation } = props;\n\n // process items from addon UI providers\n const addonItems = useActiveStageProvidedToolbarItems(usage, orientation);\n\n const allItems = React.useMemo(() => {\n return combineItems(props.items, addonItems);\n }, [props.items, addonItems]);\n\n const items = useActiveToolIdSynchedItems(allItems, UiFramework.frontstages);\n\n const toolbarOrientation =\n orientation === ToolbarOrientation.Horizontal\n ? Orientation.Horizontal\n : Orientation.Vertical;\n const expandsTo =\n toolbarOrientation === Orientation.Horizontal\n ? Direction.Bottom\n : usage === ToolbarUsage.ViewNavigation\n ? Direction.Left\n : Direction.Right;\n const panelAlignment =\n toolbarOrientation === Orientation.Horizontal &&\n usage === ToolbarUsage.ViewNavigation\n ? ToolbarPanelAlignment.End\n : ToolbarPanelAlignment.Start;\n const isDragEnabled = React.useContext(ToolbarDragInteractionContext);\n const useProximityOpacity = useProximityOpacitySetting();\n const snapWidgetOpacity = useSnapWidgetOpacitySetting();\n\n return (\n <Toolbar\n enableOverflow={true}\n expandsTo={expandsTo}\n panelAlignment={panelAlignment}\n items={items}\n useDragInteraction={isDragEnabled}\n toolbarOpacitySetting={\n (useProximityOpacity || snapWidgetOpacity) &&\n !ProcessDetector.isMobileBrowser\n ? ToolbarOpacitySetting.Proximity\n : ToolbarOpacitySetting.Defaults\n }\n />\n );\n}\n"]}
|
|
1
|
+
{"version":3,"file":"ToolbarComposer.js","sourceRoot":"","sources":["../../../../src/appui-react/toolbar/ToolbarComposer.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 Toolbar\n */\n\nimport * as React from \"react\";\nimport {\n Direction,\n Orientation,\n ToolbarOpacitySetting,\n ToolbarPanelAlignment,\n} from \"@itwin/components-react\";\nimport { Logger, ProcessDetector } from \"@itwin/core-bentley\";\nimport { UiFramework } from \"../UiFramework\";\nimport { ToolbarDragInteractionContext } from \"./DragInteraction\";\nimport type {\n ToolbarActionItem,\n ToolbarGroupItem,\n ToolbarItem,\n} from \"./ToolbarItem\";\nimport {\n isToolbarActionItem,\n isToolbarGroupItem,\n ToolbarOrientation,\n ToolbarUsage,\n} from \"./ToolbarItem\";\nimport { Toolbar } from \"./Toolbar\";\nimport { useActiveToolIdSynchedItems } from \"./useActiveToolIdSynchedItems\";\nimport { useActiveStageProvidedToolbarItems } from \"./useActiveStageProvidedToolbarItems\";\n\nfunction addItemToSpecifiedParentGroup<T extends ToolbarItem>(\n items: readonly T[],\n groupChildren: Array<ToolbarActionItem | ToolbarGroupItem>\n): T[] {\n const outItems: T[] = [];\n for (const toolbarItem of items) {\n if (!isToolbarGroupItem(toolbarItem)) {\n outItems.push(toolbarItem);\n continue;\n }\n\n const newChildren = addItemToSpecifiedParentGroup(\n toolbarItem.items,\n groupChildren\n );\n const foundIndices: number[] = [];\n\n groupChildren.forEach((entry, index) => {\n if (entry.parentGroupItemId === toolbarItem.id) {\n foundIndices.push(index);\n }\n });\n\n if (foundIndices.length) {\n // process in reverse order so groupChildren can be reduced as we find matches\n foundIndices\n .sort((a, b) => a - b)\n .reverse()\n .forEach((foundIndex) => {\n newChildren.push(groupChildren[foundIndex]);\n groupChildren.splice(foundIndex);\n });\n }\n\n outItems.push({ ...toolbarItem, items: newChildren });\n }\n return outItems;\n}\n\nfunction cloneGroup(inGroup: ToolbarGroupItem): ToolbarGroupItem {\n const childItems: Array<ToolbarActionItem | ToolbarGroupItem> = [];\n inGroup.items.forEach((item) => {\n if (isToolbarGroupItem(item)) childItems.push(cloneGroup(item));\n else childItems.push(item);\n });\n\n const clonedGroup = { ...inGroup, items: childItems };\n return clonedGroup;\n}\n\nfunction getItemSortValue(item: ToolbarItem) {\n const groupValue = undefined === item.groupPriority ? 0 : item.groupPriority;\n return groupValue * 10000 + item.itemPriority;\n}\n\nfunction sortItems(items: ReadonlyArray<ToolbarItem>): ToolbarItem[] {\n return [...items]\n .sort((a, b) => getItemSortValue(a) - getItemSortValue(b))\n .map((i) => {\n if (isToolbarGroupItem(i)) {\n return { ...i, items: sortItems(i.items) };\n }\n return i;\n });\n}\n\n/**\n * Create a forEach handler that will add every element of an array of ToolbarItems\n * to a list of items that can then be replaced in its proper place, ensuring that\n * the same item, from different list, is not added multiple times.\n * @param items Output list of items\n * @param groupChildren Output list of group children to redistribute.\n * @returns Array<ToolbarItem>.forEach handler.\n */\nfunction addIfNotDuplicate(\n items: ToolbarItem[],\n groupChildren: (ToolbarActionItem | ToolbarGroupItem)[]\n): (value: ToolbarItem) => void {\n return (srcItem: ToolbarItem) => {\n if (-1 === items.findIndex((item) => item.id === srcItem.id)) {\n // if the default item is a group that an addon may insert into copy it so we don't mess with original\n const toolbarItem = isToolbarGroupItem(srcItem)\n ? cloneGroup(srcItem)\n : srcItem;\n if (\n (isToolbarGroupItem(toolbarItem) || isToolbarActionItem(toolbarItem)) &&\n toolbarItem.parentGroupItemId\n )\n groupChildren.push(toolbarItem);\n else items.push(toolbarItem);\n }\n };\n}\n\n/** local function to combine items from Stage and from Extensions */\nfunction combineItems(\n defaultItems: ReadonlyArray<ToolbarItem>,\n addonItems: ReadonlyArray<ToolbarItem>\n): ToolbarItem[] {\n let items: ToolbarItem[] = [];\n const groupChildren: Array<ToolbarActionItem | ToolbarGroupItem> = [];\n\n defaultItems.forEach(addIfNotDuplicate(items, groupChildren));\n addonItems.forEach(addIfNotDuplicate(items, groupChildren));\n\n // if an item from an addon has specified a parent group then try to find it and insert it. If no parent is found, add item at root level.\n if (groupChildren.length) {\n items = addItemToSpecifiedParentGroup(items, groupChildren);\n\n groupChildren.forEach((toolbarItem) => {\n Logger.logWarning(\n \"ToolbarComposer\",\n `Requested Parent Group [${toolbarItem.parentGroupItemId!}] not found, so item [${\n toolbarItem.id\n }] is added directly to toolbar.`\n );\n items.push(toolbarItem);\n });\n }\n\n return sortItems(items);\n}\n\nconst useProximityOpacitySetting = () => {\n const [proximityOpacity, setProximityOpacity] = React.useState(\n UiFramework.visibility.useProximityOpacity // eslint-disable-line deprecation/deprecation\n );\n\n React.useEffect(() => {\n UiFramework.onUiVisibilityChanged.addListener(\n () => setProximityOpacity(UiFramework.visibility.useProximityOpacity) // eslint-disable-line deprecation/deprecation\n );\n }, []);\n\n return proximityOpacity;\n};\n\nconst useSnapWidgetOpacitySetting = () => {\n const [snapWidgetOpacity, setSnapWidgetOpacity] = React.useState(\n UiFramework.visibility.snapWidgetOpacity\n );\n\n React.useEffect(() => {\n UiFramework.onUiVisibilityChanged.addListener(() =>\n setSnapWidgetOpacity(UiFramework.visibility.snapWidgetOpacity)\n );\n }, []);\n\n return snapWidgetOpacity;\n};\n\n/** Properties for the [[ToolbarComposer]] React components\n * @public\n * @deprecated in 4.17.0. Use `React.ComponentProps<typeof ToolbarComposer>`\n */\nexport interface ExtensibleToolbarProps {\n /** Toolbar items. */\n items: ToolbarItem[];\n /** Toolbar usage based on which additional toolbar items are added from UI item providers. */\n usage: ToolbarUsage;\n /** Toolbar orientation. */\n orientation: ToolbarOrientation;\n}\n\n/**\n * Toolbar that is populated and maintained by UI item providers.\n * @note Overrides `isActive` property based on the active tool id.\n * @public\n */\n// eslint-disable-next-line deprecation/deprecation\nexport function ToolbarComposer(props: ExtensibleToolbarProps) {\n const { usage, orientation } = props;\n\n // process items from addon UI providers\n const addonItems = useActiveStageProvidedToolbarItems(usage, orientation);\n\n const allItems = React.useMemo(() => {\n return combineItems(props.items, addonItems);\n }, [props.items, addonItems]);\n\n const items = useActiveToolIdSynchedItems(allItems, UiFramework.frontstages);\n\n const toolbarOrientation =\n orientation === ToolbarOrientation.Horizontal\n ? Orientation.Horizontal\n : Orientation.Vertical;\n const expandsTo =\n toolbarOrientation === Orientation.Horizontal\n ? Direction.Bottom\n : usage === ToolbarUsage.ViewNavigation\n ? Direction.Left\n : Direction.Right;\n const panelAlignment =\n toolbarOrientation === Orientation.Horizontal &&\n usage === ToolbarUsage.ViewNavigation\n ? ToolbarPanelAlignment.End\n : ToolbarPanelAlignment.Start;\n const isDragEnabled = React.useContext(ToolbarDragInteractionContext);\n const useProximityOpacity = useProximityOpacitySetting();\n const snapWidgetOpacity = useSnapWidgetOpacitySetting();\n\n return (\n <Toolbar\n enableOverflow={true}\n expandsTo={expandsTo}\n panelAlignment={panelAlignment}\n items={items}\n useDragInteraction={isDragEnabled}\n toolbarOpacitySetting={\n (useProximityOpacity || snapWidgetOpacity) &&\n !ProcessDetector.isMobileBrowser\n ? ToolbarOpacitySetting.Proximity\n : ToolbarOpacitySetting.Defaults\n }\n />\n );\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ToolbarItemsManager.d.ts","sourceRoot":"","sources":["../../../../src/appui-react/toolbar/ToolbarItemsManager.ts"],"names":[],"mappings":"AAIA;;GAEG;AAMH,OAAO,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAC;
|
|
1
|
+
{"version":3,"file":"ToolbarItemsManager.d.ts","sourceRoot":"","sources":["../../../../src/appui-react/toolbar/ToolbarItemsManager.ts"],"names":[],"mappings":"AAIA;;GAEG;AAMH,OAAO,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAC;AAE9C,OAAO,KAAK,EAGV,WAAW,EACZ,MAAM,eAAe,CAAC;AAOvB;;GAEG;AACH,MAAM,WAAW,uBAAuB;IACtC,QAAQ,CAAC,KAAK,EAAE,aAAa,CAAC,WAAW,CAAC,CAAC;CAC5C;AAED;;;;GAIG;AACH,qBAAa,mBAAmB;IAG9B,SAAS,CAAC,MAAM,EAAE,aAAa,CAAC,WAAW,CAAC,CAAM;gBAEtC,KAAK,CAAC,EAAE,aAAa,CAAC,WAAW,CAAC;IAI9C;;OAEG;IACH,SAAgB,cAAc,iBACrB,uBAAuB,KAAK,IAAI,EACrC;IAEJ,OAAO,CAAC,iBAAiB;IAoBzB;;OAEG;IACI,SAAS,CAAC,KAAK,EAAE,aAAa,CAAC,WAAW,CAAC;IAIlD,yCAAyC;IACzC,IAAW,KAAK,IAAI,aAAa,CAAC,WAAW,CAAC,CAE7C;IAED,IAAW,KAAK,CAAC,KAAK,EAAE,aAAa,CAAC,WAAW,CAAC,EAEjD;IAEM,GAAG,CAAC,WAAW,EAAE,WAAW,GAAG,aAAa,CAAC,WAAW,CAAC;IAkBhE,uCAAuC;IAChC,MAAM,CACX,eAAe,EAAE,WAAW,CAAC,IAAI,CAAC,GAAG,aAAa,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;IAUvE,gBAAgB;IACT,SAAS;IAIhB,OAAO,CAAC,MAAM,CAAC,aAAa;WA2Bd,oBAAoB,CAAC,KAAK,EAAE,SAAS,WAAW,EAAE,GAAG,MAAM,EAAE;IAM3E,OAAO,CAAC,MAAM,CAAC,iBAAiB;IA8ChC,OAAO,CAAC,4BAA4B;IA6C7B,oBAAoB,CAAC,QAAQ,EAAE,GAAG,CAAC,MAAM,CAAC;IAWjD,OAAO,CAAC,MAAM,CAAC,wCAAwC;IAoBvD,OAAO,CAAC,6BAA6B;IAwBrC,OAAO,CAAC,MAAM,CAAC,+BAA+B;IAyBvC,eAAe,CAAC,MAAM,EAAE,MAAM;CAyBtC"}
|
|
@@ -10,8 +10,8 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
10
10
|
exports.ToolbarItemsManager = void 0;
|
|
11
11
|
const appui_abstract_1 = require("@itwin/appui-abstract");
|
|
12
12
|
const core_bentley_1 = require("@itwin/core-bentley");
|
|
13
|
+
const core_react_1 = require("@itwin/core-react");
|
|
13
14
|
const ToolbarItem_1 = require("./ToolbarItem");
|
|
14
|
-
const ConditionalValue_1 = require("../shared/ConditionalValue");
|
|
15
15
|
function isInstance(args) {
|
|
16
16
|
return !Array.isArray(args);
|
|
17
17
|
}
|
|
@@ -94,8 +94,9 @@ class ToolbarItemsManager {
|
|
|
94
94
|
}
|
|
95
95
|
else if (entry instanceof appui_abstract_1.ConditionalStringValue) {
|
|
96
96
|
entry.syncEventIds.forEach((eventId) => eventIds.add(eventId.toLowerCase()));
|
|
97
|
+
// eslint-disable-next-line deprecation/deprecation
|
|
97
98
|
}
|
|
98
|
-
else if (entry instanceof
|
|
99
|
+
else if (entry instanceof core_react_1.ConditionalIconItem) {
|
|
99
100
|
entry.syncEventIds.forEach((eventId) => eventIds.add(eventId.toLowerCase()));
|
|
100
101
|
}
|
|
101
102
|
}
|
|
@@ -133,9 +134,11 @@ class ToolbarItemsManager {
|
|
|
133
134
|
else if (entry instanceof appui_abstract_1.ConditionalStringValue) {
|
|
134
135
|
if (appui_abstract_1.ConditionalStringValue.refreshValue(entry, eventIds))
|
|
135
136
|
itemsUpdated = true;
|
|
137
|
+
// eslint-disable-next-line deprecation/deprecation
|
|
136
138
|
}
|
|
137
|
-
else if (entry instanceof
|
|
138
|
-
|
|
139
|
+
else if (entry instanceof core_react_1.ConditionalIconItem) {
|
|
140
|
+
// eslint-disable-next-line deprecation/deprecation
|
|
141
|
+
if (core_react_1.ConditionalIconItem.refreshValue(entry, eventIds))
|
|
139
142
|
itemsUpdated = true;
|
|
140
143
|
}
|
|
141
144
|
}
|
|
@@ -170,9 +173,11 @@ class ToolbarItemsManager {
|
|
|
170
173
|
else if (entry instanceof appui_abstract_1.ConditionalStringValue) {
|
|
171
174
|
if (appui_abstract_1.ConditionalStringValue.refreshValue(entry, eventIds))
|
|
172
175
|
updateRequired = true;
|
|
176
|
+
// eslint-disable-next-line deprecation/deprecation
|
|
173
177
|
}
|
|
174
|
-
else if (entry instanceof
|
|
175
|
-
|
|
178
|
+
else if (entry instanceof core_react_1.ConditionalIconItem) {
|
|
179
|
+
// eslint-disable-next-line deprecation/deprecation
|
|
180
|
+
if (core_react_1.ConditionalIconItem.refreshValue(entry, eventIds))
|
|
176
181
|
updateRequired = true;
|
|
177
182
|
}
|
|
178
183
|
}
|