@openfin/workspace 22.5.25 → 23.0.1-alpha.0966d5cc

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 (66) hide show
  1. package/client-api/src/integrations/microsoft.utils.d.ts +6 -6
  2. package/client-api/src/notifications.d.ts +2 -2
  3. package/client-api/src/shapes/index.d.ts +1 -1
  4. package/client-api/src/shapes/notifications.d.ts +1 -1
  5. package/client-api-platform/src/api/controllers/theme-storage-controller-store.d.ts +16 -1
  6. package/client-api-platform/src/api/controllers/theme-storage-controller.d.ts +42 -25
  7. package/client-api-platform/src/api/dock.d.ts +5 -3
  8. package/client-api-platform/src/api/language.d.ts +1 -1
  9. package/client-api-platform/src/api/pages/open-pages.d.ts +2 -2
  10. package/client-api-platform/src/api/theming.d.ts +12 -0
  11. package/client-api-platform/src/api/utils.d.ts +11 -0
  12. package/client-api-platform/src/init/override-callback/page-defaults.d.ts +1 -1
  13. package/client-api-platform/src/init/override-callback/view-components.d.ts +1 -1
  14. package/client-api-platform/src/init/override-callback/view-defaults.d.ts +2 -1
  15. package/client-api-platform/src/init/override-callback/view-options.d.ts +1 -1
  16. package/client-api-platform/src/init/theming.d.ts +5 -1
  17. package/client-api-platform/src/shapes.d.ts +159 -27
  18. package/common/src/api/pages/idb.d.ts +2 -4
  19. package/common/src/api/protocol/browser.d.ts +13 -11
  20. package/common/src/api/protocol/notifications.d.ts +8 -0
  21. package/common/src/api/protocol/shapes/workspace.d.ts +8 -0
  22. package/common/src/api/protocol/workspace-platform.d.ts +30 -25
  23. package/common/src/api/protocol/workspace.d.ts +2 -2
  24. package/common/src/api/provider.d.ts +1 -1
  25. package/common/src/api/shapes/notifications.d.ts +1 -0
  26. package/common/src/api/storefront.d.ts +5 -5
  27. package/common/src/api/theming.d.ts +39 -17
  28. package/common/src/utils/application.d.ts +7 -0
  29. package/common/src/utils/enterprise-menu.d.ts +1 -1
  30. package/common/src/utils/find-in-page/findInPageChannel.d.ts +37 -0
  31. package/common/src/utils/find-in-page/showFindInPageHandler.d.ts +2 -0
  32. package/common/src/utils/global-context-menu.d.ts +8 -1
  33. package/common/src/utils/landing-page.d.ts +1 -1
  34. package/common/src/utils/layout.d.ts +38 -10
  35. package/common/src/utils/logger.d.ts +131 -0
  36. package/common/src/utils/menu-window-provider.d.ts +13 -9
  37. package/common/src/utils/merge-deep.d.ts +1 -0
  38. package/common/src/utils/modal-bounds.d.ts +1 -1
  39. package/common/src/utils/namespaced-local-storage.d.ts +5 -4
  40. package/common/src/utils/popup-window.d.ts +16 -0
  41. package/common/src/utils/route.d.ts +5 -1
  42. package/common/src/utils/shared-emitter.d.ts +4 -4
  43. package/common/src/utils/theming.d.ts +6 -0
  44. package/common/src/utils/types.d.ts +1 -1
  45. package/common/src/utils/window.d.ts +20 -9
  46. package/common/src/utils/workspace-modals.d.ts +1 -1
  47. package/dock3/src/api/protocol.d.ts +6 -1
  48. package/dock3/src/api/utils.d.ts +11 -0
  49. package/dock3/src/shapes/enterprise.d.ts +25 -1
  50. package/dock3/src/shapes/shapes.d.ts +13 -1
  51. package/externals.report.json +18 -8
  52. package/home.js +2 -1
  53. package/home.js.LICENSE.txt +1 -0
  54. package/home.js.map +1 -1
  55. package/index.js +2 -1
  56. package/index.js.LICENSE.txt +1 -0
  57. package/index.js.map +1 -1
  58. package/notifications.js +2 -1
  59. package/notifications.js.LICENSE.txt +1 -0
  60. package/notifications.js.map +1 -1
  61. package/package.json +6 -5
  62. package/search-api/src/shapes.d.ts +22 -1
  63. package/store.js +2 -1
  64. package/store.js.LICENSE.txt +1 -0
  65. package/store.js.map +1 -1
  66. package/common/src/brand/default-brand.d.ts +0 -8
@@ -34,8 +34,8 @@ declare enum GeneralBrowserChannelActions {
34
34
  SetSelectedScheme = "set-selected-scheme",
35
35
  ShowBrowserIndicator = "show-browser-indicator",
36
36
  SetSelectedLanguage = "set-selected-language",
37
- RefreshBookmarksInternal = "refresh-bookmarks",
38
- GetLayoutsWithSelectedViewsInternal = "get-layouts-with-selected-views",
37
+ RefreshBookmarksInternal = "refresh-bookmarks",// Enterprise
38
+ GetLayoutsWithSelectedViewsInternal = "get-layouts-with-selected-views",// Enterprise
39
39
  FocusAndExpandSearchInternal = "focus-and-expand-search"
40
40
  }
