@itwin/appui-react 5.24.1 → 5.24.2
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 +9 -0
- package/lib/appui-react/UiFramework.d.ts.map +1 -1
- package/lib/appui-react/UiFramework.js.map +1 -1
- package/lib/appui-react/backstage/BackstageComposerItem.js +1 -3
- package/lib/appui-react/backstage/BackstageComposerItem.js.map +1 -1
- package/lib/appui-react/content/ContentControl.d.ts.map +1 -1
- package/lib/appui-react/content/ContentControl.js +0 -1
- package/lib/appui-react/content/ContentControl.js.map +1 -1
- package/lib/appui-react/content/FloatingViewportContent.d.ts.map +1 -1
- package/lib/appui-react/content/FloatingViewportContent.js +0 -4
- package/lib/appui-react/content/FloatingViewportContent.js.map +1 -1
- package/lib/appui-react/content/InternalContentViewManager.d.ts.map +1 -1
- package/lib/appui-react/content/InternalContentViewManager.js +0 -5
- package/lib/appui-react/content/InternalContentViewManager.js.map +1 -1
- package/lib/appui-react/dialog/ModelessDialog.d.ts.map +1 -1
- package/lib/appui-react/dialog/ModelessDialog.js +1 -3
- package/lib/appui-react/dialog/ModelessDialog.js.map +1 -1
- package/lib/appui-react/feedback/ElementTooltip.d.ts +1 -2
- package/lib/appui-react/feedback/ElementTooltip.d.ts.map +1 -1
- package/lib/appui-react/feedback/ElementTooltip.js.map +1 -1
- package/lib/appui-react/frontstage/FrontstageDef.d.ts.map +1 -1
- package/lib/appui-react/frontstage/FrontstageDef.js +0 -3
- package/lib/appui-react/frontstage/FrontstageDef.js.map +1 -1
- package/lib/appui-react/frontstage/InternalFrontstageManager.d.ts.map +1 -1
- package/lib/appui-react/frontstage/InternalFrontstageManager.js +3 -12
- package/lib/appui-react/frontstage/InternalFrontstageManager.js.map +1 -1
- package/lib/appui-react/layout/widget/Tab.d.ts.map +1 -1
- package/lib/appui-react/layout/widget/Tab.js.map +1 -1
- package/lib/appui-react/layout/widget/widget-content-layout/WidgetContentLayout.d.ts.map +1 -1
- package/lib/appui-react/layout/widget/widget-content-layout/WidgetContentLayout.js +2 -3
- package/lib/appui-react/layout/widget/widget-content-layout/WidgetContentLayout.js.map +1 -1
- package/lib/appui-react/layout/widget/widget-content-layout/WidgetContentLayout.scss +12 -6
- package/lib/appui-react/layout/widget/widget-content-layout/header/HeaderLayout.d.ts +1 -1
- package/lib/appui-react/layout/widget/widget-content-layout/header/HeaderLayout.d.ts.map +1 -1
- package/lib/appui-react/layout/widget/widget-content-layout/header/HeaderLayout.js +2 -1
- package/lib/appui-react/layout/widget/widget-content-layout/header/HeaderLayout.js.map +1 -1
- package/lib/appui-react/navigationaids/SheetNavigationAid.d.ts.map +1 -1
- package/lib/appui-react/navigationaids/SheetNavigationAid.js.map +1 -1
- package/lib/appui-react/redux/ReducerRegistry.d.ts.map +1 -1
- package/lib/appui-react/redux/ReducerRegistry.js +0 -1
- package/lib/appui-react/redux/ReducerRegistry.js.map +1 -1
- package/lib/appui-react/redux/StateManager.d.ts.map +1 -1
- package/lib/appui-react/redux/StateManager.js +0 -2
- package/lib/appui-react/redux/StateManager.js.map +1 -1
- package/lib/appui-react/selection/SelectionContextItemDef.d.ts.map +1 -1
- package/lib/appui-react/selection/SelectionContextItemDef.js +0 -1
- package/lib/appui-react/selection/SelectionContextItemDef.js.map +1 -1
- package/lib/appui-react/settings/ui/UiSettingsPage.d.ts.map +1 -1
- package/lib/appui-react/settings/ui/UiSettingsPage.js +1 -6
- package/lib/appui-react/settings/ui/UiSettingsPage.js.map +1 -1
- package/lib/appui-react/shared/GroupItemProps.d.ts.map +1 -1
- package/lib/appui-react/shared/GroupItemProps.js.map +1 -1
- package/lib/appui-react/shared/MenuItem.d.ts.map +1 -1
- package/lib/appui-react/shared/MenuItem.js +0 -1
- package/lib/appui-react/shared/MenuItem.js.map +1 -1
- package/lib/appui-react/syncui/UiSyncEvent.d.ts +1 -1
- package/lib/appui-react/syncui/UiSyncEvent.js +1 -1
- package/lib/appui-react/syncui/UiSyncEvent.js.map +1 -1
- package/lib/appui-react/toolbar/ToolbarHelper.d.ts.map +1 -1
- package/lib/appui-react/toolbar/ToolbarHelper.js +2 -3
- package/lib/appui-react/toolbar/ToolbarHelper.js.map +1 -1
- package/lib/appui-react/toolsettings/InternalToolSettingsManager.js +0 -1
- package/lib/appui-react/toolsettings/InternalToolSettingsManager.js.map +1 -1
- package/lib/appui-react/ui-items-provider/AbstractUiItemsManager.js +1 -1
- package/lib/appui-react/ui-items-provider/AbstractUiItemsManager.js.map +1 -1
- package/lib/appui-react/ui-items-provider/UiItemsManager.d.ts.map +1 -1
- package/lib/appui-react/ui-items-provider/UiItemsManager.js.map +1 -1
- package/lib/appui-react/uistate/AppUiSettings.d.ts.map +1 -1
- package/lib/appui-react/uistate/AppUiSettings.js +0 -1
- package/lib/appui-react/uistate/AppUiSettings.js.map +1 -1
- package/lib/appui-react/utils/PropsHelper.d.ts +1 -1
- package/lib/appui-react/utils/PropsHelper.d.ts.map +1 -1
- package/lib/appui-react/utils/PropsHelper.js +2 -3
- package/lib/appui-react/utils/PropsHelper.js.map +1 -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/cjs/appui-react/layout/widget/widget-content-layout/WidgetContentLayout.scss +12 -6
- package/lib/esm/appui-react/layout/widget/widget-content-layout/WidgetContentLayout.scss +12 -6
- package/package.json +13 -14
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"WidgetDef.js","sourceRoot":"","sources":["../../../src/appui-react/widgets/WidgetDef.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 */\n\nimport type * as React from \"react\";\nimport type {\n ConditionalStringValue,\n StringGetter,\n} from \"@itwin/appui-abstract\";\nimport { UiError, UiEvent } from \"@itwin/appui-abstract\";\nimport type { XAndY } from \"@itwin/core-geometry\";\nimport type { ConfigurableUiControlConstructor } from \"../configurableui/ConfigurableUiControl.js\";\nimport {\n ConfigurableCreateInfo,\n ConfigurableUiControlType,\n} from \"../configurableui/ConfigurableUiControl.js\";\nimport { UiFramework } from \"../UiFramework.js\";\nimport { PropsHelper } from \"../utils/PropsHelper.js\";\nimport type { WidgetControl } from \"./WidgetControl.js\";\nimport type { BadgeType, IconSpec } from \"@itwin/core-react\";\nimport type { BadgeKind } from \"@itwin/core-react/internal\";\nimport { IconHelper } from \"@itwin/core-react\";\nimport type { WidgetConfig } from \"./WidgetConfig.js\";\nimport { WidgetState } from \"./WidgetState.js\";\nimport { StagePanelLocation } from \"../stagepanels/StagePanelLocation.js\";\nimport { StatusBarWidgetComposerControl } from \"./StatusBarWidgetComposerControl.js\";\nimport {\n getTabLocation,\n isFloatingTabLocation,\n isPanelTabLocation,\n isPopoutTabLocation,\n} from \"../layout/state/TabLocation.js\";\nimport type { NineZoneState } from \"../layout/state/NineZoneState.js\";\nimport { IModelApp } from \"@itwin/core-frontend\";\nimport type { SizeProps } from \"../utils/SizeProps.js\";\nimport { Widget } from \"./Widget.js\";\n\n/** Widget State Changed Event Args interface.\n * @public\n * @deprecated in 4.13.0. Event args are inferred from a listener. If explicit type is needed use a type helper.\n */\nexport interface WidgetStateChangedEventArgs {\n widgetDef: WidgetDef;\n widgetState: WidgetState;\n}\n\n/** Widget State Changed Event class.\n * @public\n * @deprecated in 4.13.0. This class should not be used by applications to instantiate objects.\n */\n// eslint-disable-next-line @typescript-eslint/no-deprecated\nexport class WidgetStateChangedEvent extends UiEvent<WidgetStateChangedEventArgs> {}\n\n/** Widget type enum.\n * @public\n */\nexport enum WidgetType {\n Tool,\n Navigation,\n Rectangular,\n ToolSettings,\n StatusBar,\n}\n\n// -----------------------------------------------------------------------------\n\n/** A Widget Definition in the 9-Zone Layout system.\n * @public\n */\nexport class WidgetDef {\n private static _sId = 0;\n private _label: string | ConditionalStringValue | StringGetter = \"\";\n private _tooltip: string | ConditionalStringValue | StringGetter = \"\";\n private _widgetReactNode: React.ReactNode;\n // eslint-disable-next-line @typescript-eslint/no-deprecated\n private _widgetControl!: WidgetControl;\n private _defaultState: WidgetState = WidgetState.Closed;\n private _id: string;\n private _priority: number = 0;\n private _stateChanged: boolean = false;\n private _widgetType: WidgetType = WidgetType.Rectangular;\n private _applicationData?: any;\n // eslint-disable-next-line @typescript-eslint/no-deprecated\n private _iconSpec?: IconSpec;\n private _internalData?: Map<string, any>;\n // eslint-disable-next-line @typescript-eslint/no-deprecated\n private _badge?: BadgeType;\n private _badgeKind?: BadgeKind;\n private _saveTransientState?: () => void;\n private _restoreTransientState?: () => boolean;\n private _preferredPanelSize: \"fit-content\" | undefined;\n private _defaultFloatingSize: SizeProps | undefined;\n private _canPopout?: boolean;\n private _floatingContainerId?: string;\n private _defaultFloatingPosition: XAndY | undefined;\n\n private _hideWithUiWhenFloating?: boolean;\n private _allowedPanelTargets?: ReadonlyArray<StagePanelLocation>;\n private _initialConfig?: WidgetConfig;\n\n public get state(): WidgetState {\n const frontstageDef = UiFramework.frontstages.activeFrontstageDef;\n const nineZone = frontstageDef?.nineZoneState;\n if (!nineZone) return this.defaultState;\n if (!frontstageDef.findWidgetDef(this.id)) return this.defaultState;\n return getWidgetState(this.id, nineZone);\n }\n\n public get id(): string {\n return this._id;\n }\n\n public get priority(): number {\n return this._priority;\n }\n\n public get isFloatingStateSupported(): boolean {\n if (!this.initialConfig) return true;\n\n const allowedPanels = this.initialConfig.allowedPanels;\n if (allowedPanels && allowedPanels.length === 0) {\n return true;\n }\n\n const canFloat = this.initialConfig.canFloat;\n if (canFloat === undefined) return true;\n return !!canFloat;\n }\n\n public get isFloatingStateWindowResizable(): boolean {\n const canFloat = this.initialConfig?.canFloat;\n if (typeof canFloat === \"object\") {\n return canFloat.isResizable === undefined ? true : canFloat.isResizable;\n }\n\n return true;\n }\n\n public get isToolSettings(): boolean {\n return this._widgetType === WidgetType.ToolSettings;\n }\n public get isStatusBar(): boolean {\n return this._widgetType === WidgetType.StatusBar;\n }\n public get stateChanged(): boolean {\n return this._stateChanged;\n }\n public get applicationData(): any {\n return this._applicationData;\n }\n public get isFloating(): boolean {\n return this.state === WidgetState.Floating;\n }\n\n /** @deprecated in 4.16.0. Use {@link Widget.iconNode} instead. */\n // eslint-disable-next-line @typescript-eslint/no-deprecated\n public get iconSpec(): IconSpec {\n // eslint-disable-next-line @typescript-eslint/no-deprecated\n return this._iconSpec === IconHelper.reactIconKey\n ? IconHelper.getIconReactNode(this._iconSpec, this._internalData) // eslint-disable-line @typescript-eslint/no-deprecated\n : this._iconSpec;\n }\n\n // eslint-disable-next-line @typescript-eslint/no-deprecated\n public set iconSpec(spec: IconSpec) {\n // Setter is deprecated as well: ae-setter-with-docs.\n this._iconSpec = this._internalData\n ? IconHelper.getIconData(spec, this._internalData) // eslint-disable-line @typescript-eslint/no-deprecated\n : spec;\n }\n /** @deprecated in 4.16.0. Use `badgeKind` instead. */\n // eslint-disable-next-line @typescript-eslint/no-deprecated\n public get badgeType(): BadgeType | undefined {\n return this._badge;\n }\n public get badgeKind(): BadgeKind | undefined {\n return this._badgeKind;\n }\n public get initialConfig(): WidgetConfig | undefined {\n return this._initialConfig;\n }\n\n public get widgetType(): WidgetType {\n return this._widgetType;\n }\n public set widgetType(type: WidgetType) {\n this._widgetType = type;\n }\n\n /** @internal */\n public get defaultFloatingPosition() {\n return this._defaultFloatingPosition;\n }\n public set defaultFloatingPosition(position: XAndY | undefined) {\n this._defaultFloatingPosition = position;\n }\n\n /** @internal */\n public get defaultFloatingSize() {\n return this._defaultFloatingSize;\n }\n public set defaultFloatingSize(size: SizeProps | undefined) {\n this._defaultFloatingSize = size;\n }\n\n public get defaultState() {\n return this._defaultState;\n }\n\n constructor() {\n WidgetDef._sId++;\n this._id = `Widget-${WidgetDef._sId}`;\n }\n\n /** @internal */\n public static create(\n config: WidgetConfig,\n type: WidgetType = WidgetType.Rectangular\n ) {\n const def = new WidgetDef();\n def.initializeFromConfig(config, type);\n return def;\n }\n\n private initializeFromConfig(config: WidgetConfig, type: WidgetType) {\n this._widgetType = type;\n this._initialConfig = config;\n this._id = config.id;\n\n if (config.label) this._label = config.label;\n else if (config.labelKey)\n this._label = IModelApp.localization.getLocalizedString(config.labelKey);\n else if (type === WidgetType.ToolSettings) this._label = \"Tool Settings\";\n\n this.setCanPopout(config.canPopout);\n\n const canFloat = config.canFloat;\n if (typeof canFloat === \"object\") {\n this.setFloatingContainerId(canFloat.containerId);\n this.defaultFloatingPosition = canFloat.defaultPosition;\n this._hideWithUiWhenFloating = !!canFloat.hideWithUi;\n this._defaultFloatingSize = canFloat.defaultSize;\n }\n\n if (\"allowedPanels\" in config) {\n this.allowedPanelTargets = config.allowedPanels;\n } else if (type === WidgetType.ToolSettings)\n this.allowedPanelTargets = [\n StagePanelLocation.Bottom,\n StagePanelLocation.Left,\n StagePanelLocation.Right,\n ];\n\n if (config.priority !== undefined) this._priority = config.priority;\n\n if (config.tooltip) this.setTooltip(config.tooltip);\n else if (config.tooltipKey)\n this._tooltip = IModelApp.localization.getLocalizedString(\n config.tooltipKey\n );\n\n if (config.defaultState !== undefined) {\n this._defaultState = config.defaultState;\n }\n\n if (\n config.allowedPanels &&\n config.allowedPanels.length === 0 &&\n config.defaultState === WidgetState.Open\n ) {\n this._defaultState = WidgetState.Floating;\n }\n\n this._widgetReactNode = config.content;\n // eslint-disable-next-line @typescript-eslint/no-deprecated\n this._iconSpec = config.iconNode ?? config.icon;\n // eslint-disable-next-line @typescript-eslint/no-deprecated\n this._badge = config.badge;\n this._badgeKind = config.badgeKind;\n\n this._preferredPanelSize = config.preferredPanelSize;\n }\n\n /** @alpha */\n public get preferredPanelSize() {\n return this._preferredPanelSize;\n }\n\n /** Get the label string */\n public get label(): string {\n // eslint-disable-next-line @typescript-eslint/no-deprecated\n return PropsHelper.getStringFromSpec(this._label);\n }\n\n /** Set the label.\n * @param labelSpec A string or a function to get the string.\n */\n public setLabel(labelSpec: string | ConditionalStringValue | StringGetter) {\n this._label = labelSpec; // TODO: handle ConditionalStringValue\n\n const frontstageDef = UiFramework.frontstages.activeFrontstageDef;\n if (!frontstageDef) return;\n\n // eslint-disable-next-line @typescript-eslint/no-deprecated\n const label = PropsHelper.getStringFromSpec(labelSpec);\n frontstageDef.dispatch({\n type: \"WIDGET_TAB_SET_LABEL\",\n id: this.id,\n label,\n });\n }\n\n /** Get the tooltip string */\n public get tooltip(): string {\n // eslint-disable-next-line @typescript-eslint/no-deprecated\n return PropsHelper.getStringFromSpec(this._tooltip);\n }\n\n /** Set the tooltip.\n * @param v A string or a function to get the string.\n */\n public setTooltip(v: string | ConditionalStringValue | StringGetter) {\n this._tooltip = v;\n }\n\n public get reactNode(): React.ReactNode {\n if (!this._widgetReactNode) {\n // eslint-disable-next-line @typescript-eslint/no-deprecated\n const widgetControl = this.getWidgetControl(\n // eslint-disable-next-line @typescript-eslint/no-deprecated\n ConfigurableUiControlType.Widget\n );\n\n if (widgetControl && widgetControl.reactNode)\n this._widgetReactNode = widgetControl.reactNode;\n }\n\n return this._widgetReactNode;\n }\n\n public set reactNode(node: React.ReactNode) {\n this._widgetReactNode = node;\n }\n\n public setWidgetState(newState: WidgetState): void {\n const frontstageDef = UiFramework.frontstages.activeFrontstageDef;\n const nineZone = frontstageDef?.nineZoneState;\n if (!nineZone || this.isStatusBar) return;\n if (!frontstageDef.findWidgetDef(this.id)) return;\n\n switch (newState) {\n case WidgetState.Closed: {\n frontstageDef.dispatch({\n type: \"WIDGET_TAB_CLOSE\",\n id: this.id,\n });\n break;\n }\n case WidgetState.Floating: {\n frontstageDef.dispatch({\n type: \"WIDGET_TAB_FLOAT\",\n id: this.id,\n position: this._defaultFloatingPosition,\n });\n break;\n }\n case WidgetState.Hidden: {\n frontstageDef.dispatch({\n type: \"WIDGET_TAB_HIDE\",\n id: this.id,\n });\n break;\n }\n case WidgetState.Open: {\n frontstageDef.dispatch({\n type: \"WIDGET_TAB_OPEN\",\n id: this.id,\n });\n break;\n }\n case WidgetState.Unloaded: {\n frontstageDef.dispatch({\n type: \"WIDGET_TAB_UNLOAD\",\n id: this.id,\n });\n break;\n }\n }\n }\n\n /** @internal */\n public handleWidgetStateChanged(newState: WidgetState) {\n this._stateChanged = true;\n UiFramework.frontstages.onWidgetStateChangedEvent.emit({\n widgetDef: this,\n widgetState: newState,\n });\n this.onWidgetStateChanged();\n }\n\n public setCanPopout(value: boolean | undefined) {\n this._canPopout = value;\n }\n\n public get canPopout(): boolean | undefined {\n return this._canPopout;\n }\n\n public setFloatingContainerId(value: string | undefined) {\n this._floatingContainerId = value;\n }\n\n public get floatingContainerId(): string | undefined {\n return this._floatingContainerId;\n }\n\n public canOpen(): boolean {\n return this.isFloating || this.isActive;\n }\n\n public get isVisible(): boolean {\n return (\n WidgetState.Hidden !== this.state && WidgetState.Unloaded !== this.state\n );\n }\n\n public get activeState(): WidgetState {\n return this.state;\n }\n\n public get isActive(): boolean {\n return WidgetState.Open === this.activeState;\n }\n\n public set hideWithUiWhenFloating(hide: boolean | undefined) {\n this._hideWithUiWhenFloating = !!hide;\n }\n\n public get hideWithUiWhenFloating(): boolean {\n return !!this._hideWithUiWhenFloating;\n }\n\n public get allowedPanelTargets():\n | ReadonlyArray<StagePanelLocation>\n | undefined {\n return this._allowedPanelTargets;\n }\n\n public set allowedPanelTargets(\n targets: ReadonlyArray<StagePanelLocation> | undefined\n ) {\n this._allowedPanelTargets = targets;\n }\n\n public onWidgetStateChanged(): void {\n // eslint-disable-next-line @typescript-eslint/no-deprecated\n this.widgetControl && this.widgetControl.onWidgetStateChanged();\n }\n\n /** Overwrite to save transient DOM state (i.e. scroll offset). */\n public saveTransientState(): void {\n // eslint-disable-next-line @typescript-eslint/no-deprecated\n this.widgetControl && this.widgetControl.saveTransientState();\n this._saveTransientState && this._saveTransientState();\n }\n\n /** Overwrite to restore transient DOM state.\n * @note Return true if the state is restored or the Widget will remount.\n */\n public restoreTransientState(): boolean {\n let result = true;\n // eslint-disable-next-line @typescript-eslint/no-deprecated\n if (this.widgetControl || this._restoreTransientState) {\n let result1 = false,\n result2 = false;\n // eslint-disable-next-line @typescript-eslint/no-deprecated\n if (this.widgetControl)\n // eslint-disable-next-line @typescript-eslint/no-deprecated\n result1 = this.widgetControl.restoreTransientState();\n if (this._restoreTransientState) result2 = this._restoreTransientState();\n result = !(result1 || result2);\n }\n return result;\n }\n\n /** Opens the widget and makes it visible to the user.\n * @note Opens the stage panel if needed.\n * @note Brings the floating widget to the front.\n * @note Brings the window of the popout widget to the front (if allowed by the browser).\n * @public\n */\n public show() {\n const frontstageDef = UiFramework.frontstages.activeFrontstageDef;\n const nineZone = frontstageDef?.nineZoneState;\n if (!nineZone) return;\n if (!frontstageDef.findWidgetDef(this.id)) return;\n\n const tabLocation = getTabLocation(nineZone, this.id);\n if (tabLocation && isPopoutTabLocation(tabLocation)) {\n const testWindow = UiFramework.childWindows.find(\n tabLocation.popoutWidgetId\n );\n // Try to bring the window of the popout widget to the front.\n testWindow?.window.focus();\n }\n\n frontstageDef.dispatch({\n type: \"WIDGET_TAB_SHOW\",\n id: this.id,\n });\n }\n\n /** Opens the widget and expands it to fill full size of the stage panel.\n * @public\n */\n public expand() {\n const frontstageDef = UiFramework.frontstages.activeFrontstageDef;\n const nineZone = frontstageDef?.nineZoneState;\n if (!nineZone) return;\n if (!frontstageDef.findWidgetDef(this.id)) return;\n\n frontstageDef.dispatch({\n type: \"WIDGET_TAB_EXPAND\",\n id: this.id,\n });\n }\n\n /* eslint-disable @typescript-eslint/no-deprecated */\n\n /** @deprecated in 4.16.0. Uses a deprecated type {@link ConfigurableUiControlConstructor}. */\n public get classId(): string | ConfigurableUiControlConstructor | undefined {\n return undefined;\n }\n\n /** @deprecated in 4.16.0. Returns an instance of a deprecated type {@link WidgetControl}. */\n public get widgetControl(): WidgetControl | undefined {\n return this._widgetControl;\n }\n\n /** @deprecated in 4.16.0. Returns an instance of a deprecated type {@link WidgetControl}. */\n public getWidgetControl(\n type: ConfigurableUiControlType\n ): WidgetControl | undefined {\n if (!this._widgetControl && this.classId) {\n let usedClassId: string = \"\";\n\n if (typeof this.classId === \"string\") {\n if (this.classId)\n this._widgetControl = UiFramework.controls.create(\n this.classId,\n this.id,\n this.applicationData\n ) as WidgetControl;\n usedClassId = this.classId;\n } else {\n const info = new ConfigurableCreateInfo(\n this.classId.name,\n this.id,\n this.id\n );\n usedClassId = this.classId.name;\n this._widgetControl = new this.classId(\n info,\n this.applicationData\n ) as WidgetControl;\n }\n\n if (this._widgetControl) {\n if (this._widgetControl.getType() !== type) {\n // eslint-disable-next-line @typescript-eslint/no-deprecated\n throw new UiError(\n UiFramework.loggerCategory(\"WidgetDef\"),\n `getWidgetControl: '${usedClassId}' is NOT a ${type}; it is a ${this._widgetControl.getType()}`\n );\n }\n\n this._widgetControl.widgetDef = this;\n this._widgetControl.initialize();\n }\n }\n\n if (!this._widgetControl && this.isStatusBar) {\n const info = new ConfigurableCreateInfo(\n \"StatusBarWidgetComposerControl\",\n StatusBarWidgetComposerControl.controlId,\n StatusBarWidgetComposerControl.controlId\n );\n this._widgetControl = new StatusBarWidgetComposerControl(info, undefined);\n this._widgetControl.widgetDef = this;\n this._widgetControl.initialize();\n }\n\n return this._widgetControl;\n }\n\n /* eslint-enable @typescript-eslint/no-deprecated */\n}\n\n/** @internal */\nexport function getWidgetState(\n widgetId: WidgetDef[\"id\"],\n nineZone: NineZoneState\n) {\n const tab = nineZone.tabs[widgetId];\n if (tab && tab.unloaded) {\n return WidgetState.Unloaded;\n }\n\n if (nineZone.draggedTab?.tabId === widgetId) {\n return WidgetState.Closed;\n }\n\n const toolSettingsTabId = nineZone.toolSettings?.tabId;\n if (\n toolSettingsTabId === widgetId &&\n nineZone.toolSettings?.type === \"docked\"\n ) {\n return nineZone.toolSettings.hidden ? WidgetState.Hidden : WidgetState.Open;\n }\n\n const location = getTabLocation(nineZone, widgetId);\n if (!location) {\n return WidgetState.Hidden;\n }\n\n if (isFloatingTabLocation(location)) {\n return WidgetState.Floating;\n }\n\n if (isPanelTabLocation(location)) {\n const panel = nineZone.panels[location.side];\n if (panel.collapsed || undefined === panel.size || 0 === panel.size)\n return WidgetState.Closed;\n }\n\n const widget = nineZone.widgets[location.widgetId];\n if (widget.minimized || widgetId !== widget.activeTabId)\n return WidgetState.Closed;\n\n return WidgetState.Open;\n}\n"]}
|
|
1
|
+
{"version":3,"file":"WidgetDef.js","sourceRoot":"","sources":["../../../src/appui-react/widgets/WidgetDef.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 */\n\nimport type * as React from \"react\";\nimport type {\n ConditionalStringValue,\n StringGetter,\n} from \"@itwin/appui-abstract\";\nimport { UiError, UiEvent } from \"@itwin/appui-abstract\";\nimport type { XAndY } from \"@itwin/core-geometry\";\nimport type { ConfigurableUiControlConstructor } from \"../configurableui/ConfigurableUiControl.js\";\nimport {\n ConfigurableCreateInfo,\n ConfigurableUiControlType,\n} from \"../configurableui/ConfigurableUiControl.js\";\nimport { UiFramework } from \"../UiFramework.js\";\nimport { PropsHelper } from \"../utils/PropsHelper.js\";\nimport type { WidgetControl } from \"./WidgetControl.js\";\nimport type { BadgeType, IconSpec } from \"@itwin/core-react\";\nimport type { BadgeKind } from \"@itwin/core-react/internal\";\nimport { IconHelper } from \"@itwin/core-react\";\nimport type { WidgetConfig } from \"./WidgetConfig.js\";\nimport { WidgetState } from \"./WidgetState.js\";\nimport { StagePanelLocation } from \"../stagepanels/StagePanelLocation.js\";\nimport { StatusBarWidgetComposerControl } from \"./StatusBarWidgetComposerControl.js\";\nimport {\n getTabLocation,\n isFloatingTabLocation,\n isPanelTabLocation,\n isPopoutTabLocation,\n} from \"../layout/state/TabLocation.js\";\nimport type { NineZoneState } from \"../layout/state/NineZoneState.js\";\nimport { IModelApp } from \"@itwin/core-frontend\";\nimport type { SizeProps } from \"../utils/SizeProps.js\";\nimport { Widget } from \"./Widget.js\";\n\n/** Widget State Changed Event Args interface.\n * @public\n * @deprecated in 4.13.0. Event args are inferred from a listener. If explicit type is needed use a type helper.\n */\nexport interface WidgetStateChangedEventArgs {\n widgetDef: WidgetDef;\n widgetState: WidgetState;\n}\n\n/** Widget State Changed Event class.\n * @public\n * @deprecated in 4.13.0. This class should not be used by applications to instantiate objects.\n */\n// eslint-disable-next-line @typescript-eslint/no-deprecated\nexport class WidgetStateChangedEvent extends UiEvent<WidgetStateChangedEventArgs> {}\n\n/** Widget type enum.\n * @public\n */\nexport enum WidgetType {\n Tool,\n Navigation,\n Rectangular,\n ToolSettings,\n StatusBar,\n}\n\n// -----------------------------------------------------------------------------\n\n/** A Widget Definition in the 9-Zone Layout system.\n * @public\n */\nexport class WidgetDef {\n private static _sId = 0;\n private _label: string | ConditionalStringValue | StringGetter = \"\";\n private _tooltip: string | ConditionalStringValue | StringGetter = \"\";\n private _widgetReactNode: React.ReactNode;\n // eslint-disable-next-line @typescript-eslint/no-deprecated\n private _widgetControl!: WidgetControl;\n private _defaultState: WidgetState = WidgetState.Closed;\n private _id: string;\n private _priority: number = 0;\n private _stateChanged: boolean = false;\n private _widgetType: WidgetType = WidgetType.Rectangular;\n private _applicationData?: any;\n // eslint-disable-next-line @typescript-eslint/no-deprecated\n private _iconSpec?: IconSpec;\n private _internalData?: Map<string, any>;\n // eslint-disable-next-line @typescript-eslint/no-deprecated\n private _badge?: BadgeType;\n private _badgeKind?: BadgeKind;\n private _saveTransientState?: () => void;\n private _restoreTransientState?: () => boolean;\n private _preferredPanelSize: \"fit-content\" | undefined;\n private _defaultFloatingSize: SizeProps | undefined;\n private _canPopout?: boolean;\n private _floatingContainerId?: string;\n private _defaultFloatingPosition: XAndY | undefined;\n\n private _hideWithUiWhenFloating?: boolean;\n private _allowedPanelTargets?: ReadonlyArray<StagePanelLocation>;\n private _initialConfig?: WidgetConfig;\n\n public get state(): WidgetState {\n const frontstageDef = UiFramework.frontstages.activeFrontstageDef;\n const nineZone = frontstageDef?.nineZoneState;\n if (!nineZone) return this.defaultState;\n if (!frontstageDef.findWidgetDef(this.id)) return this.defaultState;\n return getWidgetState(this.id, nineZone);\n }\n\n public get id(): string {\n return this._id;\n }\n\n public get priority(): number {\n return this._priority;\n }\n\n public get isFloatingStateSupported(): boolean {\n if (!this.initialConfig) return true;\n\n const allowedPanels = this.initialConfig.allowedPanels;\n if (allowedPanels && allowedPanels.length === 0) {\n return true;\n }\n\n const canFloat = this.initialConfig.canFloat;\n if (canFloat === undefined) return true;\n return !!canFloat;\n }\n\n public get isFloatingStateWindowResizable(): boolean {\n const canFloat = this.initialConfig?.canFloat;\n if (typeof canFloat === \"object\") {\n return canFloat.isResizable === undefined ? true : canFloat.isResizable;\n }\n\n return true;\n }\n\n public get isToolSettings(): boolean {\n return this._widgetType === WidgetType.ToolSettings;\n }\n public get isStatusBar(): boolean {\n return this._widgetType === WidgetType.StatusBar;\n }\n public get stateChanged(): boolean {\n return this._stateChanged;\n }\n public get applicationData(): any {\n return this._applicationData;\n }\n public get isFloating(): boolean {\n return this.state === WidgetState.Floating;\n }\n\n /** @deprecated in 4.16.0. Use {@link Widget.iconNode} instead. */\n // eslint-disable-next-line @typescript-eslint/no-deprecated\n public get iconSpec(): IconSpec {\n // eslint-disable-next-line @typescript-eslint/no-deprecated\n return this._iconSpec === IconHelper.reactIconKey\n ? IconHelper.getIconReactNode(this._iconSpec, this._internalData) // eslint-disable-line @typescript-eslint/no-deprecated\n : this._iconSpec;\n }\n\n // eslint-disable-next-line @typescript-eslint/no-deprecated\n public set iconSpec(spec: IconSpec) {\n // Setter is deprecated as well: ae-setter-with-docs.\n this._iconSpec = this._internalData\n ? IconHelper.getIconData(spec, this._internalData) // eslint-disable-line @typescript-eslint/no-deprecated\n : spec;\n }\n /** @deprecated in 4.16.0. Use `badgeKind` instead. */\n // eslint-disable-next-line @typescript-eslint/no-deprecated\n public get badgeType(): BadgeType | undefined {\n return this._badge;\n }\n public get badgeKind(): BadgeKind | undefined {\n return this._badgeKind;\n }\n public get initialConfig(): WidgetConfig | undefined {\n return this._initialConfig;\n }\n\n public get widgetType(): WidgetType {\n return this._widgetType;\n }\n public set widgetType(type: WidgetType) {\n this._widgetType = type;\n }\n\n /** @internal */\n public get defaultFloatingPosition() {\n return this._defaultFloatingPosition;\n }\n public set defaultFloatingPosition(position: XAndY | undefined) {\n this._defaultFloatingPosition = position;\n }\n\n /** @internal */\n public get defaultFloatingSize() {\n return this._defaultFloatingSize;\n }\n public set defaultFloatingSize(size: SizeProps | undefined) {\n this._defaultFloatingSize = size;\n }\n\n public get defaultState() {\n return this._defaultState;\n }\n\n constructor() {\n WidgetDef._sId++;\n this._id = `Widget-${WidgetDef._sId}`;\n }\n\n /** @internal */\n public static create(\n config: WidgetConfig,\n type: WidgetType = WidgetType.Rectangular\n ) {\n const def = new WidgetDef();\n def.initializeFromConfig(config, type);\n return def;\n }\n\n private initializeFromConfig(config: WidgetConfig, type: WidgetType) {\n this._widgetType = type;\n this._initialConfig = config;\n this._id = config.id;\n\n if (config.label) this._label = config.label;\n else if (config.labelKey)\n this._label = IModelApp.localization.getLocalizedString(config.labelKey);\n else if (type === WidgetType.ToolSettings) this._label = \"Tool Settings\";\n\n this.setCanPopout(config.canPopout);\n\n const canFloat = config.canFloat;\n if (typeof canFloat === \"object\") {\n this.setFloatingContainerId(canFloat.containerId);\n this.defaultFloatingPosition = canFloat.defaultPosition;\n this._hideWithUiWhenFloating = !!canFloat.hideWithUi;\n this._defaultFloatingSize = canFloat.defaultSize;\n }\n\n if (\"allowedPanels\" in config) {\n this.allowedPanelTargets = config.allowedPanels;\n } else if (type === WidgetType.ToolSettings)\n this.allowedPanelTargets = [\n StagePanelLocation.Bottom,\n StagePanelLocation.Left,\n StagePanelLocation.Right,\n ];\n\n if (config.priority !== undefined) this._priority = config.priority;\n\n if (config.tooltip) this.setTooltip(config.tooltip);\n else if (config.tooltipKey)\n this._tooltip = IModelApp.localization.getLocalizedString(\n config.tooltipKey\n );\n\n if (config.defaultState !== undefined) {\n this._defaultState = config.defaultState;\n }\n\n if (\n config.allowedPanels &&\n config.allowedPanels.length === 0 &&\n config.defaultState === WidgetState.Open\n ) {\n this._defaultState = WidgetState.Floating;\n }\n\n this._widgetReactNode = config.content;\n // eslint-disable-next-line @typescript-eslint/no-deprecated\n this._iconSpec = config.iconNode ?? config.icon;\n // eslint-disable-next-line @typescript-eslint/no-deprecated\n this._badge = config.badge;\n this._badgeKind = config.badgeKind;\n\n this._preferredPanelSize = config.preferredPanelSize;\n }\n\n /** @alpha */\n public get preferredPanelSize() {\n return this._preferredPanelSize;\n }\n\n /** Get the label string */\n public get label(): string {\n // eslint-disable-next-line @typescript-eslint/no-deprecated\n return PropsHelper.getStringFromSpec(this._label);\n }\n\n /** Set the label.\n * @param labelSpec A string or a function to get the string.\n */\n public setLabel(labelSpec: string | ConditionalStringValue | StringGetter) {\n this._label = labelSpec; // TODO: handle ConditionalStringValue\n\n const frontstageDef = UiFramework.frontstages.activeFrontstageDef;\n if (!frontstageDef) return;\n\n // eslint-disable-next-line @typescript-eslint/no-deprecated\n const label = PropsHelper.getStringFromSpec(labelSpec);\n frontstageDef.dispatch({\n type: \"WIDGET_TAB_SET_LABEL\",\n id: this.id,\n label,\n });\n }\n\n /** Get the tooltip string */\n public get tooltip(): string {\n // eslint-disable-next-line @typescript-eslint/no-deprecated\n return PropsHelper.getStringFromSpec(this._tooltip);\n }\n\n /** Set the tooltip.\n * @param v A string or a function to get the string.\n */\n public setTooltip(v: string | ConditionalStringValue | StringGetter) {\n this._tooltip = v;\n }\n\n public get reactNode(): React.ReactNode {\n if (!this._widgetReactNode) {\n // eslint-disable-next-line @typescript-eslint/no-deprecated\n const widgetControl = this.getWidgetControl(\n // eslint-disable-next-line @typescript-eslint/no-deprecated\n ConfigurableUiControlType.Widget\n );\n\n if (widgetControl && widgetControl.reactNode)\n this._widgetReactNode = widgetControl.reactNode;\n }\n\n return this._widgetReactNode;\n }\n\n public set reactNode(node: React.ReactNode) {\n this._widgetReactNode = node;\n }\n\n public setWidgetState(newState: WidgetState): void {\n const frontstageDef = UiFramework.frontstages.activeFrontstageDef;\n const nineZone = frontstageDef?.nineZoneState;\n if (!nineZone || this.isStatusBar) return;\n if (!frontstageDef.findWidgetDef(this.id)) return;\n\n switch (newState) {\n case WidgetState.Closed: {\n frontstageDef.dispatch({\n type: \"WIDGET_TAB_CLOSE\",\n id: this.id,\n });\n break;\n }\n case WidgetState.Floating: {\n frontstageDef.dispatch({\n type: \"WIDGET_TAB_FLOAT\",\n id: this.id,\n position: this._defaultFloatingPosition,\n });\n break;\n }\n case WidgetState.Hidden: {\n frontstageDef.dispatch({\n type: \"WIDGET_TAB_HIDE\",\n id: this.id,\n });\n break;\n }\n case WidgetState.Open: {\n frontstageDef.dispatch({\n type: \"WIDGET_TAB_OPEN\",\n id: this.id,\n });\n break;\n }\n case WidgetState.Unloaded: {\n frontstageDef.dispatch({\n type: \"WIDGET_TAB_UNLOAD\",\n id: this.id,\n });\n break;\n }\n }\n }\n\n /** @internal */\n public handleWidgetStateChanged(newState: WidgetState) {\n this._stateChanged = true;\n UiFramework.frontstages.onWidgetStateChangedEvent.emit({\n widgetDef: this,\n widgetState: newState,\n });\n this.onWidgetStateChanged();\n }\n\n public setCanPopout(value: boolean | undefined) {\n this._canPopout = value;\n }\n\n public get canPopout(): boolean | undefined {\n return this._canPopout;\n }\n\n public setFloatingContainerId(value: string | undefined) {\n this._floatingContainerId = value;\n }\n\n public get floatingContainerId(): string | undefined {\n return this._floatingContainerId;\n }\n\n public canOpen(): boolean {\n return this.isFloating || this.isActive;\n }\n\n public get isVisible(): boolean {\n return (\n WidgetState.Hidden !== this.state && WidgetState.Unloaded !== this.state\n );\n }\n\n public get activeState(): WidgetState {\n return this.state;\n }\n\n public get isActive(): boolean {\n return WidgetState.Open === this.activeState;\n }\n\n public set hideWithUiWhenFloating(hide: boolean | undefined) {\n this._hideWithUiWhenFloating = !!hide;\n }\n\n public get hideWithUiWhenFloating(): boolean {\n return !!this._hideWithUiWhenFloating;\n }\n\n public get allowedPanelTargets():\n | ReadonlyArray<StagePanelLocation>\n | undefined {\n return this._allowedPanelTargets;\n }\n\n public set allowedPanelTargets(\n targets: ReadonlyArray<StagePanelLocation> | undefined\n ) {\n this._allowedPanelTargets = targets;\n }\n\n public onWidgetStateChanged(): void {\n // eslint-disable-next-line @typescript-eslint/no-deprecated\n this.widgetControl && this.widgetControl.onWidgetStateChanged();\n }\n\n /** Overwrite to save transient DOM state (i.e. scroll offset). */\n public saveTransientState(): void {\n // eslint-disable-next-line @typescript-eslint/no-deprecated\n this.widgetControl && this.widgetControl.saveTransientState();\n this._saveTransientState && this._saveTransientState();\n }\n\n /** Overwrite to restore transient DOM state.\n * @note Return true if the state is restored or the Widget will remount.\n */\n public restoreTransientState(): boolean {\n let result = true;\n // eslint-disable-next-line @typescript-eslint/no-deprecated\n if (this.widgetControl || this._restoreTransientState) {\n let result1 = false,\n result2 = false;\n // eslint-disable-next-line @typescript-eslint/no-deprecated\n if (this.widgetControl)\n // eslint-disable-next-line @typescript-eslint/no-deprecated\n result1 = this.widgetControl.restoreTransientState();\n if (this._restoreTransientState) result2 = this._restoreTransientState();\n result = !(result1 || result2);\n }\n return result;\n }\n\n /** Opens the widget and makes it visible to the user.\n * @note Opens the stage panel if needed.\n * @note Brings the floating widget to the front.\n * @note Brings the window of the popout widget to the front (if allowed by the browser).\n * @public\n */\n public show() {\n const frontstageDef = UiFramework.frontstages.activeFrontstageDef;\n const nineZone = frontstageDef?.nineZoneState;\n if (!nineZone) return;\n if (!frontstageDef.findWidgetDef(this.id)) return;\n\n const tabLocation = getTabLocation(nineZone, this.id);\n if (tabLocation && isPopoutTabLocation(tabLocation)) {\n const testWindow = UiFramework.childWindows.find(\n tabLocation.popoutWidgetId\n );\n // Try to bring the window of the popout widget to the front.\n testWindow?.window.focus();\n }\n\n frontstageDef.dispatch({\n type: \"WIDGET_TAB_SHOW\",\n id: this.id,\n });\n }\n\n /** Opens the widget and expands it to fill full size of the stage panel.\n * @public\n */\n public expand() {\n const frontstageDef = UiFramework.frontstages.activeFrontstageDef;\n const nineZone = frontstageDef?.nineZoneState;\n if (!nineZone) return;\n if (!frontstageDef.findWidgetDef(this.id)) return;\n\n frontstageDef.dispatch({\n type: \"WIDGET_TAB_EXPAND\",\n id: this.id,\n });\n }\n\n /* eslint-disable @typescript-eslint/no-deprecated */\n\n /** @deprecated in 4.16.0. Uses a deprecated type {@link ConfigurableUiControlConstructor}. */\n public get classId(): string | ConfigurableUiControlConstructor | undefined {\n return undefined;\n }\n\n /** @deprecated in 4.16.0. Returns an instance of a deprecated type {@link WidgetControl}. */\n public get widgetControl(): WidgetControl | undefined {\n return this._widgetControl;\n }\n\n /** @deprecated in 4.16.0. Returns an instance of a deprecated type {@link WidgetControl}. */\n public getWidgetControl(\n type: ConfigurableUiControlType\n ): WidgetControl | undefined {\n if (!this._widgetControl && this.classId) {\n let usedClassId: string = \"\";\n\n if (typeof this.classId === \"string\") {\n if (this.classId)\n this._widgetControl = UiFramework.controls.create(\n this.classId,\n this.id,\n this.applicationData\n ) as WidgetControl;\n usedClassId = this.classId;\n } else {\n const info = new ConfigurableCreateInfo(\n this.classId.name,\n this.id,\n this.id\n );\n usedClassId = this.classId.name;\n this._widgetControl = new this.classId(\n info,\n this.applicationData\n ) as WidgetControl;\n }\n\n if (this._widgetControl) {\n if (this._widgetControl.getType() !== type) {\n throw new UiError(\n UiFramework.loggerCategory(\"WidgetDef\"),\n `getWidgetControl: '${usedClassId}' is NOT a ${type}; it is a ${this._widgetControl.getType()}`\n );\n }\n\n this._widgetControl.widgetDef = this;\n this._widgetControl.initialize();\n }\n }\n\n if (!this._widgetControl && this.isStatusBar) {\n const info = new ConfigurableCreateInfo(\n \"StatusBarWidgetComposerControl\",\n StatusBarWidgetComposerControl.controlId,\n StatusBarWidgetComposerControl.controlId\n );\n this._widgetControl = new StatusBarWidgetComposerControl(info, undefined);\n this._widgetControl.widgetDef = this;\n this._widgetControl.initialize();\n }\n\n return this._widgetControl;\n }\n\n /* eslint-enable @typescript-eslint/no-deprecated */\n}\n\n/** @internal */\nexport function getWidgetState(\n widgetId: WidgetDef[\"id\"],\n nineZone: NineZoneState\n) {\n const tab = nineZone.tabs[widgetId];\n if (tab && tab.unloaded) {\n return WidgetState.Unloaded;\n }\n\n if (nineZone.draggedTab?.tabId === widgetId) {\n return WidgetState.Closed;\n }\n\n const toolSettingsTabId = nineZone.toolSettings?.tabId;\n if (\n toolSettingsTabId === widgetId &&\n nineZone.toolSettings?.type === \"docked\"\n ) {\n return nineZone.toolSettings.hidden ? WidgetState.Hidden : WidgetState.Open;\n }\n\n const location = getTabLocation(nineZone, widgetId);\n if (!location) {\n return WidgetState.Hidden;\n }\n\n if (isFloatingTabLocation(location)) {\n return WidgetState.Floating;\n }\n\n if (isPanelTabLocation(location)) {\n const panel = nineZone.panels[location.side];\n if (panel.collapsed || undefined === panel.size || 0 === panel.size)\n return WidgetState.Closed;\n }\n\n const widget = nineZone.widgets[location.widgetId];\n if (widget.minimized || widgetId !== widget.activeTabId)\n return WidgetState.Closed;\n\n return WidgetState.Open;\n}\n"]}
|
|
@@ -6,6 +6,18 @@
|
|
|
6
6
|
width: 100%;
|
|
7
7
|
position: relative;
|
|
8
8
|
overflow: hidden;
|
|
9
|
+
|
|
10
|
+
&[data-_appui-hide-dividers="true"] {
|
|
11
|
+
.nz-widget-widgetContentLayout-header {
|
|
12
|
+
padding-block-end: calc(var(--iui-size-s) / 2);
|
|
13
|
+
}
|
|
14
|
+
.nz-widget-widgetContentLayout-body {
|
|
15
|
+
padding-block: calc(var(--iui-size-s) / 2);
|
|
16
|
+
}
|
|
17
|
+
.nz-widget-widgetContentLayout-footer {
|
|
18
|
+
padding-block-start: calc(var(--iui-size-s) / 2);
|
|
19
|
+
}
|
|
20
|
+
}
|
|
9
21
|
}
|
|
10
22
|
.nz-widget-widgetContentLayout-header {
|
|
11
23
|
display: flex;
|
|
@@ -21,15 +33,9 @@
|
|
|
21
33
|
width: 100%;
|
|
22
34
|
display: flex;
|
|
23
35
|
flex-direction: column;
|
|
24
|
-
gap: var(--iui-size-s);
|
|
25
36
|
|
|
26
37
|
.nz-widget-widgetContentLayout-progress {
|
|
27
38
|
padding-inline: var(--iui-size-s);
|
|
28
|
-
|
|
29
|
-
/* check if it has sibling with classname .nz-widget-widgetContentLayout-body */
|
|
30
|
-
+ .nz-widget-widgetContentLayout-body {
|
|
31
|
-
padding-block-start: 0px;
|
|
32
|
-
}
|
|
33
39
|
}
|
|
34
40
|
|
|
35
41
|
.nz-widget-widgetContentLayout-body {
|
|
@@ -6,6 +6,18 @@
|
|
|
6
6
|
width: 100%;
|
|
7
7
|
position: relative;
|
|
8
8
|
overflow: hidden;
|
|
9
|
+
|
|
10
|
+
&[data-_appui-hide-dividers="true"] {
|
|
11
|
+
.nz-widget-widgetContentLayout-header {
|
|
12
|
+
padding-block-end: calc(var(--iui-size-s) / 2);
|
|
13
|
+
}
|
|
14
|
+
.nz-widget-widgetContentLayout-body {
|
|
15
|
+
padding-block: calc(var(--iui-size-s) / 2);
|
|
16
|
+
}
|
|
17
|
+
.nz-widget-widgetContentLayout-footer {
|
|
18
|
+
padding-block-start: calc(var(--iui-size-s) / 2);
|
|
19
|
+
}
|
|
20
|
+
}
|
|
9
21
|
}
|
|
10
22
|
.nz-widget-widgetContentLayout-header {
|
|
11
23
|
display: flex;
|
|
@@ -21,15 +33,9 @@
|
|
|
21
33
|
width: 100%;
|
|
22
34
|
display: flex;
|
|
23
35
|
flex-direction: column;
|
|
24
|
-
gap: var(--iui-size-s);
|
|
25
36
|
|
|
26
37
|
.nz-widget-widgetContentLayout-progress {
|
|
27
38
|
padding-inline: var(--iui-size-s);
|
|
28
|
-
|
|
29
|
-
/* check if it has sibling with classname .nz-widget-widgetContentLayout-body */
|
|
30
|
-
+ .nz-widget-widgetContentLayout-body {
|
|
31
|
-
padding-block-start: 0px;
|
|
32
|
-
}
|
|
33
39
|
}
|
|
34
40
|
|
|
35
41
|
.nz-widget-widgetContentLayout-body {
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@itwin/appui-react",
|
|
3
|
-
"version": "5.24.
|
|
3
|
+
"version": "5.24.2",
|
|
4
4
|
"description": "A react component library for AppUI framework",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"types": "./lib/appui-react.d.ts",
|
|
@@ -45,13 +45,13 @@
|
|
|
45
45
|
"react-dom": "^18.0.0 || ^19.0.0",
|
|
46
46
|
"react-redux": "^7.2.2 || ^8.0.0 || ^9.0.0",
|
|
47
47
|
"redux": "^4.1.0 || ^5.0.0",
|
|
48
|
-
"@itwin/components-react": "5.24.
|
|
49
|
-
"@itwin/
|
|
50
|
-
"@itwin/
|
|
48
|
+
"@itwin/components-react": "5.24.2",
|
|
49
|
+
"@itwin/imodel-components-react": "5.24.2",
|
|
50
|
+
"@itwin/core-react": "5.24.2"
|
|
51
51
|
},
|
|
52
52
|
"devDependencies": {
|
|
53
53
|
"@itwin/appui-abstract": "^5.1.0",
|
|
54
|
-
"@itwin/build-tools": "^5.
|
|
54
|
+
"@itwin/build-tools": "^5.5.2",
|
|
55
55
|
"@itwin/core-bentley": "^5.1.0",
|
|
56
56
|
"@itwin/core-common": "^5.1.0",
|
|
57
57
|
"@itwin/core-frontend": "^5.1.0",
|
|
@@ -59,21 +59,21 @@
|
|
|
59
59
|
"@itwin/core-orbitgt": "^5.1.0",
|
|
60
60
|
"@itwin/core-quantity": "^5.1.0",
|
|
61
61
|
"@itwin/ecschema-metadata": "^5.1.0",
|
|
62
|
-
"@itwin/eslint-plugin": "
|
|
62
|
+
"@itwin/eslint-plugin": "^6.0.0",
|
|
63
63
|
"@itwin/itwinui-react": "^3.20.1",
|
|
64
64
|
"@itwin/webgl-compatibility": "^5.1.0",
|
|
65
65
|
"@testing-library/dom": "^10.4.1",
|
|
66
66
|
"@testing-library/react": "^16.3.0",
|
|
67
67
|
"@testing-library/user-event": "^14.6.1",
|
|
68
|
-
"@types/lodash": "^4.
|
|
68
|
+
"@types/lodash": "^4.17.23",
|
|
69
69
|
"@types/react": "^19.2.7",
|
|
70
70
|
"@types/react-dom": "^19.2.3",
|
|
71
71
|
"@types/react-transition-group": "^4.4.4",
|
|
72
72
|
"@vitest/coverage-v8": "^3.0.6",
|
|
73
73
|
"cpx2": "^3.0.0",
|
|
74
74
|
"cross-env": "^5.1.4",
|
|
75
|
-
"eslint": "^
|
|
76
|
-
"eslint-config-prettier": "
|
|
75
|
+
"eslint": "^9.39.2",
|
|
76
|
+
"eslint-config-prettier": "^10.1.8",
|
|
77
77
|
"ignore-styles": "^5.0.1",
|
|
78
78
|
"inversify": "^6.0.1",
|
|
79
79
|
"jsdom": "^24.0.0",
|
|
@@ -85,21 +85,20 @@
|
|
|
85
85
|
"redux": "^5.0.1",
|
|
86
86
|
"reflect-metadata": "^0.1.13",
|
|
87
87
|
"rimraf": "^6.1.0",
|
|
88
|
-
"ts-node": "^10.8.2",
|
|
89
88
|
"typemoq": "^2.1.0",
|
|
90
89
|
"typescript": "~5.6.2",
|
|
91
90
|
"upath": "^2.0.1",
|
|
92
91
|
"vitest": "^3.2.4",
|
|
93
|
-
"@itwin/
|
|
94
|
-
"@itwin/
|
|
95
|
-
"@itwin/
|
|
92
|
+
"@itwin/core-react": "5.24.2",
|
|
93
|
+
"@itwin/imodel-components-react": "5.24.2",
|
|
94
|
+
"@itwin/components-react": "5.24.2"
|
|
96
95
|
},
|
|
97
96
|
"dependencies": {
|
|
98
97
|
"@itwin/itwinui-icons-react": "^2.8.0",
|
|
99
98
|
"@itwin/itwinui-illustrations-react": "^2.0.1",
|
|
100
99
|
"classnames": "2.5.1",
|
|
101
100
|
"immer": "^10.1.1",
|
|
102
|
-
"lodash": "^4.17.
|
|
101
|
+
"lodash": "^4.17.23",
|
|
103
102
|
"react-error-boundary": "^5.0.0",
|
|
104
103
|
"react-transition-group": "^4.4.2",
|
|
105
104
|
"rxjs": "^7.8.1",
|