@openfin/workspace-platform 4.4.0 → 4.8.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/client-api-platform/src/api/app-directory.d.ts +2 -2
- package/client-api-platform/src/api/browser/index.d.ts +2 -2
- package/client-api-platform/src/api/pages/index.d.ts +3 -3
- package/client-api-platform/src/api/protocol.d.ts +4 -3
- package/client-api-platform/src/api/theming.d.ts +5 -0
- package/client-api-platform/src/api/workspace-module.d.ts +1 -1
- package/client-api-platform/src/index.d.ts +1 -1
- package/client-api-platform/src/init/theming.d.ts +9 -0
- package/client-api-platform/src/init/utils.d.ts +3 -2
- package/client-api-platform/src/shapes.d.ts +164 -19
- package/common/src/api/pages/idb.d.ts +1 -1
- package/common/src/api/theming.d.ts +60 -0
- package/common/src/utils/theming.d.ts +57 -0
- package/index.js +1 -1
- package/index.js.map +1 -1
- package/package.json +1 -1
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import type {
|
|
1
|
+
import type { LaunchAppRequest } from '../shapes';
|
|
2
2
|
/**
|
|
3
3
|
* Launch the app described by an App Directory entry.
|
|
4
4
|
* @param app the app directory entry.
|
|
5
5
|
* @param opts launch options.
|
|
6
6
|
*/
|
|
7
|
-
export declare function launchApp({ app, target }:
|
|
7
|
+
export declare function launchApp({ app, target }: LaunchAppRequest): Promise<void | import("openfin-adapter").View | import("openfin-adapter").Application | import("openfin-adapter/src/api/platform").Platform | import("openfin-adapter").Identity>;
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/// <reference types="openfin-adapter/fin" />
|
|
2
2
|
import type { AttachedPage, Page } from '@common/api/pages/shapes';
|
|
3
3
|
import type { BrowserCreateWindowRequest, BrowserWindowModule } from '../../shapes';
|
|
4
|
-
export declare const getBrowserApi: (identity: OpenFin.
|
|
4
|
+
export declare const getBrowserApi: (identity: OpenFin.ApplicationIdentity) => {
|
|
5
5
|
wrapSync: (windowIdentity: OpenFin.Identity) => {
|
|
6
6
|
identity: OpenFin.Identity;
|
|
7
7
|
openfinWindow: import("openfin-adapter").Window;
|
|
@@ -14,7 +14,7 @@ export declare const getBrowserApi: (identity: OpenFin.Identity) => {
|
|
|
14
14
|
reorderPages: (req: any) => Promise<any>;
|
|
15
15
|
};
|
|
16
16
|
createWindow: (options: BrowserCreateWindowRequest) => Promise<BrowserWindowModule>;
|
|
17
|
-
|
|
17
|
+
getAllAttachedPages: () => Promise<AttachedPage[]>;
|
|
18
18
|
getAllWindows: () => Promise<BrowserWindowModule[]>;
|
|
19
19
|
launchPage: (page: Page) => Promise<BrowserWindowModule>;
|
|
20
20
|
getUniquePageTitle: (title?: string) => Promise<any>;
|
|
@@ -5,7 +5,7 @@ import type { CreateSavedPageRequest, Page, UpdateSavedPageRequest } from '@clie
|
|
|
5
5
|
* Get all open pages in which are attached to a window.
|
|
6
6
|
* @returns the list of attached pages.
|
|
7
7
|
*/
|
|
8
|
-
export declare const
|
|
8
|
+
export declare const getAllAttachedPages: () => Promise<import("@client-platform/shapes").AttachedPage[]>;
|
|
9
9
|
export declare const createSavedPageInternal: ({ page }: CreateSavedPageRequest) => Promise<void>;
|
|
10
10
|
export declare const deleteSavedPageInternal: (id: string) => Promise<void>;
|
|
11
11
|
export declare const updateSavedPageInternal: ({ pageId, page }: UpdateSavedPageRequest) => Promise<any>;
|
|
@@ -14,11 +14,11 @@ export declare const attachPagesToWindow: (payload: AttachPagesToWindowPayload)
|
|
|
14
14
|
export declare const updatePageForWindow: (payload: any) => Promise<void>;
|
|
15
15
|
export declare const detachPagesFromWindow: (payload: any) => Promise<void>;
|
|
16
16
|
export declare const setActivePageForWindow: (payload: any) => Promise<void>;
|
|
17
|
-
export declare const getPagesForWindow: (identity: OpenFin.Identity) => Promise<import("@
|
|
17
|
+
export declare const getPagesForWindow: (identity: OpenFin.Identity) => Promise<import("@client-platform/shapes").AttachedPage[]>;
|
|
18
18
|
export declare const getPageForWindow: ({ identity, pageId }: {
|
|
19
19
|
identity: any;
|
|
20
20
|
pageId: any;
|
|
21
|
-
}) => Promise<import("@
|
|
21
|
+
}) => Promise<import("@client-platform/shapes").AttachedPage>;
|
|
22
22
|
export declare const reorderPagesForWindow: (payload: any) => Promise<void>;
|
|
23
23
|
export declare const getActivePageIdForWindow: (identity: any) => Promise<string>;
|
|
24
24
|
/**
|
|
@@ -26,13 +26,14 @@ export declare enum ChannelAction {
|
|
|
26
26
|
DetachPagesFromWindow = "detachPagesFromWindow",
|
|
27
27
|
ReorderPagesForWindow = "reorderPagesForWindow",
|
|
28
28
|
SetActivePageForWindow = "setActivePageForWindow",
|
|
29
|
-
|
|
29
|
+
GetAllAttachedPages = "getAllAttachedPages",
|
|
30
30
|
GetActivePageIdForWindow = "getActivePageIdForWindow",
|
|
31
31
|
GetPagesForWindow = "getPagesForWindow",
|
|
32
32
|
GetPageForWindow = "getPageForWindow",
|
|
33
33
|
GetSavedPageMetadata = "getSavedPageMetadata",
|
|
34
34
|
GetUniquePageTitle = "getUniquePageTitle",
|
|
35
|
-
GetLastFocusedBrowserWindow = "getLastFocusedBrowserWindow"
|
|
35
|
+
GetLastFocusedBrowserWindow = "getLastFocusedBrowserWindow",
|
|
36
|
+
GetThemes = "getThemes"
|
|
36
37
|
}
|
|
37
38
|
/**
|
|
38
39
|
* Get a channel client for a specific Workspace platform.
|
|
@@ -44,4 +45,4 @@ export declare enum ChannelAction {
|
|
|
44
45
|
*
|
|
45
46
|
* @returns the channel client for the Workspace platform.
|
|
46
47
|
*/
|
|
47
|
-
export declare const getChannelClient: (identity: OpenFin.
|
|
48
|
+
export declare const getChannelClient: (identity: OpenFin.ApplicationIdentity) => Promise<import("openfin-adapter").ChannelClient>;
|
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
/// <reference types="openfin-adapter/fin" />
|
|
2
2
|
import type { WorkspacePlatformModule } from '../shapes';
|
|
3
|
-
export declare const getWorkspacePlatformModule: (identity: OpenFin.
|
|
3
|
+
export declare const getWorkspacePlatformModule: (identity: OpenFin.ApplicationIdentity) => WorkspacePlatformModule;
|
|
@@ -2,5 +2,5 @@
|
|
|
2
2
|
import type { WorkspacePlatformInitConfig, WorkspacePlatformModule } from './shapes';
|
|
3
3
|
export * from './shapes';
|
|
4
4
|
export declare const init: (options: WorkspacePlatformInitConfig) => Promise<void>;
|
|
5
|
-
export declare const wrapSync: (identity: OpenFin.
|
|
5
|
+
export declare const wrapSync: (identity: OpenFin.ApplicationIdentity) => WorkspacePlatformModule;
|
|
6
6
|
export declare const getCurrentSync: () => WorkspacePlatformModule;
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { CustomThemes } from '../shapes';
|
|
2
|
+
export declare const getThemes: () => CustomThemes;
|
|
3
|
+
/**
|
|
4
|
+
* initTheming()
|
|
5
|
+
* Accepts an array of CustomThemes objects and stores it
|
|
6
|
+
* @param customPaletteOptions - optional - array of custom color pallettes
|
|
7
|
+
* @returns array of custom theme objects
|
|
8
|
+
*/
|
|
9
|
+
export default function initTheming(customPalettes: CustomThemes): void;
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
/// <reference types="openfin-adapter/fin" />
|
|
2
|
-
|
|
2
|
+
import { BrowserCreateWindowRequest } from '..';
|
|
3
|
+
export declare function overrideViewOptions(options: Partial<OpenFin.ViewOptions>, initOptions: OpenFin.ViewOptions): OpenFin.ViewOptions & Partial<OpenFin.ViewOptions>;
|
|
3
4
|
export declare const filterSnapshotWindows: (win: OpenFin.WindowOptions) => boolean;
|
|
4
5
|
/**
|
|
5
6
|
* fitToMonitor()
|
|
@@ -35,5 +36,5 @@ export declare const initWorkspacePlatformOptions: (options: LegacyWindowOptions
|
|
|
35
36
|
* @param options - options used to handle layout settings
|
|
36
37
|
* @returns processed or unprocesseed options
|
|
37
38
|
*/
|
|
38
|
-
export declare const applyBrowserDefaults: (options: OpenFin.PlatformWindowCreationOptions) => OpenFin.PlatformWindowCreationOptions;
|
|
39
|
+
export declare const applyBrowserDefaults: (options: OpenFin.PlatformWindowCreationOptions, initOptions: BrowserCreateWindowRequest) => OpenFin.PlatformWindowCreationOptions;
|
|
39
40
|
export {};
|
|
@@ -2,46 +2,92 @@
|
|
|
2
2
|
import type { InteropBroker } from 'openfin-adapter/src/api/interop';
|
|
3
3
|
import type { App } from '../../client-api/src/shapes';
|
|
4
4
|
import type { AttachedPage, Page, PageWithUpdatableRuntimeAttribs } from '../../common/src/api/pages/shapes';
|
|
5
|
+
import type { CustomThemes } from '../../common/src/api/theming';
|
|
6
|
+
export type { CustomThemes } from '../../common/src/api/theming';
|
|
5
7
|
export type { App, Image, AppIntent } from '../../client-api/src/shapes';
|
|
6
8
|
export { AppManifestType } from '../../client-api/src/shapes';
|
|
9
|
+
export type { AttachedPage, Page, PageWithUpdatableRuntimeAttribs, PageLayout, PageLayoutDetails } from '../../common/src/api/pages/shapes';
|
|
10
|
+
/**
|
|
11
|
+
* Request for creating a saved page in persistent storage.
|
|
12
|
+
*/
|
|
7
13
|
export interface CreateSavedPageRequest {
|
|
14
|
+
/** The page to create. */
|
|
8
15
|
page: Page;
|
|
9
16
|
}
|
|
17
|
+
/**
|
|
18
|
+
* Request for updating a saved page in persistent storage.
|
|
19
|
+
*/
|
|
10
20
|
export interface UpdateSavedPageRequest {
|
|
11
21
|
/** The ID of the page to update. */
|
|
12
22
|
pageId: string;
|
|
13
23
|
/** The updated page. */
|
|
14
24
|
page: Page;
|
|
15
25
|
}
|
|
26
|
+
/**
|
|
27
|
+
* Request for reordering the pages attached to a window.
|
|
28
|
+
*/
|
|
16
29
|
export interface ReorderPagesRequest {
|
|
17
|
-
/**
|
|
30
|
+
/** An array of page ids that specify the order of the pages attached to the window. */
|
|
18
31
|
pageIds: string[];
|
|
19
32
|
}
|
|
20
|
-
|
|
33
|
+
/**
|
|
34
|
+
* Request to update the attributes of a page in which is attached to a running browser window.
|
|
35
|
+
*/
|
|
36
|
+
export interface UpdateAttachedPageRequest {
|
|
21
37
|
/** The ID of the page to update. */
|
|
22
38
|
pageId: string;
|
|
23
39
|
/** The updated page. */
|
|
24
40
|
page: Partial<PageWithUpdatableRuntimeAttribs>;
|
|
25
41
|
}
|
|
26
|
-
|
|
27
|
-
|
|
42
|
+
/**
|
|
43
|
+
* Request for creating a browser window.
|
|
44
|
+
*/
|
|
28
45
|
export interface BrowserCreateWindowRequest extends Omit<OpenFin.PlatformWindowCreationOptions, 'workspacePlatform'> {
|
|
29
46
|
workspacePlatform: {
|
|
47
|
+
/** The initial set of pages to add to the created browser window. */
|
|
30
48
|
pages: Page[];
|
|
49
|
+
/** The favicon to display on the top right of the created browser window. */
|
|
31
50
|
favicon?: string;
|
|
51
|
+
/** A UI friendly title for the created browser window. */
|
|
32
52
|
title?: string;
|
|
53
|
+
/** A URL to use when creating a new tab. */
|
|
33
54
|
newTabUrl?: string;
|
|
55
|
+
/** A URL to use when creating the initial tab in a new page. */
|
|
34
56
|
newPageUrl?: string;
|
|
35
57
|
};
|
|
36
58
|
}
|
|
59
|
+
/**
|
|
60
|
+
* A window that is part of a browser snapshot.
|
|
61
|
+
*/
|
|
62
|
+
export declare type BrowserSnapshotWindow = OpenFin.WindowCreationOptions & BrowserCreateWindowRequest;
|
|
63
|
+
/**
|
|
64
|
+
* A browser snapshot.
|
|
65
|
+
*/
|
|
66
|
+
export interface BrowserSnapshot {
|
|
67
|
+
/** The state of the windows that were running at the time the snapshot was taken. */
|
|
68
|
+
windows: BrowserSnapshotWindow[];
|
|
69
|
+
}
|
|
70
|
+
/**
|
|
71
|
+
* Controller for interacting with a browser window.
|
|
72
|
+
*/
|
|
37
73
|
export interface BrowserWindowModule {
|
|
74
|
+
/** The identity of the browser window. */
|
|
38
75
|
identity: OpenFin.Identity;
|
|
76
|
+
/** Underlying OpenFin window Controller. */
|
|
39
77
|
openfinWindow: OpenFin.Window;
|
|
78
|
+
/**
|
|
79
|
+
* Get a page that is attached to the browser window.
|
|
80
|
+
* @param id the id of the page to get.
|
|
81
|
+
*/
|
|
40
82
|
getPage(id: string): Promise<AttachedPage>;
|
|
41
83
|
/**
|
|
42
84
|
* Return all the pages that are attached to a browser window.
|
|
43
85
|
*/
|
|
44
86
|
getPages(): Promise<AttachedPage[]>;
|
|
87
|
+
/**
|
|
88
|
+
* Set the active page for the browser window.
|
|
89
|
+
* @param id the id of the attached page to set as active.
|
|
90
|
+
*/
|
|
45
91
|
setActivePage(id: string): Promise<void>;
|
|
46
92
|
/**
|
|
47
93
|
* Attach a page to a browser window.
|
|
@@ -50,10 +96,25 @@ export interface BrowserWindowModule {
|
|
|
50
96
|
* @param page the attach page to a browser window.
|
|
51
97
|
*/
|
|
52
98
|
addPage(page: PageWithUpdatableRuntimeAttribs): Promise<void>;
|
|
99
|
+
/**
|
|
100
|
+
* Remove an attached page from the browser window.
|
|
101
|
+
* @param id the id of the attached page to remove from the browser window.
|
|
102
|
+
*/
|
|
53
103
|
removePage(id: string): Promise<void>;
|
|
54
|
-
|
|
104
|
+
/**
|
|
105
|
+
* Update a page in which is attached to the browser window.
|
|
106
|
+
* @param req the update request.
|
|
107
|
+
*/
|
|
108
|
+
updatePage(req: UpdateAttachedPageRequest): Promise<void>;
|
|
109
|
+
/**
|
|
110
|
+
* Reorder pages attached to the browser window.
|
|
111
|
+
* @param req the reorder pages request.
|
|
112
|
+
*/
|
|
55
113
|
reorderPages(req: ReorderPagesRequest): Promise<void>;
|
|
56
114
|
}
|
|
115
|
+
/**
|
|
116
|
+
* Factory for wrapping browser windows and global operations.
|
|
117
|
+
*/
|
|
57
118
|
export interface BrowserWindowFactory {
|
|
58
119
|
/**
|
|
59
120
|
* Synchronously returns a Browser Window object that represents an existing window
|
|
@@ -62,20 +123,18 @@ export interface BrowserWindowFactory {
|
|
|
62
123
|
*/
|
|
63
124
|
wrapSync: (identity: OpenFin.Identity) => BrowserWindowModule;
|
|
64
125
|
/**
|
|
65
|
-
* Get a list of pages that are
|
|
126
|
+
* Get a list of all pages that are attached to any running browser window.
|
|
66
127
|
*/
|
|
67
|
-
|
|
128
|
+
getAllAttachedPages(): Promise<AttachedPage[]>;
|
|
68
129
|
/**
|
|
69
|
-
* Get all the Browser Windows that are
|
|
70
|
-
*
|
|
130
|
+
* Get all the Browser Windows that are running in the Workspace Platform.
|
|
71
131
|
*/
|
|
72
132
|
getAllWindows(): Promise<BrowserWindowModule[]>;
|
|
73
133
|
/**
|
|
74
134
|
* Create a new browser window.
|
|
75
|
-
*
|
|
76
135
|
* @param options the browser window creation options
|
|
77
136
|
*/
|
|
78
|
-
createWindow
|
|
137
|
+
createWindow(options: BrowserCreateWindowRequest): Promise<BrowserWindowModule>;
|
|
79
138
|
/**
|
|
80
139
|
* Get a unique title for a page.
|
|
81
140
|
* @param title a prefix for the title.
|
|
@@ -86,18 +145,60 @@ export interface BrowserWindowFactory {
|
|
|
86
145
|
*/
|
|
87
146
|
getLastFocusedWindow(): Promise<OpenFin.Identity>;
|
|
88
147
|
}
|
|
148
|
+
/**
|
|
149
|
+
* API for interacting with persistent storage.
|
|
150
|
+
*/
|
|
89
151
|
export interface WorkspacePlatformStorage {
|
|
152
|
+
/**
|
|
153
|
+
* Get all pages that are saved in persistent storage.
|
|
154
|
+
*/
|
|
90
155
|
getPages(): Promise<Page[]>;
|
|
156
|
+
/**
|
|
157
|
+
* Get a specific page in persistent storage.
|
|
158
|
+
* @param id the id of the page to get.
|
|
159
|
+
*/
|
|
91
160
|
getPage(id: string): Promise<Page>;
|
|
161
|
+
/**
|
|
162
|
+
* Create a page in persistent storage.
|
|
163
|
+
* @param page the page to create in persistent storage.
|
|
164
|
+
*/
|
|
92
165
|
createPage(page: CreateSavedPageRequest): Promise<void>;
|
|
166
|
+
/**
|
|
167
|
+
* Update a page in persistent storage.
|
|
168
|
+
* @param req the update saved page request.
|
|
169
|
+
*/
|
|
93
170
|
updatePage(req: UpdateSavedPageRequest): Promise<void>;
|
|
171
|
+
/**
|
|
172
|
+
* Delete a page from persistent storage.
|
|
173
|
+
* @param id the id of the page to delete.
|
|
174
|
+
*/
|
|
94
175
|
deletePage(id: string): Promise<void>;
|
|
176
|
+
/**
|
|
177
|
+
* Save a page in persistent storage.
|
|
178
|
+
*
|
|
179
|
+
* This is a helper function that will call `getPage` to determine if a page is already in storage.
|
|
180
|
+
* If the page is already in storage, it will call `updatePage`.
|
|
181
|
+
* If it does not exist in storage, the function will call `createPage` instead.
|
|
182
|
+
* @param page the page to save.
|
|
183
|
+
*/
|
|
95
184
|
savePage(page: Page): Promise<void>;
|
|
96
185
|
}
|
|
97
|
-
|
|
186
|
+
/**
|
|
187
|
+
* Request for launching an application.
|
|
188
|
+
*/
|
|
189
|
+
export interface LaunchAppRequest {
|
|
98
190
|
target?: OpenFin.EntityInfo;
|
|
99
191
|
app: App;
|
|
100
192
|
}
|
|
193
|
+
/**
|
|
194
|
+
* Get Themes from API
|
|
195
|
+
*/
|
|
196
|
+
export interface ThemeApi {
|
|
197
|
+
getThemes(): Promise<CustomThemes>;
|
|
198
|
+
}
|
|
199
|
+
/**
|
|
200
|
+
* Controller for a Workspace Platform.
|
|
201
|
+
*/
|
|
101
202
|
export interface WorkspacePlatformModule extends OpenFin.Platform {
|
|
102
203
|
/**
|
|
103
204
|
* Launch a browser snapshot that contains windows with pages.
|
|
@@ -105,29 +206,73 @@ export interface WorkspacePlatformModule extends OpenFin.Platform {
|
|
|
105
206
|
* @param snapshot the browser snapshot to launch or a url or filepath to retrieve a JSON snapshot.
|
|
106
207
|
*/
|
|
107
208
|
applySnapshot(snapshot: BrowserSnapshot | string): Promise<OpenFin.Platform>;
|
|
209
|
+
/**
|
|
210
|
+
* Get a snapshot that contains browser windows with pages.
|
|
211
|
+
*/
|
|
108
212
|
getSnapshot(): Promise<BrowserSnapshot>;
|
|
109
|
-
|
|
213
|
+
/**
|
|
214
|
+
* Launch an application.
|
|
215
|
+
* @param req the launch app request.
|
|
216
|
+
*/
|
|
217
|
+
launchApp(req: LaunchAppRequest): Promise<void>;
|
|
218
|
+
/**
|
|
219
|
+
* The browser window factory for the Workspace Platform.
|
|
220
|
+
*/
|
|
110
221
|
Browser: BrowserWindowFactory;
|
|
222
|
+
/**
|
|
223
|
+
* The storage API for the Workspace Platform.
|
|
224
|
+
*/
|
|
111
225
|
Storage: WorkspacePlatformStorage;
|
|
112
|
-
|
|
113
|
-
export interface BrowserSnapshot {
|
|
114
|
-
windows: BrowserCreateWindowRequestInternal[];
|
|
226
|
+
Theme: ThemeApi;
|
|
115
227
|
}
|
|
116
228
|
export interface WorkspacePlatformProvider extends OpenFin.PlatformProvider {
|
|
229
|
+
/**
|
|
230
|
+
* Implementation for getting a list of saved pages from persistent storage.
|
|
231
|
+
* @param query an optional query.
|
|
232
|
+
*/
|
|
117
233
|
getSavedPages(query?: string): Promise<Page[]>;
|
|
234
|
+
/**
|
|
235
|
+
* Implementation for getting a single page in persistent storage.
|
|
236
|
+
* @param id
|
|
237
|
+
*/
|
|
118
238
|
getSavedPage(id: string): Promise<Page>;
|
|
239
|
+
/**
|
|
240
|
+
* Implementation for creating a saved page in persistent storage.
|
|
241
|
+
* @param req the create saved page request.
|
|
242
|
+
*/
|
|
119
243
|
createSavedPage(req: CreateSavedPageRequest): Promise<void>;
|
|
244
|
+
/**
|
|
245
|
+
* Implementation for updating a saved page in persistent storage.
|
|
246
|
+
* @param req the update saved page request.
|
|
247
|
+
*/
|
|
120
248
|
updateSavedPage(req: UpdateSavedPageRequest): Promise<void>;
|
|
249
|
+
/**
|
|
250
|
+
* Implementation for deleting a saved page in persistent storage.
|
|
251
|
+
* @param id of the id of the page to delete.
|
|
252
|
+
*/
|
|
121
253
|
deleteSavedPage(id: string): Promise<void>;
|
|
122
254
|
}
|
|
255
|
+
/**
|
|
256
|
+
* Configuration for initializing a Workspace platform.
|
|
257
|
+
*/
|
|
123
258
|
export interface WorkspacePlatformInitConfig {
|
|
124
|
-
browser
|
|
259
|
+
/** Config for overriding browser options and behavior. */
|
|
260
|
+
browser?: BrowserInitConfig;
|
|
261
|
+
/** License key for Workspace Platform. */
|
|
125
262
|
licenseKey: string;
|
|
126
|
-
|
|
263
|
+
/** Custom Themes object */
|
|
264
|
+
theme?: CustomThemes;
|
|
127
265
|
}
|
|
266
|
+
/**
|
|
267
|
+
* Callback for overriding a Workspace Platform Provider.
|
|
268
|
+
*/
|
|
269
|
+
export declare type BrowserOverrideCallback = OpenFin.OverrideCallback<WorkspacePlatformProvider>;
|
|
270
|
+
/**
|
|
271
|
+
* Configuration for initializing a Browser.
|
|
272
|
+
*/
|
|
128
273
|
export interface BrowserInitConfig {
|
|
129
274
|
defaultWindowOptions?: BrowserCreateWindowRequest;
|
|
130
275
|
defaultViewOptions?: OpenFin.ViewOptions;
|
|
131
|
-
overrideCallback?:
|
|
276
|
+
overrideCallback?: BrowserOverrideCallback;
|
|
132
277
|
interopOverride?: OpenFin.OverrideCallback<InteropBroker, InteropBroker>;
|
|
133
278
|
}
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
import type { ThemePaletteSet } from '@openfin/ui-library';
|
|
2
|
+
export interface ComputedThemes extends Array<ComputedTheme> {
|
|
3
|
+
}
|
|
4
|
+
export interface ComputedTheme {
|
|
5
|
+
label: string;
|
|
6
|
+
logoUrl?: string;
|
|
7
|
+
theme: ThemePaletteSet;
|
|
8
|
+
}
|
|
9
|
+
export interface CustomThemes extends Array<CustomThemeOptions> {
|
|
10
|
+
}
|
|
11
|
+
export interface CustomThemeOptions {
|
|
12
|
+
label: string;
|
|
13
|
+
logoUrl?: string;
|
|
14
|
+
palette: CustomPaletteSet;
|
|
15
|
+
}
|
|
16
|
+
export interface DefaultPaletteSet {
|
|
17
|
+
brandPrimary: string;
|
|
18
|
+
brandSecondary: string;
|
|
19
|
+
backgroundPrimary: string;
|
|
20
|
+
}
|
|
21
|
+
export interface CustomPaletteSet extends DefaultPaletteSet {
|
|
22
|
+
functional1?: string;
|
|
23
|
+
functional2?: string;
|
|
24
|
+
functional3?: string;
|
|
25
|
+
functional4?: string;
|
|
26
|
+
functional5?: string;
|
|
27
|
+
functional6?: string;
|
|
28
|
+
functional7?: string;
|
|
29
|
+
functional8?: string;
|
|
30
|
+
functional9?: string;
|
|
31
|
+
functional10?: string;
|
|
32
|
+
statusSuccess?: string;
|
|
33
|
+
statusWarning?: string;
|
|
34
|
+
statusCritical?: string;
|
|
35
|
+
statusActive?: string;
|
|
36
|
+
inputBg?: string;
|
|
37
|
+
inputColor?: string;
|
|
38
|
+
inputPlaceholder?: string;
|
|
39
|
+
inputDisabled?: string;
|
|
40
|
+
inputFocused?: string;
|
|
41
|
+
textDefault?: string;
|
|
42
|
+
textHelp?: string;
|
|
43
|
+
textInactive?: string;
|
|
44
|
+
background1?: string;
|
|
45
|
+
background2?: string;
|
|
46
|
+
background3?: string;
|
|
47
|
+
background4?: string;
|
|
48
|
+
background5?: string;
|
|
49
|
+
background6?: string;
|
|
50
|
+
}
|
|
51
|
+
/**
|
|
52
|
+
* computeThemes()
|
|
53
|
+
* Accepts the array of registered CustomThemes objects
|
|
54
|
+
* Creates a light and dark palette from a tempalte overriding with custom options
|
|
55
|
+
* Uses createTheme to build theme object
|
|
56
|
+
* Creates a ThemePaletteSet
|
|
57
|
+
* @param customPalettes
|
|
58
|
+
* @returns theme object ready to be applied to the UI
|
|
59
|
+
*/
|
|
60
|
+
export declare const computeThemes: (customPalettes: CustomThemes) => ComputedThemes;
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
import { CustomPaletteSet } from '@common/api/theming';
|
|
2
|
+
/**
|
|
3
|
+
* Get hue from a CSS color
|
|
4
|
+
*
|
|
5
|
+
* The getHue function is used manage extracting hue from 3 types of css
|
|
6
|
+
* string input types. An object including hue, hsl, hsla, lightness and
|
|
7
|
+
* saturation are returned.
|
|
8
|
+
*
|
|
9
|
+
* Each function was copied css tricks and modified to fit this platform.
|
|
10
|
+
* Links above each function for technical details.
|
|
11
|
+
*
|
|
12
|
+
* Allowed formats:
|
|
13
|
+
* RGB with or with out the alpha rgb(x,x,x) or rgba(x,x,x,x)
|
|
14
|
+
* HEX 3 or 6 characters, plus hashtag #333 or #333333
|
|
15
|
+
* HSL with or with out the alhpa hsl(x,x%,x%) or hsla(x,x%,x%,x)
|
|
16
|
+
*
|
|
17
|
+
* The hue value is used later to build an array of background colors in the
|
|
18
|
+
* theme that are various shades of the hue returned from this function.
|
|
19
|
+
*
|
|
20
|
+
* An invalid format should error telling the integrator how to fix the error.
|
|
21
|
+
* - Error for missing required options
|
|
22
|
+
* - Error for invalid css strings that are unable to be processed
|
|
23
|
+
*
|
|
24
|
+
* @param colorInput string - Supported formats rgb/RGB/rgba/RGBA, #000/#000000, hsl/HSL/hsla/HSLA
|
|
25
|
+
* @returns hue as string
|
|
26
|
+
*/
|
|
27
|
+
export declare const getHue: (colorInput: string) => string;
|
|
28
|
+
export declare const makeBackgroundLayers: (hue: string) => {
|
|
29
|
+
light: {
|
|
30
|
+
background1: string;
|
|
31
|
+
background2: string;
|
|
32
|
+
background3: string;
|
|
33
|
+
background4: string;
|
|
34
|
+
background5: string;
|
|
35
|
+
background6: string;
|
|
36
|
+
};
|
|
37
|
+
dark: {
|
|
38
|
+
background1: string;
|
|
39
|
+
background2: string;
|
|
40
|
+
background3: string;
|
|
41
|
+
background4: string;
|
|
42
|
+
background5: string;
|
|
43
|
+
background6: string;
|
|
44
|
+
};
|
|
45
|
+
};
|
|
46
|
+
/**
|
|
47
|
+
* makePalette() - generic - doesn't care about scheme
|
|
48
|
+
*
|
|
49
|
+
* Accepts a default palette object, and a custom palette object.
|
|
50
|
+
* The default object gets overrides from customPalette and returns a new palette object.
|
|
51
|
+
* @param defaultPalette
|
|
52
|
+
* @param customPalette
|
|
53
|
+
* @returns { light: newPalette, dark: newPalette }
|
|
54
|
+
*
|
|
55
|
+
* TODO: DefaultPaletteSet isn't working, need to redo.
|
|
56
|
+
*/
|
|
57
|
+
export declare const makePalette: (defaultPalette: any, customPalette: CustomPaletteSet) => CustomPaletteSet;
|