41
41
  /**
@@ -68,23 +68,24 @@ export declare enum EnterpriseAppDirectoryChannelAction {
68
68
  * @internal
69
69
  */
70
70
  export declare enum EnterpriseBookmarkChannelAction {
71
- CreateBookmarkNode = "create-bookmark-node",
72
- GetBookmarkNode = "get-bookmark-node",
73
- SearchBookmarkNodes = "search-bookmark-nodes",
74
- UpdateBookmarkNode = "update-bookmark-node",
71
+ CreateBookmarkNode = "create-bookmark-node",// Enterprise
72
+ GetBookmarkNode = "get-bookmark-node",// Enterprise
73
+ SearchBookmarkNodes = "search-bookmark-nodes",// Enterprise
74
+ UpdateBookmarkNode = "update-bookmark-node",// Enterprise
75
75
  DeleteBookmarkNode = "delete-bookmark-node"
76
76
  }
77
77
  export declare enum CompanionDockChannelAction {
78
- UpdateFavoriteEntries = "update-favorite-entries",
79
- UpdateContentMenu = "update-content-menu",
80
- NavigateContentMenu = "navigate-content-menu",
81
- MoreMenuCustomOptionClicked = "more-menu-custom-option-clicked"
78
+ UpdateFavoriteEntries = "update-favorite-entries",// Enterprise
79
+ UpdateContentMenu = "update-content-menu",// Enterprise
80
+ NavigateContentMenu = "navigate-content-menu",// Enterprise
81
+ MoreMenuCustomOptionClicked = "more-menu-custom-option-clicked",// Enterprise
82
+ RefreshDockCollectionMenu = "refresh-dock-collection-menu"
82
83
  }
83
84
  /**
84
85
  * @internal
85
86
  */
86
87
  export declare enum EnterpriseRequestModalChannelAction {
87
- SendUpdateVersionModalResponse = "send-update-version-modal-response",
88
+ SendUpdateVersionModalResponse = "send-update-version-modal-response",// Enterprise
88
89
  SendIntentResolverModalResponse = "send-intent-resolver-modal-response"
89
90
  }
