@itwin/appui-react 5.24.0 → 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.
Files changed (82) hide show
  1. package/CHANGELOG.md +18 -0
  2. package/lib/appui-react/UiFramework.d.ts.map +1 -1
  3. package/lib/appui-react/UiFramework.js.map +1 -1
  4. package/lib/appui-react/backstage/BackstageComposerItem.js +1 -3
  5. package/lib/appui-react/backstage/BackstageComposerItem.js.map +1 -1
  6. package/lib/appui-react/content/ContentControl.d.ts.map +1 -1
  7. package/lib/appui-react/content/ContentControl.js +0 -1
  8. package/lib/appui-react/content/ContentControl.js.map +1 -1
  9. package/lib/appui-react/content/FloatingViewportContent.d.ts.map +1 -1
  10. package/lib/appui-react/content/FloatingViewportContent.js +0 -4
  11. package/lib/appui-react/content/FloatingViewportContent.js.map +1 -1
  12. package/lib/appui-react/content/InternalContentViewManager.d.ts.map +1 -1
  13. package/lib/appui-react/content/InternalContentViewManager.js +0 -5
  14. package/lib/appui-react/content/InternalContentViewManager.js.map +1 -1
  15. package/lib/appui-react/dialog/ModelessDialog.d.ts.map +1 -1
  16. package/lib/appui-react/dialog/ModelessDialog.js +1 -3
  17. package/lib/appui-react/dialog/ModelessDialog.js.map +1 -1
  18. package/lib/appui-react/feedback/ElementTooltip.d.ts +1 -2
  19. package/lib/appui-react/feedback/ElementTooltip.d.ts.map +1 -1
  20. package/lib/appui-react/feedback/ElementTooltip.js.map +1 -1
  21. package/lib/appui-react/frontstage/FrontstageDef.d.ts.map +1 -1
  22. package/lib/appui-react/frontstage/FrontstageDef.js +0 -3
  23. package/lib/appui-react/frontstage/FrontstageDef.js.map +1 -1
  24. package/lib/appui-react/frontstage/InternalFrontstageManager.d.ts.map +1 -1
  25. package/lib/appui-react/frontstage/InternalFrontstageManager.js +3 -12
  26. package/lib/appui-react/frontstage/InternalFrontstageManager.js.map +1 -1
  27. package/lib/appui-react/layout/state/NineZoneStateReducer.js +30 -1
  28. package/lib/appui-react/layout/state/NineZoneStateReducer.js.map +1 -1
  29. package/lib/appui-react/layout/widget/Tab.d.ts.map +1 -1
  30. package/lib/appui-react/layout/widget/Tab.js.map +1 -1
  31. package/lib/appui-react/layout/widget/widget-content-layout/WidgetContentLayout.d.ts.map +1 -1
  32. package/lib/appui-react/layout/widget/widget-content-layout/WidgetContentLayout.js +2 -3
  33. package/lib/appui-react/layout/widget/widget-content-layout/WidgetContentLayout.js.map +1 -1
  34. package/lib/appui-react/layout/widget/widget-content-layout/WidgetContentLayout.scss +12 -6
  35. package/lib/appui-react/layout/widget/widget-content-layout/header/HeaderLayout.d.ts +1 -1
  36. package/lib/appui-react/layout/widget/widget-content-layout/header/HeaderLayout.d.ts.map +1 -1
  37. package/lib/appui-react/layout/widget/widget-content-layout/header/HeaderLayout.js +2 -1
  38. package/lib/appui-react/layout/widget/widget-content-layout/header/HeaderLayout.js.map +1 -1
  39. package/lib/appui-react/navigationaids/SheetNavigationAid.d.ts.map +1 -1
  40. package/lib/appui-react/navigationaids/SheetNavigationAid.js.map +1 -1
  41. package/lib/appui-react/redux/ReducerRegistry.d.ts.map +1 -1
  42. package/lib/appui-react/redux/ReducerRegistry.js +0 -1
  43. package/lib/appui-react/redux/ReducerRegistry.js.map +1 -1
  44. package/lib/appui-react/redux/StateManager.d.ts.map +1 -1
  45. package/lib/appui-react/redux/StateManager.js +0 -2
  46. package/lib/appui-react/redux/StateManager.js.map +1 -1
  47. package/lib/appui-react/selection/SelectionContextItemDef.d.ts.map +1 -1
  48. package/lib/appui-react/selection/SelectionContextItemDef.js +0 -1
  49. package/lib/appui-react/selection/SelectionContextItemDef.js.map +1 -1
  50. package/lib/appui-react/settings/ui/UiSettingsPage.d.ts.map +1 -1
  51. package/lib/appui-react/settings/ui/UiSettingsPage.js +1 -6
  52. package/lib/appui-react/settings/ui/UiSettingsPage.js.map +1 -1
  53. package/lib/appui-react/shared/GroupItemProps.d.ts.map +1 -1
  54. package/lib/appui-react/shared/GroupItemProps.js.map +1 -1
  55. package/lib/appui-react/shared/MenuItem.d.ts.map +1 -1
  56. package/lib/appui-react/shared/MenuItem.js +0 -1
  57. package/lib/appui-react/shared/MenuItem.js.map +1 -1
  58. package/lib/appui-react/syncui/UiSyncEvent.d.ts +1 -1
  59. package/lib/appui-react/syncui/UiSyncEvent.js +1 -1
  60. package/lib/appui-react/syncui/UiSyncEvent.js.map +1 -1
  61. package/lib/appui-react/toolbar/ToolbarHelper.d.ts.map +1 -1
  62. package/lib/appui-react/toolbar/ToolbarHelper.js +2 -3
  63. package/lib/appui-react/toolbar/ToolbarHelper.js.map +1 -1
  64. package/lib/appui-react/toolsettings/InternalToolSettingsManager.js +0 -1
  65. package/lib/appui-react/toolsettings/InternalToolSettingsManager.js.map +1 -1
  66. package/lib/appui-react/ui-items-provider/AbstractUiItemsManager.js +1 -1
  67. package/lib/appui-react/ui-items-provider/AbstractUiItemsManager.js.map +1 -1
  68. package/lib/appui-react/ui-items-provider/UiItemsManager.d.ts.map +1 -1
  69. package/lib/appui-react/ui-items-provider/UiItemsManager.js.map +1 -1
  70. package/lib/appui-react/uistate/AppUiSettings.d.ts.map +1 -1
  71. package/lib/appui-react/uistate/AppUiSettings.js +0 -1
  72. package/lib/appui-react/uistate/AppUiSettings.js.map +1 -1
  73. package/lib/appui-react/utils/PropsHelper.d.ts +1 -1
  74. package/lib/appui-react/utils/PropsHelper.d.ts.map +1 -1
  75. package/lib/appui-react/utils/PropsHelper.js +2 -3
  76. package/lib/appui-react/utils/PropsHelper.js.map +1 -1
  77. package/lib/appui-react/widgets/WidgetDef.d.ts.map +1 -1
  78. package/lib/appui-react/widgets/WidgetDef.js +0 -1
  79. package/lib/appui-react/widgets/WidgetDef.js.map +1 -1
  80. package/lib/cjs/appui-react/layout/widget/widget-content-layout/WidgetContentLayout.scss +12 -6
  81. package/lib/esm/appui-react/layout/widget/widget-content-layout/WidgetContentLayout.scss +12 -6
  82. package/package.json +13 -14
