@itwin/appui-react 4.11.0 → 4.13.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +26 -1
- package/lib/cjs/appui-react/UiFramework.d.ts +4 -1
- package/lib/cjs/appui-react/UiFramework.d.ts.map +1 -1
- package/lib/cjs/appui-react/UiFramework.js +13 -14
- package/lib/cjs/appui-react/UiFramework.js.map +1 -1
- package/lib/cjs/appui-react/UiFramework.json +345 -0
- package/lib/cjs/appui-react/accudraw/AccuDrawDialog.js +1 -1
- package/lib/cjs/appui-react/accudraw/AccuDrawDialog.js.map +1 -1
- package/lib/cjs/appui-react/accudraw/Calculator.d.ts.map +1 -1
- package/lib/cjs/appui-react/accudraw/Calculator.js +3 -1
- package/lib/cjs/appui-react/accudraw/Calculator.js.map +1 -1
- package/lib/cjs/appui-react/accudraw/CalculatorPopup.d.ts.map +1 -1
- package/lib/cjs/appui-react/accudraw/CalculatorPopup.js.map +1 -1
- package/lib/cjs/appui-react/accudraw/FrameworkAccuDraw.d.ts +36 -12
- package/lib/cjs/appui-react/accudraw/FrameworkAccuDraw.d.ts.map +1 -1
- package/lib/cjs/appui-react/accudraw/FrameworkAccuDraw.js +37 -19
- package/lib/cjs/appui-react/accudraw/FrameworkAccuDraw.js.map +1 -1
- package/lib/cjs/appui-react/backstage/BackstageComposer.d.ts.map +1 -1
- package/lib/cjs/appui-react/backstage/BackstageComposer.js +2 -1
- package/lib/cjs/appui-react/backstage/BackstageComposer.js.map +1 -1
- package/lib/cjs/appui-react/backstage/BackstageComposerItem.js +3 -4
- package/lib/cjs/appui-react/backstage/BackstageComposerItem.js.map +1 -1
- package/lib/cjs/appui-react/childwindow/ChildWindowConfig.d.ts +8 -6
- package/lib/cjs/appui-react/childwindow/ChildWindowConfig.d.ts.map +1 -1
- package/lib/cjs/appui-react/childwindow/ChildWindowConfig.js.map +1 -1
- package/lib/cjs/appui-react/childwindow/{PopoutWidget.d.ts → ChildWindowWidget.d.ts} +4 -4
- package/lib/cjs/appui-react/childwindow/ChildWindowWidget.d.ts.map +1 -0
- package/lib/cjs/appui-react/childwindow/{PopoutWidget.js → ChildWindowWidget.js} +11 -5
- package/lib/cjs/appui-react/childwindow/ChildWindowWidget.js.map +1 -0
- package/lib/{esm/appui-react/childwindow/PopoutWidget.scss → cjs/appui-react/childwindow/ChildWindowWidget.scss} +0 -1
- package/lib/cjs/appui-react/childwindow/InternalChildWindowManager.d.ts +3 -3
- package/lib/cjs/appui-react/childwindow/InternalChildWindowManager.d.ts.map +1 -1
- package/lib/cjs/appui-react/childwindow/InternalChildWindowManager.js +25 -33
- package/lib/cjs/appui-react/childwindow/InternalChildWindowManager.js.map +1 -1
- package/lib/cjs/appui-react/configurableui/ConfigurableUiContent.js +1 -1
- package/lib/cjs/appui-react/configurableui/ConfigurableUiContent.js.map +1 -1
- package/lib/cjs/appui-react/configurableui/InternalConfigurableUiManager.d.ts +2 -12
- package/lib/cjs/appui-react/configurableui/InternalConfigurableUiManager.d.ts.map +1 -1
- package/lib/cjs/appui-react/configurableui/InternalConfigurableUiManager.js +5 -18
- package/lib/cjs/appui-react/configurableui/InternalConfigurableUiManager.js.map +1 -1
- package/lib/cjs/appui-react/configurableui/TimeTracker.js +1 -2
- package/lib/cjs/appui-react/configurableui/TimeTracker.js.map +1 -1
- package/lib/cjs/appui-react/content/ContentControl.d.ts +2 -0
- package/lib/cjs/appui-react/content/ContentControl.d.ts.map +1 -1
- package/lib/cjs/appui-react/content/ContentControl.js +1 -0
- package/lib/cjs/appui-react/content/ContentControl.js.map +1 -1
- package/lib/cjs/appui-react/content/ContentLayout.d.ts +2 -0
- package/lib/cjs/appui-react/content/ContentLayout.d.ts.map +1 -1
- package/lib/cjs/appui-react/content/ContentLayout.js +14 -14
- package/lib/cjs/appui-react/content/ContentLayout.js.map +1 -1
- package/lib/cjs/appui-react/content/DefaultViewOverlay.js +3 -4
- package/lib/cjs/appui-react/content/DefaultViewOverlay.js.map +1 -1
- package/lib/cjs/appui-react/content/FloatingViewportContent.d.ts +2 -2
- package/lib/cjs/appui-react/content/FloatingViewportContent.d.ts.map +1 -1
- package/lib/cjs/appui-react/content/FloatingViewportContent.js +2 -3
- package/lib/cjs/appui-react/content/FloatingViewportContent.js.map +1 -1
- package/lib/cjs/appui-react/content/IModelViewport.d.ts.map +1 -1
- package/lib/cjs/appui-react/content/IModelViewport.js +7 -8
- package/lib/cjs/appui-react/content/IModelViewport.js.map +1 -1
- package/lib/cjs/appui-react/content/InternalContentLayoutManager.js +1 -2
- package/lib/cjs/appui-react/content/InternalContentLayoutManager.js.map +1 -1
- package/lib/cjs/appui-react/content/InternalContentViewManager.d.ts +5 -5
- package/lib/cjs/appui-react/content/InternalContentViewManager.d.ts.map +1 -1
- package/lib/cjs/appui-react/content/InternalContentViewManager.js +5 -7
- package/lib/cjs/appui-react/content/InternalContentViewManager.js.map +1 -1
- package/lib/cjs/appui-react/content/split-pane/SplitPane.js +10 -12
- package/lib/cjs/appui-react/content/split-pane/SplitPane.js.map +1 -1
- package/lib/cjs/appui-react/cursor/CursorInformation.d.ts +2 -0
- package/lib/cjs/appui-react/cursor/CursorInformation.d.ts.map +1 -1
- package/lib/cjs/appui-react/cursor/CursorInformation.js +2 -0
- package/lib/cjs/appui-react/cursor/CursorInformation.js.map +1 -1
- package/lib/cjs/appui-react/cursor/cursormenu/CursorMenu.d.ts.map +1 -1
- package/lib/cjs/appui-react/cursor/cursormenu/CursorMenu.js +3 -3
- package/lib/cjs/appui-react/cursor/cursormenu/CursorMenu.js.map +1 -1
- package/lib/cjs/appui-react/cursor/cursorpopup/CursorPopup.d.ts.map +1 -1
- package/lib/cjs/appui-react/cursor/cursorpopup/CursorPopup.js +1 -0
- package/lib/cjs/appui-react/cursor/cursorpopup/CursorPopup.js.map +1 -1
- package/lib/cjs/appui-react/cursor/cursorpopup/CursorPopupManager.d.ts +5 -19
- package/lib/cjs/appui-react/cursor/cursorpopup/CursorPopupManager.d.ts.map +1 -1
- package/lib/cjs/appui-react/cursor/cursorpopup/CursorPopupManager.js +4 -24
- package/lib/cjs/appui-react/cursor/cursorpopup/CursorPopupManager.js.map +1 -1
- package/lib/cjs/appui-react/cursor/cursorprompt/CursorPrompt.d.ts.map +1 -1
- package/lib/cjs/appui-react/cursor/cursorprompt/CursorPrompt.js +1 -0
- package/lib/cjs/appui-react/cursor/cursorprompt/CursorPrompt.js.map +1 -1
- package/lib/cjs/appui-react/dialog/ContentDialog.d.ts.map +1 -1
- package/lib/cjs/appui-react/dialog/ContentDialog.js +8 -7
- package/lib/cjs/appui-react/dialog/ContentDialog.js.map +1 -1
- package/lib/cjs/appui-react/dialog/DialogManagerBase.d.ts +5 -2
- package/lib/cjs/appui-react/dialog/DialogManagerBase.d.ts.map +1 -1
- package/lib/cjs/appui-react/dialog/DialogManagerBase.js +6 -3
- package/lib/cjs/appui-react/dialog/DialogManagerBase.js.map +1 -1
- package/lib/cjs/appui-react/dialog/InternalContentDialogManager.d.ts +3 -2
- package/lib/cjs/appui-react/dialog/InternalContentDialogManager.d.ts.map +1 -1
- package/lib/cjs/appui-react/dialog/InternalContentDialogManager.js +1 -2
- package/lib/cjs/appui-react/dialog/InternalContentDialogManager.js.map +1 -1
- package/lib/cjs/appui-react/dialog/InternalModalDialogManager.d.ts +3 -2
- package/lib/cjs/appui-react/dialog/InternalModalDialogManager.d.ts.map +1 -1
- package/lib/cjs/appui-react/dialog/InternalModalDialogManager.js +2 -2
- package/lib/cjs/appui-react/dialog/InternalModalDialogManager.js.map +1 -1
- package/lib/cjs/appui-react/dialog/InternalModelessDialogManager.d.ts +3 -2
- package/lib/cjs/appui-react/dialog/InternalModelessDialogManager.d.ts.map +1 -1
- package/lib/cjs/appui-react/dialog/InternalModelessDialogManager.js +1 -2
- package/lib/cjs/appui-react/dialog/InternalModelessDialogManager.js.map +1 -1
- package/lib/cjs/appui-react/dialog/ModelessDialog.d.ts.map +1 -1
- package/lib/cjs/appui-react/dialog/ModelessDialog.js +3 -1
- package/lib/cjs/appui-react/dialog/ModelessDialog.js.map +1 -1
- package/lib/cjs/appui-react/dialog/UiDataProvidedDialog.d.ts.map +1 -1
- package/lib/cjs/appui-react/dialog/UiDataProvidedDialog.js +3 -1
- package/lib/cjs/appui-react/dialog/UiDataProvidedDialog.js.map +1 -1
- package/lib/cjs/appui-react/feedback/ElementTooltip.d.ts +2 -0
- package/lib/cjs/appui-react/feedback/ElementTooltip.d.ts.map +1 -1
- package/lib/cjs/appui-react/feedback/ElementTooltip.js +6 -2
- package/lib/cjs/appui-react/feedback/ElementTooltip.js.map +1 -1
- package/lib/cjs/appui-react/framework/FrameworkContent.d.ts +5 -0
- package/lib/cjs/appui-react/framework/FrameworkContent.d.ts.map +1 -1
- package/lib/cjs/appui-react/framework/FrameworkContent.js +4 -0
- package/lib/cjs/appui-react/framework/FrameworkContent.js.map +1 -1
- package/lib/cjs/appui-react/framework/FrameworkDialogs.d.ts +2 -0
- package/lib/cjs/appui-react/framework/FrameworkDialogs.d.ts.map +1 -1
- package/lib/cjs/appui-react/framework/FrameworkDialogs.js +4 -0
- package/lib/cjs/appui-react/framework/FrameworkDialogs.js.map +1 -1
- package/lib/cjs/appui-react/framework/FrameworkFrontstages.d.ts +17 -1
- package/lib/cjs/appui-react/framework/FrameworkFrontstages.d.ts.map +1 -1
- package/lib/cjs/appui-react/framework/FrameworkFrontstages.js +8 -0
- package/lib/cjs/appui-react/framework/FrameworkFrontstages.js.map +1 -1
- package/lib/cjs/appui-react/framework/FrameworkToolSettings.d.ts +2 -0
- package/lib/cjs/appui-react/framework/FrameworkToolSettings.d.ts.map +1 -1
- package/lib/cjs/appui-react/framework/FrameworkToolSettings.js +1 -0
- package/lib/cjs/appui-react/framework/FrameworkToolSettings.js.map +1 -1
- package/lib/cjs/appui-react/frontstage/FrontstageDef.d.ts.map +1 -1
- package/lib/cjs/appui-react/frontstage/FrontstageDef.js +24 -22
- package/lib/cjs/appui-react/frontstage/FrontstageDef.js.map +1 -1
- package/lib/cjs/appui-react/frontstage/InternalFrontstageManager.d.ts +29 -33
- package/lib/cjs/appui-react/frontstage/InternalFrontstageManager.d.ts.map +1 -1
- package/lib/cjs/appui-react/frontstage/InternalFrontstageManager.js +45 -50
- package/lib/cjs/appui-react/frontstage/InternalFrontstageManager.js.map +1 -1
- package/lib/cjs/appui-react/frontstage/ModalSettingsStage.d.ts.map +1 -1
- package/lib/cjs/appui-react/frontstage/ModalSettingsStage.js +8 -6
- package/lib/cjs/appui-react/frontstage/ModalSettingsStage.js.map +1 -1
- package/lib/cjs/appui-react/frontstage/StandardFrontstageProvider.d.ts +4 -4
- package/lib/cjs/appui-react/frontstage/StandardFrontstageProvider.d.ts.map +1 -1
- package/lib/cjs/appui-react/frontstage/StandardFrontstageProvider.js +4 -5
- package/lib/cjs/appui-react/frontstage/StandardFrontstageProvider.js.map +1 -1
- package/lib/cjs/appui-react/hooks/useActiveIModelConnection.d.ts.map +1 -1
- package/lib/cjs/appui-react/hooks/useActiveIModelConnection.js +1 -0
- package/lib/cjs/appui-react/hooks/useActiveIModelConnection.js.map +1 -1
- package/lib/cjs/appui-react/hooks/useActiveStageId.js +2 -1
- package/lib/cjs/appui-react/hooks/useActiveStageId.js.map +1 -1
- package/lib/cjs/appui-react/hooks/useActiveViewport.d.ts.map +1 -1
- package/lib/cjs/appui-react/hooks/useActiveViewport.js +2 -0
- package/lib/cjs/appui-react/hooks/useActiveViewport.js.map +1 -1
- package/lib/cjs/appui-react/hooks/useAnalysisAnimationDataProvider.js +7 -11
- package/lib/cjs/appui-react/hooks/useAnalysisAnimationDataProvider.js.map +1 -1
- package/lib/cjs/appui-react/hooks/useScheduleAnimationDataProvider.js +7 -11
- package/lib/cjs/appui-react/hooks/useScheduleAnimationDataProvider.js.map +1 -1
- package/lib/cjs/appui-react/hooks/useSolarDataProvider.js +8 -13
- package/lib/cjs/appui-react/hooks/useSolarDataProvider.js.map +1 -1
- package/lib/cjs/appui-react/hooks/useTranslation.d.ts +7 -0
- package/lib/cjs/appui-react/hooks/useTranslation.d.ts.map +1 -0
- package/lib/cjs/appui-react/{useTranslation.js → hooks/useTranslation.js} +15 -6
- package/lib/cjs/appui-react/hooks/useTranslation.js.map +1 -0
- package/lib/cjs/appui-react/hooks/useUiVisibility.d.ts.map +1 -1
- package/lib/cjs/appui-react/hooks/useUiVisibility.js +1 -0
- package/lib/cjs/appui-react/hooks/useUiVisibility.js.map +1 -1
- package/lib/cjs/appui-react/keyboardshortcut/InternalKeyboardShortcut.d.ts.map +1 -1
- package/lib/cjs/appui-react/keyboardshortcut/InternalKeyboardShortcut.js +1 -0
- package/lib/cjs/appui-react/keyboardshortcut/InternalKeyboardShortcut.js.map +1 -1
- package/lib/cjs/appui-react/keyboardshortcut/KeyboardShortcutMenu.d.ts +1 -0
- package/lib/cjs/appui-react/keyboardshortcut/KeyboardShortcutMenu.d.ts.map +1 -1
- package/lib/cjs/appui-react/keyboardshortcut/KeyboardShortcutMenu.js +2 -1
- package/lib/cjs/appui-react/keyboardshortcut/KeyboardShortcutMenu.js.map +1 -1
- package/lib/cjs/appui-react/layout/StandardLayout.scss +1 -1
- package/lib/cjs/appui-react/layout/base/DragManager.js +1 -2
- package/lib/cjs/appui-react/layout/base/DragManager.js.map +1 -1
- package/lib/cjs/appui-react/layout/base/NineZone.js +1 -1
- package/lib/cjs/appui-react/layout/base/NineZone.js.map +1 -1
- package/lib/cjs/appui-react/layout/footer/_variables.scss +0 -2
- package/lib/cjs/appui-react/layout/outline/TabOutline.js +1 -1
- package/lib/cjs/appui-react/layout/outline/TabOutline.js.map +1 -1
- package/lib/cjs/appui-react/layout/outline/WidgetOutline.js +1 -1
- package/lib/cjs/appui-react/layout/outline/WidgetOutline.js.map +1 -1
- package/lib/cjs/appui-react/layout/state/NineZoneAction.d.ts +3 -2
- package/lib/cjs/appui-react/layout/state/NineZoneAction.d.ts.map +1 -1
- package/lib/cjs/appui-react/layout/state/NineZoneAction.js.map +1 -1
- package/lib/cjs/appui-react/layout/state/NineZoneStateReducer.d.ts.map +1 -1
- package/lib/cjs/appui-react/layout/state/NineZoneStateReducer.js +14 -15
- package/lib/cjs/appui-react/layout/state/NineZoneStateReducer.js.map +1 -1
- package/lib/cjs/appui-react/layout/state/PanelState.d.ts +2 -5
- package/lib/cjs/appui-react/layout/state/PanelState.d.ts.map +1 -1
- package/lib/cjs/appui-react/layout/state/PanelState.js.map +1 -1
- package/lib/cjs/appui-react/layout/state/internal/NineZoneStateHelpers.js +1 -2
- package/lib/cjs/appui-react/layout/state/internal/NineZoneStateHelpers.js.map +1 -1
- package/lib/cjs/appui-react/layout/state/internal/PanelStateHelpers.d.ts +4 -3
- package/lib/cjs/appui-react/layout/state/internal/PanelStateHelpers.d.ts.map +1 -1
- package/lib/cjs/appui-react/layout/state/internal/PanelStateHelpers.js +12 -10
- package/lib/cjs/appui-react/layout/state/internal/PanelStateHelpers.js.map +1 -1
- package/lib/cjs/appui-react/layout/state/internal/TabStateHelpers.js +2 -3
- package/lib/cjs/appui-react/layout/state/internal/TabStateHelpers.js.map +1 -1
- package/lib/cjs/appui-react/layout/state/internal/WidgetStateHelpers.js +4 -4
- package/lib/cjs/appui-react/layout/state/internal/WidgetStateHelpers.js.map +1 -1
- package/lib/cjs/appui-react/layout/target/TitleBarTarget.js +1 -1
- package/lib/cjs/appui-react/layout/target/TitleBarTarget.js.map +1 -1
- package/lib/cjs/appui-react/layout/tool-settings/Docked.js +2 -2
- package/lib/cjs/appui-react/layout/tool-settings/Docked.js.map +1 -1
- package/lib/cjs/appui-react/layout/tool-settings/Docked.scss +3 -13
- package/lib/cjs/appui-react/layout/tool-settings/Handle.scss +2 -2
- package/lib/cjs/appui-react/layout/tool-settings/Setting.js +1 -1
- package/lib/cjs/appui-react/layout/tool-settings/Setting.js.map +1 -1
- package/lib/cjs/appui-react/layout/tool-settings/Setting.scss +1 -2
- package/lib/cjs/appui-react/layout/widget/Button.d.ts +3 -2
- package/lib/cjs/appui-react/layout/widget/Button.d.ts.map +1 -1
- package/lib/cjs/appui-react/layout/widget/Button.js.map +1 -1
- package/lib/cjs/appui-react/layout/widget/ContentContainer.js +1 -1
- package/lib/cjs/appui-react/layout/widget/ContentContainer.js.map +1 -1
- package/lib/cjs/appui-react/layout/widget/ContentManager.d.ts +3 -3
- package/lib/cjs/appui-react/layout/widget/ContentManager.d.ts.map +1 -1
- package/lib/cjs/appui-react/layout/widget/ContentManager.js +7 -1
- package/lib/cjs/appui-react/layout/widget/ContentManager.js.map +1 -1
- package/lib/cjs/appui-react/layout/widget/ContentRenderer.js +2 -2
- package/lib/cjs/appui-react/layout/widget/ContentRenderer.js.map +1 -1
- package/lib/cjs/appui-react/layout/widget/FloatingTab.js +5 -6
- package/lib/cjs/appui-react/layout/widget/FloatingTab.js.map +1 -1
- package/lib/cjs/appui-react/layout/widget/FloatingWidget.js +2 -4
- package/lib/cjs/appui-react/layout/widget/FloatingWidget.js.map +1 -1
- package/lib/cjs/appui-react/layout/widget/PanelWidget.js +1 -1
- package/lib/cjs/appui-react/layout/widget/PanelWidget.js.map +1 -1
- package/lib/cjs/appui-react/layout/widget/Tab.js +4 -4
- package/lib/cjs/appui-react/layout/widget/Tab.js.map +1 -1
- package/lib/cjs/appui-react/layout/widget/Widget.js +2 -2
- package/lib/cjs/appui-react/layout/widget/Widget.js.map +1 -1
- package/lib/cjs/appui-react/layout/widget/useIsToolSettingsTab.js +1 -1
- package/lib/cjs/appui-react/layout/widget/useIsToolSettingsTab.js.map +1 -1
- package/lib/cjs/appui-react/layout/widget-panels/PanelSections.js +5 -8
- package/lib/cjs/appui-react/layout/widget-panels/PanelSections.js.map +1 -1
- package/lib/cjs/appui-react/layout/widget-panels/useAnimatePanel.js +1 -2
- package/lib/cjs/appui-react/layout/widget-panels/useAnimatePanel.js.map +1 -1
- package/lib/cjs/appui-react/messages/InputField.js +2 -1
- package/lib/cjs/appui-react/messages/InputField.js.map +1 -1
- package/lib/cjs/appui-react/messages/MessageManager.d.ts +12 -0
- package/lib/cjs/appui-react/messages/MessageManager.d.ts.map +1 -1
- package/lib/cjs/appui-react/messages/MessageManager.js +18 -10
- package/lib/cjs/appui-react/messages/MessageManager.js.map +1 -1
- package/lib/cjs/appui-react/messages/MessageRenderer.js +8 -9
- package/lib/cjs/appui-react/messages/MessageRenderer.js.map +1 -1
- package/lib/cjs/appui-react/messages/Pointer.d.ts +2 -0
- package/lib/cjs/appui-react/messages/Pointer.d.ts.map +1 -1
- package/lib/cjs/appui-react/messages/Pointer.js +7 -9
- package/lib/cjs/appui-react/messages/Pointer.js.map +1 -1
- package/lib/cjs/appui-react/navigationaids/NavigationAidControl.d.ts +2 -0
- package/lib/cjs/appui-react/navigationaids/NavigationAidControl.d.ts.map +1 -1
- package/lib/cjs/appui-react/navigationaids/NavigationAidControl.js +1 -0
- package/lib/cjs/appui-react/navigationaids/NavigationAidControl.js.map +1 -1
- package/lib/cjs/appui-react/navigationaids/SheetNavigationAid.d.ts.map +1 -1
- package/lib/cjs/appui-react/navigationaids/SheetNavigationAid.js +2 -0
- package/lib/cjs/appui-react/navigationaids/SheetNavigationAid.js.map +1 -1
- package/lib/cjs/appui-react/navigationaids/SheetsModalFrontstage.d.ts +2 -0
- package/lib/cjs/appui-react/navigationaids/SheetsModalFrontstage.d.ts.map +1 -1
- package/lib/cjs/appui-react/navigationaids/SheetsModalFrontstage.js +11 -3
- package/lib/cjs/appui-react/navigationaids/SheetsModalFrontstage.js.map +1 -1
- package/lib/cjs/appui-react/pickers/ListPicker.d.ts.map +1 -1
- package/lib/cjs/appui-react/pickers/ListPicker.js +3 -1
- package/lib/cjs/appui-react/pickers/ListPicker.js.map +1 -1
- package/lib/cjs/appui-react/pickers/ViewSelector.d.ts +2 -0
- package/lib/cjs/appui-react/pickers/ViewSelector.d.ts.map +1 -1
- package/lib/cjs/appui-react/pickers/ViewSelector.js +8 -13
- package/lib/cjs/appui-react/pickers/ViewSelector.js.map +1 -1
- package/lib/cjs/appui-react/popup/CardPopup.d.ts.map +1 -1
- package/lib/cjs/appui-react/popup/CardPopup.js +2 -3
- package/lib/cjs/appui-react/popup/CardPopup.js.map +1 -1
- package/lib/cjs/appui-react/popup/ComponentPopup.d.ts.map +1 -1
- package/lib/cjs/appui-react/popup/ComponentPopup.js +1 -1
- package/lib/cjs/appui-react/popup/ComponentPopup.js.map +1 -1
- package/lib/cjs/appui-react/popup/HTMLElementPopup.d.ts.map +1 -1
- package/lib/cjs/appui-react/popup/HTMLElementPopup.js.map +1 -1
- package/lib/cjs/appui-react/popup/InputEditorPopup.d.ts.map +1 -1
- package/lib/cjs/appui-react/popup/InputEditorPopup.js.map +1 -1
- package/lib/cjs/appui-react/popup/KeyinPalettePanel.d.ts.map +1 -1
- package/lib/cjs/appui-react/popup/KeyinPalettePanel.js +8 -5
- package/lib/cjs/appui-react/popup/KeyinPalettePanel.js.map +1 -1
- package/lib/cjs/appui-react/popup/KeyinPalettePopup.d.ts.map +1 -1
- package/lib/cjs/appui-react/popup/KeyinPalettePopup.js +1 -1
- package/lib/cjs/appui-react/popup/KeyinPalettePopup.js.map +1 -1
- package/lib/cjs/appui-react/popup/PopupManager.d.ts +5 -1
- package/lib/cjs/appui-react/popup/PopupManager.d.ts.map +1 -1
- package/lib/cjs/appui-react/popup/PopupManager.js +24 -24
- package/lib/cjs/appui-react/popup/PopupManager.js.map +1 -1
- package/lib/cjs/appui-react/popup/PositionPopup.d.ts.map +1 -1
- package/lib/cjs/appui-react/popup/PositionPopup.js +1 -0
- package/lib/cjs/appui-react/popup/PositionPopup.js.map +1 -1
- package/lib/cjs/appui-react/popup/ToolSettingsPopup.d.ts.map +1 -1
- package/lib/cjs/appui-react/popup/ToolSettingsPopup.js.map +1 -1
- package/lib/cjs/appui-react/popup/ToolbarPopup.d.ts.map +1 -1
- package/lib/cjs/appui-react/popup/ToolbarPopup.js +2 -3
- package/lib/cjs/appui-react/popup/ToolbarPopup.js.map +1 -1
- package/lib/cjs/appui-react/preview/PreviewFeatures.d.ts +7 -0
- package/lib/cjs/appui-react/preview/PreviewFeatures.d.ts.map +1 -1
- package/lib/cjs/appui-react/preview/PreviewFeatures.js +8 -6
- package/lib/cjs/appui-react/preview/PreviewFeatures.js.map +1 -1
- package/lib/cjs/appui-react/preview/enable-maximized-widget/useMaximizedWidget.js +2 -2
- package/lib/cjs/appui-react/preview/enable-maximized-widget/useMaximizedWidget.js.map +1 -1
- package/lib/cjs/appui-react/preview/horizontal-panel-alignment/PreviewHorizontalPanelAlign.js +1 -1
- package/lib/cjs/appui-react/preview/horizontal-panel-alignment/PreviewHorizontalPanelAlign.js.map +1 -1
- package/lib/cjs/appui-react/preview/new-toolbars/Badge.d.ts.map +1 -1
- package/lib/cjs/appui-react/preview/new-toolbars/Badge.js +2 -2
- package/lib/cjs/appui-react/preview/new-toolbars/Badge.js.map +1 -1
- package/lib/cjs/appui-react/preview/new-toolbars/CustomItem.js +1 -1
- package/lib/cjs/appui-react/preview/new-toolbars/CustomItem.js.map +1 -1
- package/lib/cjs/appui-react/preview/new-toolbars/GroupItem.js +2 -2
- package/lib/cjs/appui-react/preview/new-toolbars/GroupItem.js.map +1 -1
- package/lib/cjs/appui-react/preview/new-toolbars/Item.js +1 -1
- package/lib/cjs/appui-react/preview/new-toolbars/Item.js.map +1 -1
- package/lib/cjs/appui-react/preview/new-toolbars/OverflowButton.js +1 -1
- package/lib/cjs/appui-react/preview/new-toolbars/OverflowButton.js.map +1 -1
- package/lib/cjs/appui-react/preview/new-toolbars/ToolGroup.js +2 -3
- package/lib/cjs/appui-react/preview/new-toolbars/ToolGroup.js.map +1 -1
- package/lib/cjs/appui-react/preview/new-toolbars/useOverflow.js.map +1 -1
- package/lib/cjs/appui-react/preview/reparent-popout-widgets/PopoutThemeProvider.d.ts +11 -0
- package/lib/cjs/appui-react/preview/reparent-popout-widgets/PopoutThemeProvider.d.ts.map +1 -0
- package/lib/cjs/appui-react/preview/reparent-popout-widgets/PopoutThemeProvider.js +40 -0
- package/lib/cjs/appui-react/preview/reparent-popout-widgets/PopoutThemeProvider.js.map +1 -0
- package/lib/{esm/appui-react/layout/footer/message-center/_variables.scss → cjs/appui-react/preview/reparent-popout-widgets/PopoutThemeProvider.scss} +3 -1
- package/lib/cjs/appui-react/preview/reparent-popout-widgets/PopoutWidget.d.ts +7 -0
- package/lib/cjs/appui-react/preview/reparent-popout-widgets/PopoutWidget.d.ts.map +1 -0
- package/lib/cjs/appui-react/preview/reparent-popout-widgets/PopoutWidget.js +25 -0
- package/lib/cjs/appui-react/preview/reparent-popout-widgets/PopoutWidget.js.map +1 -0
- package/lib/cjs/appui-react/preview/reparent-popout-widgets/PopoutWidgets.d.ts +9 -0
- package/lib/cjs/appui-react/preview/reparent-popout-widgets/PopoutWidgets.d.ts.map +1 -0
- package/lib/cjs/appui-react/preview/reparent-popout-widgets/PopoutWidgets.js +26 -0
- package/lib/cjs/appui-react/preview/reparent-popout-widgets/PopoutWidgets.js.map +1 -0
- package/lib/cjs/appui-react/preview/reparent-popout-widgets/ReparentedPopoutWidget.d.ts +13 -0
- package/lib/cjs/appui-react/preview/reparent-popout-widgets/ReparentedPopoutWidget.d.ts.map +1 -0
- package/lib/cjs/appui-react/preview/reparent-popout-widgets/ReparentedPopoutWidget.js +45 -0
- package/lib/cjs/appui-react/preview/reparent-popout-widgets/ReparentedPopoutWidget.js.map +1 -0
- package/lib/cjs/appui-react/preview/reparent-popout-widgets/ReparentedPopoutWidget.scss +8 -0
- package/lib/cjs/appui-react/preview/reparent-popout-widgets/usePopoutsStore.d.ts +18 -0
- package/lib/cjs/appui-react/preview/reparent-popout-widgets/usePopoutsStore.d.ts.map +1 -0
- package/lib/cjs/appui-react/preview/reparent-popout-widgets/usePopoutsStore.js +28 -0
- package/lib/cjs/appui-react/preview/reparent-popout-widgets/usePopoutsStore.js.map +1 -0
- package/lib/cjs/appui-react/preview/reparent-popout-widgets/useReparentPopoutWidget.d.ts +4 -0
- package/lib/cjs/appui-react/preview/reparent-popout-widgets/useReparentPopoutWidget.d.ts.map +1 -0
- package/lib/cjs/appui-react/preview/reparent-popout-widgets/useReparentPopoutWidget.js +18 -0
- package/lib/cjs/appui-react/preview/reparent-popout-widgets/useReparentPopoutWidget.js.map +1 -0
- package/lib/cjs/appui-react/preview/widget-action-dropdown/MoreButton.js +1 -2
- package/lib/cjs/appui-react/preview/widget-action-dropdown/MoreButton.js.map +1 -1
- package/lib/cjs/appui-react/selection/SelectionContextItemDef.js +2 -2
- 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 +9 -4
- package/lib/cjs/appui-react/settings/quantityformatting/QuantityFormat.js.map +1 -1
- package/lib/cjs/appui-react/settings/quantityformatting/UnitSystemSelector.js +1 -1
- package/lib/cjs/appui-react/settings/quantityformatting/UnitSystemSelector.js.map +1 -1
- package/lib/cjs/appui-react/settings/ui/UiSettingsPage.d.ts.map +1 -1
- package/lib/cjs/appui-react/settings/ui/UiSettingsPage.js +2 -1
- package/lib/cjs/appui-react/settings/ui/UiSettingsPage.js.map +1 -1
- package/lib/cjs/appui-react/stagepanels/StagePanelConfig.d.ts +23 -3
- package/lib/cjs/appui-react/stagepanels/StagePanelConfig.d.ts.map +1 -1
- package/lib/cjs/appui-react/stagepanels/StagePanelConfig.js.map +1 -1
- package/lib/cjs/appui-react/stagepanels/StagePanelDef.d.ts +10 -7
- package/lib/cjs/appui-react/stagepanels/StagePanelDef.d.ts.map +1 -1
- package/lib/cjs/appui-react/stagepanels/StagePanelDef.js +38 -27
- package/lib/cjs/appui-react/stagepanels/StagePanelDef.js.map +1 -1
- package/lib/cjs/appui-react/statusbar/Indicator.js +1 -2
- package/lib/cjs/appui-react/statusbar/Indicator.js.map +1 -1
- package/lib/cjs/appui-react/statusbar/Overflow.js +1 -1
- package/lib/cjs/appui-react/statusbar/Overflow.js.map +1 -1
- package/lib/cjs/appui-react/statusbar/StatusBar.d.ts +1 -3
- package/lib/cjs/appui-react/statusbar/StatusBar.d.ts.map +1 -1
- package/lib/cjs/appui-react/statusbar/StatusBar.js +21 -13
- package/lib/cjs/appui-react/statusbar/StatusBar.js.map +1 -1
- package/lib/cjs/appui-react/statusbar/StatusBar.scss +18 -0
- package/lib/cjs/appui-react/statusbar/StatusBarComposer.d.ts.map +1 -1
- package/lib/cjs/appui-react/statusbar/StatusBarComposer.js +1 -0
- package/lib/cjs/appui-react/statusbar/StatusBarComposer.js.map +1 -1
- package/lib/cjs/appui-react/statusfields/ActivityCenter.d.ts.map +1 -1
- package/lib/cjs/appui-react/statusfields/ActivityCenter.js +4 -2
- package/lib/cjs/appui-react/statusfields/ActivityCenter.js.map +1 -1
- package/lib/cjs/appui-react/statusfields/SectionsField.js +1 -1
- package/lib/cjs/appui-react/statusfields/SectionsField.js.map +1 -1
- package/lib/cjs/appui-react/statusfields/SelectionScope.js +2 -2
- package/lib/cjs/appui-react/statusfields/SelectionScope.js.map +1 -1
- package/lib/cjs/appui-react/statusfields/SelectionScope.scss +2 -2
- package/lib/cjs/appui-react/statusfields/SnapMode.js +1 -1
- package/lib/cjs/appui-react/statusfields/SnapMode.js.map +1 -1
- package/lib/cjs/appui-react/statusfields/message-center/MessageCenterField.d.ts +11 -0
- package/lib/cjs/appui-react/statusfields/message-center/MessageCenterField.d.ts.map +1 -0
- package/lib/cjs/appui-react/statusfields/message-center/MessageCenterField.js +91 -0
- package/lib/cjs/appui-react/statusfields/message-center/MessageCenterField.js.map +1 -0
- package/lib/cjs/appui-react/statusfields/message-center/MessageCenterField.scss +25 -0
- package/lib/cjs/appui-react/statusfields/message-center/MessageCenterMessage.d.ts +26 -0
- package/lib/cjs/appui-react/statusfields/message-center/MessageCenterMessage.d.ts.map +1 -0
- package/lib/cjs/appui-react/statusfields/message-center/MessageCenterMessage.js +28 -0
- package/lib/cjs/appui-react/statusfields/message-center/MessageCenterMessage.js.map +1 -0
- package/lib/{esm/appui-react/layout/footer/message-center/Message.scss → cjs/appui-react/statusfields/message-center/MessageCenterMessage.scss} +8 -17
- package/lib/cjs/appui-react/statusfields/toolassistance/ToolAssistanceField.d.ts.map +1 -1
- package/lib/cjs/appui-react/statusfields/toolassistance/ToolAssistanceField.js +12 -6
- package/lib/cjs/appui-react/statusfields/toolassistance/ToolAssistanceField.js.map +1 -1
- package/lib/cjs/appui-react/syncui/InternalSyncUiEventDispatcher.d.ts +3 -2
- package/lib/cjs/appui-react/syncui/InternalSyncUiEventDispatcher.d.ts.map +1 -1
- package/lib/cjs/appui-react/syncui/InternalSyncUiEventDispatcher.js +4 -2
- package/lib/cjs/appui-react/syncui/InternalSyncUiEventDispatcher.js.map +1 -1
- package/lib/cjs/appui-react/syncui/SyncUiEventDispatcher.d.ts.map +1 -1
- package/lib/cjs/appui-react/syncui/SyncUiEventDispatcher.js +1 -0
- package/lib/cjs/appui-react/syncui/SyncUiEventDispatcher.js.map +1 -1
- package/lib/cjs/appui-react/syncui/UiSyncEvent.d.ts +2 -0
- package/lib/cjs/appui-react/syncui/UiSyncEvent.d.ts.map +1 -1
- package/lib/cjs/appui-react/syncui/UiSyncEvent.js +2 -0
- package/lib/cjs/appui-react/syncui/UiSyncEvent.js.map +1 -1
- package/lib/cjs/appui-react/theme/ThemeManager.js +2 -2
- package/lib/cjs/appui-react/theme/ThemeManager.js.map +1 -1
- package/lib/cjs/appui-react/timeline/SolarTimelineDataProvider.js +1 -2
- package/lib/cjs/appui-react/timeline/SolarTimelineDataProvider.js.map +1 -1
- package/lib/cjs/appui-react/toolbar/ToolbarComposer.d.ts.map +1 -1
- package/lib/cjs/appui-react/toolbar/ToolbarComposer.js +2 -1
- package/lib/cjs/appui-react/toolbar/ToolbarComposer.js.map +1 -1
- package/lib/cjs/appui-react/toolbar/ToolbarHelper.js +7 -5
- package/lib/cjs/appui-react/toolbar/ToolbarHelper.js.map +1 -1
- package/lib/cjs/appui-react/toolbar/useUiItemsProviderToolbarItems.js +3 -4
- package/lib/cjs/appui-react/toolbar/useUiItemsProviderToolbarItems.js.map +1 -1
- package/lib/cjs/appui-react/tools/CoreToolDefinitions.js +10 -17
- package/lib/cjs/appui-react/tools/CoreToolDefinitions.js.map +1 -1
- package/lib/cjs/appui-react/toolsettings/DefaultToolSettingsProvider.js +5 -3
- package/lib/cjs/appui-react/toolsettings/DefaultToolSettingsProvider.js.map +1 -1
- package/lib/cjs/appui-react/toolsettings/InternalToolSettingsManager.d.ts +4 -4
- package/lib/cjs/appui-react/toolsettings/InternalToolSettingsManager.d.ts.map +1 -1
- package/lib/cjs/appui-react/toolsettings/InternalToolSettingsManager.js +4 -5
- package/lib/cjs/appui-react/toolsettings/InternalToolSettingsManager.js.map +1 -1
- package/lib/cjs/appui-react/toolsettings/ToolUiProvider.js +2 -1
- package/lib/cjs/appui-react/toolsettings/ToolUiProvider.js.map +1 -1
- package/lib/cjs/appui-react/ui-items-provider/AbstractUiItemsManager.js +20 -22
- package/lib/cjs/appui-react/ui-items-provider/AbstractUiItemsManager.js.map +1 -1
- package/lib/cjs/appui-react/ui-items-provider/StandardContentToolsUiItemsProvider.js +9 -10
- package/lib/cjs/appui-react/ui-items-provider/StandardContentToolsUiItemsProvider.js.map +1 -1
- package/lib/cjs/appui-react/ui-items-provider/StandardStatusbarUiItemsProvider.js +3 -4
- package/lib/cjs/appui-react/ui-items-provider/StandardStatusbarUiItemsProvider.js.map +1 -1
- package/lib/cjs/appui-react/ui-items-provider/UiItemsManager.d.ts +1 -0
- package/lib/cjs/appui-react/ui-items-provider/UiItemsManager.d.ts.map +1 -1
- package/lib/cjs/appui-react/ui-items-provider/UiItemsManager.js +11 -15
- package/lib/cjs/appui-react/ui-items-provider/UiItemsManager.js.map +1 -1
- package/lib/cjs/appui-react/uiadmin/FrameworkUiAdmin.d.ts +1 -1
- package/lib/cjs/appui-react/uiadmin/FrameworkUiAdmin.d.ts.map +1 -1
- package/lib/cjs/appui-react/uiadmin/FrameworkUiAdmin.js +14 -2
- package/lib/cjs/appui-react/uiadmin/FrameworkUiAdmin.js.map +1 -1
- package/lib/cjs/appui-react/uiprovider/ComponentGenerator.d.ts.map +1 -1
- package/lib/cjs/appui-react/uiprovider/ComponentGenerator.js +7 -9
- package/lib/cjs/appui-react/uiprovider/ComponentGenerator.js.map +1 -1
- package/lib/cjs/appui-react/uiprovider/DefaultDialogGridContainer.d.ts.map +1 -1
- package/lib/cjs/appui-react/uiprovider/DefaultDialogGridContainer.js +1 -2
- package/lib/cjs/appui-react/uiprovider/DefaultDialogGridContainer.js.map +1 -1
- package/lib/cjs/appui-react/uiprovider/DefaultDialogGridContainer.scss +45 -158
- package/lib/cjs/appui-react/uistate/AppUiSettings.d.ts.map +1 -1
- package/lib/cjs/appui-react/uistate/AppUiSettings.js +1 -0
- package/lib/cjs/appui-react/uistate/AppUiSettings.js.map +1 -1
- package/lib/cjs/appui-react/uistate/useUiStateStorage.d.ts.map +1 -1
- package/lib/cjs/appui-react/uistate/useUiStateStorage.js +1 -0
- package/lib/cjs/appui-react/uistate/useUiStateStorage.js.map +1 -1
- package/lib/cjs/appui-react/utils/InternalUiShowHideManager.js +3 -3
- package/lib/cjs/appui-react/utils/InternalUiShowHideManager.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 +12 -11
- package/lib/cjs/appui-react/widget-panels/Content.js.map +1 -1
- package/lib/cjs/appui-react/widget-panels/DockedBar.d.ts +13 -0
- package/lib/cjs/appui-react/widget-panels/DockedBar.d.ts.map +1 -0
- package/lib/cjs/appui-react/widget-panels/DockedBar.js +18 -0
- package/lib/cjs/appui-react/widget-panels/DockedBar.js.map +1 -0
- package/lib/cjs/appui-react/widget-panels/{StatusBar.scss → DockedBar.scss} +10 -4
- package/lib/cjs/appui-react/widget-panels/Frontstage.d.ts.map +1 -1
- package/lib/cjs/appui-react/widget-panels/Frontstage.js +17 -19
- package/lib/cjs/appui-react/widget-panels/Frontstage.js.map +1 -1
- package/lib/cjs/appui-react/widget-panels/ModalFrontstageComposer.js +2 -1
- package/lib/cjs/appui-react/widget-panels/ModalFrontstageComposer.js.map +1 -1
- package/lib/cjs/appui-react/widget-panels/StatusBar.d.ts +0 -1
- package/lib/cjs/appui-react/widget-panels/StatusBar.d.ts.map +1 -1
- package/lib/cjs/appui-react/widget-panels/StatusBar.js +2 -5
- package/lib/cjs/appui-react/widget-panels/StatusBar.js.map +1 -1
- package/lib/cjs/appui-react/widget-panels/Tab.d.ts.map +1 -1
- package/lib/cjs/appui-react/widget-panels/Tab.js +2 -3
- package/lib/cjs/appui-react/widget-panels/Tab.js.map +1 -1
- package/lib/cjs/appui-react/widget-panels/ToolSettings.d.ts +0 -12
- package/lib/cjs/appui-react/widget-panels/ToolSettings.d.ts.map +1 -1
- package/lib/cjs/appui-react/widget-panels/ToolSettings.js +29 -54
- package/lib/cjs/appui-react/widget-panels/ToolSettings.js.map +1 -1
- package/lib/cjs/appui-react/widget-panels/ToolSettings.scss +4 -27
- package/lib/cjs/appui-react/widget-panels/Toolbars.js +2 -3
- package/lib/cjs/appui-react/widget-panels/Toolbars.js.map +1 -1
- package/lib/cjs/appui-react/widgets/BackstageAppButton.d.ts.map +1 -1
- package/lib/cjs/appui-react/widgets/BackstageAppButton.js +2 -1
- package/lib/cjs/appui-react/widgets/BackstageAppButton.js.map +1 -1
- package/lib/cjs/appui-react/widgets/NavigationWidgetComposer.d.ts.map +1 -1
- package/lib/cjs/appui-react/widgets/NavigationWidgetComposer.js +8 -5
- package/lib/cjs/appui-react/widgets/NavigationWidgetComposer.js.map +1 -1
- package/lib/cjs/appui-react/widgets/StatusBarWidgetComposerControl.d.ts +1 -1
- package/lib/cjs/appui-react/widgets/StatusBarWidgetComposerControl.js +1 -1
- package/lib/cjs/appui-react/widgets/StatusBarWidgetComposerControl.js.map +1 -1
- package/lib/cjs/appui-react/widgets/WidgetDef.d.ts +2 -0
- package/lib/cjs/appui-react/widgets/WidgetDef.d.ts.map +1 -1
- package/lib/cjs/appui-react/widgets/WidgetDef.js +10 -11
- package/lib/cjs/appui-react/widgets/WidgetDef.js.map +1 -1
- package/lib/cjs/appui-react/widgets/WidgetHost.js +2 -3
- package/lib/cjs/appui-react/widgets/WidgetHost.js.map +1 -1
- package/lib/cjs/appui-react/widgets/WidgetManager.d.ts +1 -6
- package/lib/cjs/appui-react/widgets/WidgetManager.d.ts.map +1 -1
- package/lib/cjs/appui-react/widgets/WidgetManager.js +2 -8
- package/lib/cjs/appui-react/widgets/WidgetManager.js.map +1 -1
- package/lib/cjs/appui-react/widgets/useWidget.js +1 -1
- package/lib/cjs/appui-react/widgets/useWidget.js.map +1 -1
- package/lib/cjs/appui-react.d.ts +1 -1
- package/lib/cjs/appui-react.d.ts.map +1 -1
- package/lib/cjs/appui-react.js +1 -1
- package/lib/cjs/appui-react.js.map +1 -1
- package/lib/esm/appui-react/UiFramework.d.ts +4 -1
- package/lib/esm/appui-react/UiFramework.d.ts.map +1 -1
- package/lib/esm/appui-react/UiFramework.js +13 -14
- package/lib/esm/appui-react/UiFramework.js.map +1 -1
- package/lib/esm/appui-react/UiFramework.json +345 -0
- package/lib/esm/appui-react/accudraw/AccuDrawDialog.js +1 -1
- package/lib/esm/appui-react/accudraw/AccuDrawDialog.js.map +1 -1
- package/lib/esm/appui-react/accudraw/Calculator.d.ts.map +1 -1
- package/lib/esm/appui-react/accudraw/Calculator.js +3 -1
- package/lib/esm/appui-react/accudraw/Calculator.js.map +1 -1
- package/lib/esm/appui-react/accudraw/CalculatorPopup.d.ts.map +1 -1
- package/lib/esm/appui-react/accudraw/CalculatorPopup.js.map +1 -1
- package/lib/esm/appui-react/accudraw/FrameworkAccuDraw.d.ts +36 -12
- package/lib/esm/appui-react/accudraw/FrameworkAccuDraw.d.ts.map +1 -1
- package/lib/esm/appui-react/accudraw/FrameworkAccuDraw.js +37 -19
- package/lib/esm/appui-react/accudraw/FrameworkAccuDraw.js.map +1 -1
- package/lib/esm/appui-react/backstage/BackstageComposer.d.ts.map +1 -1
- package/lib/esm/appui-react/backstage/BackstageComposer.js +2 -1
- package/lib/esm/appui-react/backstage/BackstageComposer.js.map +1 -1
- package/lib/esm/appui-react/backstage/BackstageComposerItem.js +4 -5
- package/lib/esm/appui-react/backstage/BackstageComposerItem.js.map +1 -1
- package/lib/esm/appui-react/childwindow/ChildWindowConfig.d.ts +8 -6
- package/lib/esm/appui-react/childwindow/ChildWindowConfig.d.ts.map +1 -1
- package/lib/esm/appui-react/childwindow/ChildWindowConfig.js.map +1 -1
- package/lib/esm/appui-react/childwindow/{PopoutWidget.d.ts → ChildWindowWidget.d.ts} +4 -4
- package/lib/esm/appui-react/childwindow/ChildWindowWidget.d.ts.map +1 -0
- package/lib/esm/appui-react/childwindow/{PopoutWidget.js → ChildWindowWidget.js} +9 -3
- package/lib/esm/appui-react/childwindow/ChildWindowWidget.js.map +1 -0
- package/lib/{cjs/appui-react/childwindow/PopoutWidget.scss → esm/appui-react/childwindow/ChildWindowWidget.scss} +0 -1
- package/lib/esm/appui-react/childwindow/InternalChildWindowManager.d.ts +3 -3
- package/lib/esm/appui-react/childwindow/InternalChildWindowManager.d.ts.map +1 -1
- package/lib/esm/appui-react/childwindow/InternalChildWindowManager.js +25 -33
- package/lib/esm/appui-react/childwindow/InternalChildWindowManager.js.map +1 -1
- package/lib/esm/appui-react/configurableui/ConfigurableUiContent.js +1 -1
- package/lib/esm/appui-react/configurableui/ConfigurableUiContent.js.map +1 -1
- package/lib/esm/appui-react/configurableui/InternalConfigurableUiManager.d.ts +2 -12
- package/lib/esm/appui-react/configurableui/InternalConfigurableUiManager.d.ts.map +1 -1
- package/lib/esm/appui-react/configurableui/InternalConfigurableUiManager.js +4 -15
- package/lib/esm/appui-react/configurableui/InternalConfigurableUiManager.js.map +1 -1
- package/lib/esm/appui-react/configurableui/TimeTracker.js +1 -2
- package/lib/esm/appui-react/configurableui/TimeTracker.js.map +1 -1
- package/lib/esm/appui-react/content/ContentControl.d.ts +2 -0
- package/lib/esm/appui-react/content/ContentControl.d.ts.map +1 -1
- package/lib/esm/appui-react/content/ContentControl.js +1 -0
- package/lib/esm/appui-react/content/ContentControl.js.map +1 -1
- package/lib/esm/appui-react/content/ContentLayout.d.ts +2 -0
- package/lib/esm/appui-react/content/ContentLayout.d.ts.map +1 -1
- package/lib/esm/appui-react/content/ContentLayout.js +14 -14
- package/lib/esm/appui-react/content/ContentLayout.js.map +1 -1
- package/lib/esm/appui-react/content/DefaultViewOverlay.js +3 -4
- package/lib/esm/appui-react/content/DefaultViewOverlay.js.map +1 -1
- package/lib/esm/appui-react/content/FloatingViewportContent.d.ts +2 -2
- package/lib/esm/appui-react/content/FloatingViewportContent.d.ts.map +1 -1
- package/lib/esm/appui-react/content/FloatingViewportContent.js +2 -3
- package/lib/esm/appui-react/content/FloatingViewportContent.js.map +1 -1
- package/lib/esm/appui-react/content/IModelViewport.d.ts.map +1 -1
- package/lib/esm/appui-react/content/IModelViewport.js +7 -8
- package/lib/esm/appui-react/content/IModelViewport.js.map +1 -1
- package/lib/esm/appui-react/content/InternalContentLayoutManager.js +1 -2
- package/lib/esm/appui-react/content/InternalContentLayoutManager.js.map +1 -1
- package/lib/esm/appui-react/content/InternalContentViewManager.d.ts +5 -5
- package/lib/esm/appui-react/content/InternalContentViewManager.d.ts.map +1 -1
- package/lib/esm/appui-react/content/InternalContentViewManager.js +6 -8
- package/lib/esm/appui-react/content/InternalContentViewManager.js.map +1 -1
- package/lib/esm/appui-react/content/split-pane/SplitPane.js +10 -12
- package/lib/esm/appui-react/content/split-pane/SplitPane.js.map +1 -1
- package/lib/esm/appui-react/cursor/CursorInformation.d.ts +2 -0
- package/lib/esm/appui-react/cursor/CursorInformation.d.ts.map +1 -1
- package/lib/esm/appui-react/cursor/CursorInformation.js +2 -0
- package/lib/esm/appui-react/cursor/CursorInformation.js.map +1 -1
- package/lib/esm/appui-react/cursor/cursormenu/CursorMenu.d.ts.map +1 -1
- package/lib/esm/appui-react/cursor/cursormenu/CursorMenu.js +3 -3
- package/lib/esm/appui-react/cursor/cursormenu/CursorMenu.js.map +1 -1
- package/lib/esm/appui-react/cursor/cursorpopup/CursorPopup.d.ts.map +1 -1
- package/lib/esm/appui-react/cursor/cursorpopup/CursorPopup.js +1 -0
- package/lib/esm/appui-react/cursor/cursorpopup/CursorPopup.js.map +1 -1
- package/lib/esm/appui-react/cursor/cursorpopup/CursorPopupManager.d.ts +5 -19
- package/lib/esm/appui-react/cursor/cursorpopup/CursorPopupManager.d.ts.map +1 -1
- package/lib/esm/appui-react/cursor/cursorpopup/CursorPopupManager.js +5 -23
- package/lib/esm/appui-react/cursor/cursorpopup/CursorPopupManager.js.map +1 -1
- package/lib/esm/appui-react/cursor/cursorprompt/CursorPrompt.d.ts.map +1 -1
- package/lib/esm/appui-react/cursor/cursorprompt/CursorPrompt.js +1 -0
- package/lib/esm/appui-react/cursor/cursorprompt/CursorPrompt.js.map +1 -1
- package/lib/esm/appui-react/dialog/ContentDialog.d.ts.map +1 -1
- package/lib/esm/appui-react/dialog/ContentDialog.js +8 -7
- package/lib/esm/appui-react/dialog/ContentDialog.js.map +1 -1
- package/lib/esm/appui-react/dialog/DialogManagerBase.d.ts +5 -2
- package/lib/esm/appui-react/dialog/DialogManagerBase.d.ts.map +1 -1
- package/lib/esm/appui-react/dialog/DialogManagerBase.js +6 -3
- package/lib/esm/appui-react/dialog/DialogManagerBase.js.map +1 -1
- package/lib/esm/appui-react/dialog/InternalContentDialogManager.d.ts +3 -2
- package/lib/esm/appui-react/dialog/InternalContentDialogManager.d.ts.map +1 -1
- package/lib/esm/appui-react/dialog/InternalContentDialogManager.js +2 -3
- package/lib/esm/appui-react/dialog/InternalContentDialogManager.js.map +1 -1
- package/lib/esm/appui-react/dialog/InternalModalDialogManager.d.ts +3 -2
- package/lib/esm/appui-react/dialog/InternalModalDialogManager.d.ts.map +1 -1
- package/lib/esm/appui-react/dialog/InternalModalDialogManager.js +2 -2
- package/lib/esm/appui-react/dialog/InternalModalDialogManager.js.map +1 -1
- package/lib/esm/appui-react/dialog/InternalModelessDialogManager.d.ts +3 -2
- package/lib/esm/appui-react/dialog/InternalModelessDialogManager.d.ts.map +1 -1
- package/lib/esm/appui-react/dialog/InternalModelessDialogManager.js +2 -3
- package/lib/esm/appui-react/dialog/InternalModelessDialogManager.js.map +1 -1
- package/lib/esm/appui-react/dialog/ModelessDialog.d.ts.map +1 -1
- package/lib/esm/appui-react/dialog/ModelessDialog.js +3 -1
- package/lib/esm/appui-react/dialog/ModelessDialog.js.map +1 -1
- package/lib/esm/appui-react/dialog/UiDataProvidedDialog.d.ts.map +1 -1
- package/lib/esm/appui-react/dialog/UiDataProvidedDialog.js +3 -1
- package/lib/esm/appui-react/dialog/UiDataProvidedDialog.js.map +1 -1
- package/lib/esm/appui-react/feedback/ElementTooltip.d.ts +2 -0
- package/lib/esm/appui-react/feedback/ElementTooltip.d.ts.map +1 -1
- package/lib/esm/appui-react/feedback/ElementTooltip.js +6 -2
- package/lib/esm/appui-react/feedback/ElementTooltip.js.map +1 -1
- package/lib/esm/appui-react/framework/FrameworkContent.d.ts +5 -0
- package/lib/esm/appui-react/framework/FrameworkContent.d.ts.map +1 -1
- package/lib/esm/appui-react/framework/FrameworkContent.js +4 -0
- package/lib/esm/appui-react/framework/FrameworkContent.js.map +1 -1
- package/lib/esm/appui-react/framework/FrameworkDialogs.d.ts +2 -0
- package/lib/esm/appui-react/framework/FrameworkDialogs.d.ts.map +1 -1
- package/lib/esm/appui-react/framework/FrameworkDialogs.js +4 -0
- package/lib/esm/appui-react/framework/FrameworkDialogs.js.map +1 -1
- package/lib/esm/appui-react/framework/FrameworkFrontstages.d.ts +17 -1
- package/lib/esm/appui-react/framework/FrameworkFrontstages.d.ts.map +1 -1
- package/lib/esm/appui-react/framework/FrameworkFrontstages.js +8 -0
- package/lib/esm/appui-react/framework/FrameworkFrontstages.js.map +1 -1
- package/lib/esm/appui-react/framework/FrameworkToolSettings.d.ts +2 -0
- package/lib/esm/appui-react/framework/FrameworkToolSettings.d.ts.map +1 -1
- package/lib/esm/appui-react/framework/FrameworkToolSettings.js +1 -0
- package/lib/esm/appui-react/framework/FrameworkToolSettings.js.map +1 -1
- package/lib/esm/appui-react/frontstage/FrontstageDef.d.ts.map +1 -1
- package/lib/esm/appui-react/frontstage/FrontstageDef.js +24 -22
- package/lib/esm/appui-react/frontstage/FrontstageDef.js.map +1 -1
- package/lib/esm/appui-react/frontstage/InternalFrontstageManager.d.ts +29 -33
- package/lib/esm/appui-react/frontstage/InternalFrontstageManager.d.ts.map +1 -1
- package/lib/esm/appui-react/frontstage/InternalFrontstageManager.js +46 -51
- package/lib/esm/appui-react/frontstage/InternalFrontstageManager.js.map +1 -1
- package/lib/esm/appui-react/frontstage/ModalSettingsStage.d.ts.map +1 -1
- package/lib/esm/appui-react/frontstage/ModalSettingsStage.js +8 -6
- package/lib/esm/appui-react/frontstage/ModalSettingsStage.js.map +1 -1
- package/lib/esm/appui-react/frontstage/StandardFrontstageProvider.d.ts +4 -4
- package/lib/esm/appui-react/frontstage/StandardFrontstageProvider.d.ts.map +1 -1
- package/lib/esm/appui-react/frontstage/StandardFrontstageProvider.js +4 -5
- package/lib/esm/appui-react/frontstage/StandardFrontstageProvider.js.map +1 -1
- package/lib/esm/appui-react/hooks/useActiveIModelConnection.d.ts.map +1 -1
- package/lib/esm/appui-react/hooks/useActiveIModelConnection.js +1 -0
- package/lib/esm/appui-react/hooks/useActiveIModelConnection.js.map +1 -1
- package/lib/esm/appui-react/hooks/useActiveStageId.js +2 -1
- package/lib/esm/appui-react/hooks/useActiveStageId.js.map +1 -1
- package/lib/esm/appui-react/hooks/useActiveViewport.d.ts.map +1 -1
- package/lib/esm/appui-react/hooks/useActiveViewport.js +2 -0
- package/lib/esm/appui-react/hooks/useActiveViewport.js.map +1 -1
- package/lib/esm/appui-react/hooks/useAnalysisAnimationDataProvider.js +7 -11
- package/lib/esm/appui-react/hooks/useAnalysisAnimationDataProvider.js.map +1 -1
- package/lib/esm/appui-react/hooks/useScheduleAnimationDataProvider.js +7 -11
- package/lib/esm/appui-react/hooks/useScheduleAnimationDataProvider.js.map +1 -1
- package/lib/esm/appui-react/hooks/useSolarDataProvider.js +8 -13
- package/lib/esm/appui-react/hooks/useSolarDataProvider.js.map +1 -1
- package/lib/esm/appui-react/hooks/useTranslation.d.ts +7 -0
- package/lib/esm/appui-react/hooks/useTranslation.d.ts.map +1 -0
- package/lib/esm/appui-react/hooks/useTranslation.js +25 -0
- package/lib/esm/appui-react/hooks/useTranslation.js.map +1 -0
- package/lib/esm/appui-react/hooks/useUiVisibility.d.ts.map +1 -1
- package/lib/esm/appui-react/hooks/useUiVisibility.js +1 -0
- package/lib/esm/appui-react/hooks/useUiVisibility.js.map +1 -1
- package/lib/esm/appui-react/keyboardshortcut/InternalKeyboardShortcut.d.ts.map +1 -1
- package/lib/esm/appui-react/keyboardshortcut/InternalKeyboardShortcut.js +1 -0
- package/lib/esm/appui-react/keyboardshortcut/InternalKeyboardShortcut.js.map +1 -1
- package/lib/esm/appui-react/keyboardshortcut/KeyboardShortcutMenu.d.ts +1 -0
- package/lib/esm/appui-react/keyboardshortcut/KeyboardShortcutMenu.d.ts.map +1 -1
- package/lib/esm/appui-react/keyboardshortcut/KeyboardShortcutMenu.js +2 -1
- package/lib/esm/appui-react/keyboardshortcut/KeyboardShortcutMenu.js.map +1 -1
- package/lib/esm/appui-react/layout/StandardLayout.scss +1 -1
- package/lib/esm/appui-react/layout/base/DragManager.js +1 -2
- package/lib/esm/appui-react/layout/base/DragManager.js.map +1 -1
- package/lib/esm/appui-react/layout/base/NineZone.js +1 -1
- package/lib/esm/appui-react/layout/base/NineZone.js.map +1 -1
- package/lib/esm/appui-react/layout/footer/_variables.scss +0 -2
- package/lib/esm/appui-react/layout/outline/TabOutline.js +1 -1
- package/lib/esm/appui-react/layout/outline/TabOutline.js.map +1 -1
- package/lib/esm/appui-react/layout/outline/WidgetOutline.js +1 -1
- package/lib/esm/appui-react/layout/outline/WidgetOutline.js.map +1 -1
- package/lib/esm/appui-react/layout/state/NineZoneAction.d.ts +3 -2
- package/lib/esm/appui-react/layout/state/NineZoneAction.d.ts.map +1 -1
- package/lib/esm/appui-react/layout/state/NineZoneAction.js.map +1 -1
- package/lib/esm/appui-react/layout/state/NineZoneStateReducer.d.ts.map +1 -1
- package/lib/esm/appui-react/layout/state/NineZoneStateReducer.js +15 -16
- package/lib/esm/appui-react/layout/state/NineZoneStateReducer.js.map +1 -1
- package/lib/esm/appui-react/layout/state/PanelState.d.ts +2 -5
- package/lib/esm/appui-react/layout/state/PanelState.d.ts.map +1 -1
- package/lib/esm/appui-react/layout/state/PanelState.js.map +1 -1
- package/lib/esm/appui-react/layout/state/internal/NineZoneStateHelpers.js +1 -2
- package/lib/esm/appui-react/layout/state/internal/NineZoneStateHelpers.js.map +1 -1
- package/lib/esm/appui-react/layout/state/internal/PanelStateHelpers.d.ts +4 -3
- package/lib/esm/appui-react/layout/state/internal/PanelStateHelpers.d.ts.map +1 -1
- package/lib/esm/appui-react/layout/state/internal/PanelStateHelpers.js +10 -8
- package/lib/esm/appui-react/layout/state/internal/PanelStateHelpers.js.map +1 -1
- package/lib/esm/appui-react/layout/state/internal/TabStateHelpers.js +2 -3
- package/lib/esm/appui-react/layout/state/internal/TabStateHelpers.js.map +1 -1
- package/lib/esm/appui-react/layout/state/internal/WidgetStateHelpers.js +4 -4
- package/lib/esm/appui-react/layout/state/internal/WidgetStateHelpers.js.map +1 -1
- package/lib/esm/appui-react/layout/target/TitleBarTarget.js +1 -1
- package/lib/esm/appui-react/layout/target/TitleBarTarget.js.map +1 -1
- package/lib/esm/appui-react/layout/tool-settings/Docked.js +2 -2
- package/lib/esm/appui-react/layout/tool-settings/Docked.js.map +1 -1
- package/lib/esm/appui-react/layout/tool-settings/Docked.scss +3 -13
- package/lib/esm/appui-react/layout/tool-settings/Handle.scss +2 -2
- package/lib/esm/appui-react/layout/tool-settings/Setting.js +1 -1
- package/lib/esm/appui-react/layout/tool-settings/Setting.js.map +1 -1
- package/lib/esm/appui-react/layout/tool-settings/Setting.scss +1 -2
- package/lib/esm/appui-react/layout/widget/Button.d.ts +3 -2
- package/lib/esm/appui-react/layout/widget/Button.d.ts.map +1 -1
- package/lib/esm/appui-react/layout/widget/Button.js.map +1 -1
- package/lib/esm/appui-react/layout/widget/ContentContainer.js +1 -1
- package/lib/esm/appui-react/layout/widget/ContentContainer.js.map +1 -1
- package/lib/esm/appui-react/layout/widget/ContentManager.d.ts +3 -3
- package/lib/esm/appui-react/layout/widget/ContentManager.d.ts.map +1 -1
- package/lib/esm/appui-react/layout/widget/ContentManager.js +7 -1
- package/lib/esm/appui-react/layout/widget/ContentManager.js.map +1 -1
- package/lib/esm/appui-react/layout/widget/ContentRenderer.js +2 -2
- package/lib/esm/appui-react/layout/widget/ContentRenderer.js.map +1 -1
- package/lib/esm/appui-react/layout/widget/FloatingTab.js +5 -6
- package/lib/esm/appui-react/layout/widget/FloatingTab.js.map +1 -1
- package/lib/esm/appui-react/layout/widget/FloatingWidget.js +2 -4
- package/lib/esm/appui-react/layout/widget/FloatingWidget.js.map +1 -1
- package/lib/esm/appui-react/layout/widget/PanelWidget.js +1 -1
- package/lib/esm/appui-react/layout/widget/PanelWidget.js.map +1 -1
- package/lib/esm/appui-react/layout/widget/Tab.js +4 -4
- package/lib/esm/appui-react/layout/widget/Tab.js.map +1 -1
- package/lib/esm/appui-react/layout/widget/Widget.js +2 -2
- package/lib/esm/appui-react/layout/widget/Widget.js.map +1 -1
- package/lib/esm/appui-react/layout/widget/useIsToolSettingsTab.js +1 -1
- package/lib/esm/appui-react/layout/widget/useIsToolSettingsTab.js.map +1 -1
- package/lib/esm/appui-react/layout/widget-panels/PanelSections.js +5 -8
- package/lib/esm/appui-react/layout/widget-panels/PanelSections.js.map +1 -1
- package/lib/esm/appui-react/layout/widget-panels/useAnimatePanel.js +1 -2
- package/lib/esm/appui-react/layout/widget-panels/useAnimatePanel.js.map +1 -1
- package/lib/esm/appui-react/messages/InputField.js +2 -1
- package/lib/esm/appui-react/messages/InputField.js.map +1 -1
- package/lib/esm/appui-react/messages/MessageManager.d.ts +12 -0
- package/lib/esm/appui-react/messages/MessageManager.d.ts.map +1 -1
- package/lib/esm/appui-react/messages/MessageManager.js +18 -10
- package/lib/esm/appui-react/messages/MessageManager.js.map +1 -1
- package/lib/esm/appui-react/messages/MessageRenderer.js +8 -9
- package/lib/esm/appui-react/messages/MessageRenderer.js.map +1 -1
- package/lib/esm/appui-react/messages/Pointer.d.ts +2 -0
- package/lib/esm/appui-react/messages/Pointer.d.ts.map +1 -1
- package/lib/esm/appui-react/messages/Pointer.js +7 -9
- package/lib/esm/appui-react/messages/Pointer.js.map +1 -1
- package/lib/esm/appui-react/navigationaids/NavigationAidControl.d.ts +2 -0
- package/lib/esm/appui-react/navigationaids/NavigationAidControl.d.ts.map +1 -1
- package/lib/esm/appui-react/navigationaids/NavigationAidControl.js +1 -0
- package/lib/esm/appui-react/navigationaids/NavigationAidControl.js.map +1 -1
- package/lib/esm/appui-react/navigationaids/SheetNavigationAid.d.ts.map +1 -1
- package/lib/esm/appui-react/navigationaids/SheetNavigationAid.js +2 -0
- package/lib/esm/appui-react/navigationaids/SheetNavigationAid.js.map +1 -1
- package/lib/esm/appui-react/navigationaids/SheetsModalFrontstage.d.ts +2 -0
- package/lib/esm/appui-react/navigationaids/SheetsModalFrontstage.d.ts.map +1 -1
- package/lib/esm/appui-react/navigationaids/SheetsModalFrontstage.js +11 -3
- package/lib/esm/appui-react/navigationaids/SheetsModalFrontstage.js.map +1 -1
- package/lib/esm/appui-react/pickers/ListPicker.d.ts.map +1 -1
- package/lib/esm/appui-react/pickers/ListPicker.js +3 -1
- package/lib/esm/appui-react/pickers/ListPicker.js.map +1 -1
- package/lib/esm/appui-react/pickers/ViewSelector.d.ts +2 -0
- package/lib/esm/appui-react/pickers/ViewSelector.d.ts.map +1 -1
- package/lib/esm/appui-react/pickers/ViewSelector.js +9 -14
- package/lib/esm/appui-react/pickers/ViewSelector.js.map +1 -1
- package/lib/esm/appui-react/popup/CardPopup.d.ts.map +1 -1
- package/lib/esm/appui-react/popup/CardPopup.js +2 -3
- package/lib/esm/appui-react/popup/CardPopup.js.map +1 -1
- package/lib/esm/appui-react/popup/ComponentPopup.d.ts.map +1 -1
- package/lib/esm/appui-react/popup/ComponentPopup.js +1 -1
- package/lib/esm/appui-react/popup/ComponentPopup.js.map +1 -1
- package/lib/esm/appui-react/popup/HTMLElementPopup.d.ts.map +1 -1
- package/lib/esm/appui-react/popup/HTMLElementPopup.js.map +1 -1
- package/lib/esm/appui-react/popup/InputEditorPopup.d.ts.map +1 -1
- package/lib/esm/appui-react/popup/InputEditorPopup.js.map +1 -1
- package/lib/esm/appui-react/popup/KeyinPalettePanel.d.ts.map +1 -1
- package/lib/esm/appui-react/popup/KeyinPalettePanel.js +8 -5
- package/lib/esm/appui-react/popup/KeyinPalettePanel.js.map +1 -1
- package/lib/esm/appui-react/popup/KeyinPalettePopup.d.ts.map +1 -1
- package/lib/esm/appui-react/popup/KeyinPalettePopup.js +1 -1
- package/lib/esm/appui-react/popup/KeyinPalettePopup.js.map +1 -1
- package/lib/esm/appui-react/popup/PopupManager.d.ts +5 -1
- package/lib/esm/appui-react/popup/PopupManager.d.ts.map +1 -1
- package/lib/esm/appui-react/popup/PopupManager.js +24 -24
- package/lib/esm/appui-react/popup/PopupManager.js.map +1 -1
- package/lib/esm/appui-react/popup/PositionPopup.d.ts.map +1 -1
- package/lib/esm/appui-react/popup/PositionPopup.js +1 -0
- package/lib/esm/appui-react/popup/PositionPopup.js.map +1 -1
- package/lib/esm/appui-react/popup/ToolSettingsPopup.d.ts.map +1 -1
- package/lib/esm/appui-react/popup/ToolSettingsPopup.js.map +1 -1
- package/lib/esm/appui-react/popup/ToolbarPopup.d.ts.map +1 -1
- package/lib/esm/appui-react/popup/ToolbarPopup.js +2 -3
- package/lib/esm/appui-react/popup/ToolbarPopup.js.map +1 -1
- package/lib/esm/appui-react/preview/PreviewFeatures.d.ts +7 -0
- package/lib/esm/appui-react/preview/PreviewFeatures.d.ts.map +1 -1
- package/lib/esm/appui-react/preview/PreviewFeatures.js +8 -6
- package/lib/esm/appui-react/preview/PreviewFeatures.js.map +1 -1
- package/lib/esm/appui-react/preview/enable-maximized-widget/useMaximizedWidget.js +2 -2
- package/lib/esm/appui-react/preview/enable-maximized-widget/useMaximizedWidget.js.map +1 -1
- package/lib/esm/appui-react/preview/horizontal-panel-alignment/PreviewHorizontalPanelAlign.js +1 -1
- package/lib/esm/appui-react/preview/horizontal-panel-alignment/PreviewHorizontalPanelAlign.js.map +1 -1
- package/lib/esm/appui-react/preview/new-toolbars/Badge.d.ts.map +1 -1
- package/lib/esm/appui-react/preview/new-toolbars/Badge.js +3 -3
- package/lib/esm/appui-react/preview/new-toolbars/Badge.js.map +1 -1
- package/lib/esm/appui-react/preview/new-toolbars/CustomItem.js +1 -1
- package/lib/esm/appui-react/preview/new-toolbars/CustomItem.js.map +1 -1
- package/lib/esm/appui-react/preview/new-toolbars/GroupItem.js +2 -2
- package/lib/esm/appui-react/preview/new-toolbars/GroupItem.js.map +1 -1
- package/lib/esm/appui-react/preview/new-toolbars/Item.js +1 -1
- package/lib/esm/appui-react/preview/new-toolbars/Item.js.map +1 -1
- package/lib/esm/appui-react/preview/new-toolbars/OverflowButton.js +1 -1
- package/lib/esm/appui-react/preview/new-toolbars/OverflowButton.js.map +1 -1
- package/lib/esm/appui-react/preview/new-toolbars/ToolGroup.js +2 -3
- package/lib/esm/appui-react/preview/new-toolbars/ToolGroup.js.map +1 -1
- package/lib/esm/appui-react/preview/new-toolbars/useOverflow.js.map +1 -1
- package/lib/esm/appui-react/preview/reparent-popout-widgets/PopoutThemeProvider.d.ts +11 -0
- package/lib/esm/appui-react/preview/reparent-popout-widgets/PopoutThemeProvider.d.ts.map +1 -0
- package/lib/esm/appui-react/preview/reparent-popout-widgets/PopoutThemeProvider.js +36 -0
- package/lib/esm/appui-react/preview/reparent-popout-widgets/PopoutThemeProvider.js.map +1 -0
- package/lib/{cjs/appui-react/layout/footer/message-center/_variables.scss → esm/appui-react/preview/reparent-popout-widgets/PopoutThemeProvider.scss} +3 -1
- package/lib/esm/appui-react/preview/reparent-popout-widgets/PopoutWidget.d.ts +7 -0
- package/lib/esm/appui-react/preview/reparent-popout-widgets/PopoutWidget.d.ts.map +1 -0
- package/lib/esm/appui-react/preview/reparent-popout-widgets/PopoutWidget.js +21 -0
- package/lib/esm/appui-react/preview/reparent-popout-widgets/PopoutWidget.js.map +1 -0
- package/lib/esm/appui-react/preview/reparent-popout-widgets/PopoutWidgets.d.ts +9 -0
- package/lib/esm/appui-react/preview/reparent-popout-widgets/PopoutWidgets.d.ts.map +1 -0
- package/lib/esm/appui-react/preview/reparent-popout-widgets/PopoutWidgets.js +22 -0
- package/lib/esm/appui-react/preview/reparent-popout-widgets/PopoutWidgets.js.map +1 -0
- package/lib/esm/appui-react/preview/reparent-popout-widgets/ReparentedPopoutWidget.d.ts +13 -0
- package/lib/esm/appui-react/preview/reparent-popout-widgets/ReparentedPopoutWidget.d.ts.map +1 -0
- package/lib/esm/appui-react/preview/reparent-popout-widgets/ReparentedPopoutWidget.js +41 -0
- package/lib/esm/appui-react/preview/reparent-popout-widgets/ReparentedPopoutWidget.js.map +1 -0
- package/lib/esm/appui-react/preview/reparent-popout-widgets/ReparentedPopoutWidget.scss +8 -0
- package/lib/esm/appui-react/preview/reparent-popout-widgets/usePopoutsStore.d.ts +18 -0
- package/lib/esm/appui-react/preview/reparent-popout-widgets/usePopoutsStore.d.ts.map +1 -0
- package/lib/esm/appui-react/preview/reparent-popout-widgets/usePopoutsStore.js +25 -0
- package/lib/esm/appui-react/preview/reparent-popout-widgets/usePopoutsStore.js.map +1 -0
- package/lib/esm/appui-react/preview/reparent-popout-widgets/useReparentPopoutWidget.d.ts +4 -0
- package/lib/esm/appui-react/preview/reparent-popout-widgets/useReparentPopoutWidget.d.ts.map +1 -0
- package/lib/esm/appui-react/preview/reparent-popout-widgets/useReparentPopoutWidget.js +14 -0
- package/lib/esm/appui-react/preview/reparent-popout-widgets/useReparentPopoutWidget.js.map +1 -0
- package/lib/esm/appui-react/preview/widget-action-dropdown/MoreButton.js +1 -2
- package/lib/esm/appui-react/preview/widget-action-dropdown/MoreButton.js.map +1 -1
- package/lib/esm/appui-react/selection/SelectionContextItemDef.js +2 -2
- 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 +9 -4
- package/lib/esm/appui-react/settings/quantityformatting/QuantityFormat.js.map +1 -1
- package/lib/esm/appui-react/settings/quantityformatting/UnitSystemSelector.js +1 -1
- package/lib/esm/appui-react/settings/quantityformatting/UnitSystemSelector.js.map +1 -1
- package/lib/esm/appui-react/settings/ui/UiSettingsPage.d.ts.map +1 -1
- package/lib/esm/appui-react/settings/ui/UiSettingsPage.js +2 -1
- package/lib/esm/appui-react/settings/ui/UiSettingsPage.js.map +1 -1
- package/lib/esm/appui-react/stagepanels/StagePanelConfig.d.ts +23 -3
- package/lib/esm/appui-react/stagepanels/StagePanelConfig.d.ts.map +1 -1
- package/lib/esm/appui-react/stagepanels/StagePanelConfig.js.map +1 -1
- package/lib/esm/appui-react/stagepanels/StagePanelDef.d.ts +10 -7
- package/lib/esm/appui-react/stagepanels/StagePanelDef.d.ts.map +1 -1
- package/lib/esm/appui-react/stagepanels/StagePanelDef.js +37 -25
- package/lib/esm/appui-react/stagepanels/StagePanelDef.js.map +1 -1
- package/lib/esm/appui-react/statusbar/Indicator.js +1 -2
- package/lib/esm/appui-react/statusbar/Indicator.js.map +1 -1
- package/lib/esm/appui-react/statusbar/Overflow.js +1 -1
- package/lib/esm/appui-react/statusbar/Overflow.js.map +1 -1
- package/lib/esm/appui-react/statusbar/StatusBar.d.ts +1 -3
- package/lib/esm/appui-react/statusbar/StatusBar.d.ts.map +1 -1
- package/lib/esm/appui-react/statusbar/StatusBar.js +21 -13
- package/lib/esm/appui-react/statusbar/StatusBar.js.map +1 -1
- package/lib/esm/appui-react/statusbar/StatusBar.scss +18 -0
- package/lib/esm/appui-react/statusbar/StatusBarComposer.d.ts.map +1 -1
- package/lib/esm/appui-react/statusbar/StatusBarComposer.js +1 -0
- package/lib/esm/appui-react/statusbar/StatusBarComposer.js.map +1 -1
- package/lib/esm/appui-react/statusfields/ActivityCenter.d.ts.map +1 -1
- package/lib/esm/appui-react/statusfields/ActivityCenter.js +4 -2
- package/lib/esm/appui-react/statusfields/ActivityCenter.js.map +1 -1
- package/lib/esm/appui-react/statusfields/SectionsField.js +1 -1
- package/lib/esm/appui-react/statusfields/SectionsField.js.map +1 -1
- package/lib/esm/appui-react/statusfields/SelectionScope.js +3 -3
- package/lib/esm/appui-react/statusfields/SelectionScope.js.map +1 -1
- package/lib/esm/appui-react/statusfields/SelectionScope.scss +2 -2
- package/lib/esm/appui-react/statusfields/SnapMode.js +1 -1
- package/lib/esm/appui-react/statusfields/SnapMode.js.map +1 -1
- package/lib/esm/appui-react/statusfields/message-center/MessageCenterField.d.ts +11 -0
- package/lib/esm/appui-react/statusfields/message-center/MessageCenterField.d.ts.map +1 -0
- package/lib/esm/appui-react/statusfields/message-center/MessageCenterField.js +87 -0
- package/lib/esm/appui-react/statusfields/message-center/MessageCenterField.js.map +1 -0
- package/lib/esm/appui-react/statusfields/message-center/MessageCenterField.scss +25 -0
- package/lib/esm/appui-react/statusfields/message-center/MessageCenterMessage.d.ts +26 -0
- package/lib/esm/appui-react/statusfields/message-center/MessageCenterMessage.d.ts.map +1 -0
- package/lib/esm/appui-react/statusfields/message-center/MessageCenterMessage.js +24 -0
- package/lib/esm/appui-react/statusfields/message-center/MessageCenterMessage.js.map +1 -0
- package/lib/{cjs/appui-react/layout/footer/message-center/Message.scss → esm/appui-react/statusfields/message-center/MessageCenterMessage.scss} +8 -17
- package/lib/esm/appui-react/statusfields/toolassistance/ToolAssistanceField.d.ts.map +1 -1
- package/lib/esm/appui-react/statusfields/toolassistance/ToolAssistanceField.js +13 -7
- package/lib/esm/appui-react/statusfields/toolassistance/ToolAssistanceField.js.map +1 -1
- package/lib/esm/appui-react/syncui/InternalSyncUiEventDispatcher.d.ts +3 -2
- package/lib/esm/appui-react/syncui/InternalSyncUiEventDispatcher.d.ts.map +1 -1
- package/lib/esm/appui-react/syncui/InternalSyncUiEventDispatcher.js +4 -2
- package/lib/esm/appui-react/syncui/InternalSyncUiEventDispatcher.js.map +1 -1
- package/lib/esm/appui-react/syncui/SyncUiEventDispatcher.d.ts.map +1 -1
- package/lib/esm/appui-react/syncui/SyncUiEventDispatcher.js +1 -0
- package/lib/esm/appui-react/syncui/SyncUiEventDispatcher.js.map +1 -1
- package/lib/esm/appui-react/syncui/UiSyncEvent.d.ts +2 -0
- package/lib/esm/appui-react/syncui/UiSyncEvent.d.ts.map +1 -1
- package/lib/esm/appui-react/syncui/UiSyncEvent.js +2 -0
- package/lib/esm/appui-react/syncui/UiSyncEvent.js.map +1 -1
- package/lib/esm/appui-react/theme/ThemeManager.js +2 -2
- package/lib/esm/appui-react/theme/ThemeManager.js.map +1 -1
- package/lib/esm/appui-react/timeline/SolarTimelineDataProvider.js +1 -2
- package/lib/esm/appui-react/timeline/SolarTimelineDataProvider.js.map +1 -1
- package/lib/esm/appui-react/toolbar/ToolbarComposer.d.ts.map +1 -1
- package/lib/esm/appui-react/toolbar/ToolbarComposer.js +3 -2
- package/lib/esm/appui-react/toolbar/ToolbarComposer.js.map +1 -1
- package/lib/esm/appui-react/toolbar/ToolbarHelper.js +7 -5
- package/lib/esm/appui-react/toolbar/ToolbarHelper.js.map +1 -1
- package/lib/esm/appui-react/toolbar/useUiItemsProviderToolbarItems.js +3 -4
- package/lib/esm/appui-react/toolbar/useUiItemsProviderToolbarItems.js.map +1 -1
- package/lib/esm/appui-react/tools/CoreToolDefinitions.js +10 -17
- package/lib/esm/appui-react/tools/CoreToolDefinitions.js.map +1 -1
- package/lib/esm/appui-react/toolsettings/DefaultToolSettingsProvider.js +5 -3
- package/lib/esm/appui-react/toolsettings/DefaultToolSettingsProvider.js.map +1 -1
- package/lib/esm/appui-react/toolsettings/InternalToolSettingsManager.d.ts +4 -4
- package/lib/esm/appui-react/toolsettings/InternalToolSettingsManager.d.ts.map +1 -1
- package/lib/esm/appui-react/toolsettings/InternalToolSettingsManager.js +4 -5
- package/lib/esm/appui-react/toolsettings/InternalToolSettingsManager.js.map +1 -1
- package/lib/esm/appui-react/toolsettings/ToolUiProvider.js +2 -1
- package/lib/esm/appui-react/toolsettings/ToolUiProvider.js.map +1 -1
- package/lib/esm/appui-react/ui-items-provider/AbstractUiItemsManager.js +20 -22
- package/lib/esm/appui-react/ui-items-provider/AbstractUiItemsManager.js.map +1 -1
- package/lib/esm/appui-react/ui-items-provider/StandardContentToolsUiItemsProvider.js +9 -10
- package/lib/esm/appui-react/ui-items-provider/StandardContentToolsUiItemsProvider.js.map +1 -1
- package/lib/esm/appui-react/ui-items-provider/StandardStatusbarUiItemsProvider.js +2 -3
- package/lib/esm/appui-react/ui-items-provider/StandardStatusbarUiItemsProvider.js.map +1 -1
- package/lib/esm/appui-react/ui-items-provider/UiItemsManager.d.ts +1 -0
- package/lib/esm/appui-react/ui-items-provider/UiItemsManager.d.ts.map +1 -1
- package/lib/esm/appui-react/ui-items-provider/UiItemsManager.js +11 -15
- package/lib/esm/appui-react/ui-items-provider/UiItemsManager.js.map +1 -1
- package/lib/esm/appui-react/uiadmin/FrameworkUiAdmin.d.ts +1 -1
- package/lib/esm/appui-react/uiadmin/FrameworkUiAdmin.d.ts.map +1 -1
- package/lib/esm/appui-react/uiadmin/FrameworkUiAdmin.js +14 -2
- package/lib/esm/appui-react/uiadmin/FrameworkUiAdmin.js.map +1 -1
- package/lib/esm/appui-react/uiprovider/ComponentGenerator.d.ts.map +1 -1
- package/lib/esm/appui-react/uiprovider/ComponentGenerator.js +7 -9
- package/lib/esm/appui-react/uiprovider/ComponentGenerator.js.map +1 -1
- package/lib/esm/appui-react/uiprovider/DefaultDialogGridContainer.d.ts.map +1 -1
- package/lib/esm/appui-react/uiprovider/DefaultDialogGridContainer.js +1 -2
- package/lib/esm/appui-react/uiprovider/DefaultDialogGridContainer.js.map +1 -1
- package/lib/esm/appui-react/uiprovider/DefaultDialogGridContainer.scss +45 -158
- package/lib/esm/appui-react/uistate/AppUiSettings.d.ts.map +1 -1
- package/lib/esm/appui-react/uistate/AppUiSettings.js +1 -0
- package/lib/esm/appui-react/uistate/AppUiSettings.js.map +1 -1
- package/lib/esm/appui-react/uistate/useUiStateStorage.d.ts.map +1 -1
- package/lib/esm/appui-react/uistate/useUiStateStorage.js +1 -0
- package/lib/esm/appui-react/uistate/useUiStateStorage.js.map +1 -1
- package/lib/esm/appui-react/utils/InternalUiShowHideManager.js +3 -3
- package/lib/esm/appui-react/utils/InternalUiShowHideManager.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 +12 -11
- package/lib/esm/appui-react/widget-panels/Content.js.map +1 -1
- package/lib/esm/appui-react/widget-panels/DockedBar.d.ts +13 -0
- package/lib/esm/appui-react/widget-panels/DockedBar.d.ts.map +1 -0
- package/lib/esm/appui-react/widget-panels/DockedBar.js +14 -0
- package/lib/esm/appui-react/widget-panels/DockedBar.js.map +1 -0
- package/lib/esm/appui-react/widget-panels/{StatusBar.scss → DockedBar.scss} +10 -4
- package/lib/esm/appui-react/widget-panels/Frontstage.d.ts.map +1 -1
- package/lib/esm/appui-react/widget-panels/Frontstage.js +17 -19
- package/lib/esm/appui-react/widget-panels/Frontstage.js.map +1 -1
- package/lib/esm/appui-react/widget-panels/ModalFrontstageComposer.js +2 -1
- package/lib/esm/appui-react/widget-panels/ModalFrontstageComposer.js.map +1 -1
- package/lib/esm/appui-react/widget-panels/StatusBar.d.ts +0 -1
- package/lib/esm/appui-react/widget-panels/StatusBar.d.ts.map +1 -1
- package/lib/esm/appui-react/widget-panels/StatusBar.js +2 -5
- package/lib/esm/appui-react/widget-panels/StatusBar.js.map +1 -1
- package/lib/esm/appui-react/widget-panels/Tab.d.ts.map +1 -1
- package/lib/esm/appui-react/widget-panels/Tab.js +3 -4
- package/lib/esm/appui-react/widget-panels/Tab.js.map +1 -1
- package/lib/esm/appui-react/widget-panels/ToolSettings.d.ts +0 -12
- package/lib/esm/appui-react/widget-panels/ToolSettings.d.ts.map +1 -1
- package/lib/esm/appui-react/widget-panels/ToolSettings.js +28 -52
- package/lib/esm/appui-react/widget-panels/ToolSettings.js.map +1 -1
- package/lib/esm/appui-react/widget-panels/ToolSettings.scss +4 -27
- package/lib/esm/appui-react/widget-panels/Toolbars.js +2 -3
- package/lib/esm/appui-react/widget-panels/Toolbars.js.map +1 -1
- package/lib/esm/appui-react/widgets/BackstageAppButton.d.ts.map +1 -1
- package/lib/esm/appui-react/widgets/BackstageAppButton.js +2 -1
- package/lib/esm/appui-react/widgets/BackstageAppButton.js.map +1 -1
- package/lib/esm/appui-react/widgets/NavigationWidgetComposer.d.ts.map +1 -1
- package/lib/esm/appui-react/widgets/NavigationWidgetComposer.js +8 -5
- package/lib/esm/appui-react/widgets/NavigationWidgetComposer.js.map +1 -1
- package/lib/esm/appui-react/widgets/StatusBarWidgetComposerControl.d.ts +1 -1
- package/lib/esm/appui-react/widgets/StatusBarWidgetComposerControl.js +1 -1
- package/lib/esm/appui-react/widgets/StatusBarWidgetComposerControl.js.map +1 -1
- package/lib/esm/appui-react/widgets/WidgetDef.d.ts +2 -0
- package/lib/esm/appui-react/widgets/WidgetDef.d.ts.map +1 -1
- package/lib/esm/appui-react/widgets/WidgetDef.js +10 -11
- package/lib/esm/appui-react/widgets/WidgetDef.js.map +1 -1
- package/lib/esm/appui-react/widgets/WidgetHost.js +2 -3
- package/lib/esm/appui-react/widgets/WidgetHost.js.map +1 -1
- package/lib/esm/appui-react/widgets/WidgetManager.d.ts +1 -6
- package/lib/esm/appui-react/widgets/WidgetManager.d.ts.map +1 -1
- package/lib/esm/appui-react/widgets/WidgetManager.js +1 -6
- package/lib/esm/appui-react/widgets/WidgetManager.js.map +1 -1
- package/lib/esm/appui-react/widgets/useWidget.js +1 -1
- package/lib/esm/appui-react/widgets/useWidget.js.map +1 -1
- package/lib/esm/appui-react.d.ts +1 -1
- package/lib/esm/appui-react.d.ts.map +1 -1
- package/lib/esm/appui-react.js +1 -1
- package/lib/esm/appui-react.js.map +1 -1
- package/lib/public/locales/en/UiFramework.json +1 -1
- package/package.json +13 -39
- package/lib/cjs/appui-react/childwindow/PopoutWidget.d.ts.map +0 -1
- package/lib/cjs/appui-react/childwindow/PopoutWidget.js.map +0 -1
- package/lib/cjs/appui-react/layout/footer/Footer.d.ts +0 -33
- package/lib/cjs/appui-react/layout/footer/Footer.d.ts.map +0 -1
- package/lib/cjs/appui-react/layout/footer/Footer.js +0 -30
- package/lib/cjs/appui-react/layout/footer/Footer.js.map +0 -1
- package/lib/cjs/appui-react/layout/footer/Footer.scss +0 -61
- package/lib/cjs/appui-react/layout/footer/message-center/Dialog.d.ts +0 -29
- package/lib/cjs/appui-react/layout/footer/message-center/Dialog.d.ts.map +0 -1
- package/lib/cjs/appui-react/layout/footer/message-center/Dialog.js +0 -32
- package/lib/cjs/appui-react/layout/footer/message-center/Dialog.js.map +0 -1
- package/lib/cjs/appui-react/layout/footer/message-center/Dialog.scss +0 -64
- package/lib/cjs/appui-react/layout/footer/message-center/Indicator.d.ts +0 -29
- package/lib/cjs/appui-react/layout/footer/message-center/Indicator.d.ts.map +0 -1
- package/lib/cjs/appui-react/layout/footer/message-center/Indicator.js +0 -33
- package/lib/cjs/appui-react/layout/footer/message-center/Indicator.js.map +0 -1
- package/lib/cjs/appui-react/layout/footer/message-center/Indicator.scss +0 -106
- package/lib/cjs/appui-react/layout/footer/message-center/Message.d.ts +0 -22
- package/lib/cjs/appui-react/layout/footer/message-center/Message.d.ts.map +0 -1
- package/lib/cjs/appui-react/layout/footer/message-center/Message.js +0 -26
- package/lib/cjs/appui-react/layout/footer/message-center/Message.js.map +0 -1
- package/lib/cjs/appui-react/layout/footer/message-center/Tab.d.ts +0 -24
- package/lib/cjs/appui-react/layout/footer/message-center/Tab.d.ts.map +0 -1
- package/lib/cjs/appui-react/layout/footer/message-center/Tab.js +0 -26
- package/lib/cjs/appui-react/layout/footer/message-center/Tab.js.map +0 -1
- package/lib/cjs/appui-react/layout/footer/message-center/Tab.scss +0 -60
- package/lib/cjs/appui-react/statusfields/MessageCenter.d.ts +0 -46
- package/lib/cjs/appui-react/statusfields/MessageCenter.d.ts.map +0 -1
- package/lib/cjs/appui-react/statusfields/MessageCenter.js +0 -132
- package/lib/cjs/appui-react/statusfields/MessageCenter.js.map +0 -1
- package/lib/cjs/appui-react/useTranslation.d.ts +0 -10
- package/lib/cjs/appui-react/useTranslation.d.ts.map +0 -1
- package/lib/cjs/appui-react/useTranslation.js.map +0 -1
- package/lib/esm/appui-react/childwindow/PopoutWidget.d.ts.map +0 -1
- package/lib/esm/appui-react/childwindow/PopoutWidget.js.map +0 -1
- package/lib/esm/appui-react/layout/footer/Footer.d.ts +0 -33
- package/lib/esm/appui-react/layout/footer/Footer.d.ts.map +0 -1
- package/lib/esm/appui-react/layout/footer/Footer.js +0 -26
- package/lib/esm/appui-react/layout/footer/Footer.js.map +0 -1
- package/lib/esm/appui-react/layout/footer/Footer.scss +0 -61
- package/lib/esm/appui-react/layout/footer/message-center/Dialog.d.ts +0 -29
- package/lib/esm/appui-react/layout/footer/message-center/Dialog.d.ts.map +0 -1
- package/lib/esm/appui-react/layout/footer/message-center/Dialog.js +0 -28
- package/lib/esm/appui-react/layout/footer/message-center/Dialog.js.map +0 -1
- package/lib/esm/appui-react/layout/footer/message-center/Dialog.scss +0 -64
- package/lib/esm/appui-react/layout/footer/message-center/Indicator.d.ts +0 -29
- package/lib/esm/appui-react/layout/footer/message-center/Indicator.d.ts.map +0 -1
- package/lib/esm/appui-react/layout/footer/message-center/Indicator.js +0 -29
- package/lib/esm/appui-react/layout/footer/message-center/Indicator.js.map +0 -1
- package/lib/esm/appui-react/layout/footer/message-center/Indicator.scss +0 -106
- package/lib/esm/appui-react/layout/footer/message-center/Message.d.ts +0 -22
- package/lib/esm/appui-react/layout/footer/message-center/Message.d.ts.map +0 -1
- package/lib/esm/appui-react/layout/footer/message-center/Message.js +0 -22
- package/lib/esm/appui-react/layout/footer/message-center/Message.js.map +0 -1
- package/lib/esm/appui-react/layout/footer/message-center/Tab.d.ts +0 -24
- package/lib/esm/appui-react/layout/footer/message-center/Tab.d.ts.map +0 -1
- package/lib/esm/appui-react/layout/footer/message-center/Tab.js +0 -22
- package/lib/esm/appui-react/layout/footer/message-center/Tab.js.map +0 -1
- package/lib/esm/appui-react/layout/footer/message-center/Tab.scss +0 -60
- package/lib/esm/appui-react/statusfields/MessageCenter.d.ts +0 -46
- package/lib/esm/appui-react/statusfields/MessageCenter.d.ts.map +0 -1
- package/lib/esm/appui-react/statusfields/MessageCenter.js +0 -128
- package/lib/esm/appui-react/statusfields/MessageCenter.js.map +0 -1
- package/lib/esm/appui-react/useTranslation.d.ts +0 -10
- package/lib/esm/appui-react/useTranslation.d.ts.map +0 -1
- package/lib/esm/appui-react/useTranslation.js +0 -16
- package/lib/esm/appui-react/useTranslation.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SheetNavigationAid.js","sourceRoot":"","sources":["../../../../src/appui-react/navigationaids/SheetNavigationAid.tsx"],"names":[],"mappings":"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","sourcesContent":["/*---------------------------------------------------------------------------------------------\n * Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n * See LICENSE.md in the project root for license terms and full copyright notice.\n *--------------------------------------------------------------------------------------------*/\n/** @packageDocumentation\n * @module NavigationAids\n */\n\nimport \"./SheetNavigationAid.scss\";\nimport classnames from \"classnames\";\nimport * as React from \"react\";\nimport type {\n IModelConnection,\n ScreenViewport,\n SelectedViewportChangedArgs,\n} from \"@itwin/core-frontend\";\nimport { IModelApp } from \"@itwin/core-frontend\";\nimport type { ViewIdChangedEventArgs } from \"@itwin/imodel-components-react\";\nimport { ViewportComponentEvents } from \"@itwin/imodel-components-react\";\nimport type { CommonProps } from \"@itwin/core-react\";\nimport type { ConfigurableCreateInfo } from \"../configurableui/ConfigurableUiControl\";\nimport type { ModalFrontstageInfo } from \"../framework/FrameworkFrontstages\";\nimport { UiFramework } from \"../UiFramework\";\nimport { ViewUtilities } from \"../utils/ViewUtilities\";\nimport { NavigationAidControl } from \"./NavigationAidControl\";\nimport type { CardSelectedEventArgs } from \"./SheetsModalFrontstage\";\nimport { CardContainer, SheetsModalFrontstage } from \"./SheetsModalFrontstage\";\nimport { IconButton, ProgressRadial } from \"@itwin/itwinui-react\";\nimport { SvgChevronLeft, SvgChevronRight } from \"@itwin/itwinui-icons-react\";\n\n/** A Sheet Navigation Aid control.\n * @alpha\n */\nexport class SheetNavigationAidControl extends NavigationAidControl {\n public static navigationAidId = \"SheetNavigationAid\";\n\n constructor(info: ConfigurableCreateInfo, options: any) {\n super(info, options);\n this.reactNode = <SheetNavigationAid iModelConnection={options.imodel} />;\n }\n\n // istanbul ignore next\n public override getSize(): string | undefined {\n return \"96px\";\n }\n}\n\n/** Data displayed about sheet\n * @alpha\n */\nexport interface SheetData {\n name: string;\n viewId: string;\n}\n\n/** Properties for the [[SheetNavigationAid]] component\n * @alpha\n */\nexport interface SheetNavigationProps extends CommonProps {\n iModelConnection: IModelConnection;\n}\n\n/** @internal */\ninterface SheetNavigationState {\n index: number;\n sheetData: SheetData[];\n}\n\n/** A Sheet Navigation Aid.\n * @alpha\n */\nexport class SheetNavigationAid extends React.Component<\n SheetNavigationProps,\n SheetNavigationState\n> {\n private _isMounted = false;\n\n /** @internal */\n public override readonly state: Readonly<SheetNavigationState> = {\n index: 0,\n sheetData: [],\n };\n\n private _viewport: ScreenViewport | undefined;\n\n constructor(props: SheetNavigationProps) {\n super(props);\n\n this._viewport = IModelApp.viewManager.selectedView;\n }\n\n /** Adds listeners when components mounts */\n public override async componentDidMount() {\n this._isMounted = true;\n\n CardContainer.onCardSelectedEvent.addListener(this._handleCardSelected);\n ViewportComponentEvents.onViewIdChangedEvent.addListener(\n this._handleViewIdChanged\n );\n\n IModelApp.viewManager.onSelectedViewportChanged.addListener(\n this._handleSelectedViewportChanged\n );\n\n const stateData = await this._setupSheets();\n\n if (this._isMounted) this.setState(stateData);\n }\n\n /** Removes listeners when component will unmount */\n public override componentWillUnmount() {\n this._isMounted = false;\n\n CardContainer.onCardSelectedEvent.removeListener(this._handleCardSelected);\n ViewportComponentEvents.onViewIdChangedEvent.removeListener(\n this._handleViewIdChanged\n );\n\n IModelApp.viewManager.onSelectedViewportChanged.removeListener(\n this._handleSelectedViewportChanged\n );\n }\n\n /** Queries for sheet info and sets as sheetData */\n private async _setupSheets(): Promise<SheetNavigationState> {\n const stateData: SheetNavigationState = {\n index: 0,\n sheetData: [],\n };\n\n // istanbul ignore else\n if (\n !this.props.iModelConnection ||\n !this.props.iModelConnection.views.getViewList\n )\n return stateData;\n\n // istanbul ignore next\n let viewId = \"\";\n // istanbul ignore next\n if (this._viewport) {\n viewId = this._viewport.view.id.toString();\n }\n\n // istanbul ignore next\n const sheets = await this.props.iModelConnection.views.getViewList({\n from: \"BisCore.SheetViewDefinition\",\n });\n // istanbul ignore next\n sheets.forEach((viewSpec: IModelConnection.ViewSpec, index: number) => {\n stateData.sheetData.push({ name: viewSpec.name, viewId: viewSpec.id });\n if (viewSpec.id === viewId) stateData.index = index;\n });\n\n // istanbul ignore next\n return stateData;\n }\n\n /** @internal */\n public override render(): React.ReactNode {\n const name =\n this.state.sheetData.length > 0\n ? /* istanbul ignore next */ this.state.sheetData[this.state.index].name\n : \"\";\n const leftIndex =\n this.state.index === 0\n ? this.state.sheetData.length - 1\n : /* istanbul ignore next */ this.state.index - 1;\n const rightIndex =\n this.state.index >= this.state.sheetData.length - 1\n ? 0\n : /* istanbul ignore next */ this.state.index + 1;\n const leftTitle = this.state.sheetData[leftIndex]\n ? /* istanbul ignore next */ this.state.sheetData[leftIndex].name\n : undefined;\n const rightTitle = this.state.sheetData[rightIndex]\n ? /* istanbul ignore next */ this.state.sheetData[rightIndex].name\n : undefined;\n\n let content: React.ReactNode;\n // istanbul ignore if\n if (this.state.sheetData.length > 0) {\n content = (\n <>\n <div className=\"sheet-title\">\n {UiFramework.translate(\"general.sheet\")}\n </div>\n {/* eslint-disable-next-line jsx-a11y/click-events-have-key-events */}\n <div\n className=\"sheet-name\"\n title={name}\n onClick={this._handleOnClickSheetName}\n role=\"button\"\n tabIndex={-1}\n >\n {name}\n </div>\n <div className=\"sheet-container\">\n {/* eslint-disable-next-line jsx-a11y/click-events-have-key-events */}\n <IconButton\n size=\"small\"\n styleType=\"borderless\"\n onClick={this._handleOnClickLeftArrow}\n tabIndex={-1}\n title={leftTitle}\n >\n <SvgChevronLeft />\n </IconButton>\n <div>\n {this.state.index + 1} {UiFramework.translate(\"general.of\")}\n {this.state.sheetData.length}\n </div>\n {/* eslint-disable-next-line jsx-a11y/click-events-have-key-events */}\n <IconButton\n size=\"small\"\n styleType=\"borderless\"\n onClick={this._handleOnClickRightArrow}\n role=\"button\"\n tabIndex={-1}\n title={rightTitle}\n >\n <SvgChevronRight />\n </IconButton>\n </div>\n </>\n );\n } else {\n content = <ProgressRadial size=\"x-small\" indeterminate />;\n }\n\n return (\n <div\n className={classnames(\"uifw-sheet-navigation\", this.props.className)}\n style={this.props.style}\n >\n {content}\n </div>\n );\n }\n\n /** Sets index of newly selected card */\n private _handleCardSelected = (event: CardSelectedEventArgs) => {\n event &&\n this.setState({\n index: event.index,\n });\n };\n\n /** Updates view to the next lowest index in sheetData */\n // istanbul ignore next\n private _handleOnClickLeftArrow = () => {\n this.setState(\n (prevState) => ({\n index:\n prevState.index <= 0\n ? prevState.sheetData.length - 1\n : prevState.index - 1,\n }),\n async () => this._updateView()\n );\n };\n\n /** Updates view to next highest index in sheetData */\n // istanbul ignore next\n private _handleOnClickRightArrow = () => {\n this.setState(\n (prevState) => ({\n index: (prevState.index + 1) % prevState.sheetData.length,\n }),\n async () => this._updateView()\n );\n };\n\n /** Handles a Viewport change & synchs the index */\n // istanbul ignore next\n private _handleSelectedViewportChanged = (\n args: SelectedViewportChangedArgs\n ) => {\n if (args.current) {\n this._handleViewportChanged(args.current);\n }\n };\n\n // istanbul ignore next\n private _handleViewIdChanged = (args: ViewIdChangedEventArgs) => {\n if (this._viewport === args.viewport)\n this._handleViewportChanged(args.viewport as ScreenViewport);\n };\n\n /** Handles a Viewport change & synchs the index */\n // istanbul ignore next\n private _handleViewportChanged = (viewport: ScreenViewport) => {\n const className = ViewUtilities.getBisBaseClass(\n viewport.view.classFullName\n );\n\n if (ViewUtilities.isSheet(className)) {\n this._viewport = viewport;\n\n const viewId = this._viewport.view.id.toString();\n\n const index = this.state.sheetData.findIndex((sheetData: SheetData) => {\n return viewId === sheetData.viewId;\n });\n\n if (index >= 0) this.setState({ index });\n }\n };\n\n /** Updates view to currently set sheet */\n // istanbul ignore next\n private async _updateView() {\n const viewState = await this.props.iModelConnection.views.load(\n this.state.sheetData[this.state.index].viewId\n );\n if (this._viewport) this._viewport.changeView(viewState);\n }\n\n /** Creates a new SheetsModalFrontstage */\n // istanbul ignore next\n private modalFrontstage(): ModalFrontstageInfo {\n return new SheetsModalFrontstage(\n this.state.sheetData,\n this.props.iModelConnection,\n this.state.index\n );\n }\n\n /** Opens a new SheetsModelFrontstage on sheetName click */\n // istanbul ignore next\n private _handleOnClickSheetName = () => {\n UiFramework.frontstages.openModalFrontstage(this.modalFrontstage());\n };\n}\n"]}
|
|
1
|
+
{"version":3,"file":"SheetNavigationAid.js","sourceRoot":"","sources":["../../../../src/appui-react/navigationaids/SheetNavigationAid.tsx"],"names":[],"mappings":"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","sourcesContent":["/*---------------------------------------------------------------------------------------------\n * Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n * See LICENSE.md in the project root for license terms and full copyright notice.\n *--------------------------------------------------------------------------------------------*/\n/** @packageDocumentation\n * @module NavigationAids\n */\n\nimport \"./SheetNavigationAid.scss\";\nimport classnames from \"classnames\";\nimport * as React from \"react\";\nimport type {\n IModelConnection,\n ScreenViewport,\n SelectedViewportChangedArgs,\n} from \"@itwin/core-frontend\";\nimport { IModelApp } from \"@itwin/core-frontend\";\nimport type { ViewIdChangedEventArgs } from \"@itwin/imodel-components-react\";\nimport { ViewportComponentEvents } from \"@itwin/imodel-components-react\";\nimport type { CommonProps } from \"@itwin/core-react\";\nimport type { ConfigurableCreateInfo } from \"../configurableui/ConfigurableUiControl\";\nimport type { ModalFrontstageInfo } from \"../framework/FrameworkFrontstages\";\nimport { UiFramework } from \"../UiFramework\";\nimport { ViewUtilities } from \"../utils/ViewUtilities\";\nimport { NavigationAidControl } from \"./NavigationAidControl\";\nimport type { CardSelectedEventArgs } from \"./SheetsModalFrontstage\";\nimport { CardContainer, SheetsModalFrontstage } from \"./SheetsModalFrontstage\";\nimport { IconButton, ProgressRadial } from \"@itwin/itwinui-react\";\nimport { SvgChevronLeft, SvgChevronRight } from \"@itwin/itwinui-icons-react\";\n\n/** A Sheet Navigation Aid control.\n * @alpha\n */\nexport class SheetNavigationAidControl extends NavigationAidControl {\n public static navigationAidId = \"SheetNavigationAid\";\n\n constructor(info: ConfigurableCreateInfo, options: any) {\n super(info, options);\n this.reactNode = <SheetNavigationAid iModelConnection={options.imodel} />;\n }\n\n // istanbul ignore next\n public override getSize(): string | undefined {\n return \"96px\";\n }\n}\n\n/** Data displayed about sheet\n * @alpha\n */\nexport interface SheetData {\n name: string;\n viewId: string;\n}\n\n/** Properties for the [[SheetNavigationAid]] component\n * @alpha\n */\nexport interface SheetNavigationProps extends CommonProps {\n iModelConnection: IModelConnection;\n}\n\n/** @internal */\ninterface SheetNavigationState {\n index: number;\n sheetData: SheetData[];\n}\n\n/** A Sheet Navigation Aid.\n * @alpha\n */\nexport class SheetNavigationAid extends React.Component<\n SheetNavigationProps,\n SheetNavigationState\n> {\n private _isMounted = false;\n\n /** @internal */\n public override readonly state: Readonly<SheetNavigationState> = {\n index: 0,\n sheetData: [],\n };\n\n private _viewport: ScreenViewport | undefined;\n\n constructor(props: SheetNavigationProps) {\n super(props);\n\n this._viewport = IModelApp.viewManager.selectedView;\n }\n\n /** Adds listeners when components mounts */\n public override async componentDidMount() {\n this._isMounted = true;\n\n CardContainer.onCardSelectedEvent.addListener(this._handleCardSelected);\n ViewportComponentEvents.onViewIdChangedEvent.addListener(\n this._handleViewIdChanged\n );\n\n IModelApp.viewManager.onSelectedViewportChanged.addListener(\n this._handleSelectedViewportChanged\n );\n\n const stateData = await this._setupSheets();\n\n if (this._isMounted) this.setState(stateData);\n }\n\n /** Removes listeners when component will unmount */\n public override componentWillUnmount() {\n this._isMounted = false;\n\n CardContainer.onCardSelectedEvent.removeListener(this._handleCardSelected);\n ViewportComponentEvents.onViewIdChangedEvent.removeListener(\n this._handleViewIdChanged\n );\n\n IModelApp.viewManager.onSelectedViewportChanged.removeListener(\n this._handleSelectedViewportChanged\n );\n }\n\n /** Queries for sheet info and sets as sheetData */\n private async _setupSheets(): Promise<SheetNavigationState> {\n const stateData: SheetNavigationState = {\n index: 0,\n sheetData: [],\n };\n\n // istanbul ignore else\n if (\n !this.props.iModelConnection ||\n !this.props.iModelConnection.views.getViewList\n )\n return stateData;\n\n // istanbul ignore next\n let viewId = \"\";\n // istanbul ignore next\n if (this._viewport) {\n viewId = this._viewport.view.id.toString();\n }\n\n // istanbul ignore next\n const sheets = await this.props.iModelConnection.views.getViewList({\n from: \"BisCore.SheetViewDefinition\",\n });\n // istanbul ignore next\n sheets.forEach((viewSpec: IModelConnection.ViewSpec, index: number) => {\n stateData.sheetData.push({ name: viewSpec.name, viewId: viewSpec.id });\n if (viewSpec.id === viewId) stateData.index = index;\n });\n\n // istanbul ignore next\n return stateData;\n }\n\n /** @internal */\n public override render(): React.ReactNode {\n const name =\n this.state.sheetData.length > 0\n ? /* istanbul ignore next */ this.state.sheetData[this.state.index].name\n : \"\";\n const leftIndex =\n this.state.index === 0\n ? this.state.sheetData.length - 1\n : /* istanbul ignore next */ this.state.index - 1;\n const rightIndex =\n this.state.index >= this.state.sheetData.length - 1\n ? 0\n : /* istanbul ignore next */ this.state.index + 1;\n const leftTitle = this.state.sheetData[leftIndex]\n ? /* istanbul ignore next */ this.state.sheetData[leftIndex].name\n : undefined;\n const rightTitle = this.state.sheetData[rightIndex]\n ? /* istanbul ignore next */ this.state.sheetData[rightIndex].name\n : undefined;\n\n let content: React.ReactNode;\n // istanbul ignore if\n if (this.state.sheetData.length > 0) {\n content = (\n <>\n <div className=\"sheet-title\">\n {UiFramework.translate(\"general.sheet\")}\n </div>\n {/* eslint-disable-next-line jsx-a11y/click-events-have-key-events */}\n <div\n className=\"sheet-name\"\n title={name}\n onClick={this._handleOnClickSheetName}\n role=\"button\"\n tabIndex={-1}\n >\n {name}\n </div>\n <div className=\"sheet-container\">\n {/* eslint-disable-next-line jsx-a11y/click-events-have-key-events */}\n <IconButton\n size=\"small\"\n styleType=\"borderless\"\n onClick={this._handleOnClickLeftArrow}\n tabIndex={-1}\n title={leftTitle}\n >\n <SvgChevronLeft />\n </IconButton>\n <div>\n {this.state.index + 1} {UiFramework.translate(\"general.of\")}\n {this.state.sheetData.length}\n </div>\n {/* eslint-disable-next-line jsx-a11y/click-events-have-key-events */}\n <IconButton\n size=\"small\"\n styleType=\"borderless\"\n onClick={this._handleOnClickRightArrow}\n role=\"button\"\n tabIndex={-1}\n title={rightTitle}\n >\n <SvgChevronRight />\n </IconButton>\n </div>\n </>\n );\n } else {\n content = <ProgressRadial size=\"x-small\" indeterminate />;\n }\n\n return (\n <div\n className={classnames(\"uifw-sheet-navigation\", this.props.className)}\n style={this.props.style}\n >\n {content}\n </div>\n );\n }\n\n /** Sets index of newly selected card */\n // eslint-disable-next-line deprecation/deprecation\n private _handleCardSelected = (event: CardSelectedEventArgs) => {\n event &&\n this.setState({\n index: event.index,\n });\n };\n\n /** Updates view to the next lowest index in sheetData */\n // istanbul ignore next\n private _handleOnClickLeftArrow = () => {\n this.setState(\n (prevState) => ({\n index:\n prevState.index <= 0\n ? prevState.sheetData.length - 1\n : prevState.index - 1,\n }),\n async () => this._updateView()\n );\n };\n\n /** Updates view to next highest index in sheetData */\n // istanbul ignore next\n private _handleOnClickRightArrow = () => {\n this.setState(\n (prevState) => ({\n index: (prevState.index + 1) % prevState.sheetData.length,\n }),\n async () => this._updateView()\n );\n };\n\n /** Handles a Viewport change & synchs the index */\n // istanbul ignore next\n private _handleSelectedViewportChanged = (\n args: SelectedViewportChangedArgs\n ) => {\n if (args.current) {\n this._handleViewportChanged(args.current);\n }\n };\n\n // istanbul ignore next\n // eslint-disable-next-line deprecation/deprecation\n private _handleViewIdChanged = (args: ViewIdChangedEventArgs) => {\n if (this._viewport === args.viewport)\n this._handleViewportChanged(args.viewport as ScreenViewport);\n };\n\n /** Handles a Viewport change & synchs the index */\n // istanbul ignore next\n private _handleViewportChanged = (viewport: ScreenViewport) => {\n const className = ViewUtilities.getBisBaseClass(\n viewport.view.classFullName\n );\n\n if (ViewUtilities.isSheet(className)) {\n this._viewport = viewport;\n\n const viewId = this._viewport.view.id.toString();\n\n const index = this.state.sheetData.findIndex((sheetData: SheetData) => {\n return viewId === sheetData.viewId;\n });\n\n if (index >= 0) this.setState({ index });\n }\n };\n\n /** Updates view to currently set sheet */\n // istanbul ignore next\n private async _updateView() {\n const viewState = await this.props.iModelConnection.views.load(\n this.state.sheetData[this.state.index].viewId\n );\n if (this._viewport) this._viewport.changeView(viewState);\n }\n\n /** Creates a new SheetsModalFrontstage */\n // istanbul ignore next\n private modalFrontstage(): ModalFrontstageInfo {\n return new SheetsModalFrontstage(\n this.state.sheetData,\n this.props.iModelConnection,\n this.state.index\n );\n }\n\n /** Opens a new SheetsModelFrontstage on sheetName click */\n // istanbul ignore next\n private _handleOnClickSheetName = () => {\n UiFramework.frontstages.openModalFrontstage(this.modalFrontstage());\n };\n}\n"]}
|
|
@@ -20,6 +20,7 @@ export interface CardInfo {
|
|
|
20
20
|
}
|
|
21
21
|
/** Arguments for CardSelectedEvent
|
|
22
22
|
* @alpha
|
|
23
|
+
* @deprecated in 4.13.x. Event args are inferred from a listener. If explicit type is needed use a type helper.
|
|
23
24
|
*/
|
|
24
25
|
export interface CardSelectedEventArgs {
|
|
25
26
|
id: any;
|
|
@@ -27,6 +28,7 @@ export interface CardSelectedEventArgs {
|
|
|
27
28
|
}
|
|
28
29
|
/** Class for CardSelectedEvent
|
|
29
30
|
* @alpha
|
|
31
|
+
* @deprecated in 4.13.x. This class should not be used by applications to instantiate objects.
|
|
30
32
|
*/
|
|
31
33
|
export declare class CardSelectedEvent extends UiEvent<CardSelectedEventArgs> {
|
|
32
34
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SheetsModalFrontstage.d.ts","sourceRoot":"","sources":["../../../../src/appui-react/navigationaids/SheetsModalFrontstage.tsx"],"names":[],"mappings":"AAIA;;GAEG;AAEH,OAAO,8BAA8B,CAAC;AAEtC,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AAE7D,OAAO,EAAE,OAAO,EAAE,MAAM,uBAAuB,CAAC;AAChD,OAAO,KAAK,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAO/D,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,mCAAmC,CAAC;AAE7E,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;
|
|
1
|
+
{"version":3,"file":"SheetsModalFrontstage.d.ts","sourceRoot":"","sources":["../../../../src/appui-react/navigationaids/SheetsModalFrontstage.tsx"],"names":[],"mappings":"AAIA;;GAEG;AAEH,OAAO,8BAA8B,CAAC;AAEtC,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AAE7D,OAAO,EAAE,OAAO,EAAE,MAAM,uBAAuB,CAAC;AAChD,OAAO,KAAK,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAO/D,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,mCAAmC,CAAC;AAE7E,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AAItD;;GAEG;AACH,MAAM,WAAW,QAAQ;IACvB,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,QAAQ,CAAC;IACnB,QAAQ,EAAE,OAAO,CAAC;IAClB,MAAM,EAAE,GAAG,CAAC;CACb;AAED;;;GAGG;AACH,MAAM,WAAW,qBAAqB;IACpC,EAAE,EAAE,GAAG,CAAC;IACR,KAAK,EAAE,MAAM,CAAC;CACf;AAED;;;GAGG;AAEH,qBAAa,iBAAkB,SAAQ,OAAO,CAAC,qBAAqB,CAAC;CAAG;AAExE;;GAEG;AACH,qBAAa,qBAAsB,YAAW,mBAAmB;IACxD,KAAK,SAAgE;IAC5E,OAAO,CAAC,MAAM,CAAkB;IAChC,OAAO,CAAC,WAAW,CAAmB;IACtC,OAAO,CAAC,aAAa,CAAS;IAC9B,OAAO,CAAC,YAAY,CAAc;IAElC;;;;OAIG;gBAED,MAAM,EAAE,SAAS,EAAE,EACnB,UAAU,EAAE,gBAAgB,EAC5B,YAAY,EAAE,MAAM;IAOtB;;;OAGG;IACH,OAAO,CAAC,mBAAmB;IAY3B,wBAAwB;IACxB,IAAW,OAAO,IAAI,KAAK,CAAC,SAAS,CAQpC;IAED,kDAAkD;IAClD,IAAW,WAAW,IAAI,KAAK,CAAC,SAAS,CASxC;IAED,0CAA0C;IAE1C,OAAO,CAAC,yBAAyB,CAG/B;CACH;AAED;;GAEG;AACH,MAAM,WAAW,kBAAmB,SAAQ,WAAW;IACrD,KAAK,EAAE,QAAQ,EAAE,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,gBAAgB,CAAC;CAC9B;AAED;;GAEG;AACH,qBAAa,aAAc,SAAQ,KAAK,CAAC,SAAS,CAAC,kBAAkB,CAAC;IAEpE,OAAO,CAAC,MAAM,CAAC,kBAAkB,CAA0C;IAE3E,kCAAkC;IAElC,WAAkB,mBAAmB,IAAI,iBAAiB,CAEzD;IAED,gBAAgB;IACA,MAAM;IAgCtB;;;;;OAKG;IACH,OAAO,CAAC,QAAQ;IAUhB;;;OAGG;YACW,mBAAmB;CAelC;AAED;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,QAAQ,CAAC;IACnB,QAAQ,EAAE,OAAO,CAAC;IAClB,OAAO,EAAE,MAAM,IAAI,CAAC;CACrB;AAED;;GAEG;AACH,UAAU,cAAc;IACtB,QAAQ,EAAE,OAAO,CAAC;IAClB,SAAS,EAAE,OAAO,CAAC;CACpB;AAED;;GAEG;AACH,qBAAa,SAAU,SAAQ,KAAK,CAAC,SAAS,CAAC,cAAc,EAAE,cAAc,CAAC;gBAChE,KAAK,EAAE,cAAc;IAKjC,OAAO,CAAC,QAAQ,CAEd;IAEF,OAAO,CAAC,YAAY,CAElB;IAEF,OAAO,CAAC,aAAa,CAEnB;IAEc,MAAM;CAoCvB"}
|
|
@@ -13,8 +13,10 @@ import { UiEvent } from "@itwin/appui-abstract";
|
|
|
13
13
|
import { FlexWrapContainer, Icon, ScrollView, SearchBox, } from "@itwin/core-react";
|
|
14
14
|
import { UiFramework } from "../UiFramework";
|
|
15
15
|
import { SvgDocument, SvgPlaceholder } from "@itwin/itwinui-icons-react";
|
|
16
|
+
import { BeUiEvent } from "@itwin/core-bentley";
|
|
16
17
|
/** Class for CardSelectedEvent
|
|
17
18
|
* @alpha
|
|
19
|
+
* @deprecated in 4.13.x. This class should not be used by applications to instantiate objects.
|
|
18
20
|
*/
|
|
19
21
|
// eslint-disable-next-line deprecation/deprecation
|
|
20
22
|
export class CardSelectedEvent extends UiEvent {
|
|
@@ -63,7 +65,9 @@ export class SheetsModalFrontstage {
|
|
|
63
65
|
}
|
|
64
66
|
/** Gets components to be placed in the app bar */
|
|
65
67
|
get appBarRight() {
|
|
66
|
-
return (
|
|
68
|
+
return (
|
|
69
|
+
// eslint-disable-next-line deprecation/deprecation
|
|
70
|
+
React.createElement(SearchBox, { placeholder: UiFramework.translate("general.search"), onValueChanged: this._handleSearchValueChanged, valueChangedDelay: 250 }));
|
|
67
71
|
}
|
|
68
72
|
}
|
|
69
73
|
/** Displays cards in SheetModalFrontstage
|
|
@@ -71,12 +75,15 @@ export class SheetsModalFrontstage {
|
|
|
71
75
|
*/
|
|
72
76
|
class CardContainer extends React.Component {
|
|
73
77
|
/** Get CardSelectedEvent event */
|
|
78
|
+
// eslint-disable-next-line deprecation/deprecation
|
|
74
79
|
static get onCardSelectedEvent() {
|
|
75
80
|
return CardContainer._cardSelectedEvent;
|
|
76
81
|
}
|
|
77
82
|
/** @internal */
|
|
78
83
|
render() {
|
|
79
|
-
return (
|
|
84
|
+
return (
|
|
85
|
+
// eslint-disable-next-line deprecation/deprecation
|
|
86
|
+
React.createElement(ScrollView, { className: this.props.className, style: this.props.style },
|
|
80
87
|
React.createElement(FlexWrapContainer, null, this.props.cards.map((card, _index) => {
|
|
81
88
|
let includeCard = true;
|
|
82
89
|
if (this.props.searchValue) {
|
|
@@ -120,7 +127,8 @@ class CardContainer extends React.Component {
|
|
|
120
127
|
});
|
|
121
128
|
}
|
|
122
129
|
}
|
|
123
|
-
|
|
130
|
+
// eslint-disable-next-line deprecation/deprecation
|
|
131
|
+
CardContainer._cardSelectedEvent = new BeUiEvent();
|
|
124
132
|
export { CardContainer };
|
|
125
133
|
/** Displays information about an individual sheet
|
|
126
134
|
* @alpha
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SheetsModalFrontstage.js","sourceRoot":"","sources":["../../../../src/appui-react/navigationaids/SheetsModalFrontstage.tsx"],"names":[],"mappings":"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","sourcesContent":["/*---------------------------------------------------------------------------------------------\n * Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n * See LICENSE.md in the project root for license terms and full copyright notice.\n *--------------------------------------------------------------------------------------------*/\n/** @packageDocumentation\n * @module NavigationAids\n */\n\nimport \"./SheetsModalFrontstage.scss\";\nimport classnames from \"classnames\";\nimport * as React from \"react\";\nimport type { IModelConnection } from \"@itwin/core-frontend\";\nimport { IModelApp } from \"@itwin/core-frontend\";\nimport { UiEvent } from \"@itwin/appui-abstract\";\nimport type { CommonProps, IconSpec } from \"@itwin/core-react\";\nimport {\n FlexWrapContainer,\n Icon,\n ScrollView,\n SearchBox,\n} from \"@itwin/core-react\";\nimport type { ModalFrontstageInfo } from \"../framework/FrameworkFrontstages\";\nimport { UiFramework } from \"../UiFramework\";\nimport type { SheetData } from \"./SheetNavigationAid\";\nimport { SvgDocument, SvgPlaceholder } from \"@itwin/itwinui-icons-react\";\n\n/** Data about a sheet card\n * @alpha\n */\nexport interface CardInfo {\n index: number;\n label: string;\n iconSpec: IconSpec;\n isActive: boolean;\n viewId: any;\n}\n\n/** Arguments for CardSelectedEvent\n * @alpha\n */\nexport interface CardSelectedEventArgs {\n id: any;\n index: number;\n}\n\n/** Class for CardSelectedEvent\n * @alpha\n */\n// eslint-disable-next-line deprecation/deprecation\nexport class CardSelectedEvent extends UiEvent<CardSelectedEventArgs> {}\n\n/** Modal frontstage displaying sheet information in cards.\n * @alpha\n */\nexport class SheetsModalFrontstage implements ModalFrontstageInfo {\n public title = UiFramework.translate(\"navigationAid.sheetsModalFrontstage\");\n private _cards: CardInfo[] = [];\n private _connection: IModelConnection;\n private _currentIndex: number;\n private _searchValue: string = \"\";\n\n /**\n * Creates a SheetsModalFrontstage\n * @param sheets Collection of sheets available in SheetNavigationAid\n * @param connection IModelConnection to query for sheet ViewState\n */\n constructor(\n sheets: SheetData[],\n connection: IModelConnection,\n currentIndex: number\n ) {\n this._connection = connection;\n this._currentIndex = currentIndex;\n this._storeSheetsAsCards(sheets);\n }\n\n /**\n * Gathers card info from available sheets\n * @param sheets SheetData from available sheets\n */\n private _storeSheetsAsCards(sheets: SheetData[]) {\n sheets.forEach((sheet: SheetData, index: number) => {\n this._cards.push({\n index,\n label: sheet.name,\n iconSpec: <SvgDocument />,\n viewId: sheet.viewId,\n isActive: index === this._currentIndex,\n });\n });\n }\n\n /** Gets set of cards */\n public get content(): React.ReactNode {\n return (\n <CardContainer\n cards={this._cards}\n searchValue={this._searchValue}\n connection={this._connection}\n />\n );\n }\n\n /** Gets components to be placed in the app bar */\n public get appBarRight(): React.ReactNode {\n return (\n <SearchBox\n placeholder={UiFramework.translate(\"general.search\")}\n onValueChanged={this._handleSearchValueChanged}\n valueChangedDelay={250}\n />\n );\n }\n\n /** Updates stage based on search value */\n // istanbul ignore next\n private _handleSearchValueChanged = (value: string): void => {\n this._searchValue = value;\n UiFramework.frontstages.updateModalFrontstage();\n };\n}\n\n/** Properties for [[CardContainer]]\n * @alpha\n */\nexport interface CardContainerProps extends CommonProps {\n cards: CardInfo[];\n searchValue: string;\n connection: IModelConnection;\n}\n\n/** Displays cards in SheetModalFrontstage\n * @alpha\n */\nexport class CardContainer extends React.Component<CardContainerProps> {\n private static _cardSelectedEvent: CardSelectedEvent =\n new CardSelectedEvent();\n\n /** Get CardSelectedEvent event */\n public static get onCardSelectedEvent(): CardSelectedEvent {\n return CardContainer._cardSelectedEvent;\n }\n\n /** @internal */\n public override render() {\n return (\n <ScrollView className={this.props.className} style={this.props.style}>\n <FlexWrapContainer>\n {this.props.cards.map((card: CardInfo, _index: number) => {\n let includeCard = true;\n if (this.props.searchValue) {\n includeCard = this.contains(card.label, this.props.searchValue);\n }\n\n if (includeCard) {\n return (\n <SheetCard\n key={card.label}\n label={card.label}\n index={card.index}\n iconSpec={card.iconSpec}\n isActive={card.isActive}\n onClick={async () => this._handleCardSelected(card)}\n />\n );\n }\n\n return null;\n })}\n </FlexWrapContainer>\n </ScrollView>\n );\n }\n\n /**\n * Determines if string contains a substring\n * @param valueA The string to search through\n * @param valueB The value to search for\n * @return True if valueB can be found in valueA, false otherwise\n */\n private contains(valueA: string, valueB: string): boolean {\n if (!valueA || !valueB) return false;\n\n if (valueB.length > valueA.length) return false;\n\n return (\n valueA.toLocaleUpperCase().indexOf(valueB.toLocaleUpperCase(), 0) !== -1\n );\n }\n\n /**\n * Updates view with ViewState for selected card.\n * @param card Data about the sheet card selected.\n */\n private async _handleCardSelected(card: CardInfo) {\n // istanbul ignore if\n if (IModelApp.viewManager && IModelApp.viewManager.selectedView) {\n const vp = IModelApp.viewManager.selectedView;\n const viewState = await this.props.connection.views.load(card.viewId);\n vp.changeView(viewState);\n }\n\n card.isActive = true;\n UiFramework.frontstages.closeModalFrontstage();\n CardContainer.onCardSelectedEvent.emit({\n id: card.viewId,\n index: card.index,\n });\n }\n}\n\n/** Properties for [[SheetCard]]\n * @alpha\n */\nexport interface SheetCardProps {\n label: string;\n index: number;\n iconSpec: IconSpec;\n isActive: boolean;\n onClick: () => void;\n}\n\n/** State for [[SheetCard]]\n * @internal\n */\ninterface SheetCardState {\n isActive: boolean;\n isPressed: boolean;\n}\n\n/** Displays information about an individual sheet\n * @alpha\n */\nexport class SheetCard extends React.Component<SheetCardProps, SheetCardState> {\n constructor(props: SheetCardProps) {\n super(props);\n this.state = { isActive: this.props.isActive, isPressed: false };\n }\n\n private _onClick = () => {\n this.setState({ isActive: true }, () => this.props.onClick());\n };\n\n private _onMouseDown = () => {\n this.setState({ isPressed: true });\n };\n\n private _onMouseLeave = () => {\n if (this.state.isPressed) this.setState({ isPressed: false });\n };\n\n public override render() {\n const { label, index } = this.props;\n\n const className = classnames(\n \"uifw-sheet-card\",\n this.state.isActive && \"is-active\",\n this.state.isPressed && \"is-pressed\"\n );\n\n const iconSpec = this.props.iconSpec ? (\n this.props.iconSpec\n ) : (\n <SvgPlaceholder />\n );\n\n return (\n // eslint-disable-next-line jsx-a11y/click-events-have-key-events\n <div\n className={className}\n onClick={this._onClick}\n onMouseDown={this._onMouseDown}\n onMouseLeave={this._onMouseLeave}\n role=\"button\"\n tabIndex={-1}\n >\n {label}\n <div className=\"sheet-image-container\">\n <div className=\"icon\">\n {\" \"}\n <Icon iconSpec={iconSpec} />\n </div>\n </div>\n <div className=\"sheet-index\">{index + 1}</div>\n </div>\n );\n }\n}\n"]}
|
|
1
|
+
{"version":3,"file":"SheetsModalFrontstage.js","sourceRoot":"","sources":["../../../../src/appui-react/navigationaids/SheetsModalFrontstage.tsx"],"names":[],"mappings":"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","sourcesContent":["/*---------------------------------------------------------------------------------------------\n * Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n * See LICENSE.md in the project root for license terms and full copyright notice.\n *--------------------------------------------------------------------------------------------*/\n/** @packageDocumentation\n * @module NavigationAids\n */\n\nimport \"./SheetsModalFrontstage.scss\";\nimport classnames from \"classnames\";\nimport * as React from \"react\";\nimport type { IModelConnection } from \"@itwin/core-frontend\";\nimport { IModelApp } from \"@itwin/core-frontend\";\nimport { UiEvent } from \"@itwin/appui-abstract\";\nimport type { CommonProps, IconSpec } from \"@itwin/core-react\";\nimport {\n FlexWrapContainer,\n Icon,\n ScrollView,\n SearchBox,\n} from \"@itwin/core-react\";\nimport type { ModalFrontstageInfo } from \"../framework/FrameworkFrontstages\";\nimport { UiFramework } from \"../UiFramework\";\nimport type { SheetData } from \"./SheetNavigationAid\";\nimport { SvgDocument, SvgPlaceholder } from \"@itwin/itwinui-icons-react\";\nimport { BeUiEvent } from \"@itwin/core-bentley\";\n\n/** Data about a sheet card\n * @alpha\n */\nexport interface CardInfo {\n index: number;\n label: string;\n iconSpec: IconSpec;\n isActive: boolean;\n viewId: any;\n}\n\n/** Arguments for CardSelectedEvent\n * @alpha\n * @deprecated in 4.13.x. Event args are inferred from a listener. If explicit type is needed use a type helper.\n */\nexport interface CardSelectedEventArgs {\n id: any;\n index: number;\n}\n\n/** Class for CardSelectedEvent\n * @alpha\n * @deprecated in 4.13.x. This class should not be used by applications to instantiate objects.\n */\n// eslint-disable-next-line deprecation/deprecation\nexport class CardSelectedEvent extends UiEvent<CardSelectedEventArgs> {}\n\n/** Modal frontstage displaying sheet information in cards.\n * @alpha\n */\nexport class SheetsModalFrontstage implements ModalFrontstageInfo {\n public title = UiFramework.translate(\"navigationAid.sheetsModalFrontstage\");\n private _cards: CardInfo[] = [];\n private _connection: IModelConnection;\n private _currentIndex: number;\n private _searchValue: string = \"\";\n\n /**\n * Creates a SheetsModalFrontstage\n * @param sheets Collection of sheets available in SheetNavigationAid\n * @param connection IModelConnection to query for sheet ViewState\n */\n constructor(\n sheets: SheetData[],\n connection: IModelConnection,\n currentIndex: number\n ) {\n this._connection = connection;\n this._currentIndex = currentIndex;\n this._storeSheetsAsCards(sheets);\n }\n\n /**\n * Gathers card info from available sheets\n * @param sheets SheetData from available sheets\n */\n private _storeSheetsAsCards(sheets: SheetData[]) {\n sheets.forEach((sheet: SheetData, index: number) => {\n this._cards.push({\n index,\n label: sheet.name,\n iconSpec: <SvgDocument />,\n viewId: sheet.viewId,\n isActive: index === this._currentIndex,\n });\n });\n }\n\n /** Gets set of cards */\n public get content(): React.ReactNode {\n return (\n <CardContainer\n cards={this._cards}\n searchValue={this._searchValue}\n connection={this._connection}\n />\n );\n }\n\n /** Gets components to be placed in the app bar */\n public get appBarRight(): React.ReactNode {\n return (\n // eslint-disable-next-line deprecation/deprecation\n <SearchBox\n placeholder={UiFramework.translate(\"general.search\")}\n onValueChanged={this._handleSearchValueChanged}\n valueChangedDelay={250}\n />\n );\n }\n\n /** Updates stage based on search value */\n // istanbul ignore next\n private _handleSearchValueChanged = (value: string): void => {\n this._searchValue = value;\n UiFramework.frontstages.updateModalFrontstage();\n };\n}\n\n/** Properties for [[CardContainer]]\n * @alpha\n */\nexport interface CardContainerProps extends CommonProps {\n cards: CardInfo[];\n searchValue: string;\n connection: IModelConnection;\n}\n\n/** Displays cards in SheetModalFrontstage\n * @alpha\n */\nexport class CardContainer extends React.Component<CardContainerProps> {\n // eslint-disable-next-line deprecation/deprecation\n private static _cardSelectedEvent = new BeUiEvent<CardSelectedEventArgs>();\n\n /** Get CardSelectedEvent event */\n // eslint-disable-next-line deprecation/deprecation\n public static get onCardSelectedEvent(): CardSelectedEvent {\n return CardContainer._cardSelectedEvent;\n }\n\n /** @internal */\n public override render() {\n return (\n // eslint-disable-next-line deprecation/deprecation\n <ScrollView className={this.props.className} style={this.props.style}>\n {/* eslint-disable-next-line deprecation/deprecation */}\n <FlexWrapContainer>\n {this.props.cards.map((card: CardInfo, _index: number) => {\n let includeCard = true;\n if (this.props.searchValue) {\n includeCard = this.contains(card.label, this.props.searchValue);\n }\n\n if (includeCard) {\n return (\n <SheetCard\n key={card.label}\n label={card.label}\n index={card.index}\n iconSpec={card.iconSpec}\n isActive={card.isActive}\n onClick={async () => this._handleCardSelected(card)}\n />\n );\n }\n\n return null;\n })}\n </FlexWrapContainer>\n </ScrollView>\n );\n }\n\n /**\n * Determines if string contains a substring\n * @param valueA The string to search through\n * @param valueB The value to search for\n * @return True if valueB can be found in valueA, false otherwise\n */\n private contains(valueA: string, valueB: string): boolean {\n if (!valueA || !valueB) return false;\n\n if (valueB.length > valueA.length) return false;\n\n return (\n valueA.toLocaleUpperCase().indexOf(valueB.toLocaleUpperCase(), 0) !== -1\n );\n }\n\n /**\n * Updates view with ViewState for selected card.\n * @param card Data about the sheet card selected.\n */\n private async _handleCardSelected(card: CardInfo) {\n // istanbul ignore if\n if (IModelApp.viewManager && IModelApp.viewManager.selectedView) {\n const vp = IModelApp.viewManager.selectedView;\n const viewState = await this.props.connection.views.load(card.viewId);\n vp.changeView(viewState);\n }\n\n card.isActive = true;\n UiFramework.frontstages.closeModalFrontstage();\n CardContainer.onCardSelectedEvent.emit({\n id: card.viewId,\n index: card.index,\n });\n }\n}\n\n/** Properties for [[SheetCard]]\n * @alpha\n */\nexport interface SheetCardProps {\n label: string;\n index: number;\n iconSpec: IconSpec;\n isActive: boolean;\n onClick: () => void;\n}\n\n/** State for [[SheetCard]]\n * @internal\n */\ninterface SheetCardState {\n isActive: boolean;\n isPressed: boolean;\n}\n\n/** Displays information about an individual sheet\n * @alpha\n */\nexport class SheetCard extends React.Component<SheetCardProps, SheetCardState> {\n constructor(props: SheetCardProps) {\n super(props);\n this.state = { isActive: this.props.isActive, isPressed: false };\n }\n\n private _onClick = () => {\n this.setState({ isActive: true }, () => this.props.onClick());\n };\n\n private _onMouseDown = () => {\n this.setState({ isPressed: true });\n };\n\n private _onMouseLeave = () => {\n if (this.state.isPressed) this.setState({ isPressed: false });\n };\n\n public override render() {\n const { label, index } = this.props;\n\n const className = classnames(\n \"uifw-sheet-card\",\n this.state.isActive && \"is-active\",\n this.state.isPressed && \"is-pressed\"\n );\n\n const iconSpec = this.props.iconSpec ? (\n this.props.iconSpec\n ) : (\n <SvgPlaceholder />\n );\n\n return (\n // eslint-disable-next-line jsx-a11y/click-events-have-key-events\n <div\n className={className}\n onClick={this._onClick}\n onMouseDown={this._onMouseDown}\n onMouseLeave={this._onMouseLeave}\n role=\"button\"\n tabIndex={-1}\n >\n {label}\n <div className=\"sheet-image-container\">\n <div className=\"icon\">\n {\" \"}\n <Icon iconSpec={iconSpec} />\n </div>\n </div>\n <div className=\"sheet-index\">{index + 1}</div>\n </div>\n );\n }\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ListPicker.d.ts","sourceRoot":"","sources":["../../../../src/appui-react/pickers/ListPicker.tsx"],"names":[],"mappings":"AAIA;;GAEG;AAEH,OAAO,mBAAmB,CAAC;AAE3B,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAQ/B,OAAO,KAAK,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAUhE;;GAEG;AACH,oBAAY,YAAY;IACtB,IAAI,IAAI;IACR,SAAS,IAAI;IACb,SAAS,IAAI;CACd;AAED;;GAEG;AACH,MAAM,WAAW,QAAQ;IACvB,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAC;IACnB,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,OAAO,CAAC;IACjB,IAAI,CAAC,EAAE,YAAY,CAAC;IACpB,QAAQ,CAAC,EAAE,QAAQ,EAAE,CAAC;CACvB;AAED;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,QAAQ,EAAE,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,GAAG,KAAK,CAAC,SAAS,CAAC;IACpC,UAAU,EAAE,CAAC,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,OAAO,KAAK,GAAG,CAAC;IACtD,UAAU,CAAC,EAAE,CAAC,MAAM,EAAE,OAAO,KAAK,IAAI,CAAC;IACvC,WAAW,CAAC,EAAE,CAAC,IAAI,EAAE,SAAS,KAAK,IAAI,CAAC;IACxC,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,mBAAmB,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,CAAC;IAC/C,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAED;;GAEG;AACH,MAAM,WAAW,mBAAoB,SAAQ,WAAW;IACtD,GAAG,EAAE,GAAG,CAAC;IACT,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IACrB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED;;GAEG;AACH,qBAAa,cAAe,SAAQ,KAAK,CAAC,aAAa,CAAC,mBAAmB,CAAC;IAC1E,6BAA6B;IACb,MAAM;CA2BvB;AAED;;GAEG;AACH,MAAM,WAAW,sBAAuB,SAAQ,WAAW;IACzD,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,cAAc;IACd,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;CAC5B;AAED;;GAEG;AACH,UAAU,sBAAsB;IAC9B,QAAQ,EAAE,OAAO,CAAC;CACnB;AAED;;GAEG;AACH,qBAAa,iBAAkB,SAAQ,KAAK,CAAC,aAAa,CACxD,sBAAsB,EACtB,sBAAsB,CACvB;IACC,mCAAmC;gBACvB,KAAK,EAAE,sBAAsB;IAKnB,kBAAkB,CACtC,SAAS,EAAE,QAAQ,CAAC,sBAAsB,CAAC;IAO7C,OAAO,CAAC,QAAQ,CAEd;IAEF,gCAAgC;IAChB,MAAM;CA6CvB;AAED,YAAY;AACZ,wBAAgB,YAAY,CAAC,KAAK,EAAE,eAAe,GAAG,KAAK,CAAC,SAAS,
|
|
1
|
+
{"version":3,"file":"ListPicker.d.ts","sourceRoot":"","sources":["../../../../src/appui-react/pickers/ListPicker.tsx"],"names":[],"mappings":"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"}
|
|
@@ -105,7 +105,9 @@ export function getListPanel(props) {
|
|
|
105
105
|
};
|
|
106
106
|
return (React.createElement(Panel, { className: "ListPickerContainer" },
|
|
107
107
|
React.createElement(Title, null, props.title),
|
|
108
|
-
props.searchBox && props.onSearchValueChange && (
|
|
108
|
+
props.searchBox && props.onSearchValueChange && (
|
|
109
|
+
// eslint-disable-next-line deprecation/deprecation
|
|
110
|
+
React.createElement(SearchBox, { className: "ListPickerSearchBox", onValueChanged: props.onSearchValueChange })),
|
|
109
111
|
React.createElement(Columns, null,
|
|
110
112
|
React.createElement(GroupColumn, { className: "ListPicker-column" }, props.items.map(listItemToElement)))));
|
|
111
113
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ListPicker.js","sourceRoot":"","sources":["../../../../src/appui-react/pickers/ListPicker.tsx"],"names":[],"mappings":"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","sourcesContent":["/*---------------------------------------------------------------------------------------------\n * Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n * See LICENSE.md in the project root for license terms and full copyright notice.\n *--------------------------------------------------------------------------------------------*/\n/** @packageDocumentation\n * @module Picker\n */\n\nimport \"./ListPicker.scss\";\nimport classnames from \"classnames\";\nimport * as React from \"react\";\nimport {\n Columns,\n GroupColumn,\n Panel,\n PopupItem,\n Title,\n} from \"@itwin/components-react\";\nimport type { CommonProps, SizeProps } from \"@itwin/core-react\";\nimport { Icon, SearchBox } from \"@itwin/core-react\";\nimport { ToolbarDragInteractionContext } from \"../toolbar/DragInteraction\";\nimport { UiFramework } from \"../UiFramework\";\nimport {\n SvgChevronDown,\n SvgChevronRight,\n SvgList,\n} from \"@itwin/itwinui-icons-react\";\n\n/** Enum for the list picker item type\n * @beta\n */\nexport enum ListItemType {\n Item = 0,\n Separator = 1,\n Container = 2,\n}\n\n/** List picker item\n * @beta\n */\nexport interface ListItem {\n [key: string]: any;\n id?: string;\n name?: string;\n enabled: boolean;\n type?: ListItemType;\n children?: ListItem[];\n}\n\n/** Properties for the [[ListPicker]] component\n * @beta\n */\nexport interface ListPickerProps {\n title: string;\n items: ListItem[];\n iconSpec?: string | React.ReactNode;\n setEnabled: (item: ListItem, enabled: boolean) => any;\n onExpanded?: (expand: boolean) => void;\n onSizeKnown?: (size: SizeProps) => void;\n searchBox?: boolean;\n onSearchValueChange?: (search: string) => void;\n panelOnly?: boolean;\n expanded?: boolean;\n}\n\n/** Properties for the [[ListPickerItem]] component\n * @beta\n */\nexport interface ListPickerItemProps extends CommonProps {\n key: any;\n isActive?: boolean;\n isFocused?: boolean;\n onClick?: () => void;\n label?: string;\n}\n\n/** List Picker Item React component\n * @beta\n */\nexport class ListPickerItem extends React.PureComponent<ListPickerItemProps> {\n /** Renders ListPickerItem */\n public override render() {\n const itemClassName = classnames(\n \"ListPicker-item\",\n this.props.isActive && \"is-active\",\n this.props.isFocused && \"is-focused\",\n this.props.className\n );\n // TODO - if cut off, show a title\n const title: string | undefined =\n this.props.label && this.props.label.length > 25\n ? this.props.label\n : undefined;\n\n return (\n // eslint-disable-next-line jsx-a11y/click-events-have-key-events\n <div\n className={itemClassName}\n onClick={this.props.onClick}\n role=\"button\"\n tabIndex={-1}\n >\n <div className=\"label\" title={title}>\n {this.props.label}\n </div>\n </div>\n );\n }\n}\n\n/** Properties for the [[ExpandableSection]] component\n * @beta\n */\nexport interface ExpandableSectionProps extends CommonProps {\n title?: string;\n expanded?: boolean;\n /** Content */\n children?: React.ReactNode;\n}\n\n/** State for the [[ExpandableSection]] component\n * @internal\n */\ninterface ExpandableSectionState {\n expanded: boolean;\n}\n\n/** Expandable Section React component\n * @beta\n */\nexport class ExpandableSection extends React.PureComponent<\n ExpandableSectionProps,\n ExpandableSectionState\n> {\n /** Creates an ExpandableSection */\n constructor(props: ExpandableSectionProps) {\n super(props);\n this.state = { expanded: !!this.props.expanded };\n }\n\n public override async componentDidUpdate(\n prevProps: Readonly<ExpandableSectionProps>\n ) {\n if (this.props.expanded !== prevProps.expanded) {\n this.setState({ expanded: true });\n }\n }\n\n private _onClick = () => {\n this.setState((prevState) => ({ expanded: !prevState.expanded }));\n };\n\n /** Renders ExpandableSection */\n public override render() {\n const className = classnames(\n \"nz-toolbar-item-expandable-group-group\",\n this.props.className\n );\n\n const icon = this.state.expanded ? (\n <Icon iconSpec={<SvgChevronDown />} />\n ) : (\n <Icon iconSpec={<SvgChevronRight />} />\n );\n\n return (\n <Panel\n className={className}\n style={this.props.style}\n key={this.props.title}\n >\n {/* eslint-disable-next-line jsx-a11y/click-events-have-key-events */}\n <div\n onClick={this._onClick}\n className={\n this.state.expanded\n ? \"ListPickerInnerContainer-header-expanded\"\n : \"ListPickerInnerContainer-header\"\n }\n role=\"button\"\n tabIndex={-1}\n aria-expanded={this.state.expanded}\n >\n <div className=\"ListPickerInnerContainer-header-content\">\n <div className=\"ListPickerInnerContainer-expander\">{icon}</div>\n <div className=\"ListPickerInnerContainer-title\">\n {this.props.title}\n </div>\n </div>\n </div>\n {this.state.expanded ? (\n <GroupColumn>{this.props.children}</GroupColumn>\n ) : (\n <div />\n )}\n </Panel>\n );\n }\n}\n\n/** @beta */\nexport function getListPanel(props: ListPickerProps): React.ReactNode {\n const expandSingleSection = (): boolean => {\n const populatedContainers = props.items.filter((item: ListItem) => {\n return (\n item.type === ListItemType.Container && item.children!.length !== 0\n );\n });\n return populatedContainers.length === 1;\n };\n\n const listItemToElement = (item: ListItem, itemIndex: number) => {\n switch (item.type) {\n case ListItemType.Item:\n return (\n <ListPickerItem\n {...props}\n key={itemIndex.toString()}\n label={item.name}\n isActive={item.enabled}\n onClick={\n // istanbul ignore next\n () => {\n props.setEnabled(item, !item.enabled);\n }\n }\n />\n );\n case ListItemType.Separator:\n return (\n <div key={itemIndex.toString()} className=\"ListPicker-separator\" />\n );\n case ListItemType.Container:\n if (item.children!.length !== 0) {\n return (\n <ExpandableSection\n key={itemIndex.toString()}\n title={item.name}\n className=\"ListPickerInnerContainer\"\n expanded={\n props.expanded === true\n ? !expandSingleSection()\n : expandSingleSection()\n }\n >\n <GroupColumn>{item.children!.map(listItemToElement)}</GroupColumn>\n </ExpandableSection>\n );\n } else {\n return <div key={itemIndex.toString()} />;\n }\n // istanbul ignore next\n default:\n return <div key={itemIndex.toString()} />;\n }\n };\n\n return (\n <Panel className=\"ListPickerContainer\">\n <Title>{props.title}</Title>\n {props.searchBox && props.onSearchValueChange && (\n <SearchBox\n className=\"ListPickerSearchBox\"\n onValueChanged={props.onSearchValueChange}\n />\n )}\n <Columns>\n <GroupColumn className=\"ListPicker-column\">\n {props.items.map(listItemToElement)}\n </GroupColumn>\n </Columns>\n </Panel>\n );\n}\n\n/**\n * List picker toolbar popup item.\n * Used to provide an expandable list of items to enable/disable items.\n * @beta\n */\nfunction ListPickerPopupItem(props: ListPickerProps) {\n const icon = props.iconSpec ? (\n /* istanbul ignore next */ typeof props.iconSpec === \"string\" ? (\n <Icon iconSpec={props.iconSpec} />\n ) : (\n <i className=\"icon uifw-item-svg-icon\">{props.iconSpec}</i>\n )\n ) : (\n <Icon iconSpec={<SvgList />} />\n );\n\n return (\n <ToolbarDragInteractionContext.Consumer>\n {(isEnabled) => {\n return props.panelOnly === true ? (\n getListPanel(props)\n ) : (\n <PopupItem\n hideIndicator={isEnabled}\n icon={icon}\n title={props.title}\n panel={getListPanel(props)}\n />\n );\n }}\n </ToolbarDragInteractionContext.Consumer>\n );\n}\n\n/** Properties for the [[ListPicker]] component\n * @beta\n */\nexport interface ListPickerPropsExtended extends ListPickerProps {\n enableAllFunc?: () => void;\n disableAllFunc?: () => void;\n invertFunc?: () => void;\n}\n\n/**\n * List Picker that lets the user pick from a list of items to enable/disable\n * It also provides options to enable all, disable all and invert selection\n * @beta\n */\nexport class ListPicker extends React.Component<ListPickerPropsExtended> {\n public static get Key_All() {\n return -3;\n }\n public static get Key_None() {\n return -2;\n }\n public static get Key_Invert() {\n return -1;\n }\n public static get Key_Separator() {\n return -4;\n }\n\n /** Creates a ListPicker */\n constructor(props: ListPickerPropsExtended) {\n super(props);\n }\n\n // Creates an array of items containing the separator and special requests (all, none, invert)\n private createItems(items: ListItem[]): ListItem[] {\n const newItems: ListItem[] = [];\n\n // Create special buttons (All/None/Invert)\n if (this.props.enableAllFunc) {\n let allEnabled = true;\n items.map((item: ListItem) => {\n allEnabled = allEnabled && item.enabled;\n });\n newItems.push({\n key: ListPicker.Key_All,\n name: UiFramework.translate(\"pickerButtons.all\"),\n enabled: allEnabled,\n type: ListItemType.Item,\n });\n }\n if (this.props.disableAllFunc) {\n let allDisabled = false;\n items.map((item: ListItem) => {\n allDisabled = allDisabled || item.enabled;\n });\n newItems.push({\n key: ListPicker.Key_None,\n name: UiFramework.translate(\"pickerButtons.none\"),\n enabled: !allDisabled,\n type: ListItemType.Item,\n });\n }\n if (this.props.invertFunc) {\n newItems.push({\n key: ListPicker.Key_Invert,\n name: UiFramework.translate(\"pickerButtons.invert\"),\n enabled: false,\n type: ListItemType.Item,\n });\n }\n if (\n this.props.enableAllFunc ||\n this.props.disableAllFunc ||\n this.props.invertFunc\n ) {\n newItems.push({\n key: ListPicker.Key_Separator,\n name: UiFramework.translate(\"pickerButtons.separator\"),\n enabled: false,\n type: ListItemType.Separator,\n });\n }\n\n // Push items\n items.map((item) => {\n newItems.push(item);\n });\n return newItems;\n }\n\n /**\n * Checks if item is a special item.\n * @param item Item to check\n */\n public isSpecialItem(item: ListItem) {\n return (\n item.key === ListPicker.Key_All ||\n item.key === ListPicker.Key_Invert ||\n item.key === ListPicker.Key_None ||\n item.type !== ListItemType.Item ||\n item.key === ListPicker.Key_Separator\n );\n }\n\n // Handle enabling/disabling the items\n // This will call the this.props.setEnabled function to provide the parent with a chance to process it\n private _setEnabled = (item: ListItem, enabled: boolean) => {\n if (this.isSpecialItem(item)) {\n switch (item.key) {\n case ListPicker.Key_All: {\n // istanbul ignore else\n if (this.props.enableAllFunc) this.props.enableAllFunc();\n return;\n }\n case ListPicker.Key_None: {\n // istanbul ignore else\n if (this.props.disableAllFunc) this.props.disableAllFunc();\n return;\n }\n case ListPicker.Key_Invert: {\n // istanbul ignore else\n if (this.props.invertFunc) this.props.invertFunc();\n return;\n }\n }\n }\n\n // Call on parent to do processing of the item\n this.props.setEnabled(item, enabled);\n };\n\n /** Renders ListPicker */\n public override render() {\n return (\n <ListPickerPopupItem\n {...this.props}\n title={this.props.title}\n setEnabled={this._setEnabled}\n onExpanded={this.props.onExpanded}\n items={this.createItems(this.props.items)}\n iconSpec={this.props.iconSpec}\n />\n );\n }\n}\n"]}
|
|
1
|
+
{"version":3,"file":"ListPicker.js","sourceRoot":"","sources":["../../../../src/appui-react/pickers/ListPicker.tsx"],"names":[],"mappings":"AAAA;;;gGAGgG;AAChG;;GAEG;AAEH,OAAO,mBAAmB,CAAC;AAC3B,OAAO,UAAU,MAAM,YAAY,CAAC;AACpC,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EACL,OAAO,EACP,WAAW,EACX,KAAK,EACL,SAAS,EACT,KAAK,GACN,MAAM,yBAAyB,CAAC;AAEjC,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,6BAA6B,EAAE,MAAM,4BAA4B,CAAC;AAC3E,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAC7C,OAAO,EACL,cAAc,EACd,eAAe,EACf,OAAO,GACR,MAAM,4BAA4B,CAAC;AAEpC;;GAEG;AACH,MAAM,CAAN,IAAY,YAIX;AAJD,WAAY,YAAY;IACtB,+CAAQ,CAAA;IACR,yDAAa,CAAA;IACb,yDAAa,CAAA;AACf,CAAC,EAJW,YAAY,KAAZ,YAAY,QAIvB;AAyCD;;GAEG;AACH,MAAM,OAAO,cAAe,SAAQ,KAAK,CAAC,aAAkC;IAC1E,6BAA6B;IACb,MAAM;QACpB,MAAM,aAAa,GAAG,UAAU,CAC9B,iBAAiB,EACjB,IAAI,CAAC,KAAK,CAAC,QAAQ,IAAI,WAAW,EAClC,IAAI,CAAC,KAAK,CAAC,SAAS,IAAI,YAAY,EACpC,IAAI,CAAC,KAAK,CAAC,SAAS,CACrB,CAAC;QACF,kCAAkC;QAClC,MAAM,KAAK,GACT,IAAI,CAAC,KAAK,CAAC,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,EAAE;YAC9C,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK;YAClB,CAAC,CAAC,SAAS,CAAC;QAEhB,OAAO;QACL,iEAAiE;QACjE,6BACE,SAAS,EAAE,aAAa,EACxB,OAAO,EAAE,IAAI,CAAC,KAAK,CAAC,OAAO,EAC3B,IAAI,EAAC,QAAQ,EACb,QAAQ,EAAE,CAAC,CAAC;YAEZ,6BAAK,SAAS,EAAC,OAAO,EAAC,KAAK,EAAE,KAAK,IAChC,IAAI,CAAC,KAAK,CAAC,KAAK,CACb,CACF,CACP,CAAC;IACJ,CAAC;CACF;AAmBD;;GAEG;AACH,MAAM,OAAO,iBAAkB,SAAQ,KAAK,CAAC,aAG5C;IACC,mCAAmC;IACnC,YAAY,KAA6B;QACvC,KAAK,CAAC,KAAK,CAAC,CAAC;QAYP,aAAQ,GAAG,GAAG,EAAE;YACtB,IAAI,CAAC,QAAQ,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC,EAAE,QAAQ,EAAE,CAAC,SAAS,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC;QACpE,CAAC,CAAC;QAbA,IAAI,CAAC,KAAK,GAAG,EAAE,QAAQ,EAAE,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC;IACnD,CAAC;IAEe,KAAK,CAAC,kBAAkB,CACtC,SAA2C;QAE3C,IAAI,IAAI,CAAC,KAAK,CAAC,QAAQ,KAAK,SAAS,CAAC,QAAQ,EAAE;YAC9C,IAAI,CAAC,QAAQ,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC;SACnC;IACH,CAAC;IAMD,gCAAgC;IAChB,MAAM;QACpB,MAAM,SAAS,GAAG,UAAU,CAC1B,wCAAwC,EACxC,IAAI,CAAC,KAAK,CAAC,SAAS,CACrB,CAAC;QAEF,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,CACjC,oBAAC,IAAI,IAAC,QAAQ,EAAE,oBAAC,cAAc,OAAG,GAAI,CACvC,CAAC,CAAC,CAAC,CACF,oBAAC,IAAI,IAAC,QAAQ,EAAE,oBAAC,eAAe,OAAG,GAAI,CACxC,CAAC;QAEF,OAAO,CACL,oBAAC,KAAK,IACJ,SAAS,EAAE,SAAS,EACpB,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,KAAK,EACvB,GAAG,EAAE,IAAI,CAAC,KAAK,CAAC,KAAK;YAGrB,6BACE,OAAO,EAAE,IAAI,CAAC,QAAQ,EACtB,SAAS,EACP,IAAI,CAAC,KAAK,CAAC,QAAQ;oBACjB,CAAC,CAAC,0CAA0C;oBAC5C,CAAC,CAAC,iCAAiC,EAEvC,IAAI,EAAC,QAAQ,EACb,QAAQ,EAAE,CAAC,CAAC,mBACG,IAAI,CAAC,KAAK,CAAC,QAAQ;gBAElC,6BAAK,SAAS,EAAC,yCAAyC;oBACtD,6BAAK,SAAS,EAAC,mCAAmC,IAAE,IAAI,CAAO;oBAC/D,6BAAK,SAAS,EAAC,gCAAgC,IAC5C,IAAI,CAAC,KAAK,CAAC,KAAK,CACb,CACF,CACF;YACL,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,CACrB,oBAAC,WAAW,QAAE,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAe,CACjD,CAAC,CAAC,CAAC,CACF,gCAAO,CACR,CACK,CACT,CAAC;IACJ,CAAC;CACF;AAED,YAAY;AACZ,MAAM,UAAU,YAAY,CAAC,KAAsB;IACjD,MAAM,mBAAmB,GAAG,GAAY,EAAE;QACxC,MAAM,mBAAmB,GAAG,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,IAAc,EAAE,EAAE;YAChE,OAAO,CACL,IAAI,CAAC,IAAI,KAAK,YAAY,CAAC,SAAS,IAAI,IAAI,CAAC,QAAS,CAAC,MAAM,KAAK,CAAC,CACpE,CAAC;QACJ,CAAC,CAAC,CAAC;QACH,OAAO,mBAAmB,CAAC,MAAM,KAAK,CAAC,CAAC;IAC1C,CAAC,CAAC;IAEF,MAAM,iBAAiB,GAAG,CAAC,IAAc,EAAE,SAAiB,EAAE,EAAE;QAC9D,QAAQ,IAAI,CAAC,IAAI,EAAE;YACjB,KAAK,YAAY,CAAC,IAAI;gBACpB,OAAO,CACL,oBAAC,cAAc,OACT,KAAK,EACT,GAAG,EAAE,SAAS,CAAC,QAAQ,EAAE,EACzB,KAAK,EAAE,IAAI,CAAC,IAAI,EAChB,QAAQ,EAAE,IAAI,CAAC,OAAO,EACtB,OAAO;oBACL,uBAAuB;oBACvB,GAAG,EAAE;wBACH,KAAK,CAAC,UAAU,CAAC,IAAI,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;oBACxC,CAAC,GAEH,CACH,CAAC;YACJ,KAAK,YAAY,CAAC,SAAS;gBACzB,OAAO,CACL,6BAAK,GAAG,EAAE,SAAS,CAAC,QAAQ,EAAE,EAAE,SAAS,EAAC,sBAAsB,GAAG,CACpE,CAAC;YACJ,KAAK,YAAY,CAAC,SAAS;gBACzB,IAAI,IAAI,CAAC,QAAS,CAAC,MAAM,KAAK,CAAC,EAAE;oBAC/B,OAAO,CACL,oBAAC,iBAAiB,IAChB,GAAG,EAAE,SAAS,CAAC,QAAQ,EAAE,EACzB,KAAK,EAAE,IAAI,CAAC,IAAI,EAChB,SAAS,EAAC,0BAA0B,EACpC,QAAQ,EACN,KAAK,CAAC,QAAQ,KAAK,IAAI;4BACrB,CAAC,CAAC,CAAC,mBAAmB,EAAE;4BACxB,CAAC,CAAC,mBAAmB,EAAE;wBAG3B,oBAAC,WAAW,QAAE,IAAI,CAAC,QAAS,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAe,CAChD,CACrB,CAAC;iBACH;qBAAM;oBACL,OAAO,6BAAK,GAAG,EAAE,SAAS,CAAC,QAAQ,EAAE,GAAI,CAAC;iBAC3C;YACH,uBAAuB;YACvB;gBACE,OAAO,6BAAK,GAAG,EAAE,SAAS,CAAC,QAAQ,EAAE,GAAI,CAAC;SAC7C;IACH,CAAC,CAAC;IAEF,OAAO,CACL,oBAAC,KAAK,IAAC,SAAS,EAAC,qBAAqB;QACpC,oBAAC,KAAK,QAAE,KAAK,CAAC,KAAK,CAAS;QAC3B,KAAK,CAAC,SAAS,IAAI,KAAK,CAAC,mBAAmB,IAAI;QAC/C,mDAAmD;QACnD,oBAAC,SAAS,IACR,SAAS,EAAC,qBAAqB,EAC/B,cAAc,EAAE,KAAK,CAAC,mBAAmB,GACzC,CACH;QACD,oBAAC,OAAO;YACN,oBAAC,WAAW,IAAC,SAAS,EAAC,mBAAmB,IACvC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,iBAAiB,CAAC,CACvB,CACN,CACJ,CACT,CAAC;AACJ,CAAC;AAED;;;;GAIG;AACH,SAAS,mBAAmB,CAAC,KAAsB;IACjD,MAAM,IAAI,GAAG,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC;IAC5B,0BAA0B,CAAC,OAAO,KAAK,CAAC,QAAQ,KAAK,QAAQ,CAAC,CAAC,CAAC,CAC9D,oBAAC,IAAI,IAAC,QAAQ,EAAE,KAAK,CAAC,QAAQ,GAAI,CACnC,CAAC,CAAC,CAAC,CACF,2BAAG,SAAS,EAAC,yBAAyB,IAAE,KAAK,CAAC,QAAQ,CAAK,CAC5D,CACF,CAAC,CAAC,CAAC,CACF,oBAAC,IAAI,IAAC,QAAQ,EAAE,oBAAC,OAAO,OAAG,GAAI,CAChC,CAAC;IAEF,OAAO,CACL,oBAAC,6BAA6B,CAAC,QAAQ,QACpC,CAAC,SAAS,EAAE,EAAE;QACb,OAAO,KAAK,CAAC,SAAS,KAAK,IAAI,CAAC,CAAC,CAAC,CAChC,YAAY,CAAC,KAAK,CAAC,CACpB,CAAC,CAAC,CAAC,CACF,oBAAC,SAAS,IACR,aAAa,EAAE,SAAS,EACxB,IAAI,EAAE,IAAI,EACV,KAAK,EAAE,KAAK,CAAC,KAAK,EAClB,KAAK,EAAE,YAAY,CAAC,KAAK,CAAC,GAC1B,CACH,CAAC;IACJ,CAAC,CACsC,CAC1C,CAAC;AACJ,CAAC;AAWD;;;;GAIG;AACH,MAAM,OAAO,UAAW,SAAQ,KAAK,CAAC,SAAkC;IAC/D,MAAM,KAAK,OAAO;QACvB,OAAO,CAAC,CAAC,CAAC;IACZ,CAAC;IACM,MAAM,KAAK,QAAQ;QACxB,OAAO,CAAC,CAAC,CAAC;IACZ,CAAC;IACM,MAAM,KAAK,UAAU;QAC1B,OAAO,CAAC,CAAC,CAAC;IACZ,CAAC;IACM,MAAM,KAAK,aAAa;QAC7B,OAAO,CAAC,CAAC,CAAC;IACZ,CAAC;IAED,2BAA2B;IAC3B,YAAY,KAA8B;QACxC,KAAK,CAAC,KAAK,CAAC,CAAC;QA0Ef,sCAAsC;QACtC,sGAAsG;QAC9F,gBAAW,GAAG,CAAC,IAAc,EAAE,OAAgB,EAAE,EAAE;YACzD,IAAI,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,EAAE;gBAC5B,QAAQ,IAAI,CAAC,GAAG,EAAE;oBAChB,KAAK,UAAU,CAAC,OAAO,CAAC,CAAC;wBACvB,uBAAuB;wBACvB,IAAI,IAAI,CAAC,KAAK,CAAC,aAAa;4BAAE,IAAI,CAAC,KAAK,CAAC,aAAa,EAAE,CAAC;wBACzD,OAAO;qBACR;oBACD,KAAK,UAAU,CAAC,QAAQ,CAAC,CAAC;wBACxB,uBAAuB;wBACvB,IAAI,IAAI,CAAC,KAAK,CAAC,cAAc;4BAAE,IAAI,CAAC,KAAK,CAAC,cAAc,EAAE,CAAC;wBAC3D,OAAO;qBACR;oBACD,KAAK,UAAU,CAAC,UAAU,CAAC,CAAC;wBAC1B,uBAAuB;wBACvB,IAAI,IAAI,CAAC,KAAK,CAAC,UAAU;4BAAE,IAAI,CAAC,KAAK,CAAC,UAAU,EAAE,CAAC;wBACnD,OAAO;qBACR;iBACF;aACF;YAED,8CAA8C;YAC9C,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;QACvC,CAAC,CAAC;IAlGF,CAAC;IAED,8FAA8F;IACtF,WAAW,CAAC,KAAiB;QACnC,MAAM,QAAQ,GAAe,EAAE,CAAC;QAEhC,2CAA2C;QAC3C,IAAI,IAAI,CAAC,KAAK,CAAC,aAAa,EAAE;YAC5B,IAAI,UAAU,GAAG,IAAI,CAAC;YACtB,KAAK,CAAC,GAAG,CAAC,CAAC,IAAc,EAAE,EAAE;gBAC3B,UAAU,GAAG,UAAU,IAAI,IAAI,CAAC,OAAO,CAAC;YAC1C,CAAC,CAAC,CAAC;YACH,QAAQ,CAAC,IAAI,CAAC;gBACZ,GAAG,EAAE,UAAU,CAAC,OAAO;gBACvB,IAAI,EAAE,WAAW,CAAC,SAAS,CAAC,mBAAmB,CAAC;gBAChD,OAAO,EAAE,UAAU;gBACnB,IAAI,EAAE,YAAY,CAAC,IAAI;aACxB,CAAC,CAAC;SACJ;QACD,IAAI,IAAI,CAAC,KAAK,CAAC,cAAc,EAAE;YAC7B,IAAI,WAAW,GAAG,KAAK,CAAC;YACxB,KAAK,CAAC,GAAG,CAAC,CAAC,IAAc,EAAE,EAAE;gBAC3B,WAAW,GAAG,WAAW,IAAI,IAAI,CAAC,OAAO,CAAC;YAC5C,CAAC,CAAC,CAAC;YACH,QAAQ,CAAC,IAAI,CAAC;gBACZ,GAAG,EAAE,UAAU,CAAC,QAAQ;gBACxB,IAAI,EAAE,WAAW,CAAC,SAAS,CAAC,oBAAoB,CAAC;gBACjD,OAAO,EAAE,CAAC,WAAW;gBACrB,IAAI,EAAE,YAAY,CAAC,IAAI;aACxB,CAAC,CAAC;SACJ;QACD,IAAI,IAAI,CAAC,KAAK,CAAC,UAAU,EAAE;YACzB,QAAQ,CAAC,IAAI,CAAC;gBACZ,GAAG,EAAE,UAAU,CAAC,UAAU;gBAC1B,IAAI,EAAE,WAAW,CAAC,SAAS,CAAC,sBAAsB,CAAC;gBACnD,OAAO,EAAE,KAAK;gBACd,IAAI,EAAE,YAAY,CAAC,IAAI;aACxB,CAAC,CAAC;SACJ;QACD,IACE,IAAI,CAAC,KAAK,CAAC,aAAa;YACxB,IAAI,CAAC,KAAK,CAAC,cAAc;YACzB,IAAI,CAAC,KAAK,CAAC,UAAU,EACrB;YACA,QAAQ,CAAC,IAAI,CAAC;gBACZ,GAAG,EAAE,UAAU,CAAC,aAAa;gBAC7B,IAAI,EAAE,WAAW,CAAC,SAAS,CAAC,yBAAyB,CAAC;gBACtD,OAAO,EAAE,KAAK;gBACd,IAAI,EAAE,YAAY,CAAC,SAAS;aAC7B,CAAC,CAAC;SACJ;QAED,aAAa;QACb,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;YACjB,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACtB,CAAC,CAAC,CAAC;QACH,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED;;;OAGG;IACI,aAAa,CAAC,IAAc;QACjC,OAAO,CACL,IAAI,CAAC,GAAG,KAAK,UAAU,CAAC,OAAO;YAC/B,IAAI,CAAC,GAAG,KAAK,UAAU,CAAC,UAAU;YAClC,IAAI,CAAC,GAAG,KAAK,UAAU,CAAC,QAAQ;YAChC,IAAI,CAAC,IAAI,KAAK,YAAY,CAAC,IAAI;YAC/B,IAAI,CAAC,GAAG,KAAK,UAAU,CAAC,aAAa,CACtC,CAAC;IACJ,CAAC;IA6BD,yBAAyB;IACT,MAAM;QACpB,OAAO,CACL,oBAAC,mBAAmB,OACd,IAAI,CAAC,KAAK,EACd,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,KAAK,EACvB,UAAU,EAAE,IAAI,CAAC,WAAW,EAC5B,UAAU,EAAE,IAAI,CAAC,KAAK,CAAC,UAAU,EACjC,KAAK,EAAE,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,EACzC,QAAQ,EAAE,IAAI,CAAC,KAAK,CAAC,QAAQ,GAC7B,CACH,CAAC;IACJ,CAAC;CACF","sourcesContent":["/*---------------------------------------------------------------------------------------------\n * Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n * See LICENSE.md in the project root for license terms and full copyright notice.\n *--------------------------------------------------------------------------------------------*/\n/** @packageDocumentation\n * @module Picker\n */\n\nimport \"./ListPicker.scss\";\nimport classnames from \"classnames\";\nimport * as React from \"react\";\nimport {\n Columns,\n GroupColumn,\n Panel,\n PopupItem,\n Title,\n} from \"@itwin/components-react\";\nimport type { CommonProps, SizeProps } from \"@itwin/core-react\";\nimport { Icon, SearchBox } from \"@itwin/core-react\";\nimport { ToolbarDragInteractionContext } from \"../toolbar/DragInteraction\";\nimport { UiFramework } from \"../UiFramework\";\nimport {\n SvgChevronDown,\n SvgChevronRight,\n SvgList,\n} from \"@itwin/itwinui-icons-react\";\n\n/** Enum for the list picker item type\n * @beta\n */\nexport enum ListItemType {\n Item = 0,\n Separator = 1,\n Container = 2,\n}\n\n/** List picker item\n * @beta\n */\nexport interface ListItem {\n [key: string]: any;\n id?: string;\n name?: string;\n enabled: boolean;\n type?: ListItemType;\n children?: ListItem[];\n}\n\n/** Properties for the [[ListPicker]] component\n * @beta\n */\nexport interface ListPickerProps {\n title: string;\n items: ListItem[];\n iconSpec?: string | React.ReactNode;\n setEnabled: (item: ListItem, enabled: boolean) => any;\n onExpanded?: (expand: boolean) => void;\n onSizeKnown?: (size: SizeProps) => void;\n searchBox?: boolean;\n onSearchValueChange?: (search: string) => void;\n panelOnly?: boolean;\n expanded?: boolean;\n}\n\n/** Properties for the [[ListPickerItem]] component\n * @beta\n */\nexport interface ListPickerItemProps extends CommonProps {\n key: any;\n isActive?: boolean;\n isFocused?: boolean;\n onClick?: () => void;\n label?: string;\n}\n\n/** List Picker Item React component\n * @beta\n */\nexport class ListPickerItem extends React.PureComponent<ListPickerItemProps> {\n /** Renders ListPickerItem */\n public override render() {\n const itemClassName = classnames(\n \"ListPicker-item\",\n this.props.isActive && \"is-active\",\n this.props.isFocused && \"is-focused\",\n this.props.className\n );\n // TODO - if cut off, show a title\n const title: string | undefined =\n this.props.label && this.props.label.length > 25\n ? this.props.label\n : undefined;\n\n return (\n // eslint-disable-next-line jsx-a11y/click-events-have-key-events\n <div\n className={itemClassName}\n onClick={this.props.onClick}\n role=\"button\"\n tabIndex={-1}\n >\n <div className=\"label\" title={title}>\n {this.props.label}\n </div>\n </div>\n );\n }\n}\n\n/** Properties for the [[ExpandableSection]] component\n * @beta\n */\nexport interface ExpandableSectionProps extends CommonProps {\n title?: string;\n expanded?: boolean;\n /** Content */\n children?: React.ReactNode;\n}\n\n/** State for the [[ExpandableSection]] component\n * @internal\n */\ninterface ExpandableSectionState {\n expanded: boolean;\n}\n\n/** Expandable Section React component\n * @beta\n */\nexport class ExpandableSection extends React.PureComponent<\n ExpandableSectionProps,\n ExpandableSectionState\n> {\n /** Creates an ExpandableSection */\n constructor(props: ExpandableSectionProps) {\n super(props);\n this.state = { expanded: !!this.props.expanded };\n }\n\n public override async componentDidUpdate(\n prevProps: Readonly<ExpandableSectionProps>\n ) {\n if (this.props.expanded !== prevProps.expanded) {\n this.setState({ expanded: true });\n }\n }\n\n private _onClick = () => {\n this.setState((prevState) => ({ expanded: !prevState.expanded }));\n };\n\n /** Renders ExpandableSection */\n public override render() {\n const className = classnames(\n \"nz-toolbar-item-expandable-group-group\",\n this.props.className\n );\n\n const icon = this.state.expanded ? (\n <Icon iconSpec={<SvgChevronDown />} />\n ) : (\n <Icon iconSpec={<SvgChevronRight />} />\n );\n\n return (\n <Panel\n className={className}\n style={this.props.style}\n key={this.props.title}\n >\n {/* eslint-disable-next-line jsx-a11y/click-events-have-key-events */}\n <div\n onClick={this._onClick}\n className={\n this.state.expanded\n ? \"ListPickerInnerContainer-header-expanded\"\n : \"ListPickerInnerContainer-header\"\n }\n role=\"button\"\n tabIndex={-1}\n aria-expanded={this.state.expanded}\n >\n <div className=\"ListPickerInnerContainer-header-content\">\n <div className=\"ListPickerInnerContainer-expander\">{icon}</div>\n <div className=\"ListPickerInnerContainer-title\">\n {this.props.title}\n </div>\n </div>\n </div>\n {this.state.expanded ? (\n <GroupColumn>{this.props.children}</GroupColumn>\n ) : (\n <div />\n )}\n </Panel>\n );\n }\n}\n\n/** @beta */\nexport function getListPanel(props: ListPickerProps): React.ReactNode {\n const expandSingleSection = (): boolean => {\n const populatedContainers = props.items.filter((item: ListItem) => {\n return (\n item.type === ListItemType.Container && item.children!.length !== 0\n );\n });\n return populatedContainers.length === 1;\n };\n\n const listItemToElement = (item: ListItem, itemIndex: number) => {\n switch (item.type) {\n case ListItemType.Item:\n return (\n <ListPickerItem\n {...props}\n key={itemIndex.toString()}\n label={item.name}\n isActive={item.enabled}\n onClick={\n // istanbul ignore next\n () => {\n props.setEnabled(item, !item.enabled);\n }\n }\n />\n );\n case ListItemType.Separator:\n return (\n <div key={itemIndex.toString()} className=\"ListPicker-separator\" />\n );\n case ListItemType.Container:\n if (item.children!.length !== 0) {\n return (\n <ExpandableSection\n key={itemIndex.toString()}\n title={item.name}\n className=\"ListPickerInnerContainer\"\n expanded={\n props.expanded === true\n ? !expandSingleSection()\n : expandSingleSection()\n }\n >\n <GroupColumn>{item.children!.map(listItemToElement)}</GroupColumn>\n </ExpandableSection>\n );\n } else {\n return <div key={itemIndex.toString()} />;\n }\n // istanbul ignore next\n default:\n return <div key={itemIndex.toString()} />;\n }\n };\n\n return (\n <Panel className=\"ListPickerContainer\">\n <Title>{props.title}</Title>\n {props.searchBox && props.onSearchValueChange && (\n // eslint-disable-next-line deprecation/deprecation\n <SearchBox\n className=\"ListPickerSearchBox\"\n onValueChanged={props.onSearchValueChange}\n />\n )}\n <Columns>\n <GroupColumn className=\"ListPicker-column\">\n {props.items.map(listItemToElement)}\n </GroupColumn>\n </Columns>\n </Panel>\n );\n}\n\n/**\n * List picker toolbar popup item.\n * Used to provide an expandable list of items to enable/disable items.\n * @beta\n */\nfunction ListPickerPopupItem(props: ListPickerProps) {\n const icon = props.iconSpec ? (\n /* istanbul ignore next */ typeof props.iconSpec === \"string\" ? (\n <Icon iconSpec={props.iconSpec} />\n ) : (\n <i className=\"icon uifw-item-svg-icon\">{props.iconSpec}</i>\n )\n ) : (\n <Icon iconSpec={<SvgList />} />\n );\n\n return (\n <ToolbarDragInteractionContext.Consumer>\n {(isEnabled) => {\n return props.panelOnly === true ? (\n getListPanel(props)\n ) : (\n <PopupItem\n hideIndicator={isEnabled}\n icon={icon}\n title={props.title}\n panel={getListPanel(props)}\n />\n );\n }}\n </ToolbarDragInteractionContext.Consumer>\n );\n}\n\n/** Properties for the [[ListPicker]] component\n * @beta\n */\nexport interface ListPickerPropsExtended extends ListPickerProps {\n enableAllFunc?: () => void;\n disableAllFunc?: () => void;\n invertFunc?: () => void;\n}\n\n/**\n * List Picker that lets the user pick from a list of items to enable/disable\n * It also provides options to enable all, disable all and invert selection\n * @beta\n */\nexport class ListPicker extends React.Component<ListPickerPropsExtended> {\n public static get Key_All() {\n return -3;\n }\n public static get Key_None() {\n return -2;\n }\n public static get Key_Invert() {\n return -1;\n }\n public static get Key_Separator() {\n return -4;\n }\n\n /** Creates a ListPicker */\n constructor(props: ListPickerPropsExtended) {\n super(props);\n }\n\n // Creates an array of items containing the separator and special requests (all, none, invert)\n private createItems(items: ListItem[]): ListItem[] {\n const newItems: ListItem[] = [];\n\n // Create special buttons (All/None/Invert)\n if (this.props.enableAllFunc) {\n let allEnabled = true;\n items.map((item: ListItem) => {\n allEnabled = allEnabled && item.enabled;\n });\n newItems.push({\n key: ListPicker.Key_All,\n name: UiFramework.translate(\"pickerButtons.all\"),\n enabled: allEnabled,\n type: ListItemType.Item,\n });\n }\n if (this.props.disableAllFunc) {\n let allDisabled = false;\n items.map((item: ListItem) => {\n allDisabled = allDisabled || item.enabled;\n });\n newItems.push({\n key: ListPicker.Key_None,\n name: UiFramework.translate(\"pickerButtons.none\"),\n enabled: !allDisabled,\n type: ListItemType.Item,\n });\n }\n if (this.props.invertFunc) {\n newItems.push({\n key: ListPicker.Key_Invert,\n name: UiFramework.translate(\"pickerButtons.invert\"),\n enabled: false,\n type: ListItemType.Item,\n });\n }\n if (\n this.props.enableAllFunc ||\n this.props.disableAllFunc ||\n this.props.invertFunc\n ) {\n newItems.push({\n key: ListPicker.Key_Separator,\n name: UiFramework.translate(\"pickerButtons.separator\"),\n enabled: false,\n type: ListItemType.Separator,\n });\n }\n\n // Push items\n items.map((item) => {\n newItems.push(item);\n });\n return newItems;\n }\n\n /**\n * Checks if item is a special item.\n * @param item Item to check\n */\n public isSpecialItem(item: ListItem) {\n return (\n item.key === ListPicker.Key_All ||\n item.key === ListPicker.Key_Invert ||\n item.key === ListPicker.Key_None ||\n item.type !== ListItemType.Item ||\n item.key === ListPicker.Key_Separator\n );\n }\n\n // Handle enabling/disabling the items\n // This will call the this.props.setEnabled function to provide the parent with a chance to process it\n private _setEnabled = (item: ListItem, enabled: boolean) => {\n if (this.isSpecialItem(item)) {\n switch (item.key) {\n case ListPicker.Key_All: {\n // istanbul ignore else\n if (this.props.enableAllFunc) this.props.enableAllFunc();\n return;\n }\n case ListPicker.Key_None: {\n // istanbul ignore else\n if (this.props.disableAllFunc) this.props.disableAllFunc();\n return;\n }\n case ListPicker.Key_Invert: {\n // istanbul ignore else\n if (this.props.invertFunc) this.props.invertFunc();\n return;\n }\n }\n }\n\n // Call on parent to do processing of the item\n this.props.setEnabled(item, enabled);\n };\n\n /** Renders ListPicker */\n public override render() {\n return (\n <ListPickerPopupItem\n {...this.props}\n title={this.props.title}\n setEnabled={this._setEnabled}\n onExpanded={this.props.onExpanded}\n items={this.createItems(this.props.items)}\n iconSpec={this.props.iconSpec}\n />\n );\n }\n}\n"]}
|
|
@@ -8,6 +8,7 @@ import type { IModelConnection, ViewState } from "@itwin/core-frontend";
|
|
|
8
8
|
import type { ListItem } from "./ListPicker";
|
|
9
9
|
/** [[ViewSelectorChangedEvent]] Args interface.
|
|
10
10
|
* @beta
|
|
11
|
+
* @deprecated in 4.13.x. Event args are inferred from a listener. If explicit type is needed use a type helper.
|
|
11
12
|
*/
|
|
12
13
|
export interface ViewSelectorChangedEventArgs {
|
|
13
14
|
iModelConnection: IModelConnection;
|
|
@@ -17,6 +18,7 @@ export interface ViewSelectorChangedEventArgs {
|
|
|
17
18
|
}
|
|
18
19
|
/** ViewSelector Changed Event class.
|
|
19
20
|
* @beta
|
|
21
|
+
* @deprecated in 4.13.x. This class should not be used by applications to instantiate objects.
|
|
20
22
|
*/
|
|
21
23
|
export declare class ViewSelectorChangedEvent extends UiEvent<ViewSelectorChangedEventArgs> {
|
|
22
24
|
}
|
|
@@ -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,OAAO,EAAE,MAAM,uBAAuB,CAAC;AAChD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAEtD,OAAO,KAAK,EAAE,gBAAgB,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AAMxE,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAC;AAO7C
|
|
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,OAAO,EAAE,MAAM,uBAAuB,CAAC;AAChD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAEtD,OAAO,KAAK,EAAE,gBAAgB,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AAMxE,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAC;AAO7C;;;GAGG;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;;;GAGG;AAEH,qBAAa,wBAAyB,SAAQ,OAAO,CAAC,4BAA4B,CAAC;CAAG;AAEtF;;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;IACrB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB;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;IACrB,SAAS,EAAE,OAAO,CAAC;IACnB,SAAS,EAAE,OAAO,CAAC;IACnB,MAAM,EAAE,OAAO,CAAC;CACjB;AAED;;GAEG;AACH,MAAM,MAAM,wBAAwB,GAAG,IAAI,CACzC,iBAAiB,EACjB,cAAc,GAAG,cAAc,GAAG,YAAY,GAAG,aAAa,CAC/D,CAAC;AAWF;;GAEG;AACH,qBAAa,YAAa,SAAQ,KAAK,CAAC,SAAS,CAC/C,iBAAiB,EACjB,iBAAiB,CAClB;IACC,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,8BAA8B,CACH;IACnD,OAAO,CAAC,yBAAyB,CAAC,CAAa;IAC/C,OAAO,CAAC,UAAU,CAAS;IAC3B,OAAO,CAAC,YAAY,CAAM;IAE1B,gBAAuB,YAAY,EAAE,wBAAwB,CAK3D;IAEF,4CAA4C;IAC5C,gBAAuB,0BAA0B,2BAChB;IAEjC;OACG;WACW,kBAAkB,CAC9B,YAAY,EAAE,OAAO,EACrB,YAAY,EAAE,OAAO,EACrB,UAAU,EAAE,OAAO,EACnB,WAAW,EAAE,OAAO,GACnB,IAAI;IASP,6BAA6B;gBACjB,KAAK,EAAE,iBAAiB;IAiBd,iBAAiB;IAWjB,kBAAkB,CAAC,SAAS,EAAE,iBAAiB;IAMrD,oBAAoB;IAMpC,OAAO,CAAC,kCAAkC,CAOxC;IAEF,OAAO,CAAC,kBAAkB;IA2D1B;;OAEG;IACU,SAAS,IAAI,OAAO,CAAC,IAAI,CAAC;IA0FvC;;;OAGG;IAEU,WAAW,CAAC,MAAM,CAAC,EAAE,GAAG,GAAG,OAAO,CAAC,IAAI,CAAC;IA0BrD,OAAO,CAAC,WAAW,CA+DjB;IAIF,OAAO,CAAC,WAAW,CAOjB;IAEF;;OAEG;IACa,MAAM;CA2BvB;AAED;;GAEG;AACH,eAAO,MAAM,2BAA2B,oEAGzB,CAAC"}
|
|
@@ -7,7 +7,7 @@
|
|
|
7
7
|
*/
|
|
8
8
|
import * as React from "react";
|
|
9
9
|
import { UiEvent } from "@itwin/appui-abstract";
|
|
10
|
-
import { Logger } from "@itwin/core-bentley";
|
|
10
|
+
import { BeUiEvent, Logger } from "@itwin/core-bentley";
|
|
11
11
|
import { FuzzySearch, IModelApp } from "@itwin/core-frontend";
|
|
12
12
|
import { connectIModelConnection } from "../redux/connectIModel";
|
|
13
13
|
import { UiFramework } from "../UiFramework";
|
|
@@ -17,15 +17,11 @@ import { debounce } from "lodash";
|
|
|
17
17
|
import svgSavedView from "@bentley/icons-generic/icons/saved-view.svg";
|
|
18
18
|
/** ViewSelector Changed Event class.
|
|
19
19
|
* @beta
|
|
20
|
+
* @deprecated in 4.13.x. This class should not be used by applications to instantiate objects.
|
|
20
21
|
*/
|
|
21
22
|
// eslint-disable-next-line deprecation/deprecation
|
|
22
23
|
export class ViewSelectorChangedEvent extends UiEvent {
|
|
23
24
|
}
|
|
24
|
-
/** ViewSelector Show Update Event class.
|
|
25
|
-
*/
|
|
26
|
-
// eslint-disable-next-line deprecation/deprecation
|
|
27
|
-
class ViewSelectorShowUpdateEvent extends UiEvent {
|
|
28
|
-
}
|
|
29
25
|
/** View Selector React component
|
|
30
26
|
* @beta
|
|
31
27
|
*/
|
|
@@ -201,11 +197,10 @@ class ViewSelector extends React.Component {
|
|
|
201
197
|
const query = { wantPrivate: false };
|
|
202
198
|
const specs = await this.props.imodel.views.getViewList(query);
|
|
203
199
|
specs.forEach((spec) => {
|
|
204
|
-
var _a;
|
|
205
200
|
const viewItem = {
|
|
206
201
|
key: spec.id,
|
|
207
202
|
name: spec.name,
|
|
208
|
-
enabled: spec.id ===
|
|
203
|
+
enabled: spec.id === IModelApp.viewManager.selectedView?.view.id
|
|
209
204
|
? true
|
|
210
205
|
: false,
|
|
211
206
|
type: ListItemType.Item,
|
|
@@ -230,16 +225,16 @@ class ViewSelector extends React.Component {
|
|
|
230
225
|
sheetsFiltered = [];
|
|
231
226
|
unknownFiltered = [];
|
|
232
227
|
views3dFuzzySearchResults.forEach(function (result) {
|
|
233
|
-
views3dFiltered
|
|
228
|
+
views3dFiltered?.push(result.item);
|
|
234
229
|
});
|
|
235
230
|
views2dFuzzySearchResults.forEach(function (result) {
|
|
236
|
-
views2dFiltered
|
|
231
|
+
views2dFiltered?.push(result.item);
|
|
237
232
|
});
|
|
238
233
|
sheetsFuzzySearchResults.forEach(function (result) {
|
|
239
|
-
sheetsFiltered
|
|
234
|
+
sheetsFiltered?.push(result.item);
|
|
240
235
|
});
|
|
241
236
|
unknownFuzzySearchResults.forEach(function (result) {
|
|
242
|
-
unknownFiltered
|
|
237
|
+
unknownFiltered?.push(result.item);
|
|
243
238
|
});
|
|
244
239
|
}
|
|
245
240
|
}
|
|
@@ -282,7 +277,7 @@ class ViewSelector extends React.Component {
|
|
|
282
277
|
}, 300), panelOnly: this.state.panelOnly, expanded: this.state.expand }));
|
|
283
278
|
}
|
|
284
279
|
}
|
|
285
|
-
ViewSelector._onViewSelectorShowUpdateEvent = new
|
|
280
|
+
ViewSelector._onViewSelectorShowUpdateEvent = new BeUiEvent();
|
|
286
281
|
ViewSelector.defaultProps = {
|
|
287
282
|
showSpatials: true,
|
|
288
283
|
showDrawings: true,
|
|
@@ -290,7 +285,7 @@ ViewSelector.defaultProps = {
|
|
|
290
285
|
showUnknown: true,
|
|
291
286
|
};
|
|
292
287
|
/** Gets the [[ViewSelectorChangedEvent]] */
|
|
293
|
-
ViewSelector.onViewSelectorChangedEvent = new ViewSelectorChangedEvent();
|
|
288
|
+
ViewSelector.onViewSelectorChangedEvent = new ViewSelectorChangedEvent(); // eslint-disable-line deprecation/deprecation
|
|
294
289
|
export { ViewSelector };
|
|
295
290
|
/** ViewSelector that is connected to the IModelConnection property in the Redux store. The application must set up the Redux store and include the FrameworkReducer.
|
|
296
291
|
* @beta
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ViewSelector.js","sourceRoot":"","sources":["../../../../src/appui-react/pickers/ViewSelector.tsx"],"names":[],"mappings":"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","sourcesContent":["/*---------------------------------------------------------------------------------------------\n * Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n * See LICENSE.md in the project root for license terms and full copyright notice.\n *--------------------------------------------------------------------------------------------*/\n/** @packageDocumentation\n * @module Picker\n */\n\nimport * as React from \"react\";\nimport { UiEvent } from \"@itwin/appui-abstract\";\nimport type { Id64String } from \"@itwin/core-bentley\";\nimport { Logger } from \"@itwin/core-bentley\";\nimport type { IModelConnection, ViewState } from \"@itwin/core-frontend\";\nimport { FuzzySearch, IModelApp } from \"@itwin/core-frontend\";\nimport type { SupportsViewSelectorChange } from \"../content/ContentControl\";\nimport { connectIModelConnection } from \"../redux/connectIModel\";\nimport { UiFramework } from \"../UiFramework\";\nimport { ViewUtilities } from \"../utils/ViewUtilities\";\nimport type { ListItem } from \"./ListPicker\";\nimport { ListItemType, ListPicker } from \"./ListPicker\";\nimport { debounce } from \"lodash\";\nimport svgSavedView from \"@bentley/icons-generic/icons/saved-view.svg\";\n\n// cSpell:ignore Spatials\n\n/** [[ViewSelectorChangedEvent]] Args interface.\n * @beta\n */\nexport interface ViewSelectorChangedEventArgs {\n iModelConnection: IModelConnection;\n viewDefinitionId: Id64String;\n viewState: ViewState;\n name: string;\n}\n\n/** ViewSelector Changed Event class.\n * @beta\n */\n// eslint-disable-next-line deprecation/deprecation\nexport class ViewSelectorChangedEvent extends UiEvent<ViewSelectorChangedEventArgs> {}\n\n/** Properties for the [[ViewSelector]] component\n * @beta\n */\nexport interface ViewSelectorProps {\n imodel?: IModelConnection;\n listenForShowUpdates?: boolean;\n\n showSpatials: boolean;\n showDrawings: boolean;\n showSheets: boolean;\n showUnknown: boolean;\n searchBox?: boolean;\n panelOnly?: boolean;\n}\n\n/** State for the [[ViewSelector]] component\n * @beta\n */\ninterface ViewSelectorState {\n items: ListItem[];\n title: string;\n initialized: boolean;\n showSpatials: boolean;\n showDrawings: boolean;\n showSheets: boolean;\n showUnknown: boolean;\n searchBox: boolean;\n panelOnly: boolean;\n expand: boolean;\n}\n\n/** Default properties of [[ViewSelector]] component.\n * @beta\n */\nexport type ViewSelectorDefaultProps = Pick<\n ViewSelectorProps,\n \"showSpatials\" | \"showDrawings\" | \"showSheets\" | \"showUnknown\"\n>;\n\n/** ViewSelector Show Update Event Args interface.\n */\ninterface ViewSelectorShowUpdateEventArgs {\n showSpatials: boolean;\n showDrawings: boolean;\n showSheets: boolean;\n showUnknown: boolean;\n}\n\n/** ViewSelector Show Update Event class.\n */\n// eslint-disable-next-line deprecation/deprecation\nclass ViewSelectorShowUpdateEvent extends UiEvent<ViewSelectorShowUpdateEventArgs> {}\n\n/** View Selector React component\n * @beta\n */\nexport class ViewSelector extends React.Component<\n ViewSelectorProps,\n ViewSelectorState\n> {\n private static readonly _onViewSelectorShowUpdateEvent =\n new ViewSelectorShowUpdateEvent();\n private _removeShowUpdateListener?: () => void;\n private _isMounted = false;\n private _searchInput = \"\";\n\n public static readonly defaultProps: ViewSelectorDefaultProps = {\n showSpatials: true,\n showDrawings: true,\n showSheets: true,\n showUnknown: true,\n };\n\n /** Gets the [[ViewSelectorChangedEvent]] */\n public static readonly onViewSelectorChangedEvent =\n new ViewSelectorChangedEvent();\n\n /** Updates the ViewSelector show settings.\n */\n public static updateShowSettings(\n showSpatials: boolean,\n showDrawings: boolean,\n showSheets: boolean,\n showUnknown: boolean\n ): void {\n ViewSelector._onViewSelectorShowUpdateEvent.emit({\n showSpatials,\n showDrawings,\n showSheets,\n showUnknown,\n });\n }\n\n /** Creates a ViewSelector */\n constructor(props: ViewSelectorProps) {\n super(props);\n\n this.state = {\n items: new Array<ListItem>(),\n title: UiFramework.translate(\"viewTypes.views\"),\n initialized: false,\n showSpatials: props.showSpatials,\n showDrawings: props.showDrawings,\n showSheets: props.showSheets,\n showUnknown: props.showUnknown,\n searchBox: props.searchBox ? props.searchBox : true,\n panelOnly: props.panelOnly ? props.panelOnly : false,\n expand: false,\n };\n }\n\n public override async componentDidMount() {\n this._isMounted = true;\n if (this.props.listenForShowUpdates)\n this._removeShowUpdateListener =\n ViewSelector._onViewSelectorShowUpdateEvent.addListener(\n this._handleViewSelectorShowUpdateEvent\n );\n\n await this.loadViews();\n }\n\n public override async componentDidUpdate(prevProps: ViewSelectorProps) {\n if (this.props.imodel !== prevProps.imodel) {\n await this.loadViews();\n }\n }\n\n public override componentWillUnmount() {\n this._isMounted = false;\n // istanbul ignore else\n if (this._removeShowUpdateListener) this._removeShowUpdateListener();\n }\n\n private _handleViewSelectorShowUpdateEvent = (\n args: ViewSelectorShowUpdateEventArgs\n ): void => {\n // istanbul ignore next\n if (!this._isMounted) return;\n\n this.setState(args, async () => this.loadViews());\n };\n\n private setStateContainers(\n views3d: ListItem[],\n views2d: ListItem[],\n sheets: ListItem[],\n unknown?: ListItem[],\n views3dFiltered?: ListItem[],\n views2dFiltered?: ListItem[],\n sheetsFiltered?: ListItem[],\n unknownFiltered?: ListItem[]\n ) {\n const views3dContainer: ListItem = {\n key: \"views3dContainer\",\n name: UiFramework.translate(\"viewTypes.spatialViews\"),\n enabled: false,\n type: ListItemType.Container,\n children: views3dFiltered ? views3dFiltered : views3d,\n };\n\n const views2dContainer: ListItem = {\n key: \"views2dContainer\",\n name: UiFramework.translate(\"viewTypes.drawings\"),\n enabled: false,\n type: ListItemType.Container,\n children: views2dFiltered ? views2dFiltered : views2d,\n };\n\n const sheetContainer: ListItem = {\n key: \"sheetContainer\",\n name: UiFramework.translate(\"viewTypes.sheets\"),\n enabled: false,\n type: ListItemType.Container,\n children: sheetsFiltered ? sheetsFiltered : sheets,\n };\n\n const containers = [views3dContainer, views2dContainer, sheetContainer];\n\n // istanbul ignore if\n if (unknown && unknown.length > 0) {\n // This should never show, but just in case we missed a type of view state\n const unknownContainer: ListItem = {\n key: \"unknownContainer\",\n name: UiFramework.translate(\"viewTypes.others\"),\n enabled: false,\n type: ListItemType.Container,\n children: unknownFiltered ? unknownFiltered : unknown,\n };\n\n if (unknown.length !== 0) containers.push(unknownContainer);\n }\n\n // istanbul ignore next\n if (!this._isMounted) return;\n\n this.setState({\n items: containers,\n title: UiFramework.translate(\"viewTypes.views\"),\n initialized: true,\n });\n }\n /**\n * Query the views and set the initial state with the iModel's views.\n */\n public async loadViews(): Promise<void> {\n // Query views and add them to state\n const views3d: ListItem[] = [];\n const views2d: ListItem[] = [];\n const sheets: ListItem[] = [];\n const unknown: ListItem[] = [];\n let views3dFiltered: ListItem[] | undefined;\n let views2dFiltered: ListItem[] | undefined;\n let sheetsFiltered: ListItem[] | undefined;\n let unknownFiltered: ListItem[] | undefined;\n const fuzzy = new FuzzySearch<ListItem>();\n\n if (this.props.imodel && this.props.imodel.views.getViewList) {\n const query = { wantPrivate: false };\n const specs = await this.props.imodel.views.getViewList(query);\n\n specs.forEach((spec: IModelConnection.ViewSpec) => {\n const viewItem: ListItem = {\n key: spec.id,\n name: spec.name,\n enabled:\n spec.id === IModelApp.viewManager.selectedView?.view.id\n ? true\n : false,\n type: ListItemType.Item,\n };\n\n const className = ViewUtilities.getBisBaseClass(spec.class);\n\n if (ViewUtilities.isSpatial(className) && this.state.showSpatials)\n views3d.push(viewItem);\n else if (ViewUtilities.isDrawing(className) && this.state.showDrawings)\n views2d.push(viewItem);\n else if (ViewUtilities.isSheet(className) && this.state.showSheets)\n sheets.push(viewItem);\n else if (this.state.showUnknown) unknown.push(viewItem);\n });\n\n if (this._searchInput.length > 0) {\n const views3dFuzzySearchResults = fuzzy.search(\n views3d,\n [\"name\"],\n this._searchInput\n ).results as ListItem[];\n const views2dFuzzySearchResults = fuzzy.search(\n views2d,\n [\"name\"],\n this._searchInput\n ).results as ListItem[];\n const sheetsFuzzySearchResults = fuzzy.search(\n sheets,\n [\"name\"],\n this._searchInput\n ).results as ListItem[];\n const unknownFuzzySearchResults = fuzzy.search(\n unknown,\n [\"name\"],\n this._searchInput\n ).results as ListItem[];\n views3dFiltered = [];\n views2dFiltered = [];\n sheetsFiltered = [];\n unknownFiltered = [];\n views3dFuzzySearchResults.forEach(function (result) {\n views3dFiltered?.push(result.item);\n });\n views2dFuzzySearchResults.forEach(function (result) {\n views2dFiltered?.push(result.item);\n });\n sheetsFuzzySearchResults.forEach(function (result) {\n sheetsFiltered?.push(result.item);\n });\n unknownFuzzySearchResults.forEach(function (result) {\n unknownFiltered?.push(result.item);\n });\n }\n }\n\n this.setStateContainers(\n views3d,\n views2d,\n sheets,\n unknown,\n views3dFiltered,\n views2dFiltered,\n sheetsFiltered,\n unknownFiltered\n );\n }\n\n /**\n * Update state of the entries in the widget.\n * @param viewId Identifier for the relevant view\n */\n // istanbul ignore next\n public async updateState(viewId?: any): Promise<void> {\n // Wait for initialization finished\n if (!this.state.initialized) return;\n\n // Query views and add them to state\n const views3d: ListItem[] = this.state.items[0].children!;\n const views2d: ListItem[] = this.state.items[1].children!;\n const sheets: ListItem[] = this.state.items[2].children!;\n const unknown: ListItem[] =\n this.state.items.length > 3 ? this.state.items[3].children! : [];\n\n const updateChildren = (item: ListItem) => {\n if (item.key === viewId) return { ...item, enabled: true };\n else return { ...item, enabled: false };\n };\n\n this.setStateContainers(\n views3d.map(updateChildren),\n views2d.map(updateChildren),\n sheets.map(updateChildren),\n unknown.map(updateChildren)\n );\n }\n\n // enable/disable the models\n // istanbul ignore next\n private _setEnabled = async (item: ListItem, _enabled: boolean) => {\n const activeContentControl =\n UiFramework.content.getActiveContentControl() as unknown as SupportsViewSelectorChange;\n if (\n !activeContentControl ||\n !activeContentControl.supportsViewSelectorChange\n ) {\n Logger.logError(\n UiFramework.loggerCategory(this),\n `No active ContentControl for ViewSelector change`\n );\n return;\n }\n\n // Enable the item temporarily to let user see that their click was registered\n // while we query for view state and change the current view which may take a bit\n if (_enabled && item.type !== ListItemType.Container) {\n // This itemMapper simply looks through all the list items and their nested children and enables the one\n // that we have registered to enable\n // Also disable all other items\n const itemMapper: (tempItem: ListItem) => ListItem = (\n tempItem: ListItem\n ) => {\n if (tempItem.type === ListItemType.Container) {\n return { ...tempItem, children: tempItem.children!.map(itemMapper) };\n } else if (tempItem.key === item.key) {\n return { ...tempItem, enabled: true };\n } else {\n return { ...tempItem, enabled: false };\n }\n };\n\n // Create the new array with the current item enabled\n const itemsWithEnabled = this.state.items.map(itemMapper);\n\n // istanbul ignore next\n if (!this._isMounted) return;\n\n // Update the state so that we show the user it was enabled while we work in the background\n this.setState({ items: itemsWithEnabled });\n }\n\n // Load the view state using the viewSpec's ID\n const viewState = await this.props.imodel!.views.load(item.key);\n\n // Let activeContentControl process the ViewSelector change\n await activeContentControl.processViewSelectorChange(\n this.props.imodel!,\n item.key,\n viewState,\n item.name!\n );\n\n // Emit a change event\n ViewSelector.onViewSelectorChangedEvent.emit({\n iModelConnection: this.props.imodel!,\n viewDefinitionId: item.key,\n viewState,\n name: item.name!,\n });\n\n // Set state to show enabled the view that got selected\n void this.updateState(item.key);\n };\n\n // Hook on the category selector being expanded so that we may initialize if needed\n // istanbul ignore next\n private _onExpanded = (expand: boolean) => {\n if (expand)\n void this.updateState(\n IModelApp.viewManager.selectedView\n ? IModelApp.viewManager.selectedView.view.id\n : undefined\n );\n };\n\n /**\n * Renders ViewSelector component\n */\n public override render() {\n const { imodel, ...props } = this.props;\n\n return (\n <ListPicker\n {...props}\n title={this.state.title}\n setEnabled={this._setEnabled}\n items={this.state.items}\n iconSpec={svgSavedView}\n onExpanded={this._onExpanded}\n searchBox={this.state.searchBox}\n onSearchValueChange={debounce((search: string) => {\n this._searchInput = search;\n if (\n this._isMounted &&\n this.state.expand === false &&\n this._searchInput.length > 0\n )\n this.setState({ expand: true });\n void this.loadViews();\n }, 300)}\n panelOnly={this.state.panelOnly}\n expanded={this.state.expand}\n />\n );\n }\n}\n\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.\n * @beta\n */\nexport const IModelConnectedViewSelector = connectIModelConnection(\n null,\n null\n)(ViewSelector);\n"]}
|
|
1
|
+
{"version":3,"file":"ViewSelector.js","sourceRoot":"","sources":["../../../../src/appui-react/pickers/ViewSelector.tsx"],"names":[],"mappings":"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","sourcesContent":["/*---------------------------------------------------------------------------------------------\n * Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n * See LICENSE.md in the project root for license terms and full copyright notice.\n *--------------------------------------------------------------------------------------------*/\n/** @packageDocumentation\n * @module Picker\n */\n\nimport * as React from \"react\";\nimport { UiEvent } from \"@itwin/appui-abstract\";\nimport type { Id64String } from \"@itwin/core-bentley\";\nimport { BeUiEvent, Logger } from \"@itwin/core-bentley\";\nimport type { IModelConnection, ViewState } from \"@itwin/core-frontend\";\nimport { FuzzySearch, IModelApp } from \"@itwin/core-frontend\";\nimport type { SupportsViewSelectorChange } from \"../content/ContentControl\";\nimport { connectIModelConnection } from \"../redux/connectIModel\";\nimport { UiFramework } from \"../UiFramework\";\nimport { ViewUtilities } from \"../utils/ViewUtilities\";\nimport type { ListItem } from \"./ListPicker\";\nimport { ListItemType, ListPicker } from \"./ListPicker\";\nimport { debounce } from \"lodash\";\nimport svgSavedView from \"@bentley/icons-generic/icons/saved-view.svg\";\n\n// cSpell:ignore Spatials\n\n/** [[ViewSelectorChangedEvent]] Args interface.\n * @beta\n * @deprecated in 4.13.x. Event args are inferred from a listener. If explicit type is needed use a type helper.\n */\nexport interface ViewSelectorChangedEventArgs {\n iModelConnection: IModelConnection;\n viewDefinitionId: Id64String;\n viewState: ViewState;\n name: string;\n}\n\n/** ViewSelector Changed Event class.\n * @beta\n * @deprecated in 4.13.x. This class should not be used by applications to instantiate objects.\n */\n// eslint-disable-next-line deprecation/deprecation\nexport class ViewSelectorChangedEvent extends UiEvent<ViewSelectorChangedEventArgs> {}\n\n/** Properties for the [[ViewSelector]] component\n * @beta\n */\nexport interface ViewSelectorProps {\n imodel?: IModelConnection;\n listenForShowUpdates?: boolean;\n\n showSpatials: boolean;\n showDrawings: boolean;\n showSheets: boolean;\n showUnknown: boolean;\n searchBox?: boolean;\n panelOnly?: boolean;\n}\n\n/** State for the [[ViewSelector]] component\n * @beta\n */\ninterface ViewSelectorState {\n items: ListItem[];\n title: string;\n initialized: boolean;\n showSpatials: boolean;\n showDrawings: boolean;\n showSheets: boolean;\n showUnknown: boolean;\n searchBox: boolean;\n panelOnly: boolean;\n expand: boolean;\n}\n\n/** Default properties of [[ViewSelector]] component.\n * @beta\n */\nexport type ViewSelectorDefaultProps = Pick<\n ViewSelectorProps,\n \"showSpatials\" | \"showDrawings\" | \"showSheets\" | \"showUnknown\"\n>;\n\n/** ViewSelector Show Update Event Args interface.\n */\ninterface ViewSelectorShowUpdateEventArgs {\n showSpatials: boolean;\n showDrawings: boolean;\n showSheets: boolean;\n showUnknown: boolean;\n}\n\n/** View Selector React component\n * @beta\n */\nexport class ViewSelector extends React.Component<\n ViewSelectorProps,\n ViewSelectorState\n> {\n private static readonly _onViewSelectorShowUpdateEvent =\n new BeUiEvent<ViewSelectorShowUpdateEventArgs>();\n private _removeShowUpdateListener?: () => void;\n private _isMounted = false;\n private _searchInput = \"\";\n\n public static readonly defaultProps: ViewSelectorDefaultProps = {\n showSpatials: true,\n showDrawings: true,\n showSheets: true,\n showUnknown: true,\n };\n\n /** Gets the [[ViewSelectorChangedEvent]] */\n public static readonly onViewSelectorChangedEvent =\n new ViewSelectorChangedEvent(); // eslint-disable-line deprecation/deprecation\n\n /** Updates the ViewSelector show settings.\n */\n public static updateShowSettings(\n showSpatials: boolean,\n showDrawings: boolean,\n showSheets: boolean,\n showUnknown: boolean\n ): void {\n ViewSelector._onViewSelectorShowUpdateEvent.emit({\n showSpatials,\n showDrawings,\n showSheets,\n showUnknown,\n });\n }\n\n /** Creates a ViewSelector */\n constructor(props: ViewSelectorProps) {\n super(props);\n\n this.state = {\n items: new Array<ListItem>(),\n title: UiFramework.translate(\"viewTypes.views\"),\n initialized: false,\n showSpatials: props.showSpatials,\n showDrawings: props.showDrawings,\n showSheets: props.showSheets,\n showUnknown: props.showUnknown,\n searchBox: props.searchBox ? props.searchBox : true,\n panelOnly: props.panelOnly ? props.panelOnly : false,\n expand: false,\n };\n }\n\n public override async componentDidMount() {\n this._isMounted = true;\n if (this.props.listenForShowUpdates)\n this._removeShowUpdateListener =\n ViewSelector._onViewSelectorShowUpdateEvent.addListener(\n this._handleViewSelectorShowUpdateEvent\n );\n\n await this.loadViews();\n }\n\n public override async componentDidUpdate(prevProps: ViewSelectorProps) {\n if (this.props.imodel !== prevProps.imodel) {\n await this.loadViews();\n }\n }\n\n public override componentWillUnmount() {\n this._isMounted = false;\n // istanbul ignore else\n if (this._removeShowUpdateListener) this._removeShowUpdateListener();\n }\n\n private _handleViewSelectorShowUpdateEvent = (\n args: ViewSelectorShowUpdateEventArgs\n ): void => {\n // istanbul ignore next\n if (!this._isMounted) return;\n\n this.setState(args, async () => this.loadViews());\n };\n\n private setStateContainers(\n views3d: ListItem[],\n views2d: ListItem[],\n sheets: ListItem[],\n unknown?: ListItem[],\n views3dFiltered?: ListItem[],\n views2dFiltered?: ListItem[],\n sheetsFiltered?: ListItem[],\n unknownFiltered?: ListItem[]\n ) {\n const views3dContainer: ListItem = {\n key: \"views3dContainer\",\n name: UiFramework.translate(\"viewTypes.spatialViews\"),\n enabled: false,\n type: ListItemType.Container,\n children: views3dFiltered ? views3dFiltered : views3d,\n };\n\n const views2dContainer: ListItem = {\n key: \"views2dContainer\",\n name: UiFramework.translate(\"viewTypes.drawings\"),\n enabled: false,\n type: ListItemType.Container,\n children: views2dFiltered ? views2dFiltered : views2d,\n };\n\n const sheetContainer: ListItem = {\n key: \"sheetContainer\",\n name: UiFramework.translate(\"viewTypes.sheets\"),\n enabled: false,\n type: ListItemType.Container,\n children: sheetsFiltered ? sheetsFiltered : sheets,\n };\n\n const containers = [views3dContainer, views2dContainer, sheetContainer];\n\n // istanbul ignore if\n if (unknown && unknown.length > 0) {\n // This should never show, but just in case we missed a type of view state\n const unknownContainer: ListItem = {\n key: \"unknownContainer\",\n name: UiFramework.translate(\"viewTypes.others\"),\n enabled: false,\n type: ListItemType.Container,\n children: unknownFiltered ? unknownFiltered : unknown,\n };\n\n if (unknown.length !== 0) containers.push(unknownContainer);\n }\n\n // istanbul ignore next\n if (!this._isMounted) return;\n\n this.setState({\n items: containers,\n title: UiFramework.translate(\"viewTypes.views\"),\n initialized: true,\n });\n }\n /**\n * Query the views and set the initial state with the iModel's views.\n */\n public async loadViews(): Promise<void> {\n // Query views and add them to state\n const views3d: ListItem[] = [];\n const views2d: ListItem[] = [];\n const sheets: ListItem[] = [];\n const unknown: ListItem[] = [];\n let views3dFiltered: ListItem[] | undefined;\n let views2dFiltered: ListItem[] | undefined;\n let sheetsFiltered: ListItem[] | undefined;\n let unknownFiltered: ListItem[] | undefined;\n const fuzzy = new FuzzySearch<ListItem>();\n\n if (this.props.imodel && this.props.imodel.views.getViewList) {\n const query = { wantPrivate: false };\n const specs = await this.props.imodel.views.getViewList(query);\n\n specs.forEach((spec: IModelConnection.ViewSpec) => {\n const viewItem: ListItem = {\n key: spec.id,\n name: spec.name,\n enabled:\n spec.id === IModelApp.viewManager.selectedView?.view.id\n ? true\n : false,\n type: ListItemType.Item,\n };\n\n const className = ViewUtilities.getBisBaseClass(spec.class);\n\n if (ViewUtilities.isSpatial(className) && this.state.showSpatials)\n views3d.push(viewItem);\n else if (ViewUtilities.isDrawing(className) && this.state.showDrawings)\n views2d.push(viewItem);\n else if (ViewUtilities.isSheet(className) && this.state.showSheets)\n sheets.push(viewItem);\n else if (this.state.showUnknown) unknown.push(viewItem);\n });\n\n if (this._searchInput.length > 0) {\n const views3dFuzzySearchResults = fuzzy.search(\n views3d,\n [\"name\"],\n this._searchInput\n ).results as ListItem[];\n const views2dFuzzySearchResults = fuzzy.search(\n views2d,\n [\"name\"],\n this._searchInput\n ).results as ListItem[];\n const sheetsFuzzySearchResults = fuzzy.search(\n sheets,\n [\"name\"],\n this._searchInput\n ).results as ListItem[];\n const unknownFuzzySearchResults = fuzzy.search(\n unknown,\n [\"name\"],\n this._searchInput\n ).results as ListItem[];\n views3dFiltered = [];\n views2dFiltered = [];\n sheetsFiltered = [];\n unknownFiltered = [];\n views3dFuzzySearchResults.forEach(function (result) {\n views3dFiltered?.push(result.item);\n });\n views2dFuzzySearchResults.forEach(function (result) {\n views2dFiltered?.push(result.item);\n });\n sheetsFuzzySearchResults.forEach(function (result) {\n sheetsFiltered?.push(result.item);\n });\n unknownFuzzySearchResults.forEach(function (result) {\n unknownFiltered?.push(result.item);\n });\n }\n }\n\n this.setStateContainers(\n views3d,\n views2d,\n sheets,\n unknown,\n views3dFiltered,\n views2dFiltered,\n sheetsFiltered,\n unknownFiltered\n );\n }\n\n /**\n * Update state of the entries in the widget.\n * @param viewId Identifier for the relevant view\n */\n // istanbul ignore next\n public async updateState(viewId?: any): Promise<void> {\n // Wait for initialization finished\n if (!this.state.initialized) return;\n\n // Query views and add them to state\n const views3d: ListItem[] = this.state.items[0].children!;\n const views2d: ListItem[] = this.state.items[1].children!;\n const sheets: ListItem[] = this.state.items[2].children!;\n const unknown: ListItem[] =\n this.state.items.length > 3 ? this.state.items[3].children! : [];\n\n const updateChildren = (item: ListItem) => {\n if (item.key === viewId) return { ...item, enabled: true };\n else return { ...item, enabled: false };\n };\n\n this.setStateContainers(\n views3d.map(updateChildren),\n views2d.map(updateChildren),\n sheets.map(updateChildren),\n unknown.map(updateChildren)\n );\n }\n\n // enable/disable the models\n // istanbul ignore next\n private _setEnabled = async (item: ListItem, _enabled: boolean) => {\n const activeContentControl =\n UiFramework.content.getActiveContentControl() as unknown as SupportsViewSelectorChange;\n if (\n !activeContentControl ||\n !activeContentControl.supportsViewSelectorChange\n ) {\n Logger.logError(\n UiFramework.loggerCategory(this),\n `No active ContentControl for ViewSelector change`\n );\n return;\n }\n\n // Enable the item temporarily to let user see that their click was registered\n // while we query for view state and change the current view which may take a bit\n if (_enabled && item.type !== ListItemType.Container) {\n // This itemMapper simply looks through all the list items and their nested children and enables the one\n // that we have registered to enable\n // Also disable all other items\n const itemMapper: (tempItem: ListItem) => ListItem = (\n tempItem: ListItem\n ) => {\n if (tempItem.type === ListItemType.Container) {\n return { ...tempItem, children: tempItem.children!.map(itemMapper) };\n } else if (tempItem.key === item.key) {\n return { ...tempItem, enabled: true };\n } else {\n return { ...tempItem, enabled: false };\n }\n };\n\n // Create the new array with the current item enabled\n const itemsWithEnabled = this.state.items.map(itemMapper);\n\n // istanbul ignore next\n if (!this._isMounted) return;\n\n // Update the state so that we show the user it was enabled while we work in the background\n this.setState({ items: itemsWithEnabled });\n }\n\n // Load the view state using the viewSpec's ID\n const viewState = await this.props.imodel!.views.load(item.key);\n\n // Let activeContentControl process the ViewSelector change\n await activeContentControl.processViewSelectorChange(\n this.props.imodel!,\n item.key,\n viewState,\n item.name!\n );\n\n // Emit a change event\n ViewSelector.onViewSelectorChangedEvent.emit({\n iModelConnection: this.props.imodel!,\n viewDefinitionId: item.key,\n viewState,\n name: item.name!,\n });\n\n // Set state to show enabled the view that got selected\n void this.updateState(item.key);\n };\n\n // Hook on the category selector being expanded so that we may initialize if needed\n // istanbul ignore next\n private _onExpanded = (expand: boolean) => {\n if (expand)\n void this.updateState(\n IModelApp.viewManager.selectedView\n ? IModelApp.viewManager.selectedView.view.id\n : undefined\n );\n };\n\n /**\n * Renders ViewSelector component\n */\n public override render() {\n const { imodel, ...props } = this.props;\n\n return (\n <ListPicker\n {...props}\n title={this.state.title}\n setEnabled={this._setEnabled}\n items={this.state.items}\n iconSpec={svgSavedView}\n onExpanded={this._onExpanded}\n searchBox={this.state.searchBox}\n onSearchValueChange={debounce((search: string) => {\n this._searchInput = search;\n if (\n this._isMounted &&\n this.state.expand === false &&\n this._searchInput.length > 0\n )\n this.setState({ expand: true });\n void this.loadViews();\n }, 300)}\n panelOnly={this.state.panelOnly}\n expanded={this.state.expand}\n />\n );\n }\n}\n\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.\n * @beta\n */\nexport const IModelConnectedViewSelector = connectIModelConnection(\n null,\n null\n)(ViewSelector);\n"]}
|