@itwin/appui-react 4.0.0-dev.10 → 4.0.0-dev.12
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/lib/cjs/appui-react/_variables.scss +4 -5
- package/lib/cjs/appui-react/accudraw/AccuDrawInputField.js +2 -1
- package/lib/cjs/appui-react/accudraw/AccuDrawInputField.js.map +1 -1
- package/lib/cjs/appui-react/accudraw/AccuDrawInputField.scss +4 -10
- package/lib/cjs/appui-react/accudraw/Calculator.d.ts.map +1 -1
- package/lib/cjs/appui-react/accudraw/Calculator.js +3 -2
- package/lib/cjs/appui-react/accudraw/Calculator.js.map +1 -1
- package/lib/cjs/appui-react/accudraw/Calculator.scss +12 -14
- package/lib/cjs/appui-react/accudraw/MenuButton.d.ts.map +1 -1
- package/lib/cjs/appui-react/accudraw/MenuButton.js +2 -1
- package/lib/cjs/appui-react/accudraw/MenuButton.js.map +1 -1
- package/lib/cjs/appui-react/accudraw/SquareButton.scss +10 -25
- package/lib/cjs/appui-react/backstage/BackstageComposer.d.ts +1 -1
- package/lib/cjs/appui-react/backstage/BackstageComposer.d.ts.map +1 -1
- package/lib/cjs/appui-react/backstage/BackstageComposer.js +16 -19
- package/lib/cjs/appui-react/backstage/BackstageComposer.js.map +1 -1
- package/lib/cjs/appui-react/backstage/BackstageComposerItem.d.ts +1 -2
- package/lib/cjs/appui-react/backstage/BackstageComposerItem.d.ts.map +1 -1
- package/lib/cjs/appui-react/backstage/BackstageComposerItem.js +5 -5
- package/lib/cjs/appui-react/backstage/BackstageComposerItem.js.map +1 -1
- package/lib/cjs/appui-react/backstage/BackstageItem.d.ts +44 -13
- package/lib/cjs/appui-react/backstage/BackstageItem.d.ts.map +1 -1
- package/lib/cjs/appui-react/backstage/BackstageItem.js +4 -5
- package/lib/cjs/appui-react/backstage/BackstageItem.js.map +1 -1
- package/lib/cjs/appui-react/backstage/BackstageItemsManager.d.ts +39 -0
- package/lib/cjs/appui-react/backstage/BackstageItemsManager.d.ts.map +1 -0
- package/lib/cjs/appui-react/backstage/BackstageItemsManager.js +130 -0
- package/lib/cjs/appui-react/backstage/BackstageItemsManager.js.map +1 -0
- package/lib/cjs/appui-react/backstage/useDefaultBackstageItems.d.ts +2 -1
- package/lib/cjs/appui-react/backstage/useDefaultBackstageItems.d.ts.map +1 -1
- package/lib/cjs/appui-react/backstage/useDefaultBackstageItems.js +2 -6
- package/lib/cjs/appui-react/backstage/useDefaultBackstageItems.js.map +1 -1
- package/lib/cjs/appui-react/backstage/useUiItemsProviderBackstageItems.d.ts +1 -1
- package/lib/cjs/appui-react/backstage/useUiItemsProviderBackstageItems.d.ts.map +1 -1
- package/lib/cjs/appui-react/backstage/useUiItemsProviderBackstageItems.js +2 -6
- package/lib/cjs/appui-react/backstage/useUiItemsProviderBackstageItems.js.map +1 -1
- package/lib/cjs/appui-react/configurableui/ConfigurableUiControl.d.ts +1 -1
- package/lib/cjs/appui-react/configurableui/ConfigurableUiControl.js +1 -1
- package/lib/cjs/appui-react/configurableui/ConfigurableUiControl.js.map +1 -1
- package/lib/cjs/appui-react/configurableui/configurableui.scss +0 -3
- package/lib/cjs/appui-react/content/ContentLayout.scss +4 -4
- package/lib/cjs/appui-react/content/DefaultViewOverlay.scss +10 -7
- package/lib/cjs/appui-react/content/FloatingViewportContent.d.ts +2 -10
- package/lib/cjs/appui-react/content/FloatingViewportContent.d.ts.map +1 -1
- package/lib/cjs/appui-react/content/FloatingViewportContent.js +15 -14
- package/lib/cjs/appui-react/content/FloatingViewportContent.js.map +1 -1
- package/lib/cjs/appui-react/cursor/cursorpopup/CursorPopup.scss +3 -3
- package/lib/cjs/appui-react/cursor/cursorprompt/CursorPrompt.d.ts.map +1 -1
- package/lib/cjs/appui-react/cursor/cursorprompt/CursorPrompt.js +2 -1
- package/lib/cjs/appui-react/cursor/cursorprompt/CursorPrompt.js.map +1 -1
- package/lib/cjs/appui-react/cursor/cursorprompt/CursorPrompt.scss +1 -1
- package/lib/cjs/appui-react/feedback/ValidationTextbox.d.ts.map +1 -1
- package/lib/cjs/appui-react/feedback/ValidationTextbox.js +2 -1
- package/lib/cjs/appui-react/feedback/ValidationTextbox.js.map +1 -1
- package/lib/cjs/appui-react/feedback/ValidationTextbox.scss +3 -6
- package/lib/cjs/appui-react/frontstage/ModalFrontstage.d.ts.map +1 -1
- package/lib/cjs/appui-react/frontstage/ModalFrontstage.js +4 -2
- package/lib/cjs/appui-react/frontstage/ModalFrontstage.js.map +1 -1
- package/lib/cjs/appui-react/frontstage/ModalFrontstage.scss +9 -12
- package/lib/cjs/appui-react/frontstage/ModalSettingsStage.d.ts +1 -1
- package/lib/cjs/appui-react/frontstage/ModalSettingsStage.d.ts.map +1 -1
- package/lib/cjs/appui-react/frontstage/ModalSettingsStage.js +2 -2
- package/lib/cjs/appui-react/frontstage/ModalSettingsStage.js.map +1 -1
- package/lib/cjs/appui-react/frontstage/ModalSettingsStage.scss +1 -3
- package/lib/cjs/appui-react/frontstage/NestedFrontstage.d.ts +1 -0
- package/lib/cjs/appui-react/frontstage/NestedFrontstage.d.ts.map +1 -1
- package/lib/cjs/appui-react/frontstage/NestedFrontstage.js +4 -1
- package/lib/cjs/appui-react/frontstage/NestedFrontstage.js.map +1 -1
- package/lib/cjs/appui-react/frontstage/StageUsage.d.ts +9 -8
- package/lib/cjs/appui-react/frontstage/StageUsage.d.ts.map +1 -1
- package/lib/cjs/appui-react/frontstage/StageUsage.js +10 -3
- package/lib/cjs/appui-react/frontstage/StageUsage.js.map +1 -1
- package/lib/cjs/appui-react/frontstage/StandardFrontstageProvider.d.ts +3 -3
- package/lib/cjs/appui-react/frontstage/StandardFrontstageProvider.d.ts.map +1 -1
- package/lib/cjs/appui-react/frontstage/StandardFrontstageProvider.js +4 -4
- package/lib/cjs/appui-react/frontstage/StandardFrontstageProvider.js.map +1 -1
- package/lib/cjs/appui-react/hooks/useAvailableUiItemsProviders.d.ts.map +1 -1
- package/lib/cjs/appui-react/hooks/useAvailableUiItemsProviders.js +5 -9
- package/lib/cjs/appui-react/hooks/useAvailableUiItemsProviders.js.map +1 -1
- package/lib/cjs/appui-react/messages/ActivityMessage.js +1 -1
- package/lib/cjs/appui-react/messages/ActivityMessage.js.map +1 -1
- package/lib/cjs/appui-react/messages/InputField.d.ts.map +1 -1
- package/lib/cjs/appui-react/messages/InputField.js +8 -7
- package/lib/cjs/appui-react/messages/InputField.js.map +1 -1
- package/lib/cjs/appui-react/messages/InputField.scss +8 -8
- package/lib/cjs/appui-react/messages/MessageManager.d.ts +10 -1
- package/lib/cjs/appui-react/messages/MessageManager.d.ts.map +1 -1
- package/lib/cjs/appui-react/messages/MessageManager.js +30 -5
- package/lib/cjs/appui-react/messages/MessageManager.js.map +1 -1
- package/lib/cjs/appui-react/messages/Pointer.d.ts.map +1 -1
- package/lib/cjs/appui-react/messages/Pointer.js +1 -1
- package/lib/cjs/appui-react/messages/Pointer.js.map +1 -1
- package/lib/cjs/appui-react/messages/Pointer.scss +6 -6
- package/lib/cjs/appui-react/navigationaids/SheetNavigationAid.d.ts.map +1 -1
- package/lib/cjs/appui-react/navigationaids/SheetNavigationAid.js +5 -2
- package/lib/cjs/appui-react/navigationaids/SheetNavigationAid.js.map +1 -1
- package/lib/cjs/appui-react/navigationaids/SheetNavigationAid.scss +1 -21
- package/lib/cjs/appui-react/navigationaids/SheetsModalFrontstage.d.ts +3 -3
- package/lib/cjs/appui-react/navigationaids/SheetsModalFrontstage.d.ts.map +1 -1
- package/lib/cjs/appui-react/navigationaids/SheetsModalFrontstage.js +8 -6
- package/lib/cjs/appui-react/navigationaids/SheetsModalFrontstage.js.map +1 -1
- package/lib/cjs/appui-react/navigationaids/StandardRotationNavigationAid.d.ts +2 -2
- package/lib/cjs/appui-react/navigationaids/StandardRotationNavigationAid.d.ts.map +1 -1
- package/lib/cjs/appui-react/navigationaids/StandardRotationNavigationAid.js +19 -10
- package/lib/cjs/appui-react/navigationaids/StandardRotationNavigationAid.js.map +1 -1
- package/lib/cjs/appui-react/pickers/ListPicker.d.ts +1 -1
- package/lib/cjs/appui-react/pickers/ListPicker.d.ts.map +1 -1
- package/lib/cjs/appui-react/pickers/ListPicker.js +4 -3
- package/lib/cjs/appui-react/pickers/ListPicker.js.map +1 -1
- package/lib/cjs/appui-react/pickers/ListPicker.scss +5 -5
- package/lib/cjs/appui-react/pickers/ViewSelector.d.ts.map +1 -1
- package/lib/cjs/appui-react/pickers/ViewSelector.js +3 -1
- package/lib/cjs/appui-react/pickers/ViewSelector.js.map +1 -1
- package/lib/cjs/appui-react/popup/CardPopup.js +2 -2
- package/lib/cjs/appui-react/popup/CardPopup.js.map +1 -1
- package/lib/cjs/appui-react/popup/KeyinPalettePanel.scss +1 -1
- package/lib/cjs/appui-react/popup/PositionPopup.scss +1 -1
- package/lib/cjs/appui-react/popup/ToolbarPopup.d.ts +3 -2
- package/lib/cjs/appui-react/popup/ToolbarPopup.d.ts.map +1 -1
- package/lib/cjs/appui-react/popup/ToolbarPopup.js +3 -1
- package/lib/cjs/appui-react/popup/ToolbarPopup.js.map +1 -1
- package/lib/cjs/appui-react/selection/SelectionContextItemDef.d.ts.map +1 -1
- package/lib/cjs/appui-react/selection/SelectionContextItemDef.js +20 -10
- package/lib/cjs/appui-react/selection/SelectionContextItemDef.js.map +1 -1
- package/lib/cjs/appui-react/settings/quantityformatting/QuantityFormat.d.ts.map +1 -1
- package/lib/cjs/appui-react/settings/quantityformatting/QuantityFormat.js +2 -1
- package/lib/cjs/appui-react/settings/quantityformatting/QuantityFormat.js.map +1 -1
- package/lib/cjs/appui-react/settings/quantityformatting/QuantityFormat.scss +2 -2
- package/lib/cjs/appui-react/settings/ui/UiSettingsPage.scss +3 -4
- package/lib/cjs/appui-react/shared/ItemProps.d.ts +2 -2
- package/lib/cjs/appui-react/shared/ItemProps.d.ts.map +1 -1
- package/lib/cjs/appui-react/shared/ItemProps.js.map +1 -1
- package/lib/cjs/appui-react/shared/ToolItemDef.d.ts +1 -1
- package/lib/cjs/appui-react/shared/ToolItemDef.d.ts.map +1 -1
- package/lib/cjs/appui-react/shared/ToolItemDef.js +2 -2
- package/lib/cjs/appui-react/shared/ToolItemDef.js.map +1 -1
- package/lib/cjs/appui-react/stagepanels/StagePanelDef.d.ts +27 -0
- package/lib/cjs/appui-react/stagepanels/StagePanelDef.d.ts.map +1 -1
- package/lib/cjs/appui-react/stagepanels/StagePanelLocation.d.ts +7 -7
- package/lib/cjs/appui-react/stagepanels/StagePanelLocation.d.ts.map +1 -1
- package/lib/cjs/appui-react/stagepanels/StagePanelLocation.js +8 -3
- package/lib/cjs/appui-react/stagepanels/StagePanelLocation.js.map +1 -1
- package/lib/cjs/appui-react/stagepanels/StagePanelSection.d.ts +5 -7
- package/lib/cjs/appui-react/stagepanels/StagePanelSection.d.ts.map +1 -1
- package/lib/cjs/appui-react/stagepanels/StagePanelSection.js +6 -3
- package/lib/cjs/appui-react/stagepanels/StagePanelSection.js.map +1 -1
- package/lib/cjs/appui-react/statusbar/Indicator.scss +14 -15
- package/lib/cjs/appui-react/statusbar/LabelIndicator.d.ts +1 -1
- package/lib/cjs/appui-react/statusbar/LabelIndicator.d.ts.map +1 -1
- package/lib/cjs/appui-react/statusbar/LabelIndicator.js +2 -3
- package/lib/cjs/appui-react/statusbar/LabelIndicator.js.map +1 -1
- package/lib/cjs/appui-react/statusbar/Separator.scss +1 -3
- package/lib/cjs/appui-react/statusbar/StatusBar.d.ts +1 -0
- package/lib/cjs/appui-react/statusbar/StatusBar.d.ts.map +1 -1
- package/lib/cjs/appui-react/statusbar/StatusBar.js +2 -1
- package/lib/cjs/appui-react/statusbar/StatusBar.js.map +1 -1
- package/lib/cjs/appui-react/statusbar/StatusBar.scss +1 -3
- package/lib/cjs/appui-react/statusbar/StatusBarComposer.d.ts +2 -2
- package/lib/cjs/appui-react/statusbar/StatusBarComposer.d.ts.map +1 -1
- package/lib/cjs/appui-react/statusbar/StatusBarComposer.js +34 -35
- package/lib/cjs/appui-react/statusbar/StatusBarComposer.js.map +1 -1
- package/lib/cjs/appui-react/statusbar/StatusBarItem.d.ts +71 -39
- package/lib/cjs/appui-react/statusbar/StatusBarItem.d.ts.map +1 -1
- package/lib/cjs/appui-react/statusbar/StatusBarItem.js +33 -20
- package/lib/cjs/appui-react/statusbar/StatusBarItem.js.map +1 -1
- package/lib/cjs/appui-react/statusbar/StatusBarItemUtilities.d.ts +5 -14
- package/lib/cjs/appui-react/statusbar/StatusBarItemUtilities.d.ts.map +1 -1
- package/lib/cjs/appui-react/statusbar/StatusBarItemUtilities.js +28 -20
- package/lib/cjs/appui-react/statusbar/StatusBarItemUtilities.js.map +1 -1
- package/lib/cjs/appui-react/statusbar/StatusBarItemsManager.d.ts +40 -0
- package/lib/cjs/appui-react/statusbar/StatusBarItemsManager.d.ts.map +1 -0
- package/lib/cjs/appui-react/statusbar/StatusBarItemsManager.js +135 -0
- package/lib/cjs/appui-react/statusbar/StatusBarItemsManager.js.map +1 -0
- package/lib/cjs/appui-react/statusbar/useDefaultStatusBarItems.d.ts +3 -2
- package/lib/cjs/appui-react/statusbar/useDefaultStatusBarItems.d.ts.map +1 -1
- package/lib/cjs/appui-react/statusbar/useDefaultStatusBarItems.js +2 -7
- package/lib/cjs/appui-react/statusbar/useDefaultStatusBarItems.js.map +1 -1
- package/lib/cjs/appui-react/statusbar/useUiItemsProviderStatusBarItems.d.ts +3 -3
- package/lib/cjs/appui-react/statusbar/useUiItemsProviderStatusBarItems.d.ts.map +1 -1
- package/lib/cjs/appui-react/statusbar/useUiItemsProviderStatusBarItems.js.map +1 -1
- package/lib/cjs/appui-react/statusfields/ActivityCenter.d.ts.map +1 -1
- package/lib/cjs/appui-react/statusfields/ActivityCenter.js +5 -3
- package/lib/cjs/appui-react/statusfields/ActivityCenter.js.map +1 -1
- package/lib/cjs/appui-react/statusfields/MessageCenter.d.ts.map +1 -1
- package/lib/cjs/appui-react/statusfields/MessageCenter.js +5 -2
- package/lib/cjs/appui-react/statusfields/MessageCenter.js.map +1 -1
- package/lib/cjs/appui-react/statusfields/SectionsField.d.ts.map +1 -1
- package/lib/cjs/appui-react/statusfields/SectionsField.js +4 -1
- package/lib/cjs/appui-react/statusfields/SectionsField.js.map +1 -1
- package/lib/cjs/appui-react/statusfields/SectionsField.scss +3 -4
- package/lib/cjs/appui-react/statusfields/SelectionInfo.d.ts.map +1 -1
- package/lib/cjs/appui-react/statusfields/SelectionInfo.js +2 -1
- package/lib/cjs/appui-react/statusfields/SelectionInfo.js.map +1 -1
- package/lib/cjs/appui-react/statusfields/SelectionScope.scss +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 +40 -2
- package/lib/cjs/appui-react/statusfields/SnapMode.js.map +1 -1
- package/lib/cjs/appui-react/statusfields/ViewAttributes.d.ts.map +1 -1
- package/lib/cjs/appui-react/statusfields/ViewAttributes.js +2 -1
- package/lib/cjs/appui-react/statusfields/ViewAttributes.js.map +1 -1
- package/lib/cjs/appui-react/statusfields/toolassistance/ToolAssistanceField.d.ts.map +1 -1
- package/lib/cjs/appui-react/statusfields/toolassistance/ToolAssistanceField.js +5 -4
- package/lib/cjs/appui-react/statusfields/toolassistance/ToolAssistanceField.js.map +1 -1
- package/lib/cjs/appui-react/statusfields/toolassistance/ToolAssistanceField.scss +12 -12
- package/lib/cjs/appui-react/theme/ThemeManager.d.ts.map +1 -1
- package/lib/cjs/appui-react/theme/ThemeManager.js +1 -2
- package/lib/cjs/appui-react/theme/ThemeManager.js.map +1 -1
- package/lib/cjs/appui-react/toolbar/ToolbarComposer.d.ts +2 -3
- package/lib/cjs/appui-react/toolbar/ToolbarComposer.d.ts.map +1 -1
- package/lib/cjs/appui-react/toolbar/ToolbarComposer.js +29 -32
- package/lib/cjs/appui-react/toolbar/ToolbarComposer.js.map +1 -1
- package/lib/cjs/appui-react/toolbar/ToolbarHelper.d.ts +6 -10
- package/lib/cjs/appui-react/toolbar/ToolbarHelper.d.ts.map +1 -1
- package/lib/cjs/appui-react/toolbar/ToolbarHelper.js +8 -18
- package/lib/cjs/appui-react/toolbar/ToolbarHelper.js.map +1 -1
- package/lib/cjs/appui-react/toolbar/ToolbarItem.d.ts +77 -26
- package/lib/cjs/appui-react/toolbar/ToolbarItem.d.ts.map +1 -1
- package/lib/cjs/appui-react/toolbar/ToolbarItem.js +22 -11
- package/lib/cjs/appui-react/toolbar/ToolbarItem.js.map +1 -1
- package/lib/cjs/appui-react/toolbar/ToolbarItemUtilities.d.ts +6 -4
- package/lib/cjs/appui-react/toolbar/ToolbarItemUtilities.d.ts.map +1 -1
- package/lib/cjs/appui-react/toolbar/ToolbarItemUtilities.js +31 -6
- package/lib/cjs/appui-react/toolbar/ToolbarItemUtilities.js.map +1 -1
- package/lib/cjs/appui-react/toolbar/ToolbarItemsManager.d.ts +46 -0
- package/lib/cjs/appui-react/toolbar/ToolbarItemsManager.d.ts.map +1 -0
- package/lib/cjs/appui-react/toolbar/ToolbarItemsManager.js +248 -0
- package/lib/cjs/appui-react/toolbar/ToolbarItemsManager.js.map +1 -0
- package/lib/cjs/appui-react/toolbar/toUIAToolbarItem.d.ts +8 -0
- package/lib/cjs/appui-react/toolbar/toUIAToolbarItem.d.ts.map +1 -0
- package/lib/cjs/appui-react/toolbar/toUIAToolbarItem.js +26 -0
- package/lib/cjs/appui-react/toolbar/toUIAToolbarItem.js.map +1 -0
- package/lib/cjs/appui-react/toolbar/useDefaultToolbarItems.d.ts +3 -2
- package/lib/cjs/appui-react/toolbar/useDefaultToolbarItems.d.ts.map +1 -1
- package/lib/cjs/appui-react/toolbar/useDefaultToolbarItems.js +2 -6
- package/lib/cjs/appui-react/toolbar/useDefaultToolbarItems.js.map +1 -1
- package/lib/cjs/appui-react/toolbar/useUiItemsProviderToolbarItems.d.ts +3 -3
- package/lib/cjs/appui-react/toolbar/useUiItemsProviderToolbarItems.d.ts.map +1 -1
- package/lib/cjs/appui-react/toolbar/useUiItemsProviderToolbarItems.js +3 -7
- package/lib/cjs/appui-react/toolbar/useUiItemsProviderToolbarItems.js.map +1 -1
- package/lib/cjs/appui-react/tools/CoreToolDefinitions.d.ts.map +1 -1
- package/lib/cjs/appui-react/tools/CoreToolDefinitions.js +13 -8
- package/lib/cjs/appui-react/tools/CoreToolDefinitions.js.map +1 -1
- package/lib/cjs/appui-react/tools/KeyinPaletteTools.d.ts.map +1 -1
- package/lib/cjs/appui-react/tools/KeyinPaletteTools.js +3 -1
- package/lib/cjs/appui-react/tools/KeyinPaletteTools.js.map +1 -1
- package/lib/cjs/appui-react/tools/OpenSettingsTool.d.ts.map +1 -1
- package/lib/cjs/appui-react/tools/OpenSettingsTool.js +3 -1
- package/lib/cjs/appui-react/tools/OpenSettingsTool.js.map +1 -1
- package/lib/cjs/appui-react/tools/RestoreLayoutTool.d.ts.map +1 -1
- package/lib/cjs/appui-react/tools/RestoreLayoutTool.js +4 -2
- package/lib/cjs/appui-react/tools/RestoreLayoutTool.js.map +1 -1
- package/lib/cjs/appui-react/ui-items-provider/BaseUiItemsProvider.d.ts +20 -3
- package/lib/cjs/appui-react/ui-items-provider/BaseUiItemsProvider.d.ts.map +1 -1
- package/lib/cjs/appui-react/ui-items-provider/BaseUiItemsProvider.js +58 -4
- package/lib/cjs/appui-react/ui-items-provider/BaseUiItemsProvider.js.map +1 -1
- package/lib/cjs/appui-react/ui-items-provider/ProviderItem.d.ts +4 -3
- package/lib/cjs/appui-react/ui-items-provider/ProviderItem.d.ts.map +1 -1
- package/lib/cjs/appui-react/ui-items-provider/ProviderItem.js.map +1 -1
- package/lib/cjs/appui-react/ui-items-provider/StandardContentToolsProvider.d.ts +6 -4
- package/lib/cjs/appui-react/ui-items-provider/StandardContentToolsProvider.d.ts.map +1 -1
- package/lib/cjs/appui-react/ui-items-provider/StandardContentToolsProvider.js +9 -65
- package/lib/cjs/appui-react/ui-items-provider/StandardContentToolsProvider.js.map +1 -1
- package/lib/cjs/appui-react/ui-items-provider/StandardContentToolsUiItemsProvider.d.ts +5 -3
- package/lib/cjs/appui-react/ui-items-provider/StandardContentToolsUiItemsProvider.d.ts.map +1 -1
- package/lib/cjs/appui-react/ui-items-provider/StandardContentToolsUiItemsProvider.js +6 -5
- package/lib/cjs/appui-react/ui-items-provider/StandardContentToolsUiItemsProvider.js.map +1 -1
- package/lib/cjs/appui-react/ui-items-provider/StandardNavigationToolsProvider.d.ts +4 -3
- package/lib/cjs/appui-react/ui-items-provider/StandardNavigationToolsProvider.d.ts.map +1 -1
- package/lib/cjs/appui-react/ui-items-provider/StandardNavigationToolsProvider.js +8 -34
- 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 +4 -4
- package/lib/cjs/appui-react/ui-items-provider/StandardNavigationToolsUiItemsProvider.js.map +1 -1
- package/lib/cjs/appui-react/ui-items-provider/StandardStatusbarItemsProvider.d.ts +4 -3
- package/lib/cjs/appui-react/ui-items-provider/StandardStatusbarItemsProvider.d.ts.map +1 -1
- package/lib/cjs/appui-react/ui-items-provider/StandardStatusbarItemsProvider.js +7 -43
- package/lib/cjs/appui-react/ui-items-provider/StandardStatusbarItemsProvider.js.map +1 -1
- package/lib/cjs/appui-react/ui-items-provider/StandardStatusbarUiItemsProvider.d.ts +3 -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 +10 -17
- package/lib/cjs/appui-react/ui-items-provider/StandardStatusbarUiItemsProvider.js.map +1 -1
- package/lib/cjs/appui-react/ui-items-provider/UiItemsManager.d.ts +73 -5
- package/lib/cjs/appui-react/ui-items-provider/UiItemsManager.d.ts.map +1 -1
- package/lib/cjs/appui-react/ui-items-provider/UiItemsManager.js +162 -3
- package/lib/cjs/appui-react/ui-items-provider/UiItemsManager.js.map +1 -1
- package/lib/cjs/appui-react/ui-items-provider/UiItemsProvider.d.ts +21 -3
- package/lib/cjs/appui-react/ui-items-provider/UiItemsProvider.d.ts.map +1 -1
- package/lib/cjs/appui-react/ui-items-provider/UiItemsProvider.js.map +1 -1
- package/lib/cjs/appui-react/ui-items-provider/isProviderItem.d.ts +7 -0
- package/lib/cjs/appui-react/ui-items-provider/isProviderItem.d.ts.map +1 -0
- package/lib/cjs/appui-react/ui-items-provider/isProviderItem.js +16 -0
- package/lib/cjs/appui-react/ui-items-provider/isProviderItem.js.map +1 -0
- package/lib/cjs/appui-react/uiprovider/DefaultDialogGridContainer.scss +2 -3
- package/lib/cjs/appui-react/uistate/useUiStateStorage.js +1 -1
- package/lib/cjs/appui-react/uistate/useUiStateStorage.js.map +1 -1
- package/lib/cjs/appui-react/utils/PropsHelper.d.ts +3 -2
- package/lib/cjs/appui-react/utils/PropsHelper.d.ts.map +1 -1
- package/lib/cjs/appui-react/utils/PropsHelper.js +2 -1
- package/lib/cjs/appui-react/utils/PropsHelper.js.map +1 -1
- package/lib/cjs/appui-react/widget-panels/Content.d.ts.map +1 -1
- package/lib/cjs/appui-react/widget-panels/Content.js +10 -12
- package/lib/cjs/appui-react/widget-panels/Content.js.map +1 -1
- package/lib/cjs/appui-react/widget-panels/Frontstage.js +7 -5
- package/lib/cjs/appui-react/widget-panels/Frontstage.js.map +1 -1
- package/lib/cjs/appui-react/widget-panels/StatusBar.d.ts.map +1 -1
- package/lib/cjs/appui-react/widget-panels/StatusBar.js +3 -2
- package/lib/cjs/appui-react/widget-panels/StatusBar.js.map +1 -1
- package/lib/cjs/appui-react/widgets/BackstageAppButton.d.ts +2 -1
- package/lib/cjs/appui-react/widgets/BackstageAppButton.d.ts.map +1 -1
- package/lib/cjs/appui-react/widgets/BackstageAppButton.js.map +1 -1
- package/lib/cjs/appui-react/widgets/BasicNavigationWidget.d.ts +4 -4
- package/lib/cjs/appui-react/widgets/BasicNavigationWidget.d.ts.map +1 -1
- package/lib/cjs/appui-react/widgets/BasicNavigationWidget.js +2 -2
- package/lib/cjs/appui-react/widgets/BasicNavigationWidget.js.map +1 -1
- package/lib/cjs/appui-react/widgets/BasicToolWidget.d.ts +4 -4
- package/lib/cjs/appui-react/widgets/BasicToolWidget.d.ts.map +1 -1
- package/lib/cjs/appui-react/widgets/BasicToolWidget.js +2 -2
- package/lib/cjs/appui-react/widgets/BasicToolWidget.js.map +1 -1
- package/lib/cjs/appui-react/widgets/ContentToolWidgetComposer.d.ts +2 -2
- package/lib/cjs/appui-react/widgets/ContentToolWidgetComposer.js +4 -4
- package/lib/cjs/appui-react/widgets/ContentToolWidgetComposer.js.map +1 -1
- package/lib/cjs/appui-react/widgets/ToolSettingsContent.js.map +1 -1
- package/lib/cjs/appui-react/widgets/ViewToolWidgetComposer.js +2 -2
- package/lib/cjs/appui-react/widgets/ViewToolWidgetComposer.js.map +1 -1
- package/lib/cjs/appui-react/widgets/Widget.d.ts +39 -0
- package/lib/cjs/appui-react/widgets/Widget.d.ts.map +1 -0
- package/lib/cjs/appui-react/widgets/{WidgetProps.js → Widget.js} +1 -1
- package/lib/cjs/appui-react/widgets/Widget.js.map +1 -0
- package/lib/cjs/appui-react/widgets/WidgetConfig.d.ts +4 -14
- package/lib/cjs/appui-react/widgets/WidgetConfig.d.ts.map +1 -1
- package/lib/cjs/appui-react/widgets/WidgetConfig.js.map +1 -1
- package/lib/cjs/appui-react/widgets/WidgetControl.d.ts +1 -1
- package/lib/cjs/appui-react/widgets/WidgetControl.d.ts.map +1 -1
- package/lib/cjs/appui-react/widgets/WidgetControl.js.map +1 -1
- package/lib/cjs/appui-react/widgets/WidgetDef.d.ts +7 -5
- package/lib/cjs/appui-react/widgets/WidgetDef.d.ts.map +1 -1
- package/lib/cjs/appui-react/widgets/WidgetDef.js +30 -42
- package/lib/cjs/appui-react/widgets/WidgetDef.js.map +1 -1
- package/lib/cjs/appui-react/widgets/WidgetManager.d.ts.map +1 -1
- package/lib/cjs/appui-react/widgets/WidgetManager.js +2 -15
- package/lib/cjs/appui-react/widgets/WidgetManager.js.map +1 -1
- package/lib/cjs/appui-react/widgets/WidgetState.d.ts +8 -7
- package/lib/cjs/appui-react/widgets/WidgetState.d.ts.map +1 -1
- package/lib/cjs/appui-react/widgets/WidgetState.js +9 -3
- package/lib/cjs/appui-react/widgets/WidgetState.js.map +1 -1
- package/lib/cjs/appui-react.d.ts +4 -4
- package/lib/cjs/appui-react.d.ts.map +1 -1
- package/lib/cjs/appui-react.js +4 -4
- package/lib/cjs/appui-react.js.map +1 -1
- package/lib/esm/appui-react/_variables.scss +4 -5
- package/lib/esm/appui-react/accudraw/AccuDrawInputField.js +2 -1
- package/lib/esm/appui-react/accudraw/AccuDrawInputField.js.map +1 -1
- package/lib/esm/appui-react/accudraw/AccuDrawInputField.scss +4 -10
- package/lib/esm/appui-react/accudraw/Calculator.d.ts.map +1 -1
- package/lib/esm/appui-react/accudraw/Calculator.js +3 -2
- package/lib/esm/appui-react/accudraw/Calculator.js.map +1 -1
- package/lib/esm/appui-react/accudraw/Calculator.scss +12 -14
- package/lib/esm/appui-react/accudraw/MenuButton.d.ts.map +1 -1
- package/lib/esm/appui-react/accudraw/MenuButton.js +2 -1
- package/lib/esm/appui-react/accudraw/MenuButton.js.map +1 -1
- package/lib/esm/appui-react/accudraw/SquareButton.scss +10 -25
- package/lib/esm/appui-react/backstage/BackstageComposer.d.ts +1 -1
- package/lib/esm/appui-react/backstage/BackstageComposer.d.ts.map +1 -1
- package/lib/esm/appui-react/backstage/BackstageComposer.js +12 -15
- package/lib/esm/appui-react/backstage/BackstageComposer.js.map +1 -1
- package/lib/esm/appui-react/backstage/BackstageComposerItem.d.ts +1 -2
- package/lib/esm/appui-react/backstage/BackstageComposerItem.d.ts.map +1 -1
- package/lib/esm/appui-react/backstage/BackstageComposerItem.js +7 -7
- package/lib/esm/appui-react/backstage/BackstageComposerItem.js.map +1 -1
- package/lib/esm/appui-react/backstage/BackstageItem.d.ts +44 -13
- package/lib/esm/appui-react/backstage/BackstageItem.d.ts.map +1 -1
- package/lib/esm/appui-react/backstage/BackstageItem.js +4 -5
- package/lib/esm/appui-react/backstage/BackstageItem.js.map +1 -1
- package/lib/esm/appui-react/backstage/BackstageItemsManager.d.ts +39 -0
- package/lib/esm/appui-react/backstage/BackstageItemsManager.d.ts.map +1 -0
- package/lib/esm/appui-react/backstage/BackstageItemsManager.js +126 -0
- package/lib/esm/appui-react/backstage/BackstageItemsManager.js.map +1 -0
- package/lib/esm/appui-react/backstage/useDefaultBackstageItems.d.ts +2 -1
- package/lib/esm/appui-react/backstage/useDefaultBackstageItems.d.ts.map +1 -1
- package/lib/esm/appui-react/backstage/useDefaultBackstageItems.js +2 -6
- package/lib/esm/appui-react/backstage/useDefaultBackstageItems.js.map +1 -1
- package/lib/esm/appui-react/backstage/useUiItemsProviderBackstageItems.d.ts +1 -1
- package/lib/esm/appui-react/backstage/useUiItemsProviderBackstageItems.d.ts.map +1 -1
- package/lib/esm/appui-react/backstage/useUiItemsProviderBackstageItems.js +2 -6
- package/lib/esm/appui-react/backstage/useUiItemsProviderBackstageItems.js.map +1 -1
- package/lib/esm/appui-react/configurableui/ConfigurableUiControl.d.ts +1 -1
- package/lib/esm/appui-react/configurableui/ConfigurableUiControl.js +1 -1
- package/lib/esm/appui-react/configurableui/ConfigurableUiControl.js.map +1 -1
- package/lib/esm/appui-react/configurableui/configurableui.scss +0 -3
- package/lib/esm/appui-react/content/ContentLayout.scss +4 -4
- package/lib/esm/appui-react/content/DefaultViewOverlay.scss +10 -7
- package/lib/esm/appui-react/content/FloatingViewportContent.d.ts +2 -10
- package/lib/esm/appui-react/content/FloatingViewportContent.d.ts.map +1 -1
- package/lib/esm/appui-react/content/FloatingViewportContent.js +15 -14
- package/lib/esm/appui-react/content/FloatingViewportContent.js.map +1 -1
- package/lib/esm/appui-react/cursor/cursorpopup/CursorPopup.scss +3 -3
- package/lib/esm/appui-react/cursor/cursorprompt/CursorPrompt.d.ts.map +1 -1
- package/lib/esm/appui-react/cursor/cursorprompt/CursorPrompt.js +3 -2
- package/lib/esm/appui-react/cursor/cursorprompt/CursorPrompt.js.map +1 -1
- package/lib/esm/appui-react/cursor/cursorprompt/CursorPrompt.scss +1 -1
- package/lib/esm/appui-react/feedback/ValidationTextbox.d.ts.map +1 -1
- package/lib/esm/appui-react/feedback/ValidationTextbox.js +2 -1
- package/lib/esm/appui-react/feedback/ValidationTextbox.js.map +1 -1
- package/lib/esm/appui-react/feedback/ValidationTextbox.scss +3 -6
- package/lib/esm/appui-react/frontstage/ModalFrontstage.d.ts.map +1 -1
- package/lib/esm/appui-react/frontstage/ModalFrontstage.js +5 -3
- package/lib/esm/appui-react/frontstage/ModalFrontstage.js.map +1 -1
- package/lib/esm/appui-react/frontstage/ModalFrontstage.scss +9 -12
- package/lib/esm/appui-react/frontstage/ModalSettingsStage.d.ts +1 -1
- package/lib/esm/appui-react/frontstage/ModalSettingsStage.d.ts.map +1 -1
- package/lib/esm/appui-react/frontstage/ModalSettingsStage.js +3 -3
- package/lib/esm/appui-react/frontstage/ModalSettingsStage.js.map +1 -1
- package/lib/esm/appui-react/frontstage/ModalSettingsStage.scss +1 -3
- package/lib/esm/appui-react/frontstage/NestedFrontstage.d.ts +1 -0
- package/lib/esm/appui-react/frontstage/NestedFrontstage.d.ts.map +1 -1
- package/lib/esm/appui-react/frontstage/NestedFrontstage.js +4 -1
- package/lib/esm/appui-react/frontstage/NestedFrontstage.js.map +1 -1
- package/lib/esm/appui-react/frontstage/StageUsage.d.ts +9 -8
- package/lib/esm/appui-react/frontstage/StageUsage.d.ts.map +1 -1
- package/lib/esm/appui-react/frontstage/StageUsage.js +10 -3
- package/lib/esm/appui-react/frontstage/StageUsage.js.map +1 -1
- package/lib/esm/appui-react/frontstage/StandardFrontstageProvider.d.ts +3 -3
- package/lib/esm/appui-react/frontstage/StandardFrontstageProvider.d.ts.map +1 -1
- package/lib/esm/appui-react/frontstage/StandardFrontstageProvider.js +4 -4
- package/lib/esm/appui-react/frontstage/StandardFrontstageProvider.js.map +1 -1
- package/lib/esm/appui-react/hooks/useAvailableUiItemsProviders.d.ts.map +1 -1
- package/lib/esm/appui-react/hooks/useAvailableUiItemsProviders.js +5 -9
- package/lib/esm/appui-react/hooks/useAvailableUiItemsProviders.js.map +1 -1
- package/lib/esm/appui-react/messages/ActivityMessage.js +2 -2
- package/lib/esm/appui-react/messages/ActivityMessage.js.map +1 -1
- package/lib/esm/appui-react/messages/InputField.d.ts.map +1 -1
- package/lib/esm/appui-react/messages/InputField.js +9 -8
- package/lib/esm/appui-react/messages/InputField.js.map +1 -1
- package/lib/esm/appui-react/messages/InputField.scss +8 -8
- package/lib/esm/appui-react/messages/MessageManager.d.ts +10 -1
- package/lib/esm/appui-react/messages/MessageManager.d.ts.map +1 -1
- package/lib/esm/appui-react/messages/MessageManager.js +31 -6
- package/lib/esm/appui-react/messages/MessageManager.js.map +1 -1
- package/lib/esm/appui-react/messages/Pointer.d.ts.map +1 -1
- package/lib/esm/appui-react/messages/Pointer.js +2 -2
- package/lib/esm/appui-react/messages/Pointer.js.map +1 -1
- package/lib/esm/appui-react/messages/Pointer.scss +6 -6
- package/lib/esm/appui-react/navigationaids/SheetNavigationAid.d.ts.map +1 -1
- package/lib/esm/appui-react/navigationaids/SheetNavigationAid.js +6 -3
- package/lib/esm/appui-react/navigationaids/SheetNavigationAid.js.map +1 -1
- package/lib/esm/appui-react/navigationaids/SheetNavigationAid.scss +1 -21
- package/lib/esm/appui-react/navigationaids/SheetsModalFrontstage.d.ts +3 -3
- package/lib/esm/appui-react/navigationaids/SheetsModalFrontstage.d.ts.map +1 -1
- package/lib/esm/appui-react/navigationaids/SheetsModalFrontstage.js +9 -7
- package/lib/esm/appui-react/navigationaids/SheetsModalFrontstage.js.map +1 -1
- package/lib/esm/appui-react/navigationaids/StandardRotationNavigationAid.d.ts +2 -2
- package/lib/esm/appui-react/navigationaids/StandardRotationNavigationAid.d.ts.map +1 -1
- package/lib/esm/appui-react/navigationaids/StandardRotationNavigationAid.js +20 -11
- package/lib/esm/appui-react/navigationaids/StandardRotationNavigationAid.js.map +1 -1
- package/lib/esm/appui-react/pickers/ListPicker.d.ts +1 -1
- package/lib/esm/appui-react/pickers/ListPicker.d.ts.map +1 -1
- package/lib/esm/appui-react/pickers/ListPicker.js +4 -3
- package/lib/esm/appui-react/pickers/ListPicker.js.map +1 -1
- package/lib/esm/appui-react/pickers/ListPicker.scss +5 -5
- package/lib/esm/appui-react/pickers/ViewSelector.d.ts.map +1 -1
- package/lib/esm/appui-react/pickers/ViewSelector.js +4 -2
- package/lib/esm/appui-react/pickers/ViewSelector.js.map +1 -1
- package/lib/esm/appui-react/popup/CardPopup.js +3 -3
- package/lib/esm/appui-react/popup/CardPopup.js.map +1 -1
- package/lib/esm/appui-react/popup/KeyinPalettePanel.scss +1 -1
- package/lib/esm/appui-react/popup/PositionPopup.scss +1 -1
- package/lib/esm/appui-react/popup/ToolbarPopup.d.ts +3 -2
- package/lib/esm/appui-react/popup/ToolbarPopup.d.ts.map +1 -1
- package/lib/esm/appui-react/popup/ToolbarPopup.js +3 -1
- package/lib/esm/appui-react/popup/ToolbarPopup.js.map +1 -1
- package/lib/esm/appui-react/selection/SelectionContextItemDef.d.ts.map +1 -1
- package/lib/esm/appui-react/selection/SelectionContextItemDef.js +21 -11
- package/lib/esm/appui-react/selection/SelectionContextItemDef.js.map +1 -1
- package/lib/esm/appui-react/settings/quantityformatting/QuantityFormat.d.ts.map +1 -1
- package/lib/esm/appui-react/settings/quantityformatting/QuantityFormat.js +2 -1
- package/lib/esm/appui-react/settings/quantityformatting/QuantityFormat.js.map +1 -1
- package/lib/esm/appui-react/settings/quantityformatting/QuantityFormat.scss +2 -2
- package/lib/esm/appui-react/settings/ui/UiSettingsPage.scss +3 -4
- package/lib/esm/appui-react/shared/ItemProps.d.ts +2 -2
- package/lib/esm/appui-react/shared/ItemProps.d.ts.map +1 -1
- package/lib/esm/appui-react/shared/ItemProps.js.map +1 -1
- package/lib/esm/appui-react/shared/ToolItemDef.d.ts +1 -1
- package/lib/esm/appui-react/shared/ToolItemDef.d.ts.map +1 -1
- package/lib/esm/appui-react/shared/ToolItemDef.js +2 -2
- package/lib/esm/appui-react/shared/ToolItemDef.js.map +1 -1
- package/lib/esm/appui-react/stagepanels/StagePanelDef.d.ts +27 -0
- package/lib/esm/appui-react/stagepanels/StagePanelDef.d.ts.map +1 -1
- package/lib/esm/appui-react/stagepanels/StagePanelLocation.d.ts +7 -7
- package/lib/esm/appui-react/stagepanels/StagePanelLocation.d.ts.map +1 -1
- package/lib/esm/appui-react/stagepanels/StagePanelLocation.js +8 -3
- package/lib/esm/appui-react/stagepanels/StagePanelLocation.js.map +1 -1
- package/lib/esm/appui-react/stagepanels/StagePanelSection.d.ts +5 -7
- package/lib/esm/appui-react/stagepanels/StagePanelSection.d.ts.map +1 -1
- package/lib/esm/appui-react/stagepanels/StagePanelSection.js +6 -3
- package/lib/esm/appui-react/stagepanels/StagePanelSection.js.map +1 -1
- package/lib/esm/appui-react/statusbar/Indicator.scss +14 -15
- package/lib/esm/appui-react/statusbar/LabelIndicator.d.ts +1 -1
- package/lib/esm/appui-react/statusbar/LabelIndicator.d.ts.map +1 -1
- package/lib/esm/appui-react/statusbar/LabelIndicator.js +2 -3
- package/lib/esm/appui-react/statusbar/LabelIndicator.js.map +1 -1
- package/lib/esm/appui-react/statusbar/Separator.scss +1 -3
- package/lib/esm/appui-react/statusbar/StatusBar.d.ts +1 -0
- package/lib/esm/appui-react/statusbar/StatusBar.d.ts.map +1 -1
- package/lib/esm/appui-react/statusbar/StatusBar.js +2 -1
- package/lib/esm/appui-react/statusbar/StatusBar.js.map +1 -1
- package/lib/esm/appui-react/statusbar/StatusBar.scss +1 -3
- package/lib/esm/appui-react/statusbar/StatusBarComposer.d.ts +2 -2
- package/lib/esm/appui-react/statusbar/StatusBarComposer.d.ts.map +1 -1
- package/lib/esm/appui-react/statusbar/StatusBarComposer.js +17 -18
- package/lib/esm/appui-react/statusbar/StatusBarComposer.js.map +1 -1
- package/lib/esm/appui-react/statusbar/StatusBarItem.d.ts +71 -39
- package/lib/esm/appui-react/statusbar/StatusBarItem.d.ts.map +1 -1
- package/lib/esm/appui-react/statusbar/StatusBarItem.js +32 -18
- package/lib/esm/appui-react/statusbar/StatusBarItem.js.map +1 -1
- package/lib/esm/appui-react/statusbar/StatusBarItemUtilities.d.ts +5 -14
- package/lib/esm/appui-react/statusbar/StatusBarItemUtilities.d.ts.map +1 -1
- package/lib/esm/appui-react/statusbar/StatusBarItemUtilities.js +28 -19
- package/lib/esm/appui-react/statusbar/StatusBarItemUtilities.js.map +1 -1
- package/lib/esm/appui-react/statusbar/StatusBarItemsManager.d.ts +40 -0
- package/lib/esm/appui-react/statusbar/StatusBarItemsManager.d.ts.map +1 -0
- package/lib/esm/appui-react/statusbar/StatusBarItemsManager.js +131 -0
- package/lib/esm/appui-react/statusbar/StatusBarItemsManager.js.map +1 -0
- package/lib/esm/appui-react/statusbar/useDefaultStatusBarItems.d.ts +3 -2
- package/lib/esm/appui-react/statusbar/useDefaultStatusBarItems.d.ts.map +1 -1
- package/lib/esm/appui-react/statusbar/useDefaultStatusBarItems.js +2 -7
- package/lib/esm/appui-react/statusbar/useDefaultStatusBarItems.js.map +1 -1
- package/lib/esm/appui-react/statusbar/useUiItemsProviderStatusBarItems.d.ts +3 -3
- package/lib/esm/appui-react/statusbar/useUiItemsProviderStatusBarItems.d.ts.map +1 -1
- package/lib/esm/appui-react/statusbar/useUiItemsProviderStatusBarItems.js.map +1 -1
- package/lib/esm/appui-react/statusfields/ActivityCenter.d.ts.map +1 -1
- package/lib/esm/appui-react/statusfields/ActivityCenter.js +6 -4
- package/lib/esm/appui-react/statusfields/ActivityCenter.js.map +1 -1
- package/lib/esm/appui-react/statusfields/MessageCenter.d.ts.map +1 -1
- package/lib/esm/appui-react/statusfields/MessageCenter.js +5 -2
- package/lib/esm/appui-react/statusfields/MessageCenter.js.map +1 -1
- package/lib/esm/appui-react/statusfields/SectionsField.d.ts.map +1 -1
- package/lib/esm/appui-react/statusfields/SectionsField.js +4 -1
- package/lib/esm/appui-react/statusfields/SectionsField.js.map +1 -1
- package/lib/esm/appui-react/statusfields/SectionsField.scss +3 -4
- package/lib/esm/appui-react/statusfields/SelectionInfo.d.ts.map +1 -1
- package/lib/esm/appui-react/statusfields/SelectionInfo.js +2 -1
- package/lib/esm/appui-react/statusfields/SelectionInfo.js.map +1 -1
- package/lib/esm/appui-react/statusfields/SelectionScope.scss +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 +40 -2
- package/lib/esm/appui-react/statusfields/SnapMode.js.map +1 -1
- package/lib/esm/appui-react/statusfields/ViewAttributes.d.ts.map +1 -1
- package/lib/esm/appui-react/statusfields/ViewAttributes.js +2 -1
- package/lib/esm/appui-react/statusfields/ViewAttributes.js.map +1 -1
- package/lib/esm/appui-react/statusfields/toolassistance/ToolAssistanceField.d.ts.map +1 -1
- package/lib/esm/appui-react/statusfields/toolassistance/ToolAssistanceField.js +6 -5
- package/lib/esm/appui-react/statusfields/toolassistance/ToolAssistanceField.js.map +1 -1
- package/lib/esm/appui-react/statusfields/toolassistance/ToolAssistanceField.scss +12 -12
- package/lib/esm/appui-react/theme/ThemeManager.d.ts.map +1 -1
- package/lib/esm/appui-react/theme/ThemeManager.js +1 -2
- package/lib/esm/appui-react/theme/ThemeManager.js.map +1 -1
- package/lib/esm/appui-react/toolbar/ToolbarComposer.d.ts +2 -3
- package/lib/esm/appui-react/toolbar/ToolbarComposer.d.ts.map +1 -1
- package/lib/esm/appui-react/toolbar/ToolbarComposer.js +25 -28
- package/lib/esm/appui-react/toolbar/ToolbarComposer.js.map +1 -1
- package/lib/esm/appui-react/toolbar/ToolbarHelper.d.ts +6 -10
- package/lib/esm/appui-react/toolbar/ToolbarHelper.d.ts.map +1 -1
- package/lib/esm/appui-react/toolbar/ToolbarHelper.js +9 -19
- package/lib/esm/appui-react/toolbar/ToolbarHelper.js.map +1 -1
- package/lib/esm/appui-react/toolbar/ToolbarItem.d.ts +77 -26
- package/lib/esm/appui-react/toolbar/ToolbarItem.d.ts.map +1 -1
- package/lib/esm/appui-react/toolbar/ToolbarItem.js +22 -11
- package/lib/esm/appui-react/toolbar/ToolbarItem.js.map +1 -1
- package/lib/esm/appui-react/toolbar/ToolbarItemUtilities.d.ts +6 -4
- package/lib/esm/appui-react/toolbar/ToolbarItemUtilities.d.ts.map +1 -1
- package/lib/esm/appui-react/toolbar/ToolbarItemUtilities.js +31 -6
- package/lib/esm/appui-react/toolbar/ToolbarItemUtilities.js.map +1 -1
- package/lib/esm/appui-react/toolbar/ToolbarItemsManager.d.ts +46 -0
- package/lib/esm/appui-react/toolbar/ToolbarItemsManager.d.ts.map +1 -0
- package/lib/esm/appui-react/toolbar/ToolbarItemsManager.js +244 -0
- package/lib/esm/appui-react/toolbar/ToolbarItemsManager.js.map +1 -0
- package/lib/esm/appui-react/toolbar/toUIAToolbarItem.d.ts +8 -0
- package/lib/esm/appui-react/toolbar/toUIAToolbarItem.d.ts.map +1 -0
- package/lib/esm/appui-react/toolbar/toUIAToolbarItem.js +22 -0
- package/lib/esm/appui-react/toolbar/toUIAToolbarItem.js.map +1 -0
- package/lib/esm/appui-react/toolbar/useDefaultToolbarItems.d.ts +3 -2
- package/lib/esm/appui-react/toolbar/useDefaultToolbarItems.d.ts.map +1 -1
- package/lib/esm/appui-react/toolbar/useDefaultToolbarItems.js +2 -6
- package/lib/esm/appui-react/toolbar/useDefaultToolbarItems.js.map +1 -1
- package/lib/esm/appui-react/toolbar/useUiItemsProviderToolbarItems.d.ts +3 -3
- package/lib/esm/appui-react/toolbar/useUiItemsProviderToolbarItems.d.ts.map +1 -1
- package/lib/esm/appui-react/toolbar/useUiItemsProviderToolbarItems.js +3 -7
- package/lib/esm/appui-react/toolbar/useUiItemsProviderToolbarItems.js.map +1 -1
- package/lib/esm/appui-react/tools/CoreToolDefinitions.d.ts.map +1 -1
- package/lib/esm/appui-react/tools/CoreToolDefinitions.js +13 -8
- package/lib/esm/appui-react/tools/CoreToolDefinitions.js.map +1 -1
- package/lib/esm/appui-react/tools/KeyinPaletteTools.d.ts.map +1 -1
- package/lib/esm/appui-react/tools/KeyinPaletteTools.js +3 -1
- package/lib/esm/appui-react/tools/KeyinPaletteTools.js.map +1 -1
- package/lib/esm/appui-react/tools/OpenSettingsTool.d.ts.map +1 -1
- package/lib/esm/appui-react/tools/OpenSettingsTool.js +3 -1
- package/lib/esm/appui-react/tools/OpenSettingsTool.js.map +1 -1
- package/lib/esm/appui-react/tools/RestoreLayoutTool.d.ts.map +1 -1
- package/lib/esm/appui-react/tools/RestoreLayoutTool.js +4 -2
- package/lib/esm/appui-react/tools/RestoreLayoutTool.js.map +1 -1
- package/lib/esm/appui-react/ui-items-provider/BaseUiItemsProvider.d.ts +20 -3
- package/lib/esm/appui-react/ui-items-provider/BaseUiItemsProvider.d.ts.map +1 -1
- package/lib/esm/appui-react/ui-items-provider/BaseUiItemsProvider.js +58 -4
- package/lib/esm/appui-react/ui-items-provider/BaseUiItemsProvider.js.map +1 -1
- package/lib/esm/appui-react/ui-items-provider/ProviderItem.d.ts +4 -3
- package/lib/esm/appui-react/ui-items-provider/ProviderItem.d.ts.map +1 -1
- package/lib/esm/appui-react/ui-items-provider/ProviderItem.js.map +1 -1
- package/lib/esm/appui-react/ui-items-provider/StandardContentToolsProvider.d.ts +6 -4
- package/lib/esm/appui-react/ui-items-provider/StandardContentToolsProvider.d.ts.map +1 -1
- package/lib/esm/appui-react/ui-items-provider/StandardContentToolsProvider.js +7 -63
- package/lib/esm/appui-react/ui-items-provider/StandardContentToolsProvider.js.map +1 -1
- package/lib/esm/appui-react/ui-items-provider/StandardContentToolsUiItemsProvider.d.ts +5 -3
- package/lib/esm/appui-react/ui-items-provider/StandardContentToolsUiItemsProvider.d.ts.map +1 -1
- package/lib/esm/appui-react/ui-items-provider/StandardContentToolsUiItemsProvider.js +4 -3
- package/lib/esm/appui-react/ui-items-provider/StandardContentToolsUiItemsProvider.js.map +1 -1
- package/lib/esm/appui-react/ui-items-provider/StandardNavigationToolsProvider.d.ts +4 -3
- package/lib/esm/appui-react/ui-items-provider/StandardNavigationToolsProvider.d.ts.map +1 -1
- package/lib/esm/appui-react/ui-items-provider/StandardNavigationToolsProvider.js +6 -32
- 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 +4 -4
- package/lib/esm/appui-react/ui-items-provider/StandardNavigationToolsUiItemsProvider.js.map +1 -1
- package/lib/esm/appui-react/ui-items-provider/StandardStatusbarItemsProvider.d.ts +4 -3
- package/lib/esm/appui-react/ui-items-provider/StandardStatusbarItemsProvider.d.ts.map +1 -1
- package/lib/esm/appui-react/ui-items-provider/StandardStatusbarItemsProvider.js +5 -41
- package/lib/esm/appui-react/ui-items-provider/StandardStatusbarItemsProvider.js.map +1 -1
- package/lib/esm/appui-react/ui-items-provider/StandardStatusbarUiItemsProvider.d.ts +3 -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 +10 -17
- package/lib/esm/appui-react/ui-items-provider/StandardStatusbarUiItemsProvider.js.map +1 -1
- package/lib/esm/appui-react/ui-items-provider/UiItemsManager.d.ts +73 -5
- package/lib/esm/appui-react/ui-items-provider/UiItemsManager.d.ts.map +1 -1
- package/lib/esm/appui-react/ui-items-provider/UiItemsManager.js +162 -3
- package/lib/esm/appui-react/ui-items-provider/UiItemsManager.js.map +1 -1
- package/lib/esm/appui-react/ui-items-provider/UiItemsProvider.d.ts +21 -3
- package/lib/esm/appui-react/ui-items-provider/UiItemsProvider.d.ts.map +1 -1
- package/lib/esm/appui-react/ui-items-provider/UiItemsProvider.js.map +1 -1
- package/lib/esm/appui-react/ui-items-provider/isProviderItem.d.ts +7 -0
- package/lib/esm/appui-react/ui-items-provider/isProviderItem.d.ts.map +1 -0
- package/lib/esm/appui-react/ui-items-provider/isProviderItem.js +12 -0
- package/lib/esm/appui-react/ui-items-provider/isProviderItem.js.map +1 -0
- package/lib/esm/appui-react/uiprovider/DefaultDialogGridContainer.scss +2 -3
- package/lib/esm/appui-react/uistate/useUiStateStorage.js +1 -1
- package/lib/esm/appui-react/uistate/useUiStateStorage.js.map +1 -1
- package/lib/esm/appui-react/utils/PropsHelper.d.ts +3 -2
- package/lib/esm/appui-react/utils/PropsHelper.d.ts.map +1 -1
- package/lib/esm/appui-react/utils/PropsHelper.js +2 -1
- package/lib/esm/appui-react/utils/PropsHelper.js.map +1 -1
- package/lib/esm/appui-react/widget-panels/Content.d.ts.map +1 -1
- package/lib/esm/appui-react/widget-panels/Content.js +10 -12
- package/lib/esm/appui-react/widget-panels/Content.js.map +1 -1
- package/lib/esm/appui-react/widget-panels/Frontstage.js +7 -5
- package/lib/esm/appui-react/widget-panels/Frontstage.js.map +1 -1
- package/lib/esm/appui-react/widget-panels/StatusBar.d.ts.map +1 -1
- package/lib/esm/appui-react/widget-panels/StatusBar.js +3 -2
- package/lib/esm/appui-react/widget-panels/StatusBar.js.map +1 -1
- package/lib/esm/appui-react/widgets/BackstageAppButton.d.ts +2 -1
- package/lib/esm/appui-react/widgets/BackstageAppButton.d.ts.map +1 -1
- package/lib/esm/appui-react/widgets/BackstageAppButton.js.map +1 -1
- package/lib/esm/appui-react/widgets/BasicNavigationWidget.d.ts +4 -4
- package/lib/esm/appui-react/widgets/BasicNavigationWidget.d.ts.map +1 -1
- package/lib/esm/appui-react/widgets/BasicNavigationWidget.js +1 -1
- package/lib/esm/appui-react/widgets/BasicNavigationWidget.js.map +1 -1
- package/lib/esm/appui-react/widgets/BasicToolWidget.d.ts +4 -4
- package/lib/esm/appui-react/widgets/BasicToolWidget.d.ts.map +1 -1
- package/lib/esm/appui-react/widgets/BasicToolWidget.js +1 -1
- package/lib/esm/appui-react/widgets/BasicToolWidget.js.map +1 -1
- package/lib/esm/appui-react/widgets/ContentToolWidgetComposer.d.ts +2 -2
- package/lib/esm/appui-react/widgets/ContentToolWidgetComposer.js +3 -3
- package/lib/esm/appui-react/widgets/ContentToolWidgetComposer.js.map +1 -1
- package/lib/esm/appui-react/widgets/ToolSettingsContent.js.map +1 -1
- package/lib/esm/appui-react/widgets/ViewToolWidgetComposer.js +1 -1
- package/lib/esm/appui-react/widgets/ViewToolWidgetComposer.js.map +1 -1
- package/lib/esm/appui-react/widgets/Widget.d.ts +39 -0
- package/lib/esm/appui-react/widgets/Widget.d.ts.map +1 -0
- package/lib/esm/appui-react/widgets/{WidgetProps.js → Widget.js} +1 -1
- package/lib/esm/appui-react/widgets/Widget.js.map +1 -0
- package/lib/esm/appui-react/widgets/WidgetConfig.d.ts +4 -14
- package/lib/esm/appui-react/widgets/WidgetConfig.d.ts.map +1 -1
- package/lib/esm/appui-react/widgets/WidgetConfig.js.map +1 -1
- package/lib/esm/appui-react/widgets/WidgetControl.d.ts +1 -1
- package/lib/esm/appui-react/widgets/WidgetControl.d.ts.map +1 -1
- package/lib/esm/appui-react/widgets/WidgetControl.js.map +1 -1
- package/lib/esm/appui-react/widgets/WidgetDef.d.ts +7 -5
- package/lib/esm/appui-react/widgets/WidgetDef.d.ts.map +1 -1
- package/lib/esm/appui-react/widgets/WidgetDef.js +22 -34
- package/lib/esm/appui-react/widgets/WidgetDef.js.map +1 -1
- package/lib/esm/appui-react/widgets/WidgetManager.d.ts.map +1 -1
- package/lib/esm/appui-react/widgets/WidgetManager.js +2 -15
- package/lib/esm/appui-react/widgets/WidgetManager.js.map +1 -1
- package/lib/esm/appui-react/widgets/WidgetState.d.ts +8 -7
- package/lib/esm/appui-react/widgets/WidgetState.d.ts.map +1 -1
- package/lib/esm/appui-react/widgets/WidgetState.js +9 -3
- package/lib/esm/appui-react/widgets/WidgetState.js.map +1 -1
- package/lib/esm/appui-react.d.ts +4 -4
- package/lib/esm/appui-react.d.ts.map +1 -1
- package/lib/esm/appui-react.js +4 -4
- package/lib/esm/appui-react.js.map +1 -1
- package/package.json +28 -46
- package/lib/cjs/appui-react/widgets/WidgetProps.d.ts +0 -12
- package/lib/cjs/appui-react/widgets/WidgetProps.d.ts.map +0 -1
- package/lib/cjs/appui-react/widgets/WidgetProps.js.map +0 -1
- package/lib/esm/appui-react/widgets/WidgetProps.d.ts +0 -12
- package/lib/esm/appui-react/widgets/WidgetProps.d.ts.map +0 -1
- package/lib/esm/appui-react/widgets/WidgetProps.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ListPicker.js","sourceRoot":"","sources":["../../../../src/appui-react/pickers/ListPicker.tsx"],"names":[],"mappings":"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","sourcesContent":["/*---------------------------------------------------------------------------------------------\r\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\r\n* See LICENSE.md in the project root for license terms and full copyright notice.\r\n*--------------------------------------------------------------------------------------------*/\r\n/** @packageDocumentation\r\n * @module Picker\r\n */\r\n\r\nimport \"./ListPicker.scss\";\r\nimport classnames from \"classnames\";\r\nimport * as React from \"react\";\r\nimport { Columns, GroupColumn, Panel, PopupItem, Title } from \"@itwin/components-react\";\r\nimport { CommonProps, Icon, SizeProps } from \"@itwin/core-react\";\r\nimport { ToolbarDragInteractionContext } from \"../toolbar/DragInteraction\";\r\nimport { UiFramework } from \"../UiFramework\";\r\n\r\n/** Enum for the list picker item type\r\n * @beta\r\n */\r\nexport enum ListItemType {\r\n Item = 0, // eslint-disable-line @typescript-eslint/no-shadow\r\n Separator = 1,\r\n Container = 2,\r\n}\r\n\r\n/** List picker item\r\n * @beta\r\n */\r\nexport interface ListItem {\r\n [key: string]: any;\r\n id?: string;\r\n name?: string;\r\n enabled: boolean;\r\n type?: ListItemType;\r\n children?: ListItem[];\r\n}\r\n\r\n/** Properties for the [[ListPicker]] component\r\n * @beta\r\n */\r\nexport interface ListPickerProps {\r\n title: string;\r\n items: ListItem[];\r\n iconSpec?: string | React.ReactNode;\r\n setEnabled: (item: ListItem, enabled: boolean) => any;\r\n onExpanded?: (expand: boolean) => void;\r\n onSizeKnown?: (size: SizeProps) => void;\r\n}\r\n\r\n/** Properties for the [[ListPickerItem]] component\r\n * @beta\r\n */\r\nexport interface ListPickerItemProps extends CommonProps {\r\n key: any;\r\n isActive?: boolean;\r\n isFocused?: boolean;\r\n onClick?: () => void;\r\n label?: string;\r\n}\r\n\r\n/** List Picker Item React component\r\n * @beta\r\n */\r\nexport class ListPickerItem extends React.PureComponent<ListPickerItemProps> {\r\n /** Renders ListPickerItem */\r\n public override render() {\r\n const itemClassName = classnames(\r\n \"ListPicker-item\",\r\n this.props.isActive && \"is-active\",\r\n this.props.isFocused && \"is-focused\",\r\n this.props.className,\r\n );\r\n // TODO - if cut off, show a title\r\n const title: string | undefined = (this.props.label && this.props.label.length > 25) ? this.props.label : undefined;\r\n\r\n return (\r\n // eslint-disable-next-line jsx-a11y/click-events-have-key-events\r\n <div className={itemClassName} onClick={this.props.onClick} role=\"button\" tabIndex={-1}>\r\n <div className=\"label\" title={title}>\r\n {this.props.label}\r\n </div>\r\n </div>\r\n );\r\n }\r\n}\r\n\r\n/** Properties for the [[ExpandableSection]] component\r\n * @beta\r\n */\r\nexport interface ExpandableSectionProps extends CommonProps {\r\n title?: string;\r\n expanded?: boolean;\r\n /** Content */\r\n children?: React.ReactNode;\r\n}\r\n\r\n/** State for the [[ExpandableSection]] component\r\n * @internal\r\n */\r\ninterface ExpandableSectionState {\r\n expanded: boolean;\r\n}\r\n\r\n/** Expandable Section React component used by [[ListPickerBase]]\r\n * @beta\r\n */\r\nexport class ExpandableSection extends React.PureComponent<ExpandableSectionProps, ExpandableSectionState> {\r\n /** Creates an ExpandableSection */\r\n constructor(props: ExpandableSectionProps) {\r\n super(props);\r\n this.state = { expanded: !!this.props.expanded };\r\n }\r\n\r\n private _onClick = () => {\r\n this.setState((prevState) => ({ expanded: !prevState.expanded }));\r\n };\r\n\r\n /** Renders ExpandableSection */\r\n public override render() {\r\n const className = classnames(\r\n \"nz-toolbar-item-expandable-group-group\",\r\n this.props.className,\r\n );\r\n\r\n const icon = this.state.expanded ? <i className=\"icon icon-chevron-down\" /> : <i className=\"icon icon-chevron-right\" />;\r\n\r\n return (\r\n <Panel className={className} style={this.props.style} key={this.props.title}>\r\n {/* eslint-disable-next-line jsx-a11y/click-events-have-key-events */}\r\n <div onClick={this._onClick}\r\n className={this.state.expanded ? \"ListPickerInnerContainer-header-expanded\" : \"ListPickerInnerContainer-header\"}\r\n role=\"button\" tabIndex={-1} aria-expanded={this.state.expanded}\r\n >\r\n <div className=\"ListPickerInnerContainer-header-content\">\r\n <div className=\"ListPickerInnerContainer-expander\">{icon}</div>\r\n <div className=\"ListPickerInnerContainer-title\">{this.props.title}</div>\r\n </div>\r\n </div>\r\n {this.state.expanded ?\r\n <GroupColumn>\r\n {this.props.children}\r\n </GroupColumn> : <div />\r\n }\r\n </Panel>\r\n );\r\n }\r\n}\r\n\r\n/** @beta */\r\nexport function getListPanel(props: ListPickerProps): React.ReactNode {\r\n const expandSingleSection = (): boolean => {\r\n const populatedContainers = props.items.filter((item: ListItem) => {\r\n return (item.type === ListItemType.Container && item.children!.length !== 0);\r\n });\r\n return populatedContainers.length === 1;\r\n };\r\n\r\n const listItemToElement = (item: ListItem, itemIndex: number) => {\r\n switch (item.type) {\r\n case ListItemType.Item:\r\n return (\r\n <ListPickerItem\r\n {...props}\r\n key={itemIndex.toString()}\r\n label={item.name}\r\n isActive={item.enabled}\r\n onClick={\r\n // istanbul ignore next\r\n () => { props.setEnabled(item, !item.enabled); }\r\n }\r\n />\r\n );\r\n case ListItemType.Separator:\r\n return (\r\n <div key={itemIndex.toString()} className=\"ListPicker-separator\" />\r\n );\r\n case ListItemType.Container:\r\n if (item.children!.length !== 0) {\r\n return (\r\n <ExpandableSection\r\n key={itemIndex.toString()}\r\n title={item.name}\r\n className=\"ListPickerInnerContainer\"\r\n expanded={expandSingleSection()}\r\n >\r\n <GroupColumn>\r\n {item.children!.map(listItemToElement)}\r\n </GroupColumn>\r\n </ExpandableSection>\r\n );\r\n } else {\r\n return (<div key={itemIndex.toString()} />);\r\n }\r\n // istanbul ignore next\r\n default:\r\n return (<div key={itemIndex.toString()} />);\r\n }\r\n };\r\n\r\n return (\r\n <Panel className=\"ListPickerContainer\">\r\n <Title>\r\n {props.title}\r\n </Title>\r\n <Columns>\r\n <GroupColumn className=\"ListPicker-column\">\r\n {props.items.map(listItemToElement)}\r\n </GroupColumn>\r\n </Columns>\r\n </Panel>\r\n );\r\n}\r\n\r\n/**\r\n * List picker toolbar popup item.\r\n * Used to provide an expandable list of items to enable/disable items.\r\n * @beta\r\n */\r\nfunction ListPickerPopupItem(props: ListPickerProps) {\r\n const icon = props.iconSpec ? (/* istanbul ignore next */ typeof props.iconSpec === \"string\" ? <Icon iconSpec={props.iconSpec} /> :\r\n <i className=\"icon uifw-item-svg-icon\">{props.iconSpec}</i>) : <Icon iconSpec=\"icon-list\" />;\r\n\r\n return (\r\n <ToolbarDragInteractionContext.Consumer>\r\n {(isEnabled) => {\r\n return <PopupItem\r\n hideIndicator={isEnabled}\r\n icon={icon}\r\n title={props.title}\r\n panel={getListPanel(props)}\r\n />;\r\n }}\r\n </ToolbarDragInteractionContext.Consumer>\r\n );\r\n}\r\n\r\n/** Properties for the [[ListPicker]] component\r\n * @beta\r\n */\r\nexport interface ListPickerPropsExtended extends ListPickerProps {\r\n enableAllFunc?: () => void;\r\n disableAllFunc?: () => void;\r\n invertFunc?: () => void;\r\n}\r\n\r\n/**\r\n * List Picker that lets the user pick from a list of items to enable/disable\r\n * It also provides options to enable all, disable all and invert selection\r\n * @beta\r\n */\r\nexport class ListPicker extends React.Component<ListPickerPropsExtended> {\r\n public static get Key_All() { return -3; }\r\n public static get Key_None() { return -2; }\r\n public static get Key_Invert() { return -1; }\r\n public static get Key_Separator() { return -4; }\r\n\r\n /** Creates a ListPicker */\r\n constructor(props: ListPickerPropsExtended) {\r\n super(props);\r\n }\r\n\r\n // Creates an array of items containing the separator and special requests (all, none, invert)\r\n private createItems(items: ListItem[]): ListItem[] {\r\n const newItems: ListItem[] = [];\r\n\r\n // Create special buttons (All/None/Invert)\r\n if (this.props.enableAllFunc) {\r\n let allEnabled = true;\r\n items.map((item: ListItem) => { allEnabled = allEnabled && item.enabled; });\r\n newItems.push({ key: ListPicker.Key_All, name: UiFramework.translate(\"pickerButtons.all\"), enabled: allEnabled, type: ListItemType.Item });\r\n }\r\n if (this.props.disableAllFunc) {\r\n let allDisabled = false;\r\n items.map((item: ListItem) => { allDisabled = allDisabled || item.enabled; });\r\n newItems.push({ key: ListPicker.Key_None, name: UiFramework.translate(\"pickerButtons.none\"), enabled: !allDisabled, type: ListItemType.Item });\r\n }\r\n if (this.props.invertFunc) {\r\n newItems.push({ key: ListPicker.Key_Invert, name: UiFramework.translate(\"pickerButtons.invert\"), enabled: false, type: ListItemType.Item });\r\n }\r\n if (this.props.enableAllFunc || this.props.disableAllFunc || this.props.invertFunc) {\r\n newItems.push({ key: ListPicker.Key_Separator, name: UiFramework.translate(\"pickerButtons.separator\"), enabled: false, type: ListItemType.Separator });\r\n }\r\n\r\n // Push items\r\n items.map((item) => { newItems.push(item); });\r\n return newItems;\r\n }\r\n\r\n /**\r\n * Checks if item is a special item.\r\n * @param item Item to check\r\n */\r\n public isSpecialItem(item: ListItem) {\r\n return item.key === ListPicker.Key_All || item.key === ListPicker.Key_Invert || item.key === ListPicker.Key_None || item.type !== ListItemType.Item || item.key === ListPicker.Key_Separator;\r\n }\r\n\r\n // Handle enabling/disabling the items\r\n // This will call the this.props.setEnabled function to provide the parent with a chance to process it\r\n private _setEnabled = (item: ListItem, enabled: boolean) => {\r\n if (this.isSpecialItem(item)) {\r\n switch (item.key) {\r\n case ListPicker.Key_All: {\r\n // istanbul ignore else\r\n if (this.props.enableAllFunc)\r\n this.props.enableAllFunc();\r\n return;\r\n }\r\n case ListPicker.Key_None: {\r\n // istanbul ignore else\r\n if (this.props.disableAllFunc)\r\n this.props.disableAllFunc();\r\n return;\r\n }\r\n case ListPicker.Key_Invert: {\r\n // istanbul ignore else\r\n if (this.props.invertFunc)\r\n this.props.invertFunc();\r\n return;\r\n }\r\n }\r\n }\r\n\r\n // Call on parent to do processing of the item\r\n this.props.setEnabled(item, enabled);\r\n };\r\n\r\n /** Renders ListPicker */\r\n public override render() {\r\n return (\r\n <ListPickerPopupItem\r\n {...this.props}\r\n title={this.props.title}\r\n setEnabled={this._setEnabled}\r\n onExpanded={this.props.onExpanded}\r\n items={this.createItems(this.props.items)}\r\n iconSpec={this.props.iconSpec}\r\n />\r\n );\r\n }\r\n}\r\n"]}
|
|
1
|
+
{"version":3,"file":"ListPicker.js","sourceRoot":"","sources":["../../../../src/appui-react/pickers/ListPicker.tsx"],"names":[],"mappings":"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","sourcesContent":["/*---------------------------------------------------------------------------------------------\r\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\r\n* See LICENSE.md in the project root for license terms and full copyright notice.\r\n*--------------------------------------------------------------------------------------------*/\r\n/** @packageDocumentation\r\n * @module Picker\r\n */\r\n\r\nimport \"./ListPicker.scss\";\r\nimport classnames from \"classnames\";\r\nimport * as React from \"react\";\r\nimport { Columns, GroupColumn, Panel, PopupItem, Title } from \"@itwin/components-react\";\r\nimport { CommonProps, Icon, SizeProps } from \"@itwin/core-react\";\r\nimport { ToolbarDragInteractionContext } from \"../toolbar/DragInteraction\";\r\nimport { UiFramework } from \"../UiFramework\";\r\nimport { SvgChevronDown, SvgChevronRight, SvgList } from \"@itwin/itwinui-icons-react\";\r\n\r\n/** Enum for the list picker item type\r\n * @beta\r\n */\r\nexport enum ListItemType {\r\n Item = 0, // eslint-disable-line @typescript-eslint/no-shadow\r\n Separator = 1,\r\n Container = 2,\r\n}\r\n\r\n/** List picker item\r\n * @beta\r\n */\r\nexport interface ListItem {\r\n [key: string]: any;\r\n id?: string;\r\n name?: string;\r\n enabled: boolean;\r\n type?: ListItemType;\r\n children?: ListItem[];\r\n}\r\n\r\n/** Properties for the [[ListPicker]] component\r\n * @beta\r\n */\r\nexport interface ListPickerProps {\r\n title: string;\r\n items: ListItem[];\r\n iconSpec?: string | React.ReactNode;\r\n setEnabled: (item: ListItem, enabled: boolean) => any;\r\n onExpanded?: (expand: boolean) => void;\r\n onSizeKnown?: (size: SizeProps) => void;\r\n}\r\n\r\n/** Properties for the [[ListPickerItem]] component\r\n * @beta\r\n */\r\nexport interface ListPickerItemProps extends CommonProps {\r\n key: any;\r\n isActive?: boolean;\r\n isFocused?: boolean;\r\n onClick?: () => void;\r\n label?: string;\r\n}\r\n\r\n/** List Picker Item React component\r\n * @beta\r\n */\r\nexport class ListPickerItem extends React.PureComponent<ListPickerItemProps> {\r\n /** Renders ListPickerItem */\r\n public override render() {\r\n const itemClassName = classnames(\r\n \"ListPicker-item\",\r\n this.props.isActive && \"is-active\",\r\n this.props.isFocused && \"is-focused\",\r\n this.props.className,\r\n );\r\n // TODO - if cut off, show a title\r\n const title: string | undefined = (this.props.label && this.props.label.length > 25) ? this.props.label : undefined;\r\n\r\n return (\r\n // eslint-disable-next-line jsx-a11y/click-events-have-key-events\r\n <div className={itemClassName} onClick={this.props.onClick} role=\"button\" tabIndex={-1}>\r\n <div className=\"label\" title={title}>\r\n {this.props.label}\r\n </div>\r\n </div>\r\n );\r\n }\r\n}\r\n\r\n/** Properties for the [[ExpandableSection]] component\r\n * @beta\r\n */\r\nexport interface ExpandableSectionProps extends CommonProps {\r\n title?: string;\r\n expanded?: boolean;\r\n /** Content */\r\n children?: React.ReactNode;\r\n}\r\n\r\n/** State for the [[ExpandableSection]] component\r\n * @internal\r\n */\r\ninterface ExpandableSectionState {\r\n expanded: boolean;\r\n}\r\n\r\n/** Expandable Section React component\r\n * @beta\r\n */\r\nexport class ExpandableSection extends React.PureComponent<ExpandableSectionProps, ExpandableSectionState> {\r\n /** Creates an ExpandableSection */\r\n constructor(props: ExpandableSectionProps) {\r\n super(props);\r\n this.state = { expanded: !!this.props.expanded };\r\n }\r\n\r\n private _onClick = () => {\r\n this.setState((prevState) => ({ expanded: !prevState.expanded }));\r\n };\r\n\r\n /** Renders ExpandableSection */\r\n public override render() {\r\n const className = classnames(\r\n \"nz-toolbar-item-expandable-group-group\",\r\n this.props.className,\r\n );\r\n\r\n const icon = this.state.expanded ? <Icon iconSpec={<SvgChevronDown />} /> : <Icon iconSpec={<SvgChevronRight />} />;\r\n\r\n return (\r\n <Panel className={className} style={this.props.style} key={this.props.title}>\r\n {/* eslint-disable-next-line jsx-a11y/click-events-have-key-events */}\r\n <div onClick={this._onClick}\r\n className={this.state.expanded ? \"ListPickerInnerContainer-header-expanded\" : \"ListPickerInnerContainer-header\"}\r\n role=\"button\" tabIndex={-1} aria-expanded={this.state.expanded}\r\n >\r\n <div className=\"ListPickerInnerContainer-header-content\">\r\n <div className=\"ListPickerInnerContainer-expander\">{icon}</div>\r\n <div className=\"ListPickerInnerContainer-title\">{this.props.title}</div>\r\n </div>\r\n </div>\r\n {this.state.expanded ?\r\n <GroupColumn>\r\n {this.props.children}\r\n </GroupColumn> : <div />\r\n }\r\n </Panel>\r\n );\r\n }\r\n}\r\n\r\n/** @beta */\r\nexport function getListPanel(props: ListPickerProps): React.ReactNode {\r\n const expandSingleSection = (): boolean => {\r\n const populatedContainers = props.items.filter((item: ListItem) => {\r\n return (item.type === ListItemType.Container && item.children!.length !== 0);\r\n });\r\n return populatedContainers.length === 1;\r\n };\r\n\r\n const listItemToElement = (item: ListItem, itemIndex: number) => {\r\n switch (item.type) {\r\n case ListItemType.Item:\r\n return (\r\n <ListPickerItem\r\n {...props}\r\n key={itemIndex.toString()}\r\n label={item.name}\r\n isActive={item.enabled}\r\n onClick={\r\n // istanbul ignore next\r\n () => { props.setEnabled(item, !item.enabled); }\r\n }\r\n />\r\n );\r\n case ListItemType.Separator:\r\n return (\r\n <div key={itemIndex.toString()} className=\"ListPicker-separator\" />\r\n );\r\n case ListItemType.Container:\r\n if (item.children!.length !== 0) {\r\n return (\r\n <ExpandableSection\r\n key={itemIndex.toString()}\r\n title={item.name}\r\n className=\"ListPickerInnerContainer\"\r\n expanded={expandSingleSection()}\r\n >\r\n <GroupColumn>\r\n {item.children!.map(listItemToElement)}\r\n </GroupColumn>\r\n </ExpandableSection>\r\n );\r\n } else {\r\n return (<div key={itemIndex.toString()} />);\r\n }\r\n // istanbul ignore next\r\n default:\r\n return (<div key={itemIndex.toString()} />);\r\n }\r\n };\r\n\r\n return (\r\n <Panel className=\"ListPickerContainer\">\r\n <Title>\r\n {props.title}\r\n </Title>\r\n <Columns>\r\n <GroupColumn className=\"ListPicker-column\">\r\n {props.items.map(listItemToElement)}\r\n </GroupColumn>\r\n </Columns>\r\n </Panel>\r\n );\r\n}\r\n\r\n/**\r\n * List picker toolbar popup item.\r\n * Used to provide an expandable list of items to enable/disable items.\r\n * @beta\r\n */\r\nfunction ListPickerPopupItem(props: ListPickerProps) {\r\n const icon = props.iconSpec ? (/* istanbul ignore next */ typeof props.iconSpec === \"string\" ? <Icon iconSpec={props.iconSpec} /> :\r\n <i className=\"icon uifw-item-svg-icon\">{props.iconSpec}</i>) : <Icon iconSpec={<SvgList />} />;\r\n\r\n return (\r\n <ToolbarDragInteractionContext.Consumer>\r\n {(isEnabled) => {\r\n return <PopupItem\r\n hideIndicator={isEnabled}\r\n icon={icon}\r\n title={props.title}\r\n panel={getListPanel(props)}\r\n />;\r\n }}\r\n </ToolbarDragInteractionContext.Consumer>\r\n );\r\n}\r\n\r\n/** Properties for the [[ListPicker]] component\r\n * @beta\r\n */\r\nexport interface ListPickerPropsExtended extends ListPickerProps {\r\n enableAllFunc?: () => void;\r\n disableAllFunc?: () => void;\r\n invertFunc?: () => void;\r\n}\r\n\r\n/**\r\n * List Picker that lets the user pick from a list of items to enable/disable\r\n * It also provides options to enable all, disable all and invert selection\r\n * @beta\r\n */\r\nexport class ListPicker extends React.Component<ListPickerPropsExtended> {\r\n public static get Key_All() { return -3; }\r\n public static get Key_None() { return -2; }\r\n public static get Key_Invert() { return -1; }\r\n public static get Key_Separator() { return -4; }\r\n\r\n /** Creates a ListPicker */\r\n constructor(props: ListPickerPropsExtended) {\r\n super(props);\r\n }\r\n\r\n // Creates an array of items containing the separator and special requests (all, none, invert)\r\n private createItems(items: ListItem[]): ListItem[] {\r\n const newItems: ListItem[] = [];\r\n\r\n // Create special buttons (All/None/Invert)\r\n if (this.props.enableAllFunc) {\r\n let allEnabled = true;\r\n items.map((item: ListItem) => { allEnabled = allEnabled && item.enabled; });\r\n newItems.push({ key: ListPicker.Key_All, name: UiFramework.translate(\"pickerButtons.all\"), enabled: allEnabled, type: ListItemType.Item });\r\n }\r\n if (this.props.disableAllFunc) {\r\n let allDisabled = false;\r\n items.map((item: ListItem) => { allDisabled = allDisabled || item.enabled; });\r\n newItems.push({ key: ListPicker.Key_None, name: UiFramework.translate(\"pickerButtons.none\"), enabled: !allDisabled, type: ListItemType.Item });\r\n }\r\n if (this.props.invertFunc) {\r\n newItems.push({ key: ListPicker.Key_Invert, name: UiFramework.translate(\"pickerButtons.invert\"), enabled: false, type: ListItemType.Item });\r\n }\r\n if (this.props.enableAllFunc || this.props.disableAllFunc || this.props.invertFunc) {\r\n newItems.push({ key: ListPicker.Key_Separator, name: UiFramework.translate(\"pickerButtons.separator\"), enabled: false, type: ListItemType.Separator });\r\n }\r\n\r\n // Push items\r\n items.map((item) => { newItems.push(item); });\r\n return newItems;\r\n }\r\n\r\n /**\r\n * Checks if item is a special item.\r\n * @param item Item to check\r\n */\r\n public isSpecialItem(item: ListItem) {\r\n return item.key === ListPicker.Key_All || item.key === ListPicker.Key_Invert || item.key === ListPicker.Key_None || item.type !== ListItemType.Item || item.key === ListPicker.Key_Separator;\r\n }\r\n\r\n // Handle enabling/disabling the items\r\n // This will call the this.props.setEnabled function to provide the parent with a chance to process it\r\n private _setEnabled = (item: ListItem, enabled: boolean) => {\r\n if (this.isSpecialItem(item)) {\r\n switch (item.key) {\r\n case ListPicker.Key_All: {\r\n // istanbul ignore else\r\n if (this.props.enableAllFunc)\r\n this.props.enableAllFunc();\r\n return;\r\n }\r\n case ListPicker.Key_None: {\r\n // istanbul ignore else\r\n if (this.props.disableAllFunc)\r\n this.props.disableAllFunc();\r\n return;\r\n }\r\n case ListPicker.Key_Invert: {\r\n // istanbul ignore else\r\n if (this.props.invertFunc)\r\n this.props.invertFunc();\r\n return;\r\n }\r\n }\r\n }\r\n\r\n // Call on parent to do processing of the item\r\n this.props.setEnabled(item, enabled);\r\n };\r\n\r\n /** Renders ListPicker */\r\n public override render() {\r\n return (\r\n <ListPickerPopupItem\r\n {...this.props}\r\n title={this.props.title}\r\n setEnabled={this._setEnabled}\r\n onExpanded={this.props.onExpanded}\r\n items={this.createItems(this.props.items)}\r\n iconSpec={this.props.iconSpec}\r\n />\r\n );\r\n }\r\n}\r\n"]}
|
|
@@ -12,7 +12,7 @@ $no-shadow: none;
|
|
|
12
12
|
$shadow: drop-shadow(0 1px 0 $buic-text-color-reverse);
|
|
13
13
|
$space-after-label: 16px;
|
|
14
14
|
$space-before-label: 16px;
|
|
15
|
-
$label-color:
|
|
15
|
+
$label-color: var(--iui-color-text);
|
|
16
16
|
$border-color: $buic-background-control-stroke;
|
|
17
17
|
$item-height: 32px;
|
|
18
18
|
|
|
@@ -85,7 +85,7 @@ $item-height: 32px;
|
|
|
85
85
|
}
|
|
86
86
|
|
|
87
87
|
.ListPicker-item {
|
|
88
|
-
$label-color:
|
|
88
|
+
$label-color: var(--iui-color-text);
|
|
89
89
|
$pressed-label-color: $buic-foreground-activehover;
|
|
90
90
|
$hovered-label-color: $buic-foreground-primary-tone;
|
|
91
91
|
$focused-label-color: $buic-foreground-primary-tone;
|
|
@@ -135,7 +135,7 @@ $item-height: 32px;
|
|
|
135
135
|
}
|
|
136
136
|
|
|
137
137
|
&:active {
|
|
138
|
-
background:
|
|
138
|
+
background: var(--iui-color-background-hover);
|
|
139
139
|
color: $pressed-label-color;
|
|
140
140
|
|
|
141
141
|
> .icon,
|
|
@@ -187,7 +187,7 @@ $item-height: 32px;
|
|
|
187
187
|
}
|
|
188
188
|
|
|
189
189
|
.ListPickerWidget-item {
|
|
190
|
-
$label-color:
|
|
190
|
+
$label-color: var(--iui-color-text);
|
|
191
191
|
$pressed-label-color: $buic-foreground-activehover;
|
|
192
192
|
$hovered-label-color: $buic-foreground-primary;
|
|
193
193
|
$focused-label-color: $buic-foreground-primary;
|
|
@@ -289,7 +289,7 @@ $item-height: 32px;
|
|
|
289
289
|
|
|
290
290
|
white-space: nowrap;
|
|
291
291
|
text-align: center;
|
|
292
|
-
color:
|
|
292
|
+
color: var(--iui-color-text);
|
|
293
293
|
filter: drop-shadow(0 1px 0 $buic-text-color-reverse);
|
|
294
294
|
margin-bottom: 9px;
|
|
295
295
|
margin-left: $horizontal-margin;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ViewSelector.d.ts","sourceRoot":"","sources":["../../../../src/appui-react/pickers/ViewSelector.tsx"],"names":[],"mappings":"AAIA;;GAEG;AAEH,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EAAE,UAAU,EAAU,MAAM,qBAAqB,CAAC;AACzD,OAAO,EAAa,gBAAgB,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AAC9E,OAAO,
|
|
1
|
+
{"version":3,"file":"ViewSelector.d.ts","sourceRoot":"","sources":["../../../../src/appui-react/pickers/ViewSelector.tsx"],"names":[],"mappings":"AAIA;;GAEG;AAEH,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EAAE,UAAU,EAAU,MAAM,qBAAqB,CAAC;AACzD,OAAO,EAAa,gBAAgB,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AAC9E,OAAO,EAAqB,OAAO,EAAE,MAAM,uBAAuB,CAAC;AAKnE,OAAO,EAAE,QAAQ,EAA4B,MAAM,cAAc,CAAC;AAKlE;;GAEG;AACH,MAAM,WAAW,4BAA4B;IAC3C,gBAAgB,EAAE,gBAAgB,CAAC;IACnC,gBAAgB,EAAE,UAAU,CAAC;IAC7B,SAAS,EAAE,SAAS,CAAC;IACrB,IAAI,EAAE,MAAM,CAAC;CACd;AAED;;GAEG;AACH,qBAAa,wBAAyB,SAAQ,OAAO,CAAC,4BAA4B,CAAC;CAAI;AAEvF;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC,MAAM,CAAC,EAAE,gBAAgB,CAAC;IAC1B,oBAAoB,CAAC,EAAE,OAAO,CAAC;IAE/B,YAAY,EAAE,OAAO,CAAC;IACtB,YAAY,EAAE,OAAO,CAAC;IACtB,UAAU,EAAE,OAAO,CAAC;IACpB,WAAW,EAAE,OAAO,CAAC;CACtB;AAED;;GAEG;AACH,UAAU,iBAAiB;IACzB,KAAK,EAAE,QAAQ,EAAE,CAAC;IAClB,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,OAAO,CAAC;IACrB,YAAY,EAAE,OAAO,CAAC;IACtB,YAAY,EAAE,OAAO,CAAC;IACtB,UAAU,EAAE,OAAO,CAAC;IACpB,WAAW,EAAE,OAAO,CAAC;CACtB;AAED;;GAEG;AACH,oBAAY,wBAAwB,GAAG,IAAI,CAAC,iBAAiB,EAAE,cAAc,GAAG,cAAc,GAAG,YAAY,GAAG,aAAa,CAAC,CAAC;AAe/H;;GAEG;AACH,qBAAa,YAAa,SAAQ,KAAK,CAAC,SAAS,CAAC,iBAAiB,EAAE,iBAAiB,CAAC;IAErF,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,8BAA8B,CAAqC;IAC3F,OAAO,CAAC,yBAAyB,CAAC,CAAa;IAC/C,OAAO,CAAC,UAAU,CAAS;IAE3B,gBAAuB,YAAY,EAAE,wBAAwB,CAK3D;IAEF,4CAA4C;IAC5C,gBAAuB,0BAA0B,2BAAkC;IAEnF;OACG;WACW,kBAAkB,CAAC,YAAY,EAAE,OAAO,EAAE,YAAY,EAAE,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,WAAW,EAAE,OAAO,GAAG,IAAI;IAI/H,6BAA6B;gBACjB,KAAK,EAAE,iBAAiB;IAcd,iBAAiB;IAQjB,kBAAkB,CAAC,SAAS,EAAE,iBAAiB;IAMrD,oBAAoB;IAOpC,OAAO,CAAC,kCAAkC,CAMxC;IAEF,OAAO,CAAC,kBAAkB;IAoD1B;;OAEG;IACU,SAAS,IAAI,OAAO,CAAC,IAAI,CAAC;IAmCvC;;;OAGG;IAEU,WAAW,CAAC,MAAM,CAAC,EAAE,GAAG,GAAG,OAAO,CAAC,IAAI,CAAC;IAuBrD,OAAO,CAAC,WAAW,CAkDjB;IAIF,OAAO,CAAC,WAAW,CAGjB;IAEF;;OAEG;IACa,MAAM;CAkBvB;AAED;;GAEG;AACH,eAAO,MAAM,2BAA2B,oEAAoD,CAAC"}
|
|
@@ -8,11 +8,12 @@
|
|
|
8
8
|
import * as React from "react";
|
|
9
9
|
import { Logger } from "@itwin/core-bentley";
|
|
10
10
|
import { IModelApp } from "@itwin/core-frontend";
|
|
11
|
-
import { UiEvent } from "@itwin/appui-abstract";
|
|
11
|
+
import { IconSpecUtilities, UiEvent } from "@itwin/appui-abstract";
|
|
12
12
|
import { connectIModelConnection } from "../redux/connectIModel";
|
|
13
13
|
import { UiFramework } from "../UiFramework";
|
|
14
14
|
import { ViewUtilities } from "../utils/ViewUtilities";
|
|
15
15
|
import { ListItemType, ListPicker } from "./ListPicker";
|
|
16
|
+
import svgSavedView from "@bentley/icons-generic/icons/saved-view.svg";
|
|
16
17
|
/** ViewSelector Changed Event class.
|
|
17
18
|
* @beta
|
|
18
19
|
*/
|
|
@@ -226,8 +227,9 @@ export class ViewSelector extends React.Component {
|
|
|
226
227
|
render() {
|
|
227
228
|
if (!this.state.initialized)
|
|
228
229
|
return null;
|
|
230
|
+
const iconSpec = IconSpecUtilities.createWebComponentIconSpec(svgSavedView);
|
|
229
231
|
const { imodel, ...props } = this.props; // eslint-disable-line @typescript-eslint/no-unused-vars
|
|
230
|
-
return (React.createElement(ListPicker, { ...props, title: this.state.title, setEnabled: this._setEnabled, items: this.state.items, iconSpec:
|
|
232
|
+
return (React.createElement(ListPicker, { ...props, title: this.state.title, setEnabled: this._setEnabled, items: this.state.items, iconSpec: iconSpec, onExpanded: this._onExpanded }));
|
|
231
233
|
}
|
|
232
234
|
}
|
|
233
235
|
ViewSelector._onViewSelectorShowUpdateEvent = new ViewSelectorShowUpdateEvent();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ViewSelector.js","sourceRoot":"","sources":["../../../../src/appui-react/pickers/ViewSelector.tsx"],"names":[],"mappings":"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","sourcesContent":["/*---------------------------------------------------------------------------------------------\r\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\r\n* See LICENSE.md in the project root for license terms and full copyright notice.\r\n*--------------------------------------------------------------------------------------------*/\r\n/** @packageDocumentation\r\n * @module Picker\r\n */\r\n\r\nimport * as React from \"react\";\r\nimport { Id64String, Logger } from \"@itwin/core-bentley\";\r\nimport { IModelApp, IModelConnection, ViewState } from \"@itwin/core-frontend\";\r\nimport { UiEvent } from \"@itwin/appui-abstract\";\r\nimport { SupportsViewSelectorChange } from \"../content/ContentControl\";\r\nimport { connectIModelConnection } from \"../redux/connectIModel\";\r\nimport { UiFramework } from \"../UiFramework\";\r\nimport { ViewUtilities } from \"../utils/ViewUtilities\";\r\nimport { ListItem, ListItemType, ListPicker } from \"./ListPicker\";\r\n\r\n// cSpell:ignore Spatials\r\n\r\n/** [[ViewSelectorChangedEvent]] Args interface.\r\n * @beta\r\n */\r\nexport interface ViewSelectorChangedEventArgs {\r\n iModelConnection: IModelConnection;\r\n viewDefinitionId: Id64String;\r\n viewState: ViewState;\r\n name: string;\r\n}\r\n\r\n/** ViewSelector Changed Event class.\r\n * @beta\r\n */\r\nexport class ViewSelectorChangedEvent extends UiEvent<ViewSelectorChangedEventArgs> { }\r\n\r\n/** Properties for the [[ViewSelector]] component\r\n * @beta\r\n */\r\nexport interface ViewSelectorProps {\r\n imodel?: IModelConnection;\r\n listenForShowUpdates?: boolean;\r\n\r\n showSpatials: boolean;\r\n showDrawings: boolean;\r\n showSheets: boolean;\r\n showUnknown: boolean;\r\n}\r\n\r\n/** State for the [[ViewSelector]] component\r\n * @beta\r\n */\r\ninterface ViewSelectorState {\r\n items: ListItem[];\r\n title: string;\r\n initialized: boolean;\r\n showSpatials: boolean;\r\n showDrawings: boolean;\r\n showSheets: boolean;\r\n showUnknown: boolean;\r\n}\r\n\r\n/** Default properties of [[ViewSelector]] component.\r\n * @beta\r\n */\r\nexport type ViewSelectorDefaultProps = Pick<ViewSelectorProps, \"showSpatials\" | \"showDrawings\" | \"showSheets\" | \"showUnknown\">;\r\n\r\n/** ViewSelector Show Update Event Args interface.\r\n */\r\ninterface ViewSelectorShowUpdateEventArgs {\r\n showSpatials: boolean;\r\n showDrawings: boolean;\r\n showSheets: boolean;\r\n showUnknown: boolean;\r\n}\r\n\r\n/** ViewSelector Show Update Event class.\r\n */\r\nclass ViewSelectorShowUpdateEvent extends UiEvent<ViewSelectorShowUpdateEventArgs> { }\r\n\r\n/** View Selector React component\r\n * @beta\r\n */\r\nexport class ViewSelector extends React.Component<ViewSelectorProps, ViewSelectorState> {\r\n\r\n private static readonly _onViewSelectorShowUpdateEvent = new ViewSelectorShowUpdateEvent();\r\n private _removeShowUpdateListener?: () => void;\r\n private _isMounted = false;\r\n\r\n public static readonly defaultProps: ViewSelectorDefaultProps = {\r\n showSpatials: true,\r\n showDrawings: true,\r\n showSheets: true,\r\n showUnknown: true,\r\n };\r\n\r\n /** Gets the [[ViewSelectorChangedEvent]] */\r\n public static readonly onViewSelectorChangedEvent = new ViewSelectorChangedEvent();\r\n\r\n /** Updates the ViewSelector show settings.\r\n */\r\n public static updateShowSettings(showSpatials: boolean, showDrawings: boolean, showSheets: boolean, showUnknown: boolean): void {\r\n ViewSelector._onViewSelectorShowUpdateEvent.emit({ showSpatials, showDrawings, showSheets, showUnknown });\r\n }\r\n\r\n /** Creates a ViewSelector */\r\n constructor(props: ViewSelectorProps) {\r\n super(props);\r\n\r\n this.state = {\r\n items: new Array<ListItem>(),\r\n title: UiFramework.translate(\"viewTypes.views\"),\r\n initialized: false,\r\n showSpatials: props.showSpatials,\r\n showDrawings: props.showDrawings,\r\n showSheets: props.showSheets,\r\n showUnknown: props.showUnknown,\r\n };\r\n }\r\n\r\n public override async componentDidMount() {\r\n this._isMounted = true;\r\n if (this.props.listenForShowUpdates)\r\n this._removeShowUpdateListener = ViewSelector._onViewSelectorShowUpdateEvent.addListener(this._handleViewSelectorShowUpdateEvent);\r\n\r\n await this.loadViews();\r\n }\r\n\r\n public override async componentDidUpdate(prevProps: ViewSelectorProps) {\r\n if (this.props.imodel !== prevProps.imodel) {\r\n await this.loadViews();\r\n }\r\n }\r\n\r\n public override componentWillUnmount() {\r\n this._isMounted = false;\r\n // istanbul ignore else\r\n if (this._removeShowUpdateListener)\r\n this._removeShowUpdateListener();\r\n }\r\n\r\n private _handleViewSelectorShowUpdateEvent = (args: ViewSelectorShowUpdateEventArgs): void => {\r\n // istanbul ignore next\r\n if (!this._isMounted)\r\n return;\r\n\r\n this.setState(args, async () => this.loadViews());\r\n };\r\n\r\n private setStateContainers(views3d: ListItem[], views2d: ListItem[], sheets: ListItem[], unknown?: ListItem[]) {\r\n const views3dContainer: ListItem = {\r\n key: \"views3dContainer\",\r\n name: UiFramework.translate(\"viewTypes.spatialViews\"),\r\n enabled: false,\r\n type: ListItemType.Container,\r\n children: views3d,\r\n };\r\n\r\n const views2dContainer: ListItem = {\r\n key: \"views2dContainer\",\r\n name: UiFramework.translate(\"viewTypes.drawings\"),\r\n enabled: false,\r\n type: ListItemType.Container,\r\n children: views2d,\r\n };\r\n\r\n const sheetContainer: ListItem = {\r\n key: \"sheetContainer\",\r\n name: UiFramework.translate(\"viewTypes.sheets\"),\r\n enabled: false,\r\n type: ListItemType.Container,\r\n children: sheets,\r\n };\r\n\r\n const containers = [views3dContainer, views2dContainer, sheetContainer];\r\n\r\n // istanbul ignore if\r\n if (unknown && unknown.length > 0) {\r\n // This should never show, but just in case we missed a type of view state\r\n const unknownContainer: ListItem = {\r\n key: \"unknownContainer\",\r\n name: UiFramework.translate(\"viewTypes.others\"),\r\n enabled: false,\r\n type: ListItemType.Container,\r\n children: unknown,\r\n };\r\n\r\n if (unknown.length !== 0)\r\n containers.push(unknownContainer);\r\n }\r\n\r\n // istanbul ignore next\r\n if (!this._isMounted)\r\n return;\r\n\r\n this.setState({\r\n items: containers,\r\n title: UiFramework.translate(\"viewTypes.views\"),\r\n initialized: true,\r\n });\r\n }\r\n /**\r\n * Query the views and set the initial state with the iModel's views.\r\n */\r\n public async loadViews(): Promise<void> {\r\n // Query views and add them to state\r\n const views3d: ListItem[] = [];\r\n const views2d: ListItem[] = [];\r\n const sheets: ListItem[] = [];\r\n const unknown: ListItem[] = [];\r\n\r\n if (this.props.imodel && this.props.imodel.views.getViewList) {\r\n const query = { wantPrivate: false };\r\n const specs = await this.props.imodel.views.getViewList(query);\r\n\r\n specs.forEach((spec: IModelConnection.ViewSpec) => {\r\n const viewItem: ListItem = {\r\n key: spec.id,\r\n name: spec.name,\r\n enabled: false,\r\n type: ListItemType.Item,\r\n };\r\n\r\n const className = ViewUtilities.getBisBaseClass(spec.class);\r\n\r\n if (ViewUtilities.isSpatial(className) && this.state.showSpatials)\r\n views3d.push(viewItem);\r\n else if (ViewUtilities.isDrawing(className) && this.state.showDrawings)\r\n views2d.push(viewItem);\r\n else if (ViewUtilities.isSheet(className) && this.state.showSheets)\r\n sheets.push(viewItem);\r\n else if (this.state.showUnknown)\r\n unknown.push(viewItem);\r\n });\r\n }\r\n\r\n this.setStateContainers(views3d, views2d, sheets, unknown);\r\n }\r\n\r\n /**\r\n * Update state of the entries in the widget.\r\n * @param viewId Identifier for the relevant view\r\n */\r\n // istanbul ignore next\r\n public async updateState(viewId?: any): Promise<void> {\r\n // Wait for initialization finished\r\n if (!this.state.initialized)\r\n return;\r\n\r\n // Query views and add them to state\r\n const views3d: ListItem[] = this.state.items[0].children!;\r\n const views2d: ListItem[] = this.state.items[1].children!;\r\n const sheets: ListItem[] = this.state.items[2].children!;\r\n const unknown: ListItem[] = this.state.items.length > 3 ? this.state.items[3].children! : [];\r\n\r\n const updateChildren = (item: ListItem) => {\r\n if (item.key === viewId)\r\n return { ...item, enabled: true };\r\n else\r\n return { ...item, enabled: false };\r\n };\r\n\r\n this.setStateContainers(views3d.map(updateChildren), views2d.map(updateChildren), sheets.map(updateChildren), unknown.map(updateChildren));\r\n }\r\n\r\n // enable/disable the models\r\n // istanbul ignore next\r\n private _setEnabled = async (item: ListItem, _enabled: boolean) => {\r\n const activeContentControl = UiFramework.content.getActiveContentControl() as unknown as SupportsViewSelectorChange;\r\n if (!activeContentControl || !activeContentControl.supportsViewSelectorChange) {\r\n Logger.logError(UiFramework.loggerCategory(this), `No active ContentControl for ViewSelector change`);\r\n return;\r\n }\r\n\r\n // Enable the item temporarily to let user see that their click was registered\r\n // while we query for view state and change the current view which may take a bit\r\n if (_enabled && item.type !== ListItemType.Container) {\r\n // This itemMapper simply looks through all the list items and their nested children and enables the one\r\n // that we have registered to enable\r\n // Also disable all other items\r\n const itemMapper: (tempItem: ListItem) => ListItem = (tempItem: ListItem) => {\r\n if (tempItem.type === ListItemType.Container) {\r\n return { ...tempItem, children: tempItem.children!.map(itemMapper) };\r\n } else if (tempItem.key === item.key) {\r\n return { ...tempItem, enabled: true };\r\n } else {\r\n return { ...tempItem, enabled: false };\r\n }\r\n };\r\n\r\n // Create the new array with the current item enabled\r\n const itemsWithEnabled = this.state.items.map(itemMapper);\r\n\r\n // istanbul ignore next\r\n if (!this._isMounted)\r\n return;\r\n\r\n // Update the state so that we show the user it was enabled while we work in the background\r\n this.setState({ items: itemsWithEnabled });\r\n }\r\n\r\n // Load the view state using the viewSpec's ID\r\n const viewState = await this.props.imodel!.views.load(item.key);\r\n\r\n // Let activeContentControl process the ViewSelector change\r\n await activeContentControl.processViewSelectorChange(this.props.imodel!, item.key, viewState, item.name!);\r\n\r\n // Emit a change event\r\n ViewSelector.onViewSelectorChangedEvent.emit({\r\n iModelConnection: this.props.imodel!,\r\n viewDefinitionId: item.key,\r\n viewState,\r\n name: item.name!,\r\n });\r\n\r\n // Set state to show enabled the view that got selected\r\n this.updateState(item.key); // eslint-disable-line @typescript-eslint/no-floating-promises\r\n };\r\n\r\n // Hook on the category selector being expanded so that we may initialize if needed\r\n // istanbul ignore next\r\n private _onExpanded = (expand: boolean) => {\r\n if (expand)\r\n this.updateState(IModelApp.viewManager.selectedView ? IModelApp.viewManager.selectedView.view.id : undefined); // eslint-disable-line @typescript-eslint/no-floating-promises\r\n };\r\n\r\n /**\r\n * Renders ViewSelector component\r\n */\r\n public override render() {\r\n if (!this.state.initialized)\r\n return null;\r\n\r\n const { imodel, ...props } = this.props; // eslint-disable-line @typescript-eslint/no-unused-vars\r\n\r\n return (\r\n <ListPicker\r\n {...props}\r\n title={this.state.title}\r\n setEnabled={this._setEnabled}\r\n items={this.state.items}\r\n iconSpec={\"icon-saved-view\"}\r\n onExpanded={this._onExpanded}\r\n />\r\n );\r\n }\r\n}\r\n\r\n/** ViewSelector that is connected to the IModelConnection property in the Redux store. The application must set up the Redux store and include the FrameworkReducer.\r\n * @beta\r\n */\r\nexport const IModelConnectedViewSelector = connectIModelConnection(null, null)(ViewSelector); // eslint-disable-line @typescript-eslint/naming-convention\r\n"]}
|
|
1
|
+
{"version":3,"file":"ViewSelector.js","sourceRoot":"","sources":["../../../../src/appui-react/pickers/ViewSelector.tsx"],"names":[],"mappings":"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","sourcesContent":["/*---------------------------------------------------------------------------------------------\r\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\r\n* See LICENSE.md in the project root for license terms and full copyright notice.\r\n*--------------------------------------------------------------------------------------------*/\r\n/** @packageDocumentation\r\n * @module Picker\r\n */\r\n\r\nimport * as React from \"react\";\r\nimport { Id64String, Logger } from \"@itwin/core-bentley\";\r\nimport { IModelApp, IModelConnection, ViewState } from \"@itwin/core-frontend\";\r\nimport { IconSpecUtilities, UiEvent } from \"@itwin/appui-abstract\";\r\nimport { SupportsViewSelectorChange } from \"../content/ContentControl\";\r\nimport { connectIModelConnection } from \"../redux/connectIModel\";\r\nimport { UiFramework } from \"../UiFramework\";\r\nimport { ViewUtilities } from \"../utils/ViewUtilities\";\r\nimport { ListItem, ListItemType, ListPicker } from \"./ListPicker\";\r\nimport svgSavedView from \"@bentley/icons-generic/icons/saved-view.svg\";\r\n\r\n// cSpell:ignore Spatials\r\n\r\n/** [[ViewSelectorChangedEvent]] Args interface.\r\n * @beta\r\n */\r\nexport interface ViewSelectorChangedEventArgs {\r\n iModelConnection: IModelConnection;\r\n viewDefinitionId: Id64String;\r\n viewState: ViewState;\r\n name: string;\r\n}\r\n\r\n/** ViewSelector Changed Event class.\r\n * @beta\r\n */\r\nexport class ViewSelectorChangedEvent extends UiEvent<ViewSelectorChangedEventArgs> { }\r\n\r\n/** Properties for the [[ViewSelector]] component\r\n * @beta\r\n */\r\nexport interface ViewSelectorProps {\r\n imodel?: IModelConnection;\r\n listenForShowUpdates?: boolean;\r\n\r\n showSpatials: boolean;\r\n showDrawings: boolean;\r\n showSheets: boolean;\r\n showUnknown: boolean;\r\n}\r\n\r\n/** State for the [[ViewSelector]] component\r\n * @beta\r\n */\r\ninterface ViewSelectorState {\r\n items: ListItem[];\r\n title: string;\r\n initialized: boolean;\r\n showSpatials: boolean;\r\n showDrawings: boolean;\r\n showSheets: boolean;\r\n showUnknown: boolean;\r\n}\r\n\r\n/** Default properties of [[ViewSelector]] component.\r\n * @beta\r\n */\r\nexport type ViewSelectorDefaultProps = Pick<ViewSelectorProps, \"showSpatials\" | \"showDrawings\" | \"showSheets\" | \"showUnknown\">;\r\n\r\n/** ViewSelector Show Update Event Args interface.\r\n */\r\ninterface ViewSelectorShowUpdateEventArgs {\r\n showSpatials: boolean;\r\n showDrawings: boolean;\r\n showSheets: boolean;\r\n showUnknown: boolean;\r\n}\r\n\r\n/** ViewSelector Show Update Event class.\r\n */\r\nclass ViewSelectorShowUpdateEvent extends UiEvent<ViewSelectorShowUpdateEventArgs> { }\r\n\r\n/** View Selector React component\r\n * @beta\r\n */\r\nexport class ViewSelector extends React.Component<ViewSelectorProps, ViewSelectorState> {\r\n\r\n private static readonly _onViewSelectorShowUpdateEvent = new ViewSelectorShowUpdateEvent();\r\n private _removeShowUpdateListener?: () => void;\r\n private _isMounted = false;\r\n\r\n public static readonly defaultProps: ViewSelectorDefaultProps = {\r\n showSpatials: true,\r\n showDrawings: true,\r\n showSheets: true,\r\n showUnknown: true,\r\n };\r\n\r\n /** Gets the [[ViewSelectorChangedEvent]] */\r\n public static readonly onViewSelectorChangedEvent = new ViewSelectorChangedEvent();\r\n\r\n /** Updates the ViewSelector show settings.\r\n */\r\n public static updateShowSettings(showSpatials: boolean, showDrawings: boolean, showSheets: boolean, showUnknown: boolean): void {\r\n ViewSelector._onViewSelectorShowUpdateEvent.emit({ showSpatials, showDrawings, showSheets, showUnknown });\r\n }\r\n\r\n /** Creates a ViewSelector */\r\n constructor(props: ViewSelectorProps) {\r\n super(props);\r\n\r\n this.state = {\r\n items: new Array<ListItem>(),\r\n title: UiFramework.translate(\"viewTypes.views\"),\r\n initialized: false,\r\n showSpatials: props.showSpatials,\r\n showDrawings: props.showDrawings,\r\n showSheets: props.showSheets,\r\n showUnknown: props.showUnknown,\r\n };\r\n }\r\n\r\n public override async componentDidMount() {\r\n this._isMounted = true;\r\n if (this.props.listenForShowUpdates)\r\n this._removeShowUpdateListener = ViewSelector._onViewSelectorShowUpdateEvent.addListener(this._handleViewSelectorShowUpdateEvent);\r\n\r\n await this.loadViews();\r\n }\r\n\r\n public override async componentDidUpdate(prevProps: ViewSelectorProps) {\r\n if (this.props.imodel !== prevProps.imodel) {\r\n await this.loadViews();\r\n }\r\n }\r\n\r\n public override componentWillUnmount() {\r\n this._isMounted = false;\r\n // istanbul ignore else\r\n if (this._removeShowUpdateListener)\r\n this._removeShowUpdateListener();\r\n }\r\n\r\n private _handleViewSelectorShowUpdateEvent = (args: ViewSelectorShowUpdateEventArgs): void => {\r\n // istanbul ignore next\r\n if (!this._isMounted)\r\n return;\r\n\r\n this.setState(args, async () => this.loadViews());\r\n };\r\n\r\n private setStateContainers(views3d: ListItem[], views2d: ListItem[], sheets: ListItem[], unknown?: ListItem[]) {\r\n const views3dContainer: ListItem = {\r\n key: \"views3dContainer\",\r\n name: UiFramework.translate(\"viewTypes.spatialViews\"),\r\n enabled: false,\r\n type: ListItemType.Container,\r\n children: views3d,\r\n };\r\n\r\n const views2dContainer: ListItem = {\r\n key: \"views2dContainer\",\r\n name: UiFramework.translate(\"viewTypes.drawings\"),\r\n enabled: false,\r\n type: ListItemType.Container,\r\n children: views2d,\r\n };\r\n\r\n const sheetContainer: ListItem = {\r\n key: \"sheetContainer\",\r\n name: UiFramework.translate(\"viewTypes.sheets\"),\r\n enabled: false,\r\n type: ListItemType.Container,\r\n children: sheets,\r\n };\r\n\r\n const containers = [views3dContainer, views2dContainer, sheetContainer];\r\n\r\n // istanbul ignore if\r\n if (unknown && unknown.length > 0) {\r\n // This should never show, but just in case we missed a type of view state\r\n const unknownContainer: ListItem = {\r\n key: \"unknownContainer\",\r\n name: UiFramework.translate(\"viewTypes.others\"),\r\n enabled: false,\r\n type: ListItemType.Container,\r\n children: unknown,\r\n };\r\n\r\n if (unknown.length !== 0)\r\n containers.push(unknownContainer);\r\n }\r\n\r\n // istanbul ignore next\r\n if (!this._isMounted)\r\n return;\r\n\r\n this.setState({\r\n items: containers,\r\n title: UiFramework.translate(\"viewTypes.views\"),\r\n initialized: true,\r\n });\r\n }\r\n /**\r\n * Query the views and set the initial state with the iModel's views.\r\n */\r\n public async loadViews(): Promise<void> {\r\n // Query views and add them to state\r\n const views3d: ListItem[] = [];\r\n const views2d: ListItem[] = [];\r\n const sheets: ListItem[] = [];\r\n const unknown: ListItem[] = [];\r\n\r\n if (this.props.imodel && this.props.imodel.views.getViewList) {\r\n const query = { wantPrivate: false };\r\n const specs = await this.props.imodel.views.getViewList(query);\r\n\r\n specs.forEach((spec: IModelConnection.ViewSpec) => {\r\n const viewItem: ListItem = {\r\n key: spec.id,\r\n name: spec.name,\r\n enabled: false,\r\n type: ListItemType.Item,\r\n };\r\n\r\n const className = ViewUtilities.getBisBaseClass(spec.class);\r\n\r\n if (ViewUtilities.isSpatial(className) && this.state.showSpatials)\r\n views3d.push(viewItem);\r\n else if (ViewUtilities.isDrawing(className) && this.state.showDrawings)\r\n views2d.push(viewItem);\r\n else if (ViewUtilities.isSheet(className) && this.state.showSheets)\r\n sheets.push(viewItem);\r\n else if (this.state.showUnknown)\r\n unknown.push(viewItem);\r\n });\r\n }\r\n\r\n this.setStateContainers(views3d, views2d, sheets, unknown);\r\n }\r\n\r\n /**\r\n * Update state of the entries in the widget.\r\n * @param viewId Identifier for the relevant view\r\n */\r\n // istanbul ignore next\r\n public async updateState(viewId?: any): Promise<void> {\r\n // Wait for initialization finished\r\n if (!this.state.initialized)\r\n return;\r\n\r\n // Query views and add them to state\r\n const views3d: ListItem[] = this.state.items[0].children!;\r\n const views2d: ListItem[] = this.state.items[1].children!;\r\n const sheets: ListItem[] = this.state.items[2].children!;\r\n const unknown: ListItem[] = this.state.items.length > 3 ? this.state.items[3].children! : [];\r\n\r\n const updateChildren = (item: ListItem) => {\r\n if (item.key === viewId)\r\n return { ...item, enabled: true };\r\n else\r\n return { ...item, enabled: false };\r\n };\r\n\r\n this.setStateContainers(views3d.map(updateChildren), views2d.map(updateChildren), sheets.map(updateChildren), unknown.map(updateChildren));\r\n }\r\n\r\n // enable/disable the models\r\n // istanbul ignore next\r\n private _setEnabled = async (item: ListItem, _enabled: boolean) => {\r\n const activeContentControl = UiFramework.content.getActiveContentControl() as unknown as SupportsViewSelectorChange;\r\n if (!activeContentControl || !activeContentControl.supportsViewSelectorChange) {\r\n Logger.logError(UiFramework.loggerCategory(this), `No active ContentControl for ViewSelector change`);\r\n return;\r\n }\r\n\r\n // Enable the item temporarily to let user see that their click was registered\r\n // while we query for view state and change the current view which may take a bit\r\n if (_enabled && item.type !== ListItemType.Container) {\r\n // This itemMapper simply looks through all the list items and their nested children and enables the one\r\n // that we have registered to enable\r\n // Also disable all other items\r\n const itemMapper: (tempItem: ListItem) => ListItem = (tempItem: ListItem) => {\r\n if (tempItem.type === ListItemType.Container) {\r\n return { ...tempItem, children: tempItem.children!.map(itemMapper) };\r\n } else if (tempItem.key === item.key) {\r\n return { ...tempItem, enabled: true };\r\n } else {\r\n return { ...tempItem, enabled: false };\r\n }\r\n };\r\n\r\n // Create the new array with the current item enabled\r\n const itemsWithEnabled = this.state.items.map(itemMapper);\r\n\r\n // istanbul ignore next\r\n if (!this._isMounted)\r\n return;\r\n\r\n // Update the state so that we show the user it was enabled while we work in the background\r\n this.setState({ items: itemsWithEnabled });\r\n }\r\n\r\n // Load the view state using the viewSpec's ID\r\n const viewState = await this.props.imodel!.views.load(item.key);\r\n\r\n // Let activeContentControl process the ViewSelector change\r\n await activeContentControl.processViewSelectorChange(this.props.imodel!, item.key, viewState, item.name!);\r\n\r\n // Emit a change event\r\n ViewSelector.onViewSelectorChangedEvent.emit({\r\n iModelConnection: this.props.imodel!,\r\n viewDefinitionId: item.key,\r\n viewState,\r\n name: item.name!,\r\n });\r\n\r\n // Set state to show enabled the view that got selected\r\n this.updateState(item.key); // eslint-disable-line @typescript-eslint/no-floating-promises\r\n };\r\n\r\n // Hook on the category selector being expanded so that we may initialize if needed\r\n // istanbul ignore next\r\n private _onExpanded = (expand: boolean) => {\r\n if (expand)\r\n this.updateState(IModelApp.viewManager.selectedView ? IModelApp.viewManager.selectedView.view.id : undefined); // eslint-disable-line @typescript-eslint/no-floating-promises\r\n };\r\n\r\n /**\r\n * Renders ViewSelector component\r\n */\r\n public override render() {\r\n if (!this.state.initialized)\r\n return null;\r\n const iconSpec = IconSpecUtilities.createWebComponentIconSpec(svgSavedView);\r\n\r\n const { imodel, ...props } = this.props; // eslint-disable-line @typescript-eslint/no-unused-vars\r\n\r\n return (\r\n <ListPicker\r\n {...props}\r\n title={this.state.title}\r\n setEnabled={this._setEnabled}\r\n items={this.state.items}\r\n iconSpec={iconSpec}\r\n onExpanded={this._onExpanded}\r\n />\r\n );\r\n }\r\n}\r\n\r\n/** ViewSelector that is connected to the IModelConnection property in the Redux store. The application must set up the Redux store and include the FrameworkReducer.\r\n * @beta\r\n */\r\nexport const IModelConnectedViewSelector = connectIModelConnection(null, null)(ViewSelector); // eslint-disable-line @typescript-eslint/naming-convention\r\n"]}
|
|
@@ -10,7 +10,7 @@ import * as React from "react";
|
|
|
10
10
|
import classnames from "classnames";
|
|
11
11
|
import { SpecialKey } from "@itwin/appui-abstract";
|
|
12
12
|
import { DivWithOutsideClick, FocusTrap, Point, Size } from "@itwin/core-react";
|
|
13
|
-
import {
|
|
13
|
+
import { Text } from "@itwin/itwinui-react";
|
|
14
14
|
import { CursorPopup } from "../cursor/cursorpopup/CursorPopup";
|
|
15
15
|
import { isReactContent, PopupManager } from "./PopupManager";
|
|
16
16
|
import { PositionPopup } from "./PositionPopup";
|
|
@@ -62,11 +62,11 @@ export function Card(props) {
|
|
|
62
62
|
// istanbul ignore else
|
|
63
63
|
if (props.title) {
|
|
64
64
|
if (typeof props.title === "string")
|
|
65
|
-
titleNode = React.createElement(
|
|
65
|
+
titleNode = React.createElement(Text, { variant: "leading" }, props.title);
|
|
66
66
|
else {
|
|
67
67
|
const propertyValueRendererManager = PropertyValueRendererManager.defaultManager;
|
|
68
68
|
const titleValue = propertyValueRendererManager.render(props.title);
|
|
69
|
-
titleNode = React.createElement(
|
|
69
|
+
titleNode = React.createElement(Text, { variant: "leading" }, titleValue);
|
|
70
70
|
}
|
|
71
71
|
}
|
|
72
72
|
const content = isReactContent(props.content) ? props.content.reactNode : React.createElement(MessageDiv, { message: props.content });
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CardPopup.js","sourceRoot":"","sources":["../../../../src/appui-react/popup/CardPopup.tsx"],"names":[],"mappings":"AAAA;;;+FAG+F;AAC/F;;GAEG;AAEH,OAAO,kBAAkB,CAAC;AAC1B,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,UAAU,MAAM,YAAY,CAAC;AACpC,OAAO,EAAyF,UAAU,EAAE,MAAM,uBAAuB,CAAC;AAC1I,OAAO,EAAE,mBAAmB,EAAE,SAAS,EAAe,KAAK,EAAE,IAAI,EAAa,MAAM,mBAAmB,CAAC;AACxG,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"CardPopup.js","sourceRoot":"","sources":["../../../../src/appui-react/popup/CardPopup.tsx"],"names":[],"mappings":"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","sourcesContent":["/*---------------------------------------------------------------------------------------------\r\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\r\n* See LICENSE.md in the project root for license terms and full copyright notice.\r\n*--------------------------------------------------------------------------------------------*/\r\n/** @packageDocumentation\r\n * @module Popup\r\n */\r\n\r\nimport \"./CardPopup.scss\";\r\nimport * as React from \"react\";\r\nimport classnames from \"classnames\";\r\nimport { CommonToolbarItem, OnCancelFunc, OnItemExecutedFunc, PropertyRecord, RelativePosition, SpecialKey } from \"@itwin/appui-abstract\";\r\nimport { DivWithOutsideClick, FocusTrap, Orientation, Point, Size, SizeProps } from \"@itwin/core-react\";\r\nimport { Text } from \"@itwin/itwinui-react\";\r\nimport { CursorPopup } from \"../cursor/cursorpopup/CursorPopup\";\r\nimport { isReactContent, PopupContentType, PopupManager, PopupPropsBase } from \"./PopupManager\";\r\nimport { PositionPopup } from \"./PositionPopup\";\r\nimport { MessageDiv } from \"../messages/MessageSpan\";\r\nimport { Direction, PropertyValueRendererManager, ToolbarOpacitySetting, ToolbarPanelAlignment, ToolbarWithOverflow } from \"@itwin/components-react\";\r\n\r\n/** Props for defining a CardPopup editor\r\n * @beta */\r\nexport interface CardPopupProps extends PopupPropsBase {\r\n content: PopupContentType;\r\n title: string | PropertyRecord | undefined;\r\n items: CommonToolbarItem[] | undefined;\r\n relativePosition: RelativePosition;\r\n orientation: Orientation;\r\n onCancel: OnCancelFunc;\r\n onItemExecuted: OnItemExecutedFunc;\r\n}\r\n\r\n/** @internal */\r\ninterface CardPopupState {\r\n size: Size;\r\n}\r\n\r\n/** Popup component for Input Editor\r\n * @beta\r\n */\r\nexport class CardPopup extends React.PureComponent<CardPopupProps, CardPopupState> {\r\n /** @internal */\r\n public override readonly state = {\r\n size: new Size(-1, -1),\r\n };\r\n\r\n private _onSizeKnown = (newSize: SizeProps) => {\r\n // istanbul ignore else\r\n if (!this.state.size.equals(newSize))\r\n this.setState({ size: Size.create(newSize) });\r\n };\r\n\r\n private _handleKeyDown = (event: React.KeyboardEvent): void => {\r\n switch (event.key) {\r\n case SpecialKey.Escape:\r\n this._cancel();\r\n break;\r\n }\r\n };\r\n\r\n private _cancel() {\r\n // istanbul ignore else\r\n if (this.props.onCancel) {\r\n this.props.onCancel();\r\n }\r\n }\r\n\r\n public override render() {\r\n let point = PopupManager.getPopupPosition(this.props.el, this.props.pt, new Point(), this.state.size);\r\n const popupRect = CursorPopup.getPopupRect(point, this.props.offset, this.state.size, this.props.relativePosition);\r\n point = new Point(popupRect.left, popupRect.top);\r\n\r\n return (\r\n <PositionPopup key={this.props.id}\r\n className={classnames(\"uifw-no-border\", \"uifw-card\")}\r\n point={point}\r\n onSizeKnown={this._onSizeKnown}\r\n >\r\n <DivWithOutsideClick onOutsideClick={this.props.onCancel} onKeyDown={this._handleKeyDown}>\r\n <FocusTrap active={true} returnFocusOnDeactivate={true}>\r\n <Card content={this.props.content} title={this.props.title} items={this.props.items}\r\n onItemExecuted={this.props.onItemExecuted} />\r\n </FocusTrap>\r\n </DivWithOutsideClick>\r\n </PositionPopup>\r\n );\r\n }\r\n}\r\n\r\n/** Props defining a Card component\r\n * @beta */\r\nexport interface CardProps {\r\n content: PopupContentType;\r\n title: string | PropertyRecord | undefined;\r\n items: CommonToolbarItem[] | undefined;\r\n onItemExecuted: OnItemExecutedFunc;\r\n}\r\n\r\n/** Card component\r\n * @beta */\r\nexport function Card(props: CardProps) {\r\n let titleNode: React.ReactNode;\r\n // istanbul ignore else\r\n if (props.title) {\r\n if (typeof props.title === \"string\")\r\n titleNode = <Text variant=\"leading\">{props.title}</Text>;\r\n else {\r\n const propertyValueRendererManager = PropertyValueRendererManager.defaultManager;\r\n const titleValue = propertyValueRendererManager.render(props.title);\r\n titleNode = <Text variant=\"leading\">{titleValue}</Text>;\r\n }\r\n }\r\n\r\n const content = isReactContent(props.content) ? props.content.reactNode : <MessageDiv message={props.content} />;\r\n\r\n return (\r\n <>\r\n <div className=\"uifw-card-content\">\r\n {props.title &&\r\n <>\r\n {titleNode}\r\n <div className=\"uifw-card-gap\" />\r\n </>\r\n }\r\n {content}\r\n </div>\r\n {props.items &&\r\n <>\r\n <div className=\"uifw-card-separator\" />\r\n <ToolbarWithOverflow\r\n expandsTo={Direction.Bottom}\r\n panelAlignment={ToolbarPanelAlignment.Start}\r\n items={props.items}\r\n useDragInteraction={true}\r\n toolbarOpacitySetting={ToolbarOpacitySetting.Transparent}\r\n onItemExecuted={props.onItemExecuted}\r\n />\r\n </>\r\n }\r\n </>\r\n );\r\n}\r\n"]}
|
|
@@ -12,7 +12,7 @@
|
|
|
12
12
|
width: $uifw-popup-border-width;
|
|
13
13
|
}
|
|
14
14
|
|
|
15
|
-
background-color:
|
|
15
|
+
background-color: hsl(var(--iui-color-background-hsl) / $uifw-popup-opacity);
|
|
16
16
|
position: fixed;
|
|
17
17
|
height: fit-content;
|
|
18
18
|
width: fit-content;
|
|
@@ -2,13 +2,14 @@
|
|
|
2
2
|
* @module Popup
|
|
3
3
|
*/
|
|
4
4
|
import * as React from "react";
|
|
5
|
-
import {
|
|
5
|
+
import { OnCancelFunc, OnItemExecutedFunc, RelativePosition } from "@itwin/appui-abstract";
|
|
6
6
|
import { Orientation, Size } from "@itwin/core-react";
|
|
7
7
|
import { PopupPropsBase } from "./PopupManager";
|
|
8
|
+
import { ToolbarItem } from "../toolbar/ToolbarItem";
|
|
8
9
|
/** Props for a popup toolbar
|
|
9
10
|
* @beta */
|
|
10
11
|
export interface ToolbarPopupProps extends PopupPropsBase {
|
|
11
|
-
items:
|
|
12
|
+
items: ToolbarItem[];
|
|
12
13
|
relativePosition: RelativePosition;
|
|
13
14
|
orientation: Orientation;
|
|
14
15
|
onCancel: OnCancelFunc;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ToolbarPopup.d.ts","sourceRoot":"","sources":["../../../../src/appui-react/popup/ToolbarPopup.tsx"],"names":[],"mappings":"AAIA;;GAEG;AAEH,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"ToolbarPopup.d.ts","sourceRoot":"","sources":["../../../../src/appui-react/popup/ToolbarPopup.tsx"],"names":[],"mappings":"AAIA;;GAEG;AAEH,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EAAE,YAAY,EAAE,kBAAkB,EAAE,gBAAgB,EAAc,MAAM,uBAAuB,CAAC;AACvG,OAAO,EAAkC,WAAW,EAAS,IAAI,EAAa,MAAM,mBAAmB,CAAC;AAGxG,OAAO,EAAgB,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAE9D,OAAO,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AAGrD;WACW;AACX,MAAM,WAAW,iBAAkB,SAAQ,cAAc;IACvD,KAAK,EAAE,WAAW,EAAE,CAAC;IACrB,gBAAgB,EAAE,gBAAgB,CAAC;IACnC,WAAW,EAAE,WAAW,CAAC;IACzB,QAAQ,EAAE,YAAY,CAAC;IACvB,cAAc,EAAE,kBAAkB,CAAC;CACpC;AAED,gBAAgB;AAChB,UAAU,iBAAiB;IACzB,IAAI,EAAE,IAAI,CAAC;CACZ;AAED;;GAEG;AACH,qBAAa,YAAa,SAAQ,KAAK,CAAC,aAAa,CAAC,iBAAiB,EAAE,iBAAiB,CAAC;IACzF,gBAAgB;IAChB,SAAyB,KAAK;;MAE5B;IAEF,OAAO,CAAC,YAAY,CAIlB;IAEF,OAAO,CAAC,cAAc,CAMpB;IAEF,OAAO,CAAC,OAAO;IAOC,MAAM;CA0BvB"}
|
|
@@ -12,6 +12,7 @@ import { Direction, Toolbar, ToolbarOpacitySetting, ToolbarPanelAlignment } from
|
|
|
12
12
|
import { CursorPopup } from "../cursor/cursorpopup/CursorPopup";
|
|
13
13
|
import { PopupManager } from "./PopupManager";
|
|
14
14
|
import { PositionPopup } from "./PositionPopup";
|
|
15
|
+
import { toUIAToolbarItem } from "../toolbar/toUIAToolbarItem";
|
|
15
16
|
/** Popup component for Toolbar
|
|
16
17
|
* @beta
|
|
17
18
|
*/
|
|
@@ -45,10 +46,11 @@ export class ToolbarPopup extends React.PureComponent {
|
|
|
45
46
|
let point = PopupManager.getPopupPosition(this.props.el, this.props.pt, new Point(), this.state.size);
|
|
46
47
|
const popupRect = CursorPopup.getPopupRect(point, this.props.offset, this.state.size, this.props.relativePosition);
|
|
47
48
|
point = new Point(popupRect.left, popupRect.top);
|
|
49
|
+
const items = this.props.items.map((item) => toUIAToolbarItem(item));
|
|
48
50
|
return (React.createElement(PositionPopup, { key: this.props.id, className: "uifw-no-border", point: point, onSizeKnown: this._onSizeKnown },
|
|
49
51
|
React.createElement(DivWithOutsideClick, { onOutsideClick: this.props.onCancel, onKeyDown: this._handleKeyDown },
|
|
50
52
|
React.createElement(FocusTrap, { active: true, returnFocusOnDeactivate: true },
|
|
51
|
-
React.createElement(Toolbar, { expandsTo: Direction.Bottom, panelAlignment: ToolbarPanelAlignment.Start, items:
|
|
53
|
+
React.createElement(Toolbar, { expandsTo: Direction.Bottom, panelAlignment: ToolbarPanelAlignment.Start, items: items, useDragInteraction: true, toolbarOpacitySetting: ToolbarOpacitySetting.Defaults, onItemExecuted: this.props.onItemExecuted })))));
|
|
52
54
|
}
|
|
53
55
|
}
|
|
54
56
|
//# sourceMappingURL=ToolbarPopup.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ToolbarPopup.js","sourceRoot":"","sources":["../../../../src/appui-react/popup/ToolbarPopup.tsx"],"names":[],"mappings":"AAAA;;;+FAG+F;AAC/F;;GAEG;AAEH,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,
|
|
1
|
+
{"version":3,"file":"ToolbarPopup.js","sourceRoot":"","sources":["../../../../src/appui-react/popup/ToolbarPopup.tsx"],"names":[],"mappings":"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","sourcesContent":["/*---------------------------------------------------------------------------------------------\r\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\r\n* See LICENSE.md in the project root for license terms and full copyright notice.\r\n*--------------------------------------------------------------------------------------------*/\r\n/** @packageDocumentation\r\n * @module Popup\r\n */\r\n\r\nimport * as React from \"react\";\r\nimport { OnCancelFunc, OnItemExecutedFunc, RelativePosition, SpecialKey } from \"@itwin/appui-abstract\";\r\nimport { DivWithOutsideClick, FocusTrap, Orientation, Point, Size, SizeProps } from \"@itwin/core-react\";\r\nimport { Direction, Toolbar, ToolbarOpacitySetting, ToolbarPanelAlignment } from \"@itwin/components-react\";\r\nimport { CursorPopup } from \"../cursor/cursorpopup/CursorPopup\";\r\nimport { PopupManager, PopupPropsBase } from \"./PopupManager\";\r\nimport { PositionPopup } from \"./PositionPopup\";\r\nimport { ToolbarItem } from \"../toolbar/ToolbarItem\";\r\nimport { toUIAToolbarItem } from \"../toolbar/toUIAToolbarItem\";\r\n\r\n/** Props for a popup toolbar\r\n * @beta */\r\nexport interface ToolbarPopupProps extends PopupPropsBase {\r\n items: ToolbarItem[];\r\n relativePosition: RelativePosition;\r\n orientation: Orientation;\r\n onCancel: OnCancelFunc;\r\n onItemExecuted: OnItemExecutedFunc;\r\n}\r\n\r\n/** @internal */\r\ninterface ToolbarPopupState {\r\n size: Size;\r\n}\r\n\r\n/** Popup component for Toolbar\r\n * @beta\r\n */\r\nexport class ToolbarPopup extends React.PureComponent<ToolbarPopupProps, ToolbarPopupState> {\r\n /** @internal */\r\n public override readonly state = {\r\n size: new Size(-1, -1),\r\n };\r\n\r\n private _onSizeKnown = (newSize: SizeProps) => {\r\n // istanbul ignore else\r\n if (!this.state.size.equals(newSize))\r\n this.setState({ size: Size.create(newSize) });\r\n };\r\n\r\n private _handleKeyDown = (event: React.KeyboardEvent<HTMLDivElement>): void => {\r\n switch (event.key) {\r\n case SpecialKey.Escape:\r\n this._cancel();\r\n break;\r\n }\r\n };\r\n\r\n private _cancel() {\r\n // istanbul ignore else\r\n if (this.props.onCancel) {\r\n this.props.onCancel();\r\n }\r\n }\r\n\r\n public override render() {\r\n let point = PopupManager.getPopupPosition(this.props.el, this.props.pt, new Point(), this.state.size);\r\n const popupRect = CursorPopup.getPopupRect(point, this.props.offset, this.state.size, this.props.relativePosition);\r\n point = new Point(popupRect.left, popupRect.top);\r\n const items = this.props.items.map((item) => toUIAToolbarItem(item));\r\n return (\r\n <PositionPopup key={this.props.id}\r\n className=\"uifw-no-border\"\r\n point={point}\r\n onSizeKnown={this._onSizeKnown}\r\n >\r\n <DivWithOutsideClick onOutsideClick={this.props.onCancel} onKeyDown={this._handleKeyDown}>\r\n <FocusTrap active={true} returnFocusOnDeactivate={true}>\r\n <Toolbar\r\n expandsTo={Direction.Bottom}\r\n panelAlignment={ToolbarPanelAlignment.Start}\r\n items={items}\r\n useDragInteraction={true}\r\n toolbarOpacitySetting={ToolbarOpacitySetting.Defaults}\r\n onItemExecuted={this.props.onItemExecuted}\r\n />\r\n </FocusTrap>\r\n </DivWithOutsideClick>\r\n </PositionPopup>\r\n );\r\n }\r\n}\r\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SelectionContextItemDef.d.ts","sourceRoot":"","sources":["../../../../src/appui-react/selection/SelectionContextItemDef.ts"],"names":[],"mappings":"AAIA;;GAEG;AAEH,OAAO,EAAE,uBAAuB,
|
|
1
|
+
{"version":3,"file":"SelectionContextItemDef.d.ts","sourceRoot":"","sources":["../../../../src/appui-react/selection/SelectionContextItemDef.ts"],"names":[],"mappings":"AAIA;;GAEG;AAEH,OAAO,EAAE,uBAAuB,EAAqB,MAAM,uBAAuB,CAAC;AAEnF,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAC1D,OAAO,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAEtD,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAcpD;;GAEG;AACH,wBAAgB,8BAA8B,IAAI,MAAM,EAAE,CAEzD;AAED;;GAEG;AACH,wBAAgB,+BAA+B,IAAI,MAAM,EAAE,CAE1D;AAED;;GAEG;AACH,wBAAgB,mBAAmB,IAAI,OAAO,CAY7C;AAED;;GAEG;AACH,wBAAgB,2BAA2B,IAAI,OAAO,CAOrD;AAED;;GAEG;AACH,wBAAgB,mCAAmC,IAAI,uBAAuB,CAE7E;AAED;;GAEG;AACH,wBAAgB,+BAA+B,IAAI,uBAAuB,CAEzE;AAED;;GAEG;AAEH,wBAAgB,+BAA+B,CAAC,KAAK,EAAE,QAAQ,CAAC,aAAa,CAAC,GAAG,aAAa,CAS7F;AAED;;GAEG;AAEH,wBAAgB,yBAAyB,CAAC,KAAK,EAAE,QAAQ,CAAC,aAAa,CAAC,GAAG,aAAa,CAWvF;AAED;;GAEG;AAEH,qBAAa,+BAA+B;IAE1C,WAAkB,+BAA+B,mBAOhD;IAED,WAAkB,mCAAmC,mBAOpD;IAED,WAAkB,sBAAsB,mBAQvC;IAED,WAAkB,yBAAyB,iBAS1C;IAED,WAAkB,4BAA4B,mBAO7C;IAED,WAAkB,gCAAgC,mBAOjD;IAED,WAAkB,mBAAmB,mBAQpC;IAED,WAAkB,oBAAoB,iBASrC;IAED,WAAkB,wBAAwB,mBAQzC;IAED,WAAkB,wCAAwC,mBAYzD;CAEF"}
|
|
@@ -5,13 +5,23 @@
|
|
|
5
5
|
/** @packageDocumentation
|
|
6
6
|
* @module Tools
|
|
7
7
|
*/
|
|
8
|
-
import { ConditionalBooleanValue } from "@itwin/appui-abstract";
|
|
8
|
+
import { ConditionalBooleanValue, IconSpecUtilities } from "@itwin/appui-abstract";
|
|
9
9
|
import { SessionStateActionId } from "../redux/SessionState";
|
|
10
10
|
import { CommandItemDef } from "../shared/CommandItemDef";
|
|
11
11
|
import { SyncUiEventId } from "../syncui/SyncUiEventDispatcher";
|
|
12
12
|
import { GroupItemDef } from "../toolbar/GroupItem";
|
|
13
13
|
import { UiFramework } from "../UiFramework";
|
|
14
14
|
import { HideIsolateEmphasizeActionHandler } from "./HideIsolateEmphasizeManager";
|
|
15
|
+
import svgModelIsolate from "@bentley/icons-generic/icons/model-isolate.svg";
|
|
16
|
+
import svgLayersIsolate from "@bentley/icons-generic/icons/layers-isolate.svg";
|
|
17
|
+
import svgAssetIsolate from "@bentley/icons-generic/icons/asset-isolate.svg";
|
|
18
|
+
import svgIsolate from "@bentley/icons-generic/icons/isolate.svg";
|
|
19
|
+
import svgModelHide from "@bentley/icons-generic/icons/model-hide.svg";
|
|
20
|
+
import svgLayersHide from "@bentley/icons-generic/icons/layers-hide.svg";
|
|
21
|
+
import svgAssetClassificationHide from "@bentley/icons-generic/icons/asset-classification-hide.svg";
|
|
22
|
+
import svgVisibilitySemiTransparent from "@bentley/icons-generic/icons/visibility-semi-transparent.svg";
|
|
23
|
+
import svgVisibilityHide from "@bentley/icons-generic/icons/visibility-hide_2.svg";
|
|
24
|
+
import svgVisibility from "@bentley/icons-generic/icons/visibility.svg";
|
|
15
25
|
/** return SyncEventIds that trigger selection state function refresh.
|
|
16
26
|
* @beta
|
|
17
27
|
*/
|
|
@@ -95,7 +105,7 @@ export class SelectionContextToolDefinitions {
|
|
|
95
105
|
static get isolateModelsInSelectionItemDef() {
|
|
96
106
|
return new CommandItemDef({
|
|
97
107
|
commandId: "UiFramework.IsolateModel",
|
|
98
|
-
iconSpec:
|
|
108
|
+
iconSpec: IconSpecUtilities.createWebComponentIconSpec(svgModelIsolate),
|
|
99
109
|
labelKey: "UiFramework:tools.isolateModels",
|
|
100
110
|
execute: async () => UiFramework.hideIsolateEmphasizeActionHandler.processIsolateSelectedElementsModel(),
|
|
101
111
|
});
|
|
@@ -103,7 +113,7 @@ export class SelectionContextToolDefinitions {
|
|
|
103
113
|
static get isolateCategoriesInSelectionItemDef() {
|
|
104
114
|
return new CommandItemDef({
|
|
105
115
|
commandId: "UiFramework.IsolateCategory",
|
|
106
|
-
iconSpec:
|
|
116
|
+
iconSpec: IconSpecUtilities.createWebComponentIconSpec(svgLayersIsolate),
|
|
107
117
|
labelKey: "UiFramework:tools.isolateCategories",
|
|
108
118
|
execute: async () => UiFramework.hideIsolateEmphasizeActionHandler.processIsolateSelectedElementsCategory(),
|
|
109
119
|
});
|
|
@@ -111,7 +121,7 @@ export class SelectionContextToolDefinitions {
|
|
|
111
121
|
static get isolateElementsItemDef() {
|
|
112
122
|
return new CommandItemDef({
|
|
113
123
|
commandId: "UiFramework.IsolateSelected",
|
|
114
|
-
iconSpec:
|
|
124
|
+
iconSpec: IconSpecUtilities.createWebComponentIconSpec(svgAssetIsolate),
|
|
115
125
|
labelKey: "UiFramework:tools.isolateSelected",
|
|
116
126
|
isHidden: getIsHiddenIfSelectionNotActive(),
|
|
117
127
|
execute: async () => UiFramework.hideIsolateEmphasizeActionHandler.processIsolateSelected(),
|
|
@@ -121,7 +131,7 @@ export class SelectionContextToolDefinitions {
|
|
|
121
131
|
return new GroupItemDef({
|
|
122
132
|
groupId: "UiFramework.IsolateSelectionGroup",
|
|
123
133
|
labelKey: "UiFramework:tools.isolate",
|
|
124
|
-
iconSpec:
|
|
134
|
+
iconSpec: IconSpecUtilities.createWebComponentIconSpec(svgIsolate),
|
|
125
135
|
isHidden: getIsHiddenIfSelectionNotActive(),
|
|
126
136
|
items: [this.isolateElementsItemDef, this.isolateCategoriesInSelectionItemDef, this.isolateModelsInSelectionItemDef],
|
|
127
137
|
itemsInColumn: 3,
|
|
@@ -130,7 +140,7 @@ export class SelectionContextToolDefinitions {
|
|
|
130
140
|
static get hideModelsInSelectionItemDef() {
|
|
131
141
|
return new CommandItemDef({
|
|
132
142
|
commandId: "UiFramework.HideModel",
|
|
133
|
-
iconSpec:
|
|
143
|
+
iconSpec: IconSpecUtilities.createWebComponentIconSpec(svgModelHide),
|
|
134
144
|
labelKey: "UiFramework:tools.hideModels",
|
|
135
145
|
execute: async () => UiFramework.hideIsolateEmphasizeActionHandler.processHideSelectedElementsModel(),
|
|
136
146
|
});
|
|
@@ -138,7 +148,7 @@ export class SelectionContextToolDefinitions {
|
|
|
138
148
|
static get hideCategoriesInSelectionItemDef() {
|
|
139
149
|
return new CommandItemDef({
|
|
140
150
|
commandId: "UiFramework.HideCategory",
|
|
141
|
-
iconSpec:
|
|
151
|
+
iconSpec: IconSpecUtilities.createWebComponentIconSpec(svgLayersHide),
|
|
142
152
|
labelKey: "UiFramework:tools.hideCategories",
|
|
143
153
|
execute: async () => UiFramework.hideIsolateEmphasizeActionHandler.processHideSelectedElementsCategory(),
|
|
144
154
|
});
|
|
@@ -146,7 +156,7 @@ export class SelectionContextToolDefinitions {
|
|
|
146
156
|
static get hideElementsItemDef() {
|
|
147
157
|
return new CommandItemDef({
|
|
148
158
|
commandId: "UiFramework.HideSelected",
|
|
149
|
-
iconSpec:
|
|
159
|
+
iconSpec: IconSpecUtilities.createWebComponentIconSpec(svgAssetClassificationHide),
|
|
150
160
|
labelKey: "UiFramework:tools.hideSelected",
|
|
151
161
|
isHidden: getIsHiddenIfSelectionNotActive(),
|
|
152
162
|
execute: async () => UiFramework.hideIsolateEmphasizeActionHandler.processHideSelected(),
|
|
@@ -156,7 +166,7 @@ export class SelectionContextToolDefinitions {
|
|
|
156
166
|
return new GroupItemDef({
|
|
157
167
|
groupId: "UiFramework.HideSelectionGroup",
|
|
158
168
|
labelKey: "UiFramework:tools.hide",
|
|
159
|
-
iconSpec:
|
|
169
|
+
iconSpec: IconSpecUtilities.createWebComponentIconSpec(svgVisibilityHide),
|
|
160
170
|
isHidden: getIsHiddenIfSelectionNotActive(),
|
|
161
171
|
items: [this.hideElementsItemDef, this.hideCategoriesInSelectionItemDef, this.hideModelsInSelectionItemDef],
|
|
162
172
|
itemsInColumn: 3,
|
|
@@ -165,7 +175,7 @@ export class SelectionContextToolDefinitions {
|
|
|
165
175
|
static get emphasizeElementsItemDef() {
|
|
166
176
|
return new CommandItemDef({
|
|
167
177
|
commandId: "UiFramework.EmphasizeSelected",
|
|
168
|
-
iconSpec:
|
|
178
|
+
iconSpec: IconSpecUtilities.createWebComponentIconSpec(svgVisibilitySemiTransparent),
|
|
169
179
|
labelKey: "UiFramework:tools.emphasizeSelected",
|
|
170
180
|
isHidden: getIsHiddenIfSelectionNotActive(),
|
|
171
181
|
execute: async () => UiFramework.hideIsolateEmphasizeActionHandler.processEmphasizeSelected(),
|
|
@@ -174,7 +184,7 @@ export class SelectionContextToolDefinitions {
|
|
|
174
184
|
static get clearHideIsolateEmphasizeElementsItemDef() {
|
|
175
185
|
return new CommandItemDef({
|
|
176
186
|
commandId: "UiFramework.ClearHideIsolateEmphasize",
|
|
177
|
-
iconSpec:
|
|
187
|
+
iconSpec: IconSpecUtilities.createWebComponentIconSpec(svgVisibility),
|
|
178
188
|
labelKey: "UiFramework:tools.clearVisibility",
|
|
179
189
|
isHidden: getIsHiddenIfFeatureOverridesActive(),
|
|
180
190
|
execute: async () => {
|