@@ -1 +1 @@
1
- {"version":3,"file":"UiItemsManager.js","sourceRoot":"","sources":["../../../src/appui-react/ui-items-provider/UiItemsManager.ts"],"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 UiProvider\n */\n\nimport type { MarkRequired } from \"@itwin/core-bentley\";\nimport { BeUiEvent, Logger } from \"@itwin/core-bentley\";\nimport type { BackstageItem } from \"../backstage/BackstageItem.js\";\nimport type { StagePanelLocation } from \"../stagepanels/StagePanelLocation.js\";\nimport type { StagePanelSection } from \"../stagepanels/StagePanelSection.js\";\nimport type { StatusBarItem } from \"../statusbar/StatusBarItem.js\";\nimport type { ToolbarItem } from \"../toolbar/ToolbarItem.js\";\nimport type {\n ToolbarOrientation,\n ToolbarUsage,\n} from \"../toolbar/ToolbarItem.js\";\nimport { UiFramework } from \"../UiFramework.js\";\nimport type { Widget } from \"../widgets/Widget.js\";\nimport type { ProviderItem } from \"./ProviderItem.js\";\nimport type { UiItemsProvider } from \"./UiItemsProvider.js\";\nimport {\n createAbstractUiItemsManagerAdapter,\n createGetPropertyAdapter,\n} from \"./AbstractUiItemsManager.js\";\n\n/** UiItemsProvider register event args.\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 UiItemsProviderRegisteredEventArgs {\n providerId: string;\n}\n\n/** UiItemsProvider overrides allows the application that registers a provider to limit when it is allowed to provide items\n * @public\n */\nexport interface AllowedUiItemsProviderOverrides {\n /** allows providerId to be overridden in the items manager for cases where the same provider needs to provide different content to different stages */\n providerId?: string;\n /** if specified then the current stage's Usage will be compared before allowing any items to be provided */\n stageUsages?: string[];\n /** if specified then the current stage's Id will be compared before allowing any items to be provided */\n stageIds?: string[];\n}\n\n/** Allowed overrides applied to a UiItemsProvider the application that registers a provider to limit when it is allowed to provide items.\n * Note that if an override `providerId` is specified then either `stageIds` or `stageUsages` must be defined to limit when the provider's\n * items are allowed.\n * @public\n */\nexport type UiItemsProviderOverrides =\n | MarkRequired<AllowedUiItemsProviderOverrides, \"providerId\" | \"stageUsages\">\n | MarkRequired<AllowedUiItemsProviderOverrides, \"providerId\" | \"stageIds\">\n | MarkRequired<AllowedUiItemsProviderOverrides, \"stageIds\">\n | MarkRequired<AllowedUiItemsProviderOverrides, \"stageUsages\">\n | MarkRequired<\n AllowedUiItemsProviderOverrides,\n \"providerId\" | \"stageUsages\" | \"stageIds\"\n >;\n\n/** Interface that defines an instance of a UiItemsProvider and its application specified overrides. */\ninterface UiItemProviderEntry {\n provider: UiItemsProvider;\n overrides?: UiItemsProviderOverrides;\n}\n\n/** Controls registering of UiItemsProviders and calls the provider's methods when populating different parts of the User Interface.\n * @public\n */\nexport class UiItemsManager {\n private static _registeredUiItemsProviders: Map<string, UiItemProviderEntry> =\n new Map<string, UiItemProviderEntry>();\n private static _onUiProviderRegisteredEvent =\n new BeUiEvent<UiItemsProviderRegisteredEventArgs>(); // eslint-disable-line @typescript-eslint/no-deprecated\n private static _abstractAdapter = createAbstractUiItemsManagerAdapter();\n\n /** For use in unit testing\n * @internal\n */\n public static useAbstractAdapter(useAbstractAdapter: boolean) {\n if (useAbstractAdapter) {\n this._abstractAdapter = createAbstractUiItemsManagerAdapter();\n } else {\n this._abstractAdapter = undefined;\n }\n }\n\n /** For use in unit testing\n * @internal */\n public static clearAllProviders() {\n if (this._abstractAdapter) {\n this._abstractAdapter.clearAllProviders();\n }\n\n UiItemsManager._registeredUiItemsProviders.clear();\n }\n\n /** Event raised any time a UiProvider is registered or unregistered. */\n // eslint-disable-next-line @typescript-eslint/no-deprecated\n public static get onUiProviderRegisteredEvent(): BeUiEvent<UiItemsProviderRegisteredEventArgs> {\n if (this._abstractAdapter)\n return this._abstractAdapter.onUiProviderRegisteredEvent;\n\n return this._onUiProviderRegisteredEvent;\n }\n\n /** Return number of registered UiProvider. */\n public static get registeredProviderIds(): string[] {\n if (this._abstractAdapter)\n return this._abstractAdapter.registeredProviderIds;\n\n const ids = [...UiItemsManager._registeredUiItemsProviders.keys()];\n return ids;\n }\n\n /** Return true if there is any registered UiProvider. */\n public static get hasRegisteredProviders(): boolean {\n if (this._abstractAdapter)\n return this._abstractAdapter.hasRegisteredProviders;\n\n return this._registeredUiItemsProviders.size > 0;\n }\n\n /**\n * Retrieves a previously loaded UiItemsProvider.\n * @param providerId id of the UiItemsProvider to get\n */\n public static getUiItemsProvider(\n providerId: string\n ): UiItemsProvider | undefined {\n if (this._abstractAdapter)\n return this._abstractAdapter.getUiItemsProvider(providerId);\n\n return UiItemsManager._registeredUiItemsProviders.get(providerId)?.provider;\n }\n\n // eslint-disable-next-line @typescript-eslint/no-deprecated\n private static sendRegisteredEvent(args: UiItemsProviderRegisteredEventArgs) {\n UiItemsManager.onUiProviderRegisteredEvent.raiseEvent(args);\n }\n\n /**\n * Registers an {@link UiItemsProvider}.\n * Optional overrides can be specified to limit when the provider is allowed to provide items.\n */\n public static register(\n uiProvider: UiItemsProvider,\n overrides?: UiItemsProviderOverrides\n ): void {\n const providerId = overrides?.providerId ?? uiProvider.id;\n if (UiItemsManager.getUiItemsProvider(providerId)) {\n Logger.logInfo(\n UiFramework.loggerCategory(\"UiItemsManager\"),\n `UiItemsProvider '${providerId}' is already registered`\n );\n return;\n }\n\n // Using the same structure to support layout agnostic methods i.e. `getToolbarItems`.\n UiItemsManager._registeredUiItemsProviders.set(providerId, {\n provider: uiProvider,\n overrides,\n });\n\n if (this._abstractAdapter) {\n return this._abstractAdapter.register(uiProvider, overrides);\n }\n\n Logger.logInfo(\n UiFramework.loggerCategory(\"UiItemsManager\"),\n `UiItemsProvider '${uiProvider.id}' registered as '${providerId}'`\n );\n UiItemsManager.sendRegisteredEvent({ providerId });\n }\n\n /** Unregisters a specific {@link UiItemsProvider}. */\n public static unregister(providerId: string): void {\n const provider = UiItemsManager.getUiItemsProvider(providerId);\n if (!provider) return;\n\n UiItemsManager._registeredUiItemsProviders.delete(providerId);\n if (this._abstractAdapter) {\n this._abstractAdapter.unregister(providerId);\n }\n\n provider.onUnregister?.();\n\n Logger.logInfo(\n UiFramework.loggerCategory(\"UiItemsManager\"),\n `UiItemsProvider '${providerId}' unregistered`\n );\n\n // trigger a refresh of the ui\n UiItemsManager.sendRegisteredEvent({ providerId });\n }\n\n private static allowItemsFromProvider(\n entry: UiItemProviderEntry,\n stageId?: string,\n stageUsage?: string\n ) {\n const overrides = entry.overrides;\n if (\n undefined !== stageId &&\n overrides?.stageIds &&\n !overrides.stageIds.some((value: string) => value === stageId)\n )\n return false;\n if (\n undefined !== stageUsage &&\n overrides?.stageUsages &&\n !overrides.stageUsages.some((value: string) => value === stageUsage)\n )\n return false;\n return true;\n }\n\n /** Returns registered toolbar items configured for the standard layout that match the specified frontstage id and usage.\n * @note Items registered in `UiItemsManager` of `@itwin/appui-abstract` are returned by this method.\n * @note Items returned by {@link UiItemsProvider.provideToolbarItems} are returned by this method.\n */\n public static getToolbarButtonItems(\n stageId: string,\n stageUsage: string,\n usage: ToolbarUsage,\n orientation: ToolbarOrientation\n ): ReadonlyArray<ProviderItem<ToolbarItem>> {\n if (this._abstractAdapter) {\n return this._abstractAdapter.getToolbarButtonItems(\n stageId,\n stageUsage,\n usage,\n orientation\n );\n }\n\n const items: ProviderItem<ToolbarItem>[] = [];\n UiItemsManager._registeredUiItemsProviders.forEach((entry) => {\n if (!this.allowItemsFromProvider(entry, stageId, stageUsage)) return;\n\n const uiProvider = entry.provider;\n const providerId = entry.overrides?.providerId ?? uiProvider.id;\n const provider = createGetPropertyAdapter(uiProvider);\n const providerItems = provider\n .provideToolbarItems(stageId, stageUsage, usage, orientation)\n .map((item) => ({\n ...item,\n providerId,\n }));\n items.push(...providerItems);\n });\n\n return getUniqueItems(items);\n }\n\n /** Returns registered toolbar items that match the specified frontstage id and usage.\n * @note Items registered in `UiItemsManager` of `@itwin/appui-abstract` are not returned by this method.\n * @note Items returned by {@link UiItemsProvider.provideToolbarItems} are not returned by this method.\n */\n public static getToolbarItems(\n stageId: string,\n stageUsage: string\n ): ReadonlyArray<ProviderItem<ToolbarItem>> {\n const items: ProviderItem<ToolbarItem>[] = [];\n // Not using `AbstractUiItemsManager`, since there's no way to check if provider items are allowed.\n UiItemsManager._registeredUiItemsProviders.forEach((entry) => {\n const uiProvider = entry.provider;\n const providerId = entry.overrides?.providerId ?? uiProvider.id;\n if (!this.allowItemsFromProvider(entry, stageId, stageUsage)) return;\n\n const providerItems =\n uiProvider.getToolbarItems?.().map((item) => ({\n ...item,\n providerId,\n })) ?? [];\n items.push(...providerItems);\n });\n\n return getUniqueItems(items);\n }\n\n /** Returns registered status bar items that match the specified frontstage id and usage.\n * @note Items registered in `UiItemsManager` of `@itwin/appui-abstract` are returned by this method.\n * @note Items returned by {@link UiItemsProvider.provideStatusBarItems} are returned by this method.\n */\n public static getStatusBarItems(\n stageId: string,\n stageUsage: string\n ): ReadonlyArray<ProviderItem<StatusBarItem>> {\n if (this._abstractAdapter) {\n return this._abstractAdapter.getStatusBarItems(stageId, stageUsage);\n }\n\n const items: ProviderItem<StatusBarItem>[] = [];\n UiItemsManager._registeredUiItemsProviders.forEach((entry) => {\n if (!this.allowItemsFromProvider(entry, stageId, stageUsage)) return;\n\n const uiProvider = entry.provider;\n const providerId = entry.overrides?.providerId ?? uiProvider.id;\n const provider = createGetPropertyAdapter(uiProvider);\n\n const providerItems = provider\n .provideStatusBarItems(stageId, stageUsage)\n .map((item) => ({\n ...item,\n providerId,\n }));\n items.push(...providerItems);\n });\n\n return getUniqueItems(items);\n }\n\n /** Returns registered backstage items.\n * @note Items registered in `UiItemsManager` of `@itwin/appui-abstract` are returned by this method.\n * @note Items returned by {@link UiItemsProvider.provideBackstageItems} are returned by this method.\n */\n public static getBackstageItems(): ReadonlyArray<\n ProviderItem<BackstageItem>\n > {\n if (this._abstractAdapter) {\n return this._abstractAdapter.getBackstageItems();\n }\n\n const items: ProviderItem<BackstageItem>[] = [];\n UiItemsManager._registeredUiItemsProviders.forEach((entry) => {\n const uiProvider = entry.provider;\n const providerId = entry.overrides?.providerId ?? uiProvider.id;\n const provider = createGetPropertyAdapter(uiProvider);\n // Note: We do not call this.allowItemsFromProvider here as backstage items\n // should not be considered stage specific.\n const providerItems = provider.provideBackstageItems().map((item) => ({\n ...item,\n providerId,\n }));\n items.push(...providerItems);\n });\n\n return getUniqueItems(items);\n }\n\n /** Returns registered widgets that match the specified frontstage id and usage.\n * @note Items registered in `UiItemsManager` of `@itwin/appui-abstract` are not returned by this method.\n * @note Items returned by {@link UiItemsProvider.provideWidgets} are not returned by this method.\n */\n public static getWidgets(\n stageId: string,\n stageUsage: string\n ): ReadonlyArray<ProviderItem<Widget>>;\n /** Returns registered widgets configured for the standard layout that match the specified frontstage id and usage.\n * @note Items registered in `UiItemsManager` of `@itwin/appui-abstract` are returned by this method.\n * @note Items returned by {@link UiItemsProvider.provideWidgets} are returned by this method.\n */\n public static getWidgets(\n stageId: string,\n stageUsage: string,\n location: StagePanelLocation,\n // eslint-disable-next-line @typescript-eslint/unified-signatures\n section?: StagePanelSection\n ): ReadonlyArray<ProviderItem<Widget>>;\n public static getWidgets(\n stageId: string,\n stageUsage: string,\n location?: StagePanelLocation,\n section?: StagePanelSection\n ): ReadonlyArray<ProviderItem<Widget>> {\n const items: ProviderItem<Widget>[] = [];\n\n // If location is not specified, return all registered widgets.\n if (location === undefined) {\n // Not using `AbstractUiItemsManager`, since there's no way to check if provider items are allowed.\n UiItemsManager._registeredUiItemsProviders.forEach((entry) => {\n const uiProvider = entry.provider;\n const providerId = entry.overrides?.providerId ?? uiProvider.id;\n if (!this.allowItemsFromProvider(entry, stageId, stageUsage)) return;\n\n const providerItems =\n uiProvider.getWidgets?.().map((item) => ({\n ...item,\n providerId,\n })) ?? [];\n items.push(...providerItems);\n });\n return getUniqueItems(items);\n }\n\n if (this._abstractAdapter) {\n const abstractWidgets = this._abstractAdapter.getWidgets(\n stageId,\n stageUsage,\n location,\n section\n );\n items.push(...abstractWidgets);\n }\n\n UiItemsManager._registeredUiItemsProviders.forEach((entry) => {\n const uiProvider = entry.provider;\n const providerId = entry.overrides?.providerId ?? uiProvider.id;\n if (!this.allowItemsFromProvider(entry, stageId, stageUsage)) return;\n\n const provider = createGetPropertyAdapter(uiProvider);\n const providerItems = provider\n .provideWidgets(stageId, stageUsage, location, section)\n .map((item) => ({\n ...item,\n providerId,\n }));\n items.push(...providerItems);\n });\n\n return getUniqueItems(items);\n }\n}\n\nfunction getUniqueItems<T extends { id: string }>(items: readonly T[]) {\n const uniqueItems: T[] = [];\n items.forEach((item) => {\n if (uniqueItems.find((existingItem) => item.id === existingItem.id)) return;\n uniqueItems.push(item);\n });\n return uniqueItems;\n}\n"]}
1
+ {"version":3,"file":"UiItemsManager.js","sourceRoot":"","sources":["../../../src/appui-react/ui-items-provider/UiItemsManager.ts"],"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 UiProvider\n */\n\nimport type { MarkRequired } from \"@itwin/core-bentley\";\nimport { BeUiEvent, Logger } from \"@itwin/core-bentley\";\nimport type { BackstageItem } from \"../backstage/BackstageItem.js\";\nimport type { StagePanelLocation } from \"../stagepanels/StagePanelLocation.js\";\nimport type { StagePanelSection } from \"../stagepanels/StagePanelSection.js\";\nimport type { StatusBarItem } from \"../statusbar/StatusBarItem.js\";\nimport type { ToolbarItem } from \"../toolbar/ToolbarItem.js\";\nimport type {\n ToolbarOrientation,\n ToolbarUsage,\n} from \"../toolbar/ToolbarItem.js\";\nimport { UiFramework } from \"../UiFramework.js\";\nimport type { Widget } from \"../widgets/Widget.js\";\nimport type { ProviderItem } from \"./ProviderItem.js\";\nimport type { UiItemsProvider } from \"./UiItemsProvider.js\";\nimport {\n createAbstractUiItemsManagerAdapter,\n createGetPropertyAdapter,\n} from \"./AbstractUiItemsManager.js\";\n\n/** UiItemsProvider register event args.\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 UiItemsProviderRegisteredEventArgs {\n providerId: string;\n}\n\n/** UiItemsProvider overrides allows the application that registers a provider to limit when it is allowed to provide items\n * @public\n */\nexport interface AllowedUiItemsProviderOverrides {\n /** allows providerId to be overridden in the items manager for cases where the same provider needs to provide different content to different stages */\n providerId?: string;\n /** if specified then the current stage's Usage will be compared before allowing any items to be provided */\n stageUsages?: string[];\n /** if specified then the current stage's Id will be compared before allowing any items to be provided */\n stageIds?: string[];\n}\n\n/** Allowed overrides applied to a UiItemsProvider the application that registers a provider to limit when it is allowed to provide items.\n * Note that if an override `providerId` is specified then either `stageIds` or `stageUsages` must be defined to limit when the provider's\n * items are allowed.\n * @public\n */\nexport type UiItemsProviderOverrides =\n | MarkRequired<AllowedUiItemsProviderOverrides, \"providerId\" | \"stageUsages\">\n | MarkRequired<AllowedUiItemsProviderOverrides, \"providerId\" | \"stageIds\">\n | MarkRequired<AllowedUiItemsProviderOverrides, \"stageIds\">\n | MarkRequired<AllowedUiItemsProviderOverrides, \"stageUsages\">\n | MarkRequired<\n AllowedUiItemsProviderOverrides,\n \"providerId\" | \"stageUsages\" | \"stageIds\"\n >;\n\n/** Interface that defines an instance of a UiItemsProvider and its application specified overrides. */\ninterface UiItemProviderEntry {\n provider: UiItemsProvider;\n overrides?: UiItemsProviderOverrides;\n}\n\n/** Controls registering of UiItemsProviders and calls the provider's methods when populating different parts of the User Interface.\n * @public\n */\nexport class UiItemsManager {\n private static _registeredUiItemsProviders: Map<string, UiItemProviderEntry> =\n new Map<string, UiItemProviderEntry>();\n private static _onUiProviderRegisteredEvent =\n new BeUiEvent<UiItemsProviderRegisteredEventArgs>(); // eslint-disable-line @typescript-eslint/no-deprecated\n private static _abstractAdapter = createAbstractUiItemsManagerAdapter();\n\n /** For use in unit testing\n * @internal\n */\n public static useAbstractAdapter(useAbstractAdapter: boolean) {\n if (useAbstractAdapter) {\n this._abstractAdapter = createAbstractUiItemsManagerAdapter();\n } else {\n this._abstractAdapter = undefined;\n }\n }\n\n /** For use in unit testing\n * @internal */\n public static clearAllProviders() {\n if (this._abstractAdapter) {\n this._abstractAdapter.clearAllProviders();\n }\n\n UiItemsManager._registeredUiItemsProviders.clear();\n }\n\n /** Event raised any time a UiProvider is registered or unregistered. */\n // eslint-disable-next-line @typescript-eslint/no-deprecated\n public static get onUiProviderRegisteredEvent(): BeUiEvent<UiItemsProviderRegisteredEventArgs> {\n if (this._abstractAdapter)\n return this._abstractAdapter.onUiProviderRegisteredEvent;\n\n return this._onUiProviderRegisteredEvent;\n }\n\n /** Return number of registered UiProvider. */\n public static get registeredProviderIds(): string[] {\n if (this._abstractAdapter)\n return this._abstractAdapter.registeredProviderIds;\n\n const ids = [...UiItemsManager._registeredUiItemsProviders.keys()];\n return ids;\n }\n\n /** Return true if there is any registered UiProvider. */\n public static get hasRegisteredProviders(): boolean {\n if (this._abstractAdapter)\n return this._abstractAdapter.hasRegisteredProviders;\n\n return this._registeredUiItemsProviders.size > 0;\n }\n\n /**\n * Retrieves a previously loaded UiItemsProvider.\n * @param providerId id of the UiItemsProvider to get\n */\n public static getUiItemsProvider(\n providerId: string\n ): UiItemsProvider | undefined {\n if (this._abstractAdapter)\n return this._abstractAdapter.getUiItemsProvider(providerId);\n\n return UiItemsManager._registeredUiItemsProviders.get(providerId)?.provider;\n }\n\n // eslint-disable-next-line @typescript-eslint/no-deprecated\n private static sendRegisteredEvent(args: UiItemsProviderRegisteredEventArgs) {\n UiItemsManager.onUiProviderRegisteredEvent.raiseEvent(args);\n }\n\n /**\n * Registers an {@link UiItemsProvider}.\n * Optional overrides can be specified to limit when the provider is allowed to provide items.\n */\n public static register(\n uiProvider: UiItemsProvider,\n overrides?: UiItemsProviderOverrides\n ): void {\n const providerId = overrides?.providerId ?? uiProvider.id;\n if (UiItemsManager.getUiItemsProvider(providerId)) {\n Logger.logInfo(\n UiFramework.loggerCategory(\"UiItemsManager\"),\n `UiItemsProvider '${providerId}' is already registered`\n );\n return;\n }\n\n // Using the same structure to support layout agnostic methods i.e. `getToolbarItems`.\n UiItemsManager._registeredUiItemsProviders.set(providerId, {\n provider: uiProvider,\n overrides,\n });\n\n if (this._abstractAdapter) {\n return this._abstractAdapter.register(uiProvider, overrides);\n }\n\n Logger.logInfo(\n UiFramework.loggerCategory(\"UiItemsManager\"),\n `UiItemsProvider '${uiProvider.id}' registered as '${providerId}'`\n );\n UiItemsManager.sendRegisteredEvent({ providerId });\n }\n\n /** Unregisters a specific {@link UiItemsProvider}. */\n public static unregister(providerId: string): void {\n const provider = UiItemsManager.getUiItemsProvider(providerId);\n if (!provider) return;\n\n UiItemsManager._registeredUiItemsProviders.delete(providerId);\n if (this._abstractAdapter) {\n this._abstractAdapter.unregister(providerId);\n }\n\n provider.onUnregister?.();\n\n Logger.logInfo(\n UiFramework.loggerCategory(\"UiItemsManager\"),\n `UiItemsProvider '${providerId}' unregistered`\n );\n\n // trigger a refresh of the ui\n UiItemsManager.sendRegisteredEvent({ providerId });\n }\n\n private static allowItemsFromProvider(\n entry: UiItemProviderEntry,\n stageId?: string,\n stageUsage?: string\n ) {\n const overrides = entry.overrides;\n if (\n undefined !== stageId &&\n overrides?.stageIds &&\n !overrides.stageIds.some((value: string) => value === stageId)\n )\n return false;\n if (\n undefined !== stageUsage &&\n overrides?.stageUsages &&\n !overrides.stageUsages.some((value: string) => value === stageUsage)\n )\n return false;\n return true;\n }\n\n /** Returns registered toolbar items configured for the standard layout that match the specified frontstage id and usage.\n * @note Items registered in `UiItemsManager` of `@itwin/appui-abstract` are returned by this method.\n * @note Items returned by {@link UiItemsProvider.provideToolbarItems} are returned by this method.\n */\n public static getToolbarButtonItems(\n stageId: string,\n stageUsage: string,\n usage: ToolbarUsage,\n orientation: ToolbarOrientation\n ): ReadonlyArray<ProviderItem<ToolbarItem>> {\n if (this._abstractAdapter) {\n return this._abstractAdapter.getToolbarButtonItems(\n stageId,\n stageUsage,\n usage,\n orientation\n );\n }\n\n const items: ProviderItem<ToolbarItem>[] = [];\n UiItemsManager._registeredUiItemsProviders.forEach((entry) => {\n if (!this.allowItemsFromProvider(entry, stageId, stageUsage)) return;\n\n const uiProvider = entry.provider;\n const providerId = entry.overrides?.providerId ?? uiProvider.id;\n const provider = createGetPropertyAdapter(uiProvider);\n const providerItems = provider\n .provideToolbarItems(stageId, stageUsage, usage, orientation)\n .map((item) => ({\n ...item,\n providerId,\n }));\n items.push(...providerItems);\n });\n\n return getUniqueItems(items);\n }\n\n /** Returns registered toolbar items that match the specified frontstage id and usage.\n * @note Items registered in `UiItemsManager` of `@itwin/appui-abstract` are not returned by this method.\n * @note Items returned by {@link UiItemsProvider.provideToolbarItems} are not returned by this method.\n */\n public static getToolbarItems(\n stageId: string,\n stageUsage: string\n ): ReadonlyArray<ProviderItem<ToolbarItem>> {\n const items: ProviderItem<ToolbarItem>[] = [];\n // Not using `AbstractUiItemsManager`, since there's no way to check if provider items are allowed.\n UiItemsManager._registeredUiItemsProviders.forEach((entry) => {\n const uiProvider = entry.provider;\n const providerId = entry.overrides?.providerId ?? uiProvider.id;\n if (!this.allowItemsFromProvider(entry, stageId, stageUsage)) return;\n\n const providerItems =\n uiProvider.getToolbarItems?.().map((item) => ({\n ...item,\n providerId,\n })) ?? [];\n items.push(...providerItems);\n });\n\n return getUniqueItems(items);\n }\n\n /** Returns registered status bar items that match the specified frontstage id and usage.\n * @note Items registered in `UiItemsManager` of `@itwin/appui-abstract` are returned by this method.\n * @note Items returned by {@link UiItemsProvider.provideStatusBarItems} are returned by this method.\n */\n public static getStatusBarItems(\n stageId: string,\n stageUsage: string\n ): ReadonlyArray<ProviderItem<StatusBarItem>> {\n if (this._abstractAdapter) {\n return this._abstractAdapter.getStatusBarItems(stageId, stageUsage);\n }\n\n const items: ProviderItem<StatusBarItem>[] = [];\n UiItemsManager._registeredUiItemsProviders.forEach((entry) => {\n if (!this.allowItemsFromProvider(entry, stageId, stageUsage)) return;\n\n const uiProvider = entry.provider;\n const providerId = entry.overrides?.providerId ?? uiProvider.id;\n const provider = createGetPropertyAdapter(uiProvider);\n\n const providerItems = provider\n .provideStatusBarItems(stageId, stageUsage)\n .map((item) => ({\n ...item,\n providerId,\n }));\n items.push(...providerItems);\n });\n\n return getUniqueItems(items);\n }\n\n /** Returns registered backstage items.\n * @note Items registered in `UiItemsManager` of `@itwin/appui-abstract` are returned by this method.\n * @note Items returned by {@link UiItemsProvider.provideBackstageItems} are returned by this method.\n */\n public static getBackstageItems(): ReadonlyArray<\n ProviderItem<BackstageItem>\n > {\n if (this._abstractAdapter) {\n return this._abstractAdapter.getBackstageItems();\n }\n\n const items: ProviderItem<BackstageItem>[] = [];\n UiItemsManager._registeredUiItemsProviders.forEach((entry) => {\n const uiProvider = entry.provider;\n const providerId = entry.overrides?.providerId ?? uiProvider.id;\n const provider = createGetPropertyAdapter(uiProvider);\n // Note: We do not call this.allowItemsFromProvider here as backstage items\n // should not be considered stage specific.\n const providerItems = provider.provideBackstageItems().map((item) => ({\n ...item,\n providerId,\n }));\n items.push(...providerItems);\n });\n\n return getUniqueItems(items);\n }\n\n /** Returns registered widgets that match the specified frontstage id and usage.\n * @note Items registered in `UiItemsManager` of `@itwin/appui-abstract` are not returned by this method.\n * @note Items returned by {@link UiItemsProvider.provideWidgets} are not returned by this method.\n */\n public static getWidgets(\n stageId: string,\n stageUsage: string\n ): ReadonlyArray<ProviderItem<Widget>>;\n /** Returns registered widgets configured for the standard layout that match the specified frontstage id and usage.\n * @note Items registered in `UiItemsManager` of `@itwin/appui-abstract` are returned by this method.\n * @note Items returned by {@link UiItemsProvider.provideWidgets} are returned by this method.\n */\n public static getWidgets(\n stageId: string,\n stageUsage: string,\n location: StagePanelLocation,\n section?: StagePanelSection\n ): ReadonlyArray<ProviderItem<Widget>>;\n public static getWidgets(\n stageId: string,\n stageUsage: string,\n location?: StagePanelLocation,\n section?: StagePanelSection\n ): ReadonlyArray<ProviderItem<Widget>> {\n const items: ProviderItem<Widget>[] = [];\n\n // If location is not specified, return all registered widgets.\n if (location === undefined) {\n // Not using `AbstractUiItemsManager`, since there's no way to check if provider items are allowed.\n UiItemsManager._registeredUiItemsProviders.forEach((entry) => {\n const uiProvider = entry.provider;\n const providerId = entry.overrides?.providerId ?? uiProvider.id;\n if (!this.allowItemsFromProvider(entry, stageId, stageUsage)) return;\n\n const providerItems =\n uiProvider.getWidgets?.().map((item) => ({\n ...item,\n providerId,\n })) ?? [];\n items.push(...providerItems);\n });\n return getUniqueItems(items);\n }\n\n if (this._abstractAdapter) {\n const abstractWidgets = this._abstractAdapter.getWidgets(\n stageId,\n stageUsage,\n location,\n section\n );\n items.push(...abstractWidgets);\n }\n\n UiItemsManager._registeredUiItemsProviders.forEach((entry) => {\n const uiProvider = entry.provider;\n const providerId = entry.overrides?.providerId ?? uiProvider.id;\n if (!this.allowItemsFromProvider(entry, stageId, stageUsage)) return;\n\n const provider = createGetPropertyAdapter(uiProvider);\n const providerItems = provider\n .provideWidgets(stageId, stageUsage, location, section)\n .map((item) => ({\n ...item,\n providerId,\n }));\n items.push(...providerItems);\n });\n\n return getUniqueItems(items);\n }\n}\n\nfunction getUniqueItems<T extends { id: string }>(items: readonly T[]) {\n const uniqueItems: T[] = [];\n items.forEach((item) => {\n if (uniqueItems.find((existingItem) => item.id === existingItem.id)) return;\n uniqueItems.push(item);\n });\n return uniqueItems;\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"AppUiSettings.d.ts","sourceRoot":"","sources":["../../../src/appui-react/uistate/AppUiSettings.ts"],"names":[],"mappings":"AAIA;;GAEG;AAEH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AACxD,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAEjD,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAC;AAG9D,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAC;AAKnD;;;GAGG;AACH,MAAM,WAAW,oBAAoB;IACnC,UAAU,EAAE,OAAO,CAAC;IACpB,eAAe,EAAE,OAAO,CAAC;IACzB,aAAa,EAAE,MAAM,CAAC;IACtB,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,aAAa;IACb,0BAA0B,CAAC,EAAE,OAAO,CAAC;IACrC,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAC9B,0BAA0B,CAAC,EAAE,OAAO,CAAC;IACrC,cAAc,EAAE,MAAM,CAAC;CACxB;AAED;;;;;;;;;;GAUG;AACH,qBAAa,aAAc,YAAW,oBAAoB;IACxD,SAAgB,UAAU,2BAA2B;IAErD,OAAO,CAAC,MAAM,CAAC,iBAAiB,CAAmB;IACnD,OAAO,CAAC,SAAS,CAAgC;IACjD,OAAO,CAAC,sBAAsB,CAAS;IAEhC,UAAU,EAAE,YAAY,CAAC,OAAO,CAAC,CAAC;IAClC,eAAe,EAAE,YAAY,CAAC,OAAO,CAAC,CAAC;IACvC,aAAa,EAAE,YAAY,CAAC,MAAM,CAAC,CAAC;IACpC,cAAc,EAAE,YAAY,CAAC,OAAO,CAAC,CAAC;IACtC,0BAA0B,EAAE,YAAY,CAAC,OAAO,CAAC,CAAC;IAClD,mBAAmB,EAAE,YAAY,CAAC,OAAO,CAAC,CAAC;IAC3C,0BAA0B,EAAE,YAAY,CAAC,OAAO,CAAC,CAAC;IAClD,cAAc,EAAE,YAAY,CAAC,MAAM,CAAC,CAAC;IAE5C,OAAO,CAAC,aAAa,CAInB;gBAEU,QAAQ,EAAE,OAAO,CAAC,oBAAoB,CAAC;IA+EnD,OAAO,CAAC,iBAAiB,CAsCvB;IAEW,KAAK,CAAC,OAAO,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC;IAQ7C,gBAAgB,CAAC,OAAO,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC;CAGtE"}
1
+ {"version":3,"file":"AppUiSettings.d.ts","sourceRoot":"","sources":["../../../src/appui-react/uistate/AppUiSettings.ts"],"names":[],"mappings":"AAIA;;GAEG;AAEH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AACxD,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAEjD,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAC;AAG9D,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAC;AAKnD;;;GAGG;AACH,MAAM,WAAW,oBAAoB;IACnC,UAAU,EAAE,OAAO,CAAC;IACpB,eAAe,EAAE,OAAO,CAAC;IACzB,aAAa,EAAE,MAAM,CAAC;IACtB,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,aAAa;IACb,0BAA0B,CAAC,EAAE,OAAO,CAAC;IACrC,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAC9B,0BAA0B,CAAC,EAAE,OAAO,CAAC;IACrC,cAAc,EAAE,MAAM,CAAC;CACxB;AAED;;;;;;;;;;GAUG;AACH,qBAAa,aAAc,YAAW,oBAAoB;IACxD,SAAgB,UAAU,2BAA2B;IAErD,OAAO,CAAC,MAAM,CAAC,iBAAiB,CAAmB;IACnD,OAAO,CAAC,SAAS,CAAgC;IACjD,OAAO,CAAC,sBAAsB,CAAS;IAEhC,UAAU,EAAE,YAAY,CAAC,OAAO,CAAC,CAAC;IAClC,eAAe,EAAE,YAAY,CAAC,OAAO,CAAC,CAAC;IACvC,aAAa,EAAE,YAAY,CAAC,MAAM,CAAC,CAAC;IACpC,cAAc,EAAE,YAAY,CAAC,OAAO,CAAC,CAAC;IACtC,0BAA0B,EAAE,YAAY,CAAC,OAAO,CAAC,CAAC;IAClD,mBAAmB,EAAE,YAAY,CAAC,OAAO,CAAC,CAAC;IAC3C,0BAA0B,EAAE,YAAY,CAAC,OAAO,CAAC,CAAC;IAClD,cAAc,EAAE,YAAY,CAAC,MAAM,CAAC,CAAC;IAE5C,OAAO,CAAC,aAAa,CAInB;gBAEU,QAAQ,EAAE,OAAO,CAAC,oBAAoB,CAAC;IA8EnD,OAAO,CAAC,iBAAiB,CAsCvB;IAEW,KAAK,CAAC,OAAO,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC;IAQ7C,gBAAgB,CAAC,OAAO,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC;CAGtE"}
@@ -58,7 +58,6 @@ export class AppUiSettings {
58
58
  this._settings.push(this.toolbarOpacity);
59
59
  SyncUiEventDispatcher.onSyncUiEvent.addListener(this.handleSyncUiEvent);
60
60
  }
61
- // eslint-disable-next-line @typescript-eslint/no-deprecated
62
61
  handleSyncUiEvent = async (args) => {
63
62
  if (this._applyingLocalSettings)
64
63
  return;
@@ -1 +1 @@
1
- {"version":3,"file":"AppUiSettings.js","sourceRoot":"","sources":["../../../src/appui-react/uistate/AppUiSettings.ts"],"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 Settings\n */\n\nimport type { UiStateStorage } from \"@itwin/core-react\";\nimport { UiStateEntry } from \"@itwin/core-react\";\nimport { SyncUiEventDispatcher } from \"../syncui/SyncUiEventDispatcher.js\";\nimport type { UserSettingsProvider } from \"../UiFramework.js\";\nimport { UiFramework } from \"../UiFramework.js\";\nimport type { UiSyncEventArgs } from \"../syncui/UiSyncEvent.js\";\nimport type { ThemeId } from \"../theme/ThemeId.js\";\nimport { ConfigurableUiActionId } from \"../redux/ConfigurableUiState.js\";\n\n/* eslint-disable @typescript-eslint/no-deprecated */\n\n/** Default values that may be specified for [[AppUiSettings]].\n * @public\n * @deprecated in 4.15.0. Interface used in a deprecated class {@link AppUiSettings}.\n */\nexport interface InitialAppUiSettings {\n colorTheme: ThemeId;\n dragInteraction: boolean;\n widgetOpacity: number;\n showWidgetIcon?: boolean;\n /** @alpha */\n autoCollapseUnpinnedPanels?: boolean;\n animateToolSettings?: boolean;\n useToolAsToolSettingsLabel?: boolean;\n toolbarOpacity: number;\n}\n\n/** These are the UI settings that are stored in the Redux store. They control the color theme,\n * how toolbar group buttons work, and the opacity of floating widget when the cursor\n * is not inside them. It is expect that an IModelApp using App UI components will create and register AppUiSettings with\n * defaults specific to their application. This would be done by calling the following.\n *\n * ```ts\n * UiFramework.registerUserSettingsProvider(new AppUiSettings(defaults));\n * ```\n * @public\n * @deprecated in 4.15.0. Use {@link @itwin/core-react#UiStateStorage} to persist UI settings.\n */\nexport class AppUiSettings implements UserSettingsProvider {\n public readonly providerId = \"AppUiSettingsProvider\";\n\n private static _settingNamespace = \"AppUiSettings\";\n private _settings: Array<UiStateEntry<any>> = [];\n private _applyingLocalSettings = false;\n\n public colorTheme: UiStateEntry<ThemeId>;\n public dragInteraction: UiStateEntry<boolean>;\n public widgetOpacity: UiStateEntry<number>;\n public showWidgetIcon: UiStateEntry<boolean>;\n public autoCollapseUnpinnedPanels: UiStateEntry<boolean>;\n public animateToolSettings: UiStateEntry<boolean>;\n public useToolAsToolSettingsLabel: UiStateEntry<boolean>;\n public toolbarOpacity: UiStateEntry<number>;\n\n private setColorTheme = (theme: ThemeId) => {\n UiFramework.setColorTheme(theme);\n // always store to local storage to avoid flicker during startup if user is not yet logged-in\n window.localStorage.setItem(\"uifw:defaultTheme\", theme);\n };\n\n constructor(defaults: Partial<InitialAppUiSettings>) {\n this._settings = [];\n\n this.colorTheme = new UiStateEntry<ThemeId>(\n AppUiSettings._settingNamespace,\n \"ColorTheme\",\n UiFramework.getColorTheme,\n this.setColorTheme,\n defaults.colorTheme\n );\n this._settings.push(this.colorTheme);\n\n this.dragInteraction = new UiStateEntry<boolean>(\n AppUiSettings._settingNamespace,\n \"DragInteraction\",\n () => UiFramework.useDragInteraction,\n (value: boolean) => UiFramework.setUseDragInteraction(value),\n defaults.dragInteraction\n );\n this._settings.push(this.dragInteraction);\n\n this.showWidgetIcon = new UiStateEntry<boolean>(\n AppUiSettings._settingNamespace,\n \"ShowWidgetIcon\",\n () => UiFramework.showWidgetIcon,\n (value: boolean) => UiFramework.setShowWidgetIcon(value),\n defaults.showWidgetIcon\n );\n this._settings.push(this.showWidgetIcon);\n\n this.autoCollapseUnpinnedPanels = new UiStateEntry<boolean>(\n AppUiSettings._settingNamespace,\n \"AutoCollapseUnpinnedPanels\",\n () => UiFramework.autoCollapseUnpinnedPanels,\n (value: boolean) => UiFramework.setAutoCollapseUnpinnedPanels(value),\n defaults.autoCollapseUnpinnedPanels\n );\n this._settings.push(this.autoCollapseUnpinnedPanels);\n\n this.widgetOpacity = new UiStateEntry<number>(\n AppUiSettings._settingNamespace,\n \"WidgetOpacity\",\n () => UiFramework.getWidgetOpacity(),\n (value: number) => UiFramework.setWidgetOpacity(value),\n defaults.widgetOpacity\n );\n this._settings.push(this.widgetOpacity);\n\n this.animateToolSettings = new UiStateEntry<boolean>(\n AppUiSettings._settingNamespace,\n \"AnimateToolSettings\",\n () => UiFramework.animateToolSettings,\n (value: boolean) => UiFramework.setAnimateToolSettings(value),\n defaults.animateToolSettings\n );\n this._settings.push(this.animateToolSettings);\n\n this.useToolAsToolSettingsLabel = new UiStateEntry<boolean>(\n AppUiSettings._settingNamespace,\n \"UseToolAsToolSettingsLabel\",\n () => UiFramework.useToolAsToolSettingsLabel,\n (value: boolean) => UiFramework.setUseToolAsToolSettingsLabel(value),\n defaults.useToolAsToolSettingsLabel\n );\n this._settings.push(this.useToolAsToolSettingsLabel);\n\n this.toolbarOpacity = new UiStateEntry<number>(\n AppUiSettings._settingNamespace,\n \"ToolOpacity\",\n () => UiFramework.getToolbarOpacity(),\n (value: number) => UiFramework.setToolbarOpacity(value),\n defaults.toolbarOpacity\n );\n this._settings.push(this.toolbarOpacity);\n\n SyncUiEventDispatcher.onSyncUiEvent.addListener(this.handleSyncUiEvent);\n }\n\n // eslint-disable-next-line @typescript-eslint/no-deprecated\n private handleSyncUiEvent = async (args: UiSyncEventArgs) => {\n if (this._applyingLocalSettings) return;\n\n if (args.eventIds.has(ConfigurableUiActionId.SetTheme)) {\n await this.colorTheme.saveSetting(UiFramework.getUiStateStorage());\n // always store as default theme in local storage to avoid flicker during startup if user is not yet logged-in\n window.localStorage.setItem(\n \"uifw:defaultTheme\",\n UiFramework.getColorTheme()\n );\n }\n\n if (args.eventIds.has(ConfigurableUiActionId.SetDragInteraction))\n await this.dragInteraction.saveSetting(UiFramework.getUiStateStorage());\n\n if (args.eventIds.has(ConfigurableUiActionId.SetShowWidgetIcon))\n await this.showWidgetIcon.saveSetting(UiFramework.getUiStateStorage());\n\n if (args.eventIds.has(ConfigurableUiActionId.AutoCollapseUnpinnedPanels))\n await this.autoCollapseUnpinnedPanels.saveSetting(\n UiFramework.getUiStateStorage()\n );\n\n if (args.eventIds.has(ConfigurableUiActionId.SetWidgetOpacity))\n await this.widgetOpacity.saveSetting(UiFramework.getUiStateStorage());\n\n if (args.eventIds.has(ConfigurableUiActionId.AnimateToolSettings))\n await this.animateToolSettings.saveSetting(\n UiFramework.getUiStateStorage()\n );\n\n if (args.eventIds.has(ConfigurableUiActionId.UseToolAsToolSettingsLabel))\n await this.useToolAsToolSettingsLabel.saveSetting(\n UiFramework.getUiStateStorage()\n );\n\n if (args.eventIds.has(ConfigurableUiActionId.SetToolbarOpacity))\n await this.toolbarOpacity.saveSetting(UiFramework.getUiStateStorage());\n };\n\n public async apply(storage: UiStateStorage): Promise<void> {\n this._applyingLocalSettings = true;\n for (const setting of this._settings) {\n await setting.getSettingAndApplyValue(storage);\n }\n this._applyingLocalSettings = false;\n }\n\n public async loadUserSettings(storage: UiStateStorage): Promise<void> {\n await this.apply(storage);\n }\n}\n"]}
1
+ {"version":3,"file":"AppUiSettings.js","sourceRoot":"","sources":["../../../src/appui-react/uistate/AppUiSettings.ts"],"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 Settings\n */\n\nimport type { UiStateStorage } from \"@itwin/core-react\";\nimport { UiStateEntry } from \"@itwin/core-react\";\nimport { SyncUiEventDispatcher } from \"../syncui/SyncUiEventDispatcher.js\";\nimport type { UserSettingsProvider } from \"../UiFramework.js\";\nimport { UiFramework } from \"../UiFramework.js\";\nimport type { UiSyncEventArgs } from \"../syncui/UiSyncEvent.js\";\nimport type { ThemeId } from \"../theme/ThemeId.js\";\nimport { ConfigurableUiActionId } from \"../redux/ConfigurableUiState.js\";\n\n/* eslint-disable @typescript-eslint/no-deprecated */\n\n/** Default values that may be specified for [[AppUiSettings]].\n * @public\n * @deprecated in 4.15.0. Interface used in a deprecated class {@link AppUiSettings}.\n */\nexport interface InitialAppUiSettings {\n colorTheme: ThemeId;\n dragInteraction: boolean;\n widgetOpacity: number;\n showWidgetIcon?: boolean;\n /** @alpha */\n autoCollapseUnpinnedPanels?: boolean;\n animateToolSettings?: boolean;\n useToolAsToolSettingsLabel?: boolean;\n toolbarOpacity: number;\n}\n\n/** These are the UI settings that are stored in the Redux store. They control the color theme,\n * how toolbar group buttons work, and the opacity of floating widget when the cursor\n * is not inside them. It is expect that an IModelApp using App UI components will create and register AppUiSettings with\n * defaults specific to their application. This would be done by calling the following.\n *\n * ```ts\n * UiFramework.registerUserSettingsProvider(new AppUiSettings(defaults));\n * ```\n * @public\n * @deprecated in 4.15.0. Use {@link @itwin/core-react#UiStateStorage} to persist UI settings.\n */\nexport class AppUiSettings implements UserSettingsProvider {\n public readonly providerId = \"AppUiSettingsProvider\";\n\n private static _settingNamespace = \"AppUiSettings\";\n private _settings: Array<UiStateEntry<any>> = [];\n private _applyingLocalSettings = false;\n\n public colorTheme: UiStateEntry<ThemeId>;\n public dragInteraction: UiStateEntry<boolean>;\n public widgetOpacity: UiStateEntry<number>;\n public showWidgetIcon: UiStateEntry<boolean>;\n public autoCollapseUnpinnedPanels: UiStateEntry<boolean>;\n public animateToolSettings: UiStateEntry<boolean>;\n public useToolAsToolSettingsLabel: UiStateEntry<boolean>;\n public toolbarOpacity: UiStateEntry<number>;\n\n private setColorTheme = (theme: ThemeId) => {\n UiFramework.setColorTheme(theme);\n // always store to local storage to avoid flicker during startup if user is not yet logged-in\n window.localStorage.setItem(\"uifw:defaultTheme\", theme);\n };\n\n constructor(defaults: Partial<InitialAppUiSettings>) {\n this._settings = [];\n\n this.colorTheme = new UiStateEntry<ThemeId>(\n AppUiSettings._settingNamespace,\n \"ColorTheme\",\n UiFramework.getColorTheme,\n this.setColorTheme,\n defaults.colorTheme\n );\n this._settings.push(this.colorTheme);\n\n this.dragInteraction = new UiStateEntry<boolean>(\n AppUiSettings._settingNamespace,\n \"DragInteraction\",\n () => UiFramework.useDragInteraction,\n (value: boolean) => UiFramework.setUseDragInteraction(value),\n defaults.dragInteraction\n );\n this._settings.push(this.dragInteraction);\n\n this.showWidgetIcon = new UiStateEntry<boolean>(\n AppUiSettings._settingNamespace,\n \"ShowWidgetIcon\",\n () => UiFramework.showWidgetIcon,\n (value: boolean) => UiFramework.setShowWidgetIcon(value),\n defaults.showWidgetIcon\n );\n this._settings.push(this.showWidgetIcon);\n\n this.autoCollapseUnpinnedPanels = new UiStateEntry<boolean>(\n AppUiSettings._settingNamespace,\n \"AutoCollapseUnpinnedPanels\",\n () => UiFramework.autoCollapseUnpinnedPanels,\n (value: boolean) => UiFramework.setAutoCollapseUnpinnedPanels(value),\n defaults.autoCollapseUnpinnedPanels\n );\n this._settings.push(this.autoCollapseUnpinnedPanels);\n\n this.widgetOpacity = new UiStateEntry<number>(\n AppUiSettings._settingNamespace,\n \"WidgetOpacity\",\n () => UiFramework.getWidgetOpacity(),\n (value: number) => UiFramework.setWidgetOpacity(value),\n defaults.widgetOpacity\n );\n this._settings.push(this.widgetOpacity);\n\n this.animateToolSettings = new UiStateEntry<boolean>(\n AppUiSettings._settingNamespace,\n \"AnimateToolSettings\",\n () => UiFramework.animateToolSettings,\n (value: boolean) => UiFramework.setAnimateToolSettings(value),\n defaults.animateToolSettings\n );\n this._settings.push(this.animateToolSettings);\n\n this.useToolAsToolSettingsLabel = new UiStateEntry<boolean>(\n AppUiSettings._settingNamespace,\n \"UseToolAsToolSettingsLabel\",\n () => UiFramework.useToolAsToolSettingsLabel,\n (value: boolean) => UiFramework.setUseToolAsToolSettingsLabel(value),\n defaults.useToolAsToolSettingsLabel\n );\n this._settings.push(this.useToolAsToolSettingsLabel);\n\n this.toolbarOpacity = new UiStateEntry<number>(\n AppUiSettings._settingNamespace,\n \"ToolOpacity\",\n () => UiFramework.getToolbarOpacity(),\n (value: number) => UiFramework.setToolbarOpacity(value),\n defaults.toolbarOpacity\n );\n this._settings.push(this.toolbarOpacity);\n\n SyncUiEventDispatcher.onSyncUiEvent.addListener(this.handleSyncUiEvent);\n }\n\n private handleSyncUiEvent = async (args: UiSyncEventArgs) => {\n if (this._applyingLocalSettings) return;\n\n if (args.eventIds.has(ConfigurableUiActionId.SetTheme)) {\n await this.colorTheme.saveSetting(UiFramework.getUiStateStorage());\n // always store as default theme in local storage to avoid flicker during startup if user is not yet logged-in\n window.localStorage.setItem(\n \"uifw:defaultTheme\",\n UiFramework.getColorTheme()\n );\n }\n\n if (args.eventIds.has(ConfigurableUiActionId.SetDragInteraction))\n await this.dragInteraction.saveSetting(UiFramework.getUiStateStorage());\n\n if (args.eventIds.has(ConfigurableUiActionId.SetShowWidgetIcon))\n await this.showWidgetIcon.saveSetting(UiFramework.getUiStateStorage());\n\n if (args.eventIds.has(ConfigurableUiActionId.AutoCollapseUnpinnedPanels))\n await this.autoCollapseUnpinnedPanels.saveSetting(\n UiFramework.getUiStateStorage()\n );\n\n if (args.eventIds.has(ConfigurableUiActionId.SetWidgetOpacity))\n await this.widgetOpacity.saveSetting(UiFramework.getUiStateStorage());\n\n if (args.eventIds.has(ConfigurableUiActionId.AnimateToolSettings))\n await this.animateToolSettings.saveSetting(\n UiFramework.getUiStateStorage()\n );\n\n if (args.eventIds.has(ConfigurableUiActionId.UseToolAsToolSettingsLabel))\n await this.useToolAsToolSettingsLabel.saveSetting(\n UiFramework.getUiStateStorage()\n );\n\n if (args.eventIds.has(ConfigurableUiActionId.SetToolbarOpacity))\n await this.toolbarOpacity.saveSetting(UiFramework.getUiStateStorage());\n };\n\n public async apply(storage: UiStateStorage): Promise<void> {\n this._applyingLocalSettings = true;\n for (const setting of this._settings) {\n await setting.getSettingAndApplyValue(storage);\n }\n this._applyingLocalSettings = false;\n }\n\n public async loadUserSettings(storage: UiStateStorage): Promise<void> {\n await this.apply(storage);\n }\n}\n"]}
@@ -18,7 +18,7 @@ export declare class PropsHelper {
18
18
  static getIcon(iconSpec: string | ConditionalStringValue | React.ReactNode): React.ReactElement | undefined;
19
19
  /** returns true if the two objects are the same using a shallow compare of each property */
20
20
  static isShallowEqual(newObj: any, prevObj: any): boolean;
21
- /** @deprecated in 4.0 These abstract props types are obsolete. */
21
+ /** @deprecated in 4.0.0. These abstract props types are obsolete. */
22
22
  static getAbstractPropsForReactIcon(iconSpec: IconSpec, internalData?: Map<string, any>): Partial<UIA_AbstractWidgetProps> | Partial<UIA_CommonBackstageItem>;
23
23
  }