90
91
  export declare const BrowserChannelAction: {
@@ -92,6 +93,7 @@ export declare const BrowserChannelAction: {
92
93
  UpdateContentMenu: CompanionDockChannelAction.UpdateContentMenu;
93
94
  NavigateContentMenu: CompanionDockChannelAction.NavigateContentMenu;
94
95
  MoreMenuCustomOptionClicked: CompanionDockChannelAction.MoreMenuCustomOptionClicked;
96
+ RefreshDockCollectionMenu: CompanionDockChannelAction.RefreshDockCollectionMenu;
95
97
  GetPages: PageChannelAction.GetPages;
96
98
  GetActivePageForWindow: PageChannelAction.GetActivePageForWindow;
97
99
  AttachPagesToWindow: PageChannelAction.AttachPagesToWindow;
@@ -1,5 +1,6 @@
1
1
  import type OpenFin from '@openfin/core';
2
2
  import { ColorSchemeOptionType } from '../../../../client-api-platform/src/shapes';
3
+ import { NotificationsCustomManifestOptions } from '../shapes/notifications';
3
4
  export declare const NOTIFICATIONS_SYNC_CHANNEL = "of-workspace-notifications-sync";
4
5
  export declare enum NotificationsChannelAction {
5
6
  UpdatePlatformThemeScheme = "update-platform-theme-scheme"
@@ -10,5 +11,12 @@ export interface UpdatePlatformSchemePayload {
10
11
  interface NotificationsSyncChannelClient extends OpenFin.ChannelClient {
11
12
  dispatch(action: NotificationsChannelAction.UpdatePlatformThemeScheme, payload: UpdatePlatformSchemePayload): Promise<void>;
12
13
  }
14
+ export type ManifestNotificationsConfig = {
15
+ notifications?: {
16
+ customManifest?: NotificationsCustomManifestOptions;
17
+ };
18
+ };
19
+ export declare function getNotificationCenterUuid(): Promise<string>;
20
+ export declare function getSyncChannelName(): Promise<string>;
13
21
  export declare const getNotificationsSyncChannelClient: () => Promise<NotificationsSyncChannelClient>;
14
22
  export {};
@@ -85,6 +85,14 @@ type WorkspaceChannelTypes = {
85
85
  'set-search-query': (payload: SearchQueryWithProviderID) => Promise<void>;
86
86
  'assign-home-search-context': (payload: Partial<HomeSearchListenerRequest['context']>) => Promise<void>;
87
87
  'set-selected-scheme': (ctx: ColorSchemeOptionType) => Promise<void>;
88
+ 'initialize-theme': (themeData: {
89
+ themePaletteSheet: string;
90
+ selectedScheme: ColorSchemeOptionType;
91
+ themePalette: {
92
+ light: string;
93
+ dark: string;
94
+ };
95
+ }) => Promise<void>;
88
96
  'get-legacy-pages': () => Promise<Page[]>;
89
97
  'get-legacy-workspaces': (payload: undefined) => Promise<LegacyWorkspace[]>;
90
98
  'register-storefront-provider': () => Promise<void>;
@@ -35,6 +35,8 @@ export declare enum WorkspacePlatformChannelAction {
35
35
  GetLastFocusedBrowserWindow = "getLastFocusedBrowserWindow",
36
36
  GetPageByViewIdentity = "getPageByViewIdentity",
37
37
  GetThemes = "getThemes",
38
+ GetGeneratedPalettes = "getGeneratedPalettes",
39
+ GetThemePaletteSheet = "getThemePaletteSheet",
38
40
  GetSelectedScheme = "getSelectedScheme",
39
41
  SetSelectedScheme = "setSelectedScheme",
40
42
  OpenGlobalContextMenuInternal = "openGlobalContextMenuInternal",
@@ -67,31 +69,34 @@ export declare enum WorkspacePlatformChannelAction {
67
69
  CopyPage = "copyPage",
68
70
  HandlePageChanges = "handlePageChanges",
69
71
  MarkUnsavedPagesAsSavedInternal = "markUnsavedPagesAsSavedInternal",
70
- TrackRemovedTabInternal = "trackRemovedTabInternal",
71
- RestoreRemovedTabInternal = "restoreRemovedTabInternal",
72
- TrackVisitedSiteInternal = "trackVisitedSiteInternal",
73
- GetRecentlyVisitedSitesInternal = "getRecentlyVisitedSitesInternal",
74
- GetFrequentlyVisitedSitesInternal = "getFrequentlyVisitedSitesInternal",
75
- SearchSitesInternal = "searchSitesInternal",
76
- GetSearchProvidersInternal = "getSearchProvidersInternal",
77
- GetCuratedContentInternal = "getCuratedContentInternal",
78
- HandleRequestNavigationInternal = "handleRequestNavigationInternal",
79
- RefreshBookmarksInternal = "refreshBookmarksInternal",
80
- LaunchBookmarkInternal = "launchBookmarkInternal",
81
- GetNotificationsConfig = "getNotificationsConfig",
82
- UpdateDockFavoritesInternal = "updateDockFavoritesInternal",
83
- UpdateContentMenuInternal = "updateContentMenuInternal",
84
- LaunchDockEntryInternal = "launchDockEntryInternal",
85
- SetDockFavoritesOrderInternal = "setDockFavoritesOrderInternal",
86
- NavigateContentMenuInternal = "navigateContentMenuInternal",
87
- SetDefaultDockButtonsOrderInternal = "setDefaultDockButtonsOrderInternal",
88
- GetDockWorkspacesContextMenuInternal = "getDockWorkspacesContextMenuInternal",
89
- HandleDockWorkspacesMenuResponseInternal = "handleDockWorkspacesMenuResponseInternal",
90
- RemoveDockFavoriteInternal = "removeDockFavoriteInternal",
91
- AddDockFavoriteInternal = "addDockFavoriteInternal",
92
- FocusAndExpandSearchInternal = "focusAndExpandSearchInternal",
93
- SendUpdateVersionModalResponseInternal = "sendUpdateVersionModalResponseInternal",
94
- ShowUpdateVersionModalInternal = "showUpdateVersionModalInternal"
72
+ TrackRemovedTabInternal = "trackRemovedTabInternal",// Enterprise
73
+ RestoreRemovedTabInternal = "restoreRemovedTabInternal",// Enterprise
74
+ TrackVisitedSiteInternal = "trackVisitedSiteInternal",// Enterprise
75
+ GetRecentlyVisitedSitesInternal = "getRecentlyVisitedSitesInternal",// Enterprise
76
+ GetFrequentlyVisitedSitesInternal = "getFrequentlyVisitedSitesInternal",// Enterprise
77
+ SearchSitesInternal = "searchSitesInternal",// Enterprise
78
+ GetSearchProvidersInternal = "getSearchProvidersInternal",// Enterprise
79
+ GetCuratedContentInternal = "getCuratedContentInternal",// Enterprise
80
+ HandleRequestNavigationInternal = "handleRequestNavigationInternal",// Enterprise
81
+ RefreshBookmarksInternal = "refreshBookmarksInternal",// Enterprise
82
+ LaunchBookmarkInternal = "launchBookmarkInternal",// Enterprise
83
+ GetNotificationsConfig = "getNotificationsConfig",// Deprecated
84
+ UpdateDockFavoritesInternal = "updateDockFavoritesInternal",// Enterprise
85
+ UpdateContentMenuInternal = "updateContentMenuInternal",// Enterprise
86
+ LaunchDockEntryInternal = "launchDockEntryInternal",// Enterprise
87
+ SetDockFavoritesOrderInternal = "setDockFavoritesOrderInternal",// Enterprise
88
+ NavigateContentMenuInternal = "navigateContentMenuInternal",// Enterprise
89
+ SetDefaultDockButtonsOrderInternal = "setDefaultDockButtonsOrderInternal",// Enterprise
90
+ GetDockWorkspacesContextMenuInternal = "getDockWorkspacesContextMenuInternal",// Enterprise
91
+ HandleDockWorkspacesMenuResponseInternal = "handleDockWorkspacesMenuResponseInternal",// Enterprise
92
+ RefreshDockCollectionMenuInternal = "refreshDockCollectionMenuInternal",// Enterprise
93
+ LaunchCollectionInternal = "launchCollectionInternal",//Enterprise
94
+ RemoveDockFavoriteInternal = "removeDockFavoriteInternal",// Enterprise
95
+ AddDockFavoriteInternal = "addDockFavoriteInternal",// Enterprise
96
+ FocusAndExpandSearchInternal = "focusAndExpandSearchInternal",// Enterprise
97
+ SendUpdateVersionModalResponseInternal = "sendUpdateVersionModalResponseInternal",// Enterprise
98
+ ShowUpdateVersionModalInternal = "showUpdateVersionModalInternal",// Enterprise
99
+ GetNotificationIndicatorColorsInternal = "getNotificationIndicatorColorsInternal"
95
100
  }
96
101
  export type PlatFormSupportedFeatures = boolean | {
97
102
  isWorkspacePlatform: boolean;
@@ -19,8 +19,8 @@ export declare const launchProvider: () => Promise<void>;
19
19
  */
20
20
  export declare const getChannelClientAndLaunchProvider: () => Promise<WorkspaceComponentChannelClient>;
21
21
  /**
22
- * Launches the Workspace provider if it is not running.
22
+ * Gets the theme data from the Platform provider, then launches the Workspace provider if it is not running, and then dispatches the theme data to the Workspace provider.
23
23
  * Then gets a Channel Client that is connected to the Workspace Provider.
24
24
  * @returns the Channel Client that is connected to the Workspace Provider.
25
25
  */
26
- export declare const getClientAPIChannelClientAndLaunchProvider: () => Promise<WorkspaceAPIClientChannelClient>;
26
+ export declare const getChannelClientAndInitializeWorkspaceProvider: () => Promise<WorkspaceAPIClientChannelClient>;
@@ -98,7 +98,7 @@ export interface ProviderUpdateEventPayload {
98
98
  *
99
99
  * This allows for different providers to be registered with the same id.
100
100
  */
101
- export declare const getUniqueProviderIdentifier: ({ platformIdentity, id }: Pick<ProviderInfoInternal, 'platformIdentity' | 'id'>) => string;
101
+ export declare const getUniqueProviderIdentifier: ({ platformIdentity, id }: Pick<ProviderInfoInternal, "platformIdentity" | "id">) => string;
102
102
  /**
103
103
  * Get a list of all providers that have registered with the provider API.
104
104
  */
@@ -1,5 +1,6 @@
1
1
  /**
2
2
  * Options for using privately hosted notification service.
3
+ * @deprecated Custom manifest is now part of the platform manifest and is automatically resolved by the notifications API. Do not use this type as it will be ignored.
3
4
  */
4
5
  export type NotificationsCustomManifestOptions = {
5
6
  /**
@@ -30,29 +30,29 @@ export declare const launchStorefrontApp: (req: LaunchStorefrontProviderAppReque
30
30
  * @param identity of the platform to get the apps from.
31
31
  * @returns the list of Storefront apps for the platform.
32
32
  */
33
- export declare const getStorefrontApps: (provider: ProviderInfoInternal<'storefront'>) => Promise<App[]>;
33
+ export declare const getStorefrontApps: (provider: ProviderInfoInternal<"storefront">) => Promise<App[]>;
34
34
  /**
35
35
  * Get the platform's landing page for Storefront.
36
36
  * @param identity of the platform to get the landing page of.
37
37
  * @returns the platform's landing page.
38
38
  */
39
- export declare const getStorefrontLandingPage: (provider: ProviderInfoInternal<'storefront'>) => Promise<StorefrontLandingPage | undefined>;
39
+ export declare const getStorefrontLandingPage: (provider: ProviderInfoInternal<"storefront">) => Promise<StorefrontLandingPage | undefined>;
40
40
  /**
41
41
  * Get the platform's footer for Storefront.
42
42
  * @param identity of the platform to get the footer of.
43
43
  * @returns the platform's footer.
44
44
  */
45
- export declare const getStorefrontFooter: (provider: ProviderInfoInternal<'storefront'>) => Promise<StorefrontFooter>;
45
+ export declare const getStorefrontFooter: (provider: ProviderInfoInternal<"storefront">) => Promise<StorefrontFooter>;
46
46
  /**
47
47
  * Get the platform's navigation for Storefront.
48
48
  * @param identity of the platform to get the navigation of.
49
49
  * @returns the platform's navigation.
50
50
  */
51
- export declare const getStorefrontNavigation: (provider: ProviderInfoInternal<'storefront'>) => Promise<[StorefrontNavigationSection?, StorefrontNavigationSection?]>;
51
+ export declare const getStorefrontNavigation: (provider: ProviderInfoInternal<"storefront">) => Promise<[StorefrontNavigationSection?, StorefrontNavigationSection?]>;
52
52
  /**
53
53
  * A helper method that gets a Storefront navigation item by ID.
54
54
  * @param navigationItemId the id of the Storefront navigation item.
55
55
  * @param identity of the platform.
56
56
  * @returns the navigation item with the ID.
57
57
  */
58
- export declare const getStorefrontNavigationItemAppGrid: (navigationItemId: string, provider: ProviderInfoInternal<'storefront'>) => Promise<StorefrontNavigationItemAppGrid | undefined>;
58
+ export declare const getStorefrontNavigationItemAppGrid: (navigationItemId: string, provider: ProviderInfoInternal<"storefront">) => Promise<StorefrontNavigationItemAppGrid | undefined>;
@@ -1,8 +1,13 @@
1
1
  import type { DefaultTheme } from 'styled-components';
2
2
  import type OpenFin from '@openfin/core';
3
- import { type ColorSchemeType, type ThemeSet } from '@openfin/ui-library';
4
- import { Palette } from '@openfin/ui-library/dist/theme';
3
+ import type { ColorSchemeType, ThemeSet } from '@openfin/ui-library';
5
4
  import { ColorSchemeOptionType } from '../../../client-api-platform/src/shapes';
5
+ import type { generateTheme } from '@openfin/theme-engine';
6
+ export declare const ColorScheme: {
7
+ light: string;
8
+ dark: string;
9
+ system: string;
10
+ };
6
11
  export type WorkspaceComponentSetSelectedSchemePayload = {
7
12
  newScheme: ColorSchemeOptionType;
8
13
  identity: OpenFin.Identity;
@@ -49,6 +54,13 @@ export interface NotificationIndicatorColorsSetLightScheme {
49
54
  dark?: NotificationIndicatorColorsSet;
50
55
  light: NotificationIndicatorColorsSet;
51
56
  }
57
+ export type NotificationIndicatorColors = Record<string, Omit<NotificationIndicatorColorsSet, 'foreground'> & {
58
+ foreground: string;
59
+ }>;
60
+ export type NotificationIndicatorColorsParsed = {
61
+ dark: NotificationIndicatorColors;
62
+ light: NotificationIndicatorColors;
63
+ };
52
64
  export type NotificationIndicatorColorsWithScheme = Record<string, NotificationIndicatorColorsSetDarkScheme | NotificationIndicatorColorsSetLightScheme>;
53
65
  export interface BaseThemeOptions {
54
66
  label: string;
@@ -89,7 +101,7 @@ export type CustomThemeOptions = BaseThemeOptions & {
89
101
  * };
90
102
  * ```
91
103
  */
92
- notificationIndicatorColors?: Record<string, NotificationIndicatorColorsSet>;
104
+ notificationIndicatorColors?: NotificationIndicatorColors;
93
105
  };
94
106
  export type CustomThemeOptionsWithScheme = BaseThemeOptions & {
95
107
  /**
@@ -145,10 +157,23 @@ export type CustomThemeOptionsWithScheme = BaseThemeOptions & {
145
157
  */
146
158
  notificationIndicatorColors?: NotificationIndicatorColorsWithScheme;
147
159
  };
148
- export type CustomThemes = (CustomThemeOptions | CustomThemeOptionsWithScheme)[];
160
+ export type ThemeOptions = BaseThemeOptions & {
161
+ seed: Parameters<typeof generateTheme>[0];
162
+ overrides?: Parameters<typeof generateTheme>[1];
163
+ default?: Exclude<ColorSchemeOptionType, 'system'>;
164
+ } & {
165
+ notificationIndicatorColors?: NotificationIndicatorColorsWithScheme | NotificationIndicatorColors;
166
+ };
167
+ type GenerateThemeReturn = ReturnType<typeof generateTheme>;
168
+ export type GeneratedPalettes = Pick<GenerateThemeReturn, 'dark' | 'light'>;
169
+ export type LegacyPalettes = CustomThemeOptions | CustomThemeOptionsWithScheme;
170
+ export type GenerateThemeParams = Parameters<typeof generateTheme>;
171
+ export type CustomTheme = CustomThemeOptions | CustomThemeOptionsWithScheme | ThemeOptions;
172
+ export type CustomThemes = CustomTheme[];
149
173
  export interface PreloadedThemeData {
150
- themes: CustomThemes;
174
+ themes: CustomThemes | GeneratedPalettes;
151
175
  selectedScheme: ColorSchemeOptionType;
176
+ themePaletteSheet?: string;
152
177
  }
153
178
  export interface DefaultPaletteSet {
154
179
  brandPrimary: string;
@@ -289,17 +314,14 @@ export declare const OpenFinDarkTheme: {
289
314
  borderNeutral: "#C0C1C2";
290
315
  };
291
316
  export declare const DefaultOpenFinTheme: CustomThemes;
292
- export declare const getComputedPaletteSets: (customTheme: CustomThemeOptions | CustomThemeOptionsWithScheme) => WorkspaceThemeSet;
293
- /**
294
- * Transforms input {@link CustomThemes} to {@link ComputedThemes} used by Workspace Platform / Notifications Platform.
295
- *
296
- * @param customThemes array of themes to transform
297
- * @param storedScheme sets the default scheme if provided
298
- * @returns array of {@link ComputedThemes | computed themes}
299
- */
300
- export declare const computeThemes: (customThemes: CustomThemes, storedScheme?: ColorSchemeOptionType) => ComputedThemes;
301
- export declare const getComputedPlatformTheme: (platformIdentity: OpenFin.Identity) => Promise<ComputedTheme>;
317
+ export declare const parseNotificationIndicatorColors: (customTheme: CustomTheme) => NotificationIndicatorColorsParsed;
318
+ export declare const constructThemePaletteSheet: (themes: GeneratedPalettes) => string;
319
+ export declare const getComputedPlatformTheme: (platformIdentity: OpenFin.Identity) => Promise<{
320
+ theme: GeneratedPalettes | CustomThemes;
321
+ defaultScheme: ColorSchemeOptionType;
322
+ themePaletteSheet: string;
323
+ }>;
302
324
  export declare const setSelectedScheme: (ctx: ColorSchemeOptionType) => Promise<void>;
303
- export declare const getComputedScheme: (identity?: OpenFin.Identity) => Promise<Exclude<ColorSchemeType, 'system'>>;
304
- export declare const getComputedBackgroundColor: (paletteKey: keyof typeof Palette, defaultColor?: string) => Promise<string>;
325
+ export declare const getComputedScheme: (identity?: OpenFin.Identity) => Promise<Exclude<ColorSchemeType, "system">>;
326
+ export declare const getComputedBackgroundColor: (platformIdentity: OpenFin.Identity) => Promise<string>;
305
327
  export {};
@@ -23,3 +23,10 @@ export type ApplicationInfoExtended = OpenFin.ApplicationInfo & {
23
23
  };
24
24
  export declare const getCurrentOFApplication: () => OpenFin.Application;
25
25
  export declare const getWorkspaceOFApplication: () => OpenFin.Application;
26
+ /**
27
+ * Gets the application manifest, caching the result after the first call.
28
+ * The manifest never changes during the application lifecycle, so this avoids redundant async calls.
29
+ * Uses promise-based caching to prevent race conditions when multiple calls occur before the first completes.
30
+ * @returns A Promise resolving to the application manifest
31
+ */
32
+ export declare const getCachedManifest: () => Promise<OpenFin.Manifest>;
@@ -1,6 +1,6 @@
1
1
  import type OpenFin from '@openfin/core';
2
2
  import { EnterpriseMainContextMenuItemData, EnterpriseMainContextMenuItemTemplate, OpenGlobalContextMenuPayload } from '../../../client-api-platform/src/shapes';
3
- export declare const getEnterpriseContextMenuTemplate: ({ identity, selectedViews }: {
3
+ export declare const getEnterpriseContextMenuTemplate: ({ identity }: {
4
4
  identity: OpenFin.Identity;
5
5
  selectedViews: OpenFin.Identity[];
6
6
  }) => Promise<EnterpriseMainContextMenuItemTemplate[]>;
@@ -0,0 +1,37 @@
1
+ export type FindInPageChannelMessagePayload = {
2
+ type: 'close';
3
+ } | {
4
+ type: 'find-text-changed';
5
+ value: string;
6
+ } | {
7
+ type: 'focus-input';
8
+ } | {
9
+ type: 'hide-from-search-menu';
10
+ } | {
11
+ type: 'next-result';
12
+ } | {
13
+ type: 'previous-result';
14
+ } | {
15
+ type: 'show';
16
+ } | {
17
+ type: 'update-state';
18
+ currentResultIndex?: number | null;
19
+ totalResults?: number | null;
20
+ value?: string | null;
21
+ } | {
22
+ type: 'view-ready';
23
+ } | {
24
+ type: 'window-ready';
25
+ };
26
+ /**
27
+ * Closes the find in page channel
28
+ */
29
+ export declare const closeFindInPageChannel: (channel: BroadcastChannel) => void;
30
+ /**
31
+ * Creates a new find in page channel
32
+ */
33
+ export declare const createFindInPageChannel: (windowName?: string) => Promise<BroadcastChannel>;
34
+ /**
35
+ * Sends a message via the find in page channel
36
+ */
37
+ export declare const sendFindInPageMessage: (channel: BroadcastChannel, message: FindInPageChannelMessagePayload) => void;
@@ -0,0 +1,2 @@
1
+ import type OpenFin from '@openfin/core';
2
+ export declare const showFindInPageInTargetWindow: (windowIdentity: OpenFin.Identity) => Promise<void>;
@@ -74,6 +74,13 @@ export declare const manageDesktopSignals: () => {
74
74
  type: WP.GlobalContextMenuOptionType;
75
75
  };
76
76
  };
77
+ export declare const findInPage: () => {
78
+ type: MenuItemType;
79
+ label: string;
80
+ data: {
81
+ type: WP.GlobalContextMenuOptionType;
82
+ };
83
+ };
77
84
  export declare const renameWorkspace: () => {
78
85
  type: MenuItemType;
79
86
  label: string;
@@ -93,7 +100,7 @@ export declare const downloads: () => {
93
100
  export declare const appearance: () => {
94
101
  label: string;
95
102
  };
96
- export declare const getSavedWorkspaceContextMenuOptions: (activeWorkspace: Workspace, savedWorkspaces: Pick<Workspace, 'workspaceId' | 'title'>[], contextMenuOptionType: GlobalContextMenuOptionType) => {
103
+ export declare const getSavedWorkspaceContextMenuOptions: (activeWorkspace: Workspace, savedWorkspaces: Pick<Workspace, "workspaceId" | "title">[], contextMenuOptionType: GlobalContextMenuOptionType) => {
97
104
  label: string;
98
105
  type: MenuItemType;
99
106
  enabled: boolean;
@@ -12,5 +12,5 @@ export declare const getNewLandingTabViewOptions: (target: OpenFin.Identity) =>
12
12
  * If winIdentity is specified, it uses the newPageUrl defined by the browser window options.
13
13
  * Otherwise, if the platform is Enterprise, it will use the landing page URL.
14
14
  */
15
- export declare const makeNewLandingPage: (winIdentity?: OpenFin.Identity) => Promise<import("@client-platform/shapes").PageWithUpdatableRuntimeAttribs>;
15
+ export declare const makeNewLandingPage: (winIdentity?: OpenFin.Identity) => Promise<import("@client-platform/index").PageWithUpdatableRuntimeAttribs>;
16
16
  export {};
@@ -1,7 +1,5 @@
1
- /// <reference types="lodash" />
2
1
  import type OpenFin from '@openfin/core';
3
2
  import { WindowIdentity } from '../../../common/src/utils/window';
4
- import { AttachedPageInternal } from '../../../common/src/api/pages/shapes';
5
3
  import { AttachedPage, PageLayout } from '../../../client-api-platform/src/shapes';
6
4
  export type LayoutDOMEventType =
7
5
  /**
@@ -12,12 +10,22 @@ export type LayoutDOMEventType =
12
10
  * Fired when a tab is created in a container. (Emmitted by core)
13
11
  */
14
12
  | 'tab-created'
13
+ /**
14
+ * Fired when a new container/stack is created. (Emitted by Golden Layout)
15
+ */
16
+ | 'container-created'
15
17
  /**
16
18
  * Fired when the layout container is ready to be used. (Emitted by us)
17
19
  */
18
- | 'container-resized' | 'tab-closed';
20
+ | 'container-resized'
21
+ /**
22
+ * Fired when a view item container is resized (e.g., via separator drag). (Emitted by us)
23
+ */
24
+ | 'view-container-resized' | 'tab-closed';
19
25
  export type LayoutDOMEvent = {
20
26
  type: Extract<LayoutDOMEventType, 'container-resized'>;
27
+ } | {
28
+ type: Extract<LayoutDOMEventType, 'view-container-resized'>;
21
29
  } | {
22
30
  type: Extract<LayoutDOMEventType, 'tab-created' | 'tab-closed'>;
23
31
  detail: {
@@ -31,12 +39,21 @@ export type LayoutDOMEvent = {
31
39
  };
32
40
  isInitialized: boolean;
33
41
  target: HTMLElement;
42
+ } | {
43
+ type: Extract<LayoutDOMEventType, 'container-created'>;
44
+ detail?: {
45
+ containerSelector?: string;
46
+ [key: string]: any;
47
+ };
48
+ target?: HTMLElement;
49
+ originalElement?: HTMLElement;
34
50
  } | {
35
51
  type: Extract<LayoutDOMEventType, 'tabs-list-resized'>;
36
52
  };
37
53
  export type LayoutDOMEventListener = (ev: LayoutDOMEvent) => void;
38
54
  export declare const VIEW_NAME_PREFIX: "internal-generated-view-";
39
- export declare const getFirstActiveViewFromLayout: (identity: OpenFin.LayoutIdentity) => Promise<OpenFin.Identity>;
55
+ export declare const getViewNameFromTabId: (tabId: string) => string;
56
+ export declare const getFirstActiveViewFromLayout: (identity: OpenFin.LayoutIdentity) => OpenFin.Identity | undefined;
40
57
  /**
41
58
  * Recursively clones a layout object, calling a passed callback on each `componentState` in the tree.
42
59
  * @param node Either the layout object itself, or one of the items in its tree.
@@ -44,6 +61,13 @@ export declare const getFirstActiveViewFromLayout: (identity: OpenFin.LayoutIden
44
61
  * @returns A mapped copy of the layout
45
62
  */
46
63
  export declare const mapLayoutViewComponents: (node: any, callback: (arg0: any) => any) => any;
64
+ /**
65
+ * Recursively clones a layout object, calling a passed async callback on each `componentState` in the tree.
66
+ * @param node Either the layout object itself, or one of the items in its tree.
67
+ * @param callback Async callback to be called on each component's `componentState`
68
+ * @returns A Promise resolving to a mapped copy of the layout
69
+ */
70
+ export declare const mapLayoutViewComponentsAsync: (node: any, callback: (arg0: any) => Promise<any>) => Promise<any>;
47
71
  /**
48
72
  * Copies the componentState and generates a name if it's not there
49
73
  * @param componentState view's componentState in the layout object, corresponds to View options
@@ -63,9 +87,9 @@ export declare const generateViewNameAndIdentifierNameIfNotExists: <T extends {
63
87
  /**
64
88
  * Deep clones a layout and converts view options (add names if necessary, apply defaults).
65
89
  * @param layout The Layout to be cloned
66
- * @returns A copy of the layout with view options converted
90
+ * @returns A Promise resolving to a copy of the layout with view options converted
67
91
  */
68
- export declare const cloneLayoutAndConvertViewOptions: (layout: PageLayout, initViewOptions?: Partial<OpenFin.ViewOptions>) => any;
92
+ export declare const cloneLayoutAndConvertViewOptions: (layout: PageLayout, initViewOptions?: Partial<OpenFin.ViewOptions>) => Promise<PageLayout>;
69
93
  export declare const cloneViewComponentWithoutName: (componentState: any) => any;
70
94
  /**
71
95
  * Deep clones a layout and removes view names.
@@ -79,13 +103,20 @@ export declare const cloneLayoutAndRemoveNames: (layout: PageLayout) => any;
79
103
  * @returns A copy of the layout with generated names removed
80
104
  */
81
105
  export declare const cloneLayoutAndRemoveGeneratedNames: (layout: PageLayout) => any;
82
- export declare const mapContentComponentState: (content: OpenFin.LayoutContent) => OpenFin.LayoutComponent['componentState'][];
106
+ export declare const mapContentComponentState: (content: OpenFin.LayoutContent) => OpenFin.LayoutComponent["componentState"][];
83
107
  export declare const getLayoutWithSingleView: (title: string, url: string, winIdentity?: OpenFin.Identity) => Promise<any>;
84
108
  export declare const layoutNameInitializedMap: Map<string, boolean>;
85
109
  export declare const isLayoutTabActive: (tabSelector: string) => boolean;
86
110
  export declare const containerId = "layout_container";
87
111
  export declare const viewTabslistSelectors = ".lm_tabs";
88
112
  export declare const addLayoutEventListener: (event: LayoutDOMEventType, listener: LayoutDOMEventListener) => void;
113
+ export declare const removeLayoutEventListener: (event: LayoutDOMEventType, listener: LayoutDOMEventListener) => void;
114
+ /**
115
+ * Cleans up ResizeObservers and event listeners for a specific layout.
116
+ * Should be called when a layout is destroyed to prevent memory leaks.
117
+ * @param layoutName The layoutName/layoutContainerKey to cleanup
118
+ */
119
+ export declare const cleanupLayoutObservers: (layoutName: string) => void;
89
120
  /**
90
121
  * Initialize the layout for the current OF window.
91
122
  */
@@ -120,9 +151,6 @@ export declare const findViewInLayout: (node: any, viewId: OpenFin.Identity) =>
120
151
  */
121
152
  export declare const countViews: (node: OpenFin.LayoutContent) => number;
122
153
  export declare const getLayoutConfig: (layoutContainerKey: string) => Promise<any>;
123
- export declare const updateTabStateBasedOnViewCount: (page: AttachedPageInternal, viewCount: number) => Promise<void>;
124
- export declare const updatePageForViewCount: (activePage: AttachedPageInternal | undefined) => Promise<void>;
125
- export declare const debouncedUpdatePageForViewCount: import("lodash").DebouncedFunc<(activePage: AttachedPageInternal | undefined) => Promise<void>>;
126
154
  export declare const findPageForView: (viewName: string, browserWindowIdentity?: WindowIdentity) => Promise<AttachedPage | undefined>;
127
155
  /**
128
156
  * Only show the view tab icon when not on the landing page