@itwin/appui-react 4.17.2 → 4.17.4

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.
Files changed (42) hide show
  1. package/CHANGELOG.md +16 -1
  2. package/lib/cjs/appui-react/dialog/StandardMessageBox.d.ts.map +1 -1
  3. package/lib/cjs/appui-react/dialog/StandardMessageBox.js +2 -2
  4. package/lib/cjs/appui-react/dialog/StandardMessageBox.js.map +1 -1
  5. package/lib/cjs/appui-react/frontstage/FrontstageDef.d.ts.map +1 -1
  6. package/lib/cjs/appui-react/frontstage/FrontstageDef.js +4 -0
  7. package/lib/cjs/appui-react/frontstage/FrontstageDef.js.map +1 -1
  8. package/lib/cjs/appui-react/layout/tool-settings/Docked.d.ts +2 -2
  9. package/lib/cjs/appui-react/layout/tool-settings/Docked.d.ts.map +1 -1
  10. package/lib/cjs/appui-react/layout/tool-settings/Docked.js +9 -11
  11. package/lib/cjs/appui-react/layout/tool-settings/Docked.js.map +1 -1
  12. package/lib/cjs/appui-react/layout/widget/Tabs.d.ts.map +1 -1
  13. package/lib/cjs/appui-react/layout/widget/Tabs.js +2 -1
  14. package/lib/cjs/appui-react/layout/widget/Tabs.js.map +1 -1
  15. package/lib/cjs/appui-react/statusbar/StatusBarComposer.d.ts +5 -11
  16. package/lib/cjs/appui-react/statusbar/StatusBarComposer.d.ts.map +1 -1
  17. package/lib/cjs/appui-react/statusbar/StatusBarComposer.js +18 -119
  18. package/lib/cjs/appui-react/statusbar/StatusBarComposer.js.map +1 -1
  19. package/lib/cjs/appui-react/widget-panels/Frontstage.d.ts.map +1 -1
  20. package/lib/cjs/appui-react/widget-panels/Frontstage.js +3 -8
  21. package/lib/cjs/appui-react/widget-panels/Frontstage.js.map +1 -1
  22. package/lib/esm/appui-react/dialog/StandardMessageBox.d.ts.map +1 -1
  23. package/lib/esm/appui-react/dialog/StandardMessageBox.js +1 -1
  24. package/lib/esm/appui-react/dialog/StandardMessageBox.js.map +1 -1
  25. package/lib/esm/appui-react/frontstage/FrontstageDef.d.ts.map +1 -1
  26. package/lib/esm/appui-react/frontstage/FrontstageDef.js +4 -0
  27. package/lib/esm/appui-react/frontstage/FrontstageDef.js.map +1 -1
  28. package/lib/esm/appui-react/layout/tool-settings/Docked.d.ts +2 -2
  29. package/lib/esm/appui-react/layout/tool-settings/Docked.d.ts.map +1 -1
  30. package/lib/esm/appui-react/layout/tool-settings/Docked.js +9 -11
  31. package/lib/esm/appui-react/layout/tool-settings/Docked.js.map +1 -1
  32. package/lib/esm/appui-react/layout/widget/Tabs.d.ts.map +1 -1
  33. package/lib/esm/appui-react/layout/widget/Tabs.js +2 -1
  34. package/lib/esm/appui-react/layout/widget/Tabs.js.map +1 -1
  35. package/lib/esm/appui-react/statusbar/StatusBarComposer.d.ts +5 -11
  36. package/lib/esm/appui-react/statusbar/StatusBarComposer.d.ts.map +1 -1
  37. package/lib/esm/appui-react/statusbar/StatusBarComposer.js +18 -118
  38. package/lib/esm/appui-react/statusbar/StatusBarComposer.js.map +1 -1
  39. package/lib/esm/appui-react/widget-panels/Frontstage.d.ts.map +1 -1
  40. package/lib/esm/appui-react/widget-panels/Frontstage.js +3 -8
  41. package/lib/esm/appui-react/widget-panels/Frontstage.js.map +1 -1
  42. package/package.json +7 -7