24
24
  //# sourceMappingURL=PropsHelper.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"PropsHelper.d.ts","sourceRoot":"","sources":["../../../src/appui-react/utils/PropsHelper.tsx"],"names":[],"mappings":"AAIA;;GAEG;AAIH,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAElD,OAAO,KAAK,EACV,YAAY,EAEZ,mBAAmB,IAAI,uBAAuB,EAE9C,mBAAmB,IAAI,uBAAuB,EAC/C,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAE,sBAAsB,EAAE,MAAM,uBAAuB,CAAC;AAG/D;;;GAGG;AACH,qBAAa,WAAW;IACtB,sHAAsH;WACxG,aAAa,CACzB,aAAa,EAAE,MAAM,GAAG,YAAY,GAAG,sBAAsB,GAAG,SAAS,EACzE,SAAS,CAAC,EAAE,MAAM,GACjB,MAAM,GAAG,YAAY,GAAG,sBAAsB;IAWjD,8BAA8B;WAChB,iBAAiB,CAC7B,IAAI,EAAE,MAAM,GAAG,YAAY,GAAG,sBAAsB,GACnD,MAAM;IAQT,8JAA8J;WAChJ,OAAO,CACnB,QAAQ,EAAE,MAAM,GAAG,sBAAsB,GAAG,KAAK,CAAC,SAAS,GAC1D,KAAK,CAAC,YAAY,GAAG,SAAS;IASjC,4FAA4F;WAC9E,cAAc,CAAC,MAAM,EAAE,GAAG,EAAE,OAAO,EAAE,GAAG;IAOtD,kEAAkE;WACpD,4BAA4B,CAExC,QAAQ,EAAE,QAAQ,EAClB,YAAY,CAAC,EAAE,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,GAE9B,OAAO,CAAC,uBAAuB,CAAC,GAAG,OAAO,CAAC,uBAAuB,CAAC;CAUvE"}
