@openfin/workspace 22.2.18 → 22.3.1

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 (52) hide show
  1. package/client-api/src/integrations/microsoft.utils.d.ts +6 -6
  2. package/client-api-platform/src/api/controllers/theme-storage-controller.d.ts +2 -2
  3. package/client-api-platform/src/api/dock.d.ts +1 -1
  4. package/client-api-platform/src/api/pages/open-pages.d.ts +2 -2
  5. package/client-api-platform/src/api/performance.d.ts +7 -0
  6. package/client-api-platform/src/api/workspaces/index.d.ts +2 -2
  7. package/client-api-platform/src/index.d.ts +2 -1
  8. package/client-api-platform/src/init/index.d.ts +1 -2
  9. package/client-api-platform/src/init/override-callback/page-defaults.d.ts +1 -1
  10. package/client-api-platform/src/init/override-callback/view-options.d.ts +1 -1
  11. package/client-api-platform/src/init/utils.d.ts +1 -0
  12. package/client-api-platform/src/shapes.d.ts +59 -91
  13. package/common/src/api/pages/idb.d.ts +4 -2
  14. package/common/src/api/protocol/browser.d.ts +8 -8
  15. package/common/src/api/protocol/workspace-platform.d.ts +24 -23
  16. package/common/src/api/provider.d.ts +1 -1
  17. package/common/src/api/storefront.d.ts +5 -5
  18. package/common/src/api/theming.d.ts +1 -1
  19. package/common/src/utils/defer-show.d.ts +1 -1
  20. package/common/src/utils/global-context-menu.d.ts +1 -1
  21. package/common/src/utils/indicators/browser.d.ts +1 -1
  22. package/common/src/utils/layout.d.ts +2 -1
  23. package/common/src/utils/menu-window-provider.d.ts +6 -6
  24. package/common/src/utils/modal-bounds.d.ts +1 -1
  25. package/common/src/utils/namespaced-local-storage.d.ts +2 -2
  26. package/common/src/utils/page-tab-context-menu.d.ts +1 -1
  27. package/common/src/utils/pick.d.ts +7 -0
  28. package/common/src/utils/promise-with-resolvers.d.ts +9 -0
  29. package/common/src/utils/shared-emitter.d.ts +4 -4
  30. package/common/src/utils/types.d.ts +23 -0
  31. package/common/src/utils/workspace-modals.d.ts +1 -1
  32. package/{common/src/utils/enterprise-dock.d.ts → dock3/src/api/constants.d.ts} +2 -0
  33. package/dock3/src/api/idb.d.ts +3 -0
  34. package/dock3/src/api/index.d.ts +14 -0
  35. package/dock3/src/api/launch.d.ts +3 -0
  36. package/dock3/src/api/protocol.d.ts +73 -0
  37. package/dock3/src/api/provider.d.ts +89 -0
  38. package/dock3/src/shapes/enterprise.d.ts +22 -0
  39. package/dock3/src/shapes/index.d.ts +2 -0
  40. package/dock3/src/shapes/shapes.d.ts +63 -0
  41. package/dock3/src/utils.d.ts +2 -0
  42. package/externals.report.json +6 -0
  43. package/home.js +1 -1
  44. package/home.js.map +1 -1
  45. package/index.js +1 -1
  46. package/index.js.map +1 -1
  47. package/notifications.js +1 -1
  48. package/notifications.js.map +1 -1
  49. package/package.json +3 -3
  50. package/store.js +1 -1
  51. package/store.js.map +1 -1
  52. package/client-api-platform/src/api/perfomance.d.ts +0 -3