@@ -1 +1 @@
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 { Size } from \"@itwin/core-react\";\nimport produce from \"immer\";\nimport * as React from \"react\";\nimport { unstable_batchedUpdates } from \"react-dom\";\nimport type { FrontstageDef } from \"../frontstage/FrontstageDef\";\nimport { useActiveFrontstageDef } from \"../frontstage/FrontstageDef\";\nimport { InternalFrontstageManager } from \"../frontstage/InternalFrontstageManager\";\nimport { useEscapeSetFocusToHome } from \"../hooks/useEscapeSetFocusToHome\";\nimport { useUiVisibility } from \"../hooks/useUiVisibility\";\nimport { createLayoutStore } from \"../layout/base/LayoutStore\";\nimport type { NineZoneDispatch, NineZoneLabels } from \"../layout/base/NineZone\";\nimport { getUniqueId, NineZone } from \"../layout/base/NineZone\";\nimport { activateDroppedTab } from \"../preview/activate-dropped-tab/activateDroppedTab\";\nimport type { NineZoneState } from \"../layout/state/NineZoneState\";\nimport { createNineZoneState } from \"../layout/state/NineZoneState\";\nimport { NineZoneStateReducer } from \"../layout/state/NineZoneStateReducer\";\nimport { getWidgetPanelSectionId } from \"../layout/state/PanelState\";\nimport type { TabState } from \"../layout/state/TabState\";\nimport { FloatingWidgets } from \"../layout/widget/FloatingWidgets\";\nimport { PreviewHorizontalPanelAlignFeatureProvider } from \"../preview/horizontal-panel-alignment/PreviewHorizontalPanelAlign\";\nimport { usePreviewFeatures } from \"../preview/PreviewFeatures\";\nimport { toPanelSide } from \"../stagepanels/StagePanelDef\";\nimport { StagePanelLocation } from \"../stagepanels/StagePanelLocation\";\nimport { StagePanelSection } from \"../stagepanels/StagePanelSection\";\nimport { StagePanelState } from \"../stagepanels/StagePanelState\";\nimport { UiItemsManager } from \"../ui-items-provider/UiItemsManager\";\nimport { UiFramework } from \"../UiFramework\";\nimport { useUiStateStorageHandler } from \"../uistate/useUiStateStorage\";\nimport type { WidgetDef } from \"../widgets/WidgetDef\";\nimport { WidgetState } from \"../widgets/WidgetState\";\nimport { WidgetContent } from \"./Content\";\nimport { FloatingWidget } from \"./FloatingWidget\";\nimport \"./Frontstage.scss\";\nimport { WidgetPanelsFrontstageContent } from \"./FrontstageContent\";\nimport {\n ModalFrontstageComposer,\n useActiveModalFrontstageInfo,\n} from \"./ModalFrontstageComposer\";\nimport { WidgetPanelsStatusBar } from \"./StatusBar\";\nimport { WidgetPanelsTab } from \"./Tab\";\nimport { WidgetPanelsToolbars } from \"./Toolbars\";\nimport { ToolSettingsContent, WidgetPanelsToolSettings } from \"./ToolSettings\";\nimport { MaximizedWidgetProvider } from \"../preview/enable-maximized-widget/MaximizedWidget\";\nimport { StandardLayout } from \"../layout/StandardLayout\";\nimport { WidgetPanelProvider } from \"../layout/widget-panels/Panel\";\nimport { WidgetContentRenderers } from \"../layout/widget/ContentRenderer\";\nimport { useCursor } from \"../layout/widget-panels/CursorOverlay\";\nimport { WidgetPanelExpanders } from \"../layout/widget-panels/Expander\";\nimport { useTranslation } from \"../hooks/useTranslation\";\nimport { PopoutWidgets } from \"../preview/reparent-popout-widgets/PopoutWidgets\";\nimport { useReduxFrameworkState } from \"../uistate/useReduxFrameworkState\";\nimport { ConfigurableUiContext } from \"../configurableui/ConfigurableUiContent\";\nimport { useSaveFrontstageSettings } from \"./useSaveFrontstageSettings\";\nimport type { UiStateStorageResult } from \"../uistate/UiStateStorage\";\nimport { UiStateStorageStatus } from \"../uistate/UiStateStorage\";\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 features = usePreviewFeatures();\n\n const reducer = React.useMemo(() => {\n let nineZoneStateReducer = log(NineZoneStateReducer);\n\n nineZoneStateReducer = features.activateDroppedTab\n ? activateDroppedTab(nineZoneStateReducer)\n : nineZoneStateReducer;\n return nineZoneStateReducer;\n }, [features.activateDroppedTab]);\n\n return React.useCallback<NineZoneDispatch>(\n (action) => {\n if (action.type === \"RESIZE\") {\n InternalFrontstageManager.nineZoneSize = Size.create(action.size);\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 = 18; // 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 { Size } from \"@itwin/core-react\";\nimport produce from \"immer\";\nimport * as React from \"react\";\nimport { unstable_batchedUpdates } from \"react-dom\";\nimport type { FrontstageDef } from \"../frontstage/FrontstageDef\";\nimport { useActiveFrontstageDef } from \"../frontstage/FrontstageDef\";\nimport { InternalFrontstageManager } from \"../frontstage/InternalFrontstageManager\";\nimport { useEscapeSetFocusToHome } from \"../hooks/useEscapeSetFocusToHome\";\nimport { useUiVisibility } from \"../hooks/useUiVisibility\";\nimport { createLayoutStore } from \"../layout/base/LayoutStore\";\nimport type { NineZoneDispatch, NineZoneLabels } from \"../layout/base/NineZone\";\nimport { getUniqueId, NineZone } from \"../layout/base/NineZone\";\nimport { activateDroppedTab } from \"../preview/activate-dropped-tab/activateDroppedTab\";\nimport type { NineZoneState } from \"../layout/state/NineZoneState\";\nimport { createNineZoneState } from \"../layout/state/NineZoneState\";\nimport { NineZoneStateReducer } from \"../layout/state/NineZoneStateReducer\";\nimport { getWidgetPanelSectionId } from \"../layout/state/PanelState\";\nimport type { TabState } from \"../layout/state/TabState\";\nimport { FloatingWidgets } from \"../layout/widget/FloatingWidgets\";\nimport { PreviewHorizontalPanelAlignFeatureProvider } from \"../preview/horizontal-panel-alignment/PreviewHorizontalPanelAlign\";\nimport { usePreviewFeatures } from \"../preview/PreviewFeatures\";\nimport { toPanelSide } from \"../stagepanels/StagePanelDef\";\nimport { StagePanelLocation } from \"../stagepanels/StagePanelLocation\";\nimport { StagePanelSection } from \"../stagepanels/StagePanelSection\";\nimport { StagePanelState } from \"../stagepanels/StagePanelState\";\nimport { UiItemsManager } from \"../ui-items-provider/UiItemsManager\";\nimport { UiFramework } from \"../UiFramework\";\nimport { useUiStateStorageHandler } from \"../uistate/useUiStateStorage\";\nimport type { WidgetDef } from \"../widgets/WidgetDef\";\nimport { WidgetState } from \"../widgets/WidgetState\";\nimport { WidgetContent } from \"./Content\";\nimport { FloatingWidget } from \"./FloatingWidget\";\nimport \"./Frontstage.scss\";\nimport { WidgetPanelsFrontstageContent } from \"./FrontstageContent\";\nimport {\n ModalFrontstageComposer,\n useActiveModalFrontstageInfo,\n} from \"./ModalFrontstageComposer\";\nimport { WidgetPanelsStatusBar } from \"./StatusBar\";\nimport { WidgetPanelsTab } from \"./Tab\";\nimport { WidgetPanelsToolbars } from \"./Toolbars\";\nimport { ToolSettingsContent, WidgetPanelsToolSettings } from \"./ToolSettings\";\nimport { MaximizedWidgetProvider } from \"../preview/enable-maximized-widget/MaximizedWidget\";\nimport { StandardLayout } from \"../layout/StandardLayout\";\nimport { WidgetPanelProvider } from \"../layout/widget-panels/Panel\";\nimport { WidgetContentRenderers } from \"../layout/widget/ContentRenderer\";\nimport { useCursor } from \"../layout/widget-panels/CursorOverlay\";\nimport { WidgetPanelExpanders } from \"../layout/widget-panels/Expander\";\nimport { useTranslation } from \"../hooks/useTranslation\";\nimport { PopoutWidgets } from \"../preview/reparent-popout-widgets/PopoutWidgets\";\nimport { useReduxFrameworkState } from \"../uistate/useReduxFrameworkState\";\nimport { ConfigurableUiContext } from \"../configurableui/ConfigurableUiContent\";\nimport { useSaveFrontstageSettings } from \"./useSaveFrontstageSettings\";\nimport type { UiStateStorageResult } from \"../uistate/UiStateStorage\";\nimport { UiStateStorageStatus } from \"../uistate/UiStateStorage\";\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 features = usePreviewFeatures();\n\n const reducer = React.useMemo(() => {\n let nineZoneStateReducer = log(NineZoneStateReducer);\n\n nineZoneStateReducer = features.activateDroppedTab\n ? activateDroppedTab(nineZoneStateReducer)\n : nineZoneStateReducer;\n return nineZoneStateReducer;\n }, [features.activateDroppedTab]);\n\n return React.useCallback<NineZoneDispatch>(\n (action) => {\n if (action.type === \"RESIZE\") {\n InternalFrontstageManager.nineZoneSize = Size.create(action.size);\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 = 18; // 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":"StandardMessageBox.d.ts","sourceRoot":"","sources":["../../../../src/appui-react/dialog/StandardMessageBox.tsx"],"names":[],"mappings":"AAIA;;GAEG;AAEH,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAI/B,OAAO,EACL,kBAAkB,EAClB,cAAc,EACd,eAAe,EAChB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAMrD;;;GAGG;AAEH,MAAM,WAAW,uBAAwB,SAAQ,WAAW;IAC1D,iDAAiD;IACjD,MAAM,EAAE,OAAO,CAAC;IAChB,uDAAuD;IACvD,QAAQ,EAAE,kBAAkB,CAAC;IAC7B,2CAA2C;IAC3C,KAAK,EAAE,MAAM,CAAC;IACd,yCAAyC;IACzC,cAAc,EAAE,cAAc,CAAC;IAC/B,+DAA+D;IAC/D,QAAQ,CAAC,EAAE,CAAC,MAAM,EAAE,eAAe,KAAK,IAAI,CAAC;IAC7C,eAAe;IACf,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;CAC5B;AAED;;;GAGG;AAEH,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,uBAAuB,qBA0EhE"}
1
+ {"version":3,"file":"StandardMessageBox.d.ts","sourceRoot":"","sources":["../../../../src/appui-react/dialog/StandardMessageBox.tsx"],"names":[],"mappings":"AAIA;;GAEG;AAEH,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAG/B,OAAO,EACL,kBAAkB,EAClB,cAAc,EACd,eAAe,EAChB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAOrD;;;GAGG;AAEH,MAAM,WAAW,uBAAwB,SAAQ,WAAW;IAC1D,iDAAiD;IACjD,MAAM,EAAE,OAAO,CAAC;IAChB,uDAAuD;IACvD,QAAQ,EAAE,kBAAkB,CAAC;IAC7B,2CAA2C;IAC3C,KAAK,EAAE,MAAM,CAAC;IACd,yCAAyC;IACzC,cAAc,EAAE,cAAc,CAAC;IAC/B,+DAA+D;IAC/D,QAAQ,CAAC,EAAE,CAAC,MAAM,EAAE,eAAe,KAAK,IAAI,CAAC;IAC7C,eAAe;IACf,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;CAC5B;AAED;;;GAGG;AAEH,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,uBAAuB,qBA0EhE"}
@@ -7,12 +7,12 @@
7
7
  */