1
+ {"version":3,"file":"PropsHelper.d.ts","sourceRoot":"","sources":["../../../src/appui-react/utils/PropsHelper.tsx"],"names":[],"mappings":"AAIA;;GAEG;AAEH,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAElD,OAAO,KAAK,EACV,YAAY,EAEZ,mBAAmB,IAAI,uBAAuB,EAE9C,mBAAmB,IAAI,uBAAuB,EAC/C,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAE,sBAAsB,EAAE,MAAM,uBAAuB,CAAC;AAG/D;;;GAGG;AACH,qBAAa,WAAW;IACtB,sHAAsH;WACxG,aAAa,CACzB,aAAa,EAAE,MAAM,GAAG,YAAY,GAAG,sBAAsB,GAAG,SAAS,EACzE,SAAS,CAAC,EAAE,MAAM,GACjB,MAAM,GAAG,YAAY,GAAG,sBAAsB;IAWjD,8BAA8B;WAChB,iBAAiB,CAC7B,IAAI,EAAE,MAAM,GAAG,YAAY,GAAG,sBAAsB,GACnD,MAAM;IAQT,8JAA8J;WAChJ,OAAO,CACnB,QAAQ,EAAE,MAAM,GAAG,sBAAsB,GAAG,KAAK,CAAC,SAAS,GAC1D,KAAK,CAAC,YAAY,GAAG,SAAS;IASjC,4FAA4F;WAC9E,cAAc,CAAC,MAAM,EAAE,GAAG,EAAE,OAAO,EAAE,GAAG;IAOtD,qEAAqE;WACvD,4BAA4B,CAExC,QAAQ,EAAE,QAAQ,EAClB,YAAY,CAAC,EAAE,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,GAE9B,OAAO,CAAC,uBAAuB,CAAC,GAAG,OAAO,CAAC,uBAAuB,CAAC;CAUvE"}
@@ -5,7 +5,6 @@
5
5
  /** @packageDocumentation
6
6
  * @module Utilities
7
7
  */
