@itwin/appui-react 5.0.5 → 5.2.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 +57 -38
- package/lib/appui-react/UiFramework.d.ts +1 -1
- package/lib/appui-react/UiFramework.d.ts.map +1 -1
- package/lib/appui-react/UiFramework.js +48 -46
- package/lib/appui-react/UiFramework.js.map +1 -1
- package/lib/appui-react/accudraw/AccuDrawCommandItems.js +1 -1
- package/lib/appui-react/accudraw/AccuDrawCommandItems.js.map +1 -1
- package/lib/appui-react/accudraw/AccuDrawDialog.js +1 -1
- package/lib/appui-react/accudraw/AccuDrawDialog.js.map +1 -1
- package/lib/appui-react/accudraw/AccuDrawFieldContainer.d.ts +2 -0
- package/lib/appui-react/accudraw/AccuDrawFieldContainer.d.ts.map +1 -1
- package/lib/appui-react/accudraw/AccuDrawFieldContainer.js +38 -26
- package/lib/appui-react/accudraw/AccuDrawFieldContainer.js.map +1 -1
- package/lib/appui-react/accudraw/AccuDrawInputField.d.ts +4 -2
- package/lib/appui-react/accudraw/AccuDrawInputField.d.ts.map +1 -1
- package/lib/appui-react/accudraw/AccuDrawInputField.js +45 -38
- package/lib/appui-react/accudraw/AccuDrawInputField.js.map +1 -1
- package/lib/appui-react/accudraw/AccuDrawInputField.scss +0 -15
- package/lib/appui-react/accudraw/AccuDrawPopupManager.js +3 -3
- package/lib/appui-react/accudraw/AccuDrawPopupManager.js.map +1 -1
- package/lib/appui-react/accudraw/AccuDrawUiSettings.js.map +1 -1
- package/lib/appui-react/accudraw/AccuDrawWidget.js +2 -2
- package/lib/appui-react/accudraw/AccuDrawWidget.js.map +1 -1
- package/lib/appui-react/accudraw/Calculator.js +1 -1
- package/lib/appui-react/accudraw/Calculator.js.map +1 -1
- package/lib/appui-react/accudraw/CalculatorPopup.js +1 -1
- package/lib/appui-react/accudraw/CalculatorPopup.js.map +1 -1
- package/lib/appui-react/accudraw/FrameworkAccuDraw.d.ts +2 -2
- package/lib/appui-react/accudraw/FrameworkAccuDraw.d.ts.map +1 -1
- package/lib/appui-react/accudraw/FrameworkAccuDraw.js +18 -15
- package/lib/appui-react/accudraw/FrameworkAccuDraw.js.map +1 -1
- package/lib/appui-react/accudraw/MenuButton.js +1 -1
- package/lib/appui-react/accudraw/MenuButton.js.map +1 -1
- package/lib/appui-react/backstage/BackstageComposer.d.ts.map +1 -1
- package/lib/appui-react/backstage/BackstageComposer.js +2 -3
- package/lib/appui-react/backstage/BackstageComposer.js.map +1 -1
- package/lib/appui-react/backstage/BackstageComposerItem.js +6 -6
- package/lib/appui-react/backstage/BackstageComposerItem.js.map +1 -1
- package/lib/appui-react/backstage/BackstageItem.js.map +1 -1
- package/lib/appui-react/backstage/BackstageItemUtilities.js.map +1 -1
- package/lib/appui-react/backstage/BackstageManager.js +3 -3
- package/lib/appui-react/backstage/BackstageManager.js.map +1 -1
- package/lib/appui-react/backstage/InternalBackstageManager.js +2 -2
- package/lib/appui-react/backstage/InternalBackstageManager.js.map +1 -1
- package/lib/appui-react/configurableui/ActivityTracker.d.ts.map +1 -1
- package/lib/appui-react/configurableui/ActivityTracker.js +0 -1
- package/lib/appui-react/configurableui/ActivityTracker.js.map +1 -1
- package/lib/appui-react/configurableui/ConfigurableUiContent.d.ts +3 -1
- package/lib/appui-react/configurableui/ConfigurableUiContent.d.ts.map +1 -1
- package/lib/appui-react/configurableui/ConfigurableUiContent.js +20 -12
- package/lib/appui-react/configurableui/ConfigurableUiContent.js.map +1 -1
- package/lib/appui-react/configurableui/ConfigurableUiControl.js.map +1 -1
- package/lib/appui-react/configurableui/InternalConfigurableUiManager.d.ts +1 -1
- package/lib/appui-react/configurableui/InternalConfigurableUiManager.d.ts.map +1 -1
- package/lib/appui-react/configurableui/InternalConfigurableUiManager.js +1 -1
- package/lib/appui-react/configurableui/InternalConfigurableUiManager.js.map +1 -1
- package/lib/appui-react/content/ContentControl.js +1 -1
- package/lib/appui-react/content/ContentControl.js.map +1 -1
- package/lib/appui-react/content/ContentGroup.js +7 -7
- package/lib/appui-react/content/ContentGroup.js.map +1 -1
- package/lib/appui-react/content/ContentLayout.d.ts.map +1 -1
- package/lib/appui-react/content/ContentLayout.js +16 -17
- package/lib/appui-react/content/ContentLayout.js.map +1 -1
- package/lib/appui-react/content/DefaultViewOverlay.js +1 -1
- package/lib/appui-react/content/DefaultViewOverlay.js.map +1 -1
- package/lib/appui-react/content/FloatingViewportContent.js +4 -4
- package/lib/appui-react/content/FloatingViewportContent.js.map +1 -1
- package/lib/appui-react/content/IModelViewport.d.ts +1 -1
- package/lib/appui-react/content/IModelViewport.d.ts.map +1 -1
- package/lib/appui-react/content/IModelViewport.js +1 -1
- package/lib/appui-react/content/IModelViewport.js.map +1 -1
- package/lib/appui-react/content/InternalContentViewManager.js +26 -26
- package/lib/appui-react/content/InternalContentViewManager.js.map +1 -1
- package/lib/appui-react/content/ViewportContentControl.js +1 -1
- package/lib/appui-react/content/ViewportContentControl.js.map +1 -1
- package/lib/appui-react/content/split-pane/SplitPane.js +2 -2
- package/lib/appui-react/content/split-pane/SplitPane.js.map +1 -1
- package/lib/appui-react/cursor/CursorInformation.d.ts +7 -0
- package/lib/appui-react/cursor/CursorInformation.d.ts.map +1 -1
- package/lib/appui-react/cursor/CursorInformation.js +15 -2
- package/lib/appui-react/cursor/CursorInformation.js.map +1 -1
- package/lib/appui-react/cursor/cursormenu/CursorMenu.d.ts +1 -1
- package/lib/appui-react/cursor/cursormenu/CursorMenu.d.ts.map +1 -1
- package/lib/appui-react/cursor/cursormenu/CursorMenu.js +3 -3
- package/lib/appui-react/cursor/cursormenu/CursorMenu.js.map +1 -1
- package/lib/appui-react/cursor/cursorpopup/CursorPopup.d.ts +1 -1
- package/lib/appui-react/cursor/cursorpopup/CursorPopup.d.ts.map +1 -1
- package/lib/appui-react/cursor/cursorpopup/CursorPopup.js +4 -4
- package/lib/appui-react/cursor/cursorpopup/CursorPopup.js.map +1 -1
- package/lib/appui-react/cursor/cursorpopup/CursorPopupManager.d.ts +4 -1
- package/lib/appui-react/cursor/cursorpopup/CursorPopupManager.d.ts.map +1 -1
- package/lib/appui-react/cursor/cursorpopup/CursorPopupManager.js +45 -30
- package/lib/appui-react/cursor/cursorpopup/CursorPopupManager.js.map +1 -1
- package/lib/appui-react/cursor/cursorprompt/CursorPrompt.d.ts +12 -15
- package/lib/appui-react/cursor/cursorprompt/CursorPrompt.d.ts.map +1 -1
- package/lib/appui-react/cursor/cursorprompt/CursorPrompt.js +47 -38
- package/lib/appui-react/cursor/cursorprompt/CursorPrompt.js.map +1 -1
- package/lib/appui-react/dialog/ContentDialog.js.map +1 -1
- package/lib/appui-react/dialog/ContentDialogManager.js +2 -2
- package/lib/appui-react/dialog/ContentDialogManager.js.map +1 -1
- package/lib/appui-react/dialog/DialogManagerBase.js +4 -4
- package/lib/appui-react/dialog/DialogManagerBase.js.map +1 -1
- package/lib/appui-react/dialog/InternalContentDialogManager.d.ts.map +1 -1
- package/lib/appui-react/dialog/InternalContentDialogManager.js +2 -3
- package/lib/appui-react/dialog/InternalContentDialogManager.js.map +1 -1
- package/lib/appui-react/dialog/InternalModalDialogManager.js +1 -1
- package/lib/appui-react/dialog/InternalModalDialogManager.js.map +1 -1
- package/lib/appui-react/dialog/InternalModelessDialogManager.d.ts.map +1 -1
- package/lib/appui-react/dialog/InternalModelessDialogManager.js +1 -2
- package/lib/appui-react/dialog/InternalModelessDialogManager.js.map +1 -1
- package/lib/appui-react/dialog/ModalDialogManager.js +2 -2
- package/lib/appui-react/dialog/ModalDialogManager.js.map +1 -1
- package/lib/appui-react/dialog/ModelessDialog.js +1 -1
- package/lib/appui-react/dialog/ModelessDialog.js.map +1 -1
- package/lib/appui-react/dialog/ModelessDialogManager.d.ts.map +1 -1
- package/lib/appui-react/dialog/ModelessDialogManager.js +2 -3
- package/lib/appui-react/dialog/ModelessDialogManager.js.map +1 -1
- package/lib/appui-react/dialog/StandardMessageBox.js +1 -1
- package/lib/appui-react/dialog/StandardMessageBox.js.map +1 -1
- package/lib/appui-react/dialog/UiDataProvidedDialog.js.map +1 -1
- package/lib/appui-react/feedback/ElementTooltip.d.ts +1 -1
- package/lib/appui-react/feedback/ElementTooltip.d.ts.map +1 -1
- package/lib/appui-react/feedback/ElementTooltip.js.map +1 -1
- package/lib/appui-react/feedback/ValidationTextbox.js.map +1 -1
- package/lib/appui-react/framework/FrameworkBackstage.js.map +1 -1
- package/lib/appui-react/framework/FrameworkContent.js +3 -3
- package/lib/appui-react/framework/FrameworkContent.js.map +1 -1
- package/lib/appui-react/framework/FrameworkControls.js.map +1 -1
- package/lib/appui-react/framework/FrameworkDialogs.js +2 -2
- package/lib/appui-react/framework/FrameworkDialogs.js.map +1 -1
- package/lib/appui-react/framework/FrameworkFrontstages.js +8 -8
- package/lib/appui-react/framework/FrameworkFrontstages.js.map +1 -1
- package/lib/appui-react/framework/FrameworkKeyboardShortcuts.js.map +1 -1
- package/lib/appui-react/framework/FrameworkToolSettings.js +1 -1
- package/lib/appui-react/framework/FrameworkToolSettings.js.map +1 -1
- package/lib/appui-react/frontstage/Frontstage.js.map +1 -1
- package/lib/appui-react/frontstage/FrontstageConfig.d.ts +5 -2
- package/lib/appui-react/frontstage/FrontstageConfig.d.ts.map +1 -1
- package/lib/appui-react/frontstage/FrontstageConfig.js.map +1 -1
- package/lib/appui-react/frontstage/FrontstageDef.d.ts +5 -1
- package/lib/appui-react/frontstage/FrontstageDef.d.ts.map +1 -1
- package/lib/appui-react/frontstage/FrontstageDef.js +22 -17
- package/lib/appui-react/frontstage/FrontstageDef.js.map +1 -1
- package/lib/appui-react/frontstage/InternalFrontstageManager.js +29 -29
- package/lib/appui-react/frontstage/InternalFrontstageManager.js.map +1 -1
- package/lib/appui-react/frontstage/ModalFrontstage.js.map +1 -1
- package/lib/appui-react/frontstage/ModalSettingsStage.d.ts.map +1 -1
- package/lib/appui-react/frontstage/ModalSettingsStage.js +2 -2
- package/lib/appui-react/frontstage/ModalSettingsStage.js.map +1 -1
- package/lib/appui-react/frontstage/NestedFrontstage.js +1 -1
- package/lib/appui-react/frontstage/NestedFrontstage.js.map +1 -1
- package/lib/appui-react/frontstage/StandardFrontstageProvider.js +1 -1
- package/lib/appui-react/frontstage/StandardFrontstageProvider.js.map +1 -1
- package/lib/appui-react/hooks/useActiveIModelConnection.js +1 -1
- package/lib/appui-react/hooks/useActiveIModelConnection.js.map +1 -1
- package/lib/appui-react/hooks/useUiVisibility.js +1 -1
- package/lib/appui-react/hooks/useUiVisibility.js.map +1 -1
- package/lib/appui-react/keyboardshortcut/InternalKeyboardShortcut.js.map +1 -1
- package/lib/appui-react/keyboardshortcut/KeyboardShortcut.js +1 -1
- package/lib/appui-react/keyboardshortcut/KeyboardShortcut.js.map +1 -1
- package/lib/appui-react/keyboardshortcut/KeyboardShortcutMenu.js.map +1 -1
- package/lib/appui-react/keyboardshortcut/KeyboardShortcutProps.js.map +1 -1
- package/lib/appui-react/layout/StandardLayout.d.ts.map +1 -1
- package/lib/appui-react/layout/StandardLayout.js +5 -1
- package/lib/appui-react/layout/StandardLayout.js.map +1 -1
- package/lib/appui-react/layout/backstage/Backstage.js.map +1 -1
- package/lib/appui-react/layout/backstage/Item.js.map +1 -1
- package/lib/appui-react/layout/backstage/Separator.js +1 -1
- package/lib/appui-react/layout/backstage/Separator.js.map +1 -1
- package/lib/appui-react/layout/base/usePointerCaptor.d.ts +1 -1
- package/lib/appui-react/layout/base/usePointerCaptor.d.ts.map +1 -1
- package/lib/appui-react/layout/footer/dialog/Dialog.js.map +1 -1
- package/lib/appui-react/layout/footer/dialog/TitleBar.js.map +1 -1
- package/lib/appui-react/layout/footer/snap-mode/Panel.js.map +1 -1
- package/lib/appui-react/layout/footer/snap-mode/Snap.js.map +1 -1
- package/lib/appui-react/layout/footer/tool-assistance/Dialog.js.map +1 -1
- package/lib/appui-react/layout/footer/tool-assistance/Instruction.js.map +1 -1
- package/lib/appui-react/layout/footer/tool-assistance/Item.js.map +1 -1
- package/lib/appui-react/layout/footer/tool-assistance/NewDot.js +1 -1
- package/lib/appui-react/layout/footer/tool-assistance/NewDot.js.map +1 -1
- package/lib/appui-react/layout/footer/tool-assistance/Separator.js.map +1 -1
- package/lib/appui-react/layout/outline/SectionOutline.js.map +1 -1
- package/lib/appui-react/layout/popup/Tooltip.js.map +1 -1
- package/lib/appui-react/layout/state/internal/PanelStateHelpers.js +1 -1
- package/lib/appui-react/layout/state/internal/PanelStateHelpers.js.map +1 -1
- package/lib/appui-react/layout/state/internal/TabStateHelpers.js +6 -6
- package/lib/appui-react/layout/state/internal/TabStateHelpers.js.map +1 -1
- package/lib/appui-react/layout/state/internal/ToolSettingsStateHelpers.js +6 -6
- package/lib/appui-react/layout/state/internal/ToolSettingsStateHelpers.js.map +1 -1
- package/lib/appui-react/layout/state/internal/WidgetStateHelpers.js +13 -13
- package/lib/appui-react/layout/state/internal/WidgetStateHelpers.js.map +1 -1
- package/lib/appui-react/layout/target/TargetContainer.js.map +1 -1
- package/lib/appui-react/layout/target/useAllowedSideTarget.js +1 -1
- package/lib/appui-react/layout/target/useAllowedSideTarget.js.map +1 -1
- package/lib/appui-react/layout/tool-settings/Docked.js +1 -1
- package/lib/appui-react/layout/tool-settings/Docked.js.map +1 -1
- package/lib/appui-react/layout/tool-settings/Handle.js.map +1 -1
- package/lib/appui-react/layout/tool-settings/Overflow.js.map +1 -1
- package/lib/appui-react/layout/tool-settings/Panel.js +1 -1
- package/lib/appui-react/layout/tool-settings/Panel.js.map +1 -1
- package/lib/appui-react/layout/tool-settings/Setting.js.map +1 -1
- package/lib/appui-react/layout/widget/Menu.js +1 -1
- package/lib/appui-react/layout/widget/Menu.js.map +1 -1
- package/lib/appui-react/layout/widget/MenuTab.js.map +1 -1
- package/lib/appui-react/layout/widget/NavigationArea.js.map +1 -1
- package/lib/appui-react/layout/widget/Tab.js +1 -1
- package/lib/appui-react/layout/widget/Tab.js.map +1 -1
- package/lib/appui-react/layout/widget/TabBar.js +1 -1
- package/lib/appui-react/layout/widget/TabBar.js.map +1 -1
- package/lib/appui-react/layout/widget/ToolsArea.js.map +1 -1
- package/lib/appui-react/layout/widget/Widget.js.map +1 -1
- package/lib/appui-react/layout/widget/tools/button/Button.js.map +1 -1
- package/lib/appui-react/layout/widget/tools/button/Expandable.js.map +1 -1
- package/lib/appui-react/layout/widget-panels/Expander.js +1 -1
- package/lib/appui-react/layout/widget-panels/Expander.js.map +1 -1
- package/lib/appui-react/layout/widget-panels/Grip.d.ts.map +1 -1
- package/lib/appui-react/layout/widget-panels/Grip.js +3 -3
- package/lib/appui-react/layout/widget-panels/Grip.js.map +1 -1
- package/lib/appui-react/layout/widget-panels/Panel.d.ts.map +1 -1
- package/lib/appui-react/layout/widget-panels/useAnimatePanel.d.ts.map +1 -1
- package/lib/appui-react/messages/InputField.js +2 -2
- package/lib/appui-react/messages/InputField.js.map +1 -1
- package/lib/appui-react/messages/MessageManager.d.ts +4 -4
- package/lib/appui-react/messages/MessageManager.d.ts.map +1 -1
- package/lib/appui-react/messages/MessageManager.js +25 -25
- package/lib/appui-react/messages/MessageManager.js.map +1 -1
- package/lib/appui-react/messages/MessageRenderer.js.map +1 -1
- package/lib/appui-react/messages/Pointer.d.ts.map +1 -1
- package/lib/appui-react/messages/Pointer.js +7 -7
- package/lib/appui-react/messages/Pointer.js.map +1 -1
- package/lib/appui-react/messages/ReactNotifyMessageDetails.d.ts +2 -2
- package/lib/appui-react/messages/ReactNotifyMessageDetails.d.ts.map +1 -1
- package/lib/appui-react/messages/ReactNotifyMessageDetails.js.map +1 -1
- package/lib/appui-react/navigationaids/CubeNavigationAidControl.js +2 -2
- package/lib/appui-react/navigationaids/CubeNavigationAidControl.js.map +1 -1
- package/lib/appui-react/navigationaids/DrawingNavigationAidControl.js +2 -2
- package/lib/appui-react/navigationaids/DrawingNavigationAidControl.js.map +1 -1
- package/lib/appui-react/navigationaids/NavigationAidControl.js.map +1 -1
- package/lib/appui-react/navigationaids/SheetNavigationAid.js +2 -2
- package/lib/appui-react/navigationaids/SheetNavigationAid.js.map +1 -1
- package/lib/appui-react/navigationaids/SheetsModalFrontstage.js +8 -8
- package/lib/appui-react/navigationaids/SheetsModalFrontstage.js.map +1 -1
- package/lib/appui-react/navigationaids/StandardRotationNavigationAid.d.ts +1 -1
- package/lib/appui-react/navigationaids/StandardRotationNavigationAid.d.ts.map +1 -1
- package/lib/appui-react/navigationaids/StandardRotationNavigationAid.js +3 -3
- package/lib/appui-react/navigationaids/StandardRotationNavigationAid.js.map +1 -1
- package/lib/appui-react/pickers/ListPicker.d.ts +1 -0
- package/lib/appui-react/pickers/ListPicker.d.ts.map +1 -1
- package/lib/appui-react/pickers/ListPicker.js +11 -10
- package/lib/appui-react/pickers/ListPicker.js.map +1 -1
- package/lib/appui-react/pickers/ViewSelector.d.ts +1 -0
- package/lib/appui-react/pickers/ViewSelector.d.ts.map +1 -1
- package/lib/appui-react/pickers/ViewSelector.js +7 -6
- package/lib/appui-react/pickers/ViewSelector.js.map +1 -1
- package/lib/appui-react/popup/CardPopup.js +2 -2
- package/lib/appui-react/popup/CardPopup.js.map +1 -1
- package/lib/appui-react/popup/ComponentPopup.js.map +1 -1
- package/lib/appui-react/popup/HTMLElementPopup.js.map +1 -1
- package/lib/appui-react/popup/InputEditorPopup.js.map +1 -1
- package/lib/appui-react/popup/KeyinPalettePanel.d.ts.map +1 -1
- package/lib/appui-react/popup/KeyinPalettePanel.js +2 -3
- package/lib/appui-react/popup/KeyinPalettePanel.js.map +1 -1
- package/lib/appui-react/popup/KeyinPalettePopup.js +1 -1
- package/lib/appui-react/popup/KeyinPalettePopup.js.map +1 -1
- package/lib/appui-react/popup/PopupManager.d.ts +1 -1
- package/lib/appui-react/popup/PopupManager.d.ts.map +1 -1
- package/lib/appui-react/popup/PopupManager.js +4 -4
- package/lib/appui-react/popup/PopupManager.js.map +1 -1
- package/lib/appui-react/popup/PositionPopup.js +2 -2
- package/lib/appui-react/popup/PositionPopup.js.map +1 -1
- package/lib/appui-react/popup/ToolSettingsPopup.js.map +1 -1
- package/lib/appui-react/popup/ToolbarPopup.js +1 -1
- package/lib/appui-react/popup/ToolbarPopup.js.map +1 -1
- package/lib/appui-react/preview/PreviewFeatures.d.ts +3 -5
- package/lib/appui-react/preview/PreviewFeatures.d.ts.map +1 -1
- package/lib/appui-react/preview/PreviewFeatures.js +1 -2
- package/lib/appui-react/preview/PreviewFeatures.js.map +1 -1
- package/lib/appui-react/preview/allow-bearing-letters-in-accudraw-input-fields/useAllowBearingLettersInAccuDrawInputFields.d.ts +5 -0
- package/lib/appui-react/preview/allow-bearing-letters-in-accudraw-input-fields/useAllowBearingLettersInAccuDrawInputFields.d.ts.map +1 -0
- package/lib/appui-react/preview/{allow-letters-in-accudraw-input-fields/useAllowLettersInAccuDrawInputFields.js → allow-bearing-letters-in-accudraw-input-fields/useAllowBearingLettersInAccuDrawInputFields.js} +5 -5
- package/lib/appui-react/preview/allow-bearing-letters-in-accudraw-input-fields/useAllowBearingLettersInAccuDrawInputFields.js.map +1 -0
- package/lib/appui-react/preview/control-widget-visibility/NavigationWidget.d.ts +1 -1
- package/lib/appui-react/preview/control-widget-visibility/NavigationWidget.d.ts.map +1 -1
- package/lib/appui-react/preview/control-widget-visibility/NavigationWidget.js +1 -1
- package/lib/appui-react/preview/control-widget-visibility/NavigationWidget.js.map +1 -1
- package/lib/appui-react/preview/enable-maximized-widget/MaximizedWidget.d.ts +1 -1
- package/lib/appui-react/preview/enable-maximized-widget/MaximizedWidget.d.ts.map +1 -1
- package/lib/appui-react/preview/enable-maximized-widget/MaximizedWidget.js.map +1 -1
- package/lib/appui-react/preview/horizontal-panel-alignment/PreviewHorizontalPanelAlign.d.ts +1 -4
- package/lib/appui-react/preview/horizontal-panel-alignment/PreviewHorizontalPanelAlign.d.ts.map +1 -1
- package/lib/appui-react/preview/horizontal-panel-alignment/PreviewHorizontalPanelAlign.js +13 -13
- package/lib/appui-react/preview/horizontal-panel-alignment/PreviewHorizontalPanelAlign.js.map +1 -1
- package/lib/appui-react/preview/reparent-popout-widgets/PopoutThemeProvider.d.ts +1 -1
- package/lib/appui-react/preview/reparent-popout-widgets/PopoutThemeProvider.d.ts.map +1 -1
- package/lib/appui-react/preview/reparent-popout-widgets/PopoutThemeProvider.js +1 -1
- package/lib/appui-react/preview/reparent-popout-widgets/PopoutThemeProvider.js.map +1 -1
- package/lib/appui-react/preview/widget-action-dropdown/MoreButton.d.ts +1 -1
- package/lib/appui-react/preview/widget-action-dropdown/MoreButton.d.ts.map +1 -1
- package/lib/appui-react/preview/widget-action-dropdown/MoreButton.js.map +1 -1
- package/lib/appui-react/redux/ConfigurableUiState.d.ts.map +1 -1
- package/lib/appui-react/redux/ConfigurableUiState.js +1 -1
- package/lib/appui-react/redux/ConfigurableUiState.js.map +1 -1
- package/lib/appui-react/redux/FrameworkState.d.ts +1 -1
- package/lib/appui-react/redux/FrameworkState.js.map +1 -1
- package/lib/appui-react/redux/ReducerRegistry.js +1 -1
- package/lib/appui-react/redux/ReducerRegistry.js.map +1 -1
- package/lib/appui-react/redux/SessionState.d.ts +2 -2
- package/lib/appui-react/redux/SessionState.d.ts.map +1 -1
- package/lib/appui-react/redux/SessionState.js.map +1 -1
- package/lib/appui-react/redux/StateManager.js +2 -2
- package/lib/appui-react/redux/StateManager.js.map +1 -1
- package/lib/appui-react/redux/connectIModel.js +1 -1
- package/lib/appui-react/redux/connectIModel.js.map +1 -1
- package/lib/appui-react/redux/redux-ts.js.map +1 -1
- package/lib/appui-react/selection/SelectionContextItemDef.js +2 -2
- package/lib/appui-react/selection/SelectionContextItemDef.js.map +1 -1
- package/lib/appui-react/settings/SettingsManager.js +1 -1
- package/lib/appui-react/settings/SettingsManager.js.map +1 -1
- package/lib/appui-react/settings/quantityformatting/QuantityFormat.js +3 -3
- package/lib/appui-react/settings/quantityformatting/QuantityFormat.js.map +1 -1
- package/lib/appui-react/settings/ui/UiSettingsPage.js +5 -5
- package/lib/appui-react/settings/ui/UiSettingsPage.js.map +1 -1
- package/lib/appui-react/shared/ActionButtonItemDef.js +1 -1
- package/lib/appui-react/shared/ActionButtonItemDef.js.map +1 -1
- package/lib/appui-react/shared/AnyItemDef.js.map +1 -1
- package/lib/appui-react/shared/AnyToolbarItemDef.js.map +1 -1
- package/lib/appui-react/shared/CommandItemDef.js +1 -1
- package/lib/appui-react/shared/CommandItemDef.js.map +1 -1
- package/lib/appui-react/shared/CustomItemDef.js +1 -1
- package/lib/appui-react/shared/CustomItemDef.js.map +1 -1
- package/lib/appui-react/shared/CustomItemProps.js.map +1 -1
- package/lib/appui-react/shared/GroupItemProps.js.map +1 -1
- package/lib/appui-react/shared/ItemDefBase.js.map +1 -1
- package/lib/appui-react/shared/ItemMap.js +1 -1
- package/lib/appui-react/shared/ItemMap.js.map +1 -1
- package/lib/appui-react/shared/ItemProps.js.map +1 -1
- package/lib/appui-react/shared/MenuItem.js +1 -1
- package/lib/appui-react/shared/MenuItem.js.map +1 -1
- package/lib/appui-react/shared/ToolItemDef.js +1 -1
- package/lib/appui-react/shared/ToolItemDef.js.map +1 -1
- package/lib/appui-react/stagepanels/StagePanelConfig.js.map +1 -1
- package/lib/appui-react/stagepanels/StagePanelDef.js +2 -2
- package/lib/appui-react/stagepanels/StagePanelDef.js.map +1 -1
- package/lib/appui-react/statusbar/Field.js.map +1 -1
- package/lib/appui-react/statusbar/Indicator.js +2 -2
- package/lib/appui-react/statusbar/Indicator.js.map +1 -1
- package/lib/appui-react/statusbar/LabelIndicator.js +2 -2
- package/lib/appui-react/statusbar/LabelIndicator.js.map +1 -1
- package/lib/appui-react/statusbar/Overflow.js.map +1 -1
- package/lib/appui-react/statusbar/Separator.js +1 -1
- package/lib/appui-react/statusbar/Separator.js.map +1 -1
- package/lib/appui-react/statusbar/StatusBar.js.map +1 -1
- package/lib/appui-react/statusbar/StatusBarComposer.js +6 -6
- package/lib/appui-react/statusbar/StatusBarComposer.js.map +1 -1
- package/lib/appui-react/statusbar/StatusBarItem.js.map +1 -1
- package/lib/appui-react/statusbar/StatusBarItemUtilities.js.map +1 -1
- package/lib/appui-react/statusbar/StatusBarWidgetControl.js.map +1 -1
- package/lib/appui-react/statusbar/dialog/Button.js.map +1 -1
- package/lib/appui-react/statusbar/dialog/Dialog.js.map +1 -1
- package/lib/appui-react/statusbar/dialog/TitleBar.js.map +1 -1
- package/lib/appui-react/statusbar/popup/Popup.js +2 -2
- package/lib/appui-react/statusbar/popup/Popup.js.map +1 -1
- package/lib/appui-react/statusfields/ActivityCenter.js +2 -2
- package/lib/appui-react/statusfields/ActivityCenter.js.map +1 -1
- package/lib/appui-react/statusfields/SectionsField.js.map +1 -1
- package/lib/appui-react/statusfields/SelectionCount.js.map +1 -1
- package/lib/appui-react/statusfields/SelectionInfo.js +2 -2
- package/lib/appui-react/statusfields/SelectionInfo.js.map +1 -1
- package/lib/appui-react/statusfields/SelectionScope.js +3 -3
- package/lib/appui-react/statusfields/SelectionScope.js.map +1 -1
- package/lib/appui-react/statusfields/SnapMode.js +2 -2
- package/lib/appui-react/statusfields/SnapMode.js.map +1 -1
- package/lib/appui-react/statusfields/ViewAttributes.d.ts +1 -1
- package/lib/appui-react/statusfields/ViewAttributes.d.ts.map +1 -1
- package/lib/appui-react/statusfields/ViewAttributes.js +1 -1
- package/lib/appui-react/statusfields/ViewAttributes.js.map +1 -1
- package/lib/appui-react/statusfields/message-center/MessageCenterField.js +1 -1
- package/lib/appui-react/statusfields/message-center/MessageCenterField.js.map +1 -1
- package/lib/appui-react/statusfields/message-center/MessageCenterMessage.js.map +1 -1
- package/lib/appui-react/statusfields/tileloading/TileLoadingIndicator.d.ts +1 -1
- package/lib/appui-react/statusfields/tileloading/TileLoadingIndicator.d.ts.map +1 -1
- package/lib/appui-react/statusfields/tileloading/TileLoadingIndicator.js +1 -1
- package/lib/appui-react/statusfields/tileloading/TileLoadingIndicator.js.map +1 -1
- package/lib/appui-react/statusfields/toolassistance/ToolAssistanceField.d.ts +11 -7
- package/lib/appui-react/statusfields/toolassistance/ToolAssistanceField.d.ts.map +1 -1
- package/lib/appui-react/statusfields/toolassistance/ToolAssistanceField.js +27 -9
- package/lib/appui-react/statusfields/toolassistance/ToolAssistanceField.js.map +1 -1
- package/lib/appui-react/syncui/InternalSyncUiEventDispatcher.js +2 -2
- package/lib/appui-react/syncui/InternalSyncUiEventDispatcher.js.map +1 -1
- package/lib/appui-react/syncui/SyncUiEventDispatcher.d.ts.map +1 -1
- package/lib/appui-react/syncui/SyncUiEventDispatcher.js +3 -8
- package/lib/appui-react/syncui/SyncUiEventDispatcher.js.map +1 -1
- package/lib/appui-react/syncui/UiSyncEvent.js +1 -1
- package/lib/appui-react/syncui/UiSyncEvent.js.map +1 -1
- package/lib/appui-react/theme/ThemeManager.d.ts +1 -1
- package/lib/appui-react/theme/ThemeManager.js +2 -2
- package/lib/appui-react/theme/ThemeManager.js.map +1 -1
- package/lib/appui-react/toolbar/GroupItem.js +1 -1
- package/lib/appui-react/toolbar/GroupItem.js.map +1 -1
- package/lib/appui-react/toolbar/Toolbar.js.map +1 -1
- package/lib/appui-react/toolbar/ToolbarComposer.js +3 -3
- package/lib/appui-react/toolbar/ToolbarComposer.js.map +1 -1
- package/lib/appui-react/toolbar/ToolbarHelper.js +4 -4
- package/lib/appui-react/toolbar/ToolbarHelper.js.map +1 -1
- package/lib/appui-react/toolbar/ToolbarItem.js.map +1 -1
- package/lib/appui-react/toolbar/ToolbarItemUtilities.js +1 -1
- package/lib/appui-react/toolbar/ToolbarItemUtilities.js.map +1 -1
- package/lib/appui-react/toolbar/ToolbarItemsManager.js +10 -10
- package/lib/appui-react/toolbar/ToolbarItemsManager.js.map +1 -1
- package/lib/appui-react/toolbar/ToolbarWithOverflow.js.map +1 -1
- package/lib/appui-react/toolbar/new-toolbars/Badge.d.ts +1 -1
- package/lib/appui-react/toolbar/new-toolbars/Badge.d.ts.map +1 -1
- package/lib/appui-react/toolbar/new-toolbars/Badge.js +1 -1
- package/lib/appui-react/toolbar/new-toolbars/Badge.js.map +1 -1
- package/lib/appui-react/toolbar/new-toolbars/GroupItem.js +2 -2
- package/lib/appui-react/toolbar/new-toolbars/GroupItem.js.map +1 -1
- package/lib/appui-react/toolbar/new-toolbars/Item.js +1 -1
- package/lib/appui-react/toolbar/new-toolbars/Item.js.map +1 -1
- package/lib/appui-react/toolbar/new-toolbars/ToolGroup.js.map +1 -1
- package/lib/appui-react/toolbar/new-toolbars/useOverflow.d.ts.map +1 -1
- package/lib/appui-react/toolbar/useDefaultToolbarItems.js +1 -1
- package/lib/appui-react/toolbar/useDefaultToolbarItems.js.map +1 -1
- package/lib/appui-react/toolbar/useUiItemsProviderToolbarItems.js +1 -1
- package/lib/appui-react/toolbar/useUiItemsProviderToolbarItems.js.map +1 -1
- package/lib/appui-react/tools/CoreToolDefinitions.js +2 -2
- package/lib/appui-react/tools/CoreToolDefinitions.js.map +1 -1
- package/lib/appui-react/tools/KeyinPaletteTools.d.ts +1 -1
- package/lib/appui-react/tools/OpenSettingsTool.d.ts +1 -1
- package/lib/appui-react/tools/RestoreLayoutTool.d.ts +2 -2
- package/lib/appui-react/tools/ToolbarItems.js +1 -1
- package/lib/appui-react/tools/ToolbarItems.js.map +1 -1
- package/lib/appui-react/toolsettings/DefaultToolSettingsProvider.d.ts.map +1 -1
- package/lib/appui-react/toolsettings/DefaultToolSettingsProvider.js +3 -3
- package/lib/appui-react/toolsettings/DefaultToolSettingsProvider.js.map +1 -1
- package/lib/appui-react/toolsettings/InternalToolSettingsManager.js +2 -2
- package/lib/appui-react/toolsettings/InternalToolSettingsManager.js.map +1 -1
- package/lib/appui-react/toolsettings/ToolInformation.js +1 -1
- package/lib/appui-react/toolsettings/ToolInformation.js.map +1 -1
- package/lib/appui-react/toolsettings/ToolUiProvider.js +1 -1
- package/lib/appui-react/toolsettings/ToolUiProvider.js.map +1 -1
- package/lib/appui-react/ui-items-provider/AbstractUiItemsManager.d.ts +5 -5
- package/lib/appui-react/ui-items-provider/AbstractUiItemsManager.js +1 -1
- package/lib/appui-react/ui-items-provider/AbstractUiItemsManager.js.map +1 -1
- package/lib/appui-react/ui-items-provider/BaseUiItemsProvider.d.ts.map +1 -1
- package/lib/appui-react/ui-items-provider/StandardContentToolsProvider.js +4 -4
- package/lib/appui-react/ui-items-provider/StandardContentToolsProvider.js.map +1 -1
- package/lib/appui-react/ui-items-provider/StandardContentToolsUiItemsProvider.d.ts.map +1 -1
- package/lib/appui-react/ui-items-provider/StandardNavigationToolsProvider.js +3 -3
- package/lib/appui-react/ui-items-provider/StandardNavigationToolsProvider.js.map +1 -1
- package/lib/appui-react/ui-items-provider/StandardNavigationToolsUiItemsProvider.d.ts.map +1 -1
- package/lib/appui-react/ui-items-provider/StandardStatusbarItemsProvider.js +3 -3
- package/lib/appui-react/ui-items-provider/StandardStatusbarItemsProvider.js.map +1 -1
- package/lib/appui-react/ui-items-provider/StandardStatusbarUiItemsProvider.d.ts.map +1 -1
- package/lib/appui-react/ui-items-provider/StandardStatusbarUiItemsProvider.js +1 -1
- package/lib/appui-react/ui-items-provider/StandardStatusbarUiItemsProvider.js.map +1 -1
- package/lib/appui-react/ui-items-provider/UiItemsManager.js +3 -3
- package/lib/appui-react/ui-items-provider/UiItemsManager.js.map +1 -1
- package/lib/appui-react/uiadmin/FrameworkUiAdmin.js +3 -3
- package/lib/appui-react/uiadmin/FrameworkUiAdmin.js.map +1 -1
- package/lib/appui-react/uiprovider/ComponentGenerator.d.ts.map +1 -1
- package/lib/appui-react/uistate/AppUiSettings.js +2 -2
- package/lib/appui-react/uistate/AppUiSettings.js.map +1 -1
- package/lib/appui-react/uistate/LocalStateStorage.js +1 -1
- package/lib/appui-react/uistate/LocalStateStorage.js.map +1 -1
- package/lib/appui-react/uistate/UiStateStorage.js +1 -1
- package/lib/appui-react/uistate/UiStateStorage.js.map +1 -1
- package/lib/appui-react/uistate/useReduxFrameworkState.js +1 -1
- package/lib/appui-react/uistate/useReduxFrameworkState.js.map +1 -1
- package/lib/appui-react/uistate/useUiStateStorage.js +1 -1
- package/lib/appui-react/uistate/useUiStateStorage.js.map +1 -1
- package/lib/appui-react/utils/PropsHelper.js +5 -5
- package/lib/appui-react/utils/PropsHelper.js.map +1 -1
- package/lib/appui-react/utils/RectangleProps.js.map +1 -1
- package/lib/appui-react/utils/SizeProps.js.map +1 -1
- package/lib/appui-react/utils/ViewUtilities.d.ts.map +1 -1
- package/lib/appui-react/utils/ViewUtilities.js.map +1 -1
- package/lib/appui-react/utils/getActiveViewport.js +1 -1
- package/lib/appui-react/utils/getActiveViewport.js.map +1 -1
- package/lib/appui-react/widget-panels/DockedBar.js.map +1 -1
- package/lib/appui-react/widget-panels/Frontstage.d.ts.map +1 -1
- package/lib/appui-react/widget-panels/Frontstage.js +9 -7
- package/lib/appui-react/widget-panels/Frontstage.js.map +1 -1
- package/lib/appui-react/widget-panels/StatusBar.js +5 -5
- package/lib/appui-react/widget-panels/StatusBar.js.map +1 -1
- package/lib/appui-react/widget-panels/Tab.js +4 -4
- package/lib/appui-react/widget-panels/Tab.js.map +1 -1
- package/lib/appui-react/widget-panels/ToolSettings.d.ts.map +1 -1
- package/lib/appui-react/widget-panels/ToolSettings.js +8 -5
- package/lib/appui-react/widget-panels/ToolSettings.js.map +1 -1
- package/lib/appui-react/widgets/BackstageAppButton.js +2 -2
- package/lib/appui-react/widgets/BackstageAppButton.js.map +1 -1
- package/lib/appui-react/widgets/BasicNavigationWidget.js +1 -1
- package/lib/appui-react/widgets/BasicNavigationWidget.js.map +1 -1
- package/lib/appui-react/widgets/BasicToolWidget.js +1 -1
- package/lib/appui-react/widgets/BasicToolWidget.js.map +1 -1
- package/lib/appui-react/widgets/ContentToolWidgetComposer.js +1 -1
- package/lib/appui-react/widgets/ContentToolWidgetComposer.js.map +1 -1
- package/lib/appui-react/widgets/NavigationWidgetComposer.js +10 -10
- package/lib/appui-react/widgets/NavigationWidgetComposer.js.map +1 -1
- package/lib/appui-react/widgets/StatusBarWidgetComposerControl.js +1 -1
- package/lib/appui-react/widgets/StatusBarWidgetComposerControl.js.map +1 -1
- package/lib/appui-react/widgets/ToolWidgetComposer.js +1 -1
- package/lib/appui-react/widgets/ToolWidgetComposer.js.map +1 -1
- package/lib/appui-react/widgets/ViewToolWidgetComposer.js +1 -1
- package/lib/appui-react/widgets/ViewToolWidgetComposer.js.map +1 -1
- package/lib/appui-react/widgets/Widget.d.ts +11 -2
- package/lib/appui-react/widgets/Widget.d.ts.map +1 -1
- package/lib/appui-react/widgets/Widget.js.map +1 -1
- package/lib/appui-react/widgets/WidgetControl.js +1 -1
- package/lib/appui-react/widgets/WidgetControl.js.map +1 -1
- package/lib/appui-react/widgets/WidgetDef.js +21 -21
- package/lib/appui-react/widgets/WidgetDef.js.map +1 -1
- package/lib/appui-react/widgets/WidgetManager.d.ts.map +1 -1
- package/lib/appui-react/widgets/useWidget.d.ts.map +1 -1
- package/lib/appui-react.js +1 -1
- package/lib/appui-react.js.map +1 -1
- package/lib/cjs/appui-react/accudraw/AccuDrawInputField.scss +0 -15
- package/lib/esm/appui-react/accudraw/AccuDrawInputField.scss +0 -15
- package/package.json +20 -21
- package/lib/appui-react/layout/widget/tools/button/Back.d.ts +0 -21
- package/lib/appui-react/layout/widget/tools/button/Back.d.ts.map +0 -1
- package/lib/appui-react/layout/widget/tools/button/Back.js +0 -23
- package/lib/appui-react/layout/widget/tools/button/Back.js.map +0 -1
- package/lib/appui-react/preview/allow-letters-in-accudraw-input-fields/useAllowLettersInAccuDrawInputFields.d.ts +0 -5
- package/lib/appui-react/preview/allow-letters-in-accudraw-input-fields/useAllowLettersInAccuDrawInputFields.d.ts.map +0 -1
- package/lib/appui-react/preview/allow-letters-in-accudraw-input-fields/useAllowLettersInAccuDrawInputFields.js.map +0 -1
- package/lib/appui-react/preview/enable-colorless-accudraw-input-fields/useEnableColorlessAccuDrawInputFields.d.ts +0 -5
- package/lib/appui-react/preview/enable-colorless-accudraw-input-fields/useEnableColorlessAccuDrawInputFields.d.ts.map +0 -1
- package/lib/appui-react/preview/enable-colorless-accudraw-input-fields/useEnableColorlessAccuDrawInputFields.js +0 -13
- package/lib/appui-react/preview/enable-colorless-accudraw-input-fields/useEnableColorlessAccuDrawInputFields.js.map +0 -1
|
@@ -2,23 +2,20 @@
|
|
|
2
2
|
* @module Notification
|
|
3
3
|
*/
|
|
4
4
|
import "./CursorPrompt.scss";
|
|
5
|
-
import type { ToolAssistanceInstruction } from "@itwin/core-frontend";
|
|
6
|
-
import type { XAndY } from "@itwin/core-geometry";
|
|
7
|
-
import { RelativePosition } from "@itwin/appui-abstract";
|
|
8
5
|
/** @internal */
|
|
9
6
|
export declare class CursorPrompt {
|
|
10
|
-
private _timeOut;
|
|
11
|
-
private _fadeOut;
|
|
12
|
-
private _timer;
|
|
13
|
-
private _relativePosition;
|
|
14
|
-
private _offset;
|
|
15
7
|
private _popupId;
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
8
|
+
private _timer;
|
|
9
|
+
private _removeListeners;
|
|
10
|
+
open({ timeout, fadeout, iconSpec, instruction, promptAtContent, }: {
|
|
11
|
+
timeout: number;
|
|
12
|
+
fadeout: boolean;
|
|
13
|
+
iconSpec: string;
|
|
14
|
+
instruction: string;
|
|
15
|
+
promptAtContent: boolean;
|
|
16
|
+
}): void;
|
|
17
|
+
close(fadeout: boolean): void;
|
|
18
|
+
private show;
|
|
19
|
+
private hide;
|
|
23
20
|
}
|
|
24
21
|
//# sourceMappingURL=CursorPrompt.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CursorPrompt.d.ts","sourceRoot":"","sources":["../../../../src/appui-react/cursor/cursorprompt/CursorPrompt.tsx"],"names":[],"mappings":"AAIA;;GAEG;AAEH,OAAO,qBAAqB,CAAC;
|
|
1
|
+
{"version":3,"file":"CursorPrompt.d.ts","sourceRoot":"","sources":["../../../../src/appui-react/cursor/cursorprompt/CursorPrompt.tsx"],"names":[],"mappings":"AAIA;;GAEG;AAEH,OAAO,qBAAqB,CAAC;AAY7B,gBAAgB;AAChB,qBAAa,YAAY;IACvB,OAAO,CAAC,QAAQ,CAAmB;IAEnC,OAAO,CAAC,MAAM,CAAoB;IAClC,OAAO,CAAC,gBAAgB,CAA2B;IAE5C,IAAI,CAAC,EACV,OAAO,EACP,OAAO,EACP,QAAQ,EACR,WAAW,EACX,eAAe,GAChB,EAAE;QACD,OAAO,EAAE,MAAM,CAAC;QAChB,OAAO,EAAE,OAAO,CAAC;QACjB,QAAQ,EAAE,MAAM,CAAC;QACjB,WAAW,EAAE,MAAM,CAAC;QACpB,eAAe,EAAE,OAAO,CAAC;KAC1B;IAmCM,KAAK,CAAC,OAAO,EAAE,OAAO;IAS7B,OAAO,CAAC,IAAI;IAgCZ,OAAO,CAAC,IAAI;CAGb"}
|
|
@@ -11,52 +11,61 @@ import { RelativePosition } from "@itwin/appui-abstract";
|
|
|
11
11
|
import { Icon, Timer } from "@itwin/core-react";
|
|
12
12
|
import { Point } from "@itwin/core-react/internal";
|
|
13
13
|
import { Text } from "@itwin/itwinui-react";
|
|
14
|
-
import { CursorInformation } from "../CursorInformation.js";
|
|
14
|
+
import { CursorInformation, useCursorInformationStore, } from "../CursorInformation.js";
|
|
15
15
|
import { CursorPopupManager } from "../cursorpopup/CursorPopupManager.js";
|
|
16
16
|
/** @internal */
|
|
17
17
|
export class CursorPrompt {
|
|
18
|
-
constructor(
|
|
19
|
-
this._relativePosition = RelativePosition.BottomRight;
|
|
20
|
-
this._offset = new Point(20, 20);
|
|
18
|
+
constructor() {
|
|
21
19
|
this._popupId = "cursor-prompt";
|
|
22
|
-
this._startCursorPopup = (promptElement) => {
|
|
23
|
-
CursorPopupManager.open(this._popupId, promptElement, CursorInformation.cursorPosition, this._offset, this._relativePosition, 0, { shadow: true });
|
|
24
|
-
if (!CursorInformation.onCursorUpdatedEvent.has(this._handleCursorUpdated))
|
|
25
|
-
CursorInformation.onCursorUpdatedEvent.addListener(this._handleCursorUpdated);
|
|
26
|
-
};
|
|
27
|
-
this._endCursorPopup = (fadeOut) => {
|
|
28
|
-
CursorPopupManager.close(this._popupId, false, fadeOut);
|
|
29
|
-
CursorInformation.onCursorUpdatedEvent.removeListener(this._handleCursorUpdated);
|
|
30
|
-
};
|
|
31
|
-
this._handleCursorUpdated = (args) => {
|
|
32
|
-
CursorPopupManager.updatePosition(args.newPt);
|
|
33
|
-
};
|
|
34
|
-
this._timeOut = timeOut;
|
|
35
|
-
this._fadeOut = fadeOut;
|
|
36
|
-
// eslint-disable-next-line deprecation/deprecation
|
|
37
|
-
this._timer = new Timer(timeOut);
|
|
38
20
|
}
|
|
39
|
-
|
|
40
|
-
if (!
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
21
|
+
open({ timeout, fadeout, iconSpec, instruction, promptAtContent, }) {
|
|
22
|
+
if (!this._removeListeners) {
|
|
23
|
+
const listeners = [
|
|
24
|
+
CursorInformation.onCursorUpdatedEvent.addListener((args) => {
|
|
25
|
+
CursorPopupManager.updatePosition(args.newPt);
|
|
26
|
+
}),
|
|
27
|
+
useCursorInformationStore.subscribe((state) => {
|
|
28
|
+
if (!promptAtContent)
|
|
29
|
+
return;
|
|
30
|
+
if (state.contentHovered) {
|
|
31
|
+
this.show({
|
|
32
|
+
iconSpec,
|
|
33
|
+
instruction,
|
|
34
|
+
});
|
|
35
|
+
return;
|
|
36
|
+
}
|
|
37
|
+
this.hide(fadeout);
|
|
38
|
+
}),
|
|
39
|
+
];
|
|
40
|
+
this._removeListeners = () => {
|
|
41
|
+
listeners.forEach((remove) => remove());
|
|
42
|
+
};
|
|
44
43
|
}
|
|
45
|
-
this.
|
|
46
|
-
|
|
44
|
+
this.show({ iconSpec, instruction });
|
|
45
|
+
if (timeout === Number.POSITIVE_INFINITY)
|
|
46
|
+
return;
|
|
47
|
+
// eslint-disable-next-line @typescript-eslint/no-deprecated
|
|
48
|
+
const timer = new Timer(timeout);
|
|
49
|
+
timer.setOnExecute(() => this.close(fadeout));
|
|
50
|
+
timer.start();
|
|
51
|
+
this._timer = timer;
|
|
52
|
+
}
|
|
53
|
+
close(fadeout) {
|
|
54
|
+
this._timer?.stop();
|
|
55
|
+
this._timer = undefined;
|
|
56
|
+
this._removeListeners?.();
|
|
57
|
+
this._removeListeners = undefined;
|
|
58
|
+
this.hide(fadeout);
|
|
59
|
+
}
|
|
60
|
+
show({ iconSpec, instruction, }) {
|
|
47
61
|
const promptElement = (React.createElement("div", { className: "uifw-cursor-prompt" },
|
|
48
|
-
|
|
49
|
-
React.createElement(Icon, { iconSpec:
|
|
50
|
-
React.createElement(Text, { variant: "body", className: "uifw-cursor-prompt-text" }, instruction
|
|
51
|
-
this.
|
|
52
|
-
this._timer.setOnExecute(() => this._endCursorPopup(this._fadeOut));
|
|
53
|
-
this._timer.delay = this._timeOut;
|
|
54
|
-
this._timer.start();
|
|
62
|
+
iconSpec && (React.createElement("span", { className: "uifw-cursor-prompt-icon" },
|
|
63
|
+
React.createElement(Icon, { iconSpec: iconSpec }))),
|
|
64
|
+
React.createElement(Text, { variant: "body", className: "uifw-cursor-prompt-text" }, instruction)));
|
|
65
|
+
CursorPopupManager.open(this._popupId, promptElement, CursorInformation.cursorPosition, new Point(20, 20), RelativePosition.BottomRight, 0, { shadow: true });
|
|
55
66
|
}
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
this._timer.stop();
|
|
59
|
-
this._endCursorPopup(fadeOut);
|
|
67
|
+
hide(fadeout) {
|
|
68
|
+
CursorPopupManager.close(this._popupId, false, fadeout);
|
|
60
69
|
}
|
|
61
70
|
}
|
|
62
71
|
//# sourceMappingURL=CursorPrompt.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CursorPrompt.js","sourceRoot":"","sources":["../../../../src/appui-react/cursor/cursorprompt/CursorPrompt.tsx"],"names":[],"mappings":"AAAA;;;gGAGgG;AAChG;;GAEG;AAEH,OAAO,qBAAqB,CAAC;AAC7B,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"CursorPrompt.js","sourceRoot":"","sources":["../../../../src/appui-react/cursor/cursorprompt/CursorPrompt.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 Notification\n */\n\nimport \"./CursorPrompt.scss\";\nimport * as React from \"react\";\nimport { RelativePosition } from \"@itwin/appui-abstract\";\nimport { Icon, Timer } from \"@itwin/core-react\";\nimport { Point } from \"@itwin/core-react/internal\";\nimport { Text } from \"@itwin/itwinui-react\";\nimport {\n CursorInformation,\n useCursorInformationStore,\n} from \"../CursorInformation.js\";\nimport { CursorPopupManager } from \"../cursorpopup/CursorPopupManager.js\";\n\n/** @internal */\nexport class CursorPrompt {\n private _popupId = \"cursor-prompt\";\n // eslint-disable-next-line @typescript-eslint/no-deprecated\n private _timer: Timer | undefined;\n private _removeListeners: (() => void) | undefined;\n\n public open({\n timeout,\n fadeout,\n iconSpec,\n instruction,\n promptAtContent,\n }: {\n timeout: number;\n fadeout: boolean;\n iconSpec: string;\n instruction: string;\n promptAtContent: boolean;\n }) {\n if (!this._removeListeners) {\n const listeners = [\n CursorInformation.onCursorUpdatedEvent.addListener((args) => {\n CursorPopupManager.updatePosition(args.newPt);\n }),\n useCursorInformationStore.subscribe((state) => {\n if (!promptAtContent) return;\n if (state.contentHovered) {\n this.show({\n iconSpec,\n instruction,\n });\n return;\n }\n\n this.hide(fadeout);\n }),\n ];\n this._removeListeners = () => {\n listeners.forEach((remove) => remove());\n };\n }\n\n this.show({ iconSpec, instruction });\n\n if (timeout === Number.POSITIVE_INFINITY) return;\n\n // eslint-disable-next-line @typescript-eslint/no-deprecated\n const timer = new Timer(timeout);\n timer.setOnExecute(() => this.close(fadeout));\n timer.start();\n this._timer = timer;\n }\n\n public close(fadeout: boolean) {\n this._timer?.stop();\n this._timer = undefined;\n this._removeListeners?.();\n this._removeListeners = undefined;\n\n this.hide(fadeout);\n }\n\n private show({\n iconSpec,\n instruction,\n }: {\n iconSpec: string;\n instruction: string;\n }) {\n const promptElement = (\n <div className=\"uifw-cursor-prompt\">\n {iconSpec && (\n <span className=\"uifw-cursor-prompt-icon\">\n {/* eslint-disable-next-line @typescript-eslint/no-deprecated */}\n <Icon iconSpec={iconSpec} />\n </span>\n )}\n <Text variant=\"body\" className=\"uifw-cursor-prompt-text\">\n {instruction}\n </Text>\n </div>\n );\n\n CursorPopupManager.open(\n this._popupId,\n promptElement,\n CursorInformation.cursorPosition,\n new Point(20, 20),\n RelativePosition.BottomRight,\n 0,\n { shadow: true }\n );\n }\n\n private hide(fadeout: boolean) {\n CursorPopupManager.close(this._popupId, false, fadeout);\n }\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ContentDialog.js","sourceRoot":"","sources":["../../../src/appui-react/dialog/ContentDialog.tsx"],"names":[],"mappings":"AAAA;;;gGAGgG;AAChG;;GAEG;AAEH,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,OAAO,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAC3C,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAchD;;;;GAIG;AACH,MAAM,UAAU,aAAa,CAAC,KAAyB;IACrD,MAAM,EACJ,SAAS,EACT,QAAQ,EACR,QAAQ,EACR,KAAK,EACL,KAAK,EACL,UAAU,EACV,qBAAqB,EACrB,GAAG,UAAU,EACd,GAAG,KAAK,CAAC;IAEV,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,GAAG,KAAK,CAAC,QAAQ,CACxC,WAAW,CAAC,OAAO,CAAC,OAAO,CAAC,SAAS,CAAC,QAAQ,CAAC,CAChD,CAAC;IACF,MAAM,YAAY,GAAG,KAAK,CAAC,WAAW,CAAC,GAAG,EAAE;QAC1C,MAAM,IAAI,GAAG,WAAW,CAAC,OAAO,CAAC,OAAO,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;QAC7D,IAAI,IAAI,KAAK,MAAM,EAAE,CAAC;YACpB,SAAS,CAAC,IAAI,CAAC,CAAC;QAClB,CAAC;IACH,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC,CAAC;IAEvB,OAAO,CACL,oBAAC,MAAM,IACL,SAAS,EAAE,SAAS,oBACL,gBAAgB,kBACjB,QAAQ,EACtB,SAAS,EAAE,IAAI,EACf,OAAO,EAAE,IAAI,EACb,SAAS,EAAE,KAAK,EAChB,KAAK,EAAE,KAAK,KACR,UAAU,EACd,UAAU,EAAE,QAAQ,EACpB,qBAAqB,EAAE,CAAC,KAAK,EAAE,EAAE,CAC/B,WAAW,CAAC,OAAO,CAAC,OAAO,CAAC,sBAAsB,CAChD,KAAK,EACL,QAAQ,EACR,YAAY,CACb,EAEH,KAAK,EAAE,EAAE,MAAM,EAAE,GAAG,KAAK,EAAE,IAE1B,QAAQ,CACF,CACV,CAAC;AACJ,CAAC","sourcesContent":["/*---------------------------------------------------------------------------------------------\n * Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n * See LICENSE.md in the project root for license terms and full copyright notice.\n *--------------------------------------------------------------------------------------------*/\n/** @packageDocumentation\n * @module Dialog\n */\n\nimport * as React from \"react\";\nimport type { DialogProps } from \"@itwin/core-react\";\nimport { Dialog } from \"@itwin/core-react\";\nimport { UiFramework } from \"../UiFramework.js\";\n\n/* eslint-disable
|
|
1
|
+
{"version":3,"file":"ContentDialog.js","sourceRoot":"","sources":["../../../src/appui-react/dialog/ContentDialog.tsx"],"names":[],"mappings":"AAAA;;;gGAGgG;AAChG;;GAEG;AAEH,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,OAAO,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAC3C,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAchD;;;;GAIG;AACH,MAAM,UAAU,aAAa,CAAC,KAAyB;IACrD,MAAM,EACJ,SAAS,EACT,QAAQ,EACR,QAAQ,EACR,KAAK,EACL,KAAK,EACL,UAAU,EACV,qBAAqB,EACrB,GAAG,UAAU,EACd,GAAG,KAAK,CAAC;IAEV,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,GAAG,KAAK,CAAC,QAAQ,CACxC,WAAW,CAAC,OAAO,CAAC,OAAO,CAAC,SAAS,CAAC,QAAQ,CAAC,CAChD,CAAC;IACF,MAAM,YAAY,GAAG,KAAK,CAAC,WAAW,CAAC,GAAG,EAAE;QAC1C,MAAM,IAAI,GAAG,WAAW,CAAC,OAAO,CAAC,OAAO,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;QAC7D,IAAI,IAAI,KAAK,MAAM,EAAE,CAAC;YACpB,SAAS,CAAC,IAAI,CAAC,CAAC;QAClB,CAAC;IACH,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC,CAAC;IAEvB,OAAO,CACL,oBAAC,MAAM,IACL,SAAS,EAAE,SAAS,oBACL,gBAAgB,kBACjB,QAAQ,EACtB,SAAS,EAAE,IAAI,EACf,OAAO,EAAE,IAAI,EACb,SAAS,EAAE,KAAK,EAChB,KAAK,EAAE,KAAK,KACR,UAAU,EACd,UAAU,EAAE,QAAQ,EACpB,qBAAqB,EAAE,CAAC,KAAK,EAAE,EAAE,CAC/B,WAAW,CAAC,OAAO,CAAC,OAAO,CAAC,sBAAsB,CAChD,KAAK,EACL,QAAQ,EACR,YAAY,CACb,EAEH,KAAK,EAAE,EAAE,MAAM,EAAE,GAAG,KAAK,EAAE,IAE1B,QAAQ,CACF,CACV,CAAC;AACJ,CAAC","sourcesContent":["/*---------------------------------------------------------------------------------------------\n * Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n * See LICENSE.md in the project root for license terms and full copyright notice.\n *--------------------------------------------------------------------------------------------*/\n/** @packageDocumentation\n * @module Dialog\n */\n\nimport * as React from \"react\";\nimport type { DialogProps } from \"@itwin/core-react\";\nimport { Dialog } from \"@itwin/core-react\";\nimport { UiFramework } from \"../UiFramework.js\";\n\n/* eslint-disable @typescript-eslint/no-deprecated */\n\n/** Properties for the [[ContentDialog]] component\n * @public\n * @deprecated in 4.15.0. Props of deprecated {@link ContentDialog} component.\n */\nexport interface ContentDialogProps extends DialogProps {\n dialogId: string;\n movable?: boolean;\n children: React.ReactNode;\n}\n\n/** Content Dialog React component uses the Dialog component with a modal={false} prop.\n * It controls the z-index to keep the focused dialog above content but below widgets.\n * @public\n * @deprecated in 4.15.0. Use {@link https://itwinui.bentley.com/docs/dialog iTwinUI Dialog} instead.\n */\nexport function ContentDialog(props: ContentDialogProps) {\n const {\n className,\n children,\n dialogId,\n style,\n modal,\n modelessId,\n onModelessPointerDown,\n ...otherProps\n } = props;\n\n const [zIndex, setZIndex] = React.useState(\n UiFramework.content.dialogs.getZIndex(dialogId)\n );\n const updateZIndex = React.useCallback(() => {\n const newZ = UiFramework.content.dialogs.getZIndex(dialogId);\n if (newZ !== zIndex) {\n setZIndex(newZ);\n }\n }, [dialogId, zIndex]);\n\n return (\n <Dialog\n className={className}\n data-item-type=\"content-dialog\"\n data-item-id={dialogId}\n resizable={true}\n movable={true}\n trapFocus={false}\n modal={false}\n {...otherProps}\n modelessId={dialogId}\n onModelessPointerDown={(event) =>\n UiFramework.content.dialogs.handlePointerDownEvent(\n event,\n dialogId,\n updateZIndex\n )\n }\n style={{ zIndex, ...style }}\n >\n {children}\n </Dialog>\n );\n}\n"]}
|
|
@@ -11,9 +11,9 @@ import { InternalContentDialogManager as internal } from "./InternalContentDialo
|
|
|
11
11
|
/** ContentDialogRenderer React component renders modeless dialogs.
|
|
12
12
|
* @public
|
|
13
13
|
*/
|
|
14
|
-
// eslint-disable-next-line
|
|
14
|
+
// eslint-disable-next-line @typescript-eslint/no-deprecated
|
|
15
15
|
export class ContentDialogRenderer extends React.PureComponent {
|
|
16
|
-
// eslint-disable-next-line
|
|
16
|
+
// eslint-disable-next-line @typescript-eslint/no-deprecated
|
|
17
17
|
constructor(props) {
|
|
18
18
|
super(props);
|
|
19
19
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ContentDialogManager.js","sourceRoot":"","sources":["../../../src/appui-react/dialog/ContentDialogManager.tsx"],"names":[],"mappings":"AAAA;;;gGAGgG;AAChG;;GAEG;AAGH,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AAC5D,OAAO,EAAE,4BAA4B,IAAI,QAAQ,EAAE,MAAM,mCAAmC,CAAC;AAE7F;;GAEG;AACH,
|
|
1
|
+
{"version":3,"file":"ContentDialogManager.js","sourceRoot":"","sources":["../../../src/appui-react/dialog/ContentDialogManager.tsx"],"names":[],"mappings":"AAAA;;;gGAGgG;AAChG;;GAEG;AAGH,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AAC5D,OAAO,EAAE,4BAA4B,IAAI,QAAQ,EAAE,MAAM,mCAAmC,CAAC;AAE7F;;GAEG;AACH,4DAA4D;AAC5D,MAAM,OAAO,qBAAsB,SAAQ,KAAK,CAAC,aAA0B;IACzE,4DAA4D;IAC5D,YAAY,KAAkB;QAC5B,KAAK,CAAC,KAAK,CAAC,CAAC;IACf,CAAC;IAEe,MAAM;QACpB,OAAO,CACL,oBAAC,kBAAkB,OACb,IAAI,CAAC,KAAK,EACd,aAAa,EAAE,QAAQ,CAAC,aAAa,GACrC,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 Dialog\n */\n\nimport type { CommonProps } from \"@itwin/core-react\";\nimport * as React from \"react\";\nimport { DialogRendererBase } from \"./DialogManagerBase.js\";\nimport { InternalContentDialogManager as internal } from \"./InternalContentDialogManager.js\";\n\n/** ContentDialogRenderer React component renders modeless dialogs.\n * @public\n */\n// eslint-disable-next-line @typescript-eslint/no-deprecated\nexport class ContentDialogRenderer extends React.PureComponent<CommonProps> {\n // eslint-disable-next-line @typescript-eslint/no-deprecated\n constructor(props: CommonProps) {\n super(props);\n }\n\n public override render(): React.ReactNode {\n return (\n <DialogRendererBase\n {...this.props}\n dialogManager={internal.dialogManager}\n />\n );\n }\n}\n"]}
|
|
@@ -16,7 +16,7 @@ import { ThemeProvider } from "@itwin/itwinui-react";
|
|
|
16
16
|
* @public
|
|
17
17
|
* @deprecated in 4.13.0. This class should not be used by applications to instantiate objects.
|
|
18
18
|
*/
|
|
19
|
-
// eslint-disable-next-line
|
|
19
|
+
// eslint-disable-next-line @typescript-eslint/no-deprecated
|
|
20
20
|
export class DialogChangedEvent extends UiEvent {
|
|
21
21
|
}
|
|
22
22
|
/** Used if the 'dialog' z-index CSS variable cannot be read */
|
|
@@ -25,7 +25,7 @@ const ZINDEX_DEFAULT = 12000;
|
|
|
25
25
|
* @internal
|
|
26
26
|
*/
|
|
27
27
|
export class DialogManagerBase {
|
|
28
|
-
// eslint-disable-next-line
|
|
28
|
+
// eslint-disable-next-line @typescript-eslint/no-deprecated
|
|
29
29
|
constructor(onDialogChangedEvent) {
|
|
30
30
|
this._dialogs = new Array();
|
|
31
31
|
this._onDialogChangedEvent = onDialogChangedEvent;
|
|
@@ -43,13 +43,13 @@ export class DialogManagerBase {
|
|
|
43
43
|
get dialogs() {
|
|
44
44
|
return this._dialogs;
|
|
45
45
|
}
|
|
46
|
-
// eslint-disable-next-line
|
|
46
|
+
// eslint-disable-next-line @typescript-eslint/no-deprecated
|
|
47
47
|
get onDialogChangedEvent() {
|
|
48
48
|
return this._onDialogChangedEvent;
|
|
49
49
|
}
|
|
50
50
|
static getDialogZIndexDefault() {
|
|
51
51
|
const variable = "--uicore-z-index-dialog";
|
|
52
|
-
// eslint-disable-next-line
|
|
52
|
+
// eslint-disable-next-line @typescript-eslint/no-deprecated
|
|
53
53
|
const value = getCssVariableAsNumber(variable);
|
|
54
54
|
if (!isNaN(value))
|
|
55
55
|
return value;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DialogManagerBase.js","sourceRoot":"","sources":["../../../src/appui-react/dialog/DialogManagerBase.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 Dialog\n */\n\nimport \"./DialogManagerBase.scss\";\nimport * as React from \"react\";\nimport type { BeUiEvent } from \"@itwin/core-bentley\";\nimport { Logger } from \"@itwin/core-bentley\";\nimport { UiEvent } from \"@itwin/appui-abstract\";\nimport { UiFramework } from \"../UiFramework.js\";\nimport type { ListenerType } from \"@itwin/core-react/internal\";\nimport { getCssVariableAsNumber } from \"@itwin/core-react\";\nimport { ThemeProvider } from \"@itwin/itwinui-react\";\n\n/** Dialog Stack Changed Event Args class.\n * @public\n * @deprecated in 4.13.0. Event args are inferred from a listener. If explicit type is needed use a type helper.\n */\nexport interface DialogChangedEventArgs {\n dialogCount: number;\n activeDialog: React.ReactNode | undefined;\n}\n\n/** Dialog Changed Event class.\n * @public\n * @deprecated in 4.13.0. This class should not be used by applications to instantiate objects.\n */\n// eslint-disable-next-line deprecation/deprecation\nexport class DialogChangedEvent extends UiEvent<DialogChangedEventArgs> {}\n\n/** Information maintained by a Dialog Manager about a dialog\n * @public\n */\nexport interface DialogInfo {\n reactNode: React.ReactNode;\n id: string;\n parentDocument: Document;\n}\n\n/** Used if the 'dialog' z-index CSS variable cannot be read */\nconst ZINDEX_DEFAULT = 12000;\n\n/** Dialog Manager class.\n * @internal\n */\nexport class DialogManagerBase {\n private static _sId = 0;\n private _dialogs: DialogInfo[] = new Array<DialogInfo>();\n // eslint-disable-next-line deprecation/deprecation\n private _onDialogChangedEvent: BeUiEvent<DialogChangedEventArgs>;\n private static _topZIndex = ZINDEX_DEFAULT;\n\n // eslint-disable-next-line deprecation/deprecation\n constructor(onDialogChangedEvent: BeUiEvent<DialogChangedEventArgs>) {\n this._onDialogChangedEvent = onDialogChangedEvent;\n }\n\n /** Initialize the modeless dialog manager */\n public static initialize(): void {\n DialogManagerBase._topZIndex = DialogManagerBase.getDialogZIndexDefault();\n }\n\n public static get topZIndex(): number {\n return DialogManagerBase._topZIndex;\n }\n\n public static set topZIndex(zIndex: number) {\n DialogManagerBase._topZIndex = zIndex;\n }\n public get dialogs() {\n return this._dialogs;\n }\n\n // eslint-disable-next-line deprecation/deprecation\n public get onDialogChangedEvent(): BeUiEvent<DialogChangedEventArgs> {\n return this._onDialogChangedEvent;\n }\n\n public static getDialogZIndexDefault(): number {\n const variable = \"--uicore-z-index-dialog\";\n // eslint-disable-next-line deprecation/deprecation\n const value = getCssVariableAsNumber(variable);\n\n if (!isNaN(value)) return value;\n\n Logger.logError(\n UiFramework.loggerCategory(\"DialogManagerBase\"),\n `'${variable}' CSS variable not found`\n );\n return ZINDEX_DEFAULT;\n }\n\n /**\n * Triggers opening a dialog.\n * @param dialog Dialog React component.\n * @param id The unique Id the identifies the dialog.\n * @param parentDocument Optional document required when displaying a dialog in a child popup window.\n */\n public openDialog(\n dialog: React.ReactNode,\n id?: string,\n parentDocument?: Document\n ): void {\n if (!id) id = `Dialog-${++DialogManagerBase._sId}`;\n\n const owningDoc = parentDocument ?? document;\n this.pushDialog({ reactNode: dialog, id, parentDocument: owningDoc });\n }\n\n /** @internal */\n public pushDialog(dialogInfo: DialogInfo): void {\n this._dialogs.push(dialogInfo);\n this.emitDialogChangedEvent();\n }\n\n public closeDialog(dialog?: React.ReactNode): void {\n let targetDialog = dialog;\n if (!dialog) targetDialog = this.activeDialog;\n\n this.removeDialog(targetDialog);\n this.emitDialogChangedEvent();\n }\n\n /** @internal */\n public closeAll(): void {\n this._dialogs = [];\n this.emitDialogChangedEvent();\n }\n\n /** @internal */\n public removeDialog(dialog: React.ReactNode): void {\n const index = this._dialogs.findIndex((dialogInfo: DialogInfo) => {\n return dialog === dialogInfo.reactNode;\n });\n if (index >= 0) this._dialogs.splice(index, 1);\n if (this._dialogs.length < 1)\n DialogManagerBase.topZIndex = DialogManagerBase.getDialogZIndexDefault();\n }\n\n public emitDialogChangedEvent(): void {\n this._onDialogChangedEvent.emit({\n dialogCount: this.dialogCount,\n activeDialog: this.activeDialog,\n });\n }\n\n public update(): void {\n this.emitDialogChangedEvent();\n }\n\n public get activeDialog(): React.ReactNode | undefined {\n if (this._dialogs.length > 0)\n return this._dialogs[this._dialogs.length - 1].reactNode;\n\n return undefined;\n }\n\n public get dialogCount(): number {\n return this._dialogs.length;\n }\n}\n\n/** Properties for the [[DialogRendererBase]] component\n * @internal\n */\nexport interface DialogRendererProps {\n dialogManager: DialogManagerBase;\n style?: React.CSSProperties;\n}\n\ninterface DialogRendererState {\n parentDocument: Document | undefined;\n renderer: HTMLElement | undefined;\n}\n/** DialogRenderer React component.\n * @internal\n */\nexport class DialogRendererBase extends React.PureComponent<\n DialogRendererProps,\n DialogRendererState\n> {\n public override readonly state: DialogRendererState = {\n parentDocument: undefined,\n renderer: undefined,\n };\n\n private _handleRefSet = (el: HTMLElement | null) => {\n this.setState({\n parentDocument: el?.ownerDocument ?? undefined,\n renderer: el ?? undefined,\n });\n };\n\n public override render(): React.ReactNode {\n if (this.props.dialogManager.dialogCount <= 0) return null;\n\n return (\n <div\n className=\"uifw-dialog-dialogManagerBase_renderer\"\n ref={this._handleRefSet}\n >\n <ThemeProvider portalContainer={this.state.renderer}>\n {this.state.parentDocument &&\n this.props.dialogManager.dialogs\n .filter(\n (info) => info.parentDocument === this.state.parentDocument\n )\n .map((info) => {\n return (\n <React.Fragment key={info.id}>\n {info.reactNode}\n </React.Fragment>\n );\n })}\n </ThemeProvider>\n </div>\n );\n }\n\n public override componentDidMount(): void {\n this.props.dialogManager.onDialogChangedEvent.addListener(\n this._handleDialogChangedEvent\n );\n }\n\n public override componentWillUnmount(): void {\n this.props.dialogManager.onDialogChangedEvent.removeListener(\n this._handleDialogChangedEvent\n );\n }\n\n private _handleDialogChangedEvent: ListenerType<\n DialogManagerBase[\"onDialogChangedEvent\"]\n > = () => {\n this.forceUpdate();\n };\n}\n"]}
|
|
1
|
+
{"version":3,"file":"DialogManagerBase.js","sourceRoot":"","sources":["../../../src/appui-react/dialog/DialogManagerBase.tsx"],"names":[],"mappings":"AAAA;;;gGAGgG;AAChG;;GAEG;AAEH,OAAO,0BAA0B,CAAC;AAClC,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,OAAO,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAC7C,OAAO,EAAE,OAAO,EAAE,MAAM,uBAAuB,CAAC;AAChD,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAEhD,OAAO,EAAE,sBAAsB,EAAE,MAAM,mBAAmB,CAAC;AAC3D,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAWrD;;;GAGG;AACH,4DAA4D;AAC5D,MAAM,OAAO,kBAAmB,SAAQ,OAA+B;CAAG;AAW1E,+DAA+D;AAC/D,MAAM,cAAc,GAAG,KAAK,CAAC;AAE7B;;GAEG;AACH,MAAM,OAAO,iBAAiB;IAO5B,4DAA4D;IAC5D,YAAY,oBAAuD;QAN3D,aAAQ,GAAiB,IAAI,KAAK,EAAc,CAAC;QAOvD,IAAI,CAAC,qBAAqB,GAAG,oBAAoB,CAAC;IACpD,CAAC;IAED,6CAA6C;IACtC,MAAM,CAAC,UAAU;QACtB,iBAAiB,CAAC,UAAU,GAAG,iBAAiB,CAAC,sBAAsB,EAAE,CAAC;IAC5E,CAAC;IAEM,MAAM,KAAK,SAAS;QACzB,OAAO,iBAAiB,CAAC,UAAU,CAAC;IACtC,CAAC;IAEM,MAAM,KAAK,SAAS,CAAC,MAAc;QACxC,iBAAiB,CAAC,UAAU,GAAG,MAAM,CAAC;IACxC,CAAC;IACD,IAAW,OAAO;QAChB,OAAO,IAAI,CAAC,QAAQ,CAAC;IACvB,CAAC;IAED,4DAA4D;IAC5D,IAAW,oBAAoB;QAC7B,OAAO,IAAI,CAAC,qBAAqB,CAAC;IACpC,CAAC;IAEM,MAAM,CAAC,sBAAsB;QAClC,MAAM,QAAQ,GAAG,yBAAyB,CAAC;QAC3C,4DAA4D;QAC5D,MAAM,KAAK,GAAG,sBAAsB,CAAC,QAAQ,CAAC,CAAC;QAE/C,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC;YAAE,OAAO,KAAK,CAAC;QAEhC,MAAM,CAAC,QAAQ,CACb,WAAW,CAAC,cAAc,CAAC,mBAAmB,CAAC,EAC/C,IAAI,QAAQ,0BAA0B,CACvC,CAAC;QACF,OAAO,cAAc,CAAC;IACxB,CAAC;IAED;;;;;OAKG;IACI,UAAU,CACf,MAAuB,EACvB,EAAW,EACX,cAAyB;QAEzB,IAAI,CAAC,EAAE;YAAE,EAAE,GAAG,UAAU,EAAE,iBAAiB,CAAC,IAAI,EAAE,CAAC;QAEnD,MAAM,SAAS,GAAG,cAAc,IAAI,QAAQ,CAAC;QAC7C,IAAI,CAAC,UAAU,CAAC,EAAE,SAAS,EAAE,MAAM,EAAE,EAAE,EAAE,cAAc,EAAE,SAAS,EAAE,CAAC,CAAC;IACxE,CAAC;IAED,gBAAgB;IACT,UAAU,CAAC,UAAsB;QACtC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QAC/B,IAAI,CAAC,sBAAsB,EAAE,CAAC;IAChC,CAAC;IAEM,WAAW,CAAC,MAAwB;QACzC,IAAI,YAAY,GAAG,MAAM,CAAC;QAC1B,IAAI,CAAC,MAAM;YAAE,YAAY,GAAG,IAAI,CAAC,YAAY,CAAC;QAE9C,IAAI,CAAC,YAAY,CAAC,YAAY,CAAC,CAAC;QAChC,IAAI,CAAC,sBAAsB,EAAE,CAAC;IAChC,CAAC;IAED,gBAAgB;IACT,QAAQ;QACb,IAAI,CAAC,QAAQ,GAAG,EAAE,CAAC;QACnB,IAAI,CAAC,sBAAsB,EAAE,CAAC;IAChC,CAAC;IAED,gBAAgB;IACT,YAAY,CAAC,MAAuB;QACzC,MAAM,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,UAAsB,EAAE,EAAE;YAC/D,OAAO,MAAM,KAAK,UAAU,CAAC,SAAS,CAAC;QACzC,CAAC,CAAC,CAAC;QACH,IAAI,KAAK,IAAI,CAAC;YAAE,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;QAC/C,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC;YAC1B,iBAAiB,CAAC,SAAS,GAAG,iBAAiB,CAAC,sBAAsB,EAAE,CAAC;IAC7E,CAAC;IAEM,sBAAsB;QAC3B,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC;YAC9B,WAAW,EAAE,IAAI,CAAC,WAAW;YAC7B,YAAY,EAAE,IAAI,CAAC,YAAY;SAChC,CAAC,CAAC;IACL,CAAC;IAEM,MAAM;QACX,IAAI,CAAC,sBAAsB,EAAE,CAAC;IAChC,CAAC;IAED,IAAW,YAAY;QACrB,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC;YAC1B,OAAO,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,SAAS,CAAC;QAE3D,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,IAAW,WAAW;QACpB,OAAO,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC;IAC9B,CAAC;;AAjHc,sBAAI,GAAG,CAAC,AAAJ,CAAK;AAIT,4BAAU,GAAG,cAAc,AAAjB,CAAkB;AA4H7C;;GAEG;AACH,MAAM,OAAO,kBAAmB,SAAQ,KAAK,CAAC,aAG7C;IAHD;;QAI2B,UAAK,GAAwB;YACpD,cAAc,EAAE,SAAS;YACzB,QAAQ,EAAE,SAAS;SACpB,CAAC;QAEM,kBAAa,GAAG,CAAC,EAAsB,EAAE,EAAE;YACjD,IAAI,CAAC,QAAQ,CAAC;gBACZ,cAAc,EAAE,EAAE,EAAE,aAAa,IAAI,SAAS;gBAC9C,QAAQ,EAAE,EAAE,IAAI,SAAS;aAC1B,CAAC,CAAC;QACL,CAAC,CAAC;QAwCM,8BAAyB,GAE7B,GAAG,EAAE;YACP,IAAI,CAAC,WAAW,EAAE,CAAC;QACrB,CAAC,CAAC;IACJ,CAAC;IA3CiB,MAAM;QACpB,IAAI,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,WAAW,IAAI,CAAC;YAAE,OAAO,IAAI,CAAC;QAE3D,OAAO,CACL,6BACE,SAAS,EAAC,wCAAwC,EAClD,GAAG,EAAE,IAAI,CAAC,aAAa;YAEvB,oBAAC,aAAa,IAAC,eAAe,EAAE,IAAI,CAAC,KAAK,CAAC,QAAQ,IAChD,IAAI,CAAC,KAAK,CAAC,cAAc;gBACxB,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,OAAO;qBAC7B,MAAM,CACL,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,cAAc,KAAK,IAAI,CAAC,KAAK,CAAC,cAAc,CAC5D;qBACA,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;oBACZ,OAAO,CACL,oBAAC,KAAK,CAAC,QAAQ,IAAC,GAAG,EAAE,IAAI,CAAC,EAAE,IACzB,IAAI,CAAC,SAAS,CACA,CAClB,CAAC;gBACJ,CAAC,CAAC,CACQ,CACZ,CACP,CAAC;IACJ,CAAC;IAEe,iBAAiB;QAC/B,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,oBAAoB,CAAC,WAAW,CACvD,IAAI,CAAC,yBAAyB,CAC/B,CAAC;IACJ,CAAC;IAEe,oBAAoB;QAClC,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,oBAAoB,CAAC,cAAc,CAC1D,IAAI,CAAC,yBAAyB,CAC/B,CAAC;IACJ,CAAC;CAOF","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 Dialog\n */\n\nimport \"./DialogManagerBase.scss\";\nimport * as React from \"react\";\nimport type { BeUiEvent } from \"@itwin/core-bentley\";\nimport { Logger } from \"@itwin/core-bentley\";\nimport { UiEvent } from \"@itwin/appui-abstract\";\nimport { UiFramework } from \"../UiFramework.js\";\nimport type { ListenerType } from \"@itwin/core-react/internal\";\nimport { getCssVariableAsNumber } from \"@itwin/core-react\";\nimport { ThemeProvider } from \"@itwin/itwinui-react\";\n\n/** Dialog Stack Changed Event Args class.\n * @public\n * @deprecated in 4.13.0. Event args are inferred from a listener. If explicit type is needed use a type helper.\n */\nexport interface DialogChangedEventArgs {\n dialogCount: number;\n activeDialog: React.ReactNode | undefined;\n}\n\n/** Dialog Changed Event class.\n * @public\n * @deprecated in 4.13.0. This class should not be used by applications to instantiate objects.\n */\n// eslint-disable-next-line @typescript-eslint/no-deprecated\nexport class DialogChangedEvent extends UiEvent<DialogChangedEventArgs> {}\n\n/** Information maintained by a Dialog Manager about a dialog\n * @public\n */\nexport interface DialogInfo {\n reactNode: React.ReactNode;\n id: string;\n parentDocument: Document;\n}\n\n/** Used if the 'dialog' z-index CSS variable cannot be read */\nconst ZINDEX_DEFAULT = 12000;\n\n/** Dialog Manager class.\n * @internal\n */\nexport class DialogManagerBase {\n private static _sId = 0;\n private _dialogs: DialogInfo[] = new Array<DialogInfo>();\n // eslint-disable-next-line @typescript-eslint/no-deprecated\n private _onDialogChangedEvent: BeUiEvent<DialogChangedEventArgs>;\n private static _topZIndex = ZINDEX_DEFAULT;\n\n // eslint-disable-next-line @typescript-eslint/no-deprecated\n constructor(onDialogChangedEvent: BeUiEvent<DialogChangedEventArgs>) {\n this._onDialogChangedEvent = onDialogChangedEvent;\n }\n\n /** Initialize the modeless dialog manager */\n public static initialize(): void {\n DialogManagerBase._topZIndex = DialogManagerBase.getDialogZIndexDefault();\n }\n\n public static get topZIndex(): number {\n return DialogManagerBase._topZIndex;\n }\n\n public static set topZIndex(zIndex: number) {\n DialogManagerBase._topZIndex = zIndex;\n }\n public get dialogs() {\n return this._dialogs;\n }\n\n // eslint-disable-next-line @typescript-eslint/no-deprecated\n public get onDialogChangedEvent(): BeUiEvent<DialogChangedEventArgs> {\n return this._onDialogChangedEvent;\n }\n\n public static getDialogZIndexDefault(): number {\n const variable = \"--uicore-z-index-dialog\";\n // eslint-disable-next-line @typescript-eslint/no-deprecated\n const value = getCssVariableAsNumber(variable);\n\n if (!isNaN(value)) return value;\n\n Logger.logError(\n UiFramework.loggerCategory(\"DialogManagerBase\"),\n `'${variable}' CSS variable not found`\n );\n return ZINDEX_DEFAULT;\n }\n\n /**\n * Triggers opening a dialog.\n * @param dialog Dialog React component.\n * @param id The unique Id the identifies the dialog.\n * @param parentDocument Optional document required when displaying a dialog in a child popup window.\n */\n public openDialog(\n dialog: React.ReactNode,\n id?: string,\n parentDocument?: Document\n ): void {\n if (!id) id = `Dialog-${++DialogManagerBase._sId}`;\n\n const owningDoc = parentDocument ?? document;\n this.pushDialog({ reactNode: dialog, id, parentDocument: owningDoc });\n }\n\n /** @internal */\n public pushDialog(dialogInfo: DialogInfo): void {\n this._dialogs.push(dialogInfo);\n this.emitDialogChangedEvent();\n }\n\n public closeDialog(dialog?: React.ReactNode): void {\n let targetDialog = dialog;\n if (!dialog) targetDialog = this.activeDialog;\n\n this.removeDialog(targetDialog);\n this.emitDialogChangedEvent();\n }\n\n /** @internal */\n public closeAll(): void {\n this._dialogs = [];\n this.emitDialogChangedEvent();\n }\n\n /** @internal */\n public removeDialog(dialog: React.ReactNode): void {\n const index = this._dialogs.findIndex((dialogInfo: DialogInfo) => {\n return dialog === dialogInfo.reactNode;\n });\n if (index >= 0) this._dialogs.splice(index, 1);\n if (this._dialogs.length < 1)\n DialogManagerBase.topZIndex = DialogManagerBase.getDialogZIndexDefault();\n }\n\n public emitDialogChangedEvent(): void {\n this._onDialogChangedEvent.emit({\n dialogCount: this.dialogCount,\n activeDialog: this.activeDialog,\n });\n }\n\n public update(): void {\n this.emitDialogChangedEvent();\n }\n\n public get activeDialog(): React.ReactNode | undefined {\n if (this._dialogs.length > 0)\n return this._dialogs[this._dialogs.length - 1].reactNode;\n\n return undefined;\n }\n\n public get dialogCount(): number {\n return this._dialogs.length;\n }\n}\n\n/** Properties for the [[DialogRendererBase]] component\n * @internal\n */\nexport interface DialogRendererProps {\n dialogManager: DialogManagerBase;\n style?: React.CSSProperties;\n}\n\ninterface DialogRendererState {\n parentDocument: Document | undefined;\n renderer: HTMLElement | undefined;\n}\n/** DialogRenderer React component.\n * @internal\n */\nexport class DialogRendererBase extends React.PureComponent<\n DialogRendererProps,\n DialogRendererState\n> {\n public override readonly state: DialogRendererState = {\n parentDocument: undefined,\n renderer: undefined,\n };\n\n private _handleRefSet = (el: HTMLElement | null) => {\n this.setState({\n parentDocument: el?.ownerDocument ?? undefined,\n renderer: el ?? undefined,\n });\n };\n\n public override render(): React.ReactNode {\n if (this.props.dialogManager.dialogCount <= 0) return null;\n\n return (\n <div\n className=\"uifw-dialog-dialogManagerBase_renderer\"\n ref={this._handleRefSet}\n >\n <ThemeProvider portalContainer={this.state.renderer}>\n {this.state.parentDocument &&\n this.props.dialogManager.dialogs\n .filter(\n (info) => info.parentDocument === this.state.parentDocument\n )\n .map((info) => {\n return (\n <React.Fragment key={info.id}>\n {info.reactNode}\n </React.Fragment>\n );\n })}\n </ThemeProvider>\n </div>\n );\n }\n\n public override componentDidMount(): void {\n this.props.dialogManager.onDialogChangedEvent.addListener(\n this._handleDialogChangedEvent\n );\n }\n\n public override componentWillUnmount(): void {\n this.props.dialogManager.onDialogChangedEvent.removeListener(\n this._handleDialogChangedEvent\n );\n }\n\n private _handleDialogChangedEvent: ListenerType<\n DialogManagerBase[\"onDialogChangedEvent\"]\n > = () => {\n this.forceUpdate();\n };\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"InternalContentDialogManager.d.ts","sourceRoot":"","sources":["../../../src/appui-react/dialog/InternalContentDialogManager.tsx"],"names":[],"mappings":"AAIA;;GAEG;AAEH,OAAO,KAAK,KAAK,KAAK,MAAM,OAAO,CAAC;AACpC,OAAO,EAAE,SAAS,EAAU,MAAM,qBAAqB,CAAC;AAGxD,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,wBAAwB,CAAC;AACrE,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAO3D,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,kCAAkC,CAAC;
|
|
1
|
+
{"version":3,"file":"InternalContentDialogManager.d.ts","sourceRoot":"","sources":["../../../src/appui-react/dialog/InternalContentDialogManager.tsx"],"names":[],"mappings":"AAIA;;GAEG;AAEH,OAAO,KAAK,KAAK,KAAK,MAAM,OAAO,CAAC;AACpC,OAAO,EAAE,SAAS,EAAU,MAAM,qBAAqB,CAAC;AAGxD,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,wBAAwB,CAAC;AACrE,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAO3D,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,kCAAkC,CAAC;AAK1E;;GAEG;AACH,qBAAa,4BAA4B;IACvC,mCAAmC;IACnC,gBAAuB,2BAA2B,oCACR;IAE1C,gBAAgB;IAChB,gBAAuB,aAAa,EAAE,iBAAiB,CAGnD;IAEJ,wCAAwC;IACxC,WAAkB,OAAO,kDAExB;IAED,OAAO,CAAC,MAAM,CAAC,UAAU,CAAwC;IACjE,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAuB;IAE9C,OAAO,CAAC,MAAM,CAAC,UAAU,CAAiC;IAE1D;;OAEG;WACW,UAAU,IAAI,IAAI;IAKhC,OAAO,CAAC,MAAM,CAAC,sBAAsB;IAcrC;;;OAGG;WACW,IAAI,CAChB,MAAM,EAAE,KAAK,CAAC,SAAS,EACvB,EAAE,EAAE,MAAM,EACV,cAAc,WAAW,GACxB,IAAI;IA+BP;;OAEG;WACW,KAAK,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI;IAuBrC,gBAAgB;WACF,QAAQ,IAAI,IAAI;IAQ9B,yBAAyB;WACX,MAAM,IAAI,IAAI;IAI5B,qCAAqC;IACrC,WAAkB,MAAM,IAAI,KAAK,CAAC,SAAS,GAAG,SAAS,CAWtD;IAED,wCAAwC;IACxC,WAAkB,KAAK,IAAI,MAAM,CAEhC;IAED,uDAAuD;WACzC,sBAAsB,CAClC,MAAM,EAAE,KAAK,CAAC,YAAY,EAC1B,EAAE,EAAE,MAAM,EACV,UAAU,EAAE,MAAM,IAAI,GACrB,IAAI;IAmBP,4CAA4C;WAC9B,SAAS,CAAC,EAAE,EAAE,MAAM,GAAG,MAAM;WAO7B,OAAO,CAAC,EAAE,EAAE,MAAM,GAAG,iBAAiB,GAAG,SAAS;CAGjE"}
|
|
@@ -10,7 +10,6 @@ import { getCssVariableAsNumber } from "@itwin/core-react";
|
|
|
10
10
|
import { UiFramework } from "../UiFramework.js";
|
|
11
11
|
import { DialogManagerBase } from "./DialogManagerBase.js";
|
|
12
12
|
import { IModelApp, NotifyMessageDetails, OutputMessagePriority, OutputMessageType, } from "@itwin/core-frontend";
|
|
13
|
-
// cSpell:ignore ZINDEX modeless
|
|
14
13
|
/** Used if the 'dialog' z-index CSS variable cannot be read */
|
|
15
14
|
const CONTENT_DIALOG_ZINDEX_DEFAULT = 2000;
|
|
16
15
|
/** Content Dialog Manager class displays and manages multiple modeless dialogs
|
|
@@ -30,7 +29,7 @@ export class InternalContentDialogManager {
|
|
|
30
29
|
}
|
|
31
30
|
static getDialogZIndexDefault() {
|
|
32
31
|
const variable = "--uicore-z-index-view-content-dialog";
|
|
33
|
-
// eslint-disable-next-line
|
|
32
|
+
// eslint-disable-next-line @typescript-eslint/no-deprecated
|
|
34
33
|
const value = getCssVariableAsNumber(variable);
|
|
35
34
|
if (!isNaN(value))
|
|
36
35
|
return value;
|
|
@@ -128,7 +127,7 @@ export class InternalContentDialogManager {
|
|
|
128
127
|
}
|
|
129
128
|
}
|
|
130
129
|
/** Content Dialog Changed Event */
|
|
131
|
-
InternalContentDialogManager.onContentDialogChangedEvent = new BeUiEvent(); // eslint-disable-line
|
|
130
|
+
InternalContentDialogManager.onContentDialogChangedEvent = new BeUiEvent(); // eslint-disable-line @typescript-eslint/no-deprecated
|
|
132
131
|
/** @internal */
|
|
133
132
|
InternalContentDialogManager.dialogManager = new DialogManagerBase(InternalContentDialogManager.onContentDialogChangedEvent);
|
|
134
133
|
InternalContentDialogManager._dialogMap = new Map();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"InternalContentDialogManager.js","sourceRoot":"","sources":["../../../src/appui-react/dialog/InternalContentDialogManager.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 Dialog\n */\n\nimport type * as React from \"react\";\nimport { BeUiEvent, Logger } from \"@itwin/core-bentley\";\nimport { getCssVariableAsNumber } from \"@itwin/core-react\";\nimport { UiFramework } from \"../UiFramework.js\";\nimport type { DialogChangedEventArgs } from \"./DialogManagerBase.js\";\nimport { DialogManagerBase } from \"./DialogManagerBase.js\";\nimport {\n IModelApp,\n NotifyMessageDetails,\n OutputMessagePriority,\n OutputMessageType,\n} from \"@itwin/core-frontend\";\nimport type { ContentDialogInfo } from \"../framework/FrameworkContent.js\";\n\n// cSpell:ignore ZINDEX modeless\n\n/** Used if the 'dialog' z-index CSS variable cannot be read */\nconst CONTENT_DIALOG_ZINDEX_DEFAULT = 2000;\n\n/** Content Dialog Manager class displays and manages multiple modeless dialogs\n * @internal\n */\nexport class InternalContentDialogManager {\n /** Content Dialog Changed Event */\n public static readonly onContentDialogChangedEvent =\n new BeUiEvent<DialogChangedEventArgs>(); // eslint-disable-line deprecation/deprecation\n\n /** @internal */\n public static readonly dialogManager: DialogManagerBase =\n new DialogManagerBase(\n InternalContentDialogManager.onContentDialogChangedEvent\n );\n\n /** Get the array of modeless dialogs */\n public static get dialogs() {\n return InternalContentDialogManager.dialogManager.dialogs;\n }\n\n private static _dialogMap = new Map<string, ContentDialogInfo>();\n private static _idArray = new Array<string>();\n\n private static _topZIndex = CONTENT_DIALOG_ZINDEX_DEFAULT;\n\n /** Initialize the modeless dialog manager.\n * @internal\n */\n public static initialize(): void {\n InternalContentDialogManager._topZIndex =\n InternalContentDialogManager.getDialogZIndexDefault();\n }\n\n private static getDialogZIndexDefault(): number {\n const variable = \"--uicore-z-index-view-content-dialog\";\n // eslint-disable-next-line deprecation/deprecation\n const value = getCssVariableAsNumber(variable);\n\n if (!isNaN(value)) return value;\n\n Logger.logError(\n UiFramework.loggerCategory(\"InternalContentDialogManager\"),\n `'${variable}' CSS variable not found`\n );\n return CONTENT_DIALOG_ZINDEX_DEFAULT;\n }\n\n /** Open a modeless dialog\n * @param dialog The Dialog to open\n * @param id The id of the Dialog to open\n */\n public static open(\n dialog: React.ReactNode,\n id: string,\n parentDocument = document\n ): void {\n const dialogInfo = InternalContentDialogManager._dialogMap.get(id);\n if (dialogInfo) {\n const message = `Dialog with id of '${id}' already opened`;\n Logger.logInfo(\n UiFramework.loggerCategory(\"InternalContentDialogManager\"),\n `openDialog: ${message}`\n );\n IModelApp.notifications.outputMessage(\n new NotifyMessageDetails(\n OutputMessagePriority.Info,\n message,\n undefined,\n OutputMessageType.Toast\n )\n );\n return;\n }\n InternalContentDialogManager._dialogMap.set(id, {\n reactNode: dialog,\n zIndex: ++InternalContentDialogManager._topZIndex,\n parentDocument,\n });\n InternalContentDialogManager._idArray.push(id);\n InternalContentDialogManager.dialogManager.openDialog(\n dialog,\n id,\n parentDocument\n );\n }\n\n /** Close a modeless dialog\n * @param id The id of the Dialog to close.\n */\n public static close(id: string): void {\n const dialogInfo = InternalContentDialogManager._dialogMap.get(id);\n if (dialogInfo) {\n InternalContentDialogManager.dialogManager.removeDialog(\n dialogInfo.reactNode\n );\n InternalContentDialogManager._dialogMap.delete(id);\n const index = InternalContentDialogManager._idArray.indexOf(id);\n if (index >= 0) InternalContentDialogManager._idArray.splice(index, 1);\n\n if (InternalContentDialogManager.active === undefined)\n InternalContentDialogManager._topZIndex =\n InternalContentDialogManager.getDialogZIndexDefault();\n\n this.update();\n } else {\n Logger.logError(\n UiFramework.loggerCategory(\"InternalContentDialogManager\"),\n `closeDialog: Could not find dialog with id of '${id}'`\n );\n }\n }\n\n /** @internal */\n public static closeAll(): void {\n InternalContentDialogManager.dialogManager.closeAll();\n InternalContentDialogManager._dialogMap.clear();\n InternalContentDialogManager._idArray = [];\n InternalContentDialogManager._topZIndex =\n InternalContentDialogManager.getDialogZIndexDefault();\n }\n\n /** Update the dialogs */\n public static update(): void {\n InternalContentDialogManager.dialogManager.update();\n }\n\n /** Get the active modeless dialog */\n public static get active(): React.ReactNode | undefined {\n if (InternalContentDialogManager._idArray.length > 0) {\n const id =\n InternalContentDialogManager._idArray[\n InternalContentDialogManager._idArray.length - 1\n ];\n const dialogInfo = InternalContentDialogManager._dialogMap.get(id);\n if (dialogInfo) return dialogInfo.reactNode;\n }\n\n return undefined;\n }\n\n /** Get the count of modeless dialogs */\n public static get count(): number {\n return InternalContentDialogManager.dialogManager.dialogCount;\n }\n\n /** Handle a pointer down event on a modeless dialog */\n public static handlePointerDownEvent(\n _event: React.PointerEvent,\n id: string,\n updateFunc: () => void\n ): void {\n const dialogInfo = InternalContentDialogManager._dialogMap.get(id);\n if (\n dialogInfo &&\n dialogInfo.reactNode !== InternalContentDialogManager.active\n ) {\n dialogInfo.zIndex = ++InternalContentDialogManager._topZIndex;\n\n InternalContentDialogManager._idArray.splice(\n InternalContentDialogManager._idArray.indexOf(id),\n 1\n );\n InternalContentDialogManager._idArray.push(id);\n\n updateFunc();\n this.update();\n }\n }\n\n /** Get the z-index for a modeless dialog */\n public static getZIndex(id: string): number {\n let zIndex = InternalContentDialogManager.getDialogZIndexDefault();\n const dialogInfo = InternalContentDialogManager._dialogMap.get(id);\n if (dialogInfo) zIndex = dialogInfo.zIndex;\n return zIndex;\n }\n\n public static getInfo(id: string): ContentDialogInfo | undefined {\n return InternalContentDialogManager._dialogMap.get(id);\n }\n}\n"]}
|
|
1
|
+
{"version":3,"file":"InternalContentDialogManager.js","sourceRoot":"","sources":["../../../src/appui-react/dialog/InternalContentDialogManager.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 Dialog\n */\n\nimport type * as React from \"react\";\nimport { BeUiEvent, Logger } from \"@itwin/core-bentley\";\nimport { getCssVariableAsNumber } from \"@itwin/core-react\";\nimport { UiFramework } from \"../UiFramework.js\";\nimport type { DialogChangedEventArgs } from \"./DialogManagerBase.js\";\nimport { DialogManagerBase } from \"./DialogManagerBase.js\";\nimport {\n IModelApp,\n NotifyMessageDetails,\n OutputMessagePriority,\n OutputMessageType,\n} from \"@itwin/core-frontend\";\nimport type { ContentDialogInfo } from \"../framework/FrameworkContent.js\";\n\n/** Used if the 'dialog' z-index CSS variable cannot be read */\nconst CONTENT_DIALOG_ZINDEX_DEFAULT = 2000;\n\n/** Content Dialog Manager class displays and manages multiple modeless dialogs\n * @internal\n */\nexport class InternalContentDialogManager {\n /** Content Dialog Changed Event */\n public static readonly onContentDialogChangedEvent =\n new BeUiEvent<DialogChangedEventArgs>(); // eslint-disable-line @typescript-eslint/no-deprecated\n\n /** @internal */\n public static readonly dialogManager: DialogManagerBase =\n new DialogManagerBase(\n InternalContentDialogManager.onContentDialogChangedEvent\n );\n\n /** Get the array of modeless dialogs */\n public static get dialogs() {\n return InternalContentDialogManager.dialogManager.dialogs;\n }\n\n private static _dialogMap = new Map<string, ContentDialogInfo>();\n private static _idArray = new Array<string>();\n\n private static _topZIndex = CONTENT_DIALOG_ZINDEX_DEFAULT;\n\n /** Initialize the modeless dialog manager.\n * @internal\n */\n public static initialize(): void {\n InternalContentDialogManager._topZIndex =\n InternalContentDialogManager.getDialogZIndexDefault();\n }\n\n private static getDialogZIndexDefault(): number {\n const variable = \"--uicore-z-index-view-content-dialog\";\n // eslint-disable-next-line @typescript-eslint/no-deprecated\n const value = getCssVariableAsNumber(variable);\n\n if (!isNaN(value)) return value;\n\n Logger.logError(\n UiFramework.loggerCategory(\"InternalContentDialogManager\"),\n `'${variable}' CSS variable not found`\n );\n return CONTENT_DIALOG_ZINDEX_DEFAULT;\n }\n\n /** Open a modeless dialog\n * @param dialog The Dialog to open\n * @param id The id of the Dialog to open\n */\n public static open(\n dialog: React.ReactNode,\n id: string,\n parentDocument = document\n ): void {\n const dialogInfo = InternalContentDialogManager._dialogMap.get(id);\n if (dialogInfo) {\n const message = `Dialog with id of '${id}' already opened`;\n Logger.logInfo(\n UiFramework.loggerCategory(\"InternalContentDialogManager\"),\n `openDialog: ${message}`\n );\n IModelApp.notifications.outputMessage(\n new NotifyMessageDetails(\n OutputMessagePriority.Info,\n message,\n undefined,\n OutputMessageType.Toast\n )\n );\n return;\n }\n InternalContentDialogManager._dialogMap.set(id, {\n reactNode: dialog,\n zIndex: ++InternalContentDialogManager._topZIndex,\n parentDocument,\n });\n InternalContentDialogManager._idArray.push(id);\n InternalContentDialogManager.dialogManager.openDialog(\n dialog,\n id,\n parentDocument\n );\n }\n\n /** Close a modeless dialog\n * @param id The id of the Dialog to close.\n */\n public static close(id: string): void {\n const dialogInfo = InternalContentDialogManager._dialogMap.get(id);\n if (dialogInfo) {\n InternalContentDialogManager.dialogManager.removeDialog(\n dialogInfo.reactNode\n );\n InternalContentDialogManager._dialogMap.delete(id);\n const index = InternalContentDialogManager._idArray.indexOf(id);\n if (index >= 0) InternalContentDialogManager._idArray.splice(index, 1);\n\n if (InternalContentDialogManager.active === undefined)\n InternalContentDialogManager._topZIndex =\n InternalContentDialogManager.getDialogZIndexDefault();\n\n this.update();\n } else {\n Logger.logError(\n UiFramework.loggerCategory(\"InternalContentDialogManager\"),\n `closeDialog: Could not find dialog with id of '${id}'`\n );\n }\n }\n\n /** @internal */\n public static closeAll(): void {\n InternalContentDialogManager.dialogManager.closeAll();\n InternalContentDialogManager._dialogMap.clear();\n InternalContentDialogManager._idArray = [];\n InternalContentDialogManager._topZIndex =\n InternalContentDialogManager.getDialogZIndexDefault();\n }\n\n /** Update the dialogs */\n public static update(): void {\n InternalContentDialogManager.dialogManager.update();\n }\n\n /** Get the active modeless dialog */\n public static get active(): React.ReactNode | undefined {\n if (InternalContentDialogManager._idArray.length > 0) {\n const id =\n InternalContentDialogManager._idArray[\n InternalContentDialogManager._idArray.length - 1\n ];\n const dialogInfo = InternalContentDialogManager._dialogMap.get(id);\n if (dialogInfo) return dialogInfo.reactNode;\n }\n\n return undefined;\n }\n\n /** Get the count of modeless dialogs */\n public static get count(): number {\n return InternalContentDialogManager.dialogManager.dialogCount;\n }\n\n /** Handle a pointer down event on a modeless dialog */\n public static handlePointerDownEvent(\n _event: React.PointerEvent,\n id: string,\n updateFunc: () => void\n ): void {\n const dialogInfo = InternalContentDialogManager._dialogMap.get(id);\n if (\n dialogInfo &&\n dialogInfo.reactNode !== InternalContentDialogManager.active\n ) {\n dialogInfo.zIndex = ++InternalContentDialogManager._topZIndex;\n\n InternalContentDialogManager._idArray.splice(\n InternalContentDialogManager._idArray.indexOf(id),\n 1\n );\n InternalContentDialogManager._idArray.push(id);\n\n updateFunc();\n this.update();\n }\n }\n\n /** Get the z-index for a modeless dialog */\n public static getZIndex(id: string): number {\n let zIndex = InternalContentDialogManager.getDialogZIndexDefault();\n const dialogInfo = InternalContentDialogManager._dialogMap.get(id);\n if (dialogInfo) zIndex = dialogInfo.zIndex;\n return zIndex;\n }\n\n public static getInfo(id: string): ContentDialogInfo | undefined {\n return InternalContentDialogManager._dialogMap.get(id);\n }\n}\n"]}
|
|
@@ -47,7 +47,7 @@ export class InternalModalDialogManager {
|
|
|
47
47
|
}
|
|
48
48
|
}
|
|
49
49
|
/** Modal Dialog Changed Event */
|
|
50
|
-
InternalModalDialogManager.onModalDialogChangedEvent = new BeUiEvent(); // eslint-disable-line
|
|
50
|
+
InternalModalDialogManager.onModalDialogChangedEvent = new BeUiEvent(); // eslint-disable-line @typescript-eslint/no-deprecated
|
|
51
51
|
/** @internal */
|
|
52
52
|
InternalModalDialogManager.dialogManager = new DialogManagerBase(InternalModalDialogManager.onModalDialogChangedEvent);
|
|
53
53
|
//# sourceMappingURL=InternalModalDialogManager.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"InternalModalDialogManager.js","sourceRoot":"","sources":["../../../src/appui-react/dialog/InternalModalDialogManager.tsx"],"names":[],"mappings":"AAAA;;;gGAGgG;AAChG;;GAEG;AAIH,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAC3D,OAAO,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAEhD;;GAEG;AACH,MAAM,OAAO,0BAA0B;IASrC,qCAAqC;IAC9B,MAAM,KAAK,OAAO;QACvB,OAAO,0BAA0B,CAAC,aAAa,CAAC,OAAO,CAAC;IAC1D,CAAC;IAED;;;;OAIG;IACI,MAAM,CAAC,IAAI,CAChB,MAAuB,EACvB,EAAW,EACX,cAAc,GAAG,QAAQ;QAEzB,0BAA0B,CAAC,aAAa,CAAC,UAAU,CACjD,MAAM,EACN,EAAE,EACF,cAAc,CACf,CAAC;IACJ,CAAC;IAED;;OAEG;IACI,MAAM,CAAC,KAAK,CAAC,MAAwB;QAC1C,0BAA0B,CAAC,aAAa,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;IAC/D,CAAC;IAED,gBAAgB;IACT,MAAM,CAAC,QAAQ;QACpB,0BAA0B,CAAC,aAAa,CAAC,QAAQ,EAAE,CAAC;IACtD,CAAC;IAED,yBAAyB;IAClB,MAAM,CAAC,MAAM;QAClB,0BAA0B,CAAC,aAAa,CAAC,MAAM,EAAE,CAAC;IACpD,CAAC;IAED,kCAAkC;IAC3B,MAAM,KAAK,MAAM;QACtB,OAAO,0BAA0B,CAAC,aAAa,CAAC,YAAY,CAAC;IAC/D,CAAC;IAED,qCAAqC;IAC9B,MAAM,KAAK,KAAK;QACrB,OAAO,0BAA0B,CAAC,aAAa,CAAC,WAAW,CAAC;IAC9D,CAAC;;AAvDD,iCAAiC;AACV,oDAAyB,GAC9C,IAAI,SAAS,EAA0B,CAAC,CAAC,
|
|
1
|
+
{"version":3,"file":"InternalModalDialogManager.js","sourceRoot":"","sources":["../../../src/appui-react/dialog/InternalModalDialogManager.tsx"],"names":[],"mappings":"AAAA;;;gGAGgG;AAChG;;GAEG;AAIH,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAC3D,OAAO,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAEhD;;GAEG;AACH,MAAM,OAAO,0BAA0B;IASrC,qCAAqC;IAC9B,MAAM,KAAK,OAAO;QACvB,OAAO,0BAA0B,CAAC,aAAa,CAAC,OAAO,CAAC;IAC1D,CAAC;IAED;;;;OAIG;IACI,MAAM,CAAC,IAAI,CAChB,MAAuB,EACvB,EAAW,EACX,cAAc,GAAG,QAAQ;QAEzB,0BAA0B,CAAC,aAAa,CAAC,UAAU,CACjD,MAAM,EACN,EAAE,EACF,cAAc,CACf,CAAC;IACJ,CAAC;IAED;;OAEG;IACI,MAAM,CAAC,KAAK,CAAC,MAAwB;QAC1C,0BAA0B,CAAC,aAAa,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;IAC/D,CAAC;IAED,gBAAgB;IACT,MAAM,CAAC,QAAQ;QACpB,0BAA0B,CAAC,aAAa,CAAC,QAAQ,EAAE,CAAC;IACtD,CAAC;IAED,yBAAyB;IAClB,MAAM,CAAC,MAAM;QAClB,0BAA0B,CAAC,aAAa,CAAC,MAAM,EAAE,CAAC;IACpD,CAAC;IAED,kCAAkC;IAC3B,MAAM,KAAK,MAAM;QACtB,OAAO,0BAA0B,CAAC,aAAa,CAAC,YAAY,CAAC;IAC/D,CAAC;IAED,qCAAqC;IAC9B,MAAM,KAAK,KAAK;QACrB,OAAO,0BAA0B,CAAC,aAAa,CAAC,WAAW,CAAC;IAC9D,CAAC;;AAvDD,iCAAiC;AACV,oDAAyB,GAC9C,IAAI,SAAS,EAA0B,CAAC,CAAC,uDAAuD;AAElG,gBAAgB;AACO,wCAAa,GAClC,IAAI,iBAAiB,CAAC,0BAA0B,CAAC,yBAAyB,CAAC,CAAC","sourcesContent":["/*---------------------------------------------------------------------------------------------\n * Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n * See LICENSE.md in the project root for license terms and full copyright notice.\n *--------------------------------------------------------------------------------------------*/\n/** @packageDocumentation\n * @module Dialog\n */\n\nimport type * as React from \"react\";\nimport type { DialogChangedEventArgs } from \"./DialogManagerBase.js\";\nimport { DialogManagerBase } from \"./DialogManagerBase.js\";\nimport { BeUiEvent } from \"@itwin/core-bentley\";\n\n/** Modal Dialog Manager class displays and manages multiple modal dialogs\n * @internal\n */\nexport class InternalModalDialogManager {\n /** Modal Dialog Changed Event */\n public static readonly onModalDialogChangedEvent =\n new BeUiEvent<DialogChangedEventArgs>(); // eslint-disable-line @typescript-eslint/no-deprecated\n\n /** @internal */\n public static readonly dialogManager: DialogManagerBase =\n new DialogManagerBase(InternalModalDialogManager.onModalDialogChangedEvent);\n\n /** Get the array of modal dialogs */\n public static get dialogs() {\n return InternalModalDialogManager.dialogManager.dialogs;\n }\n\n /** Open a modal dialog\n * @param dialog The Dialog to open\n * @param id The id of the Dialog. If one is not provided, an id is generated.\n * @param parentDocument The Document used to determine the owning window.\n */\n public static open(\n dialog: React.ReactNode,\n id?: string,\n parentDocument = document\n ): void {\n InternalModalDialogManager.dialogManager.openDialog(\n dialog,\n id,\n parentDocument\n );\n }\n\n /** Close a modal dialog\n * @param dialog The Dialog to open. If one is not specified, the active dialog will be closed.\n */\n public static close(dialog?: React.ReactNode): void {\n InternalModalDialogManager.dialogManager.closeDialog(dialog);\n }\n\n /** @internal */\n public static closeAll(): void {\n InternalModalDialogManager.dialogManager.closeAll();\n }\n\n /** Update the dialogs */\n public static update(): void {\n InternalModalDialogManager.dialogManager.update();\n }\n\n /** Get the active modal dialog */\n public static get active(): React.ReactNode | undefined {\n return InternalModalDialogManager.dialogManager.activeDialog;\n }\n\n /** Get the count of modal dialogs */\n public static get count(): number {\n return InternalModalDialogManager.dialogManager.dialogCount;\n }\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"InternalModelessDialogManager.d.ts","sourceRoot":"","sources":["../../../src/appui-react/dialog/InternalModelessDialogManager.tsx"],"names":[],"mappings":"AAIA;;GAEG;AAEH,OAAO,KAAK,KAAK,KAAK,MAAM,OAAO,CAAC;AACpC,OAAO,EAAE,SAAS,EAAU,MAAM,qBAAqB,CAAC;AAExD,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,wBAAwB,CAAC;AACrE,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAO3D,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,kCAAkC,CAAC;
|
|
1
|
+
{"version":3,"file":"InternalModelessDialogManager.d.ts","sourceRoot":"","sources":["../../../src/appui-react/dialog/InternalModelessDialogManager.tsx"],"names":[],"mappings":"AAIA;;GAEG;AAEH,OAAO,KAAK,KAAK,KAAK,MAAM,OAAO,CAAC;AACpC,OAAO,EAAE,SAAS,EAAU,MAAM,qBAAqB,CAAC;AAExD,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,wBAAwB,CAAC;AACrE,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAO3D,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,kCAAkC,CAAC;AAE3E;;GAEG;AACH,qBAAa,6BAA6B;IACxC,oCAAoC;IACpC,gBAAuB,4BAA4B,oCACT;IAE1C,gBAAgB;IAChB,gBAAuB,aAAa,EAAE,iBAAiB,CAGnD;IAEJ,wCAAwC;IACxC,WAAkB,OAAO,kDAExB;IAED,OAAO,CAAC,MAAM,CAAC,UAAU,CAAyC;IAClE,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAuB;IAE9C;;OAEG;WACW,UAAU,IAAI,IAAI;IAIhC;;;OAGG;WACW,IAAI,CAChB,MAAM,EAAE,KAAK,CAAC,SAAS,EACvB,EAAE,EAAE,MAAM,EACV,cAAc,WAAW,GACxB,IAAI;IA+BP;;OAEG;WACW,KAAK,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI;IAuBrC,gBAAgB;WACF,QAAQ,IAAI,IAAI;IAM9B,yBAAyB;WACX,MAAM,IAAI,IAAI;IAI5B,qCAAqC;IACrC,WAAkB,MAAM,IAAI,KAAK,CAAC,SAAS,GAAG,SAAS,CAWtD;IAED,wCAAwC;IACxC,WAAkB,KAAK,IAAI,MAAM,CAEhC;IAED,uDAAuD;WACzC,sBAAsB,CAClC,MAAM,EAAE,KAAK,CAAC,YAAY,EAC1B,EAAE,EAAE,MAAM,EACV,UAAU,EAAE,MAAM,IAAI,GACrB,IAAI;IAoBP,4CAA4C;WAC9B,SAAS,CAAC,EAAE,EAAE,MAAM,GAAG,MAAM;WAO7B,OAAO,CAAC,EAAE,EAAE,MAAM,GAAG,kBAAkB,GAAG,SAAS;CAGlE"}
|
|
@@ -9,7 +9,6 @@ import { BeUiEvent, Logger } from "@itwin/core-bentley";
|
|
|
9
9
|
import { UiFramework } from "../UiFramework.js";
|
|
10
10
|
import { DialogManagerBase } from "./DialogManagerBase.js";
|
|
11
11
|
import { IModelApp, NotifyMessageDetails, OutputMessagePriority, OutputMessageType, } from "@itwin/core-frontend";
|
|
12
|
-
// cSpell:ignore ZINDEX modeless
|
|
13
12
|
/** Modeless Dialog Manager class displays and manages multiple modeless dialogs
|
|
14
13
|
* @internal
|
|
15
14
|
*/
|
|
@@ -114,7 +113,7 @@ export class InternalModelessDialogManager {
|
|
|
114
113
|
}
|
|
115
114
|
}
|
|
116
115
|
/** Modeless Dialog Changed Event */
|
|
117
|
-
InternalModelessDialogManager.onModelessDialogChangedEvent = new BeUiEvent(); // eslint-disable-line
|
|
116
|
+
InternalModelessDialogManager.onModelessDialogChangedEvent = new BeUiEvent(); // eslint-disable-line @typescript-eslint/no-deprecated
|
|
118
117
|
/** @internal */
|
|
119
118
|
InternalModelessDialogManager.dialogManager = new DialogManagerBase(InternalModelessDialogManager.onModelessDialogChangedEvent);
|
|
120
119
|
InternalModelessDialogManager._dialogMap = new Map();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"InternalModelessDialogManager.js","sourceRoot":"","sources":["../../../src/appui-react/dialog/InternalModelessDialogManager.tsx"],"names":[],"mappings":"AAAA;;;gGAGgG;AAChG;;GAEG;AAGH,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AACxD,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAEhD,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAC3D,OAAO,EACL,SAAS,EACT,oBAAoB,EACpB,qBAAqB,EACrB,iBAAiB,GAClB,MAAM,sBAAsB,CAAC;AAG9B
|
|
1
|
+
{"version":3,"file":"InternalModelessDialogManager.js","sourceRoot":"","sources":["../../../src/appui-react/dialog/InternalModelessDialogManager.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 Dialog\n */\n\nimport type * as React from \"react\";\nimport { BeUiEvent, Logger } from \"@itwin/core-bentley\";\nimport { UiFramework } from \"../UiFramework.js\";\nimport type { DialogChangedEventArgs } from \"./DialogManagerBase.js\";\nimport { DialogManagerBase } from \"./DialogManagerBase.js\";\nimport {\n IModelApp,\n NotifyMessageDetails,\n OutputMessagePriority,\n OutputMessageType,\n} from \"@itwin/core-frontend\";\nimport type { ModelessDialogInfo } from \"../framework/FrameworkDialogs.js\";\n\n/** Modeless Dialog Manager class displays and manages multiple modeless dialogs\n * @internal\n */\nexport class InternalModelessDialogManager {\n /** Modeless Dialog Changed Event */\n public static readonly onModelessDialogChangedEvent =\n new BeUiEvent<DialogChangedEventArgs>(); // eslint-disable-line @typescript-eslint/no-deprecated\n\n /** @internal */\n public static readonly dialogManager: DialogManagerBase =\n new DialogManagerBase(\n InternalModelessDialogManager.onModelessDialogChangedEvent\n );\n\n /** Get the array of modeless dialogs */\n public static get dialogs() {\n return InternalModelessDialogManager.dialogManager.dialogs;\n }\n\n private static _dialogMap = new Map<string, ModelessDialogInfo>();\n private static _idArray = new Array<string>();\n\n /** Initialize the modeless dialog manager\n * @internal\n */\n public static initialize(): void {\n DialogManagerBase.initialize();\n }\n\n /** Open a modeless dialog\n * @param dialog The Dialog to open\n * @param id The id of the Dialog to open\n */\n public static open(\n dialog: React.ReactNode,\n id: string,\n parentDocument = document\n ): void {\n const dialogInfo = InternalModelessDialogManager._dialogMap.get(id);\n if (dialogInfo) {\n const message = `Dialog with id of '${id}' already opened`;\n Logger.logInfo(\n UiFramework.loggerCategory(\"InternalModelessDialogManager\"),\n `openDialog: ${message}`\n );\n IModelApp.notifications.outputMessage(\n new NotifyMessageDetails(\n OutputMessagePriority.Info,\n message,\n undefined,\n OutputMessageType.Toast\n )\n );\n return;\n }\n InternalModelessDialogManager._dialogMap.set(id, {\n reactNode: dialog,\n zIndex: DialogManagerBase.topZIndex,\n parentDocument,\n });\n InternalModelessDialogManager._idArray.push(id);\n InternalModelessDialogManager.dialogManager.openDialog(\n dialog,\n id,\n parentDocument\n );\n }\n\n /** Close a modeless dialog\n * @param id The id of the Dialog to close.\n */\n public static close(id: string): void {\n const dialogInfo = InternalModelessDialogManager._dialogMap.get(id);\n if (dialogInfo) {\n InternalModelessDialogManager.dialogManager.removeDialog(\n dialogInfo.reactNode\n );\n InternalModelessDialogManager._dialogMap.delete(id);\n const index = InternalModelessDialogManager._idArray.indexOf(id);\n if (index >= 0) InternalModelessDialogManager._idArray.splice(index, 1);\n\n if (InternalModelessDialogManager.active === undefined)\n DialogManagerBase.topZIndex =\n DialogManagerBase.getDialogZIndexDefault();\n\n this.update();\n } else {\n Logger.logError(\n UiFramework.loggerCategory(\"InternalModelessDialogManager\"),\n `closeDialog: Could not find dialog with id of '${id}'`\n );\n }\n }\n\n /** @internal */\n public static closeAll(): void {\n InternalModelessDialogManager.dialogManager.closeAll();\n InternalModelessDialogManager._dialogMap.clear();\n InternalModelessDialogManager._idArray = [];\n }\n\n /** Update the dialogs */\n public static update(): void {\n InternalModelessDialogManager.dialogManager.update();\n }\n\n /** Get the active modeless dialog */\n public static get active(): React.ReactNode | undefined {\n if (InternalModelessDialogManager._idArray.length > 0) {\n const id =\n InternalModelessDialogManager._idArray[\n InternalModelessDialogManager._idArray.length - 1\n ];\n const dialogInfo = InternalModelessDialogManager._dialogMap.get(id);\n if (dialogInfo) return dialogInfo.reactNode;\n }\n\n return undefined;\n }\n\n /** Get the count of modeless dialogs */\n public static get count(): number {\n return InternalModelessDialogManager.dialogManager.dialogCount;\n }\n\n /** Handle a pointer down event on a modeless dialog */\n public static handlePointerDownEvent(\n _event: React.PointerEvent,\n id: string,\n updateFunc: () => void\n ): void {\n const dialogInfo = InternalModelessDialogManager._dialogMap.get(id);\n if (\n dialogInfo &&\n dialogInfo.reactNode !== InternalModelessDialogManager.active\n ) {\n DialogManagerBase.topZIndex += 1;\n dialogInfo.zIndex = DialogManagerBase.topZIndex;\n\n InternalModelessDialogManager._idArray.splice(\n InternalModelessDialogManager._idArray.indexOf(id),\n 1\n );\n InternalModelessDialogManager._idArray.push(id);\n\n updateFunc();\n this.update();\n }\n }\n\n /** Get the z-index for a modeless dialog */\n public static getZIndex(id: string): number {\n let zIndex = DialogManagerBase.getDialogZIndexDefault();\n const dialogInfo = InternalModelessDialogManager._dialogMap.get(id);\n if (dialogInfo) zIndex = dialogInfo.zIndex;\n return zIndex;\n }\n\n public static getInfo(id: string): ModelessDialogInfo | undefined {\n return InternalModelessDialogManager._dialogMap.get(id);\n }\n}\n"]}
|
|
@@ -11,9 +11,9 @@ import { InternalModalDialogManager as internal } from "./InternalModalDialogMan
|
|
|
11
11
|
/** ModalDialogRenderer React component renders modal dialogs
|
|
12
12
|
* @public
|
|
13
13
|
*/
|
|
14
|
-
// eslint-disable-next-line
|
|
14
|
+
// eslint-disable-next-line @typescript-eslint/no-deprecated
|
|
15
15
|
export class ModalDialogRenderer extends React.PureComponent {
|
|
16
|
-
// eslint-disable-next-line
|
|
16
|
+
// eslint-disable-next-line @typescript-eslint/no-deprecated
|
|
17
17
|
constructor(props) {
|
|
18
18
|
super(props);
|
|
19
19
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ModalDialogManager.js","sourceRoot":"","sources":["../../../src/appui-react/dialog/ModalDialogManager.tsx"],"names":[],"mappings":"AAAA;;;gGAGgG;AAChG;;GAEG;AAEH,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,OAAO,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AAC5D,OAAO,EAAE,0BAA0B,IAAI,QAAQ,EAAE,MAAM,iCAAiC,CAAC;AAEzF;;GAEG;AACH,
|
|
1
|
+
{"version":3,"file":"ModalDialogManager.js","sourceRoot":"","sources":["../../../src/appui-react/dialog/ModalDialogManager.tsx"],"names":[],"mappings":"AAAA;;;gGAGgG;AAChG;;GAEG;AAEH,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,OAAO,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AAC5D,OAAO,EAAE,0BAA0B,IAAI,QAAQ,EAAE,MAAM,iCAAiC,CAAC;AAEzF;;GAEG;AACH,4DAA4D;AAC5D,MAAM,OAAO,mBAAoB,SAAQ,KAAK,CAAC,aAA0B;IACvE,4DAA4D;IAC5D,YAAY,KAAkB;QAC5B,KAAK,CAAC,KAAK,CAAC,CAAC;IACf,CAAC;IAEe,MAAM;QACpB,OAAO,CACL,oBAAC,kBAAkB,OACb,IAAI,CAAC,KAAK,EACd,aAAa,EAAE,QAAQ,CAAC,aAAa,GACrC,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 Dialog\n */\n\nimport * as React from \"react\";\nimport type { CommonProps } from \"@itwin/core-react\";\nimport { DialogRendererBase } from \"./DialogManagerBase.js\";\nimport { InternalModalDialogManager as internal } from \"./InternalModalDialogManager.js\";\n\n/** ModalDialogRenderer React component renders modal dialogs\n * @public\n */\n// eslint-disable-next-line @typescript-eslint/no-deprecated\nexport class ModalDialogRenderer extends React.PureComponent<CommonProps> {\n // eslint-disable-next-line @typescript-eslint/no-deprecated\n constructor(props: CommonProps) {\n super(props);\n }\n\n public override render(): React.ReactNode {\n return (\n <DialogRendererBase\n {...this.props}\n dialogManager={internal.dialogManager}\n />\n );\n }\n}\n"]}
|
|
@@ -23,7 +23,7 @@ export class ModelessDialog extends React.Component {
|
|
|
23
23
|
render() {
|
|
24
24
|
const { dialogId, style, modal, modelessId, onModelessPointerDown, ...props } = this.props;
|
|
25
25
|
return (
|
|
26
|
-
// eslint-disable-next-line
|
|
26
|
+
// eslint-disable-next-line @typescript-eslint/no-deprecated
|
|
27
27
|
React.createElement(Dialog, { ...props, modal: false, modelessId: dialogId, onModelessPointerDown: (event) => UiFramework.dialogs.modeless.handlePointerDownEvent(event, dialogId, this._updateDialog), style: {
|
|
28
28
|
zIndex: UiFramework.dialogs.modeless.getZIndex(dialogId),
|
|
29
29
|
...style,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ModelessDialog.js","sourceRoot":"","sources":["../../../src/appui-react/dialog/ModelessDialog.tsx"],"names":[],"mappings":"AAAA;;;gGAGgG;AAChG;;GAEG;AAEH,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,OAAO,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAC3C,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAahD;;;;GAIG;AACH,MAAM,OAAO,cAAe,SAAQ,KAAK,CAAC,SAA8B;IACtE,YAAY,KAA0B;QACpC,KAAK,CAAC,KAAK,CAAC,CAAC;QAoCP,kBAAa,GAAG,GAAG,EAAE;YAC3B,IAAI,CAAC,WAAW,EAAE,CAAC;QACrB,CAAC,CAAC;IArCF,CAAC;IAEe,MAAM;QACpB,MAAM,EACJ,QAAQ,EACR,KAAK,EACL,KAAK,EACL,UAAU,EACV,qBAAqB,EACrB,GAAG,KAAK,EACT,GAAG,IAAI,CAAC,KAAK,CAAC;QAEf,OAAO;QACL,
|
|
1
|
+
{"version":3,"file":"ModelessDialog.js","sourceRoot":"","sources":["../../../src/appui-react/dialog/ModelessDialog.tsx"],"names":[],"mappings":"AAAA;;;gGAGgG;AAChG;;GAEG;AAEH,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,OAAO,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAC3C,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAahD;;;;GAIG;AACH,MAAM,OAAO,cAAe,SAAQ,KAAK,CAAC,SAA8B;IACtE,YAAY,KAA0B;QACpC,KAAK,CAAC,KAAK,CAAC,CAAC;QAoCP,kBAAa,GAAG,GAAG,EAAE;YAC3B,IAAI,CAAC,WAAW,EAAE,CAAC;QACrB,CAAC,CAAC;IArCF,CAAC;IAEe,MAAM;QACpB,MAAM,EACJ,QAAQ,EACR,KAAK,EACL,KAAK,EACL,UAAU,EACV,qBAAqB,EACrB,GAAG,KAAK,EACT,GAAG,IAAI,CAAC,KAAK,CAAC;QAEf,OAAO;QACL,4DAA4D;QAC5D,oBAAC,MAAM,OACD,KAAK,EACT,KAAK,EAAE,KAAK,EACZ,UAAU,EAAE,QAAQ,EACpB,qBAAqB,EAAE,CAAC,KAAK,EAAE,EAAE,CAC/B,WAAW,CAAC,OAAO,CAAC,QAAQ,CAAC,sBAAsB,CACjD,KAAK,EACL,QAAQ,EACR,IAAI,CAAC,aAAa,CACnB,EAEH,KAAK,EAAE;gBACL,MAAM,EAAE,WAAW,CAAC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,QAAQ,CAAC;gBACxD,GAAG,KAAK;aACT,IAEA,IAAI,CAAC,KAAK,CAAC,QAAQ,CACb,CACV,CAAC;IACJ,CAAC;CAKF","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 Dialog\n */\n\nimport * as React from \"react\";\nimport type { DialogProps } from \"@itwin/core-react\";\nimport { Dialog } from \"@itwin/core-react\";\nimport { UiFramework } from \"../UiFramework.js\";\n\n/* eslint-disable @typescript-eslint/no-deprecated */\n\n/** Properties for the [[ModelessDialog]] component\n * @public\n * @deprecated in 4.15.0. Props of deprecated {@link ModelessDialog} component.\n */\nexport interface ModelessDialogProps extends DialogProps {\n dialogId: string;\n movable?: boolean;\n}\n\n/** Modeless Dialog React component uses the Dialog component with a modal={false} prop.\n * It controls the z-index to keep the focused dialog above others.\n * @public\n * @deprecated in 4.15.0. Use {@link https://itwinui.bentley.com/docs/dialog iTwinUI Dialog} instead.\n */\nexport class ModelessDialog extends React.Component<ModelessDialogProps> {\n constructor(props: ModelessDialogProps) {\n super(props);\n }\n\n public override render(): React.ReactElement {\n const {\n dialogId,\n style,\n modal,\n modelessId,\n onModelessPointerDown,\n ...props\n } = this.props;\n\n return (\n // eslint-disable-next-line @typescript-eslint/no-deprecated\n <Dialog\n {...props}\n modal={false}\n modelessId={dialogId}\n onModelessPointerDown={(event) =>\n UiFramework.dialogs.modeless.handlePointerDownEvent(\n event,\n dialogId,\n this._updateDialog\n )\n }\n style={{\n zIndex: UiFramework.dialogs.modeless.getZIndex(dialogId),\n ...style,\n }}\n >\n {this.props.children}\n </Dialog>\n );\n }\n\n private _updateDialog = () => {\n this.forceUpdate();\n };\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ModelessDialogManager.d.ts","sourceRoot":"","sources":["../../../src/appui-react/dialog/ModelessDialogManager.tsx"],"names":[],"mappings":"AAIA;;GAEG;AAEH,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"ModelessDialogManager.d.ts","sourceRoot":"","sources":["../../../src/appui-react/dialog/ModelessDialogManager.tsx"],"names":[],"mappings":"AAIA;;GAEG;AAEH,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAIrD;;GAEG;AAEH,qBAAa,sBAAuB,SAAQ,KAAK,CAAC,aAAa,CAAC,WAAW,CAAC;gBAE9D,KAAK,EAAE,WAAW;IAId,MAAM,IAAI,KAAK,CAAC,SAAS;CAQ1C"}
|