8
8
  import * as React from "react";
9
9
  import { DialogButtonType, MessageSeverity } from "@itwin/appui-abstract";
10
- import { useTranslation } from "@itwin/components-react";
11
10
  import { MessageBoxIconType, MessageBoxType, MessageBoxValue, } from "@itwin/core-frontend";
12
11
  import { MessageContainer } from "@itwin/core-react";
13
12
  import { Button, Dialog } from "@itwin/itwinui-react";
14
13
  import { DialogManagerBase } from "./DialogManagerBase";
15
14
  import { UiFramework } from "../UiFramework";
15
+ import { useTranslation } from "../hooks/useTranslation";
16
16
  /** StandardMessageBox React component displays a standard icon, message text and a standard button set in the lower right.
17
17
  * @public
18
18
  * @deprecated in 4.15.0. Use {@link https://itwinui.bentley.com/docs/dialog iTwinUI Dialog} instead.
@@ -1 +1 @@
1
- {"version":3,"file":"StandardMessageBox.js","sourceRoot":"","sources":["../../../../src/appui-react/dialog/StandardMessageBox.tsx"],"names":[],"mappings":"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","sourcesContent":["/*---------------------------------------------------------------------------------------------\n * Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n * See LICENSE.md in the project root for license terms and full copyright notice.\n *--------------------------------------------------------------------------------------------*/\n/** @packageDocumentation\n * @module Dialog\n */\n\nimport * as React from \"react\";\nimport type { DialogButtonDef } from \"@itwin/appui-abstract\";\nimport { DialogButtonType, MessageSeverity } from \"@itwin/appui-abstract\";\nimport { useTranslation } from \"@itwin/components-react\";\nimport {\n MessageBoxIconType,\n MessageBoxType,\n MessageBoxValue,\n} from \"@itwin/core-frontend\";\nimport type { CommonProps } from \"@itwin/core-react\";\nimport { MessageContainer } from \"@itwin/core-react\";\nimport { Button, Dialog } from \"@itwin/itwinui-react\";\nimport { DialogManagerBase } from \"./DialogManagerBase\";\nimport { UiFramework } from \"../UiFramework\";\n\n/** Properties for [[StandardMessageBox]] React component\n * @public\n * @deprecated in 4.15.0. Props of deprecated {@link StandardMessageBox} component.\n */\n// eslint-disable-next-line deprecation/deprecation\nexport interface StandardMessageBoxProps extends CommonProps {\n /** Indicates whether the message box is open. */\n opened: boolean;\n /** The standard icon to display in the message box. */\n iconType: MessageBoxIconType;\n /** Title to display in the message box. */\n title: string;\n /** Controls the button set displayed. */\n messageBoxType: MessageBoxType;\n /** Callback function for processing the message box result. */\n onResult?: (result: MessageBoxValue) => void;\n /** Content. */\n children?: React.ReactNode;\n}\n\n/** StandardMessageBox React component displays a standard icon, message text and a standard button set in the lower right.\n * @public\n * @deprecated in 4.15.0. Use {@link https://itwinui.bentley.com/docs/dialog iTwinUI Dialog} instead.\n */\n// eslint-disable-next-line deprecation/deprecation\nexport function StandardMessageBox(props: StandardMessageBoxProps) {\n const [isOpen, setIsOpen] = React.useState(props.opened);\n\n let severity = MessageSeverity.None;\n switch (props.iconType) {\n case MessageBoxIconType.NoSymbol:\n severity = MessageSeverity.None;\n break;\n case MessageBoxIconType.Information:\n severity = MessageSeverity.Information;\n break;\n case MessageBoxIconType.Question:\n severity = MessageSeverity.Question;\n break;\n case MessageBoxIconType.Warning:\n severity = MessageSeverity.Warning;\n break;\n case MessageBoxIconType.Critical:\n severity = MessageSeverity.Error;\n break;\n case MessageBoxIconType.Success:\n severity = MessageSeverity.Success;\n break;\n }\n\n const handleButton = (buttonType: MessageBoxValue) => {\n closeDialog(() => {\n if (props.onResult) props.onResult(buttonType);\n });\n };\n\n const handleCancel = () => {\n closeDialog(() => {\n if (props.onResult) props.onResult(MessageBoxValue.Cancel);\n });\n };\n\n const closeDialog = (followUp: () => void) => {\n setIsOpen(false);\n UiFramework.dialogs.modal.close();\n followUp();\n };\n\n return (\n <Dialog\n isOpen={isOpen}\n style={{ zIndex: DialogManagerBase.topZIndex, ...props.style }}\n className={props.className}\n onClose={handleCancel}\n closeOnEsc\n closeOnExternalClick={false}\n preventDocumentScroll\n >\n <Dialog.Backdrop />\n <Dialog.Main\n style={{ width: 512 }}\n data-testid=\"message-box-dialog-container\"\n >\n <Dialog.TitleBar titleText={props.title} />\n <Dialog.Content>\n {/* eslint-disable-next-line deprecation/deprecation */}\n <MessageContainer severity={severity}>\n {props.children}\n </MessageContainer>\n </Dialog.Content>\n <Dialog.ButtonBar>\n <DialogButtons\n messageBoxType={props.messageBoxType}\n handleButton={handleButton}\n />\n </Dialog.ButtonBar>\n </Dialog.Main>\n </Dialog>\n );\n}\n\nfunction DialogButtons(props: {\n messageBoxType: MessageBoxType;\n handleButton: (buttonType: MessageBoxValue) => void;\n}) {\n const buttonCluster: DialogButtonDef[] = new Array<DialogButtonDef>();\n\n switch (props.messageBoxType) {\n case MessageBoxType.Ok:\n case MessageBoxType.LargeOk:\n buttonCluster.push({\n type: DialogButtonType.OK,\n onClick: () => {\n props.handleButton(MessageBoxValue.Ok);\n },\n });\n break;\n case MessageBoxType.OkCancel:\n case MessageBoxType.MediumAlert:\n buttonCluster.push({\n type: DialogButtonType.OK,\n onClick: () => {\n props.handleButton(MessageBoxValue.Ok);\n },\n });\n buttonCluster.push({\n type: DialogButtonType.Cancel,\n onClick: () => {\n props.handleButton(MessageBoxValue.Cancel);\n },\n });\n break;\n case MessageBoxType.YesNo:\n case MessageBoxType.YesNoCancel:\n buttonCluster.push({\n type: DialogButtonType.Yes,\n onClick: () => {\n props.handleButton(MessageBoxValue.Yes);\n },\n });\n buttonCluster.push({\n type: DialogButtonType.No,\n onClick: () => {\n props.handleButton(MessageBoxValue.No);\n },\n });\n if (MessageBoxType.YesNoCancel === props.messageBoxType)\n buttonCluster.push({\n type: DialogButtonType.Cancel,\n onClick: () => {\n props.handleButton(MessageBoxValue.Cancel);\n },\n });\n break;\n }\n\n return buttonCluster.map((button, index) => {\n return <DialogButton button={button} key={index} />;\n });\n}\n\nfunction DialogButton({ button }: { button: DialogButtonDef }) {\n const { translate } = useTranslation();\n\n let buttonText = \"\";\n let usePrimaryStyleType = false;\n\n switch (button.type) {\n case DialogButtonType.OK:\n buttonText = translate(\"dialog.ok\");\n usePrimaryStyleType = true;\n break;\n case DialogButtonType.Retry:\n buttonText = translate(\"dialog.retry\");\n usePrimaryStyleType = true;\n break;\n case DialogButtonType.Yes:\n buttonText = translate(\"dialog.yes\");\n usePrimaryStyleType = true;\n break;\n case DialogButtonType.No:\n buttonText = translate(\"dialog.no\");\n break;\n case DialogButtonType.Cancel:\n buttonText = translate(\"dialog.cancel\");\n break;\n case DialogButtonType.Close:\n buttonText = translate(\"dialog.close\");\n break;\n case DialogButtonType.Next:\n buttonText = translate(\"dialog.next\");\n usePrimaryStyleType = true;\n break;\n case DialogButtonType.Previous:\n buttonText = translate(\"dialog.previous\");\n usePrimaryStyleType = true;\n break;\n }\n\n return (\n <Button\n styleType={usePrimaryStyleType ? \"high-visibility\" : undefined}\n onClick={button.onClick}\n >\n {buttonText}\n </Button>\n );\n}\n"]}
1
+ {"version":3,"file":"StandardMessageBox.js","sourceRoot":"","sources":["../../../../src/appui-react/dialog/StandardMessageBox.tsx"],"names":[],"mappings":"AAAA;;;gGAGgG;AAChG;;GAEG;AAEH,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,OAAO,EAAE,gBAAgB,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAC1E,OAAO,EACL,kBAAkB,EAClB,cAAc,EACd,eAAe,GAChB,MAAM,sBAAsB,CAAC;AAE9B,OAAO,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AACrD,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AACxD,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAC7C,OAAO,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AAsBzD;;;GAGG;AACH,mDAAmD;AACnD,MAAM,UAAU,kBAAkB,CAAC,KAA8B;IAC/D,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,GAAG,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;IAEzD,IAAI,QAAQ,GAAG,eAAe,CAAC,IAAI,CAAC;IACpC,QAAQ,KAAK,CAAC,QAAQ,EAAE,CAAC;QACvB,KAAK,kBAAkB,CAAC,QAAQ;YAC9B,QAAQ,GAAG,eAAe,CAAC,IAAI,CAAC;YAChC,MAAM;QACR,KAAK,kBAAkB,CAAC,WAAW;YACjC,QAAQ,GAAG,eAAe,CAAC,WAAW,CAAC;YACvC,MAAM;QACR,KAAK,kBAAkB,CAAC,QAAQ;YAC9B,QAAQ,GAAG,eAAe,CAAC,QAAQ,CAAC;YACpC,MAAM;QACR,KAAK,kBAAkB,CAAC,OAAO;YAC7B,QAAQ,GAAG,eAAe,CAAC,OAAO,CAAC;YACnC,MAAM;QACR,KAAK,kBAAkB,CAAC,QAAQ;YAC9B,QAAQ,GAAG,eAAe,CAAC,KAAK,CAAC;YACjC,MAAM;QACR,KAAK,kBAAkB,CAAC,OAAO;YAC7B,QAAQ,GAAG,eAAe,CAAC,OAAO,CAAC;YACnC,MAAM;IACV,CAAC;IAED,MAAM,YAAY,GAAG,CAAC,UAA2B,EAAE,EAAE;QACnD,WAAW,CAAC,GAAG,EAAE;YACf,IAAI,KAAK,CAAC,QAAQ;gBAAE,KAAK,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;QACjD,CAAC,CAAC,CAAC;IACL,CAAC,CAAC;IAEF,MAAM,YAAY,GAAG,GAAG,EAAE;QACxB,WAAW,CAAC,GAAG,EAAE;YACf,IAAI,KAAK,CAAC,QAAQ;gBAAE,KAAK,CAAC,QAAQ,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC;QAC7D,CAAC,CAAC,CAAC;IACL,CAAC,CAAC;IAEF,MAAM,WAAW,GAAG,CAAC,QAAoB,EAAE,EAAE;QAC3C,SAAS,CAAC,KAAK,CAAC,CAAC;QACjB,WAAW,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC;QAClC,QAAQ,EAAE,CAAC;IACb,CAAC,CAAC;IAEF,OAAO,CACL,oBAAC,MAAM,IACL,MAAM,EAAE,MAAM,EACd,KAAK,EAAE,EAAE,MAAM,EAAE,iBAAiB,CAAC,SAAS,EAAE,GAAG,KAAK,CAAC,KAAK,EAAE,EAC9D,SAAS,EAAE,KAAK,CAAC,SAAS,EAC1B,OAAO,EAAE,YAAY,EACrB,UAAU,QACV,oBAAoB,EAAE,KAAK,EAC3B,qBAAqB;QAErB,oBAAC,MAAM,CAAC,QAAQ,OAAG;QACnB,oBAAC,MAAM,CAAC,IAAI,IACV,KAAK,EAAE,EAAE,KAAK,EAAE,GAAG,EAAE,iBACT,8BAA8B;YAE1C,oBAAC,MAAM,CAAC,QAAQ,IAAC,SAAS,EAAE,KAAK,CAAC,KAAK,GAAI;YAC3C,oBAAC,MAAM,CAAC,OAAO;gBAEb,oBAAC,gBAAgB,IAAC,QAAQ,EAAE,QAAQ,IACjC,KAAK,CAAC,QAAQ,CACE,CACJ;YACjB,oBAAC,MAAM,CAAC,SAAS;gBACf,oBAAC,aAAa,IACZ,cAAc,EAAE,KAAK,CAAC,cAAc,EACpC,YAAY,EAAE,YAAY,GAC1B,CACe,CACP,CACP,CACV,CAAC;AACJ,CAAC;AAED,SAAS,aAAa,CAAC,KAGtB;IACC,MAAM,aAAa,GAAsB,IAAI,KAAK,EAAmB,CAAC;IAEtE,QAAQ,KAAK,CAAC,cAAc,EAAE,CAAC;QAC7B,KAAK,cAAc,CAAC,EAAE,CAAC;QACvB,KAAK,cAAc,CAAC,OAAO;YACzB,aAAa,CAAC,IAAI,CAAC;gBACjB,IAAI,EAAE,gBAAgB,CAAC,EAAE;gBACzB,OAAO,EAAE,GAAG,EAAE;oBACZ,KAAK,CAAC,YAAY,CAAC,eAAe,CAAC,EAAE,CAAC,CAAC;gBACzC,CAAC;aACF,CAAC,CAAC;YACH,MAAM;QACR,KAAK,cAAc,CAAC,QAAQ,CAAC;QAC7B,KAAK,cAAc,CAAC,WAAW;YAC7B,aAAa,CAAC,IAAI,CAAC;gBACjB,IAAI,EAAE,gBAAgB,CAAC,EAAE;gBACzB,OAAO,EAAE,GAAG,EAAE;oBACZ,KAAK,CAAC,YAAY,CAAC,eAAe,CAAC,EAAE,CAAC,CAAC;gBACzC,CAAC;aACF,CAAC,CAAC;YACH,aAAa,CAAC,IAAI,CAAC;gBACjB,IAAI,EAAE,gBAAgB,CAAC,MAAM;gBAC7B,OAAO,EAAE,GAAG,EAAE;oBACZ,KAAK,CAAC,YAAY,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC;gBAC7C,CAAC;aACF,CAAC,CAAC;YACH,MAAM;QACR,KAAK,cAAc,CAAC,KAAK,CAAC;QAC1B,KAAK,cAAc,CAAC,WAAW;YAC7B,aAAa,CAAC,IAAI,CAAC;gBACjB,IAAI,EAAE,gBAAgB,CAAC,GAAG;gBAC1B,OAAO,EAAE,GAAG,EAAE;oBACZ,KAAK,CAAC,YAAY,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC;gBAC1C,CAAC;aACF,CAAC,CAAC;YACH,aAAa,CAAC,IAAI,CAAC;gBACjB,IAAI,EAAE,gBAAgB,CAAC,EAAE;gBACzB,OAAO,EAAE,GAAG,EAAE;oBACZ,KAAK,CAAC,YAAY,CAAC,eAAe,CAAC,EAAE,CAAC,CAAC;gBACzC,CAAC;aACF,CAAC,CAAC;YACH,IAAI,cAAc,CAAC,WAAW,KAAK,KAAK,CAAC,cAAc;gBACrD,aAAa,CAAC,IAAI,CAAC;oBACjB,IAAI,EAAE,gBAAgB,CAAC,MAAM;oBAC7B,OAAO,EAAE,GAAG,EAAE;wBACZ,KAAK,CAAC,YAAY,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC;oBAC7C,CAAC;iBACF,CAAC,CAAC;YACL,MAAM;IACV,CAAC;IAED,OAAO,aAAa,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE;QACzC,OAAO,oBAAC,YAAY,IAAC,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,KAAK,GAAI,CAAC;IACtD,CAAC,CAAC,CAAC;AACL,CAAC;AAED,SAAS,YAAY,CAAC,EAAE,MAAM,EAA+B;IAC3D,MAAM,EAAE,SAAS,EAAE,GAAG,cAAc,EAAE,CAAC;IAEvC,IAAI,UAAU,GAAG,EAAE,CAAC;IACpB,IAAI,mBAAmB,GAAG,KAAK,CAAC;IAEhC,QAAQ,MAAM,CAAC,IAAI,EAAE,CAAC;QACpB,KAAK,gBAAgB,CAAC,EAAE;YACtB,UAAU,GAAG,SAAS,CAAC,WAAW,CAAC,CAAC;YACpC,mBAAmB,GAAG,IAAI,CAAC;YAC3B,MAAM;QACR,KAAK,gBAAgB,CAAC,KAAK;YACzB,UAAU,GAAG,SAAS,CAAC,cAAc,CAAC,CAAC;YACvC,mBAAmB,GAAG,IAAI,CAAC;YAC3B,MAAM;QACR,KAAK,gBAAgB,CAAC,GAAG;YACvB,UAAU,GAAG,SAAS,CAAC,YAAY,CAAC,CAAC;YACrC,mBAAmB,GAAG,IAAI,CAAC;YAC3B,MAAM;QACR,KAAK,gBAAgB,CAAC,EAAE;YACtB,UAAU,GAAG,SAAS,CAAC,WAAW,CAAC,CAAC;YACpC,MAAM;QACR,KAAK,gBAAgB,CAAC,MAAM;YAC1B,UAAU,GAAG,SAAS,CAAC,eAAe,CAAC,CAAC;YACxC,MAAM;QACR,KAAK,gBAAgB,CAAC,KAAK;YACzB,UAAU,GAAG,SAAS,CAAC,cAAc,CAAC,CAAC;YACvC,MAAM;QACR,KAAK,gBAAgB,CAAC,IAAI;YACxB,UAAU,GAAG,SAAS,CAAC,aAAa,CAAC,CAAC;YACtC,mBAAmB,GAAG,IAAI,CAAC;YAC3B,MAAM;QACR,KAAK,gBAAgB,CAAC,QAAQ;YAC5B,UAAU,GAAG,SAAS,CAAC,iBAAiB,CAAC,CAAC;YAC1C,mBAAmB,GAAG,IAAI,CAAC;YAC3B,MAAM;IACV,CAAC;IAED,OAAO,CACL,oBAAC,MAAM,IACL,SAAS,EAAE,mBAAmB,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC,SAAS,EAC9D,OAAO,EAAE,MAAM,CAAC,OAAO,IAEtB,UAAU,CACJ,CACV,CAAC;AACJ,CAAC","sourcesContent":["/*---------------------------------------------------------------------------------------------\n * Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n * See LICENSE.md in the project root for license terms and full copyright notice.\n *--------------------------------------------------------------------------------------------*/\n/** @packageDocumentation\n * @module Dialog\n */\n\nimport * as React from \"react\";\nimport type { DialogButtonDef } from \"@itwin/appui-abstract\";\nimport { DialogButtonType, MessageSeverity } from \"@itwin/appui-abstract\";\nimport {\n MessageBoxIconType,\n MessageBoxType,\n MessageBoxValue,\n} from \"@itwin/core-frontend\";\nimport type { CommonProps } from \"@itwin/core-react\";\nimport { MessageContainer } from \"@itwin/core-react\";\nimport { Button, Dialog } from \"@itwin/itwinui-react\";\nimport { DialogManagerBase } from \"./DialogManagerBase\";\nimport { UiFramework } from \"../UiFramework\";\nimport { useTranslation } from \"../hooks/useTranslation\";\n\n/** Properties for [[StandardMessageBox]] React component\n * @public\n * @deprecated in 4.15.0. Props of deprecated {@link StandardMessageBox} component.\n */\n// eslint-disable-next-line deprecation/deprecation\nexport interface StandardMessageBoxProps extends CommonProps {\n /** Indicates whether the message box is open. */\n opened: boolean;\n /** The standard icon to display in the message box. */\n iconType: MessageBoxIconType;\n /** Title to display in the message box. */\n title: string;\n /** Controls the button set displayed. */\n messageBoxType: MessageBoxType;\n /** Callback function for processing the message box result. */\n onResult?: (result: MessageBoxValue) => void;\n /** Content. */\n children?: React.ReactNode;\n}\n\n/** StandardMessageBox React component displays a standard icon, message text and a standard button set in the lower right.\n * @public\n * @deprecated in 4.15.0. Use {@link https://itwinui.bentley.com/docs/dialog iTwinUI Dialog} instead.\n */\n// eslint-disable-next-line deprecation/deprecation\nexport function StandardMessageBox(props: StandardMessageBoxProps) {\n const [isOpen, setIsOpen] = React.useState(props.opened);\n\n let severity = MessageSeverity.None;\n switch (props.iconType) {\n case MessageBoxIconType.NoSymbol:\n severity = MessageSeverity.None;\n break;\n case MessageBoxIconType.Information:\n severity = MessageSeverity.Information;\n break;\n case MessageBoxIconType.Question:\n severity = MessageSeverity.Question;\n break;\n case MessageBoxIconType.Warning:\n severity = MessageSeverity.Warning;\n break;\n case MessageBoxIconType.Critical:\n severity = MessageSeverity.Error;\n break;\n case MessageBoxIconType.Success:\n severity = MessageSeverity.Success;\n break;\n }\n\n const handleButton = (buttonType: MessageBoxValue) => {\n closeDialog(() => {\n if (props.onResult) props.onResult(buttonType);\n });\n };\n\n const handleCancel = () => {\n closeDialog(() => {\n if (props.onResult) props.onResult(MessageBoxValue.Cancel);\n });\n };\n\n const closeDialog = (followUp: () => void) => {\n setIsOpen(false);\n UiFramework.dialogs.modal.close();\n followUp();\n };\n\n return (\n <Dialog\n isOpen={isOpen}\n style={{ zIndex: DialogManagerBase.topZIndex, ...props.style }}\n className={props.className}\n onClose={handleCancel}\n closeOnEsc\n closeOnExternalClick={false}\n preventDocumentScroll\n >\n <Dialog.Backdrop />\n <Dialog.Main\n style={{ width: 512 }}\n data-testid=\"message-box-dialog-container\"\n >\n <Dialog.TitleBar titleText={props.title} />\n <Dialog.Content>\n {/* eslint-disable-next-line deprecation/deprecation */}\n <MessageContainer severity={severity}>\n {props.children}\n </MessageContainer>\n </Dialog.Content>\n <Dialog.ButtonBar>\n <DialogButtons\n messageBoxType={props.messageBoxType}\n handleButton={handleButton}\n />\n </Dialog.ButtonBar>\n </Dialog.Main>\n </Dialog>\n );\n}\n\nfunction DialogButtons(props: {\n messageBoxType: MessageBoxType;\n handleButton: (buttonType: MessageBoxValue) => void;\n}) {\n const buttonCluster: DialogButtonDef[] = new Array<DialogButtonDef>();\n\n switch (props.messageBoxType) {\n case MessageBoxType.Ok:\n case MessageBoxType.LargeOk:\n buttonCluster.push({\n type: DialogButtonType.OK,\n onClick: () => {\n props.handleButton(MessageBoxValue.Ok);\n },\n });\n break;\n case MessageBoxType.OkCancel:\n case MessageBoxType.MediumAlert:\n buttonCluster.push({\n type: DialogButtonType.OK,\n onClick: () => {\n props.handleButton(MessageBoxValue.Ok);\n },\n });\n buttonCluster.push({\n type: DialogButtonType.Cancel,\n onClick: () => {\n props.handleButton(MessageBoxValue.Cancel);\n },\n });\n break;\n case MessageBoxType.YesNo:\n case MessageBoxType.YesNoCancel:\n buttonCluster.push({\n type: DialogButtonType.Yes,\n onClick: () => {\n props.handleButton(MessageBoxValue.Yes);\n },\n });\n buttonCluster.push({\n type: DialogButtonType.No,\n onClick: () => {\n props.handleButton(MessageBoxValue.No);\n },\n });\n if (MessageBoxType.YesNoCancel === props.messageBoxType)\n buttonCluster.push({\n type: DialogButtonType.Cancel,\n onClick: () => {\n props.handleButton(MessageBoxValue.Cancel);\n },\n });\n break;\n }\n\n return buttonCluster.map((button, index) => {\n return <DialogButton button={button} key={index} />;\n });\n}\n\nfunction DialogButton({ button }: { button: DialogButtonDef }) {\n const { translate } = useTranslation();\n\n let buttonText = \"\";\n let usePrimaryStyleType = false;\n\n switch (button.type) {\n case DialogButtonType.OK:\n buttonText = translate(\"dialog.ok\");\n usePrimaryStyleType = true;\n break;\n case DialogButtonType.Retry:\n buttonText = translate(\"dialog.retry\");\n usePrimaryStyleType = true;\n break;\n case DialogButtonType.Yes:\n buttonText = translate(\"dialog.yes\");\n usePrimaryStyleType = true;\n break;\n case DialogButtonType.No:\n buttonText = translate(\"dialog.no\");\n break;\n case DialogButtonType.Cancel:\n buttonText = translate(\"dialog.cancel\");\n break;\n case DialogButtonType.Close:\n buttonText = translate(\"dialog.close\");\n break;\n case DialogButtonType.Next:\n buttonText = translate(\"dialog.next\");\n usePrimaryStyleType = true;\n break;\n case DialogButtonType.Previous:\n buttonText = translate(\"dialog.previous\");\n usePrimaryStyleType = true;\n break;\n }\n\n return (\n <Button\n styleType={usePrimaryStyleType ? \"high-visibility\" : undefined}\n onClick={button.onClick}\n >\n {buttonText}\n </Button>\n );\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"FrontstageDef.d.ts","sourceRoot":"","sources":["../../../../src/appui-react/frontstage/FrontstageDef.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"FrontstageDef.d.ts","sourceRoot":"","sources":["../../../../src/appui-react/frontstage/FrontstageDef.tsx"],"names":[],"mappings":"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"}
@@ -26,6 +26,7 @@ import { getWidgetState, WidgetDef, WidgetType } from "../widgets/WidgetDef";
26
26
  import { WidgetState } from "../widgets/WidgetState";
27
27
  import { InternalFrontstageManager } from "./InternalFrontstageManager";
28
28
  import { StageUsage } from "./StageUsage";
29
+ import { FRONTSTAGE_SETTINGS_NAMESPACE, getFrontstageStateSettingName, } from "../widget-panels/Frontstage";
29
30
  /** FrontstageDef class provides an API for a Frontstage.
30
31
  * @public
31
32
  */
@@ -479,6 +480,9 @@ export class FrontstageDef {
479
480
  for (const widgetDef of this.widgetDefs) {
480
481
  widgetDef.setWidgetState(widgetDef.defaultState);
481
482
  }
483
+ const storage = UiFramework.getUiStateStorage();
484
+ void storage.deleteSetting(FRONTSTAGE_SETTINGS_NAMESPACE, getFrontstageStateSettingName(this.id));
485
+ this.nineZoneState = undefined;
482
486
  InternalFrontstageManager.onFrontstageRestoreLayoutEvent.emit({
483
487
  frontstageDef: this,
484
488
  });