8
- /* eslint-disable @typescript-eslint/ban-ts-comment */
9
8
  import * as React from "react";
10
9
  import { Icon, IconHelper } from "@itwin/core-react";
11
10
  import { ConditionalStringValue } from "@itwin/appui-abstract";
@@ -52,11 +51,11 @@ export class PropsHelper {
52
51
  }
53
52
  return true;
54
53
  }
55
- /** @deprecated in 4.0 These abstract props types are obsolete. */
54
+ /** @deprecated in 4.0.0. These abstract props types are obsolete. */
56
55
  static getAbstractPropsForReactIcon(
57
56
  // eslint-disable-next-line @typescript-eslint/no-deprecated
58
57
  iconSpec, internalData
59
- // eslint-disable-next-line @typescript-eslint/no-deprecated, @typescript-eslint/no-redundant-type-constituents
58
+ // eslint-disable-next-line @typescript-eslint/no-redundant-type-constituents
60
59
  ) {
61
60
  if (!iconSpec || !React.isValidElement(iconSpec))
62
61
  return {};
@@ -1 +1 @@
1
- {"version":3,"file":"PropsHelper.js","sourceRoot":"","sources":["../../../src/appui-react/utils/PropsHelper.tsx"],"names":[],"mappings":"AAAA;;;gGAGgG;AAChG;;GAEG;AAEH,sDAAsD;AAEtD,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAQrD,OAAO,EAAE,sBAAsB,EAAE,MAAM,uBAAuB,CAAC;AAC/D,OAAO,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AAEjD;;;GAGG;AACH,MAAM,OAAO,WAAW;IACtB,sHAAsH;IAC/G,MAAM,CAAC,aAAa,CACzB,aAAyE,EACzE,SAAkB;QAElB,IAAI,aAAa,EAAE,CAAC;YAClB,OAAO,aAAa,CAAC;QACvB,CAAC;QAED,MAAM,QAAQ,GAAG,SAAS;YACxB,CAAC,CAAC,SAAS,CAAC,YAAY,CAAC,kBAAkB,CAAC,SAAS,CAAC;YACtD,CAAC,CAAC,EAAE,CAAC;QACP,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED,8BAA8B;IACvB,MAAM,CAAC,iBAAiB,CAC7B,IAAoD;QAEpD,IAAI,KAAK,GAAG,EAAE,CAAC;QACf,IAAI,OAAO,IAAI,KAAK,QAAQ;YAAE,KAAK,GAAG,IAAI,CAAC;aACtC,IAAI,IAAI,YAAY,sBAAsB;YAAE,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;;YAC/D,KAAK,GAAG,IAAI,EAAE,CAAC;QACpB,OAAO,KAAK,CAAC;IACf,CAAC;IAED,8JAA8J;IACvJ,MAAM,CAAC,OAAO,CACnB,QAA2D;QAE3D,IAAI,QAAQ,YAAY,sBAAsB;YAC5C,4DAA4D;YAC5D,OAAO,oBAAC,IAAI,IAAC,QAAQ,EAAE,QAAQ,CAAC,KAAK,GAAI,CAAC;QAE5C,4DAA4D;QAC5D,OAAO,QAAQ,CAAC,CAAC,CAAC,oBAAC,IAAI,IAAC,QAAQ,EAAE,QAAQ,GAAI,CAAC,CAAC,CAAC,SAAS,CAAC;IAC7D,CAAC;IAED,4FAA4F;IACrF,MAAM,CAAC,cAAc,CAAC,MAAW,EAAE,OAAY;QACpD,KAAK,MAAM,GAAG,IAAI,MAAM,EAAE,CAAC;YACzB,IAAI,MAAM,CAAC,GAAG,CAAC,KAAK,OAAO,CAAC,GAAG,CAAC;gBAAE,OAAO,KAAK,CAAC;QACjD,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IAED,kEAAkE;IAC3D,MAAM,CAAC,4BAA4B;IACxC,4DAA4D;IAC5D,QAAkB,EAClB,YAA+B;IAC/B,+GAA+G;;QAE/G,IAAI,CAAC,QAAQ,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,QAAQ,CAAC;YAAE,OAAO,EAAE,CAAC;QAE5D,IAAI,CAAC,YAAY;YAAE,YAAY,GAAG,IAAI,GAAG,EAAe,CAAC;QAEzD,4DAA4D;QAC5D,MAAM,IAAI,GAAG,UAAU,CAAC,WAAW,CAAC,QAAQ,EAAE,YAAY,CAAC,CAAC;QAE5D,OAAO,IAAI,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,YAAY,EAAE,CAAC;IACzD,CAAC;CACF","sourcesContent":["/*---------------------------------------------------------------------------------------------\n * Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n * See LICENSE.md in the project root for license terms and full copyright notice.\n *--------------------------------------------------------------------------------------------*/\n/** @packageDocumentation\n * @module Utilities\n */\n\n/* eslint-disable @typescript-eslint/ban-ts-comment */\n\nimport * as React from \"react\";\nimport type { IconSpec } from \"@itwin/core-react\";\nimport { Icon, IconHelper } from \"@itwin/core-react\";\nimport type {\n StringGetter,\n // @ts-ignore Removed in 4.0\n AbstractWidgetProps as UIA_AbstractWidgetProps,\n // @ts-ignore Removed in 4.0\n CommonBackstageItem as UIA_CommonBackstageItem,\n} from \"@itwin/appui-abstract\";\nimport { ConditionalStringValue } from \"@itwin/appui-abstract\";\nimport { IModelApp } from \"@itwin/core-frontend\";\n\n/** A set of helper methods for various props\n * @public\n * @deprecated in 4.16.0. Used internally.\n */\nexport class PropsHelper {\n /** Get spec for returning a string. Could be a simple string of a 'StringGetter' method used to return the string. */\n public static getStringSpec(\n explicitValue: string | StringGetter | ConditionalStringValue | undefined,\n stringKey?: string\n ): string | StringGetter | ConditionalStringValue {\n if (explicitValue) {\n return explicitValue;\n }\n\n const outValue = stringKey\n ? IModelApp.localization.getLocalizedString(stringKey)\n : \"\";\n return outValue;\n }\n\n /** Get the display string. */\n public static getStringFromSpec(\n spec: string | StringGetter | ConditionalStringValue\n ): string {\n let label = \"\";\n if (typeof spec === \"string\") label = spec;\n else if (spec instanceof ConditionalStringValue) label = spec.value;\n else label = spec();\n return label;\n }\n\n /** Get JSX element that defines an icon. If iconSpec is a string, then a web-font icon class is used otherwise a ReactNode holding an SVG icon is assumed. */\n public static getIcon(\n iconSpec: string | ConditionalStringValue | React.ReactNode\n ): React.ReactElement | undefined {\n if (iconSpec instanceof ConditionalStringValue)\n // eslint-disable-next-line @typescript-eslint/no-deprecated\n return <Icon iconSpec={iconSpec.value} />;\n\n // eslint-disable-next-line @typescript-eslint/no-deprecated\n return iconSpec ? <Icon iconSpec={iconSpec} /> : undefined;\n }\n\n /** returns true if the two objects are the same using a shallow compare of each property */\n public static isShallowEqual(newObj: any, prevObj: any) {\n for (const key in newObj) {\n if (newObj[key] !== prevObj[key]) return false;\n }\n return true;\n }\n\n /** @deprecated in 4.0 These abstract props types are obsolete. */\n public static getAbstractPropsForReactIcon(\n // eslint-disable-next-line @typescript-eslint/no-deprecated\n iconSpec: IconSpec,\n internalData?: Map<string, any>\n // eslint-disable-next-line @typescript-eslint/no-deprecated, @typescript-eslint/no-redundant-type-constituents\n ): Partial<UIA_AbstractWidgetProps> | Partial<UIA_CommonBackstageItem> {\n if (!iconSpec || !React.isValidElement(iconSpec)) return {};\n\n if (!internalData) internalData = new Map<string, any>();\n\n // eslint-disable-next-line @typescript-eslint/no-deprecated\n const icon = IconHelper.getIconData(iconSpec, internalData);\n\n return icon === \"\" ? { icon } : { icon, internalData };\n }\n}\n"]}
1
+ {"version":3,"file":"PropsHelper.js","sourceRoot":"","sources":["../../../src/appui-react/utils/PropsHelper.tsx"],"names":[],"mappings":"AAAA;;;gGAGgG;AAChG;;GAEG;AAEH,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAQrD,OAAO,EAAE,sBAAsB,EAAE,MAAM,uBAAuB,CAAC;AAC/D,OAAO,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AAEjD;;;GAGG;AACH,MAAM,OAAO,WAAW;IACtB,sHAAsH;IAC/G,MAAM,CAAC,aAAa,CACzB,aAAyE,EACzE,SAAkB;QAElB,IAAI,aAAa,EAAE,CAAC;YAClB,OAAO,aAAa,CAAC;QACvB,CAAC;QAED,MAAM,QAAQ,GAAG,SAAS;YACxB,CAAC,CAAC,SAAS,CAAC,YAAY,CAAC,kBAAkB,CAAC,SAAS,CAAC;YACtD,CAAC,CAAC,EAAE,CAAC;QACP,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED,8BAA8B;IACvB,MAAM,CAAC,iBAAiB,CAC7B,IAAoD;QAEpD,IAAI,KAAK,GAAG,EAAE,CAAC;QACf,IAAI,OAAO,IAAI,KAAK,QAAQ;YAAE,KAAK,GAAG,IAAI,CAAC;aACtC,IAAI,IAAI,YAAY,sBAAsB;YAAE,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;;YAC/D,KAAK,GAAG,IAAI,EAAE,CAAC;QACpB,OAAO,KAAK,CAAC;IACf,CAAC;IAED,8JAA8J;IACvJ,MAAM,CAAC,OAAO,CACnB,QAA2D;QAE3D,IAAI,QAAQ,YAAY,sBAAsB;YAC5C,4DAA4D;YAC5D,OAAO,oBAAC,IAAI,IAAC,QAAQ,EAAE,QAAQ,CAAC,KAAK,GAAI,CAAC;QAE5C,4DAA4D;QAC5D,OAAO,QAAQ,CAAC,CAAC,CAAC,oBAAC,IAAI,IAAC,QAAQ,EAAE,QAAQ,GAAI,CAAC,CAAC,CAAC,SAAS,CAAC;IAC7D,CAAC;IAED,4FAA4F;IACrF,MAAM,CAAC,cAAc,CAAC,MAAW,EAAE,OAAY;QACpD,KAAK,MAAM,GAAG,IAAI,MAAM,EAAE,CAAC;YACzB,IAAI,MAAM,CAAC,GAAG,CAAC,KAAK,OAAO,CAAC,GAAG,CAAC;gBAAE,OAAO,KAAK,CAAC;QACjD,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IAED,qEAAqE;IAC9D,MAAM,CAAC,4BAA4B;IACxC,4DAA4D;IAC5D,QAAkB,EAClB,YAA+B;IAC/B,6EAA6E;;QAE7E,IAAI,CAAC,QAAQ,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,QAAQ,CAAC;YAAE,OAAO,EAAE,CAAC;QAE5D,IAAI,CAAC,YAAY;YAAE,YAAY,GAAG,IAAI,GAAG,EAAe,CAAC;QAEzD,4DAA4D;QAC5D,MAAM,IAAI,GAAG,UAAU,CAAC,WAAW,CAAC,QAAQ,EAAE,YAAY,CAAC,CAAC;QAE5D,OAAO,IAAI,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,YAAY,EAAE,CAAC;IACzD,CAAC;CACF","sourcesContent":["/*---------------------------------------------------------------------------------------------\n * Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n * See LICENSE.md in the project root for license terms and full copyright notice.\n *--------------------------------------------------------------------------------------------*/\n/** @packageDocumentation\n * @module Utilities\n */\n\nimport * as React from \"react\";\nimport type { IconSpec } from \"@itwin/core-react\";\nimport { Icon, IconHelper } from \"@itwin/core-react\";\nimport type {\n StringGetter,\n // @ts-ignore Removed in 4.0\n AbstractWidgetProps as UIA_AbstractWidgetProps,\n // @ts-ignore Removed in 4.0\n CommonBackstageItem as UIA_CommonBackstageItem,\n} from \"@itwin/appui-abstract\";\nimport { ConditionalStringValue } from \"@itwin/appui-abstract\";\nimport { IModelApp } from \"@itwin/core-frontend\";\n\n/** A set of helper methods for various props\n * @public\n * @deprecated in 4.16.0. Used internally.\n */\nexport class PropsHelper {\n /** Get spec for returning a string. Could be a simple string of a 'StringGetter' method used to return the string. */\n public static getStringSpec(\n explicitValue: string | StringGetter | ConditionalStringValue | undefined,\n stringKey?: string\n ): string | StringGetter | ConditionalStringValue {\n if (explicitValue) {\n return explicitValue;\n }\n\n const outValue = stringKey\n ? IModelApp.localization.getLocalizedString(stringKey)\n : \"\";\n return outValue;\n }\n\n /** Get the display string. */\n public static getStringFromSpec(\n spec: string | StringGetter | ConditionalStringValue\n ): string {\n let label = \"\";\n if (typeof spec === \"string\") label = spec;\n else if (spec instanceof ConditionalStringValue) label = spec.value;\n else label = spec();\n return label;\n }\n\n /** Get JSX element that defines an icon. If iconSpec is a string, then a web-font icon class is used otherwise a ReactNode holding an SVG icon is assumed. */\n public static getIcon(\n iconSpec: string | ConditionalStringValue | React.ReactNode\n ): React.ReactElement | undefined {\n if (iconSpec instanceof ConditionalStringValue)\n // eslint-disable-next-line @typescript-eslint/no-deprecated\n return <Icon iconSpec={iconSpec.value} />;\n\n // eslint-disable-next-line @typescript-eslint/no-deprecated\n return iconSpec ? <Icon iconSpec={iconSpec} /> : undefined;\n }\n\n /** returns true if the two objects are the same using a shallow compare of each property */\n public static isShallowEqual(newObj: any, prevObj: any) {\n for (const key in newObj) {\n if (newObj[key] !== prevObj[key]) return false;\n }\n return true;\n }\n\n /** @deprecated in 4.0.0. These abstract props types are obsolete. */\n public static getAbstractPropsForReactIcon(\n // eslint-disable-next-line @typescript-eslint/no-deprecated\n iconSpec: IconSpec,\n internalData?: Map<string, any>\n // eslint-disable-next-line @typescript-eslint/no-redundant-type-constituents\n ): Partial<UIA_AbstractWidgetProps> | Partial<UIA_CommonBackstageItem> {\n if (!iconSpec || !React.isValidElement(iconSpec)) return {};\n\n if (!internalData) internalData = new Map<string, any>();\n\n // eslint-disable-next-line @typescript-eslint/no-deprecated\n const icon = IconHelper.getIconData(iconSpec, internalData);\n\n return icon === \"\" ? { icon } : { icon, internalData };\n }\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"WidgetDef.d.ts","sourceRoot":"","sources":["../../../src/appui-react/widgets/WidgetDef.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"WidgetDef.d.ts","sourceRoot":"","sources":["../../../src/appui-react/widgets/WidgetDef.tsx"],"names":[],"mappings":"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"}
@@ -456,7 +456,6 @@ export class WidgetDef {
456
456
  }
457
457
  if (this._widgetControl) {
458
458
  if (this._widgetControl.getType() !== type) {
459
- // eslint-disable-next-line @typescript-eslint/no-deprecated
460
459
  throw new UiError(UiFramework.loggerCategory("WidgetDef"), `getWidgetControl: '${usedClassId}' is NOT a ${type}; it is a ${this._widgetControl.getType()}`);
461
460
  }
462
461
  this._widgetControl.widgetDef = this;
@@ -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 {