@@ -36,9 +36,9 @@ export declare const MICROSOFT_365_SEARCH_RESULT_ACTIONS: {
36
36
  * @param req The user input request object from which to extract the selected filters.
37
37
  * @returns An array of CLIFilter objects representing the validated filters.
38
38
  */
39
- export declare const getValidFilters: (req: Parameters<HomeProvider["onUserInput"]>[0], searchTypePossibleFilters: Set<Microsoft365DocumentType>) => CLIFilter[];
40
- export declare const getValidContactFilters: (users: MicrosoftGraphTypes.User[], req: Parameters<HomeProvider["onUserInput"]>[0]) => CLIFilter[];
41
- export declare const getContactFiltersFromRequest: (req: Parameters<HomeProvider["onUserInput"]>[0]) => {
39
+ export declare const getValidFilters: (req: Parameters<HomeProvider['onUserInput']>[0], searchTypePossibleFilters: Set<Microsoft365DocumentType>) => CLIFilter[];
40
+ export declare const getValidContactFilters: (users: MicrosoftGraphTypes.User[], req: Parameters<HomeProvider['onUserInput']>[0]) => CLIFilter[];
41
+ export declare const getContactFiltersFromRequest: (req: Parameters<HomeProvider['onUserInput']>[0]) => {
42
42
  department: string[];
43
43
  jobTitle: string[];
44
44
  };
@@ -58,7 +58,7 @@ export declare const filterContactFromRequest: (items: MicrosoftGraphTypes.User[
58
58
  * If no types are selected or all types are deselected, the function marks all types to be shown.
59
59
  * Otherwise, it marks only the selected types to be shown.
60
60
  */
61
- export declare const getTypeFiltersFromRequest: (req: Parameters<HomeProvider["onUserInput"]>[0], searchTypePossibleFilters: Set<Microsoft365DocumentType>) => {
61
+ export declare const getTypeFiltersFromRequest: (req: Parameters<HomeProvider['onUserInput']>[0], searchTypePossibleFilters: Set<Microsoft365DocumentType>) => {
62
62
  readonly showDocuments: boolean;
63
63
  readonly showContacts: boolean;
64
64
  /** Teams Messages */
@@ -70,7 +70,7 @@ export declare const getTypeFiltersFromRequest: (req: Parameters<HomeProvider["o
70
70
  /** SharePoint Lists */
71
71
  readonly showLists: boolean;
72
72
  };
73
- export declare const getDocumentFiltersFromRequest: (req: Parameters<HomeProvider["onUserInput"]>[0]) => {
73
+ export declare const getDocumentFiltersFromRequest: (req: Parameters<HomeProvider['onUserInput']>[0]) => {
74
74
  readonly filterFiles: boolean;
75
75
  readonly showWord: boolean;
76
76
  readonly showExcel: boolean;
@@ -81,6 +81,6 @@ export declare const getDocumentFiltersFromRequest: (req: Parameters<HomeProvide
81
81
  export declare const filterDocumentsFromRequest: (items: MicrosoftGraphTypes.DriveItem[], filter: ReturnType<typeof getDocumentFiltersFromRequest>) => MicrosoftGraphTypes.DriveItem[];
82
82
  export declare const getFileType: (fileName?: string) => string;
83
83
  export declare const getFileIcon: (fileName?: string) => string;
84
- export declare const mapMicrosoftAvailabilityToPresence: (availability: Presence) => CLISearchResultContact["templateContent"]["onlineStatus"] | undefined;
84
+ export declare const mapMicrosoftAvailabilityToPresence: (availability: Presence) => CLISearchResultContact['templateContent']['onlineStatus'] | undefined;
85
85
  /** base64IdToUrl converts a base64 encoded id to a url safe id */
86
86
  export declare const base64IdToUrl: (b64Id: string) => string;
@@ -4,7 +4,7 @@ import { ColorSchemeOptionType, CustomPaletteSet } from '../../../../client-api-
4
4
  *
5
5
  * This is particularly useful if a value uses a different palette constant depending on scheme.
6
6
  */
7
- export declare const getPaletteExtensions: (palette: CustomPaletteSet, paletteScheme: "light" | "dark", isWindows: boolean) => {
7
+ export declare const getPaletteExtensions: (palette: CustomPaletteSet, paletteScheme: 'light' | 'dark', isWindows: boolean) => {
8
8
  dockExpandedContainerBorderColor: string;
9
9
  dockExpandedContainerBorderRadius: string;
10
10
  dockExpandedContainerBackground: string;
@@ -46,7 +46,7 @@ export declare class ThemeStorageController {
46
46
  * A workaround that can be leveraged in cross origin scenarios (which is the majority of the workspace use case) is available in this commit: 233e843cda6cd68968fd5831fb20597e0d5bb7cc
47
47
  * `git revert 233e843cda6cd68968fd5831fb20597e0d5bb7cc --no-commit`
48
48
  */
49
- setWorkspaceStorage: (proxy: Pick<Storage, "setItem">) => void;
49
+ setWorkspaceStorage: (proxy: Pick<Storage, 'setItem'>) => void;
50
50
  /**
51
51
  * Synchronize the current palette and scheme with workspace's storage instance if
52
52
  * storage based theming is enabled
@@ -8,7 +8,7 @@ export declare const navigateContentMenu: (id: string) => Promise<void>;
8
8
  export declare const launchDockEntry: (payload: LaunchDockEntryPayload) => Promise<void>;
9
9
  export declare const setDockFavoritesOrder: (favorites: DockEntry[]) => Promise<void>;
10
10
  export declare const setDefaultDockButtonsOrder: (defaultDockButtons: DockCompanionButton[]) => Promise<void>;
11
- export declare const getDockWorkspacesContextMenu: () => Promise<import("@client/index").BaseCustomDropdownItem<any>[]>;
11
+ export declare const getDockWorkspacesContextMenu: () => Promise<import("@common/api/action").BaseCustomDropdownItem<any>[]>;
12
12
  export declare const handleDockWorkspacesMenuResponse: (payload: any) => Promise<void>;
13
13
  export declare const removeFavoriteEntry: (entry: DockEntry) => Promise<void>;
14
14
  export declare const addFavoriteEntry: (entry: DockEntry) => Promise<void>;
@@ -1,5 +1,5 @@
1
1
  import { AnalyticsEventInternal } from '../../../../common/src/utils/usage-register';
2
2
  import { Page } from '../../../../client-api-platform/src/shapes';
3
3
  export declare const getOpenPages: () => Map<string, AnalyticsEventInternal>;
4
- export declare const addOpenPageToCache: (pageId: Page["pageId"], event: AnalyticsEventInternal) => void;
5
- export declare const removeOpenPageFromCache: (pageId: Page["pageId"]) => boolean;
4
+ export declare const addOpenPageToCache: (pageId: Page['pageId'], event: AnalyticsEventInternal) => void;
5
+ export declare const removeOpenPageFromCache: (pageId: Page['pageId']) => boolean;
@@ -0,0 +1,7 @@
1
+ export declare const browserWindowPerformanceMarkStart: () => string;
2
+ export declare const browserWindowPerformanceMarkAPIReturn: (performanceMarkTitle: string) => void;
3
+ export declare const setupBrowserWindowShownPerformanceMark: (performanceMarkTitle: string) => void;
4
+ export declare const contextMenuPerformanceMarkStart: () => string;
5
+ export declare const contextMenuPerformanceMarkEnd: (performanceMarkTitle: string) => void;
6
+ export declare const contextMenuPerformanceMarkAPIReturn: (performanceMarkTitle: string) => void;
7
+ export declare const setupContextMenuPerformanceMark: (performanceMarkTitle: string) => void;
@@ -1,4 +1,4 @@
1
- import type { ApplyWorkspacePayload, CreateSavedWorkspaceRequest, RestoreLastSavedWorkspacePayload, RestoreLastSavedWorkspaceResult, Workspace } from '../../../../client-api-platform/src/shapes';
1
+ import type { ApplyWorkspacePayload, CreateSavedWorkspaceRequest, GetCurrentWorkspaceOptions, RestoreLastSavedWorkspacePayload, RestoreLastSavedWorkspaceResult, Workspace } from '../../../../client-api-platform/src/shapes';
2
2
  /**
3
3
  * Apply the given workspace and set it as active.
4
4
  * @param payload, the workspace to apply and the options to apply it with.
@@ -20,7 +20,7 @@ export declare function getInitialWorkspace(): Promise<Workspace>;
20
20
  * Get a workspace data structure that represents the users current desktop.
21
21
  * @returns the current active workspace.
22
22
  */
23
- export declare function getCurrentWorkspace(): Promise<Workspace>;
23
+ export declare function getCurrentWorkspace(options?: GetCurrentWorkspaceOptions): Promise<Workspace>;
24
24
  export declare function getLastSavedWorkspace(): Promise<Workspace | undefined>;
25
25
  export declare const createWorkspaceInStorage: (req: CreateSavedWorkspaceRequest) => Promise<any>;
26
26
  export declare const getWorkspacesInStorage: () => Promise<Workspace[]>;
@@ -1,3 +1,4 @@
1
1
  export * from './shapes';
2
- export { init, initDockCompanion } from './init';
2
+ export * as Dock from '../../dock3/src/api';
3
+ export { init } from './init';
3
4
  export { getCurrentSync, wrapSync } from './api';
@@ -1,6 +1,5 @@
1
1
  import OpenFin from '@openfin/core';
2
- import { CompanionDockConfig, WorkspacePlatformInitConfig } from '../../../client-api-platform/src/shapes';
3
- export declare function initDockCompanion(config: CompanionDockConfig, platform: OpenFin.Platform): Promise<void>;
2
+ import { WorkspacePlatformInitConfig } from '../../../client-api-platform/src/shapes';
4
3
  /**
5
4
  * Initilaize a Workspace Platform.
6
5
  *
@@ -1,4 +1,4 @@
1
1
  import OpenFin from '@openfin/core';
2
2
  import type { AttachedPage, AttachedPageInternal } from '../../../../common/src/api/pages/shapes';
3
3
  import { BrowserInitConfig } from '../..';
4
- export declare const applyPageDefaults: (pages: AttachedPage[], initOptions?: Pick<BrowserInitConfig, "defaultPageOptions" | "defaultViewOptions" | "defaultWindowOptions">, overrideOptions?: OpenFin.PlatformWindowCreationOptions) => Promise<AttachedPageInternal[]>;
4
+ export declare const applyPageDefaults: (pages: AttachedPage[], initOptions?: Pick<BrowserInitConfig, 'defaultPageOptions' | 'defaultViewOptions' | 'defaultWindowOptions'>, overrideOptions?: OpenFin.PlatformWindowCreationOptions) => Promise<AttachedPageInternal[]>;
@@ -7,5 +7,5 @@ type ViewStateBase = Pick<BrowserViewState, '_internalWorkspaceData' | 'workspac
7
7
  export declare const mapInternalWorkspaceDataToWorkspacePlatform: <T extends ViewStateBase>(viewState: T) => T;
8
8
  export declare const mapWorkspacePlatformToInternalWorkspaceData: <T extends ViewStateBase>(viewState: T) => T;
9
9
  export declare const setHotkeysIfNavigationButtonsEnabled: (options: BrowserCreateViewRequest) => Promise<BrowserCreateViewRequest>;
10
- export declare const registerHotkeyListenersIfEnabled: (viewIdentity: OpenFin.Identity, buttonOptions?: BrowserWorkspacePlatformViewOptions["browserNavigationButtons"]) => void;
10
+ export declare const registerHotkeyListenersIfEnabled: (viewIdentity: OpenFin.Identity, buttonOptions?: BrowserWorkspacePlatformViewOptions['browserNavigationButtons']) => void;
11
11
  export {};
@@ -34,4 +34,5 @@ export type WindowType = 'browser' | 'platform' | 'classic' | 'mixed' | 'enterpr
34
34
  */
35
35
  export declare function checkHasBrowserWindows(snapshot: BrowserSnapshot): boolean;
36
36
  export declare const copyObject: <T>(obj: T) => T;
37
+ export declare function validateTabDimensionsIfAny(overrideOptions: OpenFin.PlatformWindowCreationOptions): void;
37
38
  export {};
@@ -2,7 +2,6 @@ import type OpenFin from '@openfin/core';
2
2
  import { IconProps, IconType, Languages } from '@openfin/ui-library';
3
3
  import { ModalResponseEvent } from '../../common/src/utils/menu-window-provider';
4
4
  import type { AnalyticsEvent, AnalyticsEventInternal } from '../../common/src/utils/usage-register';
5
- import { Point } from '../../common/src/utils/window';
6
5
  import { BaseCustomDropdownItem, CustomActionSpecifier, CustomButtonConfig } from '../../common/src/api/action';
7
6
  import { Resource } from '../../common/src/api/i18next';
8
7
  import { TrackedSite } from '../../common/src/api/pages/idb';
@@ -10,8 +9,10 @@ import { AddDefaultPagePayload, AttachedPage, BookmarkNode, CopyPagePayload, Cre
10
9
  import { SetActivePageForWindowPayload } from '../../common/src/api/pages/shapes';
11
10
  import { NotificationsCustomManifestOptions } from '../../common/src/api/shapes/notifications';
12
11
  import type { CustomThemes } from '../../common/src/api/theming';
13
- import { App, DockProviderConfigWithIdentity, StoreButtonConfig, WorkspaceButton } from '../../client-api/src/shapes';
12
+ import { App, DockProviderConfigWithIdentity, StoreButtonConfig } from '../../client-api/src/shapes';
14
13
  import type { WorkflowIntegration } from '../../client-api/src/shapes/integrations';
14
+ import { DockCompanionButton } from '../../dock3/src/shapes/index';
15
+ export * from '../../dock3/src/shapes';
15
16
  export { AppManifestType } from '../../client-api/src/shapes';
16
17
  export type { App, AppIntent, Image } from '../../client-api/src/shapes';
17
18
  export type { CustomActionSpecifier, CustomButtonConfig } from '../../common/src/api/action';
@@ -157,15 +158,15 @@ export declare enum PageTabContextMenuOptionType {
157
158
  Save = "Save",
158
159
  SaveAs = "Save As",
159
160
  NewPage = "New Page",
160
- DeletePage = "Delete Page",// Enterprise
161
- SaveWorkspaceAs = "SaveWorkspaceAs",// Enterprise
162
- Refresh = "Refresh",// Enterprise
163
- CloseOthers = "Close others",// Enterprise
164
- Delete = "Delete",// Enterprise
165
- Print = "Print",// Enterprise
166
- PrintAll = "PrintAll",// Enterprise
167
- PrintScreen = "PrintScreen",// Enterprise
168
- AddToChannel = "AddToChannel",// Enterprise
161
+ DeletePage = "Delete Page",
162
+ SaveWorkspaceAs = "SaveWorkspaceAs",
163
+ Refresh = "Refresh",
164
+ CloseOthers = "Close others",
165
+ Delete = "Delete",
166
+ Print = "Print",
167
+ PrintAll = "PrintAll",
168
+ PrintScreen = "PrintScreen",
169
+ AddToChannel = "AddToChannel",
169
170
  Custom = "Custom"
170
171
  }
171
172
  /** @internal */
@@ -653,6 +654,28 @@ export interface BrowserWorkspacePlatformWindowOptions {
653
654
  newPageUrl?: string;
654
655
  toolbarOptions?: ToolbarOptions;
655
656
  windowStateButtonOptions?: WindowStateButtonOptions;
657
+ /** Specifies the min and max sizes for page tabs.
658
+ * Page tabs will expand to take all available space up to the specified maximum size.
659
+ * Similarly, they will collapse down to the specified minimum size.
660
+ * When there is not enough room to fit the tabs, the tabstrip will become scrollable.
661
+ * Sizes can be specified as pixels (e.g. "100px") or as percentage of tab strip width (e.g. "20%").
662
+ * The default value for both min and max is "120px". To maintain usability, minimum values below 28px will be ignored and 28px will be used as the minimum.
663
+ */
664
+ pageTabDimensions?: {
665
+ minWidth?: string;
666
+ maxWidth?: string;
667
+ };
668
+ /** Specifies the min and max sizes for view tabs in a layout.
669
+ * View tabs will expand to take all available space up to the specified maximum size.
670
+ * Similarly, they will collapse down to the specified minimum size.
671
+ * When there is not enough room to fit the tabs, the tabstrip will become scrollable.
672
+ * Sizes can be specified as pixels (e.g. "100px") or as percentage of tab strip width (e.g. "20%").
673
+ * The default value for both min and max is "120px". To maintain usability, minimum values below 28px will be ignored and 28px will be used as the minimum.
674
+ */
675
+ viewTabDimensions?: {
676
+ minWidth?: string;
677
+ maxWidth?: string;
678
+ };
656
679
  /**
657
680
  * Use when you want to display navigation buttons in Browser toolbar. Disabled by default.
658
681
  *
@@ -1261,7 +1284,7 @@ export type AppSite = SiteInfo & {
1261
1284
  * @internal
1262
1285
  */
1263
1286
  export type WorkspaceSite = SiteInfo & {
1264
- type: 'page' | 'workspace';
1287
+ type: 'page' | 'workspace' | 'collection';
1265
1288
  };
1266
1289
  /**
1267
1290
  * @internal
@@ -1608,6 +1631,17 @@ export interface WorkspacePlatformStorage {
1608
1631
  * ```
1609
1632
  */
1610
1633
  getWorkspaces(): Promise<Workspace[]>;
1634
+ /**
1635
+ * Get all workspaces metadata including the workspaceId and title that are saved in persistent storage.
1636
+ *
1637
+ * ```ts
1638
+ * import * as WorkspacePlatform from '@openfin/workspace-platform';
1639
+ *
1640
+ * const workspacePlatform = WorkspacePlatform.getCurrentSync();
1641
+ * const workspacesMetadata = await workspacePlatform.Storage.getWorkspacesMetadata();
1642
+ * ```
1643
+ */
1644
+ getWorkspacesMetadata(): Promise<Pick<Workspace, 'workspaceId' | 'title'>[]>;
1611
1645
  /**
1612
1646
  * Get a specific workspace in persistent storage.
1613
1647
  *
@@ -1793,8 +1827,9 @@ export interface WorkspacePlatformModule extends OpenFin.Platform {
1793
1827
  launchApp(req: LaunchAppRequest): Promise<void>;
1794
1828
  /**
1795
1829
  * Gets a workspace data structure that represents the current state of the user's desktop.
1830
+ * @param options Options for getting the current workspace.
1796
1831
  */
1797
- getCurrentWorkspace(): Promise<Workspace>;
1832
+ getCurrentWorkspace(options?: GetCurrentWorkspaceOptions): Promise<Workspace>;
1798
1833
  /**
1799
1834
  * Sets the workspace as the current active workspace. Does not apply the workspace to the user's desktop.
1800
1835
  * @param workspace the workspace to set as current active workspace.
@@ -2004,6 +2039,11 @@ export interface WorkspacePlatformProvider extends OpenFin.PlatformProvider {
2004
2039
  * @param query an optional query.
2005
2040
  */
2006
2041
  getSavedWorkspaces(query?: string): Promise<Workspace[]>;
2042
+ /**
2043
+ * Implementation for getting a list of saved workspaces metadata from persistent storage.
2044
+ * @param query an optional query.
2045
+ */
2046
+ getSavedWorkspacesMetadata(query?: string): Promise<Pick<Workspace, 'workspaceId' | 'title'>[]>;
2007
2047
  /**
2008
2048
  * Implementation for getting a single workspace in persistent storage.
2009
2049
  * @param id
@@ -2275,6 +2315,9 @@ export interface ShowQuitPlatformDialogRequest {
2275
2315
  /** Should the dialog be centered on the monitor instead of on top of the platform window */
2276
2316
  shouldCenterOnMonitor?: boolean;
2277
2317
  }
2318
+ export interface GetCurrentWorkspaceOptions {
2319
+ skipSnapshotUpdate?: boolean;
2320
+ }
2278
2321
  /**
2279
2322
  * Options for the {@link WorkspacePlatformModule.applyWorkspace applyWorkspace} method.
2280
2323
  *
@@ -2515,44 +2558,6 @@ export interface WorkspacePlatformInitConfig {
2515
2558
  */
2516
2559
  workspaceAsar?: WorkspaceAsarAssetConfig | WorkspaceAsarPathConfig;
2517
2560
  }
2518
- /**
2519
- * @internal
2520
- */
2521
- export interface CompanionDockConfig {
2522
- /**
2523
- * Base URL for the companion dock
2524
- */
2525
- baseUrl?: string;
2526
- /**
2527
- * Companion dock window position
2528
- */
2529
- dockPosition?: Point;
2530
- /**
2531
- * Favorites to be displayed in the dock
2532
- */
2533
- favorites?: DockEntry[];
2534
- /**
2535
- * Favorites to be displayed in the dock
2536
- */
2537
- contentMenu?: ContentMenuEntry[];
2538
- defaultDockButtons?: DockCompanionButton[];
2539
- /**
2540
- * Taskbar Icon for the Browser Window. If light and dark icon are defined, then the taskbar icon will change when the scheme changes.
2541
- */
2542
- icon?: string | TaskbarIcon;
2543
- title?: string;
2544
- windowType: 'enterprise' | undefined;
2545
- uiConfig?: {
2546
- hideDragHandle?: boolean;
2547
- providerIconContentMenu?: boolean;
2548
- moreMenu?: {
2549
- quitPlatform?: {
2550
- hidePlatformTitle?: boolean;
2551
- skipDialog?: boolean;
2552
- };
2553
- };
2554
- };
2555
- }
2556
2561
  /**
2557
2562
  * Extend or replace default functionality in order to customize behavior of a Workspace Platform Provider.
2558
2563
  *
@@ -2688,7 +2693,6 @@ export type WorkspacePlatformOverrideCallback = OpenFin.OverrideCallback<Workspa
2688
2693
  * @deprecated
2689
2694
  */
2690
2695
  export type BrowserOverrideCallback = WorkspacePlatformOverrideCallback;
2691
- export type DockCompanionButton = Exclude<WorkspaceButton, 'store'> | 'contentMenu' | 'bookmarks' | 'searchShortcut';
2692
2696
  /**
2693
2697
  * Content menu entry shape cloned and re-exported from UI Library.
2694
2698
  * @internal
@@ -2711,6 +2715,9 @@ export type LaunchDockEntryPayload = {
2711
2715
  entry: DockEntry;
2712
2716
  sourceEvent?: Pick<MouseEvent, 'ctrlKey' | 'metaKey' | 'shiftKey'>;
2713
2717
  };
2718
+ export type BookmarkDockEntryPayload = {
2719
+ entry: DockEntry;
2720
+ };
2714
2721
  /**
2715
2722
  * Represents dock entry for favorites
2716
2723
  * @internal
@@ -2846,45 +2853,6 @@ export interface LaunchBookmarkPayload {
2846
2853
  sourceIdentity: OpenFin.Identity;
2847
2854
  sourceEvent: Pick<MouseEvent, 'ctrlKey' | 'metaKey' | 'shiftKey'>;
2848
2855
  }
2849
- /**
2850
- * These are channel actions registered by the platform.
2851
- *
2852
- * @internal
2853
- */
2854
- type EnterpriseDockChannelProviderChannelActions = {
2855
- 'launch-entry': (payload: LaunchDockEntryPayload) => void;
2856
- 'set-dock-favorites-order': (newFavorites: DockEntry[]) => void;
2857
- 'set-default-dock-buttons-order': (newFavorites: DockCompanionButton[]) => void;
2858
- 'get-dock-workspaces-context-menu': () => BaseCustomDropdownItem[];
2859
- 'handle-dock-workspaces-menu-response': (payload: any) => void;
2860
- 'remove-favorite-entry': (entry: DockEntry) => void;
2861
- 'add-favorite-entry': (entry: DockEntry) => void;
2862
- };
2863
- /**
2864
- * These are channel actions registered by the client (enterprise dock)
2865
- * @internal
2866
- */
2867
- type EnterpriseDockChannelClientChannelActions = {
2868
- 'update-favorite-entries': () => void;
2869
- 'update-content-menu': () => void;
2870
- 'navigate-content-menu': () => void;
2871
- };
2872
- /**
2873
- * Used by Enterprise Dock for communication with the platform.
2874
- * @internal
2875
- */
2876
- export interface EnterpriseDockChannelClient extends Omit<OpenFin.ChannelClient, 'dispatch' | 'register'> {
2877
- dispatch: <T extends keyof EnterpriseDockChannelProviderChannelActions>(action: T, payload: Parameters<EnterpriseDockChannelProviderChannelActions[T]>[0]) => Promise<Awaited<ReturnType<EnterpriseDockChannelProviderChannelActions[T]>>>;
2878
- register: <T extends keyof EnterpriseDockChannelClientChannelActions>(action: T, handler: (payload: Parameters<EnterpriseDockChannelClientChannelActions[T]>[0], id: OpenFin.ProviderIdentity | OpenFin.ClientIdentity) => Promise<Awaited<ReturnType<EnterpriseDockChannelClientChannelActions[T]>>>) => boolean;
2879
- }
2880
- /**
2881
- * Used by the platform for communication with Enterprise Dock.
2882
- * @internal
2883
- */
2884
- export interface EnterpriseDockChannelProvider extends Omit<OpenFin.ChannelProvider, 'dispatch' | 'register'> {
2885
- dispatch: <T extends keyof EnterpriseDockChannelClientChannelActions>(to: OpenFin.ClientIdentity, action: T, payload: Parameters<EnterpriseDockChannelClientChannelActions[T]>[0]) => Promise<Awaited<ReturnType<EnterpriseDockChannelClientChannelActions[T]>>>;
2886
- register: <T extends keyof EnterpriseDockChannelProviderChannelActions>(action: T, handler: (payload: Parameters<EnterpriseDockChannelProviderChannelActions[T]>[0], id: OpenFin.ProviderIdentity | OpenFin.ClientIdentity) => Promise<Awaited<ReturnType<EnterpriseDockChannelProviderChannelActions[T]>>>) => boolean;
2887
- }
2888
2856
  export type SearchProviderFilter = {
2889
2857
  id: string;
2890
2858
  title: string;
@@ -14,8 +14,10 @@ export declare function updatePage({ pageId, page }: {
14
14
  export declare const addRemovedTab: (payload: TrackedTab) => Promise<void>;
15
15
  export declare const popLastRemovedTab: () => Promise<TrackedTab | undefined>;
16
16
  export declare const trackVisitedSite: (payload: Site) => Promise<void>;
17
- export declare const getRecentVisitedSites: (numOfSites?: number) => Promise<TrackedSite[] | []>;
18
- export declare const getFrequentlyVisitedSites: () => Promise<TrackedSite[] | []>;
17
+ export declare const getRecentVisitedSites: (numOfSites?: number) => Promise<TrackedSite[] | [
18
+ ]>;
19
+ export declare const getFrequentlyVisitedSites: () => Promise<TrackedSite[] | [
20
+ ]>;
19
21
  export declare const searchSites: (payload: {
20
22
  req: SearchSitesRequest;
21
23
  } & {
@@ -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",// Enterprise
38
- GetLayoutsWithSelectedViewsInternal = "get-layouts-with-selected-views",// Enterprise
37
+ RefreshBookmarksInternal = "refresh-bookmarks",
38
+ GetLayoutsWithSelectedViewsInternal = "get-layouts-with-selected-views",
39
39
  FocusAndExpandSearchInternal = "focus-and-expand-search"
40
40
  }
41
41
  /**
@@ -68,15 +68,15 @@ export declare enum EnterpriseAppDirectoryChannelAction {
68
68
  * @internal
69
69
  */
70
70
  export declare enum EnterpriseBookmarkChannelAction {
71
- CreateBookmarkNode = "create-bookmark-node",// Enterprise
72
- GetBookmarkNode = "get-bookmark-node",// Enterprise
73
- SearchBookmarkNodes = "search-bookmark-nodes",// Enterprise
74
- UpdateBookmarkNode = "update-bookmark-node",// Enterprise
71
+ CreateBookmarkNode = "create-bookmark-node",
72
+ GetBookmarkNode = "get-bookmark-node",
73
+ SearchBookmarkNodes = "search-bookmark-nodes",
74
+ UpdateBookmarkNode = "update-bookmark-node",
75
75
  DeleteBookmarkNode = "delete-bookmark-node"
76
76
  }
77
77
  export declare enum CompanionDockChannelAction {
78
- UpdateFavoriteEntries = "update-favorite-entries",// Enterprise
79
- UpdateContentMenu = "update-content-menu",// Enterprise
78
+ UpdateFavoriteEntries = "update-favorite-entries",
79
+ UpdateContentMenu = "update-content-menu",
80
80
  NavigateContentMenu = "navigate-content-menu"
81
81
  }
82
82
  /**
@@ -48,6 +48,7 @@ export declare enum WorkspacePlatformChannelAction {
48
48
  UpdateSavedWorkspace = "updateSavedWorkspace",
49
49
  DeleteSavedWorkspace = "deleteSavedWorkspace",
50
50
  GetSavedWorkspaces = "getSavedWorkspaces",
51
+ GetSavedWorkspacesMetadata = "getSavedWorkspacesMetadata",
51
52
  SaveWorkspace = "saveWorkspace",
52
53
  GetCurrentWorkspace = "getCurrentWorkspace",
53
54
  ApplyWorkspace = "applyWorkspace",
@@ -66,30 +67,30 @@ export declare enum WorkspacePlatformChannelAction {
66
67
  CopyPage = "copyPage",
67
68
  HandlePageChanges = "handlePageChanges",
68
69
  MarkUnsavedPagesAsSavedInternal = "markUnsavedPagesAsSavedInternal",
69
- TrackRemovedTabInternal = "trackRemovedTabInternal",// Enterprise
70
- RestoreRemovedTabInternal = "restoreRemovedTabInternal",// Enterprise
71
- TrackVisitedSiteInternal = "trackVisitedSiteInternal",// Enterprise
72
- GetRecentlyVisitedSitesInternal = "getRecentlyVisitedSitesInternal",// Enterprise
73
- GetFrequentlyVisitedSitesInternal = "getFrequentlyVisitedSitesInternal",// Enterprise
74
- SearchSitesInternal = "searchSitesInternal",// Enterprise
75
- GetSearchProvidersInternal = "getSearchProvidersInternal",// Enterprise
76
- GetCuratedContentInternal = "getCuratedContentInternal",// Enterprise
77
- HandleRequestNavigationInternal = "handleRequestNavigationInternal",// Enterprise
78
- RefreshBookmarksInternal = "refreshBookmarksInternal",// Enterprise
79
- LaunchBookmarkInternal = "launchBookmarkInternal",// Enterprise
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",
80
81
  GetNotificationsConfig = "getNotificationsConfig",
81
- UpdateDockFavoritesInternal = "updateDockFavoritesInternal",// Enterprise
82
- UpdateContentMenuInternal = "updateContentMenuInternal",// Enterprise
83
- LaunchDockEntryInternal = "launchDockEntryInternal",// Enterprise
84
- SetDockFavoritesOrderInternal = "setDockFavoritesOrderInternal",// Enterprise
85
- NavigateContentMenuInternal = "navigateContentMenuInternal",// Enterprise
86
- SetDefaultDockButtonsOrderInternal = "setDefaultDockButtonsOrderInternal",// Enterprise
87
- GetDockWorkspacesContextMenuInternal = "getDockWorkspacesContextMenuInternal",// Enterprise
88
- HandleDockWorkspacesMenuResponseInternal = "handleDockWorkspacesMenuResponseInternal",// Enterprise
89
- RemoveDockFavoriteInternal = "removeDockFavoriteInternal",// Enterprise
90
- AddDockFavoriteInternal = "addDockFavoriteInternal",// Enterprise
91
- FocusAndExpandSearchInternal = "focusAndExpandSearchInternal",// Enterprise
92
- SendUpdateVersionModalResponseInternal = "sendUpdateVersionModalResponseInternal",// Enterprise
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",
93
94
  ShowUpdateVersionModalInternal = "showUpdateVersionModalInternal"
94
95
  }
95
96
  export type PlatFormSupportedFeatures = boolean | {
@@ -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
  */
@@ -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>;
@@ -300,6 +300,6 @@ export declare const getComputedPaletteSets: (customTheme: CustomThemeOptions |
300
300
  export declare const computeThemes: (customThemes: CustomThemes, storedScheme?: ColorSchemeOptionType) => ComputedThemes;
301
301
  export declare const getComputedPlatformTheme: (platformIdentity: OpenFin.Identity) => Promise<ComputedTheme>;
302
302
  export declare const setSelectedScheme: (ctx: ColorSchemeOptionType) => Promise<void>;
303
- export declare const getComputedScheme: (identity?: OpenFin.Identity) => Promise<Exclude<ColorSchemeType, "system">>;
303
+ export declare const getComputedScheme: (identity?: OpenFin.Identity) => Promise<Exclude<ColorSchemeType, 'system'>>;
304
304
  export declare const getComputedBackgroundColor: (paletteKey: keyof typeof Palette, defaultColor?: string) => Promise<string>;
305
305
  export {};
@@ -24,7 +24,7 @@ interface InternalWindowOptions extends OpenFin.PlatformWindowCreationOptions {
24
24
  * @param setAsForeground the option to focus the window when it is shown
25
25
  * @returns the modified options.
26
26
  */
27
- export declare const applyDeferShowOptions: (opts: OpenFin.PlatformWindowCreationOptions, setAsForeground?: boolean) => InternalWindowOptions;
27
+ export declare const applyDeferShowOptions: <T>(opts: T, setAsForeground?: boolean) => InternalWindowOptions & T;
28
28
  /**
29
29
  * This function is a middleware that can be applied to a platform's `createWindow` function.
30
30
  * If the defer show API has been enabled in window options using the `applyDeferShowOptions` function
@@ -86,7 +86,7 @@ export declare const downloads: () => {
86
86
  export declare const appearance: () => {
87
87
  label: string;
88
88
  };
89
- export declare const getSavedWorkspaceContextMenuOptions: (activeWorkspace: Workspace, savedWorkspaces: Workspace[], contextMenuOptionType: GlobalContextMenuOptionType) => {
89
+ export declare const getSavedWorkspaceContextMenuOptions: (activeWorkspace: Workspace, savedWorkspaces: Pick<Workspace, 'workspaceId' | 'title'>[], contextMenuOptionType: GlobalContextMenuOptionType) => {
90
90
  label: string;
91
91
  type: MenuItemType;
92
92
  enabled: boolean;
@@ -1,7 +1,7 @@
1
1
  import type OpenFin from '@openfin/core';
2
2
  import { IconType } from '@openfin/ui-library';
3
3
  import { IndicatorType } from '../../../../common/src/components/Indicator/Indicator.constants';
4
- export type BrowserIndicatorIcon = Extract<IconType, 'LockClosedIcon' | 'LockOpen1Icon' | 'PageIcon' | 'BlockedIcon' | 'SupertabIcon'>;
4
+ export type BrowserIndicatorIcon = Extract<IconType, 'LockClosedIcon' | 'LockOpen1Icon' | 'PageIcon' | 'BlockedIcon' | 'SupertabIcon' | 'BookmarkFilled'>;
5
5
  export interface ShowBrowserIndicatorPayload {
6
6
  type: IndicatorType;
7
7
  message: string;
@@ -1,3 +1,4 @@
1
+ /// <reference types="lodash" />
1
2
  import type OpenFin from '@openfin/core';
2
3
  import { WindowIdentity } from '../../../common/src/utils/window';
3
4
  import { AttachedPageInternal } from '../../../common/src/api/pages/shapes';
@@ -78,7 +79,7 @@ export declare const cloneLayoutAndRemoveNames: (layout: PageLayout) => any;
78
79
  * @returns A copy of the layout with generated names removed
79
80
  */
80
81
  export declare const cloneLayoutAndRemoveGeneratedNames: (layout: PageLayout) => any;
81
- export declare const mapContentComponentState: (content: OpenFin.LayoutContent) => OpenFin.LayoutComponent["componentState"][];
82
+ export declare const mapContentComponentState: (content: OpenFin.LayoutContent) => OpenFin.LayoutComponent['componentState'][];
82
83
  export declare const getLayoutWithSingleView: (title: string, url: string, winIdentity?: OpenFin.Identity) => Promise<any>;
83
84
  export declare const layoutNameInitializedMap: Map<string, boolean>;
84
85
  export declare const isLayoutTabActive: (tabSelector: string) => boolean;
@@ -17,12 +17,12 @@ export interface ModalResponseEvent {
17
17
  }
18
18
  export declare const menuEvents: {
19
19
  emit: <EventKey extends keyof MenuEventTypes>(event: EventKey, ...payload: MenuEventTypes[EventKey]) => Promise<void>;
20
- addListener: <EventKey extends keyof MenuEventTypes>(event: EventKey, listener: (...payload: MenuEventTypes[EventKey]) => void) => void;
21
- addListenerWithUUID: (uuid: string) => <EventKey extends keyof MenuEventTypes>(event: EventKey, listener: (...payload: MenuEventTypes[EventKey]) => void) => void;
22
- removeListener: <EventKey extends keyof MenuEventTypes>(event: EventKey, listener: (...payload: MenuEventTypes[EventKey]) => void) => void;
23
- once: <EventKey extends keyof MenuEventTypes>(event: EventKey, listener: (...payload: MenuEventTypes[EventKey]) => void) => void;
20
+ addListener: <EventKey_1 extends keyof MenuEventTypes>(event: EventKey_1, listener: (...payload: MenuEventTypes[EventKey_1]) => void) => void;
21
+ addListenerWithUUID: (uuid: string) => <EventKey_1 extends keyof MenuEventTypes>(event: EventKey_1, listener: (...payload: MenuEventTypes[EventKey_1]) => void) => void;
22
+ removeListener: <EventKey_2 extends keyof MenuEventTypes>(event: EventKey_2, listener: (...payload: MenuEventTypes[EventKey_2]) => void) => void;
23
+ once: <EventKey_3 extends keyof MenuEventTypes>(event: EventKey_3, listener: (...payload: MenuEventTypes[EventKey_3]) => void) => void;
24
24
  };
25
- export declare const emitMenuResponse: (data: ModalResponseEvent["data"]) => Promise<void>;
25
+ export declare const emitMenuResponse: (data: ModalResponseEvent['data']) => Promise<void>;
26
26
  type WindowOptionsWithBounds = OptionalExceptFor<OpenFin.WindowOptions, 'name' | 'url'> & {
27
27
  top: number;
28
28
  left: number;
@@ -49,6 +49,6 @@ export declare function createMenuPosition(windowOptions: OptionalExceptFor<Open
49
49
  }>;
50
50
  export declare function showChildWindow({ options, parameters }: ShowChildOptions): Promise<OpenFin.Window>;
51
51
  export declare const waitForModalResponse: ({ options, content, parameters }: ResponseModalOptions) => Promise<{
52
- data: ModalResponseEvent["data"];
52
+ data: ModalResponseEvent['data'];
53
53
  }>;
54
54
  export {};