@itwin/appui-react 5.0.0-dev.2 → 5.0.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 +78 -1
- package/lib/appui-react/UiFramework.d.ts +2 -2
- package/lib/appui-react/UiFramework.d.ts.map +1 -1
- package/lib/appui-react/UiFramework.js +3 -1
- package/lib/appui-react/UiFramework.js.map +1 -1
- package/lib/appui-react/UiFramework.json +4 -0
- package/lib/appui-react/childwindow/ChildWindowWidget.d.ts.map +1 -1
- package/lib/appui-react/childwindow/ChildWindowWidget.js +4 -1
- package/lib/appui-react/childwindow/ChildWindowWidget.js.map +1 -1
- package/lib/appui-react/configurableui/ConfigurableUiContent.d.ts +1 -1
- package/lib/appui-react/dialog/StandardMessageBox.d.ts.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/framework/FrameworkFrontstages.d.ts +3 -3
- package/lib/appui-react/framework/FrameworkFrontstages.d.ts.map +1 -1
- package/lib/appui-react/framework/FrameworkFrontstages.js.map +1 -1
- package/lib/appui-react/frontstage/FrontstageDef.d.ts.map +1 -1
- package/lib/appui-react/frontstage/FrontstageDef.js +4 -0
- package/lib/appui-react/frontstage/FrontstageDef.js.map +1 -1
- package/lib/appui-react/frontstage/ModalFrontstage.d.ts +4 -2
- package/lib/appui-react/frontstage/ModalFrontstage.d.ts.map +1 -1
- package/lib/appui-react/frontstage/ModalFrontstage.js +5 -7
- package/lib/appui-react/frontstage/ModalFrontstage.js.map +1 -1
- package/lib/appui-react/frontstage/ModalFrontstage.scss +0 -5
- package/lib/appui-react/frontstage/ModalFrontstageButton.d.ts +22 -0
- package/lib/appui-react/frontstage/ModalFrontstageButton.d.ts.map +1 -0
- package/lib/appui-react/frontstage/ModalFrontstageButton.js +29 -0
- package/lib/appui-react/frontstage/ModalFrontstageButton.js.map +1 -0
- package/lib/appui-react/frontstage/ModalFrontstageButton.scss +21 -0
- package/lib/appui-react/icons/SvgAssetClassificationHide.d.ts +7 -0
- package/lib/appui-react/icons/SvgAssetClassificationHide.d.ts.map +1 -0
- package/lib/appui-react/icons/SvgAssetClassificationHide.js +14 -0
- package/lib/appui-react/icons/SvgAssetClassificationHide.js.map +1 -0
- package/lib/appui-react/icons/SvgAssetIsolate.d.ts +7 -0
- package/lib/appui-react/icons/SvgAssetIsolate.d.ts.map +1 -0
- package/lib/appui-react/icons/SvgAssetIsolate.js +14 -0
- package/lib/appui-react/icons/SvgAssetIsolate.js.map +1 -0
- package/lib/appui-react/icons/SvgGyroscope.d.ts +7 -0
- package/lib/appui-react/icons/SvgGyroscope.d.ts.map +1 -0
- package/lib/appui-react/icons/SvgGyroscope.js +15 -0
- package/lib/appui-react/icons/SvgGyroscope.js.map +1 -0
- package/lib/appui-react/icons/SvgLayersHide.d.ts +7 -0
- package/lib/appui-react/icons/SvgLayersHide.d.ts.map +1 -0
- package/lib/appui-react/icons/SvgLayersHide.js +14 -0
- package/lib/appui-react/icons/SvgLayersHide.js.map +1 -0
- package/lib/appui-react/icons/SvgLayersIsolate.d.ts +7 -0
- package/lib/appui-react/icons/SvgLayersIsolate.d.ts.map +1 -0
- package/lib/appui-react/icons/SvgLayersIsolate.js +14 -0
- package/lib/appui-react/icons/SvgLayersIsolate.js.map +1 -0
- package/lib/appui-react/icons/SvgModelHide.d.ts +7 -0
- package/lib/appui-react/icons/SvgModelHide.d.ts.map +1 -0
- package/lib/appui-react/icons/SvgModelHide.js +15 -0
- package/lib/appui-react/icons/SvgModelHide.js.map +1 -0
- package/lib/appui-react/icons/SvgModelIsolate.d.ts +7 -0
- package/lib/appui-react/icons/SvgModelIsolate.d.ts.map +1 -0
- package/lib/appui-react/icons/SvgModelIsolate.js +15 -0
- package/lib/appui-react/icons/SvgModelIsolate.js.map +1 -0
- package/lib/appui-react/icons/SvgSavedView.d.ts +7 -0
- package/lib/appui-react/icons/SvgSavedView.d.ts.map +1 -0
- package/lib/appui-react/icons/SvgSavedView.js +15 -0
- package/lib/appui-react/icons/SvgSavedView.js.map +1 -0
- package/lib/appui-react/icons/SvgSectionTool.d.ts +7 -0
- package/lib/appui-react/icons/SvgSectionTool.d.ts.map +1 -0
- package/lib/appui-react/icons/SvgSectionTool.js +15 -0
- package/lib/appui-react/icons/SvgSectionTool.js.map +1 -0
- package/lib/appui-react/icons/SvgSelectionClear.d.ts +7 -0
- package/lib/appui-react/icons/SvgSelectionClear.d.ts.map +1 -0
- package/lib/appui-react/icons/SvgSelectionClear.js +14 -0
- package/lib/appui-react/icons/SvgSelectionClear.js.map +1 -0
- package/lib/appui-react/icons/SvgViewLayouts.d.ts +7 -0
- package/lib/appui-react/icons/SvgViewLayouts.d.ts.map +1 -0
- package/lib/appui-react/icons/SvgViewLayouts.js +14 -0
- package/lib/appui-react/icons/SvgViewLayouts.js.map +1 -0
- package/lib/appui-react/icons/cube-faces/SvgCubeFaceBottom.d.ts +7 -0
- package/lib/appui-react/icons/cube-faces/SvgCubeFaceBottom.d.ts.map +1 -0
- package/lib/appui-react/icons/cube-faces/SvgCubeFaceBottom.js +15 -0
- package/lib/appui-react/icons/cube-faces/SvgCubeFaceBottom.js.map +1 -0
- package/lib/appui-react/icons/cube-faces/SvgCubeFaceFront.d.ts +7 -0
- package/lib/appui-react/icons/cube-faces/SvgCubeFaceFront.d.ts.map +1 -0
- package/lib/appui-react/icons/cube-faces/SvgCubeFaceFront.js +15 -0
- package/lib/appui-react/icons/cube-faces/SvgCubeFaceFront.js.map +1 -0
- package/lib/appui-react/icons/cube-faces/SvgCubeFaceIsoLeft.d.ts +7 -0
- package/lib/appui-react/icons/cube-faces/SvgCubeFaceIsoLeft.d.ts.map +1 -0
- package/lib/appui-react/icons/cube-faces/SvgCubeFaceIsoLeft.js +15 -0
- package/lib/appui-react/icons/cube-faces/SvgCubeFaceIsoLeft.js.map +1 -0
- package/lib/appui-react/icons/cube-faces/SvgCubeFaceIsoRight.d.ts +7 -0
- package/lib/appui-react/icons/cube-faces/SvgCubeFaceIsoRight.d.ts.map +1 -0
- package/lib/appui-react/icons/cube-faces/SvgCubeFaceIsoRight.js +15 -0
- package/lib/appui-react/icons/cube-faces/SvgCubeFaceIsoRight.js.map +1 -0
- package/lib/appui-react/icons/cube-faces/SvgCubeFaceLeft.d.ts +7 -0
- package/lib/appui-react/icons/cube-faces/SvgCubeFaceLeft.d.ts.map +1 -0
- package/lib/appui-react/icons/cube-faces/SvgCubeFaceLeft.js +15 -0
- package/lib/appui-react/icons/cube-faces/SvgCubeFaceLeft.js.map +1 -0
- package/lib/appui-react/icons/cube-faces/SvgCubeFaceRear.d.ts +7 -0
- package/lib/appui-react/icons/cube-faces/SvgCubeFaceRear.d.ts.map +1 -0
- package/lib/appui-react/icons/cube-faces/SvgCubeFaceRear.js +15 -0
- package/lib/appui-react/icons/cube-faces/SvgCubeFaceRear.js.map +1 -0
- package/lib/appui-react/icons/cube-faces/SvgCubeFaceRight.d.ts +7 -0
- package/lib/appui-react/icons/cube-faces/SvgCubeFaceRight.d.ts.map +1 -0
- package/lib/appui-react/icons/cube-faces/SvgCubeFaceRight.js +15 -0
- package/lib/appui-react/icons/cube-faces/SvgCubeFaceRight.js.map +1 -0
- package/lib/appui-react/icons/cube-faces/SvgCubeFaceTop.d.ts +7 -0
- package/lib/appui-react/icons/cube-faces/SvgCubeFaceTop.d.ts.map +1 -0
- package/lib/appui-react/icons/cube-faces/SvgCubeFaceTop.js +15 -0
- package/lib/appui-react/icons/cube-faces/SvgCubeFaceTop.js.map +1 -0
- package/lib/appui-react/icons/snaps/SvgSnaps.d.ts +7 -0
- package/lib/appui-react/icons/snaps/SvgSnaps.d.ts.map +1 -0
- package/lib/appui-react/icons/snaps/SvgSnaps.js +14 -0
- package/lib/appui-react/icons/snaps/SvgSnaps.js.map +1 -0
- package/lib/appui-react/icons/snaps/SvgSnapsBisector.d.ts +7 -0
- package/lib/appui-react/icons/snaps/SvgSnapsBisector.d.ts.map +1 -0
- package/lib/appui-react/icons/snaps/SvgSnapsBisector.js +14 -0
- package/lib/appui-react/icons/snaps/SvgSnapsBisector.js.map +1 -0
- package/lib/appui-react/icons/snaps/SvgSnapsCenter.d.ts +7 -0
- package/lib/appui-react/icons/snaps/SvgSnapsCenter.d.ts.map +1 -0
- package/lib/appui-react/icons/snaps/SvgSnapsCenter.js +14 -0
- package/lib/appui-react/icons/snaps/SvgSnapsCenter.js.map +1 -0
- package/lib/appui-react/icons/snaps/SvgSnapsIntersection.d.ts +7 -0
- package/lib/appui-react/icons/snaps/SvgSnapsIntersection.d.ts.map +1 -0
- package/lib/appui-react/icons/snaps/SvgSnapsIntersection.js +14 -0
- package/lib/appui-react/icons/snaps/SvgSnapsIntersection.js.map +1 -0
- package/lib/appui-react/icons/snaps/SvgSnapsMidpoint.d.ts +7 -0
- package/lib/appui-react/icons/snaps/SvgSnapsMidpoint.d.ts.map +1 -0
- package/lib/appui-react/icons/snaps/SvgSnapsMidpoint.js +14 -0
- package/lib/appui-react/icons/snaps/SvgSnapsMidpoint.js.map +1 -0
- package/lib/appui-react/icons/snaps/SvgSnapsNearest.d.ts +7 -0
- package/lib/appui-react/icons/snaps/SvgSnapsNearest.d.ts.map +1 -0
- package/lib/appui-react/icons/snaps/SvgSnapsNearest.js +14 -0
- package/lib/appui-react/icons/snaps/SvgSnapsNearest.js.map +1 -0
- package/lib/appui-react/icons/snaps/SvgSnapsOrigin.d.ts +7 -0
- package/lib/appui-react/icons/snaps/SvgSnapsOrigin.d.ts.map +1 -0
- package/lib/appui-react/icons/snaps/SvgSnapsOrigin.js +14 -0
- package/lib/appui-react/icons/snaps/SvgSnapsOrigin.js.map +1 -0
- package/lib/appui-react/layout/footer/snap-mode/Snap.d.ts.map +1 -1
- package/lib/appui-react/layout/footer/snap-mode/Snap.js +2 -2
- package/lib/appui-react/layout/footer/snap-mode/Snap.js.map +1 -1
- package/lib/appui-react/layout/footer/snap-mode/Snap.scss +4 -0
- package/lib/appui-react/layout/tool-settings/Docked.d.ts +2 -2
- package/lib/appui-react/layout/tool-settings/Docked.d.ts.map +1 -1
- package/lib/appui-react/layout/tool-settings/Docked.js +9 -11
- package/lib/appui-react/layout/tool-settings/Docked.js.map +1 -1
- package/lib/appui-react/layout/widget/Tabs.d.ts.map +1 -1
- package/lib/appui-react/layout/widget/Tabs.js +2 -1
- package/lib/appui-react/layout/widget/Tabs.js.map +1 -1
- package/lib/appui-react/messages/MessageManager.d.ts +1 -2
- package/lib/appui-react/messages/MessageManager.d.ts.map +1 -1
- package/lib/appui-react/messages/MessageManager.js +34 -13
- package/lib/appui-react/messages/MessageManager.js.map +1 -1
- package/lib/appui-react/navigationaids/StandardRotationNavigationAid.js +16 -16
- package/lib/appui-react/navigationaids/StandardRotationNavigationAid.js.map +1 -1
- package/lib/appui-react/pickers/ViewSelector.d.ts.map +1 -1
- package/lib/appui-react/pickers/ViewSelector.js +5 -2
- package/lib/appui-react/pickers/ViewSelector.js.map +1 -1
- package/lib/appui-react/redux/FrameworkState.d.ts +5 -2
- package/lib/appui-react/redux/FrameworkState.d.ts.map +1 -1
- package/lib/appui-react/selection/SelectionContextItemDef.d.ts.map +1 -1
- package/lib/appui-react/selection/SelectionContextItemDef.js +21 -20
- package/lib/appui-react/selection/SelectionContextItemDef.js.map +1 -1
- package/lib/appui-react/settings/ui/UiSettingsPage.js +2 -2
- package/lib/appui-react/settings/ui/UiSettingsPage.js.map +1 -1
- package/lib/appui-react/statusbar/StatusBarComposer.d.ts +5 -11
- package/lib/appui-react/statusbar/StatusBarComposer.d.ts.map +1 -1
- package/lib/appui-react/statusbar/StatusBarComposer.js +18 -118
- package/lib/appui-react/statusbar/StatusBarComposer.js.map +1 -1
- package/lib/appui-react/statusfields/SectionsField.js +2 -2
- package/lib/appui-react/statusfields/SectionsField.js.map +1 -1
- package/lib/appui-react/statusfields/SnapMode.d.ts.map +1 -1
- package/lib/appui-react/statusfields/SnapMode.js +21 -30
- package/lib/appui-react/statusfields/SnapMode.js.map +1 -1
- package/lib/appui-react/toolbar/ToolbarItemUtilities.d.ts.map +1 -1
- package/lib/appui-react/toolbar/ToolbarItemUtilities.js +5 -0
- package/lib/appui-react/toolbar/ToolbarItemUtilities.js.map +1 -1
- package/lib/appui-react/tools/CoreToolDefinitions.d.ts.map +1 -1
- package/lib/appui-react/tools/CoreToolDefinitions.js +12 -13
- package/lib/appui-react/tools/CoreToolDefinitions.js.map +1 -1
- package/lib/appui-react/tools/KeyinPaletteTools.d.ts +11 -6
- package/lib/appui-react/tools/KeyinPaletteTools.d.ts.map +1 -1
- package/lib/appui-react/tools/KeyinPaletteTools.js +12 -9
- package/lib/appui-react/tools/KeyinPaletteTools.js.map +1 -1
- package/lib/appui-react/tools/OpenSettingsTool.d.ts +10 -5
- package/lib/appui-react/tools/OpenSettingsTool.d.ts.map +1 -1
- package/lib/appui-react/tools/OpenSettingsTool.js +11 -8
- package/lib/appui-react/tools/OpenSettingsTool.js.map +1 -1
- package/lib/appui-react/tools/RestoreLayoutTool.d.ts +16 -8
- package/lib/appui-react/tools/RestoreLayoutTool.d.ts.map +1 -1
- package/lib/appui-react/tools/RestoreLayoutTool.js +17 -13
- package/lib/appui-react/tools/RestoreLayoutTool.js.map +1 -1
- package/lib/appui-react/widget-panels/Content.d.ts +2 -0
- package/lib/appui-react/widget-panels/Content.d.ts.map +1 -1
- package/lib/appui-react/widget-panels/Content.js +2 -1
- package/lib/appui-react/widget-panels/Content.js.map +1 -1
- package/lib/appui-react/widget-panels/Frontstage.d.ts.map +1 -1
- package/lib/appui-react/widget-panels/Frontstage.js +3 -8
- package/lib/appui-react/widget-panels/Frontstage.js.map +1 -1
- package/lib/appui-react/widget-panels/ModalFrontstageComposer.d.ts.map +1 -1
- package/lib/appui-react/widget-panels/ModalFrontstageComposer.js +2 -2
- package/lib/appui-react/widget-panels/ModalFrontstageComposer.js.map +1 -1
- package/lib/appui-react/widgets/WidgetDef.d.ts +0 -1
- package/lib/appui-react/widgets/WidgetDef.d.ts.map +1 -1
- package/lib/appui-react/widgets/WidgetDef.js +0 -1
- package/lib/appui-react/widgets/WidgetDef.js.map +1 -1
- package/lib/appui-react.d.ts +1 -0
- package/lib/appui-react.d.ts.map +1 -1
- package/lib/appui-react.js +1 -0
- package/lib/appui-react.js.map +1 -1
- package/lib/cjs/appui-react/_variables.scss +11 -0
- package/lib/{appui-react/layout/widget/tools/button/Back.scss → cjs/appui-react/accudraw/AccuDrawDialog.scss} +5 -3
- package/lib/cjs/appui-react/accudraw/AccuDrawFieldContainer.scss +20 -0
- package/lib/cjs/appui-react/accudraw/AccuDrawInputField.scss +56 -0
- package/lib/cjs/appui-react/accudraw/Calculator.scss +82 -0
- package/lib/cjs/appui-react/accudraw/MenuButton.scss +18 -0
- package/lib/cjs/appui-react/accudraw/SquareButton.scss +30 -0
- package/lib/cjs/appui-react/accudraw/angle.svg +1 -0
- package/lib/cjs/appui-react/accudraw/backspace.svg +9 -0
- package/lib/cjs/appui-react/accudraw/constraint-2d.svg +11 -0
- package/lib/cjs/appui-react/accudraw/distance.svg +1 -0
- package/lib/cjs/appui-react/accudraw/height-2.svg +10 -0
- package/lib/cjs/appui-react/accudraw/height.svg +11 -0
- package/lib/cjs/appui-react/childwindow/ChildWindowRenderer.scss +18 -0
- package/lib/cjs/appui-react/childwindow/ChildWindowWidget.scss +8 -0
- package/lib/cjs/appui-react/configurableui/ConfigurableUiContent.scss +57 -0
- package/lib/cjs/appui-react/content/ContentLayout.scss +106 -0
- package/lib/cjs/appui-react/content/ContentOverlay.scss +19 -0
- package/lib/cjs/appui-react/content/DefaultViewOverlay.scss +41 -0
- package/lib/cjs/appui-react/cursor/cursorpopup/CursorPopup.scss +33 -0
- package/lib/cjs/appui-react/cursor/cursorprompt/CursorPrompt.scss +30 -0
- package/lib/cjs/appui-react/dialog/DialogManagerBase.scss +11 -0
- package/lib/cjs/appui-react/feedback/ElementTooltip.scss +29 -0
- package/lib/cjs/appui-react/feedback/ValidationTextbox.scss +49 -0
- package/lib/cjs/appui-react/frontstage/ModalFrontstage.scss +76 -0
- package/lib/cjs/appui-react/frontstage/ModalFrontstageButton.scss +21 -0
- package/lib/cjs/appui-react/frontstage/ModalSettingsStage.scss +12 -0
- package/lib/cjs/appui-react/layers.scss +11 -0
- package/lib/cjs/appui-react/layout/StandardLayout.scss +92 -0
- package/lib/cjs/appui-react/layout/_prefix.scss +33 -0
- package/lib/cjs/appui-react/layout/_safearea.scss +26 -0
- package/lib/cjs/appui-react/layout/_scrollbar.scss +22 -0
- package/lib/cjs/appui-react/layout/_target.scss +10 -0
- package/lib/cjs/appui-react/layout/_widgetopacity.scss +15 -0
- package/lib/cjs/appui-react/layout/backstage/Backstage.scss +90 -0
- package/lib/cjs/appui-react/layout/backstage/Item.scss +107 -0
- package/lib/cjs/appui-react/layout/backstage/Separator.scss +10 -0
- package/lib/cjs/appui-react/layout/backstage/_variables.scss +32 -0
- package/lib/cjs/appui-react/layout/footer/dialog/Dialog.scss +12 -0
- package/lib/cjs/appui-react/layout/footer/dialog/TitleBar.scss +30 -0
- package/lib/cjs/appui-react/layout/footer/dialog/_variables.scss +8 -0
- package/lib/cjs/appui-react/layout/footer/snap-mode/Panel.scss +19 -0
- package/lib/cjs/appui-react/layout/footer/snap-mode/Snap.scss +50 -0
- package/lib/cjs/appui-react/layout/footer/tool-assistance/Dialog.scss +15 -0
- package/lib/cjs/appui-react/layout/footer/tool-assistance/Instruction.scss +28 -0
- package/lib/cjs/appui-react/layout/footer/tool-assistance/Item.scss +13 -0
- package/lib/cjs/appui-react/layout/footer/tool-assistance/NewDot.scss +11 -0
- package/lib/cjs/appui-react/layout/footer/tool-assistance/Separator.scss +20 -0
- package/lib/cjs/appui-react/layout/outline/PanelOutline.scss +63 -0
- package/lib/cjs/appui-react/layout/outline/SectionOutline.scss +47 -0
- package/lib/cjs/appui-react/layout/outline/TabOutline.scss +18 -0
- package/lib/cjs/appui-react/layout/outline/WidgetOutline.scss +16 -0
- package/lib/cjs/appui-react/layout/outline/_variables.scss +7 -0
- package/lib/cjs/appui-react/layout/popup/Tooltip.scss +22 -0
- package/lib/cjs/appui-react/layout/target/MergeTarget.scss +17 -0
- package/lib/cjs/appui-react/layout/target/PanelTarget.scss +27 -0
- package/lib/cjs/appui-react/layout/target/PanelTargets.scss +52 -0
- package/lib/cjs/appui-react/layout/target/SectionTarget.scss +47 -0
- package/lib/cjs/appui-react/layout/target/SectionTargets.scss +13 -0
- package/lib/cjs/appui-react/layout/target/TabTarget.scss +30 -0
- package/lib/cjs/appui-react/layout/target/TargetContainer.scss +17 -0
- package/lib/cjs/appui-react/layout/target/TitleBarTarget.scss +17 -0
- package/lib/cjs/appui-react/layout/target/WidgetTarget.scss +11 -0
- package/lib/cjs/appui-react/layout/target/_variables.scss +66 -0
- package/lib/cjs/appui-react/layout/tool-settings/Docked.scss +30 -0
- package/lib/cjs/appui-react/layout/tool-settings/Handle.scss +17 -0
- package/lib/cjs/appui-react/layout/tool-settings/Overflow.scss +11 -0
- package/lib/cjs/appui-react/layout/tool-settings/Panel.scss +8 -0
- package/lib/cjs/appui-react/layout/tool-settings/Setting.scss +10 -0
- package/lib/cjs/appui-react/layout/widget/Buttons.scss +10 -0
- package/lib/cjs/appui-react/layout/widget/Content.scss +13 -0
- package/lib/cjs/appui-react/layout/widget/ContentContainer.scss +24 -0
- package/lib/cjs/appui-react/layout/widget/ContentRenderer.scss +18 -0
- package/lib/cjs/appui-react/layout/widget/FloatingTab.scss +36 -0
- package/lib/cjs/appui-react/layout/widget/FloatingWidget.scss +128 -0
- package/lib/cjs/appui-react/layout/widget/Menu.scss +12 -0
- package/lib/cjs/appui-react/layout/widget/MenuTab.scss +59 -0
- package/lib/cjs/appui-react/layout/widget/NavigationArea.scss +57 -0
- package/lib/cjs/appui-react/layout/widget/Overflow.scss +58 -0
- package/lib/cjs/appui-react/layout/widget/PanelWidget.scss +62 -0
- package/lib/cjs/appui-react/layout/widget/Tab.scss +90 -0
- package/lib/cjs/appui-react/layout/widget/TabBar.scss +29 -0
- package/lib/cjs/appui-react/layout/widget/Tabs.scss +10 -0
- package/lib/cjs/appui-react/layout/widget/ToolsArea.scss +51 -0
- package/lib/cjs/appui-react/layout/widget/Widget.scss +12 -0
- package/lib/cjs/appui-react/layout/widget/_variables.scss +50 -0
- package/lib/cjs/appui-react/layout/widget/tools/button/Button.scss +49 -0
- package/lib/cjs/appui-react/layout/widget/tools/button/Expandable.scss +46 -0
- package/lib/cjs/appui-react/layout/widget/tools/button/Icon.scss +54 -0
- package/lib/cjs/appui-react/layout/widget/tools/button/_variables.scss +42 -0
- package/lib/cjs/appui-react/layout/widget-panels/CursorOverlay.scss +25 -0
- package/lib/cjs/appui-react/layout/widget-panels/Expander.scss +37 -0
- package/lib/cjs/appui-react/layout/widget-panels/Grip.scss +141 -0
- package/lib/cjs/appui-react/layout/widget-panels/Panel.scss +258 -0
- package/lib/cjs/appui-react/layout/widget-panels/PanelSections.scss +60 -0
- package/lib/cjs/appui-react/layout/widget-panels/_variables.scss +6 -0
- package/lib/cjs/appui-react/messages/InputField.scss +77 -0
- package/lib/cjs/appui-react/messages/Pointer.scss +42 -0
- package/lib/cjs/appui-react/navigationaids/SheetNavigationAid.scss +50 -0
- package/lib/cjs/appui-react/navigationaids/SheetsModalFrontstage.scss +74 -0
- package/lib/cjs/appui-react/navigationaids/StandardRotationNavigationAid.scss +13 -0
- package/lib/cjs/appui-react/pickers/ListPicker.scss +316 -0
- package/lib/cjs/appui-react/popup/CardPopup.scss +24 -0
- package/lib/cjs/appui-react/popup/KeyinPalettePanel.scss +30 -0
- package/lib/cjs/appui-react/popup/PositionPopup.scss +27 -0
- package/lib/cjs/appui-react/preview/content-always-max-size/useContentAlwaysMaxSize.scss +10 -0
- package/lib/cjs/appui-react/preview/control-widget-visibility/NavigationWidget.scss +17 -0
- package/lib/cjs/appui-react/preview/enable-maximized-widget/useMaximizedWidget.scss +36 -0
- package/lib/cjs/appui-react/preview/horizontal-panel-alignment/useHorizontalPanelAlignment.scss +49 -0
- package/lib/cjs/appui-react/preview/reparent-popout-widgets/PopoutThemeProvider.scss +7 -0
- package/lib/cjs/appui-react/preview/reparent-popout-widgets/ReparentedPopoutWidget.scss +8 -0
- package/lib/cjs/appui-react/settings/quantityformatting/QuantityFormat.scss +120 -0
- package/lib/cjs/appui-react/settings/ui/UiSettingsPage.scss +61 -0
- package/lib/cjs/appui-react/statusbar/Field.scss +20 -0
- package/lib/cjs/appui-react/statusbar/LabelIndicator.scss +18 -0
- package/lib/cjs/appui-react/statusbar/Overflow.scss +15 -0
- package/lib/cjs/appui-react/statusbar/Separator.scss +11 -0
- package/lib/cjs/appui-react/statusbar/StatusBar.scss +89 -0
- package/lib/cjs/appui-react/statusbar/popup/ExpandIndicator.scss +17 -0
- package/lib/cjs/appui-react/statusbar/popup/Popup.scss +12 -0
- package/lib/cjs/appui-react/statusfields/SectionsField.scss +33 -0
- package/lib/cjs/appui-react/statusfields/SelectionCount.scss +23 -0
- package/lib/cjs/appui-react/statusfields/SelectionScope.scss +17 -0
- package/lib/cjs/appui-react/statusfields/ViewAttributes.scss +10 -0
- package/lib/cjs/appui-react/statusfields/message-center/MessageCenterField.scss +24 -0
- package/lib/cjs/appui-react/statusfields/message-center/MessageCenterMessage.scss +28 -0
- package/lib/cjs/appui-react/statusfields/tileloading/TileLoadingIndicator.scss +45 -0
- package/lib/cjs/appui-react/statusfields/toolassistance/ToolAssistanceField.scss +167 -0
- package/lib/cjs/appui-react/statusfields/toolassistance/accept-point.svg +1 -0
- package/lib/cjs/appui-react/statusfields/toolassistance/cursor-click.svg +1 -0
- package/lib/cjs/appui-react/statusfields/toolassistance/gesture-one-finger-drag.svg +1 -0
- package/lib/cjs/appui-react/statusfields/toolassistance/gesture-one-finger-tap-double.svg +1 -0
- package/lib/cjs/appui-react/statusfields/toolassistance/gesture-one-finger-tap.svg +1 -0
- package/lib/cjs/appui-react/statusfields/toolassistance/gesture-pinch.svg +1 -0
- package/lib/cjs/appui-react/statusfields/toolassistance/gesture-two-finger-drag.svg +1 -0
- package/lib/cjs/appui-react/statusfields/toolassistance/gesture-two-finger-tap.svg +1 -0
- package/lib/cjs/appui-react/statusfields/toolassistance/mouse-click-left-drag.svg +1 -0
- package/lib/cjs/appui-react/statusfields/toolassistance/mouse-click-left.svg +1 -0
- package/lib/cjs/appui-react/statusfields/toolassistance/mouse-click-right-drag.svg +1 -0
- package/lib/cjs/appui-react/statusfields/toolassistance/mouse-click-right.svg +1 -0
- package/lib/cjs/appui-react/statusfields/toolassistance/mouse-click-wheel-drag.svg +1 -0
- package/lib/cjs/appui-react/statusfields/toolassistance/mouse-click-wheel.svg +1 -0
- package/lib/cjs/appui-react/statusfields/toolassistance/touch-cursor-pan.svg +1 -0
- package/lib/cjs/appui-react/statusfields/toolassistance/touch-cursor-point.svg +1 -0
- package/lib/cjs/appui-react/theme/ThemeManager.scss +9 -0
- package/lib/cjs/appui-react/toolbar/new-toolbars/Badge.scss +13 -0
- package/lib/cjs/appui-react/toolbar/new-toolbars/ExpandIndicator.scss +17 -0
- package/lib/cjs/appui-react/toolbar/new-toolbars/Surface.scss +35 -0
- package/lib/cjs/appui-react/toolbar/new-toolbars/ToolGroup.scss +17 -0
- package/lib/cjs/appui-react/uiprovider/DefaultDialogGridContainer.scss +103 -0
- package/lib/cjs/appui-react/widget-panels/DockedBar.scss +18 -0
- package/lib/cjs/appui-react/widget-panels/Frontstage.scss +19 -0
- package/lib/cjs/appui-react/widget-panels/ToolSettings.scss +12 -0
- package/lib/cjs/appui-react/widget-panels/Toolbars.scss +22 -0
- package/lib/cjs/appui-react/widgets/BackstageAppButton.scss +46 -0
- package/lib/esm/appui-react/_variables.scss +11 -0
- package/lib/esm/appui-react/accudraw/AccuDrawDialog.scss +11 -0
- package/lib/esm/appui-react/accudraw/AccuDrawFieldContainer.scss +20 -0
- package/lib/esm/appui-react/accudraw/AccuDrawInputField.scss +56 -0
- package/lib/esm/appui-react/accudraw/Calculator.scss +82 -0
- package/lib/esm/appui-react/accudraw/MenuButton.scss +18 -0
- package/lib/esm/appui-react/accudraw/SquareButton.scss +30 -0
- package/lib/esm/appui-react/accudraw/angle.svg +1 -0
- package/lib/esm/appui-react/accudraw/backspace.svg +9 -0
- package/lib/esm/appui-react/accudraw/constraint-2d.svg +11 -0
- package/lib/esm/appui-react/accudraw/distance.svg +1 -0
- package/lib/esm/appui-react/accudraw/height-2.svg +10 -0
- package/lib/esm/appui-react/accudraw/height.svg +11 -0
- package/lib/esm/appui-react/childwindow/ChildWindowRenderer.scss +18 -0
- package/lib/esm/appui-react/childwindow/ChildWindowWidget.scss +8 -0
- package/lib/esm/appui-react/configurableui/ConfigurableUiContent.scss +57 -0
- package/lib/esm/appui-react/content/ContentLayout.scss +106 -0
- package/lib/esm/appui-react/content/ContentOverlay.scss +19 -0
- package/lib/esm/appui-react/content/DefaultViewOverlay.scss +41 -0
- package/lib/esm/appui-react/cursor/cursorpopup/CursorPopup.scss +33 -0
- package/lib/esm/appui-react/cursor/cursorprompt/CursorPrompt.scss +30 -0
- package/lib/esm/appui-react/dialog/DialogManagerBase.scss +11 -0
- package/lib/esm/appui-react/feedback/ElementTooltip.scss +29 -0
- package/lib/esm/appui-react/feedback/ValidationTextbox.scss +49 -0
- package/lib/esm/appui-react/frontstage/ModalFrontstage.scss +76 -0
- package/lib/esm/appui-react/frontstage/ModalFrontstageButton.scss +21 -0
- package/lib/esm/appui-react/frontstage/ModalSettingsStage.scss +12 -0
- package/lib/esm/appui-react/layers.scss +11 -0
- package/lib/esm/appui-react/layout/StandardLayout.scss +92 -0
- package/lib/esm/appui-react/layout/_prefix.scss +33 -0
- package/lib/esm/appui-react/layout/_safearea.scss +26 -0
- package/lib/esm/appui-react/layout/_scrollbar.scss +22 -0
- package/lib/esm/appui-react/layout/_target.scss +10 -0
- package/lib/esm/appui-react/layout/_widgetopacity.scss +15 -0
- package/lib/esm/appui-react/layout/backstage/Backstage.scss +90 -0
- package/lib/esm/appui-react/layout/backstage/Item.scss +107 -0
- package/lib/esm/appui-react/layout/backstage/Separator.scss +10 -0
- package/lib/esm/appui-react/layout/backstage/_variables.scss +32 -0
- package/lib/esm/appui-react/layout/footer/dialog/Dialog.scss +12 -0
- package/lib/esm/appui-react/layout/footer/dialog/TitleBar.scss +30 -0
- package/lib/esm/appui-react/layout/footer/dialog/_variables.scss +8 -0
- package/lib/esm/appui-react/layout/footer/snap-mode/Panel.scss +19 -0
- package/lib/esm/appui-react/layout/footer/snap-mode/Snap.scss +50 -0
- package/lib/esm/appui-react/layout/footer/tool-assistance/Dialog.scss +15 -0
- package/lib/esm/appui-react/layout/footer/tool-assistance/Instruction.scss +28 -0
- package/lib/esm/appui-react/layout/footer/tool-assistance/Item.scss +13 -0
- package/lib/esm/appui-react/layout/footer/tool-assistance/NewDot.scss +11 -0
- package/lib/esm/appui-react/layout/footer/tool-assistance/Separator.scss +20 -0
- package/lib/esm/appui-react/layout/outline/PanelOutline.scss +63 -0
- package/lib/esm/appui-react/layout/outline/SectionOutline.scss +47 -0
- package/lib/esm/appui-react/layout/outline/TabOutline.scss +18 -0
- package/lib/esm/appui-react/layout/outline/WidgetOutline.scss +16 -0
- package/lib/esm/appui-react/layout/outline/_variables.scss +7 -0
- package/lib/esm/appui-react/layout/popup/Tooltip.scss +22 -0
- package/lib/esm/appui-react/layout/target/MergeTarget.scss +17 -0
- package/lib/esm/appui-react/layout/target/PanelTarget.scss +27 -0
- package/lib/esm/appui-react/layout/target/PanelTargets.scss +52 -0
- package/lib/esm/appui-react/layout/target/SectionTarget.scss +47 -0
- package/lib/esm/appui-react/layout/target/SectionTargets.scss +13 -0
- package/lib/esm/appui-react/layout/target/TabTarget.scss +30 -0
- package/lib/esm/appui-react/layout/target/TargetContainer.scss +17 -0
- package/lib/esm/appui-react/layout/target/TitleBarTarget.scss +17 -0
- package/lib/esm/appui-react/layout/target/WidgetTarget.scss +11 -0
- package/lib/esm/appui-react/layout/target/_variables.scss +66 -0
- package/lib/esm/appui-react/layout/tool-settings/Docked.scss +30 -0
- package/lib/esm/appui-react/layout/tool-settings/Handle.scss +17 -0
- package/lib/esm/appui-react/layout/tool-settings/Overflow.scss +11 -0
- package/lib/esm/appui-react/layout/tool-settings/Panel.scss +8 -0
- package/lib/esm/appui-react/layout/tool-settings/Setting.scss +10 -0
- package/lib/esm/appui-react/layout/widget/Buttons.scss +10 -0
- package/lib/esm/appui-react/layout/widget/Content.scss +13 -0
- package/lib/esm/appui-react/layout/widget/ContentContainer.scss +24 -0
- package/lib/esm/appui-react/layout/widget/ContentRenderer.scss +18 -0
- package/lib/esm/appui-react/layout/widget/FloatingTab.scss +36 -0
- package/lib/esm/appui-react/layout/widget/FloatingWidget.scss +128 -0
- package/lib/esm/appui-react/layout/widget/Menu.scss +12 -0
- package/lib/esm/appui-react/layout/widget/MenuTab.scss +59 -0
- package/lib/esm/appui-react/layout/widget/NavigationArea.scss +57 -0
- package/lib/esm/appui-react/layout/widget/Overflow.scss +58 -0
- package/lib/esm/appui-react/layout/widget/PanelWidget.scss +62 -0
- package/lib/esm/appui-react/layout/widget/Tab.scss +90 -0
- package/lib/esm/appui-react/layout/widget/TabBar.scss +29 -0
- package/lib/esm/appui-react/layout/widget/Tabs.scss +10 -0
- package/lib/esm/appui-react/layout/widget/ToolsArea.scss +51 -0
- package/lib/esm/appui-react/layout/widget/Widget.scss +12 -0
- package/lib/esm/appui-react/layout/widget/_variables.scss +50 -0
- package/lib/esm/appui-react/layout/widget/tools/button/Button.scss +49 -0
- package/lib/esm/appui-react/layout/widget/tools/button/Expandable.scss +46 -0
- package/lib/esm/appui-react/layout/widget/tools/button/Icon.scss +54 -0
- package/lib/esm/appui-react/layout/widget/tools/button/_variables.scss +42 -0
- package/lib/esm/appui-react/layout/widget-panels/CursorOverlay.scss +25 -0
- package/lib/esm/appui-react/layout/widget-panels/Expander.scss +37 -0
- package/lib/esm/appui-react/layout/widget-panels/Grip.scss +141 -0
- package/lib/esm/appui-react/layout/widget-panels/Panel.scss +258 -0
- package/lib/esm/appui-react/layout/widget-panels/PanelSections.scss +60 -0
- package/lib/esm/appui-react/layout/widget-panels/_variables.scss +6 -0
- package/lib/esm/appui-react/messages/InputField.scss +77 -0
- package/lib/esm/appui-react/messages/Pointer.scss +42 -0
- package/lib/esm/appui-react/navigationaids/SheetNavigationAid.scss +50 -0
- package/lib/esm/appui-react/navigationaids/SheetsModalFrontstage.scss +74 -0
- package/lib/esm/appui-react/navigationaids/StandardRotationNavigationAid.scss +13 -0
- package/lib/esm/appui-react/pickers/ListPicker.scss +316 -0
- package/lib/esm/appui-react/popup/CardPopup.scss +24 -0
- package/lib/esm/appui-react/popup/KeyinPalettePanel.scss +30 -0
- package/lib/esm/appui-react/popup/PositionPopup.scss +27 -0
- package/lib/esm/appui-react/preview/content-always-max-size/useContentAlwaysMaxSize.scss +10 -0
- package/lib/esm/appui-react/preview/control-widget-visibility/NavigationWidget.scss +17 -0
- package/lib/esm/appui-react/preview/enable-maximized-widget/useMaximizedWidget.scss +36 -0
- package/lib/esm/appui-react/preview/horizontal-panel-alignment/useHorizontalPanelAlignment.scss +49 -0
- package/lib/esm/appui-react/preview/reparent-popout-widgets/PopoutThemeProvider.scss +7 -0
- package/lib/esm/appui-react/preview/reparent-popout-widgets/ReparentedPopoutWidget.scss +8 -0
- package/lib/esm/appui-react/settings/quantityformatting/QuantityFormat.scss +120 -0
- package/lib/esm/appui-react/settings/ui/UiSettingsPage.scss +61 -0
- package/lib/esm/appui-react/statusbar/Field.scss +20 -0
- package/lib/esm/appui-react/statusbar/LabelIndicator.scss +18 -0
- package/lib/esm/appui-react/statusbar/Overflow.scss +15 -0
- package/lib/esm/appui-react/statusbar/Separator.scss +11 -0
- package/lib/esm/appui-react/statusbar/StatusBar.scss +89 -0
- package/lib/esm/appui-react/statusbar/popup/ExpandIndicator.scss +17 -0
- package/lib/esm/appui-react/statusbar/popup/Popup.scss +12 -0
- package/lib/esm/appui-react/statusfields/SectionsField.scss +33 -0
- package/lib/esm/appui-react/statusfields/SelectionCount.scss +23 -0
- package/lib/esm/appui-react/statusfields/SelectionScope.scss +17 -0
- package/lib/esm/appui-react/statusfields/ViewAttributes.scss +10 -0
- package/lib/esm/appui-react/statusfields/message-center/MessageCenterField.scss +24 -0
- package/lib/esm/appui-react/statusfields/message-center/MessageCenterMessage.scss +28 -0
- package/lib/esm/appui-react/statusfields/tileloading/TileLoadingIndicator.scss +45 -0
- package/lib/esm/appui-react/statusfields/toolassistance/ToolAssistanceField.scss +167 -0
- package/lib/esm/appui-react/statusfields/toolassistance/accept-point.svg +1 -0
- package/lib/esm/appui-react/statusfields/toolassistance/cursor-click.svg +1 -0
- package/lib/esm/appui-react/statusfields/toolassistance/gesture-one-finger-drag.svg +1 -0
- package/lib/esm/appui-react/statusfields/toolassistance/gesture-one-finger-tap-double.svg +1 -0
- package/lib/esm/appui-react/statusfields/toolassistance/gesture-one-finger-tap.svg +1 -0
- package/lib/esm/appui-react/statusfields/toolassistance/gesture-pinch.svg +1 -0
- package/lib/esm/appui-react/statusfields/toolassistance/gesture-two-finger-drag.svg +1 -0
- package/lib/esm/appui-react/statusfields/toolassistance/gesture-two-finger-tap.svg +1 -0
- package/lib/esm/appui-react/statusfields/toolassistance/mouse-click-left-drag.svg +1 -0
- package/lib/esm/appui-react/statusfields/toolassistance/mouse-click-left.svg +1 -0
- package/lib/esm/appui-react/statusfields/toolassistance/mouse-click-right-drag.svg +1 -0
- package/lib/esm/appui-react/statusfields/toolassistance/mouse-click-right.svg +1 -0
- package/lib/esm/appui-react/statusfields/toolassistance/mouse-click-wheel-drag.svg +1 -0
- package/lib/esm/appui-react/statusfields/toolassistance/mouse-click-wheel.svg +1 -0
- package/lib/esm/appui-react/statusfields/toolassistance/touch-cursor-pan.svg +1 -0
- package/lib/esm/appui-react/statusfields/toolassistance/touch-cursor-point.svg +1 -0
- package/lib/esm/appui-react/theme/ThemeManager.scss +9 -0
- package/lib/esm/appui-react/toolbar/new-toolbars/Badge.scss +13 -0
- package/lib/esm/appui-react/toolbar/new-toolbars/ExpandIndicator.scss +17 -0
- package/lib/esm/appui-react/toolbar/new-toolbars/Surface.scss +35 -0
- package/lib/esm/appui-react/toolbar/new-toolbars/ToolGroup.scss +17 -0
- package/lib/esm/appui-react/uiprovider/DefaultDialogGridContainer.scss +103 -0
- package/lib/esm/appui-react/widget-panels/DockedBar.scss +18 -0
- package/lib/esm/appui-react/widget-panels/Frontstage.scss +19 -0
- package/lib/esm/appui-react/widget-panels/ToolSettings.scss +12 -0
- package/lib/esm/appui-react/widget-panels/Toolbars.scss +22 -0
- package/lib/esm/appui-react/widgets/BackstageAppButton.scss +46 -0
- package/lib/public/locales/en/UiFramework.json +4 -0
- package/package.json +17 -24
|
@@ -5,14 +5,12 @@
|
|
|
5
5
|
/** @packageDocumentation
|
|
6
6
|
* @module Tools
|
|
7
7
|
*/
|
|
8
|
+
import * as React from "react";
|
|
8
9
|
import { Tool } from "@itwin/core-frontend";
|
|
10
|
+
import { ToolUtilities } from "@itwin/imodel-components-react";
|
|
11
|
+
import { SvgSettings } from "@itwin/itwinui-icons-react";
|
|
9
12
|
import { SettingsModalFrontstage } from "../frontstage/ModalSettingsStage.js";
|
|
10
|
-
|
|
11
|
-
/**
|
|
12
|
-
* Immediate tool that will open the Settings modal stage.
|
|
13
|
-
* @alpha
|
|
14
|
-
*/
|
|
15
|
-
export class OpenSettingsTool extends Tool {
|
|
13
|
+
class OpenSettingsCoreTool extends Tool {
|
|
16
14
|
static get minArgs() {
|
|
17
15
|
return 0;
|
|
18
16
|
}
|
|
@@ -27,6 +25,11 @@ export class OpenSettingsTool extends Tool {
|
|
|
27
25
|
return this.run(args[0]);
|
|
28
26
|
}
|
|
29
27
|
}
|
|
30
|
-
|
|
31
|
-
|
|
28
|
+
OpenSettingsCoreTool.toolId = "OpenSettings";
|
|
29
|
+
OpenSettingsCoreTool.iconSpec = "icon-settings";
|
|
30
|
+
/**
|
|
31
|
+
* Immediate tool that will open the Settings modal stage.
|
|
32
|
+
* @alpha
|
|
33
|
+
*/
|
|
34
|
+
export const OpenSettingsTool = ToolUtilities.defineIcon(OpenSettingsCoreTool, React.createElement(SvgSettings, null));
|
|
32
35
|
//# sourceMappingURL=OpenSettingsTool.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"OpenSettingsTool.js","sourceRoot":"","sources":["../../../src/appui-react/tools/OpenSettingsTool.
|
|
1
|
+
{"version":3,"file":"OpenSettingsTool.js","sourceRoot":"","sources":["../../../src/appui-react/tools/OpenSettingsTool.tsx"],"names":[],"mappings":"AAAA;;;gGAGgG;AAChG;;GAEG;AACH,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EAAE,IAAI,EAAE,MAAM,sBAAsB,CAAC;AAC5C,OAAO,EAAE,aAAa,EAAE,MAAM,gCAAgC,CAAC;AAC/D,OAAO,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAC;AACzD,OAAO,EAAE,uBAAuB,EAAE,MAAM,qCAAqC,CAAC;AAE9E,MAAM,oBAAqB,SAAQ,IAAI;IAI9B,MAAM,KAAc,OAAO;QAChC,OAAO,CAAC,CAAC;IACX,CAAC;IACM,MAAM,KAAc,OAAO;QAChC,OAAO,CAAC,CAAC;IACX,CAAC;IAEe,KAAK,CAAC,GAAG,CAAC,eAAwB;QAChD,uBAAuB,CAAC,iBAAiB,CAAC,eAAe,CAAC,CAAC;QAC3D,OAAO,IAAI,CAAC;IACd,CAAC;IAEe,KAAK,CAAC,WAAW,CAAC,GAAG,IAAc;QACjD,OAAO,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;IAC3B,CAAC;;AAjBsB,2BAAM,GAAG,cAAc,CAAC;AACxB,6BAAQ,GAAG,eAAe,CAAC;AAmBpD;;;GAGG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAAG,aAAa,CAAC,UAAU,CACtD,oBAAoB,EACpB,oBAAC,WAAW,OAAG,CAChB,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 Tools\n */\nimport * as React from \"react\";\nimport { Tool } from \"@itwin/core-frontend\";\nimport { ToolUtilities } from \"@itwin/imodel-components-react\";\nimport { SvgSettings } from \"@itwin/itwinui-icons-react\";\nimport { SettingsModalFrontstage } from \"../frontstage/ModalSettingsStage.js\";\n\nclass OpenSettingsCoreTool extends Tool {\n public static override toolId = \"OpenSettings\";\n public static override iconSpec = \"icon-settings\";\n\n public static override get minArgs() {\n return 0;\n }\n public static override get maxArgs() {\n return 1;\n }\n\n public override async run(settingCategory?: string): Promise<boolean> {\n SettingsModalFrontstage.showSettingsStage(settingCategory);\n return true;\n }\n\n public override async parseAndRun(...args: string[]): Promise<boolean> {\n return this.run(args[0]);\n }\n}\n\n/**\n * Immediate tool that will open the Settings modal stage.\n * @alpha\n */\nexport const OpenSettingsTool = ToolUtilities.defineIcon(\n OpenSettingsCoreTool,\n <SvgSettings />\n);\n"]}
|
|
@@ -1,13 +1,9 @@
|
|
|
1
1
|
/** @packageDocumentation
|
|
2
2
|
* @module Tools
|
|
3
3
|
*/
|
|
4
|
+
import * as React from "react";
|
|
4
5
|
import { Tool } from "@itwin/core-frontend";
|
|
5
|
-
|
|
6
|
-
* Immediate tool that will reset the layout to that specified in the stage definition. A stage Id
|
|
7
|
-
* may be passed in, if not the active stage is used. The stage Id is case sensitive.
|
|
8
|
-
* @public
|
|
9
|
-
*/
|
|
10
|
-
export declare class RestoreFrontstageLayoutTool extends Tool {
|
|
6
|
+
declare class RestoreFrontstageLayoutCoreTool extends Tool {
|
|
11
7
|
static toolId: string;
|
|
12
8
|
static iconSpec: string;
|
|
13
9
|
static get minArgs(): number;
|
|
@@ -16,12 +12,24 @@ export declare class RestoreFrontstageLayoutTool extends Tool {
|
|
|
16
12
|
parseAndRun(...args: string[]): Promise<boolean>;
|
|
17
13
|
}
|
|
18
14
|
/**
|
|
19
|
-
* Immediate tool that will reset the layout
|
|
15
|
+
* Immediate tool that will reset the layout to that specified in the stage definition. A stage Id
|
|
16
|
+
* may be passed in, if not the active stage is used. The stage Id is case sensitive.
|
|
20
17
|
* @public
|
|
21
18
|
*/
|
|
22
|
-
export declare
|
|
19
|
+
export declare const RestoreFrontstageLayoutTool: typeof RestoreFrontstageLayoutCoreTool & {
|
|
20
|
+
iconElement: React.ReactElement<any, string | React.JSXElementConstructor<any>>;
|
|
21
|
+
};
|
|
22
|
+
declare class RestoreAllFrontstagesCoreTool extends Tool {
|
|
23
23
|
static toolId: string;
|
|
24
24
|
static iconSpec: string;
|
|
25
25
|
run(): Promise<boolean>;
|
|
26
26
|
}
|
|
27
|
+
/**
|
|
28
|
+
* Immediate tool that will reset the layout of all frontstages to that specified in the stage definition.
|
|
29
|
+
* @public
|
|
30
|
+
*/
|
|
31
|
+
export declare const RestoreAllFrontstagesTool: typeof RestoreAllFrontstagesCoreTool & {
|
|
32
|
+
iconElement: React.ReactElement<any, string | React.JSXElementConstructor<any>>;
|
|
33
|
+
};
|
|
34
|
+
export {};
|
|
27
35
|
//# sourceMappingURL=RestoreLayoutTool.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RestoreLayoutTool.d.ts","sourceRoot":"","sources":["../../../src/appui-react/tools/RestoreLayoutTool.
|
|
1
|
+
{"version":3,"file":"RestoreLayoutTool.d.ts","sourceRoot":"","sources":["../../../src/appui-react/tools/RestoreLayoutTool.tsx"],"names":[],"mappings":"AAIA;;GAEG;AACH,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EAIL,IAAI,EACL,MAAM,sBAAsB,CAAC;AAO9B,cAAM,+BAAgC,SAAQ,IAAI;IAChD,OAAuB,MAAM,SAA6B;IAC1D,OAAuB,QAAQ,SAAuB;IAEtD,WAA2B,OAAO,WAEjC;IACD,WAA2B,OAAO,WAEjC;IAEqB,GAAG,CAAC,YAAY,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAsB5C,WAAW,CAAC,GAAG,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,OAAO,CAAC;CAGvE;AAED;;;;GAIG;AACH,eAAO,MAAM,2BAA2B;;CAGvC,CAAC;AAEF,cAAM,6BAA8B,SAAQ,IAAI;IAC9C,OAAuB,MAAM,SAA2B;IACxD,OAAuB,QAAQ,SAAuB;IAEhC,GAAG;CAO1B;AAED;;;GAGG;AACH,eAAO,MAAM,yBAAyB;;CAGrC,CAAC"}
|
|
@@ -5,16 +5,13 @@
|
|
|
5
5
|
/** @packageDocumentation
|
|
6
6
|
* @module Tools
|
|
7
7
|
*/
|
|
8
|
+
import * as React from "react";
|
|
8
9
|
import { IModelApp, NotifyMessageDetails, OutputMessagePriority, Tool, } from "@itwin/core-frontend";
|
|
9
10
|
import { InternalFrontstageManager } from "../frontstage/InternalFrontstageManager.js";
|
|
10
11
|
import { UiFramework } from "../UiFramework.js";
|
|
11
|
-
import
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
* may be passed in, if not the active stage is used. The stage Id is case sensitive.
|
|
15
|
-
* @public
|
|
16
|
-
*/
|
|
17
|
-
export class RestoreFrontstageLayoutTool extends Tool {
|
|
12
|
+
import { SvgViewLayouts } from "../icons/SvgViewLayouts.js";
|
|
13
|
+
import { ToolUtilities } from "@itwin/imodel-components-react";
|
|
14
|
+
class RestoreFrontstageLayoutCoreTool extends Tool {
|
|
18
15
|
static get minArgs() {
|
|
19
16
|
return 0;
|
|
20
17
|
}
|
|
@@ -39,13 +36,15 @@ export class RestoreFrontstageLayoutTool extends Tool {
|
|
|
39
36
|
return this.run(args[0]);
|
|
40
37
|
}
|
|
41
38
|
}
|
|
42
|
-
|
|
43
|
-
|
|
39
|
+
RestoreFrontstageLayoutCoreTool.toolId = "RestoreFrontstageLayout";
|
|
40
|
+
RestoreFrontstageLayoutCoreTool.iconSpec = "icon-view-layouts";
|
|
44
41
|
/**
|
|
45
|
-
* Immediate tool that will reset the layout
|
|
42
|
+
* Immediate tool that will reset the layout to that specified in the stage definition. A stage Id
|
|
43
|
+
* may be passed in, if not the active stage is used. The stage Id is case sensitive.
|
|
46
44
|
* @public
|
|
47
45
|
*/
|
|
48
|
-
export
|
|
46
|
+
export const RestoreFrontstageLayoutTool = ToolUtilities.defineIcon(RestoreFrontstageLayoutCoreTool, React.createElement(SvgViewLayouts, null));
|
|
47
|
+
class RestoreAllFrontstagesCoreTool extends Tool {
|
|
49
48
|
async run() {
|
|
50
49
|
const frontstages = InternalFrontstageManager.frontstageDefs;
|
|
51
50
|
for (const [, frontstage] of frontstages) {
|
|
@@ -54,6 +53,11 @@ export class RestoreAllFrontstagesTool extends Tool {
|
|
|
54
53
|
return true;
|
|
55
54
|
}
|
|
56
55
|
}
|
|
57
|
-
|
|
58
|
-
|
|
56
|
+
RestoreAllFrontstagesCoreTool.toolId = "RestoreAllFrontstages";
|
|
57
|
+
RestoreAllFrontstagesCoreTool.iconSpec = "icon-view-layouts";
|
|
58
|
+
/**
|
|
59
|
+
* Immediate tool that will reset the layout of all frontstages to that specified in the stage definition.
|
|
60
|
+
* @public
|
|
61
|
+
*/
|
|
62
|
+
export const RestoreAllFrontstagesTool = ToolUtilities.defineIcon(RestoreAllFrontstagesCoreTool, React.createElement(SvgViewLayouts, null));
|
|
59
63
|
//# sourceMappingURL=RestoreLayoutTool.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RestoreLayoutTool.js","sourceRoot":"","sources":["../../../src/appui-react/tools/RestoreLayoutTool.
|
|
1
|
+
{"version":3,"file":"RestoreLayoutTool.js","sourceRoot":"","sources":["../../../src/appui-react/tools/RestoreLayoutTool.tsx"],"names":[],"mappings":"AAAA;;;gGAGgG;AAChG;;GAEG;AACH,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EACL,SAAS,EACT,oBAAoB,EACpB,qBAAqB,EACrB,IAAI,GACL,MAAM,sBAAsB,CAAC;AAE9B,OAAO,EAAE,yBAAyB,EAAE,MAAM,4CAA4C,CAAC;AACvF,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAC5D,OAAO,EAAE,aAAa,EAAE,MAAM,gCAAgC,CAAC;AAE/D,MAAM,+BAAgC,SAAQ,IAAI;IAIzC,MAAM,KAAc,OAAO;QAChC,OAAO,CAAC,CAAC;IACX,CAAC;IACM,MAAM,KAAc,OAAO;QAChC,OAAO,CAAC,CAAC;IACX,CAAC;IAEe,KAAK,CAAC,GAAG,CAAC,YAAqB;QAC7C,IAAI,aAAwC,CAAC;QAE7C,IAAI,YAAY,EAAE,CAAC;YACjB,aAAa,GAAG,MAAM,WAAW,CAAC,WAAW,CAAC,gBAAgB,CAC5D,YAAY,CACb,CAAC;QACJ,CAAC;aAAM,CAAC;YACN,aAAa,GAAG,WAAW,CAAC,WAAW,CAAC,mBAAmB,CAAC;QAC9D,CAAC;QAED,IAAI,aAAa;YAAE,aAAa,CAAC,aAAa,EAAE,CAAC;;YAE/C,SAAS,CAAC,aAAa,CAAC,aAAa,CACnC,IAAI,oBAAoB,CACtB,qBAAqB,CAAC,IAAI,EAC1B,WAAW,CAAC,SAAS,CAAC,4CAA4C,CAAC,CACpE,CACF,CAAC;QACJ,OAAO,IAAI,CAAC;IACd,CAAC;IAEe,KAAK,CAAC,WAAW,CAAC,GAAG,IAAc;QACjD,OAAO,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;IAC3B,CAAC;;AAlCsB,sCAAM,GAAG,yBAAyB,CAAC;AACnC,wCAAQ,GAAG,mBAAmB,CAAC;AAoCxD;;;;GAIG;AACH,MAAM,CAAC,MAAM,2BAA2B,GAAG,aAAa,CAAC,UAAU,CACjE,+BAA+B,EAC/B,oBAAC,cAAc,OAAG,CACnB,CAAC;AAEF,MAAM,6BAA8B,SAAQ,IAAI;IAI9B,KAAK,CAAC,GAAG;QACvB,MAAM,WAAW,GAAG,yBAAyB,CAAC,cAAc,CAAC;QAC7D,KAAK,MAAM,CAAC,EAAE,UAAU,CAAC,IAAI,WAAW,EAAE,CAAC;YACzC,UAAU,CAAC,aAAa,EAAE,CAAC;QAC7B,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;;AATsB,oCAAM,GAAG,uBAAuB,CAAC;AACjC,sCAAQ,GAAG,mBAAmB,CAAC;AAWxD;;;GAGG;AACH,MAAM,CAAC,MAAM,yBAAyB,GAAG,aAAa,CAAC,UAAU,CAC/D,6BAA6B,EAC7B,oBAAC,cAAc,OAAG,CACnB,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 Tools\n */\nimport * as React from \"react\";\nimport {\n IModelApp,\n NotifyMessageDetails,\n OutputMessagePriority,\n Tool,\n} from \"@itwin/core-frontend\";\nimport type { FrontstageDef } from \"../frontstage/FrontstageDef.js\";\nimport { InternalFrontstageManager } from \"../frontstage/InternalFrontstageManager.js\";\nimport { UiFramework } from \"../UiFramework.js\";\nimport { SvgViewLayouts } from \"../icons/SvgViewLayouts.js\";\nimport { ToolUtilities } from \"@itwin/imodel-components-react\";\n\nclass RestoreFrontstageLayoutCoreTool extends Tool {\n public static override toolId = \"RestoreFrontstageLayout\";\n public static override iconSpec = \"icon-view-layouts\";\n\n public static override get minArgs() {\n return 0;\n }\n public static override get maxArgs() {\n return 1;\n }\n\n public override async run(frontstageId?: string): Promise<boolean> {\n let frontstageDef: FrontstageDef | undefined;\n\n if (frontstageId) {\n frontstageDef = await UiFramework.frontstages.getFrontstageDef(\n frontstageId\n );\n } else {\n frontstageDef = UiFramework.frontstages.activeFrontstageDef;\n }\n\n if (frontstageDef) frontstageDef.restoreLayout();\n else\n IModelApp.notifications.outputMessage(\n new NotifyMessageDetails(\n OutputMessagePriority.Info,\n UiFramework.translate(\"tools.RestoreFrontstageLayout.noStageFound\")\n )\n );\n return true;\n }\n\n public override async parseAndRun(...args: string[]): Promise<boolean> {\n return this.run(args[0]);\n }\n}\n\n/**\n * Immediate tool that will reset the layout to that specified in the stage definition. A stage Id\n * may be passed in, if not the active stage is used. The stage Id is case sensitive.\n * @public\n */\nexport const RestoreFrontstageLayoutTool = ToolUtilities.defineIcon(\n RestoreFrontstageLayoutCoreTool,\n <SvgViewLayouts />\n);\n\nclass RestoreAllFrontstagesCoreTool extends Tool {\n public static override toolId = \"RestoreAllFrontstages\";\n public static override iconSpec = \"icon-view-layouts\";\n\n public override async run() {\n const frontstages = InternalFrontstageManager.frontstageDefs;\n for (const [, frontstage] of frontstages) {\n frontstage.restoreLayout();\n }\n return true;\n }\n}\n\n/**\n * Immediate tool that will reset the layout of all frontstages to that specified in the stage definition.\n * @public\n */\nexport const RestoreAllFrontstagesTool = ToolUtilities.defineIcon(\n RestoreAllFrontstagesCoreTool,\n <SvgViewLayouts />\n);\n"]}
|
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
import * as React from "react";
|
|
2
2
|
import type { WidgetDef } from "../widgets/WidgetDef.js";
|
|
3
3
|
/** @internal */
|
|
4
|
+
export declare function WidgetFallback(): React.JSX.Element;
|
|
5
|
+
/** @internal */
|
|
4
6
|
export declare function WidgetContent(): React.JSX.Element;
|
|
5
7
|
/** @internal */
|
|
6
8
|
export declare function useWidgetDef(): WidgetDef | undefined;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Content.d.ts","sourceRoot":"","sources":["../../../src/appui-react/widget-panels/Content.tsx"],"names":[],"mappings":"AAUA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAO/B,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAC;
|
|
1
|
+
{"version":3,"file":"Content.d.ts","sourceRoot":"","sources":["../../../src/appui-react/widget-panels/Content.tsx"],"names":[],"mappings":"AAUA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAO/B,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAC;AAKzD,gBAAgB;AAChB,wBAAgB,cAAc,sBAW7B;AAED,gBAAgB;AAChB,wBAAgB,aAAa,sBAwB5B;AAED,gBAAgB;AAChB,wBAAgB,YAAY,IAAI,SAAS,GAAG,SAAS,CAqBpD"}
|
|
@@ -18,7 +18,8 @@ import { isProviderItem } from "../ui-items-provider/isProviderItem.js";
|
|
|
18
18
|
import { useTransientState } from "./useTransientState.js";
|
|
19
19
|
import { useTranslation } from "../hooks/useTranslation.js";
|
|
20
20
|
import { PopoutThemeProvider } from "../preview/reparent-popout-widgets/PopoutThemeProvider.js";
|
|
21
|
-
|
|
21
|
+
/** @internal */
|
|
22
|
+
export function WidgetFallback() {
|
|
22
23
|
const { translate } = useTranslation();
|
|
23
24
|
return (React.createElement("div", { role: "alert", style: { position: "relative", minHeight: 400 } },
|
|
24
25
|
React.createElement(NonIdealState, { svg: React.createElement(SvgError, null), heading: translate("widget.errorMessage.unknownError") })));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Content.js","sourceRoot":"","sources":["../../../src/appui-react/widget-panels/Content.tsx"],"names":[],"mappings":"AAAA;;;gGAGgG;AAChG;;GAEG;AACH,OAAO,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAC7C,OAAO,EAAE,QAAQ,EAAE,MAAM,oCAAoC,CAAC;AAC9D,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,EAAE,sBAAsB,EAAE,MAAM,gCAAgC,CAAC;AACxE,OAAO,EAAE,uBAAuB,EAAE,MAAM,6BAA6B,CAAC;AACtE,OAAO,EAAE,YAAY,EAAE,MAAM,qCAAqC,CAAC;AACnE,OAAO,EAAE,cAAc,EAAE,MAAM,wCAAwC,CAAC;AACxE,OAAO,EAAE,cAAc,EAAE,MAAM,wCAAwC,CAAC;AAExE,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAC3D,OAAO,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAC5D,OAAO,EAAE,mBAAmB,EAAE,MAAM,2DAA2D,CAAC;AAEhG,
|
|
1
|
+
{"version":3,"file":"Content.js","sourceRoot":"","sources":["../../../src/appui-react/widget-panels/Content.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 Widget\n */\nimport { assert } from \"@itwin/core-bentley\";\nimport { SvgError } from \"@itwin/itwinui-illustrations-react\";\nimport { NonIdealState } from \"@itwin/itwinui-react\";\nimport * as React from \"react\";\nimport { ErrorBoundary } from \"react-error-boundary\";\nimport { useActiveFrontstageDef } from \"../frontstage/FrontstageDef.js\";\nimport { ScrollableWidgetContent } from \"../layout/widget/Content.js\";\nimport { TabIdContext } from \"../layout/widget/ContentRenderer.js\";\nimport { UiItemsManager } from \"../ui-items-provider/UiItemsManager.js\";\nimport { isProviderItem } from \"../ui-items-provider/isProviderItem.js\";\nimport type { WidgetDef } from \"../widgets/WidgetDef.js\";\nimport { useTransientState } from \"./useTransientState.js\";\nimport { useTranslation } from \"../hooks/useTranslation.js\";\nimport { PopoutThemeProvider } from \"../preview/reparent-popout-widgets/PopoutThemeProvider.js\";\n\n/** @internal */\nexport function WidgetFallback() {\n const { translate } = useTranslation();\n\n return (\n <div role=\"alert\" style={{ position: \"relative\", minHeight: 400 }}>\n <NonIdealState\n svg={<SvgError />}\n heading={translate(\"widget.errorMessage.unknownError\")}\n />\n </div>\n );\n}\n\n/** @internal */\nexport function WidgetContent() {\n const widget = useWidgetDef();\n const itemId = widget?.id ?? widget?.label ?? \"unknown\";\n const onSave = React.useCallback(() => {\n widget?.saveTransientState();\n }, [widget]);\n const onRestore = React.useCallback(() => {\n widget?.restoreTransientState();\n }, [widget]);\n useTransientState(onSave, onRestore);\n const providerId =\n widget?.initialConfig && isProviderItem(widget?.initialConfig)\n ? widget?.initialConfig.providerId\n : undefined;\n\n return (\n <PopoutThemeProvider>\n <ScrollableWidgetContent itemId={itemId} providerId={providerId}>\n <ErrorBoundary FallbackComponent={WidgetFallback}>\n {widget?.reactNode}\n </ErrorBoundary>\n </ScrollableWidgetContent>\n </PopoutThemeProvider>\n );\n}\n\n/** @internal */\nexport function useWidgetDef(): WidgetDef | undefined {\n const frontstage = useActiveFrontstageDef();\n const tabId = React.useContext(TabIdContext);\n assert(!!tabId);\n const [widgetDef, setWidgetDef] = React.useState(() =>\n frontstage?.findWidgetDef(tabId)\n );\n\n const [prevTabId, setPrevTabId] = React.useState(tabId);\n if (prevTabId !== tabId) {\n setPrevTabId(tabId);\n setWidgetDef(frontstage?.findWidgetDef(tabId));\n }\n\n React.useEffect(() => {\n return UiItemsManager.onUiProviderRegisteredEvent.addListener(() => {\n setWidgetDef(frontstage?.findWidgetDef(tabId));\n });\n }, [frontstage, tabId]);\n\n return widgetDef?.id === tabId ? widgetDef : undefined;\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Frontstage.d.ts","sourceRoot":"","sources":["../../../src/appui-react/widget-panels/Frontstage.tsx"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"Frontstage.d.ts","sourceRoot":"","sources":["../../../src/appui-react/widget-panels/Frontstage.tsx"],"names":[],"mappings":"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"}
|
|
@@ -555,18 +555,13 @@ export function getFrontstageStateSettingName(frontstageId) {
|
|
|
555
555
|
/** @internal */
|
|
556
556
|
export function useFrontstageManager(frontstageDef, useToolAsToolSettingsLabel) {
|
|
557
557
|
const { translate } = useTranslation();
|
|
558
|
-
const uiSettingsStorage = useUiStateStorageHandler();
|
|
559
558
|
React.useEffect(() => {
|
|
560
559
|
return InternalFrontstageManager.onFrontstageRestoreLayoutEvent.addListener((args) => {
|
|
561
|
-
|
|
562
|
-
void uiSettingsStorage.deleteSetting(FRONTSTAGE_SETTINGS_NAMESPACE, getFrontstageStateSettingName(args.frontstageDef.id));
|
|
563
|
-
if (frontstageDef.id === args.frontstageDef.id) {
|
|
564
|
-
initializeNineZoneState(frontstageDef);
|
|
560
|
+
if (frontstageDef.id !== args.frontstageDef.id)
|
|
565
561
|
return;
|
|
566
|
-
|
|
567
|
-
args.frontstageDef.nineZoneState = undefined;
|
|
562
|
+
initializeNineZoneState(frontstageDef);
|
|
568
563
|
});
|
|
569
|
-
}, [
|
|
564
|
+
}, [frontstageDef]);
|
|
570
565
|
const defaultLabel = translate("widget.labels.toolSettings");
|
|
571
566
|
React.useEffect(() => {
|
|
572
567
|
const updateLabel = () => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Frontstage.js","sourceRoot":"","sources":["../../../src/appui-react/widget-panels/Frontstage.tsx"],"names":[],"mappings":"AAAA;;;gGAGgG;AAChG;;GAEG;AAEH,OAAO,EAAE,2BAA2B,EAAE,MAAM,yBAAyB,CAAC;AACtE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AACtE,OAAO,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AACjD,OAAO,EAAE,OAAO,EAAE,MAAM,OAAO,CAAC;AAChC,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EAAE,uBAAuB,EAAE,MAAM,WAAW,CAAC;AAEpD,OAAO,EAAE,sBAAsB,EAAE,MAAM,gCAAgC,CAAC;AACxE,OAAO,EAAE,yBAAyB,EAAE,MAAM,4CAA4C,CAAC;AACvF,OAAO,EAAE,uBAAuB,EAAE,MAAM,qCAAqC,CAAC;AAC9E,OAAO,EAAE,eAAe,EAAE,MAAM,6BAA6B,CAAC;AAC9D,OAAO,EAAE,iBAAiB,EAAE,MAAM,+BAA+B,CAAC;AAKlE,OAAO,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,4BAA4B,CAAC;AAEnE,OAAO,EAAE,mBAAmB,EAAE,MAAM,kCAAkC,CAAC;AACvE,OAAO,EAAE,oBAAoB,EAAE,MAAM,yCAAyC,CAAC;AAC/E,OAAO,EAAE,uBAAuB,EAAE,MAAM,+BAA+B,CAAC;AAExE,OAAO,EAAE,eAAe,EAAE,MAAM,qCAAqC,CAAC;AACtE,OAAO,EAAE,0CAA0C,EAAE,MAAM,sEAAsE,CAAC;AAClI,OAAO,EAAE,kBAAkB,EAAE,MAAM,+BAA+B,CAAC;AACnE,OAAO,EAAE,WAAW,EAAE,MAAM,iCAAiC,CAAC;AAC9D,OAAO,EAAE,kBAAkB,EAAE,MAAM,sCAAsC,CAAC;AAC1E,OAAO,EAAE,iBAAiB,EAAE,MAAM,qCAAqC,CAAC;AACxE,OAAO,EAAE,eAAe,EAAE,MAAM,mCAAmC,CAAC;AACpE,OAAO,EAAE,cAAc,EAAE,MAAM,wCAAwC,CAAC;AACxE,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,EAAE,wBAAwB,EAAE,MAAM,iCAAiC,CAAC;AAE3E,OAAO,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AACxD,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAC7C,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AACrD,OAAO,mBAAmB,CAAC;AAC3B,OAAO,EAAE,6BAA6B,EAAE,MAAM,wBAAwB,CAAC;AACvE,OAAO,EACL,uBAAuB,EACvB,4BAA4B,GAC7B,MAAM,8BAA8B,CAAC;AACtC,OAAO,EAAE,qBAAqB,EAAE,MAAM,gBAAgB,CAAC;AACvD,OAAO,EAAE,eAAe,EAAE,MAAM,UAAU,CAAC;AAC3C,OAAO,EAAE,oBAAoB,EAAE,MAAM,eAAe,CAAC;AACrD,OAAO,EACL,mBAAmB,EACnB,wBAAwB,GACzB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,uBAAuB,EAAE,MAAM,uDAAuD,CAAC;AAChG,OAAO,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAC;AAC7D,OAAO,EAAE,mBAAmB,EAAE,MAAM,kCAAkC,CAAC;AACvE,OAAO,EAAE,sBAAsB,EAAE,MAAM,qCAAqC,CAAC;AAC7E,OAAO,EAAE,SAAS,EAAE,MAAM,0CAA0C,CAAC;AACrE,OAAO,EAAE,oBAAoB,EAAE,MAAM,qCAAqC,CAAC;AAC3E,OAAO,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAC5D,OAAO,EAAE,aAAa,EAAE,MAAM,qDAAqD,CAAC;AACpF,OAAO,EAAE,sBAAsB,EAAE,MAAM,sCAAsC,CAAC;AAC9E,OAAO,EAAE,qBAAqB,EAAE,MAAM,4CAA4C,CAAC;AACnF,OAAO,EAAE,yBAAyB,EAAE,MAAM,gCAAgC,CAAC;AAE3E,OAAO,EAAE,oBAAoB,EAAE,MAAM,8BAA8B,CAAC;AAEpE,SAAS,+BAA+B;IACtC,MAAM,yBAAyB,GAAG,4BAA4B,EAAE,CAAC;IACjE,MAAM,WAAW,GAAG,eAAe,EAAE,CAAC;IACtC,MAAM,eAAe,GAAG,kBAAkB,EAAE,CAAC;IAC7C,SAAS,EAAE,CAAC;IAEZ,OAAO,CACL,oBAAC,uBAAuB;QACtB,oBAAC,0CAA0C,IACzC,OAAO,EAAE,eAAe,CAAC,wBAAwB;YAEjD,oBAAC,2BAA2B,CAAC,QAAQ,IAAC,KAAK,EAAE,CAAC,WAAW;gBACvD,oBAAC,uBAAuB,IAAC,SAAS,EAAE,yBAAyB,GAAI;gBACjE,oBAAC,cAAc,IACb,aAAa,EACX;wBACE,oBAAC,oBAAoB,OAAG;wBACxB,oBAAC,oBAAoB,OAAG,CACvB,EAEL,YAAY,EAAE,oBAAC,wBAAwB,OAAG,EAC1C,SAAS,EAAE,oBAAC,qBAAqB,OAAG,EACpC,QAAQ,EAAE,oBAAC,mBAAmB,IAAC,IAAI,EAAC,KAAK,GAAG,EAC5C,SAAS,EAAE,oBAAC,mBAAmB,IAAC,IAAI,EAAC,MAAM,GAAG,EAC9C,UAAU,EAAE,oBAAC,mBAAmB,IAAC,IAAI,EAAC,OAAO,GAAG,EAChD,WAAW,EAAE,oBAAC,mBAAmB,IAAC,IAAI,EAAC,QAAQ,GAAG;oBAElD,oBAAC,6BAA6B,OAAG,CAClB;gBACjB,oBAAC,sBAAsB,OAAG;gBAC1B,oBAAC,eAAe,OAAG;gBACnB,oBAAC,aAAa,OAAG,CACoB,CACI,CACrB,CAC3B,CAAC;AACJ,CAAC;AAED,MAAM,aAAa,GAAG,oBAAC,aAAa,OAAG,CAAC;AACxC,MAAM,mBAAmB,GAAG,oBAAC,mBAAmB,OAAG,CAAC;AACpD,MAAM,sBAAsB,GAAG,oBAAC,+BAA+B,OAAG,CAAC;AAEnE,gBAAgB;AAChB,MAAM,UAAU,cAAc,CAAC,aAAwC;IACrE,MAAM,WAAW,GAAG,KAAK,CAAC,OAAO,CAC/B,GAAG,EAAE,CAAC,iBAAiB,CAAC,aAAa,EAAE,aAAa,CAAC,EACrD,CAAC,aAAa,CAAC,CAChB,CAAC;IACF,KAAK,CAAC,SAAS,CAAC,GAAG,EAAE;QACnB,OAAO,yBAAyB,CAAC,qCAAqC,CAAC,WAAW,CAChF,CAAC,IAAI,EAAE,EAAE;YACP,IAAI,IAAI,CAAC,aAAa,KAAK,aAAa;gBAAE,OAAO;YACjD,uBAAuB,CAAC,GAAG,EAAE;gBAC3B,2FAA2F;gBAC3F,WAAW,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,IAAI,eAAe,CAAC,CAAC;YACtD,CAAC,CAAC,CAAC;QACL,CAAC,CACF,CAAC;IACJ,CAAC,EAAE,CAAC,aAAa,EAAE,WAAW,CAAC,CAAC,CAAC;IACjC,OAAO,WAAW,CAAC;AACrB,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,qBAAqB,CAAC,aAA4B;IAChE,KAAK,CAAC,SAAS,CAAC,GAAG,EAAE;QACnB,MAAM,IAAI,GAAG,yBAAyB,CAAC,YAAY,CAAC;QACpD,IAAI,CAAC,IAAI;YAAE,OAAO;QAClB,aAAa,CAAC,QAAQ,CAAC;YACrB,IAAI,EAAE,QAAQ;YACd,IAAI,EAAE;gBACJ,MAAM,EAAE,IAAI,CAAC,MAAM;gBACnB,KAAK,EAAE,IAAI,CAAC,KAAK;aAClB;SACF,CAAC,CAAC;IACL,CAAC,EAAE,CAAC,aAAa,CAAC,CAAC,CAAC;AACtB,CAAC;AAED,MAAM,GAAG,GACP,CAAC,OAAoC,EAA+B,EAAE,CACtE,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE;IAChB,MAAM,CAAC,QAAQ,CAAC,qBAAqB,EAAE,UAAU,MAAM,CAAC,IAAI,EAAE,EAAE,GAAG,EAAE,CAAC,CAAC;QACrE,MAAM;QACN,KAAK;KACN,CAAC,CAAC,CAAC;IACJ,OAAO,OAAO,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;AAChC,CAAC,CAAC;AAEJ,gBAAgB;AAChB,MAAM,UAAU,mBAAmB,CAAC,aAA4B;IAC9D,MAAM,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC,GAAG,EAAE;QACjC,OAAO,GAAG,CAAC,oBAAoB,CAAC,CAAC;IACnC,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,OAAO,KAAK,CAAC,WAAW,CACtB,CAAC,MAAM,EAAE,EAAE;QACT,IAAI,MAAM,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;YAC7B,yBAAyB,CAAC,YAAY,GAAG;gBACvC,KAAK,EAAE,MAAM,CAAC,IAAI,CAAC,KAAK;gBACxB,MAAM,EAAE,MAAM,CAAC,IAAI,CAAC,MAAM;aAC3B,CAAC;QACJ,CAAC;QAED,MAAM,KAAK,GAAG,aAAa,CAAC,aAAa,CAAC;QAC1C,IAAI,CAAC,KAAK;YAAE,OAAO;QACnB,aAAa,CAAC,aAAa,GAAG,OAAO,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;IACvD,CAAC,EACD,CAAC,aAAa,EAAE,OAAO,CAAC,CACzB,CAAC;AACJ,CAAC;AAED,gBAAgB;AAChB,MAAM,UAAU,sBAAsB;IACpC,MAAM,aAAa,GAAG,sBAAsB,EAAE,CAAC;IAE/C,KAAK,CAAC,SAAS,CAAC,GAAG,EAAE;QACnB,MAAM,2BAA2B,GAAG,GAAG,EAAE;YACvC,aAAa,IAAI,aAAa,CAAC,uBAAuB,CAAC,IAAI,CAAC,CAAC;QAC/D,CAAC,CAAC;QACF,MAAM,CAAC,gBAAgB,CAAC,QAAQ,EAAE,2BAA2B,CAAC,CAAC;QAC/D,OAAO,GAAG,EAAE;YACV,MAAM,CAAC,mBAAmB,CAAC,QAAQ,EAAE,2BAA2B,CAAC,CAAC;QACpE,CAAC,CAAC;IACJ,CAAC,EAAE,CAAC,aAAa,CAAC,CAAC,CAAC;IAEpB,IAAI,CAAC,aAAa;QAAE,OAAO,IAAI,CAAC;IAChC,OAAO,oBAAC,2BAA2B,IAAC,aAAa,EAAE,aAAa,GAAI,CAAC;AACvE,CAAC;AAED,MAAM,eAAe,GAAG,mBAAmB,EAAE,CAAC;AAC9C,MAAM,UAAU,GAAG,oBAAC,eAAe,OAAG,CAAC;AACvC,MAAM,qBAAqB,GAAG,oBAAC,cAAc,OAAG,CAAC;AAMjD,gBAAgB;AAChB,MAAM,UAAU,2BAA2B,CAAC,EAC1C,aAAa,GACoB;IACjC,MAAM,cAAc,GAAG,KAAK,CAAC,UAAU,CAAC,qBAAqB,CAAC,CAAC;IAC/D,MAAM,QAAQ,GAAG,mBAAmB,CAAC,aAAa,CAAC,CAAC;IACpD,aAAa,CAAC,QAAQ,GAAG,QAAQ,CAAC;IAClC,MAAM,MAAM,GAAG,cAAc,CAAC,aAAa,CAAC,CAAC;IAC7C,qBAAqB,CAAC,aAAa,CAAC,CAAC;IACrC,uBAAuB,CAAC,aAAa,CAAC,CAAC;IACvC,yBAAyB,CAAC,aAAa,EAAE,MAAM,CAAC,CAAC;IACjD,eAAe,CAAC,aAAa,CAAC,CAAC;IAC/B,MAAM,MAAM,GAAG,SAAS,EAAE,CAAC;IAC3B,MAAM,WAAW,GAAG,eAAe,EAAE,CAAC;IACtC,MAAM,4BAA4B,GAAG,sBAAsB;IACzD,mDAAmD;IACnD,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,EAAE,mBAAmB,CAAC,0BAA0B,CACjE,CAAC;IACF,MAAM,mBAAmB,GAAG,sBAAsB;IAChD,mDAAmD;IACnD,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,EAAE,mBAAmB,CAAC,cAAc,CACrD,CAAC;IACF,MAAM,+BAA+B,GAAG,sBAAsB;IAC5D,mDAAmD;IACnD,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,EAAE,mBAAmB,CAAC,0BAA0B,CACjE,CAAC;IACF,MAAM,wBAAwB,GAAG,sBAAsB;IACrD,mDAAmD;IACnD,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,EAAE,mBAAmB,CAAC,0BAA0B,CACjE,CAAC;IACF,MAAM,cAAc,GAClB,cAAc,CAAC,UAAU,IAAI,mBAAmB,IAAI,IAAI,CAAC;IAC3D,MAAM,0BAA0B,GAC9B,cAAc,CAAC,cAAc,IAAI,+BAA+B,IAAI,KAAK,CAAC;IAC5E,MAAM,mBAAmB,GACvB,cAAc,CAAC,mBAAmB,IAAI,wBAAwB,IAAI,KAAK,CAAC;IAC1E,MAAM,0BAA0B,GAC9B,cAAc,CAAC,uBAAuB;QACtC,4BAA4B;QAC5B,KAAK,CAAC;IAER,oBAAoB,CAAC,aAAa,EAAE,0BAA0B,CAAC,CAAC;IAEhE,MAAM,aAAa,GAAG,uBAAuB,EAAE,CAAC;IAEhD,OAAO,CACL,6BACE,SAAS,EAAC,8BAA8B,EACxC,SAAS,EAAE,aAAa,EACxB,IAAI,EAAC,cAAc;QAEnB,oBAAC,QAAQ,IACP,QAAQ,EAAE,QAAQ,EAClB,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,MAAM,EACd,GAAG,EAAE,UAAU,EACf,cAAc,EAAE,qBAAqB,EACrC,cAAc,EAAE,cAAc,EAC9B,0BAA0B,EAAE,0BAA0B,EACtD,mBAAmB,EAAE,mBAAmB,EACxC,aAAa,EAAE,aAAa,EAC5B,yBAAyB,EAAE,mBAAmB,EAC9C,WAAW,EAAE,WAAW,IAEvB,sBAAsB,CACd,CACP,CACP,CAAC;AACJ,CAAC;AAED,gBAAgB;AAChB,MAAM,UAAU,SAAS;IACvB,MAAM,EAAE,SAAS,EAAE,GAAG,cAAc,EAAE,CAAC;IAEvC,OAAO;QACL,qBAAqB,EAAE,SAAS,CAAC,kCAAkC,CAAC;QACpE,gBAAgB,EAAE,SAAS,CAAC,6BAA6B,CAAC;QAC1D,qBAAqB,EAAE,SAAS,CAAC,kCAAkC,CAAC;QACpE,aAAa,EAAE,SAAS,CAAC,0BAA0B,CAAC;QACpD,eAAe,EAAE,SAAS,CAAC,4BAA4B,CAAC;QACxD,mBAAmB,EAAE,SAAS,CAAC,0BAA0B,CAAC;QAC1D,uBAAuB,EAAE,SAAS,CAAC,oCAAoC,CAAC;QACxE,eAAe,EAAE,SAAS,CAAC,4BAA4B,CAAC;QACxD,eAAe,EAAE,SAAS,CAAC,iCAAiC,CAAC;KAC9D,CAAC;AACJ,CAAC;AAED,SAAS,SAAS,CAAC,MAAiB;IAClC,MAAM,KAAK,GAAG,cAAc,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IAC3C,MAAM,IAAI,GAAG;QACX,mBAAmB,EAAE,MAAM,CAAC,mBAAmB,EAAE,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE,CAChE,WAAW,CAAC,QAAQ,CAAC,CACtB;QACD,sBAAsB,EAAE,CAAC,CAAC,MAAM,CAAC,sBAAsB;QACvD,SAAS,EAAE,MAAM,CAAC,SAAS;QAC3B,yBAAyB,EAAE,MAAM,CAAC,8BAA8B;QAChE,KAAK;QACL,2BAA2B,EAAE,MAAM,CAAC,mBAAmB;QACvD,wBAAwB,EAAE,MAAM,CAAC,kBAAkB;KACpD,CAAC;IACF,OAAO,IAAgD,CAAC;AAC1D,CAAC;AAED,SAAS,YAAY,CACnB,aAA4B,EAC5B,SAAoB,EACpB,QAA4B,EAC5B,OAA0B;IAE1B,MAAM,IAAI,GAAG,WAAW,CAAC,QAAQ,CAAC,CAAC;IAEnC,MAAM,gBAAgB,GACpB,SAAS,CAAC,wBAAwB;QAClC,SAAS,CAAC,YAAY,KAAK,WAAW,CAAC,QAAQ,CAAC;IAClD,MAAM,gBAAgB,GAAG,SAAS,CAAC,mBAAmB;QACpD,CAAC,CAAC,SAAS,CAAC,mBAAmB;QAC/B,CAAC,CAAC,WAAW,EAAE,CAAC;IAClB,MAAM,SAAS,GAAG,CAAC,CAAC,SAAS,CAAC,mBAAmB,CAAC;IAElD,aAAa,CAAC,QAAQ,CAAC;QACrB,IAAI,EAAE,gBAAgB;QACtB,EAAE,EAAE,SAAS,CAAC,EAAE;QAChB,SAAS,EAAE;YACT,GAAG,SAAS,CAAC,SAAS,CAAC;YACvB,SAAS;SACV;QACD,QAAQ,EAAE,gBAAgB,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,OAAO;QACjD,cAAc,EAAE;YACd,EAAE,EAAE,gBAAgB;YACpB,iBAAiB,EAAE,SAAS,CAAC,uBAAuB;SACrD;QACD,YAAY,EAAE;YACZ,EAAE,EAAE,uBAAuB,CAAC,IAAI,EAAE,OAAO,CAAC;YAC1C,IAAI;YACJ,KAAK,EAAE,OAAO;SACf;KACF,CAAC,CAAC;IAEH,2DAA2D;IAC3D,aAAa,CAAC,aAAa,EAAE,SAAS,CAAC,CAAC;AAC1C,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,yBAAyB,CACvC,aAA4B,EAC5B,QAA4B,EAC5B,OAA0B;IAE1B,MAAM,QAAQ,GAAG,aAAa,CAAC,gBAAgB,CAAC,QAAQ,CAAC,CAAC;IAC1D,IAAI,CAAC,QAAQ;QAAE,OAAO;IACtB,MAAM,UAAU,GAAG,QAAQ,CAAC,kBAAkB,CAAC,OAAO,CAAC,CAAC;IACxD,MAAM,UAAU,GAAG,mBAAmB,CAAC,aAAa,EAAE,UAAU,CAAC,UAAU,CAAC,CAAC;IAC7E,KAAK,MAAM,SAAS,IAAI,UAAU,EAAE,CAAC;QACnC,YAAY,CAAC,aAAa,EAAE,SAAS,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC;IAC5D,CAAC;AACH,CAAC;AAED,+DAA+D;AAC/D,SAAS,oBAAoB,CAAC,aAA4B;IACxD,IAAI,eAAe,CAAC,qBAAqB;QAAE,OAAO;IAElD,MAAM,CAAC,CAAC,CAAC,aAAa,CAAC,aAAa,CAAC,CAAC;IACtC,MAAM,KAAK,GAAG,aAAa,CAAC,aAAa,CAAC;IAC1C,KAAK,MAAM,EAAE,IAAI,KAAK,CAAC,aAAa,CAAC,MAAM,EAAE,CAAC;QAC5C,aAAa,CAAC,QAAQ,CAAC;YACrB,IAAI,EAAE,yBAAyB;YAC/B,EAAE;SACH,CAAC,CAAC;IACL,CAAC;AACH,CAAC;AAED,sDAAsD;AACtD,SAAS,iBAAiB,CAAC,aAA4B;IACrD,gEAAgE;IAChE,IAAI,CAAC,eAAe,CAAC,qBAAqB;QAAE,OAAO;IAEnD,MAAM,CAAC,CAAC,CAAC,aAAa,CAAC,aAAa,CAAC,CAAC;IACtC,MAAM,KAAK,GAAG,aAAa,CAAC,aAAa,CAAC;IAC1C,KAAK,MAAM,EAAE,IAAI,KAAK,CAAC,aAAa,CAAC,MAAM,EAAE,CAAC;QAC5C,aAAa,CAAC,yBAAyB,CAAC,EAAE,EAAE,SAAS,CAAC,CAAC;IACzD,CAAC;AACH,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,uBAAuB,CAAC,aAA4B;IAClE;QACE,kBAAkB,CAAC,IAAI;QACvB,kBAAkB,CAAC,KAAK;QACxB,kBAAkB,CAAC,GAAG;QACtB,kBAAkB,CAAC,MAAM;KAC1B,CAAC,OAAO,CAAC,CAAC,QAAQ,EAAE,EAAE,CACrB,CAAC,iBAAiB,CAAC,KAAK,EAAE,iBAAiB,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CACnE,yBAAyB,CAAC,aAAa,EAAE,QAAQ,EAAE,OAAO,CAAC,CAC5D,CACF,CAAC;IAEF,MAAM,sBAAsB,GAAG,mBAAmB,CAChD,aAAa,EACb,aAAa,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,SAAS,CACtE,CAAC;IACF,KAAK,MAAM,qBAAqB,IAAI,sBAAsB,EAAE,CAAC;QAC3D,aAAa,CAAC,QAAQ,CAAC;YACrB,IAAI,EAAE,8BAA8B;YACpC,EAAE,EAAE,qBAAqB,CAAC,EAAE;YAC5B,SAAS,EAAE,SAAS,CAAC,qBAAqB,CAAC;SAC5C,CAAC,CAAC;IACL,CAAC;AACH,CAAC;AAED,6DAA6D;AAC7D,SAAS,cAAc,CAAC,aAA4B;IAClD,MAAM,CAAC,CAAC,CAAC,aAAa,CAAC,aAAa,CAAC,CAAC;IACtC,MAAM,KAAK,GAAG,aAAa,CAAC,aAAa,CAAC;IAC1C,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IACvC,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;QACvB,MAAM,SAAS,GAAG,aAAa,CAAC,aAAa,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QACtD,IAAI,CAAC,SAAS;YAAE,SAAS;QAEzB,aAAa,CAAC,aAAa,EAAE,SAAS,CAAC,CAAC;IAC1C,CAAC;AACH,CAAC;AAED,4DAA4D;AAC5D,SAAS,aAAa,CAAC,aAA4B,EAAE,SAAoB;IACvE,IAAI,SAAS,CAAC,YAAY,KAAK,WAAW,CAAC,MAAM,EAAE,CAAC;QAClD,aAAa,CAAC,QAAQ,CAAC;YACrB,IAAI,EAAE,iBAAiB;YACvB,EAAE,EAAE,SAAS,CAAC,EAAE;SACjB,CAAC,CAAC;IACL,CAAC;IAED,IAAI,SAAS,CAAC,YAAY,KAAK,WAAW,CAAC,QAAQ,EAAE,CAAC;QACpD,aAAa,CAAC,QAAQ,CAAC;YACrB,IAAI,EAAE,mBAAmB;YACzB,EAAE,EAAE,SAAS,CAAC,EAAE;SACjB,CAAC,CAAC;IACL,CAAC;AACH,CAAC;AAED;;GAEG;AACH,SAAS,oBAAoB,CAAC,aAA4B;IACxD,MAAM,KAAK,GAAG,aAAa,CAAC,aAAa,CAAC;IAC1C,IAAI,CAAC,KAAK;QAAE,OAAO;IACnB,MAAM,iBAAiB,GAAG,KAAK,CAAC,YAAY,EAAE,KAAK,CAAC;IACpD,KAAK,MAAM,CAAC,EAAE,GAAG,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;QACjD,IAAI,GAAG,CAAC,EAAE,KAAK,iBAAiB;YAAE,SAAS;QAC3C,MAAM,SAAS,GAAG,aAAa,CAAC,aAAa,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QACtD,IAAI,SAAS;YAAE,SAAS;QACxB,aAAa,CAAC,QAAQ,CAAC;YACrB,IAAI,EAAE,mBAAmB;YACzB,EAAE,EAAE,GAAG,CAAC,EAAE;SACX,CAAC,CAAC;IACL,CAAC;AACH,CAAC;AAED,SAAS,cAAc,CAAC,KAAa;IACnC,OAAO,KAAK,KAAK,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC;AACzC,CAAC;AAMD,gBAAgB;AAChB,MAAM,UAAU,iBAAiB,CAC/B,QAA4B,EAC5B,OAA0B;IAE1B,OAAO,GAAG,kBAAkB,CAAC,QAAQ,CAAC,CAAC,WAAW,EAAE,GAClD,iBAAiB,CAAC,OAAO,CAC3B,EAAoB,CAAC;AACvB,CAAC;AAED,gBAAgB;AAChB,MAAM,UAAU,sBAAsB,CACpC,aAA4B,EAC5B,QAA4B,EAC5B,OAA0B;IAE1B,MAAM,UAAU,GAAG,aAAa,CAAC,gBAAgB,CAAC,QAAQ,CAAC,CAAC;IAC5D,MAAM,YAAY,GAAG,UAAU,EAAE,kBAAkB,CAAC,OAAO,CAAC,CAAC;IAC7D,OAAO,YAAY,EAAE,UAAU,IAAI,EAAE,CAAC;AACxC,CAAC;AAED,gBAAgB;AAChB,MAAM,UAAU,8BAA8B,CAC5C,cAAoC;IAKpC,IAAI,cAAc,CAAC,MAAM,KAAK,oBAAoB,CAAC,OAAO;QAAE,OAAO,IAAI,CAAC;IACxE,OAAO,KAAK,CAAC;AACf,CAAC;AAED,gBAAgB;AAChB,MAAM,UAAU,eAAe,CAC7B,aAA4B,EAC5B,QAA4B;IAE5B,MAAM,IAAI,GAAG,WAAW,CAAC,QAAQ,CAAC,CAAC;IAEnC,MAAM,QAAQ,GAAG,aAAa,CAAC,gBAAgB,CAAC,QAAQ,CAAC,CAAC;IAC1D,IAAI,CAAC,QAAQ;QAAE,OAAO;IAEtB,mDAAmD;IACnD,MAAM,IAAI,GAAG,QAAQ,CAAC,aAAa,EAAE,QAAQ,IAAI,QAAQ,CAAC,aAAa,EAAE,IAAI,CAAC;IAC9E,IAAI,KAAK,SAAS;QAChB,aAAa,CAAC,QAAQ,CAAC;YACrB,IAAI,EAAE,gBAAgB;YACtB,IAAI;YACJ,IAAI;SACL,CAAC,CAAC;IAEL,aAAa,CAAC,QAAQ,CAAC;QACrB,IAAI,EAAE,kBAAkB;QACxB,IAAI;QACJ,MAAM,EAAE,QAAQ,CAAC,aAAa;KAC/B,CAAC,CAAC;IAEH,aAAa,CAAC,QAAQ,CAAC;QACrB,IAAI,EAAE,qBAAqB;QAC3B,IAAI;QACJ,SAAS,EAAE,QAAQ,CAAC,gBAAgB;KACrC,CAAC,CAAC;IAEH,MAAM,OAAO,GACX,QAAQ,CAAC,aAAa,EAAE,WAAW,IAAI,QAAQ,CAAC,aAAa,EAAE,OAAO,CAAC,CAAC,8CAA8C;IACxH,OAAO,KAAK,SAAS;QACnB,aAAa,CAAC,QAAQ,CAAC;YACrB,IAAI,EAAE,oBAAoB;YAC1B,IAAI;YACJ,OAAO;SACR,CAAC,CAAC;IAEL,MAAM,OAAO,GACX,QAAQ,CAAC,aAAa,EAAE,WAAW,IAAI,QAAQ,CAAC,aAAa,EAAE,OAAO,CAAC,CAAC,8CAA8C;IACxH,OAAO,KAAK,SAAS;QACnB,aAAa,CAAC,QAAQ,CAAC;YACrB,IAAI,EAAE,oBAAoB;YAC1B,IAAI;YACJ,OAAO;SACR,CAAC,CAAC;IAEL,MAAM,SAAS,GAAG,QAAQ,CAAC,YAAY,KAAK,eAAe,CAAC,IAAI,CAAC;IACjE,aAAa,CAAC,QAAQ,CAAC;QACrB,IAAI,EAAE,qBAAqB;QAC3B,IAAI;QACJ,SAAS;KACV,CAAC,CAAC;AACL,CAAC;AAED,gBAAgB;AAChB,MAAM,CAAC,MAAM,YAAY,GAAG,EAAE,CAAC,CAAC,kFAAkF;AAElH,gBAAgB;AAChB,MAAM,UAAU,uBAAuB,CAAC,aAA4B;IAClE,aAAa,CAAC,KAAK,CAAC,GAAG,EAAE;QACvB,aAAa,CAAC,aAAa,GAAG,eAAe,CAAC;QAE9C,MAAM,IAAI,GAAG,yBAAyB,CAAC,YAAY,CAAC;QACpD,IAAI;YACF,aAAa,CAAC,QAAQ,CAAC;gBACrB,IAAI,EAAE,QAAQ;gBACd,IAAI;aACL,CAAC,CAAC;QAEL,uBAAuB,CAAC,aAAa,CAAC,CAAC;QAEvC,eAAe,CAAC,aAAa,EAAE,kBAAkB,CAAC,IAAI,CAAC,CAAC;QACxD,eAAe,CAAC,aAAa,EAAE,kBAAkB,CAAC,KAAK,CAAC,CAAC;QACzD,eAAe,CAAC,aAAa,EAAE,kBAAkB,CAAC,GAAG,CAAC,CAAC;QACvD,eAAe,CAAC,aAAa,EAAE,kBAAkB,CAAC,MAAM,CAAC,CAAC;IAC5D,CAAC,CAAC,CAAC;AACL,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,oBAAoB,CAClC,aAA4B,EAC5B,MAAqB;IAErB,aAAa,CAAC,KAAK,CAAC,GAAG,EAAE;QACvB,aAAa,CAAC,aAAa,GAAG,MAAM,CAAC;QAErC,KAAK,MAAM,CAAC,EAAE,GAAG,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC;YAClD,MAAM,SAAS,GAAG,aAAa,CAAC,aAAa,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YACtD,IAAI,CAAC,SAAS,EAAE,CAAC;gBACf,MAAM,CAAC,OAAO,CACZ,WAAW,CAAC,cAAc,CAAC,sBAAsB,CAAC,EAClD,uCAAuC,EACvC;oBACE,YAAY,EAAE,aAAa,CAAC,EAAE;oBAC9B,KAAK,EAAE,GAAG,CAAC,EAAE;iBACd,CACF,CAAC;gBACF,aAAa,CAAC,QAAQ,CAAC,EAAE,IAAI,EAAE,mBAAmB,EAAE,EAAE,EAAE,GAAG,CAAC,EAAE,EAAE,CAAC,CAAC;gBAClE,SAAS;YACX,CAAC;YAED,aAAa,CAAC,QAAQ,CAAC;gBACrB,IAAI,EAAE,mBAAmB;gBACzB,EAAE,EAAE,GAAG,CAAC,EAAE;gBACV,SAAS,EAAE,SAAS,CAAC,SAAS,CAAC;aAChC,CAAC,CAAC;QACL,CAAC;QAED,aAAa,CAAC,aAAa,GAAG,OAAO,CACnC,aAAa,CAAC,aAAa,EAC3B,CAAC,KAAK,EAAE,EAAE;YACR,sEAAsE;YACtE,MAAM,kBAAkB,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,CAC7D,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,KAAK,YAAY,CAClC,CAAC;YACF,IAAI,CAAC,CAAC,KAAK,kBAAkB,EAAE,CAAC;gBAC9B,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAC3D,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,KAAK,YAAY,CAClC,CAAC;gBACF,IAAI,SAAS,IAAI,KAAK,CAAC,OAAO,EAAE,CAAC;oBAC/B,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,EAAE,CAC5C,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CACrC,CAAC;gBACJ,CAAC;qBAAM,CAAC;oBACN,KAAK,CAAC,OAAO,CAAC,OAAO,GAAG,EAAE,GAAG,KAAK,CAAC,OAAO,CAAC,UAAU,EAAE,CAAC;oBACxD,OAAO,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC;gBAClC,CAAC;YACH,CAAC;YAED,MAAM,mBAAmB,GAAG,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,SAAS,CAC/D,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,KAAK,aAAa,CACnC,CAAC;YACF,IAAI,CAAC,CAAC,KAAK,mBAAmB,EAAE,CAAC;gBAC/B,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,GAAG,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAC7D,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,KAAK,aAAa,CACnC,CAAC;gBACF,IAAI,UAAU,IAAI,KAAK,CAAC,OAAO,EAAE,CAAC;oBAChC,KAAK,CAAC,OAAO,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,EAAE,CAC7C,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CACtC,CAAC;gBACJ,CAAC;qBAAM,CAAC;oBACN,KAAK,CAAC,OAAO,CAAC,QAAQ,GAAG,EAAE,GAAG,KAAK,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC;oBAC1D,OAAO,KAAK,CAAC,OAAO,CAAC,WAAW,CAAC;gBACnC,CAAC;YACH,CAAC;YAED,OAAO;QACT,CAAC,CACF,CAAC;QAEF,IACE,yBAAyB,CAAC,YAAY;YACtC,CAAC,CAAC,KAAK,yBAAyB,CAAC,YAAY,CAAC,MAAM;gBAClD,CAAC,KAAK,yBAAyB,CAAC,YAAY,CAAC,KAAK,CAAC,EACrD,CAAC;YACD,aAAa,CAAC,QAAQ,CAAC;gBACrB,IAAI,EAAE,QAAQ;gBACd,IAAI,EAAE;oBACJ,MAAM,EAAE,yBAAyB,CAAC,YAAY,CAAC,MAAM;oBACrD,KAAK,EAAE,yBAAyB,CAAC,YAAY,CAAC,KAAK;iBACpD;aACF,CAAC,CAAC;QACL,CAAC;QAED,uBAAuB,CAAC,aAAa,CAAC,CAAC;QACvC,cAAc,CAAC,aAAa,CAAC,CAAC;QAC9B,oBAAoB,CAAC,aAAa,CAAC,CAAC;IACtC,CAAC,CAAC,CAAC;AACL,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,iBAAiB,CAAC,KAAoB;IACpD,IAAI,MAAM,GAAG,KAAK,CAAC;IACnB,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,KAAK,EAAE,EAAE;QACjC,KAAK,MAAM,CAAC,EAAE,GAAG,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;YACjD,GAAG,CAAC,KAAK,GAAG,EAAE,CAAC;QACjB,CAAC;IACH,CAAC,CAAC,CAAC;IACH,OAAO,MAAM,CAAC;AAChB,CAAC;AAcD,gBAAgB;AAChB,MAAM,UAAU,uBAAuB,CAAC,aAA4B;IAClE,MAAM,cAAc,GAAG,wBAAwB,EAAE,CAAC;IAClD,MAAM,iBAAiB,GAAG,KAAK,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC;IACvD,MAAM,YAAY,GAAG,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IACzC,KAAK,CAAC,SAAS,CAAC,GAAG,EAAE;QACnB,YAAY,CAAC,OAAO,GAAG,IAAI,CAAC;QAC5B,OAAO,GAAG,EAAE;YACV,YAAY,CAAC,OAAO,GAAG,KAAK,CAAC;QAC/B,CAAC,CAAC;IACJ,CAAC,EAAE,EAAE,CAAC,CAAC;IACP,KAAK,CAAC,SAAS,CAAC,GAAG,EAAE;QACnB,iBAAiB,CAAC,OAAO,GAAG,cAAc,CAAC;IAC7C,CAAC,EAAE,CAAC,cAAc,CAAC,CAAC,CAAC;IACrB,KAAK,CAAC,SAAS,CAAC,GAAG,EAAE;QACnB,KAAK,UAAU,oBAAoB;YACjC,kDAAkD;YAClD,IAAI,aAAa,CAAC,aAAa,EAAE,CAAC;gBAChC,oBAAoB,CAAC,aAAa,CAAC,CAAC;gBACpC,iBAAiB,CAAC,aAAa,CAAC,CAAC;gBACjC,OAAO;YACT,CAAC;YAED,MAAM,EAAE,GAAG,aAAa,CAAC,EAAE,CAAC;YAC5B,MAAM,OAAO,GAAG,aAAa,CAAC,OAAO,CAAC;YACtC,MAAM,aAAa,GAAG,MAAM,iBAAiB,CAAC,OAAO,CAAC,UAAU,CAC9D,6BAA6B,EAC7B,6BAA6B,CAAC,EAAE,CAAC,CAClC,CAAC;YACF,IAAI,CAAC,YAAY,CAAC,OAAO;gBAAE,OAAO;YAElC,IAAI,8BAA8B,CAAC,aAAa,CAAC,EAAE,CAAC;gBAClD,MAAM,OAAO,GAAG,aAAa,CAAC,OAAO,CAAC;gBACtC,IACE,OAAO,CAAC,OAAO,KAAK,OAAO;oBAC3B,OAAO,CAAC,YAAY,KAAK,YAAY,EACrC,CAAC;oBACD,oBAAoB,CAAC,aAAa,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAC;oBACtD,OAAO;gBACT,CAAC;YACH,CAAC;YACD,uBAAuB,CAAC,aAAa,CAAC,CAAC;QACzC,CAAC;QACD,KAAK,oBAAoB,EAAE,CAAC;IAC9B,CAAC,EAAE,CAAC,aAAa,CAAC,CAAC,CAAC;AACtB,CAAC;AAED,gBAAgB;AAChB,MAAM,CAAC,MAAM,6BAA6B,GAAG,yBAAyB,CAAC;AAEvE,gBAAgB;AAChB,MAAM,UAAU,6BAA6B,CAC3C,YAA+C;IAE/C,OAAO,mBAAmB,YAAY,GAAG,CAAC;AAC5C,CAAC;AAED,gBAAgB;AAChB,MAAM,UAAU,oBAAoB,CAClC,aAA4B,EAC5B,0BAAoC;IAEpC,MAAM,EAAE,SAAS,EAAE,GAAG,cAAc,EAAE,CAAC;IACvC,MAAM,iBAAiB,GAAG,wBAAwB,EAAE,CAAC;IACrD,KAAK,CAAC,SAAS,CAAC,GAAG,EAAE;QACnB,OAAO,yBAAyB,CAAC,8BAA8B,CAAC,WAAW,CACzE,CAAC,IAAI,EAAE,EAAE;YACP,mIAAmI;YACnI,KAAK,iBAAiB,CAAC,aAAa,CAClC,6BAA6B,EAC7B,6BAA6B,CAAC,IAAI,CAAC,aAAa,CAAC,EAAE,CAAC,CACrD,CAAC;YACF,IAAI,aAAa,CAAC,EAAE,KAAK,IAAI,CAAC,aAAa,CAAC,EAAE,EAAE,CAAC;gBAC/C,uBAAuB,CAAC,aAAa,CAAC,CAAC;gBACvC,OAAO;YACT,CAAC;YAED,IAAI,CAAC,aAAa,CAAC,aAAa,GAAG,SAAS,CAAC;QAC/C,CAAC,CACF,CAAC;IACJ,CAAC,EAAE,CAAC,iBAAiB,EAAE,aAAa,CAAC,CAAC,CAAC;IAEvC,MAAM,YAAY,GAAG,SAAS,CAAC,4BAA4B,CAAC,CAAC;IAE7D,KAAK,CAAC,SAAS,CAAC,GAAG,EAAE;QACnB,MAAM,WAAW,GAAG,GAAG,EAAE;YACvB,MAAM,KAAK,GAAG,aAAa,CAAC,aAAa,CAAC;YAC1C,IAAI,CAAC,KAAK;gBAAE,OAAO;YACnB,MAAM,iBAAiB,GAAG,KAAK,CAAC,YAAY,EAAE,KAAK,CAAC;YACpD,IAAI,CAAC,iBAAiB;gBAAE,OAAO;YAE/B,MAAM,MAAM,GAAG,WAAW,CAAC,WAAW,CAAC,YAAY,CAAC;YACpD,MAAM,KAAK,GAAG,0BAA0B;gBACtC,CAAC,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,OAAO,IAAI,YAAY;gBACvD,CAAC,CAAC,YAAY,CAAC;YACjB,aAAa,CAAC,QAAQ,CAAC;gBACrB,IAAI,EAAE,sBAAsB;gBAC5B,EAAE,EAAE,iBAAiB;gBACrB,KAAK;aACN,CAAC,CAAC;QACL,CAAC,CAAC;QACF,mFAAmF;QACnF,WAAW,EAAE,CAAC;QAEd,MAAM,mBAAmB,GAAmB,EAAE,CAAC;QAC/C,4EAA4E;QAC5E,IAAI,0BAA0B,EAAE,CAAC;YAC/B,mBAAmB,CAAC,IAAI,CACtB,WAAW,CAAC,WAAW,CAAC,sBAAsB,CAAC,WAAW,CAAC,WAAW,CAAC,EACvE,yBAAyB,CAAC,8BAA8B,CAAC,WAAW,CAClE,WAAW,CACZ,EACD,WAAW,CAAC,WAAW,CAAC,oBAAoB,CAAC,WAAW,CAAC,WAAW,CAAC,EACrE,WAAW,CAAC,WAAW,CAAC,yBAAyB,CAAC,WAAW,CAC3D,WAAW,CACZ,CACF,CAAC;QACJ,CAAC;QACD,OAAO,GAAG,EAAE;YACV,mBAAmB,CAAC,OAAO,CAAC,CAAC,cAAc,EAAE,EAAE,CAAC,cAAc,EAAE,CAAC,CAAC;QACpE,CAAC,CAAC;IACJ,CAAC,EAAE,CAAC,aAAa,EAAE,0BAA0B,EAAE,YAAY,CAAC,CAAC,CAAC;AAChE,CAAC;AAED,SAAS,oBAAoB,CAAC,aAA4B;IACxD,6FAA6F;IAC7F,aAAa,CAAC,gBAAgB,EAAE,CAAC;IACjC,aAAa,CAAC,KAAK,CAAC,GAAG,EAAE;QACvB,uBAAuB,CAAC,aAAa,CAAC,CAAC;QACvC,oBAAoB,CAAC,aAAa,CAAC,CAAC;IACtC,CAAC,CAAC,CAAC;AACL,CAAC;AAED,gBAAgB;AAChB,MAAM,UAAU,eAAe,CAAC,aAA4B;IAC1D,KAAK,CAAC,SAAS,CAAC,GAAG,EAAE;QACnB,uBAAuB;QACvB,IAAI,CAAC,aAAa,CAAC,aAAa;YAAE,OAAO;QAEzC,wGAAwG;QACxG,oBAAoB,CAAC,aAAa,CAAC,CAAC;IACtC,CAAC,EAAE,CAAC,aAAa,CAAC,CAAC,CAAC;IACpB,KAAK,CAAC,SAAS,CAAC,GAAG,EAAE;QACnB,OAAO,cAAc,CAAC,2BAA2B,CAAC,WAAW,CAAC,GAAG,EAAE;YACjE,oBAAoB,CAAC,aAAa,CAAC,CAAC;QACtC,CAAC,CAAC,CAAC;IACL,CAAC,EAAE,CAAC,aAAa,CAAC,CAAC,CAAC;AACtB,CAAC;AAED,SAAS,mBAAmB,CAC1B,aAA4B,EAC5B,IAAsC;IAEtC,MAAM,KAAK,GAAG,aAAa,CAAC,aAAa,CAAC;IAC1C,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;IAChB,IAAI,GAAG,IAAI,IAAI,EAAE,CAAC;IAClB,MAAM,UAAU,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE;QACnD,OAAO,KAAK,KAAK,KAAK,CAAC,SAAS,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,GAAG,CAAC,EAAE,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC;IACjE,CAAC,CAAC,CAAC;IACH,OAAO,UAAU,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,IAAI,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC;AAC7D,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 Frontstage\n */\n\nimport { ToolbarPopupAutoHideContext } from \"@itwin/components-react\";\nimport { assert, Logger, ProcessDetector } from \"@itwin/core-bentley\";\nimport { IModelApp } from \"@itwin/core-frontend\";\nimport { produce } from \"immer\";\nimport * as React from \"react\";\nimport { unstable_batchedUpdates } from \"react-dom\";\nimport type { FrontstageDef } from \"../frontstage/FrontstageDef.js\";\nimport { useActiveFrontstageDef } from \"../frontstage/FrontstageDef.js\";\nimport { InternalFrontstageManager } from \"../frontstage/InternalFrontstageManager.js\";\nimport { useEscapeSetFocusToHome } from \"../hooks/useEscapeSetFocusToHome.js\";\nimport { useUiVisibility } from \"../hooks/useUiVisibility.js\";\nimport { createLayoutStore } from \"../layout/base/LayoutStore.js\";\nimport type {\n NineZoneDispatch,\n NineZoneLabels,\n} from \"../layout/base/NineZone.js\";\nimport { getUniqueId, NineZone } from \"../layout/base/NineZone.js\";\nimport type { NineZoneState } from \"../layout/state/NineZoneState.js\";\nimport { createNineZoneState } from \"../layout/state/NineZoneState.js\";\nimport { NineZoneStateReducer } from \"../layout/state/NineZoneStateReducer.js\";\nimport { getWidgetPanelSectionId } from \"../layout/state/PanelState.js\";\nimport type { TabState } from \"../layout/state/TabState.js\";\nimport { FloatingWidgets } from \"../layout/widget/FloatingWidgets.js\";\nimport { PreviewHorizontalPanelAlignFeatureProvider } from \"../preview/horizontal-panel-alignment/PreviewHorizontalPanelAlign.js\";\nimport { usePreviewFeatures } from \"../preview/PreviewFeatures.js\";\nimport { toPanelSide } from \"../stagepanels/StagePanelDef.js\";\nimport { StagePanelLocation } from \"../stagepanels/StagePanelLocation.js\";\nimport { StagePanelSection } from \"../stagepanels/StagePanelSection.js\";\nimport { StagePanelState } from \"../stagepanels/StagePanelState.js\";\nimport { UiItemsManager } from \"../ui-items-provider/UiItemsManager.js\";\nimport { UiFramework } from \"../UiFramework.js\";\nimport { useUiStateStorageHandler } from \"../uistate/useUiStateStorage.js\";\nimport type { WidgetDef } from \"../widgets/WidgetDef.js\";\nimport { WidgetState } from \"../widgets/WidgetState.js\";\nimport { WidgetContent } from \"./Content.js\";\nimport { FloatingWidget } from \"./FloatingWidget.js\";\nimport \"./Frontstage.scss\";\nimport { WidgetPanelsFrontstageContent } from \"./FrontstageContent.js\";\nimport {\n ModalFrontstageComposer,\n useActiveModalFrontstageInfo,\n} from \"./ModalFrontstageComposer.js\";\nimport { WidgetPanelsStatusBar } from \"./StatusBar.js\";\nimport { WidgetPanelsTab } from \"./Tab.js\";\nimport { WidgetPanelsToolbars } from \"./Toolbars.js\";\nimport {\n ToolSettingsContent,\n WidgetPanelsToolSettings,\n} from \"./ToolSettings.js\";\nimport { MaximizedWidgetProvider } from \"../preview/enable-maximized-widget/MaximizedWidget.js\";\nimport { StandardLayout } from \"../layout/StandardLayout.js\";\nimport { WidgetPanelProvider } from \"../layout/widget-panels/Panel.js\";\nimport { WidgetContentRenderers } from \"../layout/widget/ContentRenderer.js\";\nimport { useCursor } from \"../layout/widget-panels/CursorOverlay.js\";\nimport { WidgetPanelExpanders } from \"../layout/widget-panels/Expander.js\";\nimport { useTranslation } from \"../hooks/useTranslation.js\";\nimport { PopoutWidgets } from \"../preview/reparent-popout-widgets/PopoutWidgets.js\";\nimport { useReduxFrameworkState } from \"../uistate/useReduxFrameworkState.js\";\nimport { ConfigurableUiContext } from \"../configurableui/ConfigurableUiContent.js\";\nimport { useSaveFrontstageSettings } from \"./useSaveFrontstageSettings.js\";\nimport type { UiStateStorageResult } from \"../uistate/UiStateStorage.js\";\nimport { UiStateStorageStatus } from \"../uistate/UiStateStorage.js\";\n\nfunction WidgetPanelsFrontstageComponent() {\n const activeModalFrontstageInfo = useActiveModalFrontstageInfo();\n const uiIsVisible = useUiVisibility();\n const previewFeatures = usePreviewFeatures();\n useCursor();\n\n return (\n <MaximizedWidgetProvider>\n <PreviewHorizontalPanelAlignFeatureProvider\n enabled={previewFeatures.horizontalPanelAlignment}\n >\n <ToolbarPopupAutoHideContext.Provider value={!uiIsVisible}>\n <ModalFrontstageComposer stageInfo={activeModalFrontstageInfo} />\n <StandardLayout\n centerContent={\n <>\n <WidgetPanelsToolbars />\n <WidgetPanelExpanders />\n </>\n }\n toolSettings={<WidgetPanelsToolSettings />}\n statusBar={<WidgetPanelsStatusBar />}\n topPanel={<WidgetPanelProvider side=\"top\" />}\n leftPanel={<WidgetPanelProvider side=\"left\" />}\n rightPanel={<WidgetPanelProvider side=\"right\" />}\n bottomPanel={<WidgetPanelProvider side=\"bottom\" />}\n >\n <WidgetPanelsFrontstageContent />\n </StandardLayout>\n <WidgetContentRenderers />\n <FloatingWidgets />\n <PopoutWidgets />\n </ToolbarPopupAutoHideContext.Provider>\n </PreviewHorizontalPanelAlignFeatureProvider>\n </MaximizedWidgetProvider>\n );\n}\n\nconst widgetContent = <WidgetContent />;\nconst toolSettingsContent = <ToolSettingsContent />;\nconst widgetPanelsFrontstage = <WidgetPanelsFrontstageComponent />;\n\n/** @internal */\nexport function useLayoutStore(frontstageDef: FrontstageDef | undefined) {\n const layoutStore = React.useMemo(\n () => createLayoutStore(frontstageDef?.nineZoneState),\n [frontstageDef]\n );\n React.useEffect(() => {\n return InternalFrontstageManager.onFrontstageNineZoneStateChangedEvent.addListener(\n (args) => {\n if (args.frontstageDef !== frontstageDef) return;\n unstable_batchedUpdates(() => {\n // https://github.com/pmndrs/zustand/blob/main/docs/guides/event-handler-in-pre-react-18.md\n layoutStore.setState(args.state || defaultNineZone);\n });\n }\n );\n }, [frontstageDef, layoutStore]);\n return layoutStore;\n}\n\n/** Update in-memory NineZoneState of newly activated frontstage with up to date size.\n * @internal\n */\nexport function useUpdateNineZoneSize(frontstageDef: FrontstageDef) {\n React.useEffect(() => {\n const size = InternalFrontstageManager.nineZoneSize;\n if (!size) return;\n frontstageDef.dispatch({\n type: \"RESIZE\",\n size: {\n height: size.height,\n width: size.width,\n },\n });\n }, [frontstageDef]);\n}\n\nconst log =\n (reducer: typeof NineZoneStateReducer): typeof NineZoneStateReducer =>\n (state, action) => {\n Logger.logTrace(\"appui-react:reducer\", `action ${action.type}`, () => ({\n action,\n state,\n }));\n return reducer(state, action);\n };\n\n/** @internal */\nexport function useNineZoneDispatch(frontstageDef: FrontstageDef) {\n const reducer = React.useMemo(() => {\n return log(NineZoneStateReducer);\n }, []);\n\n return React.useCallback<NineZoneDispatch>(\n (action) => {\n if (action.type === \"RESIZE\") {\n InternalFrontstageManager.nineZoneSize = {\n width: action.size.width,\n height: action.size.height,\n };\n }\n\n const state = frontstageDef.nineZoneState;\n if (!state) return;\n frontstageDef.nineZoneState = reducer(state, action);\n },\n [frontstageDef, reducer]\n );\n}\n\n/** @internal */\nexport function WidgetPanelsFrontstage() {\n const frontstageDef = useActiveFrontstageDef();\n\n React.useEffect(() => {\n const triggerWidowCloseProcessing = () => {\n frontstageDef && frontstageDef.setIsApplicationClosing(true);\n };\n window.addEventListener(\"unload\", triggerWidowCloseProcessing);\n return () => {\n window.removeEventListener(\"unload\", triggerWidowCloseProcessing);\n };\n }, [frontstageDef]);\n\n if (!frontstageDef) return null;\n return <ActiveFrontstageDefProvider frontstageDef={frontstageDef} />;\n}\n\nconst defaultNineZone = createNineZoneState();\nconst tabElement = <WidgetPanelsTab />;\nconst floatingWidgetElement = <FloatingWidget />;\n\ninterface ActiveFrontstageDefProviderProps {\n frontstageDef: FrontstageDef;\n}\n\n/** @internal */\nexport function ActiveFrontstageDefProvider({\n frontstageDef,\n}: ActiveFrontstageDefProviderProps) {\n const configurableUi = React.useContext(ConfigurableUiContext);\n const dispatch = useNineZoneDispatch(frontstageDef);\n frontstageDef.dispatch = dispatch;\n const layout = useLayoutStore(frontstageDef);\n useUpdateNineZoneSize(frontstageDef);\n useSavedFrontstageState(frontstageDef);\n useSaveFrontstageSettings(frontstageDef, layout);\n useItemsManager(frontstageDef);\n const labels = useLabels();\n const uiIsVisible = useUiVisibility();\n const reduxToolAsToolSettingsLabel = useReduxFrameworkState(\n // eslint-disable-next-line deprecation/deprecation\n (state) => state?.configurableUiState.useToolAsToolSettingsLabel\n );\n const reduxShowWidgetIcon = useReduxFrameworkState(\n // eslint-disable-next-line deprecation/deprecation\n (state) => state?.configurableUiState.showWidgetIcon\n );\n const reduxAutoCollapseUnpinnedPanels = useReduxFrameworkState(\n // eslint-disable-next-line deprecation/deprecation\n (state) => state?.configurableUiState.autoCollapseUnpinnedPanels\n );\n const reduxAnimateToolSettings = useReduxFrameworkState(\n // eslint-disable-next-line deprecation/deprecation\n (state) => state?.configurableUiState.autoCollapseUnpinnedPanels\n );\n const showWidgetIcon =\n configurableUi.widgetIcon ?? reduxShowWidgetIcon ?? true;\n const autoCollapseUnpinnedPanels =\n configurableUi.collapsePanels ?? reduxAutoCollapseUnpinnedPanels ?? false;\n const animateToolSettings =\n configurableUi.animateToolSettings ?? reduxAnimateToolSettings ?? false;\n const useToolAsToolSettingsLabel =\n configurableUi.toolAsToolSettingsLabel ??\n reduxToolAsToolSettingsLabel ??\n false;\n\n useFrontstageManager(frontstageDef, useToolAsToolSettingsLabel);\n\n const handleKeyDown = useEscapeSetFocusToHome();\n\n return (\n <div\n className=\"uifw-widgetPanels-frontstage\"\n onKeyDown={handleKeyDown}\n role=\"presentation\"\n >\n <NineZone\n dispatch={dispatch}\n labels={labels}\n layout={layout}\n tab={tabElement}\n floatingWidget={floatingWidgetElement}\n showWidgetIcon={showWidgetIcon}\n autoCollapseUnpinnedPanels={autoCollapseUnpinnedPanels}\n toolSettingsContent={toolSettingsContent}\n widgetContent={widgetContent}\n animateDockedToolSettings={animateToolSettings}\n uiIsVisible={uiIsVisible}\n >\n {widgetPanelsFrontstage}\n </NineZone>\n </div>\n );\n}\n\n/** @internal */\nexport function useLabels(): NineZoneLabels {\n const { translate } = useTranslation();\n\n return {\n dockToolSettingsTitle: translate(\"widget.tooltips.dockToolSettings\"),\n moreWidgetsTitle: translate(\"widget.tooltips.moreWidgets\"),\n moreToolSettingsTitle: translate(\"widget.tooltips.moreToolSettings\"),\n pinPanelTitle: translate(\"widget.tooltips.pinPanel\"),\n resizeGripTitle: translate(\"widget.tooltips.resizeGrip\"),\n sendWidgetHomeTitle: translate(\"widget.tooltips.sendHome\"),\n toolSettingsHandleTitle: translate(\"widget.tooltips.toolSettingsHandle\"),\n unpinPanelTitle: translate(\"widget.tooltips.unpinPanel\"),\n popoutActiveTab: translate(\"widget.tooltips.popoutActiveTab\"),\n };\n}\n\nfunction toTabArgs(widget: WidgetDef) {\n const label = getWidgetLabel(widget.label);\n const args = {\n allowedPanelTargets: widget.allowedPanelTargets?.map((location) =>\n toPanelSide(location)\n ),\n hideWithUiWhenFloating: !!widget.hideWithUiWhenFloating,\n canPopout: widget.canPopout,\n isFloatingWidgetResizable: widget.isFloatingStateWindowResizable,\n label,\n preferredFloatingWidgetSize: widget.defaultFloatingSize,\n preferredPanelWidgetSize: widget.preferredPanelSize,\n };\n return args satisfies Pick<TabState, keyof typeof args>;\n}\n\nfunction addWidgetDef(\n frontstageDef: FrontstageDef,\n widgetDef: WidgetDef,\n location: StagePanelLocation,\n section: StagePanelSection\n) {\n const side = toPanelSide(location);\n\n const isFloatingWidget =\n widgetDef.isFloatingStateSupported &&\n widgetDef.defaultState === WidgetState.Floating;\n const floatingWidgetId = widgetDef.floatingContainerId\n ? widgetDef.floatingContainerId\n : getUniqueId();\n const userSized = !!widgetDef.defaultFloatingSize;\n\n frontstageDef.dispatch({\n type: \"WIDGET_DEF_ADD\",\n id: widgetDef.id,\n overrides: {\n ...toTabArgs(widgetDef),\n userSized,\n },\n location: isFloatingWidget ? \"floating\" : \"panel\",\n floatingWidget: {\n id: floatingWidgetId,\n preferredPosition: widgetDef.defaultFloatingPosition,\n },\n panelSection: {\n id: getWidgetPanelSectionId(side, section),\n side,\n index: section,\n },\n });\n\n // Hide widget if `defaultState` is `Hidden` or `Unloaded`.\n hideWidgetDef(frontstageDef, widgetDef);\n}\n\n/** Adds missing widgets to the layout.\n * @internal\n */\nexport function addPanelSectionWidgetDefs(\n frontstageDef: FrontstageDef,\n location: StagePanelLocation,\n section: StagePanelSection\n) {\n const panelDef = frontstageDef.getStagePanelDef(location);\n if (!panelDef) return;\n const sectionDef = panelDef.getPanelSectionDef(section);\n const widgetDefs = determineNewWidgets(frontstageDef, sectionDef.widgetDefs);\n for (const widgetDef of widgetDefs) {\n addWidgetDef(frontstageDef, widgetDef, location, section);\n }\n}\n\n/** Sends back popout widgets if app is not an electron app. */\nfunction processPopoutWidgets(frontstageDef: FrontstageDef) {\n if (ProcessDetector.isElectronAppFrontend) return;\n\n assert(!!frontstageDef.nineZoneState);\n const state = frontstageDef.nineZoneState;\n for (const id of state.popoutWidgets.allIds) {\n frontstageDef.dispatch({\n type: \"POPOUT_WIDGET_SEND_BACK\",\n id,\n });\n }\n}\n\n/** Opens popout widgets if app is an electron app. */\nfunction openPopoutWidgets(frontstageDef: FrontstageDef) {\n // Only electron can reopen popout windows w/o user interaction.\n if (!ProcessDetector.isElectronAppFrontend) return;\n\n assert(!!frontstageDef.nineZoneState);\n const state = frontstageDef.nineZoneState;\n for (const id of state.popoutWidgets.allIds) {\n frontstageDef.openPopoutWidgetContainer(id, undefined);\n }\n}\n\n/** Adds frontstageDef widgets that are missing in NineZoneState.\n * @internal\n */\nexport function addFrontstageWidgetDefs(frontstageDef: FrontstageDef) {\n [\n StagePanelLocation.Left,\n StagePanelLocation.Right,\n StagePanelLocation.Top,\n StagePanelLocation.Bottom,\n ].forEach((location) =>\n [StagePanelSection.Start, StagePanelSection.End].forEach((section) =>\n addPanelSectionWidgetDefs(frontstageDef, location, section)\n )\n );\n\n const toolSettingsWidgetDefs = determineNewWidgets(\n frontstageDef,\n frontstageDef.toolSettings ? [frontstageDef.toolSettings] : undefined\n );\n for (const toolSettingsWidgetDef of toolSettingsWidgetDefs) {\n frontstageDef.dispatch({\n type: \"WIDGET_DEF_ADD_TOOL_SETTINGS\",\n id: toolSettingsWidgetDef.id,\n overrides: toTabArgs(toolSettingsWidgetDef),\n });\n }\n}\n\n/** Hide widgets with `Hidden` or `Unloaded` defaultState. */\nfunction hideWidgetDefs(frontstageDef: FrontstageDef) {\n assert(!!frontstageDef.nineZoneState);\n const state = frontstageDef.nineZoneState;\n const tabs = Object.values(state.tabs);\n for (const tab of tabs) {\n const widgetDef = frontstageDef.findWidgetDef(tab.id);\n if (!widgetDef) continue;\n\n hideWidgetDef(frontstageDef, widgetDef);\n }\n}\n\n/** Hide widget with `Hidden` or `Unloaded` defaultState. */\nfunction hideWidgetDef(frontstageDef: FrontstageDef, widgetDef: WidgetDef) {\n if (widgetDef.defaultState === WidgetState.Hidden) {\n frontstageDef.dispatch({\n type: \"WIDGET_TAB_HIDE\",\n id: widgetDef.id,\n });\n }\n\n if (widgetDef.defaultState === WidgetState.Unloaded) {\n frontstageDef.dispatch({\n type: \"WIDGET_TAB_UNLOAD\",\n id: widgetDef.id,\n });\n }\n}\n\n/** Removes NineZoneState widgets that are missing in frontstageDef.\n * @internal\n */\nfunction removeMissingWidgets(frontstageDef: FrontstageDef) {\n const state = frontstageDef.nineZoneState;\n if (!state) return;\n const toolSettingsTabId = state.toolSettings?.tabId;\n for (const [, tab] of Object.entries(state.tabs)) {\n if (tab.id === toolSettingsTabId) continue;\n const widgetDef = frontstageDef.findWidgetDef(tab.id);\n if (widgetDef) continue;\n frontstageDef.dispatch({\n type: \"WIDGET_TAB_REMOVE\",\n id: tab.id,\n });\n }\n}\n\nfunction getWidgetLabel(label: string) {\n return label === \"\" ? \"Widget\" : label;\n}\n\ntype PanelSectionId = `${Lowercase<\n keyof typeof StagePanelLocation\n>}${keyof typeof StagePanelSection}`;\n\n/** @internal */\nexport function getPanelSectionId(\n location: StagePanelLocation,\n section: StagePanelSection\n): PanelSectionId {\n return `${StagePanelLocation[location].toLowerCase()}${\n StagePanelSection[section]\n }` as PanelSectionId;\n}\n\n/** @internal */\nexport function getPanelSectionWidgets(\n frontstageDef: FrontstageDef,\n location: StagePanelLocation,\n section: StagePanelSection\n): ReadonlyArray<WidgetDef> {\n const stagePanel = frontstageDef.getStagePanelDef(location);\n const panelSection = stagePanel?.getPanelSectionDef(section);\n return panelSection?.widgetDefs || [];\n}\n\n/** @internal */\nexport function isFrontstageStateSettingResult(\n settingsResult: UiStateStorageResult\n): settingsResult is {\n status: typeof UiStateStorageStatus.Success;\n setting: WidgetPanelsFrontstageState;\n} {\n if (settingsResult.status === UiStateStorageStatus.Success) return true;\n return false;\n}\n\n/** @internal */\nexport function initializePanel(\n frontstageDef: FrontstageDef,\n location: StagePanelLocation\n) {\n const side = toPanelSide(location);\n\n const panelDef = frontstageDef.getStagePanelDef(location);\n if (!panelDef) return;\n\n // eslint-disable-next-line deprecation/deprecation\n const size = panelDef.initialConfig?.sizeSpec ?? panelDef.initialConfig?.size;\n size !== undefined &&\n frontstageDef.dispatch({\n type: \"PANEL_SET_SIZE\",\n side,\n size,\n });\n\n frontstageDef.dispatch({\n type: \"PANEL_SET_PINNED\",\n side,\n pinned: panelDef.defaultPinned,\n });\n\n frontstageDef.dispatch({\n type: \"PANEL_SET_RESIZABLE\",\n side,\n resizable: panelDef.defaultResizable,\n });\n\n const minSize =\n panelDef.initialConfig?.minSizeSpec ?? panelDef.initialConfig?.minSize; // eslint-disable-line deprecation/deprecation\n minSize !== undefined &&\n frontstageDef.dispatch({\n type: \"PANEL_SET_MIN_SIZE\",\n side,\n minSize,\n });\n\n const maxSize =\n panelDef.initialConfig?.maxSizeSpec ?? panelDef.initialConfig?.maxSize; // eslint-disable-line deprecation/deprecation\n maxSize !== undefined &&\n frontstageDef.dispatch({\n type: \"PANEL_SET_MAX_SIZE\",\n side,\n maxSize,\n });\n\n const collapsed = panelDef.defaultState !== StagePanelState.Open;\n frontstageDef.dispatch({\n type: \"PANEL_SET_COLLAPSED\",\n side,\n collapsed,\n });\n}\n\n/** @internal */\nexport const stateVersion = 20; // this needs to be bumped when NineZoneState is changed (to recreate the layout).\n\n/** @internal */\nexport function initializeNineZoneState(frontstageDef: FrontstageDef) {\n frontstageDef.batch(() => {\n frontstageDef.nineZoneState = defaultNineZone;\n\n const size = InternalFrontstageManager.nineZoneSize;\n size &&\n frontstageDef.dispatch({\n type: \"RESIZE\",\n size,\n });\n\n addFrontstageWidgetDefs(frontstageDef);\n\n initializePanel(frontstageDef, StagePanelLocation.Left);\n initializePanel(frontstageDef, StagePanelLocation.Right);\n initializePanel(frontstageDef, StagePanelLocation.Top);\n initializePanel(frontstageDef, StagePanelLocation.Bottom);\n });\n}\n\n/** Converts from saved NineZoneState to NineZoneState.\n * @note Restores toolSettings tab.\n * @note Restores tab labels.\n * @internal\n */\nexport function restoreNineZoneState(\n frontstageDef: FrontstageDef,\n packed: NineZoneState\n) {\n frontstageDef.batch(() => {\n frontstageDef.nineZoneState = packed;\n\n for (const [, tab] of Object.entries(packed.tabs)) {\n const widgetDef = frontstageDef.findWidgetDef(tab.id);\n if (!widgetDef) {\n Logger.logInfo(\n UiFramework.loggerCategory(\"restoreNineZoneState\"),\n \"WidgetDef is not found for saved tab.\",\n {\n frontstageId: frontstageDef.id,\n tabId: tab.id,\n }\n );\n frontstageDef.dispatch({ type: \"WIDGET_TAB_REMOVE\", id: tab.id });\n continue;\n }\n\n frontstageDef.dispatch({\n type: \"WIDGET_TAB_UPDATE\",\n id: tab.id,\n overrides: toTabArgs(widgetDef),\n });\n }\n\n frontstageDef.nineZoneState = produce(\n frontstageDef.nineZoneState,\n (draft) => {\n // remove center panel section if one is found in left or right panels\n const oldLeftMiddleIndex = packed.panels.left.widgets.findIndex(\n (value) => value === \"leftMiddle\"\n );\n if (-1 !== oldLeftMiddleIndex) {\n draft.panels.left.widgets = packed.panels.left.widgets.filter(\n (value) => value !== \"leftMiddle\"\n );\n if (\"leftEnd\" in draft.widgets) {\n draft.widgets.leftMiddle.tabs.forEach((tab) =>\n draft.widgets.leftEnd.tabs.push(tab)\n );\n } else {\n draft.widgets.leftEnd = { ...draft.widgets.leftMiddle };\n delete draft.widgets.leftMiddle;\n }\n }\n\n const oldRightMiddleIndex = packed.panels.right.widgets.findIndex(\n (value) => value === \"rightMiddle\"\n );\n if (-1 !== oldRightMiddleIndex) {\n draft.panels.right.widgets = packed.panels.right.widgets.filter(\n (value) => value !== \"rightMiddle\"\n );\n if (\"rightEnd\" in draft.widgets) {\n draft.widgets.rightMiddle.tabs.forEach((tab) =>\n draft.widgets.rightEnd.tabs.push(tab)\n );\n } else {\n draft.widgets.rightEnd = { ...draft.widgets.rightMiddle };\n delete draft.widgets.rightMiddle;\n }\n }\n\n return;\n }\n );\n\n if (\n InternalFrontstageManager.nineZoneSize &&\n (0 !== InternalFrontstageManager.nineZoneSize.height ||\n 0 !== InternalFrontstageManager.nineZoneSize.width)\n ) {\n frontstageDef.dispatch({\n type: \"RESIZE\",\n size: {\n height: InternalFrontstageManager.nineZoneSize.height,\n width: InternalFrontstageManager.nineZoneSize.width,\n },\n });\n }\n\n addFrontstageWidgetDefs(frontstageDef);\n hideWidgetDefs(frontstageDef);\n processPopoutWidgets(frontstageDef);\n });\n}\n\n/** Prepares NineZoneState to be saved.\n * @note Removes toolSettings tab.\n * @note Removes tab labels and iconSpec.\n * @internal\n */\nexport function packNineZoneState(state: NineZoneState): NineZoneState {\n let packed = state;\n packed = produce(packed, (draft) => {\n for (const [, tab] of Object.entries(draft.tabs)) {\n tab.label = \"\";\n }\n });\n return packed;\n}\n\n/** FrontstageState is saved in UiStateStorage.\n * @internal\n */\nexport interface WidgetPanelsFrontstageState {\n nineZone: NineZoneState;\n id: FrontstageDef[\"id\"];\n /** Frontstage version used to create the frontstage state. Allows to invalidate the layout from the frontstage. */\n version: number;\n /** Platform provided frontstage version. Allows to invalidate the layout from the platform. */\n stateVersion: number;\n}\n\n/** @internal */\nexport function useSavedFrontstageState(frontstageDef: FrontstageDef) {\n const uiStateStorage = useUiStateStorageHandler();\n const uiStateStorageRef = React.useRef(uiStateStorage);\n const isMountedRef = React.useRef(false);\n React.useEffect(() => {\n isMountedRef.current = true;\n return () => {\n isMountedRef.current = false;\n };\n }, []);\n React.useEffect(() => {\n uiStateStorageRef.current = uiStateStorage;\n }, [uiStateStorage]);\n React.useEffect(() => {\n async function fetchFrontstageState() {\n // Switching to previously initialized frontstage.\n if (frontstageDef.nineZoneState) {\n processPopoutWidgets(frontstageDef);\n openPopoutWidgets(frontstageDef);\n return;\n }\n\n const id = frontstageDef.id;\n const version = frontstageDef.version;\n const settingResult = await uiStateStorageRef.current.getSetting(\n FRONTSTAGE_SETTINGS_NAMESPACE,\n getFrontstageStateSettingName(id)\n );\n if (!isMountedRef.current) return;\n\n if (isFrontstageStateSettingResult(settingResult)) {\n const setting = settingResult.setting;\n if (\n setting.version === version &&\n setting.stateVersion === stateVersion\n ) {\n restoreNineZoneState(frontstageDef, setting.nineZone);\n return;\n }\n }\n initializeNineZoneState(frontstageDef);\n }\n void fetchFrontstageState();\n }, [frontstageDef]);\n}\n\n/** @internal */\nexport const FRONTSTAGE_SETTINGS_NAMESPACE = \"uifw-frontstageSettings\";\n\n/** @internal */\nexport function getFrontstageStateSettingName(\n frontstageId: WidgetPanelsFrontstageState[\"id\"]\n) {\n return `frontstageState[${frontstageId}]`;\n}\n\n/** @internal */\nexport function useFrontstageManager(\n frontstageDef: FrontstageDef,\n useToolAsToolSettingsLabel?: boolean\n) {\n const { translate } = useTranslation();\n const uiSettingsStorage = useUiStateStorageHandler();\n React.useEffect(() => {\n return InternalFrontstageManager.onFrontstageRestoreLayoutEvent.addListener(\n (args) => {\n // TODO: track restoring frontstages to support workflows: i.e. prevent loading frontstage OR saving layout when delete is pending\n void uiSettingsStorage.deleteSetting(\n FRONTSTAGE_SETTINGS_NAMESPACE,\n getFrontstageStateSettingName(args.frontstageDef.id)\n );\n if (frontstageDef.id === args.frontstageDef.id) {\n initializeNineZoneState(frontstageDef);\n return;\n }\n\n args.frontstageDef.nineZoneState = undefined;\n }\n );\n }, [uiSettingsStorage, frontstageDef]);\n\n const defaultLabel = translate(\"widget.labels.toolSettings\");\n\n React.useEffect(() => {\n const updateLabel = () => {\n const state = frontstageDef.nineZoneState;\n if (!state) return;\n const toolSettingsTabId = state.toolSettings?.tabId;\n if (!toolSettingsTabId) return;\n\n const toolId = UiFramework.frontstages.activeToolId;\n const label = useToolAsToolSettingsLabel\n ? IModelApp.tools.find(toolId)?.flyover || defaultLabel\n : defaultLabel;\n frontstageDef.dispatch({\n type: \"WIDGET_TAB_SET_LABEL\",\n id: toolSettingsTabId,\n label,\n });\n };\n // Whenever the frontstageDef or the useTool... changes, keep the label up to date.\n updateLabel();\n\n const removeListenerFuncs: (() => void)[] = [];\n // If useTool... is true, listen for events to keep up the label up to date.\n if (useToolAsToolSettingsLabel) {\n removeListenerFuncs.push(\n UiFramework.frontstages.onFrontstageReadyEvent.addListener(updateLabel),\n InternalFrontstageManager.onFrontstageRestoreLayoutEvent.addListener(\n updateLabel\n ),\n UiFramework.frontstages.onToolActivatedEvent.addListener(updateLabel),\n UiFramework.frontstages.onToolSettingsReloadEvent.addListener(\n updateLabel\n )\n );\n }\n return () => {\n removeListenerFuncs.forEach((removeListener) => removeListener());\n };\n }, [frontstageDef, useToolAsToolSettingsLabel, defaultLabel]);\n}\n\nfunction refreshNineZoneState(frontstageDef: FrontstageDef) {\n // Fired for both registered/unregistered. Update definitions and remove/add missing widgets.\n frontstageDef.updateWidgetDefs();\n frontstageDef.batch(() => {\n addFrontstageWidgetDefs(frontstageDef);\n removeMissingWidgets(frontstageDef);\n });\n}\n\n/** @internal */\nexport function useItemsManager(frontstageDef: FrontstageDef) {\n React.useEffect(() => {\n // Not initialized yet.\n if (!frontstageDef.nineZoneState) return;\n\n // Need to refresh because UiItemsProvider may have added something while another frontstage was active.\n refreshNineZoneState(frontstageDef);\n }, [frontstageDef]);\n React.useEffect(() => {\n return UiItemsManager.onUiProviderRegisteredEvent.addListener(() => {\n refreshNineZoneState(frontstageDef);\n });\n }, [frontstageDef]);\n}\n\nfunction determineNewWidgets(\n frontstageDef: FrontstageDef,\n defs: readonly WidgetDef[] | undefined\n) {\n const state = frontstageDef.nineZoneState;\n assert(!!state);\n defs = defs || [];\n const uniqueDefs = defs.filter((def, index, array) => {\n return index === array.findIndex((def1) => def.id === def1.id);\n });\n return uniqueDefs.filter((def) => !(def.id in state.tabs));\n}\n"]}
|
|
1
|
+
{"version":3,"file":"Frontstage.js","sourceRoot":"","sources":["../../../src/appui-react/widget-panels/Frontstage.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 Frontstage\n */\n\nimport { ToolbarPopupAutoHideContext } from \"@itwin/components-react\";\nimport { assert, Logger, ProcessDetector } from \"@itwin/core-bentley\";\nimport { IModelApp } from \"@itwin/core-frontend\";\nimport { produce } from \"immer\";\nimport * as React from \"react\";\nimport { unstable_batchedUpdates } from \"react-dom\";\nimport type { FrontstageDef } from \"../frontstage/FrontstageDef.js\";\nimport { useActiveFrontstageDef } from \"../frontstage/FrontstageDef.js\";\nimport { InternalFrontstageManager } from \"../frontstage/InternalFrontstageManager.js\";\nimport { useEscapeSetFocusToHome } from \"../hooks/useEscapeSetFocusToHome.js\";\nimport { useUiVisibility } from \"../hooks/useUiVisibility.js\";\nimport { createLayoutStore } from \"../layout/base/LayoutStore.js\";\nimport type {\n NineZoneDispatch,\n NineZoneLabels,\n} from \"../layout/base/NineZone.js\";\nimport { getUniqueId, NineZone } from \"../layout/base/NineZone.js\";\nimport type { NineZoneState } from \"../layout/state/NineZoneState.js\";\nimport { createNineZoneState } from \"../layout/state/NineZoneState.js\";\nimport { NineZoneStateReducer } from \"../layout/state/NineZoneStateReducer.js\";\nimport { getWidgetPanelSectionId } from \"../layout/state/PanelState.js\";\nimport type { TabState } from \"../layout/state/TabState.js\";\nimport { FloatingWidgets } from \"../layout/widget/FloatingWidgets.js\";\nimport { PreviewHorizontalPanelAlignFeatureProvider } from \"../preview/horizontal-panel-alignment/PreviewHorizontalPanelAlign.js\";\nimport { usePreviewFeatures } from \"../preview/PreviewFeatures.js\";\nimport { toPanelSide } from \"../stagepanels/StagePanelDef.js\";\nimport { StagePanelLocation } from \"../stagepanels/StagePanelLocation.js\";\nimport { StagePanelSection } from \"../stagepanels/StagePanelSection.js\";\nimport { StagePanelState } from \"../stagepanels/StagePanelState.js\";\nimport { UiItemsManager } from \"../ui-items-provider/UiItemsManager.js\";\nimport { UiFramework } from \"../UiFramework.js\";\nimport { useUiStateStorageHandler } from \"../uistate/useUiStateStorage.js\";\nimport type { WidgetDef } from \"../widgets/WidgetDef.js\";\nimport { WidgetState } from \"../widgets/WidgetState.js\";\nimport { WidgetContent } from \"./Content.js\";\nimport { FloatingWidget } from \"./FloatingWidget.js\";\nimport \"./Frontstage.scss\";\nimport { WidgetPanelsFrontstageContent } from \"./FrontstageContent.js\";\nimport {\n ModalFrontstageComposer,\n useActiveModalFrontstageInfo,\n} from \"./ModalFrontstageComposer.js\";\nimport { WidgetPanelsStatusBar } from \"./StatusBar.js\";\nimport { WidgetPanelsTab } from \"./Tab.js\";\nimport { WidgetPanelsToolbars } from \"./Toolbars.js\";\nimport {\n ToolSettingsContent,\n WidgetPanelsToolSettings,\n} from \"./ToolSettings.js\";\nimport { MaximizedWidgetProvider } from \"../preview/enable-maximized-widget/MaximizedWidget.js\";\nimport { StandardLayout } from \"../layout/StandardLayout.js\";\nimport { WidgetPanelProvider } from \"../layout/widget-panels/Panel.js\";\nimport { WidgetContentRenderers } from \"../layout/widget/ContentRenderer.js\";\nimport { useCursor } from \"../layout/widget-panels/CursorOverlay.js\";\nimport { WidgetPanelExpanders } from \"../layout/widget-panels/Expander.js\";\nimport { useTranslation } from \"../hooks/useTranslation.js\";\nimport { PopoutWidgets } from \"../preview/reparent-popout-widgets/PopoutWidgets.js\";\nimport { useReduxFrameworkState } from \"../uistate/useReduxFrameworkState.js\";\nimport { ConfigurableUiContext } from \"../configurableui/ConfigurableUiContent.js\";\nimport { useSaveFrontstageSettings } from \"./useSaveFrontstageSettings.js\";\nimport type { UiStateStorageResult } from \"../uistate/UiStateStorage.js\";\nimport { UiStateStorageStatus } from \"../uistate/UiStateStorage.js\";\n\nfunction WidgetPanelsFrontstageComponent() {\n const activeModalFrontstageInfo = useActiveModalFrontstageInfo();\n const uiIsVisible = useUiVisibility();\n const previewFeatures = usePreviewFeatures();\n useCursor();\n\n return (\n <MaximizedWidgetProvider>\n <PreviewHorizontalPanelAlignFeatureProvider\n enabled={previewFeatures.horizontalPanelAlignment}\n >\n <ToolbarPopupAutoHideContext.Provider value={!uiIsVisible}>\n <ModalFrontstageComposer stageInfo={activeModalFrontstageInfo} />\n <StandardLayout\n centerContent={\n <>\n <WidgetPanelsToolbars />\n <WidgetPanelExpanders />\n </>\n }\n toolSettings={<WidgetPanelsToolSettings />}\n statusBar={<WidgetPanelsStatusBar />}\n topPanel={<WidgetPanelProvider side=\"top\" />}\n leftPanel={<WidgetPanelProvider side=\"left\" />}\n rightPanel={<WidgetPanelProvider side=\"right\" />}\n bottomPanel={<WidgetPanelProvider side=\"bottom\" />}\n >\n <WidgetPanelsFrontstageContent />\n </StandardLayout>\n <WidgetContentRenderers />\n <FloatingWidgets />\n <PopoutWidgets />\n </ToolbarPopupAutoHideContext.Provider>\n </PreviewHorizontalPanelAlignFeatureProvider>\n </MaximizedWidgetProvider>\n );\n}\n\nconst widgetContent = <WidgetContent />;\nconst toolSettingsContent = <ToolSettingsContent />;\nconst widgetPanelsFrontstage = <WidgetPanelsFrontstageComponent />;\n\n/** @internal */\nexport function useLayoutStore(frontstageDef: FrontstageDef | undefined) {\n const layoutStore = React.useMemo(\n () => createLayoutStore(frontstageDef?.nineZoneState),\n [frontstageDef]\n );\n React.useEffect(() => {\n return InternalFrontstageManager.onFrontstageNineZoneStateChangedEvent.addListener(\n (args) => {\n if (args.frontstageDef !== frontstageDef) return;\n unstable_batchedUpdates(() => {\n // https://github.com/pmndrs/zustand/blob/main/docs/guides/event-handler-in-pre-react-18.md\n layoutStore.setState(args.state || defaultNineZone);\n });\n }\n );\n }, [frontstageDef, layoutStore]);\n return layoutStore;\n}\n\n/** Update in-memory NineZoneState of newly activated frontstage with up to date size.\n * @internal\n */\nexport function useUpdateNineZoneSize(frontstageDef: FrontstageDef) {\n React.useEffect(() => {\n const size = InternalFrontstageManager.nineZoneSize;\n if (!size) return;\n frontstageDef.dispatch({\n type: \"RESIZE\",\n size: {\n height: size.height,\n width: size.width,\n },\n });\n }, [frontstageDef]);\n}\n\nconst log =\n (reducer: typeof NineZoneStateReducer): typeof NineZoneStateReducer =>\n (state, action) => {\n Logger.logTrace(\"appui-react:reducer\", `action ${action.type}`, () => ({\n action,\n state,\n }));\n return reducer(state, action);\n };\n\n/** @internal */\nexport function useNineZoneDispatch(frontstageDef: FrontstageDef) {\n const reducer = React.useMemo(() => {\n return log(NineZoneStateReducer);\n }, []);\n\n return React.useCallback<NineZoneDispatch>(\n (action) => {\n if (action.type === \"RESIZE\") {\n InternalFrontstageManager.nineZoneSize = {\n width: action.size.width,\n height: action.size.height,\n };\n }\n\n const state = frontstageDef.nineZoneState;\n if (!state) return;\n frontstageDef.nineZoneState = reducer(state, action);\n },\n [frontstageDef, reducer]\n );\n}\n\n/** @internal */\nexport function WidgetPanelsFrontstage() {\n const frontstageDef = useActiveFrontstageDef();\n\n React.useEffect(() => {\n const triggerWidowCloseProcessing = () => {\n frontstageDef && frontstageDef.setIsApplicationClosing(true);\n };\n window.addEventListener(\"unload\", triggerWidowCloseProcessing);\n return () => {\n window.removeEventListener(\"unload\", triggerWidowCloseProcessing);\n };\n }, [frontstageDef]);\n\n if (!frontstageDef) return null;\n return <ActiveFrontstageDefProvider frontstageDef={frontstageDef} />;\n}\n\nconst defaultNineZone = createNineZoneState();\nconst tabElement = <WidgetPanelsTab />;\nconst floatingWidgetElement = <FloatingWidget />;\n\ninterface ActiveFrontstageDefProviderProps {\n frontstageDef: FrontstageDef;\n}\n\n/** @internal */\nexport function ActiveFrontstageDefProvider({\n frontstageDef,\n}: ActiveFrontstageDefProviderProps) {\n const configurableUi = React.useContext(ConfigurableUiContext);\n const dispatch = useNineZoneDispatch(frontstageDef);\n frontstageDef.dispatch = dispatch;\n const layout = useLayoutStore(frontstageDef);\n useUpdateNineZoneSize(frontstageDef);\n useSavedFrontstageState(frontstageDef);\n useSaveFrontstageSettings(frontstageDef, layout);\n useItemsManager(frontstageDef);\n const labels = useLabels();\n const uiIsVisible = useUiVisibility();\n const reduxToolAsToolSettingsLabel = useReduxFrameworkState(\n // eslint-disable-next-line deprecation/deprecation\n (state) => state?.configurableUiState.useToolAsToolSettingsLabel\n );\n const reduxShowWidgetIcon = useReduxFrameworkState(\n // eslint-disable-next-line deprecation/deprecation\n (state) => state?.configurableUiState.showWidgetIcon\n );\n const reduxAutoCollapseUnpinnedPanels = useReduxFrameworkState(\n // eslint-disable-next-line deprecation/deprecation\n (state) => state?.configurableUiState.autoCollapseUnpinnedPanels\n );\n const reduxAnimateToolSettings = useReduxFrameworkState(\n // eslint-disable-next-line deprecation/deprecation\n (state) => state?.configurableUiState.autoCollapseUnpinnedPanels\n );\n const showWidgetIcon =\n configurableUi.widgetIcon ?? reduxShowWidgetIcon ?? true;\n const autoCollapseUnpinnedPanels =\n configurableUi.collapsePanels ?? reduxAutoCollapseUnpinnedPanels ?? false;\n const animateToolSettings =\n configurableUi.animateToolSettings ?? reduxAnimateToolSettings ?? false;\n const useToolAsToolSettingsLabel =\n configurableUi.toolAsToolSettingsLabel ??\n reduxToolAsToolSettingsLabel ??\n false;\n\n useFrontstageManager(frontstageDef, useToolAsToolSettingsLabel);\n\n const handleKeyDown = useEscapeSetFocusToHome();\n\n return (\n <div\n className=\"uifw-widgetPanels-frontstage\"\n onKeyDown={handleKeyDown}\n role=\"presentation\"\n >\n <NineZone\n dispatch={dispatch}\n labels={labels}\n layout={layout}\n tab={tabElement}\n floatingWidget={floatingWidgetElement}\n showWidgetIcon={showWidgetIcon}\n autoCollapseUnpinnedPanels={autoCollapseUnpinnedPanels}\n toolSettingsContent={toolSettingsContent}\n widgetContent={widgetContent}\n animateDockedToolSettings={animateToolSettings}\n uiIsVisible={uiIsVisible}\n >\n {widgetPanelsFrontstage}\n </NineZone>\n </div>\n );\n}\n\n/** @internal */\nexport function useLabels(): NineZoneLabels {\n const { translate } = useTranslation();\n\n return {\n dockToolSettingsTitle: translate(\"widget.tooltips.dockToolSettings\"),\n moreWidgetsTitle: translate(\"widget.tooltips.moreWidgets\"),\n moreToolSettingsTitle: translate(\"widget.tooltips.moreToolSettings\"),\n pinPanelTitle: translate(\"widget.tooltips.pinPanel\"),\n resizeGripTitle: translate(\"widget.tooltips.resizeGrip\"),\n sendWidgetHomeTitle: translate(\"widget.tooltips.sendHome\"),\n toolSettingsHandleTitle: translate(\"widget.tooltips.toolSettingsHandle\"),\n unpinPanelTitle: translate(\"widget.tooltips.unpinPanel\"),\n popoutActiveTab: translate(\"widget.tooltips.popoutActiveTab\"),\n };\n}\n\nfunction toTabArgs(widget: WidgetDef) {\n const label = getWidgetLabel(widget.label);\n const args = {\n allowedPanelTargets: widget.allowedPanelTargets?.map((location) =>\n toPanelSide(location)\n ),\n hideWithUiWhenFloating: !!widget.hideWithUiWhenFloating,\n canPopout: widget.canPopout,\n isFloatingWidgetResizable: widget.isFloatingStateWindowResizable,\n label,\n preferredFloatingWidgetSize: widget.defaultFloatingSize,\n preferredPanelWidgetSize: widget.preferredPanelSize,\n };\n return args satisfies Pick<TabState, keyof typeof args>;\n}\n\nfunction addWidgetDef(\n frontstageDef: FrontstageDef,\n widgetDef: WidgetDef,\n location: StagePanelLocation,\n section: StagePanelSection\n) {\n const side = toPanelSide(location);\n\n const isFloatingWidget =\n widgetDef.isFloatingStateSupported &&\n widgetDef.defaultState === WidgetState.Floating;\n const floatingWidgetId = widgetDef.floatingContainerId\n ? widgetDef.floatingContainerId\n : getUniqueId();\n const userSized = !!widgetDef.defaultFloatingSize;\n\n frontstageDef.dispatch({\n type: \"WIDGET_DEF_ADD\",\n id: widgetDef.id,\n overrides: {\n ...toTabArgs(widgetDef),\n userSized,\n },\n location: isFloatingWidget ? \"floating\" : \"panel\",\n floatingWidget: {\n id: floatingWidgetId,\n preferredPosition: widgetDef.defaultFloatingPosition,\n },\n panelSection: {\n id: getWidgetPanelSectionId(side, section),\n side,\n index: section,\n },\n });\n\n // Hide widget if `defaultState` is `Hidden` or `Unloaded`.\n hideWidgetDef(frontstageDef, widgetDef);\n}\n\n/** Adds missing widgets to the layout.\n * @internal\n */\nexport function addPanelSectionWidgetDefs(\n frontstageDef: FrontstageDef,\n location: StagePanelLocation,\n section: StagePanelSection\n) {\n const panelDef = frontstageDef.getStagePanelDef(location);\n if (!panelDef) return;\n const sectionDef = panelDef.getPanelSectionDef(section);\n const widgetDefs = determineNewWidgets(frontstageDef, sectionDef.widgetDefs);\n for (const widgetDef of widgetDefs) {\n addWidgetDef(frontstageDef, widgetDef, location, section);\n }\n}\n\n/** Sends back popout widgets if app is not an electron app. */\nfunction processPopoutWidgets(frontstageDef: FrontstageDef) {\n if (ProcessDetector.isElectronAppFrontend) return;\n\n assert(!!frontstageDef.nineZoneState);\n const state = frontstageDef.nineZoneState;\n for (const id of state.popoutWidgets.allIds) {\n frontstageDef.dispatch({\n type: \"POPOUT_WIDGET_SEND_BACK\",\n id,\n });\n }\n}\n\n/** Opens popout widgets if app is an electron app. */\nfunction openPopoutWidgets(frontstageDef: FrontstageDef) {\n // Only electron can reopen popout windows w/o user interaction.\n if (!ProcessDetector.isElectronAppFrontend) return;\n\n assert(!!frontstageDef.nineZoneState);\n const state = frontstageDef.nineZoneState;\n for (const id of state.popoutWidgets.allIds) {\n frontstageDef.openPopoutWidgetContainer(id, undefined);\n }\n}\n\n/** Adds frontstageDef widgets that are missing in NineZoneState.\n * @internal\n */\nexport function addFrontstageWidgetDefs(frontstageDef: FrontstageDef) {\n [\n StagePanelLocation.Left,\n StagePanelLocation.Right,\n StagePanelLocation.Top,\n StagePanelLocation.Bottom,\n ].forEach((location) =>\n [StagePanelSection.Start, StagePanelSection.End].forEach((section) =>\n addPanelSectionWidgetDefs(frontstageDef, location, section)\n )\n );\n\n const toolSettingsWidgetDefs = determineNewWidgets(\n frontstageDef,\n frontstageDef.toolSettings ? [frontstageDef.toolSettings] : undefined\n );\n for (const toolSettingsWidgetDef of toolSettingsWidgetDefs) {\n frontstageDef.dispatch({\n type: \"WIDGET_DEF_ADD_TOOL_SETTINGS\",\n id: toolSettingsWidgetDef.id,\n overrides: toTabArgs(toolSettingsWidgetDef),\n });\n }\n}\n\n/** Hide widgets with `Hidden` or `Unloaded` defaultState. */\nfunction hideWidgetDefs(frontstageDef: FrontstageDef) {\n assert(!!frontstageDef.nineZoneState);\n const state = frontstageDef.nineZoneState;\n const tabs = Object.values(state.tabs);\n for (const tab of tabs) {\n const widgetDef = frontstageDef.findWidgetDef(tab.id);\n if (!widgetDef) continue;\n\n hideWidgetDef(frontstageDef, widgetDef);\n }\n}\n\n/** Hide widget with `Hidden` or `Unloaded` defaultState. */\nfunction hideWidgetDef(frontstageDef: FrontstageDef, widgetDef: WidgetDef) {\n if (widgetDef.defaultState === WidgetState.Hidden) {\n frontstageDef.dispatch({\n type: \"WIDGET_TAB_HIDE\",\n id: widgetDef.id,\n });\n }\n\n if (widgetDef.defaultState === WidgetState.Unloaded) {\n frontstageDef.dispatch({\n type: \"WIDGET_TAB_UNLOAD\",\n id: widgetDef.id,\n });\n }\n}\n\n/** Removes NineZoneState widgets that are missing in frontstageDef.\n * @internal\n */\nfunction removeMissingWidgets(frontstageDef: FrontstageDef) {\n const state = frontstageDef.nineZoneState;\n if (!state) return;\n const toolSettingsTabId = state.toolSettings?.tabId;\n for (const [, tab] of Object.entries(state.tabs)) {\n if (tab.id === toolSettingsTabId) continue;\n const widgetDef = frontstageDef.findWidgetDef(tab.id);\n if (widgetDef) continue;\n frontstageDef.dispatch({\n type: \"WIDGET_TAB_REMOVE\",\n id: tab.id,\n });\n }\n}\n\nfunction getWidgetLabel(label: string) {\n return label === \"\" ? \"Widget\" : label;\n}\n\ntype PanelSectionId = `${Lowercase<\n keyof typeof StagePanelLocation\n>}${keyof typeof StagePanelSection}`;\n\n/** @internal */\nexport function getPanelSectionId(\n location: StagePanelLocation,\n section: StagePanelSection\n): PanelSectionId {\n return `${StagePanelLocation[location].toLowerCase()}${\n StagePanelSection[section]\n }` as PanelSectionId;\n}\n\n/** @internal */\nexport function getPanelSectionWidgets(\n frontstageDef: FrontstageDef,\n location: StagePanelLocation,\n section: StagePanelSection\n): ReadonlyArray<WidgetDef> {\n const stagePanel = frontstageDef.getStagePanelDef(location);\n const panelSection = stagePanel?.getPanelSectionDef(section);\n return panelSection?.widgetDefs || [];\n}\n\n/** @internal */\nexport function isFrontstageStateSettingResult(\n settingsResult: UiStateStorageResult\n): settingsResult is {\n status: typeof UiStateStorageStatus.Success;\n setting: WidgetPanelsFrontstageState;\n} {\n if (settingsResult.status === UiStateStorageStatus.Success) return true;\n return false;\n}\n\n/** @internal */\nexport function initializePanel(\n frontstageDef: FrontstageDef,\n location: StagePanelLocation\n) {\n const side = toPanelSide(location);\n\n const panelDef = frontstageDef.getStagePanelDef(location);\n if (!panelDef) return;\n\n // eslint-disable-next-line deprecation/deprecation\n const size = panelDef.initialConfig?.sizeSpec ?? panelDef.initialConfig?.size;\n size !== undefined &&\n frontstageDef.dispatch({\n type: \"PANEL_SET_SIZE\",\n side,\n size,\n });\n\n frontstageDef.dispatch({\n type: \"PANEL_SET_PINNED\",\n side,\n pinned: panelDef.defaultPinned,\n });\n\n frontstageDef.dispatch({\n type: \"PANEL_SET_RESIZABLE\",\n side,\n resizable: panelDef.defaultResizable,\n });\n\n const minSize =\n panelDef.initialConfig?.minSizeSpec ?? panelDef.initialConfig?.minSize; // eslint-disable-line deprecation/deprecation\n minSize !== undefined &&\n frontstageDef.dispatch({\n type: \"PANEL_SET_MIN_SIZE\",\n side,\n minSize,\n });\n\n const maxSize =\n panelDef.initialConfig?.maxSizeSpec ?? panelDef.initialConfig?.maxSize; // eslint-disable-line deprecation/deprecation\n maxSize !== undefined &&\n frontstageDef.dispatch({\n type: \"PANEL_SET_MAX_SIZE\",\n side,\n maxSize,\n });\n\n const collapsed = panelDef.defaultState !== StagePanelState.Open;\n frontstageDef.dispatch({\n type: \"PANEL_SET_COLLAPSED\",\n side,\n collapsed,\n });\n}\n\n/** @internal */\nexport const stateVersion = 20; // this needs to be bumped when NineZoneState is changed (to recreate the layout).\n\n/** @internal */\nexport function initializeNineZoneState(frontstageDef: FrontstageDef) {\n frontstageDef.batch(() => {\n frontstageDef.nineZoneState = defaultNineZone;\n\n const size = InternalFrontstageManager.nineZoneSize;\n size &&\n frontstageDef.dispatch({\n type: \"RESIZE\",\n size,\n });\n\n addFrontstageWidgetDefs(frontstageDef);\n\n initializePanel(frontstageDef, StagePanelLocation.Left);\n initializePanel(frontstageDef, StagePanelLocation.Right);\n initializePanel(frontstageDef, StagePanelLocation.Top);\n initializePanel(frontstageDef, StagePanelLocation.Bottom);\n });\n}\n\n/** Converts from saved NineZoneState to NineZoneState.\n * @note Restores toolSettings tab.\n * @note Restores tab labels.\n * @internal\n */\nexport function restoreNineZoneState(\n frontstageDef: FrontstageDef,\n packed: NineZoneState\n) {\n frontstageDef.batch(() => {\n frontstageDef.nineZoneState = packed;\n\n for (const [, tab] of Object.entries(packed.tabs)) {\n const widgetDef = frontstageDef.findWidgetDef(tab.id);\n if (!widgetDef) {\n Logger.logInfo(\n UiFramework.loggerCategory(\"restoreNineZoneState\"),\n \"WidgetDef is not found for saved tab.\",\n {\n frontstageId: frontstageDef.id,\n tabId: tab.id,\n }\n );\n frontstageDef.dispatch({ type: \"WIDGET_TAB_REMOVE\", id: tab.id });\n continue;\n }\n\n frontstageDef.dispatch({\n type: \"WIDGET_TAB_UPDATE\",\n id: tab.id,\n overrides: toTabArgs(widgetDef),\n });\n }\n\n frontstageDef.nineZoneState = produce(\n frontstageDef.nineZoneState,\n (draft) => {\n // remove center panel section if one is found in left or right panels\n const oldLeftMiddleIndex = packed.panels.left.widgets.findIndex(\n (value) => value === \"leftMiddle\"\n );\n if (-1 !== oldLeftMiddleIndex) {\n draft.panels.left.widgets = packed.panels.left.widgets.filter(\n (value) => value !== \"leftMiddle\"\n );\n if (\"leftEnd\" in draft.widgets) {\n draft.widgets.leftMiddle.tabs.forEach((tab) =>\n draft.widgets.leftEnd.tabs.push(tab)\n );\n } else {\n draft.widgets.leftEnd = { ...draft.widgets.leftMiddle };\n delete draft.widgets.leftMiddle;\n }\n }\n\n const oldRightMiddleIndex = packed.panels.right.widgets.findIndex(\n (value) => value === \"rightMiddle\"\n );\n if (-1 !== oldRightMiddleIndex) {\n draft.panels.right.widgets = packed.panels.right.widgets.filter(\n (value) => value !== \"rightMiddle\"\n );\n if (\"rightEnd\" in draft.widgets) {\n draft.widgets.rightMiddle.tabs.forEach((tab) =>\n draft.widgets.rightEnd.tabs.push(tab)\n );\n } else {\n draft.widgets.rightEnd = { ...draft.widgets.rightMiddle };\n delete draft.widgets.rightMiddle;\n }\n }\n\n return;\n }\n );\n\n if (\n InternalFrontstageManager.nineZoneSize &&\n (0 !== InternalFrontstageManager.nineZoneSize.height ||\n 0 !== InternalFrontstageManager.nineZoneSize.width)\n ) {\n frontstageDef.dispatch({\n type: \"RESIZE\",\n size: {\n height: InternalFrontstageManager.nineZoneSize.height,\n width: InternalFrontstageManager.nineZoneSize.width,\n },\n });\n }\n\n addFrontstageWidgetDefs(frontstageDef);\n hideWidgetDefs(frontstageDef);\n processPopoutWidgets(frontstageDef);\n });\n}\n\n/** Prepares NineZoneState to be saved.\n * @note Removes toolSettings tab.\n * @note Removes tab labels and iconSpec.\n * @internal\n */\nexport function packNineZoneState(state: NineZoneState): NineZoneState {\n let packed = state;\n packed = produce(packed, (draft) => {\n for (const [, tab] of Object.entries(draft.tabs)) {\n tab.label = \"\";\n }\n });\n return packed;\n}\n\n/** FrontstageState is saved in UiStateStorage.\n * @internal\n */\nexport interface WidgetPanelsFrontstageState {\n nineZone: NineZoneState;\n id: FrontstageDef[\"id\"];\n /** Frontstage version used to create the frontstage state. Allows to invalidate the layout from the frontstage. */\n version: number;\n /** Platform provided frontstage version. Allows to invalidate the layout from the platform. */\n stateVersion: number;\n}\n\n/** @internal */\nexport function useSavedFrontstageState(frontstageDef: FrontstageDef) {\n const uiStateStorage = useUiStateStorageHandler();\n const uiStateStorageRef = React.useRef(uiStateStorage);\n const isMountedRef = React.useRef(false);\n React.useEffect(() => {\n isMountedRef.current = true;\n return () => {\n isMountedRef.current = false;\n };\n }, []);\n React.useEffect(() => {\n uiStateStorageRef.current = uiStateStorage;\n }, [uiStateStorage]);\n React.useEffect(() => {\n async function fetchFrontstageState() {\n // Switching to previously initialized frontstage.\n if (frontstageDef.nineZoneState) {\n processPopoutWidgets(frontstageDef);\n openPopoutWidgets(frontstageDef);\n return;\n }\n\n const id = frontstageDef.id;\n const version = frontstageDef.version;\n const settingResult = await uiStateStorageRef.current.getSetting(\n FRONTSTAGE_SETTINGS_NAMESPACE,\n getFrontstageStateSettingName(id)\n );\n if (!isMountedRef.current) return;\n\n if (isFrontstageStateSettingResult(settingResult)) {\n const setting = settingResult.setting;\n if (\n setting.version === version &&\n setting.stateVersion === stateVersion\n ) {\n restoreNineZoneState(frontstageDef, setting.nineZone);\n return;\n }\n }\n initializeNineZoneState(frontstageDef);\n }\n void fetchFrontstageState();\n }, [frontstageDef]);\n}\n\n/** @internal */\nexport const FRONTSTAGE_SETTINGS_NAMESPACE = \"uifw-frontstageSettings\";\n\n/** @internal */\nexport function getFrontstageStateSettingName(\n frontstageId: WidgetPanelsFrontstageState[\"id\"]\n) {\n return `frontstageState[${frontstageId}]`;\n}\n\n/** @internal */\nexport function useFrontstageManager(\n frontstageDef: FrontstageDef,\n useToolAsToolSettingsLabel?: boolean\n) {\n const { translate } = useTranslation();\n React.useEffect(() => {\n return InternalFrontstageManager.onFrontstageRestoreLayoutEvent.addListener(\n (args) => {\n if (frontstageDef.id !== args.frontstageDef.id) return;\n initializeNineZoneState(frontstageDef);\n }\n );\n }, [frontstageDef]);\n\n const defaultLabel = translate(\"widget.labels.toolSettings\");\n\n React.useEffect(() => {\n const updateLabel = () => {\n const state = frontstageDef.nineZoneState;\n if (!state) return;\n const toolSettingsTabId = state.toolSettings?.tabId;\n if (!toolSettingsTabId) return;\n\n const toolId = UiFramework.frontstages.activeToolId;\n const label = useToolAsToolSettingsLabel\n ? IModelApp.tools.find(toolId)?.flyover || defaultLabel\n : defaultLabel;\n frontstageDef.dispatch({\n type: \"WIDGET_TAB_SET_LABEL\",\n id: toolSettingsTabId,\n label,\n });\n };\n // Whenever the frontstageDef or the useTool... changes, keep the label up to date.\n updateLabel();\n\n const removeListenerFuncs: (() => void)[] = [];\n // If useTool... is true, listen for events to keep up the label up to date.\n if (useToolAsToolSettingsLabel) {\n removeListenerFuncs.push(\n UiFramework.frontstages.onFrontstageReadyEvent.addListener(updateLabel),\n InternalFrontstageManager.onFrontstageRestoreLayoutEvent.addListener(\n updateLabel\n ),\n UiFramework.frontstages.onToolActivatedEvent.addListener(updateLabel),\n UiFramework.frontstages.onToolSettingsReloadEvent.addListener(\n updateLabel\n )\n );\n }\n return () => {\n removeListenerFuncs.forEach((removeListener) => removeListener());\n };\n }, [frontstageDef, useToolAsToolSettingsLabel, defaultLabel]);\n}\n\nfunction refreshNineZoneState(frontstageDef: FrontstageDef) {\n // Fired for both registered/unregistered. Update definitions and remove/add missing widgets.\n frontstageDef.updateWidgetDefs();\n frontstageDef.batch(() => {\n addFrontstageWidgetDefs(frontstageDef);\n removeMissingWidgets(frontstageDef);\n });\n}\n\n/** @internal */\nexport function useItemsManager(frontstageDef: FrontstageDef) {\n React.useEffect(() => {\n // Not initialized yet.\n if (!frontstageDef.nineZoneState) return;\n\n // Need to refresh because UiItemsProvider may have added something while another frontstage was active.\n refreshNineZoneState(frontstageDef);\n }, [frontstageDef]);\n React.useEffect(() => {\n return UiItemsManager.onUiProviderRegisteredEvent.addListener(() => {\n refreshNineZoneState(frontstageDef);\n });\n }, [frontstageDef]);\n}\n\nfunction determineNewWidgets(\n frontstageDef: FrontstageDef,\n defs: readonly WidgetDef[] | undefined\n) {\n const state = frontstageDef.nineZoneState;\n assert(!!state);\n defs = defs || [];\n const uniqueDefs = defs.filter((def, index, array) => {\n return index === array.findIndex((def1) => def.id === def1.id);\n });\n return uniqueDefs.filter((def) => !(def.id in state.tabs));\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ModalFrontstageComposer.d.ts","sourceRoot":"","sources":["../../../src/appui-react/widget-panels/ModalFrontstageComposer.tsx"],"names":[],"mappings":"AAIA;;GAEG;AACH,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,sCAAsC,CAAC;AAIhF,gBAAgB;AAChB,wBAAgB,4BAA4B,oCAe3C;AAED,gBAAgB;AAChB,wBAAgB,uBAAuB,CAAC,EACtC,SAAS,GACV,EAAE;IACD,SAAS,EAAE,mBAAmB,GAAG,SAAS,CAAC;CAC5C,
|
|
1
|
+
{"version":3,"file":"ModalFrontstageComposer.d.ts","sourceRoot":"","sources":["../../../src/appui-react/widget-panels/ModalFrontstageComposer.tsx"],"names":[],"mappings":"AAIA;;GAEG;AACH,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,sCAAsC,CAAC;AAIhF,gBAAgB;AAChB,wBAAgB,4BAA4B,oCAe3C;AAED,gBAAgB;AAChB,wBAAgB,uBAAuB,CAAC,EACtC,SAAS,GACV,EAAE;IACD,SAAS,EAAE,mBAAmB,GAAG,SAAS,CAAC;CAC5C,4BAoBA"}
|
|
@@ -25,7 +25,7 @@ export function ModalFrontstageComposer({ stageInfo, }) {
|
|
|
25
25
|
const handleCloseModal = React.useCallback(() => UiFramework.frontstages.closeModalFrontstage(), []);
|
|
26
26
|
if (!stageInfo)
|
|
27
27
|
return null;
|
|
28
|
-
const { title, content, appBarRight } = stageInfo;
|
|
29
|
-
return (React.createElement(ModalFrontstage, { isOpen: true, title: title, closeModal: handleCloseModal, appBarRight: appBarRight }, content));
|
|
28
|
+
const { title, content, appBarRight, backButton } = stageInfo;
|
|
29
|
+
return (React.createElement(ModalFrontstage, { isOpen: true, title: title, closeModal: handleCloseModal, appBarRight: appBarRight, backButton: backButton }, content));
|
|
30
30
|
}
|
|
31
31
|
//# sourceMappingURL=ModalFrontstageComposer.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ModalFrontstageComposer.js","sourceRoot":"","sources":["../../../src/appui-react/widget-panels/ModalFrontstageComposer.tsx"],"names":[],"mappings":"AAAA;;;gGAGgG;AAChG;;GAEG;AACH,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,OAAO,EAAE,eAAe,EAAE,MAAM,kCAAkC,CAAC;AACnE,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAEhD,gBAAgB;AAChB,MAAM,UAAU,4BAA4B;IAC1C,MAAM,CAAC,yBAAyB,EAAE,4BAA4B,CAAC,GAC7D,KAAK,CAAC,QAAQ,CAAC,WAAW,CAAC,WAAW,CAAC,qBAAqB,CAAC,CAAC;IAChE,KAAK,CAAC,SAAS,CAAC,GAAG,EAAE;QACnB,OAAO,WAAW,CAAC,WAAW,CAAC,6BAA6B,CAAC,WAAW,CACtE,CAAC,IAAI,EAAE,EAAE;YACP,4BAA4B,CAC1B,IAAI,CAAC,oBAAoB,KAAK,CAAC;gBAC7B,CAAC,CAAC,SAAS;gBACX,CAAC,CAAC,WAAW,CAAC,WAAW,CAAC,qBAAqB,CAClD,CAAC;QACJ,CAAC,CACF,CAAC;IACJ,CAAC,EAAE,CAAC,4BAA4B,CAAC,CAAC,CAAC;IACnC,OAAO,yBAAyB,CAAC;AACnC,CAAC;AAED,gBAAgB;AAChB,MAAM,UAAU,uBAAuB,CAAC,EACtC,SAAS,GAGV;IACC,MAAM,gBAAgB,GAAG,KAAK,CAAC,WAAW,CACxC,GAAG,EAAE,CAAC,WAAW,CAAC,WAAW,CAAC,oBAAoB,EAAE,EACpD,EAAE,CACH,CAAC;IACF,IAAI,CAAC,SAAS;QAAE,OAAO,IAAI,CAAC;IAE5B,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,WAAW,EAAE,GAAG,SAAS,CAAC;
|
|
1
|
+
{"version":3,"file":"ModalFrontstageComposer.js","sourceRoot":"","sources":["../../../src/appui-react/widget-panels/ModalFrontstageComposer.tsx"],"names":[],"mappings":"AAAA;;;gGAGgG;AAChG;;GAEG;AACH,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,OAAO,EAAE,eAAe,EAAE,MAAM,kCAAkC,CAAC;AACnE,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAEhD,gBAAgB;AAChB,MAAM,UAAU,4BAA4B;IAC1C,MAAM,CAAC,yBAAyB,EAAE,4BAA4B,CAAC,GAC7D,KAAK,CAAC,QAAQ,CAAC,WAAW,CAAC,WAAW,CAAC,qBAAqB,CAAC,CAAC;IAChE,KAAK,CAAC,SAAS,CAAC,GAAG,EAAE;QACnB,OAAO,WAAW,CAAC,WAAW,CAAC,6BAA6B,CAAC,WAAW,CACtE,CAAC,IAAI,EAAE,EAAE;YACP,4BAA4B,CAC1B,IAAI,CAAC,oBAAoB,KAAK,CAAC;gBAC7B,CAAC,CAAC,SAAS;gBACX,CAAC,CAAC,WAAW,CAAC,WAAW,CAAC,qBAAqB,CAClD,CAAC;QACJ,CAAC,CACF,CAAC;IACJ,CAAC,EAAE,CAAC,4BAA4B,CAAC,CAAC,CAAC;IACnC,OAAO,yBAAyB,CAAC;AACnC,CAAC;AAED,gBAAgB;AAChB,MAAM,UAAU,uBAAuB,CAAC,EACtC,SAAS,GAGV;IACC,MAAM,gBAAgB,GAAG,KAAK,CAAC,WAAW,CACxC,GAAG,EAAE,CAAC,WAAW,CAAC,WAAW,CAAC,oBAAoB,EAAE,EACpD,EAAE,CACH,CAAC;IACF,IAAI,CAAC,SAAS;QAAE,OAAO,IAAI,CAAC;IAE5B,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,WAAW,EAAE,UAAU,EAAE,GAAG,SAAS,CAAC;IAE9D,OAAO,CACL,oBAAC,eAAe,IACd,MAAM,EAAE,IAAI,EACZ,KAAK,EAAE,KAAK,EACZ,UAAU,EAAE,gBAAgB,EAC5B,WAAW,EAAE,WAAW,EACxB,UAAU,EAAE,UAAU,IAErB,OAAO,CACQ,CACnB,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 Frontstage\n */\nimport * as React from \"react\";\nimport type { ModalFrontstageInfo } from \"../framework/FrameworkFrontstages.js\";\nimport { ModalFrontstage } from \"../frontstage/ModalFrontstage.js\";\nimport { UiFramework } from \"../UiFramework.js\";\n\n/** @internal */\nexport function useActiveModalFrontstageInfo() {\n const [activeModalFrontstageInfo, setActiveModalFrontstageInfo] =\n React.useState(UiFramework.frontstages.activeModalFrontstage);\n React.useEffect(() => {\n return UiFramework.frontstages.onModalFrontstageChangedEvent.addListener(\n (args) => {\n setActiveModalFrontstageInfo(\n args.modalFrontstageCount === 0\n ? undefined\n : UiFramework.frontstages.activeModalFrontstage\n );\n }\n );\n }, [setActiveModalFrontstageInfo]);\n return activeModalFrontstageInfo;\n}\n\n/** @internal */\nexport function ModalFrontstageComposer({\n stageInfo,\n}: {\n stageInfo: ModalFrontstageInfo | undefined;\n}) {\n const handleCloseModal = React.useCallback(\n () => UiFramework.frontstages.closeModalFrontstage(),\n []\n );\n if (!stageInfo) return null;\n\n const { title, content, appBarRight, backButton } = stageInfo;\n\n return (\n <ModalFrontstage\n isOpen={true}\n title={title}\n closeModal={handleCloseModal}\n appBarRight={appBarRight}\n backButton={backButton}\n >\n {content}\n </ModalFrontstage>\n );\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"WidgetDef.d.ts","sourceRoot":"","sources":["../../../src/appui-react/widgets/WidgetDef.tsx"],"names":[],"mappings":"AAIA;;GAEG;AAEH,OAAO,KAAK,KAAK,KAAK,MAAM,OAAO,CAAC;AACpC,OAAO,KAAK,EACV,sBAAsB,EACtB,YAAY,EACb,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAW,OAAO,EAAE,MAAM,uBAAuB,CAAC;AACzD,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,sBAAsB,CAAC;AAClD,OAAO,KAAK,EAAE,gCAAgC,EAAE,MAAM,4CAA4C,CAAC;AACnG,OAAO,EAEL,yBAAyB,EAC1B,MAAM,4CAA4C,CAAC;AAGpD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACxD,OAAO,KAAK,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAC7D,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,4BAA4B,CAAC;AAE5D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACtD,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC/C,OAAO,EAAE,kBAAkB,EAAE,MAAM,sCAAsC,CAAC;AAQ1E,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,kCAAkC,CAAC;AAEtE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAGvD;;;GAGG;AACH,MAAM,WAAW,2BAA2B;IAC1C,SAAS,EAAE,SAAS,CAAC;IACrB,WAAW,EAAE,WAAW,CAAC;CAC1B;AAED;;;GAGG;AAEH,qBAAa,uBAAwB,SAAQ,OAAO,CAAC,2BAA2B,CAAC;CAAG;AAEpF;;GAEG;AACH,oBAAY,UAAU;IACpB,IAAI,IAAA;IACJ,UAAU,IAAA;IACV,WAAW,IAAA;IACX,YAAY,IAAA;IACZ,SAAS,IAAA;CACV;AAID;;GAEG;AACH,qBAAa,SAAS;IACpB,OAAO,CAAC,MAAM,CAAC,IAAI,CAAK;IACxB,OAAO,CAAC,MAAM,CAAsD;IACpE,OAAO,CAAC,QAAQ,CAAsD;IACtE,OAAO,CAAC,gBAAgB,CAAkB;IAE1C,OAAO,CAAC,cAAc,CAAiB;IACvC,OAAO,CAAC,aAAa,CAAmC;IACxD,OAAO,CAAC,GAAG,CAAS;IACpB,OAAO,CAAC,SAAS,CAAa;IAC9B,OAAO,CAAC,aAAa,CAAkB;IACvC,OAAO,CAAC,WAAW,CAAsC;IACzD,OAAO,CAAC,gBAAgB,CAAC,CAAM;IAE/B,OAAO,CAAC,SAAS,CAAC,CAAW;IAC7B,OAAO,CAAC,aAAa,CAAC,CAAmB;IAEzC,OAAO,CAAC,MAAM,CAAC,CAAY;IAC3B,OAAO,CAAC,UAAU,CAAC,CAAY;IAC/B,OAAO,CAAC,mBAAmB,CAAC,CAAa;IACzC,OAAO,CAAC,sBAAsB,CAAC,CAAgB;IAC/C,OAAO,CAAC,mBAAmB,CAA4B;IACvD,OAAO,CAAC,oBAAoB,CAAwB;IACpD,OAAO,CAAC,UAAU,CAAC,CAAU;IAC7B,OAAO,CAAC,oBAAoB,CAAC,CAAS;IACtC,OAAO,CAAC,wBAAwB,CAAoB;IAEpD,OAAO,CAAC,uBAAuB,CAAC,CAAU;IAC1C,OAAO,CAAC,oBAAoB,CAAC,CAAoC;IACjE,OAAO,CAAC,cAAc,CAAC,CAAe;IAEtC,IAAW,KAAK,IAAI,WAAW,CAM9B;IAED,IAAW,EAAE,IAAI,MAAM,CAEtB;IAED,IAAW,QAAQ,IAAI,MAAM,CAE5B;IAED,IAAW,wBAAwB,IAAI,OAAO,CAW7C;IAED,IAAW,8BAA8B,IAAI,OAAO,CAOnD;IAED,IAAW,cAAc,IAAI,OAAO,CAEnC;IACD,IAAW,WAAW,IAAI,OAAO,CAEhC;IACD,IAAW,YAAY,IAAI,OAAO,CAEjC;IACD,IAAW,eAAe,IAAI,GAAG,CAEhC;IACD,IAAW,UAAU,IAAI,OAAO,CAE/B;IAED,kEAAkE;IAElE,IAAW,QAAQ,IAAI,QAAQ,CAK9B;IAGD,IAAW,QAAQ,CAAC,IAAI,EAAE,QAAQ,EAKjC;IACD,sDAAsD;IAEtD,IAAW,SAAS,IAAI,SAAS,GAAG,SAAS,CAE5C;IAED,IAAW,SAAS,IAAI,SAAS,GAAG,SAAS,CAE5C;IACD,IAAW,aAAa,IAAI,YAAY,GAAG,SAAS,CAEnD;IAED,IAAW,UAAU,IAAI,UAAU,CAElC;IACD,IAAW,UAAU,CAAC,IAAI,EAAE,UAAU,EAErC;IAED,gBAAgB;IAChB,IAAW,uBAAuB,IAGW,KAAK,GAAG,SAAS,CAD7D;IACD,IAAW,uBAAuB,CAAC,QAAQ,EAAE,KAAK,GAAG,SAAS,EAE7D;IAED,gBAAgB;IAChB,IAAW,mBAAmB,IAGO,SAAS,GAAG,SAAS,CADzD;IACD,IAAW,mBAAmB,CAAC,IAAI,EAAE,SAAS,GAAG,SAAS,EAEzD;IAED,
|
|
1
|
+
{"version":3,"file":"WidgetDef.d.ts","sourceRoot":"","sources":["../../../src/appui-react/widgets/WidgetDef.tsx"],"names":[],"mappings":"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"}
|