@openfin/core 33.76.36 → 33.77.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 (271) hide show
  1. package/OpenFin.d.ts +1 -1
  2. package/README.md +29 -4
  3. package/fin.d.ts +2 -2
  4. package/{src → out}/GlobalOpenFin.d.ts +1 -1
  5. package/out/mock-alpha.d.ts +16112 -0
  6. package/out/mock-beta.d.ts +16112 -0
  7. package/out/mock-public.d.ts +16112 -0
  8. package/out/mock.d.ts +16797 -0
  9. package/out/mock.js +17111 -0
  10. package/package.json +30 -23
  11. package/LICENSE +0 -13
  12. package/NOTICE +0 -16
  13. package/openfin-core-33.76.36.tgz +0 -0
  14. package/src/OpenFin.d.ts +0 -3091
  15. package/src/OpenFin.js +0 -2
  16. package/src/api/api-exposer/api-consumer.d.ts +0 -28
  17. package/src/api/api-exposer/api-consumer.js +0 -28
  18. package/src/api/api-exposer/api-exposer.d.ts +0 -35
  19. package/src/api/api-exposer/api-exposer.js +0 -38
  20. package/src/api/api-exposer/decorators.d.ts +0 -10
  21. package/src/api/api-exposer/decorators.js +0 -18
  22. package/src/api/api-exposer/index.d.ts +0 -4
  23. package/src/api/api-exposer/index.js +0 -20
  24. package/src/api/api-exposer/strategies/index.d.ts +0 -1
  25. package/src/api/api-exposer/strategies/index.js +0 -17
  26. package/src/api/api-exposer/strategies/openfin-channels/channels-consumer.d.ts +0 -14
  27. package/src/api/api-exposer/strategies/openfin-channels/channels-consumer.js +0 -20
  28. package/src/api/api-exposer/strategies/openfin-channels/channels-exposer.d.ts +0 -20
  29. package/src/api/api-exposer/strategies/openfin-channels/channels-exposer.js +0 -23
  30. package/src/api/api-exposer/strategies/openfin-channels/index.d.ts +0 -2
  31. package/src/api/api-exposer/strategies/openfin-channels/index.js +0 -18
  32. package/src/api/application/Factory.d.ts +0 -196
  33. package/src/api/application/Factory.js +0 -278
  34. package/src/api/application/Instance.d.ts +0 -692
  35. package/src/api/application/Instance.js +0 -821
  36. package/src/api/application/index.d.ts +0 -12
  37. package/src/api/application/index.js +0 -28
  38. package/src/api/base.d.ts +0 -117
  39. package/src/api/base.js +0 -246
  40. package/src/api/clipboard/index.d.ts +0 -172
  41. package/src/api/clipboard/index.js +0 -200
  42. package/src/api/events/application.d.ts +0 -158
  43. package/src/api/events/application.js +0 -14
  44. package/src/api/events/base.d.ts +0 -42
  45. package/src/api/events/base.js +0 -2
  46. package/src/api/events/channel.d.ts +0 -35
  47. package/src/api/events/channel.js +0 -7
  48. package/src/api/events/emitterMap.d.ts +0 -11
  49. package/src/api/events/emitterMap.js +0 -35
  50. package/src/api/events/eventAggregator.d.ts +0 -5
  51. package/src/api/events/eventAggregator.js +0 -35
  52. package/src/api/events/externalApplication.d.ts +0 -24
  53. package/src/api/events/externalApplication.js +0 -7
  54. package/src/api/events/frame.d.ts +0 -35
  55. package/src/api/events/frame.js +0 -2
  56. package/src/api/events/globalHotkey.d.ts +0 -25
  57. package/src/api/events/globalHotkey.js +0 -2
  58. package/src/api/events/platform.d.ts +0 -34
  59. package/src/api/events/platform.js +0 -10
  60. package/src/api/events/system.d.ts +0 -126
  61. package/src/api/events/system.js +0 -15
  62. package/src/api/events/typedEventEmitter.d.ts +0 -20
  63. package/src/api/events/typedEventEmitter.js +0 -2
  64. package/src/api/events/view.d.ts +0 -92
  65. package/src/api/events/view.js +0 -12
  66. package/src/api/events/webcontents.d.ts +0 -277
  67. package/src/api/events/webcontents.js +0 -13
  68. package/src/api/events/window.d.ts +0 -421
  69. package/src/api/events/window.js +0 -12
  70. package/src/api/external-application/Factory.d.ts +0 -34
  71. package/src/api/external-application/Factory.js +0 -47
  72. package/src/api/external-application/Instance.d.ts +0 -110
  73. package/src/api/external-application/Instance.js +0 -117
  74. package/src/api/external-application/index.d.ts +0 -12
  75. package/src/api/external-application/index.js +0 -28
  76. package/src/api/fin.d.ts +0 -54
  77. package/src/api/fin.js +0 -45
  78. package/src/api/frame/Factory.d.ts +0 -54
  79. package/src/api/frame/Factory.js +0 -86
  80. package/src/api/frame/Instance.d.ts +0 -136
  81. package/src/api/frame/Instance.js +0 -143
  82. package/src/api/frame/index.d.ts +0 -14
  83. package/src/api/frame/index.js +0 -30
  84. package/src/api/global-hotkey/index.d.ts +0 -106
  85. package/src/api/global-hotkey/index.js +0 -132
  86. package/src/api/interappbus/channel/channel.d.ts +0 -285
  87. package/src/api/interappbus/channel/channel.js +0 -334
  88. package/src/api/interappbus/channel/channels-docs.d.ts +0 -342
  89. package/src/api/interappbus/channel/channels-docs.js +0 -401
  90. package/src/api/interappbus/channel/client.d.ts +0 -117
  91. package/src/api/interappbus/channel/client.js +0 -181
  92. package/src/api/interappbus/channel/connection-manager.d.ts +0 -29
  93. package/src/api/interappbus/channel/connection-manager.js +0 -246
  94. package/src/api/interappbus/channel/index.d.ts +0 -189
  95. package/src/api/interappbus/channel/index.js +0 -333
  96. package/src/api/interappbus/channel/protocols/classic/message-receiver.d.ts +0 -13
  97. package/src/api/interappbus/channel/protocols/classic/message-receiver.js +0 -73
  98. package/src/api/interappbus/channel/protocols/classic/strategy.d.ts +0 -24
  99. package/src/api/interappbus/channel/protocols/classic/strategy.js +0 -101
  100. package/src/api/interappbus/channel/protocols/combined/strategy.d.ts +0 -20
  101. package/src/api/interappbus/channel/protocols/combined/strategy.js +0 -58
  102. package/src/api/interappbus/channel/protocols/index.d.ts +0 -47
  103. package/src/api/interappbus/channel/protocols/index.js +0 -2
  104. package/src/api/interappbus/channel/protocols/protocol-manager.d.ts +0 -10
  105. package/src/api/interappbus/channel/protocols/protocol-manager.js +0 -43
  106. package/src/api/interappbus/channel/protocols/rtc/endpoint.d.ts +0 -25
  107. package/src/api/interappbus/channel/protocols/rtc/endpoint.js +0 -141
  108. package/src/api/interappbus/channel/protocols/rtc/ice-manager.d.ts +0 -30
  109. package/src/api/interappbus/channel/protocols/rtc/ice-manager.js +0 -130
  110. package/src/api/interappbus/channel/protocols/rtc/strategy.d.ts +0 -24
  111. package/src/api/interappbus/channel/protocols/rtc/strategy.js +0 -85
  112. package/src/api/interappbus/channel/protocols/strategy-types.d.ts +0 -13
  113. package/src/api/interappbus/channel/protocols/strategy-types.js +0 -2
  114. package/src/api/interappbus/channel/protocols/strategy.d.ts +0 -17
  115. package/src/api/interappbus/channel/protocols/strategy.js +0 -2
  116. package/src/api/interappbus/channel/provider.d.ts +0 -206
  117. package/src/api/interappbus/channel/provider.js +0 -338
  118. package/src/api/interappbus/index.d.ts +0 -120
  119. package/src/api/interappbus/index.js +0 -210
  120. package/src/api/interop/Factory.d.ts +0 -57
  121. package/src/api/interop/Factory.js +0 -96
  122. package/src/api/interop/InteropBroker.d.ts +0 -665
  123. package/src/api/interop/InteropBroker.js +0 -1313
  124. package/src/api/interop/InteropClient.d.ts +0 -502
  125. package/src/api/interop/InteropClient.js +0 -683
  126. package/src/api/interop/SessionContextGroupBroker.d.ts +0 -27
  127. package/src/api/interop/SessionContextGroupBroker.js +0 -108
  128. package/src/api/interop/SessionContextGroupClient.d.ts +0 -21
  129. package/src/api/interop/SessionContextGroupClient.js +0 -86
  130. package/src/api/interop/fdc3/PrivateChannelClient.d.ts +0 -20
  131. package/src/api/interop/fdc3/PrivateChannelClient.js +0 -90
  132. package/src/api/interop/fdc3/PrivateChannelProvider.d.ts +0 -55
  133. package/src/api/interop/fdc3/PrivateChannelProvider.js +0 -276
  134. package/src/api/interop/fdc3/documentationStub.d.ts +0 -14
  135. package/src/api/interop/fdc3/documentationStub.js +0 -17
  136. package/src/api/interop/fdc3/fdc3-1.2.d.ts +0 -205
  137. package/src/api/interop/fdc3/fdc3-1.2.js +0 -435
  138. package/src/api/interop/fdc3/fdc3-2.0.d.ts +0 -298
  139. package/src/api/interop/fdc3/fdc3-2.0.js +0 -479
  140. package/src/api/interop/fdc3/fdc3.d.ts +0 -12
  141. package/src/api/interop/fdc3/fdc3.js +0 -35
  142. package/src/api/interop/fdc3/overrideCheck.d.ts +0 -4
  143. package/src/api/interop/fdc3/overrideCheck.js +0 -32
  144. package/src/api/interop/fdc3/shapes/fdc3v1.d.ts +0 -53
  145. package/src/api/interop/fdc3/shapes/fdc3v1.js +0 -4
  146. package/src/api/interop/fdc3/shapes/fdc3v2.d.ts +0 -75
  147. package/src/api/interop/fdc3/shapes/fdc3v2.js +0 -2
  148. package/src/api/interop/fdc3/utils.d.ts +0 -45
  149. package/src/api/interop/fdc3/utils.js +0 -239
  150. package/src/api/interop/fdc3/versions.d.ts +0 -1
  151. package/src/api/interop/fdc3/versions.js +0 -2
  152. package/src/api/interop/index.d.ts +0 -12
  153. package/src/api/interop/index.js +0 -28
  154. package/src/api/interop/utils.d.ts +0 -18
  155. package/src/api/interop/utils.js +0 -61
  156. package/src/api/me.d.ts +0 -40
  157. package/src/api/me.js +0 -134
  158. package/src/api/platform/Factory.d.ts +0 -171
  159. package/src/api/platform/Factory.js +0 -240
  160. package/src/api/platform/Instance.d.ts +0 -653
  161. package/src/api/platform/Instance.js +0 -834
  162. package/src/api/platform/common-utils.d.ts +0 -7
  163. package/src/api/platform/common-utils.js +0 -16
  164. package/src/api/platform/index.d.ts +0 -12
  165. package/src/api/platform/index.js +0 -28
  166. package/src/api/platform/layout/Factory.d.ts +0 -91
  167. package/src/api/platform/layout/Factory.js +0 -151
  168. package/src/api/platform/layout/Instance.d.ts +0 -192
  169. package/src/api/platform/layout/Instance.js +0 -224
  170. package/src/api/platform/layout/controllers/layout-content-cache.d.ts +0 -9
  171. package/src/api/platform/layout/controllers/layout-content-cache.js +0 -54
  172. package/src/api/platform/layout/controllers/layout-entities-controller.d.ts +0 -119
  173. package/src/api/platform/layout/controllers/layout-entities-controller.js +0 -287
  174. package/src/api/platform/layout/entities/layout-entities.d.ts +0 -427
  175. package/src/api/platform/layout/entities/layout-entities.js +0 -504
  176. package/src/api/platform/layout/entities/shapes.d.ts +0 -6
  177. package/src/api/platform/layout/entities/shapes.js +0 -2
  178. package/src/api/platform/layout/index.d.ts +0 -11
  179. package/src/api/platform/layout/index.js +0 -27
  180. package/src/api/platform/layout/layout.constants.d.ts +0 -1
  181. package/src/api/platform/layout/layout.constants.js +0 -4
  182. package/src/api/platform/layout/shapes.d.ts +0 -16
  183. package/src/api/platform/layout/shapes.js +0 -2
  184. package/src/api/platform/layout/utils/layout-traversal.d.ts +0 -4
  185. package/src/api/platform/layout/utils/layout-traversal.js +0 -65
  186. package/src/api/platform/provider.d.ts +0 -510
  187. package/src/api/platform/provider.js +0 -2
  188. package/src/api/snapshot-source/Factory.d.ts +0 -53
  189. package/src/api/snapshot-source/Factory.js +0 -81
  190. package/src/api/snapshot-source/Instance.d.ts +0 -53
  191. package/src/api/snapshot-source/Instance.js +0 -154
  192. package/src/api/snapshot-source/index.d.ts +0 -12
  193. package/src/api/snapshot-source/index.js +0 -28
  194. package/src/api/snapshot-source/utils.d.ts +0 -2
  195. package/src/api/snapshot-source/utils.js +0 -6
  196. package/src/api/system/index.d.ts +0 -1468
  197. package/src/api/system/index.js +0 -1851
  198. package/src/api/view/Factory.d.ts +0 -88
  199. package/src/api/view/Factory.js +0 -141
  200. package/src/api/view/Instance.d.ts +0 -601
  201. package/src/api/view/Instance.js +0 -671
  202. package/src/api/view/index.d.ts +0 -12
  203. package/src/api/view/index.js +0 -28
  204. package/src/api/webcontents/main.d.ts +0 -922
  205. package/src/api/webcontents/main.js +0 -1046
  206. package/src/api/window/Factory.d.ts +0 -96
  207. package/src/api/window/Factory.js +0 -142
  208. package/src/api/window/Instance.d.ts +0 -1598
  209. package/src/api/window/Instance.js +0 -1851
  210. package/src/api/window/index.d.ts +0 -14
  211. package/src/api/window/index.js +0 -30
  212. package/src/browser.d.ts +0 -10
  213. package/src/browser.js +0 -36
  214. package/src/environment/browser.d.ts +0 -29
  215. package/src/environment/browser.js +0 -60
  216. package/src/environment/environment.d.ts +0 -33
  217. package/src/environment/environment.js +0 -4
  218. package/src/environment/mockEnvironment.d.ts +0 -27
  219. package/src/environment/mockEnvironment.js +0 -61
  220. package/src/environment/node-env.d.ts +0 -29
  221. package/src/environment/node-env.js +0 -72
  222. package/src/fdc3.d.ts +0 -3
  223. package/src/fdc3.js +0 -9
  224. package/src/mock.d.ts +0 -3
  225. package/src/mock.js +0 -18
  226. package/src/namespaces.d.ts +0 -22
  227. package/src/namespaces.js +0 -26
  228. package/src/shapes/ERROR_BOX_TYPES.d.ts +0 -1
  229. package/src/shapes/ERROR_BOX_TYPES.js +0 -2
  230. package/src/shapes/WebOptions.d.ts +0 -13
  231. package/src/shapes/WebOptions.js +0 -2
  232. package/src/shapes/WindowOptions.d.ts +0 -43
  233. package/src/shapes/WindowOptions.js +0 -2
  234. package/src/shapes/protocol.d.ts +0 -204
  235. package/src/shapes/protocol.js +0 -2
  236. package/src/transport/mockWire.d.ts +0 -11
  237. package/src/transport/mockWire.js +0 -26
  238. package/src/transport/transport-errors.d.ts +0 -31
  239. package/src/transport/transport-errors.js +0 -79
  240. package/src/transport/transport.d.ts +0 -73
  241. package/src/transport/transport.js +0 -219
  242. package/src/transport/wire.d.ts +0 -77
  243. package/src/transport/wire.js +0 -36
  244. package/src/util/asyncFilter.d.ts +0 -1
  245. package/src/util/asyncFilter.js +0 -7
  246. package/src/util/channel-api-relay.d.ts +0 -13
  247. package/src/util/channel-api-relay.js +0 -47
  248. package/src/util/errors.d.ts +0 -10
  249. package/src/util/errors.js +0 -12
  250. package/src/util/exhaustive.d.ts +0 -1
  251. package/src/util/exhaustive.js +0 -7
  252. package/src/util/http.d.ts +0 -11
  253. package/src/util/http.js +0 -90
  254. package/src/util/inaccessibleObject.d.ts +0 -2
  255. package/src/util/inaccessibleObject.js +0 -49
  256. package/src/util/lazy.d.ts +0 -34
  257. package/src/util/lazy.js +0 -54
  258. package/src/util/normalize-config.d.ts +0 -3
  259. package/src/util/normalize-config.js +0 -52
  260. package/src/util/promises.d.ts +0 -5
  261. package/src/util/promises.js +0 -27
  262. package/src/util/ref-counter.d.ts +0 -7
  263. package/src/util/ref-counter.js +0 -52
  264. package/src/util/reversible-map.d.ts +0 -11
  265. package/src/util/reversible-map.js +0 -49
  266. package/src/util/runtimeVersioning.d.ts +0 -3
  267. package/src/util/runtimeVersioning.js +0 -25
  268. package/src/util/utilTypes.d.ts +0 -8
  269. package/src/util/utilTypes.js +0 -2
  270. package/src/util/validate.d.ts +0 -3
  271. package/src/util/validate.js +0 -11
package/src/OpenFin.d.ts DELETED
@@ -1,3091 +0,0 @@
1
- import type { Application } from './api/application/index';
2
- import { AppVersionEvent } from './api/events/system';
3
- import { TypedEventEmitter } from './api/events/typedEventEmitter';
4
- import type { ExternalApplication } from './api/external-application/index';
5
- import { FinApi } from './api/fin';
6
- import type { _Frame } from './api/frame/index';
7
- import type ChannelClient from './api/interappbus/channel/client';
8
- import { MessagingProtocols } from './api/interappbus/channel/protocols/index';
9
- import type { ChannelProvider } from './api/interappbus/channel/provider';
10
- import type { InteropBroker, InteropClient } from './api/interop/index';
11
- import type { Platform } from './api/platform/index';
12
- import type { Layout } from './api/platform/layout/index';
13
- import { PlatformProvider } from './api/platform/provider';
14
- import { SnapshotSource } from './api/snapshot-source/index';
15
- import type { View } from './api/view/index';
16
- import { _Window } from './api/window/index';
17
- import { ColumnOrRow, TabStack } from './api/platform/layout/entities/layout-entities';
18
- export type Fin<MeType extends EntityType = 'window' | 'view'> = FinApi<MeType>;
19
- export type { Application, ExternalApplication, _Frame as Frame, ChannelClient, ChannelProvider, Platform, Layout, View, ColumnOrRow, TabStack, _Window as Window, InteropClient, InteropBroker, SnapshotSource };
20
- export type { LayoutEntityDefinition, LayoutEntityTypes, LayoutPosition } from './api/platform/layout/entities/shapes';
21
- export type WebContent = View | _Window;
22
- export type { PlatformProvider };
23
- export type ApplicationIdentity = {
24
- uuid: string;
25
- };
26
- /**
27
- * Unique identifier for a window, view or iframe.
28
- *
29
- * @remarks The `uuid` property refers the application that owns the entity, not to the entity itself.
30
- * The `name` property identifies the entity itself, and must be unique within the application.
31
- */
32
- export type Identity = {
33
- /**
34
- * Universally unique identifier of the application that owns the component.
35
- */
36
- uuid: string;
37
- /**
38
- * The name of the component. Must be unique within the owning application.
39
- */
40
- name: string;
41
- };
42
- /**
43
- * Identity of a channel client
44
- */
45
- export type ClientIdentity = Identity & {
46
- /**
47
- * Unique identifier for a client, because there can be multiple clients at one name/uuid entity.
48
- */
49
- endpointId: string;
50
- isLocalEndpointId: boolean;
51
- };
52
- /**
53
- * Extended channel client information
54
- */
55
- export type ClientInfo = Omit<ClientIdentity, 'isLocalEndpointId'> & {
56
- /**
57
- * Indicates if the client belongs to a Window, View or IFrame
58
- */
59
- entityType: EntityType;
60
- /**
61
- * URL of the Window, View or IFrame at the time of connection to the Channel Provider.
62
- */
63
- connectionUrl: string;
64
- };
65
- export type ClientIdentityMultiRuntime = ClientIdentity & {
66
- runtimeUuid: string;
67
- };
68
- export type ClientConnectionPayload = ClientIdentity & ClientInfo;
69
- export type EntityInfo = {
70
- uuid: string;
71
- name: string;
72
- entityType: EntityType;
73
- };
74
- export type EntityType = 'window' | 'iframe' | 'external connection' | 'view' | 'unknown';
75
- export type Bounds = {
76
- top: number;
77
- left: number;
78
- height: number;
79
- width: number;
80
- };
81
- /**
82
- * Returned from getBounds call. bottom and right are never used for setting.
83
- */
84
- export type WindowBounds = Bounds & {
85
- bottom: number;
86
- right: number;
87
- };
88
- /**
89
- * A rectangular area on the screen.
90
- *
91
- * @remarks Origin is top-left. All numbers are in pixels.
92
- */
93
- export type Rectangle = {
94
- /**
95
- * The x coordinate of the rectangle's origin in pixels
96
- */
97
- x: number;
98
- /**
99
- * The y coordinate of the rectangle's origin in pixels
100
- */
101
- y: number;
102
- /**
103
- * The width of the rectangle in pixels
104
- */
105
- width: number;
106
- /**
107
- * The height of the rectangle in pixels
108
- */
109
- height: number;
110
- };
111
- /**
112
- * The options object required by {@link Application.ApplicationModule.start Application.start}.
113
- *
114
- * The following options are required:
115
- * * `uuid` is required in the app manifest as well as by {@link Application.ApplicationModule.start Application.start}
116
- * * `name` is optional in the app manifest but required by {@link Application.ApplicationModule.start Application.start}
117
- * * `url` is optional in both the app manifest {@link Application.ApplicationModule.start Application.start} and but is usually given
118
- * (defaults to `"about:blank"` when omitted).
119
- *
120
- * _This jsdoc typedef mirrors the `ApplicationOption` TypeScript interface in `@types/openfin`._
121
- *
122
- * **IMPORTANT NOTE:**
123
- * This object inherits all the properties of the window creation {@link OpenFin.WindowCreationOptions options} object,
124
- * which will take priority over those of the same name that may be provided in `mainWindowOptions`.
125
- */
126
- export type ApplicationCreationOptions = Partial<ApplicationOptions> & {
127
- name: string;
128
- uuid: string;
129
- };
130
- /**
131
- * The complete set of options for an application.
132
- */
133
- export type ApplicationOptions = LegacyWinOptionsInAppOptions & {
134
- /**
135
- * @defaultValue false
136
- *
137
- * Disables IAB secure logging for the app.
138
- */
139
- disableIabSecureLogging: boolean;
140
- /**
141
- * @defaultValue 'There was an error loading the application.'
142
- *
143
- * An error message to display when the application (launched via manifest) fails to load.
144
- * A dialog box will be launched with the error message just before the runtime exits.
145
- * Load fails such as failed DNS resolutions or aborted connections as well as cancellations, _e.g.,_ `window.stop()`,
146
- * will trigger this dialog.
147
- * Client response codes such as `404 Not Found` are not treated as fails as they are valid server responses.
148
- */
149
- loadErrorMessage: string;
150
- /**
151
- * The options of the main window of the application.
152
- */
153
- mainWindowOptions: WindowCreationOptions;
154
- /**
155
- * The name of the application (and the application's main window).
156
- *
157
- * If provided, _must_ match `uuid`.
158
- */
159
- name: string;
160
- /**
161
- * @defaultValue false
162
- *
163
- * A flag to configure the application as non-persistent.
164
- * Runtime exits when there are no persistent apps running.
165
- */
166
- nonPersistent: boolean;
167
- /**
168
- * @defaultValue false
169
- *
170
- * Enable Flash at the application level.
171
- */
172
- plugins: boolean;
173
- /**
174
- * @defaultValue false
175
- * Enable spell check at the application level.
176
- */
177
- spellCheck: boolean;
178
- /**
179
- * @defaultValue 'about:blank'
180
- * The url to the application (specifically the application's main window).
181
- */
182
- url: string;
183
- /**
184
- * The _Unique Universal Identifier_ (UUID) of the application, unique within the set of all other applications
185
- * running in the OpenFin Runtime.
186
- *
187
- * Note that `name` and `uuid` must match.
188
- */
189
- uuid: string;
190
- /**
191
- * @defaultValue true
192
- *
193
- * When set to `false` it will disable the same-origin policy for the app.
194
- */
195
- webSecurity: boolean;
196
- commands: ShortcutOverride[];
197
- isPlatformController: boolean;
198
- /**
199
- * @defaultValue 1000
200
- *
201
- * Platforms Only. The maximum number of "detached" or "pooled" Views that can exist in the Platform before being closed.
202
- * If you do not wish for views to be pooled on your platform, set this property to zero.
203
- */
204
- maxViewPoolSize: number;
205
- defaultWindowOptions: Partial<WindowOptions>;
206
- defaultViewOptions: Partial<ViewOptions>;
207
- snapshot: Snapshot;
208
- /**
209
- * @defaultValue false
210
- *
211
- * Platforms Only. Prevent the Platform Provider from quitting automatically when the last Platform Window is closed.
212
- * Note: if the Platform Provider is showing, it won't close automatically.
213
- * If you want a hidden Platform Provider to remain open after the last Platform Window has been closed, set this property to true.
214
- */
215
- preventQuitOnLastWindowClosed: boolean;
216
- interopBrokerConfiguration: InteropBrokerOptions;
217
- apiDiagnostics: boolean;
218
- defaultDomainSettings: DefaultDomainSettings;
219
- /**
220
- * @defaultValue false
221
- * Enables the use of the Jumplists API and the 'pin to taskbar' functionality.
222
- * Only relevant in Windows.
223
- */
224
- enableJumpList: boolean;
225
- enableBeforeUnload: boolean;
226
- };
227
- export type InteropBrokerOptions = {
228
- contextGroups?: ContextGroupInfo;
229
- logging?: InteropLoggingOptions;
230
- };
231
- export type ContextGroupInfo = {
232
- /**
233
- * Unique identifier of the context group.
234
- */
235
- id: string;
236
- /**
237
- * Metadata for the Context Group. Contains the group's human-readable name, color, and an image, as defined by the Interop Broker.
238
- */
239
- displayMetadata?: DisplayMetadata;
240
- };
241
- /**
242
- * The display data for a context group.
243
- */
244
- export type DisplayMetadata = {
245
- /**
246
- * A user-readable name for this context group, e.g: `"Red"`
247
- */
248
- readonly name?: string;
249
- /**
250
- * The color that should be associated within this context group when displaying this context group in a UI, e.g: `0xFF0000`.
251
- */
252
- readonly color?: string;
253
- /**
254
- * A URL of an image that can be used to display this context group
255
- */
256
- readonly glyph?: string;
257
- };
258
- export type LegacyWinOptionsInAppOptions = Pick<WindowCreationOptions, 'accelerator' | 'alwaysOnTop' | 'api' | 'aspectRatio' | 'autoplayPolicy' | 'autoShow' | 'backgroundColor' | 'contentNavigation' | 'contextMenu' | 'cornerRounding' | 'customData' | 'customRequestHeaders' | 'defaultCentered' | 'defaultHeight' | 'defaultLeft' | 'defaultTop' | 'defaultWidth' | 'frame' | 'hideOnClose' | 'icon' | 'maxHeight' | 'maximizable' | 'maxWidth' | 'minHeight' | 'minimizable' | 'minWidth' | 'opacity' | 'preloadScripts' | 'resizable' | 'resizeRegion' | 'saveWindowState' | 'ignoreSavedWindowState' | 'shadow' | 'showTaskbarIcon' | 'smallWindow' | 'state' | 'taskbarIconGroup' | 'waitForPageLoad' | '_internalWorkspaceData'>;
259
- export type Snapshot = {
260
- windows: WindowCreationOptions[];
261
- snapshotDetails?: {
262
- monitorInfo: MonitorInfo;
263
- runtimeVersion: string;
264
- timestamp: string;
265
- };
266
- interopSnapshotDetails?: {
267
- contextGroupStates: ContextGroupStates;
268
- };
269
- };
270
- export type ContextGroupStates = {
271
- [key: string]: {
272
- [key: string]: Context;
273
- };
274
- };
275
- /**
276
- * Data passed between entities and applications.
277
- */
278
- export type Context = {
279
- /**
280
- * An object containing string key-value pairs for the bulk of the data for the context. Differs between context types.
281
- */
282
- id?: {
283
- [key: string]: string;
284
- };
285
- /**
286
- * User-readable name for the incoming context.
287
- */
288
- name?: string;
289
- /**
290
- * Conserved type for the context (e.g. `instrument` or `country`).
291
- */
292
- type: string;
293
- };
294
- export type MonitorInfo = {
295
- /**
296
- * The device scale factor.
297
- */
298
- deviceScaleFactor: number;
299
- dpi: Point;
300
- nonPrimaryMonitors: MonitorDetails[];
301
- primaryMonitor: MonitorDetails;
302
- /**
303
- * Always "api-query".
304
- */
305
- reason: string;
306
- taskbar: TaskBar;
307
- /**
308
- * The virtual display screen coordinates.
309
- */
310
- virtualScreen: DipRect;
311
- };
312
- export type Point = {
313
- /**
314
- * The mouse x position
315
- */
316
- x: number;
317
- /**
318
- * The mouse y position
319
- */
320
- y: number;
321
- };
322
- export type PointTopLeft = {
323
- /**
324
- * The mouse top position in virtual screen coordinates
325
- */
326
- top: number;
327
- /**
328
- * The mouse left position in virtual screen coordinates
329
- */
330
- left: number;
331
- };
332
- export type RectangleByEdgePositions = {
333
- top: number;
334
- left: number;
335
- bottom: number;
336
- right: number;
337
- };
338
- export type MonitorDetails = {
339
- /**
340
- * The available DIP scale coordinates.
341
- */
342
- available: DipScaleRects;
343
- /**
344
- * The available monitor coordinates.
345
- */
346
- availableRect: RectangleByEdgePositions;
347
- /**
348
- * The device id of the display.
349
- */
350
- deviceId: string | number;
351
- /**
352
- * True if the display is active.
353
- */
354
- displayDeviceActive: boolean;
355
- /**
356
- * The device scale factor.
357
- */
358
- deviceScaleFactor: number;
359
- /**
360
- * The monitor coordinates.
361
- */
362
- monitorRect: RectangleByEdgePositions;
363
- /**
364
- * The name of the display.
365
- */
366
- name: string | number;
367
- dpi: Point;
368
- /**
369
- * The monitor coordinates.
370
- */
371
- monitor: DipScaleRects;
372
- };
373
- export type DipRect = RectangleByEdgePositions & {
374
- dipRect: RectangleByEdgePositions;
375
- scaledRect: RectangleByEdgePositions;
376
- };
377
- export type DipScaleRects = {
378
- dipRect: RectangleByEdgePositions;
379
- scaledRect: RectangleByEdgePositions;
380
- };
381
- export type TaskBar = DipScaleRects & {
382
- /**
383
- * Which edge of a monitor the taskbar is on
384
- */
385
- edge: string;
386
- /**
387
- * The taskbar coordinates.
388
- */
389
- rect: RectangleByEdgePositions;
390
- };
391
- /**
392
- * Options required to create a new window with {@link Window._WindowModule.create Window.create}.
393
- *
394
- * Note that `name` is the only required property — albeit the `url` property is usually provided as well
395
- * (defaults to `"about:blank"` when omitted).
396
- */
397
- export type WindowCreationOptions = Partial<WindowOptions> & {
398
- name: string;
399
- };
400
- export type UpdatableWindowOptions = Partial<MutableWindowOptions>;
401
- export type WindowOptions = MutableWindowOptions & ConstWindowOptions;
402
- /**
403
- * Configuration for view visibility settings
404
- */
405
- export type ViewVisibilityOption = {
406
- enabled?: boolean;
407
- };
408
- /**
409
- * _Platform Windows Only_. Enables views to be shown when a Platform Window is being resized by the user.
410
- */
411
- export type ShowViewOnWindowResizeOptions = ViewVisibilityOption & {
412
- /**
413
- * @defaultValue false
414
- *
415
- * Enables showing Views when a Platform Window is being resized.
416
- */
417
- enabled?: boolean;
418
- /**
419
- * @defaultValue 0
420
- *
421
- * Number of milliseconds to wait between view repaints.
422
- */
423
- paintIntervalMs?: number;
424
- };
425
- /**
426
- * _Platform Windows Only_. Controls behavior for showing views when they are being resized by the user.
427
- */
428
- export type ViewVisibilityOptions = {
429
- /**
430
- * Enables views to be shown when a Platform Window is being resized by the user.
431
- */
432
- showViewsOnWindowResize?: ShowViewOnWindowResizeOptions;
433
- /**
434
- * Allows views to be shown when they are resized by the user dragging the splitter between layout stacks.
435
- */
436
- showViewsOnSplitterDrag?: ViewVisibilityOption;
437
- /**
438
- * _Supported on Windows Operating Systems only_. Allows views to be shown when the user is dragging a tab around a layout.
439
- */
440
- showViewsOnTabDrag?: ViewVisibilityOption;
441
- };
442
- /**
443
- * Visibility state of a window.
444
- */
445
- export type WindowState = 'maximized' | 'minimized' | 'normal';
446
- /**
447
- * Autoplay policy to apply to content in the window, can be
448
- * `no-user-gesture-required`, `user-gesture-required`,
449
- * `document-user-activation-required`. Defaults to `no-user-gesture-required`.
450
- */
451
- export type AutoplayPolicyOptions = 'no-user-gesture-required' | 'user-gesture-required' | 'document-user-activation-required';
452
- /**
453
- * Window options that cannot be changed after creation.
454
- */
455
- export type ConstWindowOptions = {
456
- /**
457
- * Enable keyboard shortcuts for devtools, zoom, reload, and reload ignoring cache.
458
- */
459
- accelerator: Partial<Accelerator>;
460
- /**
461
- * Configurations for API injection.
462
- */
463
- api: Api;
464
- /**
465
- * @deprecated use `icon` instead.
466
- */
467
- applicationIcon: string;
468
- /**
469
- * Autoplay policy to apply to content in the window, can be
470
- * `no-user-gesture-required`, `user-gesture-required`,
471
- * `document-user-activation-required`. Defaults to `no-user-gesture-required`.
472
- */
473
- autoplayPolicy: AutoplayPolicyOptions;
474
- /**
475
- * Automatically show the window when it is created.
476
- */
477
- autoShow: boolean;
478
- /**
479
- * The window’s _backfill_ color as a hexadecimal value. Not to be confused with the content background color
480
- * (`document.body.style.backgroundColor`),
481
- * this color briefly fills a window’s (a) content area before its content is loaded as well as (b) newly exposed
482
- * areas when growing a window. Setting
483
- * this value to the anticipated content background color can help improve user experience.
484
- * Default is white.
485
- */
486
- backgroundColor: string;
487
- /**
488
- * Configures how new content (e,g, from `window.open` or a link) is opened.
489
- */
490
- contentCreation: ContentCreationOptions;
491
- /**
492
- * Restrict navigation to URLs that match an allowed pattern.
493
- * In the lack of an allowlist, navigation to URLs that match a denied pattern would be prohibited.
494
- * See [here](https://developer.chrome.com/extensions/match_patterns) for more details.
495
- */
496
- contentNavigation: ContentNavigation;
497
- /**
498
- * Restrict redirects to URLs that match an allowed pattern.
499
- * In the lack of an allowlist, redirects to URLs that match a denied pattern would be prohibited.
500
- * See [here](https://developer.chrome.com/extensions/match_patterns) for more details.
501
- */
502
- contentRedirect: Partial<ContentRedirect>;
503
- /**
504
- * Custom headers for requests sent by the window.
505
- */
506
- customRequestHeaders: CustomRequestHeaders[];
507
- /**
508
- * @defaultValue true
509
- *
510
- * Toggling off would keep the Window alive even if all its Views were closed.
511
- * This is meant for advanced users and should be used with caution.
512
- * Limitations - Once a Layout has been emptied out of all views it's not usable anymore, and certain API calls will fail.
513
- * Use `layout.replace` to create a fresh Layout instance in case you want to populate it with Views again.
514
- * ** note ** - This option is ignored in non-Platforms apps.
515
- */
516
- closeOnLastViewRemoved: boolean;
517
- /**
518
- * Centers the window in the primary monitor. This option overrides `defaultLeft` and `defaultTop`. When `saveWindowState` is `true`,
519
- * this value will be ignored for subsequent launches in favor of the cached value. **NOTE:** On macOS _defaultCenter_ is
520
- * somewhat above center vertically.
521
- */
522
- defaultCentered: boolean;
523
- /**
524
- * @defaultValue 500
525
- *
526
- * The default height of the window. When `saveWindowState` is `true`, this value will be ignored for subsequent launches
527
- * in favor of the cached value.
528
- */
529
- defaultHeight: number;
530
- /**
531
- * @defaultValue 100
532
- *
533
- * The default left position of the window. When `saveWindowState` is `true`, this value will be ignored for subsequent
534
- * launches in favor of the cached value.
535
- */
536
- defaultLeft: number;
537
- /**
538
- * @defaultValue 100
539
- *
540
- * The default top position of the window. When `saveWindowState` is `true`, this value will be ignored for subsequent
541
- * launches in favor of the cached value.
542
- */
543
- defaultTop: number;
544
- /**
545
- * @defaultValue 800
546
- *
547
- * The default width of the window. When `saveWindowState` is `true`, this value will be ignored for subsequent
548
- * launches in favor of the cached value.
549
- */
550
- defaultWidth: number;
551
- height: number;
552
- layout: any;
553
- /**
554
- * Parent identity of a modal window. It will create a modal child window when this option is set.
555
- */
556
- modalParentIdentity: Identity;
557
- /**
558
- * The name of the window.
559
- */
560
- name: string;
561
- permissions: Partial<Permissions>;
562
- /**
563
- * Scripts that run before page load. When omitted, inherits from the parent application.
564
- */
565
- preloadScripts: PreloadScript[];
566
- /**
567
- * String tag that attempts to group like-tagged renderers together. Will only be used if pages are on the same origin.
568
- */
569
- processAffinity: string;
570
- /**
571
- * @defaultValue false
572
- *
573
- * Displays a shadow on frameless windows.
574
- * `shadow` and `cornerRounding` are mutually exclusive.
575
- * On Windows 7, Aero theme is required.
576
- */
577
- shadow: boolean;
578
- /**
579
- * @defaultValue true
580
- *
581
- * Caches the location of the window.
582
- * Note: this option is ignored in Platforms as it would cause inconsistent {@link Platform#applySnapshot applySnapshot} behavior.
583
- */
584
- saveWindowState: boolean;
585
- /**
586
- * Ignores the cached state of the window.
587
- * Defaults the opposite value of `saveWindowState` to maintain backwards compatibility.
588
- */
589
- ignoreSavedWindowState: boolean;
590
- /**
591
- * @defaultValue false
592
- *
593
- * Makes this window a frameless window that can be created and resized to less than 41x36 px (width x height).
594
- * _Note: Caveats of small windows are no Aero Snap and drag to/from maximize._
595
- * _Windows 10: Requires `maximizable` to be false. Resizing with the mouse is only possible down to 38x39 px._
596
- */
597
- smallWindow: boolean;
598
- /**
599
- * @defaultValue "normal"
600
- *
601
- * The visible state of the window on creation.
602
- * One of:
603
- * * `"maximized"`
604
- * * `"minimized"`
605
- * * `"normal"`
606
- */
607
- state: WindowState;
608
- /**
609
- * @deprecated - use `icon` instead.
610
- */
611
- taskbarIcon: string;
612
- /**
613
- * Specify a taskbar group for the window.
614
- * _If omitted, defaults to app's uuid (`fin.Application.getCurrentSync().identity.uuid`)._
615
- */
616
- taskbarIconGroup: string;
617
- /**
618
- * @defaultValue "about:blank"
619
- *
620
- * The URL of the window
621
- */
622
- url: string;
623
- /**
624
- * @defaultValue <application UUID>
625
- *
626
- * The `uuid` of the application, unique within the set of all `Application`s running in OpenFin Runtime.
627
- * If omitted, defaults to the `uuid` of the application spawning the window.
628
- * If given, must match the `uuid` of the application spawning the window.
629
- * In other words, the application's `uuid` is the only acceptable value, but is the default, so there's
630
- * really no need to provide it.
631
- */
632
- uuid: string;
633
- /**
634
- * @defaultValue false
635
- *
636
- * When set to `true`, the window will not appear until the `window` object's `load` event fires.
637
- * When set to `false`, the window will appear immediately without waiting for content to be loaded.
638
- */
639
- waitForPageLoad: boolean;
640
- width: number;
641
- x: number;
642
- y: number;
643
- experimental?: any;
644
- fdc3InteropApi?: string;
645
- /**
646
- * _Platform Windows Only_. Controls behavior for showing views when they are being resized by the user.
647
- */
648
- viewVisibility?: ViewVisibilityOptions;
649
- };
650
- /**
651
- * Window options that can be changed after window creation.
652
- */
653
- export type MutableWindowOptions = {
654
- /**
655
- * Turns anything of matching RGB value transparent.
656
- *
657
- * Caveats:
658
- * * runtime key --disable-gpu is required. Note: Unclear behavior on remote Desktop support
659
- * * User cannot click-through transparent regions
660
- * * Not supported on Mac
661
- * * Windows Aero must be enabled
662
- * * Won't make visual sense on Pixel-pushed environments such as Citrix
663
- * * Not supported on rounded corner windows
664
- */
665
- alphaMask: RGB;
666
- /**
667
- * @defaultValue false
668
- *
669
- * Always position the window at the top of the window stack.
670
- */
671
- alwaysOnTop: boolean;
672
- /**
673
- * @defaultValue 0
674
- *
675
- * The aspect ratio of width to height to enforce for the window. If this value is equal to or less than zero,
676
- * an aspect ratio will not be enforced.
677
- */
678
- aspectRatio: number;
679
- /**
680
- * @deprecated Superseded by {@link contextMenuOptions}, which offers a larger feature-set and cleaner syntax.
681
- *
682
- * @defaultValue true
683
- *
684
- * Show the context menu when right-clicking on the window.
685
- * Gives access to the devtools for the window.
686
- */
687
- contextMenu: boolean;
688
- /**
689
- * @deprecated Superseded by {@link contextMenuOptions}, which offers a larger feature-set and cleaner syntax.
690
- *
691
- * Configure the context menu when right-clicking on a window.
692
- */
693
- contextMenuSettings: ContextMenuSettings;
694
- /**
695
- * Configure the context menu when right-clicking on a window.
696
- */
697
- contextMenuOptions: ContextMenuOptions;
698
- /**
699
- * Defines and applies rounded corners for a frameless window. **NOTE:** On macOS corner is not ellipse but circle rounded by the
700
- * average of _height_ and _width_.
701
- */
702
- cornerRounding: Partial<CornerRounding>;
703
- /**
704
- * A field that the user can use to attach serializable data that will be saved when {@link Platform#getSnapshot Platform.getSnapshot}
705
- * is called. If a window in a Platform is trying to update or retrieve its own context, it can use the
706
- * {@link Platform#setWindowContext Platform.setWindowContext} and {@link Platform#getWindowContext Platform.getWindowContext} calls.
707
- * _When omitted, _inherits_ from the parent application._
708
- * As opposed to customData, this is meant for frequent updates and sharing with other contexts. [Example]{@tutorial customContext}
709
- */
710
- customContext: any;
711
- /**
712
- * A field that the user can attach serializable data to be ferried around with the window options.
713
- * _When omitted, _inherits_ from the parent application._
714
- */
715
- customData: any;
716
- /**
717
- * @defaultValue true
718
- *
719
- * Show the window's frame.
720
- */
721
- frame: boolean;
722
- /**
723
- * @defaultValue false
724
- *
725
- * Hides the window instead of closing it when the close button is pressed.
726
- */
727
- hideOnClose: boolean;
728
- /**
729
- * Defines the hotkeys that will be emitted as a `hotkey` event on the window. For usage example see [example]{@tutorial hotkeys}.
730
- * Within Platform, OpenFin also implements a set of pre-defined actions called
731
- * [keyboard commands]{@link https://developers.openfin.co/docs/platform-api#section-5-3-using-keyboard-commands}
732
- * that can be assigned to a specific hotkey in the platform manifest.
733
- */
734
- hotkeys: Hotkey[];
735
- /**
736
- * A URL for the icon to be shown in the window title bar and the taskbar.
737
- * When omitted, inherits from the parent application._
738
- * note: Window OS caches taskbar icons, therefore an icon change might only be visible after the cache is removed or the uuid is changed.
739
- */
740
- icon: string;
741
- /**
742
- * @defaultValue true
743
- *
744
- * Include window in snapshots returned by Platform.getSnapshot(). Turning this off may be desirable when dealing with
745
- * inherently temporary windows whose state shouldn't be preserved, such as modals, menus, or popups.
746
- */
747
- includeInSnapshots: boolean;
748
- /**
749
- * @defaultValue -1
750
- *
751
- * The maximum height of a window. Will default to the OS defined value if set to -1.
752
- */
753
- maxHeight: number;
754
- /**
755
- * @defaultValue true
756
- *
757
- * Allows the window to be maximized.
758
- */
759
- maximizable: boolean;
760
- /**
761
- * @defaultValue -1
762
- *
763
- * The maximum width of a window. Will default to the OS defined value if set to -1.
764
- */
765
- maxWidth: number;
766
- /**
767
- * @defaultValue 0
768
- *
769
- * The minimum height of the window.
770
- */
771
- minHeight: number;
772
- /**
773
- * @defaultValue true
774
- *
775
- * Allows the window to be minimized.
776
- */
777
- minimizable: boolean;
778
- /**
779
- * @defaultValue true
780
- *
781
- * The minimum width of the window.
782
- */
783
- minWidth: number;
784
- /**
785
- * @defaultValue 1
786
- *
787
- * A flag that specifies how transparent the window will be.
788
- * Changing opacity doesn't work on Windows 7 without Aero so setting this value will have no effect there.
789
- * This value is clamped between `0.0` and `1.0`.
790
- */
791
- opacity: number;
792
- /**
793
- * @defaultValue true
794
- *
795
- * A flag to allow the user to resize the window.
796
- */
797
- resizable: boolean;
798
- /**
799
- * Defines a region in pixels that will respond to user mouse interaction for resizing a frameless window.
800
- */
801
- resizeRegion: ResizeRegion;
802
- /**
803
- * @defaultValue false
804
- *
805
- * Platforms Only. If true, will show background images in the layout when the Views are hidden.
806
- * This occurs when the window is resizing or a tab is being dragged within the layout.
807
- */
808
- showBackgroundImages: boolean;
809
- /**
810
- * @defaultValue true
811
- *
812
- * Shows the window's icon in the taskbar.
813
- */
814
- showTaskbarIcon: boolean;
815
- interop: InteropConfig;
816
- /**
817
- * @internal
818
- * Used by Workspace to store custom data. Overwriting or modifying this field may impact the functionality of Workspace
819
- */
820
- _internalWorkspaceData: any;
821
- workspacePlatform: WorkspacePlatformOptions;
822
- };
823
- export type WorkspacePlatformOptions = {
824
- /** Leaving this as any for now until we figure out what the shape should look like in Workspace */
825
- [key: string]: any;
826
- };
827
- /**
828
- * Object representing headers and their values, where the
829
- * object key is the name of header and value key is the value of the header
830
- */
831
- export type WebRequestHeader = {
832
- [key: string]: string;
833
- };
834
- /**
835
- * Custom headers for requests sent by the window.
836
- */
837
- export type CustomRequestHeaders = {
838
- /**
839
- * The URL patterns for which the headers will be applied.
840
- */
841
- urlPatterns: string[];
842
- /**
843
- * Headers for requests sent by window; {key: value} results
844
- * in a header of `key=value`.
845
- */
846
- headers: WebRequestHeader[];
847
- };
848
- export type WindowOptionDiff = {
849
- [key in keyof WindowOptions]: {
850
- oldVal: WindowOptions[key];
851
- newVal: WindowOptions[key];
852
- };
853
- };
854
- /**
855
- * Defines a region in pixels that will respond to user mouse interaction for resizing a frameless window.
856
- */
857
- export type ResizeRegion = {
858
- /**
859
- * @defaultValue 7
860
- *
861
- * The size of the resize region in pixels.
862
- */
863
- size?: number;
864
- /**
865
- * @defaultValue 9
866
- *
867
- * The size in pixels of an additional square resizable region located at the bottom right corner of a frameless window.
868
- */
869
- bottomRightCorner?: number;
870
- /**
871
- * Enables resizing interaction for each side of the window.
872
- */
873
- sides?: {
874
- /**
875
- * @defaultValue true
876
- *
877
- * Enables resizing from the top of the window.
878
- */
879
- top?: boolean;
880
- /**
881
- * @defaultValue true
882
- *
883
- * Enables resizing from the bottom of the window.
884
- */
885
- bottom?: boolean;
886
- /**
887
- * @defaultValue true
888
- *
889
- * Enables resizing from the left side of the window.
890
- */
891
- left?: boolean;
892
- /**
893
- * @defaultValue true
894
- *
895
- * Enables resizing from the right side of the window.
896
- */
897
- right?: boolean;
898
- };
899
- };
900
- /**
901
- * Enable keyboard shortcuts for devtools, zoom, reload, and reload ignoring cache.
902
- */
903
- export type Accelerator = {
904
- /**
905
- * If `true`, enables the devtools keyboard shortcut:<br>
906
- * `Ctrl` + `Shift` + `I` _(Toggles Devtools)_
907
- */
908
- devtools: boolean;
909
- /**
910
- * If `true`, enables the reload keyboard shortcuts:<br>
911
- * `Ctrl` + `R` _(Windows)_<br>
912
- * `F5` _(Windows)_<br>
913
- * `Command` + `R` _(Mac)_
914
- */
915
- reload: boolean;
916
- /**
917
- * If `true`, enables the reload-from-source keyboard shortcuts:<br>
918
- * `Ctrl` + `Shift` + `R` _(Windows)_<br>
919
- * `Shift` + `F5` _(Windows)_<br>
920
- * `Command` + `Shift` + `R` _(Mac)_
921
- */
922
- reloadIgnoringCache: boolean;
923
- /**
924
- * NOTE: It is not recommended to set this value to true for Windows in Platforms as that may lead to unexpected visual shifts in layout.
925
- * If `true`, enables the zoom keyboard shortcuts:<br>
926
- * `Ctrl` + `+` _(Zoom In)_<br>
927
- * `Ctrl` + `Shift` + `+` _(Zoom In)_<br>
928
- * `Ctrl` + `NumPad+` _(Zoom In)_<br>
929
- * `Ctrl` + `-` _(Zoom Out)_<br>
930
- * `Ctrl` + `Shift` + `-` _(Zoom Out)_<br>
931
- * `Ctrl` + `NumPad-` _(Zoom Out)_<br>
932
- * `Ctrl` + `Scroll` _(Zoom In & Out)_<br>
933
- * `Ctrl` + `0` _(Restore to 100%)_
934
- */
935
- zoom: boolean;
936
- };
937
- /**
938
- * Configurations for API injection.
939
- */
940
- export type Api = {
941
- /**
942
- * Configure injection of OpenFin API into iframes based on domain
943
- */
944
- iframe?: {
945
- /**
946
- * Inject OpenFin API into cross-origin iframes
947
- */
948
- crossOriginInjection?: boolean;
949
- /**
950
- * Inject OpenFin API into same-origin iframes
951
- */
952
- sameOriginInjection?: boolean;
953
- enableDeprecatedSharedName?: boolean;
954
- };
955
- };
956
- export type NavigationRules = {
957
- /** @deprecated Use allowlist property instead. */
958
- whitelist?: string[];
959
- /** @deprecated Use denylist property instead. */
960
- blacklist?: string[];
961
- /** Allowed URLs for navigation. */
962
- allowlist?: string[];
963
- /** Forbidden URLs for navigation. */
964
- denylist?: string[];
965
- };
966
- /**
967
- * Restrict navigation to URLs that match an allowed pattern.
968
- * In the lack of an allowlist, navigation to URLs that match a denied pattern would be prohibited.
969
- * See [here](https://developer.chrome.com/extensions/match_patterns) for more details.
970
- */
971
- export type ContentNavigation = NavigationRules;
972
- /**
973
- * Restrict redirects to URLs that match an allowed pattern.
974
- * In the lack of an allowlist, redirects to URLs that match a denied pattern would be prohibited.
975
- * See [here](https://developer.chrome.com/extensions/match_patterns) for more details.
976
- */
977
- export type ContentRedirect = NavigationRules;
978
- /**
979
- * Defines and applies rounded corners for a frameless window. **NOTE:** On macOS corner is not ellipse but circle rounded by the
980
- * average of _height_ and _width_.
981
- */
982
- export type CornerRounding = {
983
- /**
984
- * @defaultValue 0
985
- *
986
- * The height in pixels.
987
- */
988
- height: number;
989
- /**
990
- * @defaultValue 0
991
- *
992
- * The width in pixels.
993
- */
994
- width: number;
995
- };
996
- /**
997
- * Options for downloading a preload script.
998
- */
999
- export type DownloadPreloadOption = {
1000
- /**
1001
- * URL from which to download the preload script.
1002
- */
1003
- url: string;
1004
- };
1005
- /**
1006
- * Metadata returned from a preload script download request.
1007
- */
1008
- export type DownloadPreloadInfo = {
1009
- /**
1010
- * Whether the download was successful.
1011
- */
1012
- success: boolean;
1013
- /**
1014
- * URL from which the preload script should be downloaded.
1015
- */
1016
- url?: string;
1017
- /**
1018
- * Error during preload script download.
1019
- */
1020
- error: string;
1021
- };
1022
- export type RGB = {
1023
- red: number;
1024
- blue: number;
1025
- green: number;
1026
- };
1027
- /**
1028
- * @deprecated Superseded by {@link contextMenuOptions}, which offers a larger feature-set and cleaner syntax.
1029
- * Configure the context menu when right-clicking on a window.
1030
- */
1031
- export type ContextMenuSettings = {
1032
- /**
1033
- * Should the context menu display on right click.
1034
- */
1035
- enable: boolean;
1036
- /**
1037
- * Should the context menu contain a button for opening devtools.
1038
- */
1039
- devtools?: boolean;
1040
- /**
1041
- * Should the context menu contain a button for reloading the page.
1042
- */
1043
- reload?: boolean;
1044
- };
1045
- /**
1046
- * A hotkey binding.
1047
- */
1048
- export type Hotkey = {
1049
- /**
1050
- * The key combination of the hotkey, i.e. "Ctrl+T".
1051
- */
1052
- keys: string;
1053
- /**
1054
- * @defaultValue false
1055
- *
1056
- * Prevent default key handling before emitting the event.
1057
- */
1058
- preventDefault?: boolean;
1059
- };
1060
- export type ShortcutOverride = Hotkey & {
1061
- command: string;
1062
- };
1063
- /**
1064
- * A script that is run before page load.
1065
- */
1066
- export type PreloadScript = {
1067
- /**
1068
- * @defaultValue false
1069
- *
1070
- * Fail to load the window if this preload script fails
1071
- */
1072
- mandatory?: boolean;
1073
- /**
1074
- * Preload script execution state.
1075
- */
1076
- state?: 'load-started' | 'load-failed' | 'load-succeeded' | 'failed' | 'succeeded';
1077
- /**
1078
- * The URL from which the script was loaded.
1079
- */
1080
- url: string;
1081
- };
1082
- export type AutoResizeOptions = {
1083
- /**
1084
- * If true, the view's width will grow and shrink together with the window. false
1085
- * by default.
1086
- */
1087
- width?: boolean;
1088
- /**
1089
- * If true, the view's height will grow and shrink together with the window. false
1090
- * by default.
1091
- */
1092
- height?: boolean;
1093
- /**
1094
- * If true, the view's x position and width will grow and shrink proportionally with
1095
- * the window. false by default.
1096
- */
1097
- horizontal?: boolean;
1098
- /**
1099
- * If true, the view's y position and height will grow and shrink proportionally with
1100
- * the window. false by default.
1101
- */
1102
- vertical?: boolean;
1103
- };
1104
- export type InteropConfig = {
1105
- /**
1106
- * Context Group for the client. (green, yellow, red, etc.).
1107
- */
1108
- currentContextGroup?: string | null;
1109
- /**
1110
- * When provided, automatically connects the client to the specified provider uuid.
1111
- */
1112
- providerId?: string;
1113
- };
1114
- export type ViewInfo = {
1115
- canNavigateBack: boolean;
1116
- canNavigateForward: boolean;
1117
- processAffinity: string;
1118
- title: string;
1119
- url: string;
1120
- favicons: string[];
1121
- };
1122
- /**
1123
- * View options that can be updated after creation.
1124
- */
1125
- export type UpdatableViewOptions = Partial<MutableViewOptions>;
1126
- /**
1127
- * The options object required by {@link View.ViewModule.create View.create}.
1128
- *
1129
- * Note that `name` and `target` are the only required properties — albeit the `url` property is usually provided as well
1130
- * (defaults to `"about:blank"` when omitted).
1131
- */
1132
- export type ViewCreationOptions = Partial<ViewOptions> & {
1133
- name: string;
1134
- url: string;
1135
- target: Identity;
1136
- };
1137
- export type MutableViewOptions = {
1138
- autoResize: AutoResizeOptions;
1139
- /**
1140
- * @deprecated Superseded by {@link contextMenuOptions}, which offers a larger feature-set and cleaner syntax.
1141
- *
1142
- * @defaultValue true
1143
- *
1144
- * Show the context menu when right-clicking on the view.
1145
- * Gives access to the devtools for the view.
1146
- */
1147
- contextMenu: boolean;
1148
- /**
1149
- * @deprecated Superseded by {@link contextMenuOptions}, which offers a larger feature-set and cleaner syntax.
1150
- *
1151
- * Configure the context menu when right-clicking on a window.
1152
- */
1153
- contextMenuSettings: ContextMenuSettings;
1154
- /**
1155
- * Configure the context menu when right-clicking on a window.
1156
- */
1157
- contextMenuOptions: ContextMenuOptions;
1158
- /**
1159
- * The view’s _backfill_ color as a hexadecimal value. Not to be confused with the content background color
1160
- * (`document.body.style.backgroundColor`),
1161
- * this color briefly fills a view’s (a) content area before its content is loaded as well as (b) newly exposed
1162
- * areas when growing a view. Setting
1163
- * this value to the anticipated content background color can help improve user experience.
1164
- * Default is white.
1165
- */
1166
- backgroundColor: string;
1167
- /**
1168
- * A field that the user can attach serializable data to be ferried around with the window options.
1169
- * _When omitted, _inherits_ from the parent application._
1170
- */
1171
- customData: any;
1172
- /**
1173
- * A field that the user can use to attach serializable data that will be saved when {@link Platform#getSnapshot Platform.getSnapshot}
1174
- * is called. If a window in a Platform is trying to update or retrieve its own context, it can use the
1175
- * {@link Platform#setWindowContext Platform.setWindowContext} and {@link Platform#getWindowContext Platform.getWindowContext} calls.
1176
- * _When omitted, _inherits_ from the parent application._
1177
- * As opposed to customData, this is meant for frequent updates and sharing with other contexts. [Example]{@tutorial customContext}
1178
- */
1179
- customContext: any;
1180
- /**
1181
- * Configurations for API injection.
1182
- */
1183
- api: Api;
1184
- /**
1185
- * Restrict navigation to URLs that match an allowed pattern.
1186
- * In the lack of a whitelist, navigation to URLs that match a blacklisted pattern would be prohibited.
1187
- * See [here](https://developer.chrome.com/extensions/match_patterns) for more details.
1188
- */
1189
- contentNavigation: ContentNavigation;
1190
- contentRedirect: ContentRedirect;
1191
- /**
1192
- * @defaultValue false
1193
- *
1194
- * Platforms Only. If true, will hide and detach the View from the window for later use instead of closing,
1195
- * allowing the state of the View to be saved and the View to be immediately shown in a new Layout.
1196
- */
1197
- detachOnClose: boolean;
1198
- /**
1199
- * @defaultValue true
1200
- *
1201
- * **Platforms Only.** If false, the view will be persistent and can't be closed through
1202
- * either UI or `Platform.closeView`. Note that the view will still be closed if the host window is closed or
1203
- * if the view isn't part of the new layout when running `Layout.replace`.
1204
- */
1205
- isClosable: boolean;
1206
- /**
1207
- * @defaultValue false
1208
- *
1209
- * @property {boolean} [preventDragOut=false] **Platforms Only.** If true, the tab of the view can't be dragged out of its host window.
1210
- */
1211
- preventDragOut: boolean;
1212
- interop?: InteropConfig;
1213
- /**
1214
- * @internal
1215
- * Used by Workspace to store custom data. Overwriting or modifying this field may impact the functionality of Workspace
1216
- */
1217
- _internalWorkspaceData: any;
1218
- };
1219
- /**
1220
- * User-facing options for a view.
1221
- */
1222
- export type ViewOptions = ConstViewOptions & MutableViewOptions;
1223
- /**
1224
- * View options that cannot be updated after creation.
1225
- */
1226
- export type ConstViewOptions = {
1227
- /**
1228
- * The name of the view.
1229
- */
1230
- name: string;
1231
- /**
1232
- * @defaultValue "about:blank"
1233
- *
1234
- * The URL of the window
1235
- */
1236
- url: string;
1237
- /**
1238
- * The identity of the window this view should be attached to.
1239
- */
1240
- target: Identity;
1241
- /**
1242
- * Configures how new content (e,g, from `window.open` or a link) is opened.
1243
- */
1244
- contentCreation: ContentCreationOptions;
1245
- /**
1246
- * Custom headers for requests sent by the view.
1247
- */
1248
- customRequestHeaders: CustomRequestHeaders[];
1249
- /**
1250
- * Initial bounds given relative to the window.
1251
- */
1252
- bounds: Bounds;
1253
- permissions: Partial<Permissions>;
1254
- /**
1255
- * String tag that attempts to group like-tagged renderers together. Will only be used if pages are on the same origin.
1256
- */
1257
- processAffinity: string;
1258
- /**
1259
- * Defines the hotkeys that will be emitted as a `hotkey` event on the view. For usage example see [example]{@tutorial hotkeys}.
1260
- * Within Platform, OpenFin also implements a set of pre-defined actions called
1261
- * [keyboard commands]{@link https://developers.openfin.co/docs/platform-api#section-5-3-using-keyboard-commands}
1262
- * that can be assigned to a specific hotkey in the platform manifest.
1263
- */
1264
- hotkeys: Hotkey[];
1265
- /**
1266
- * Scripts that run before page load. When omitted, inherits from the parent application.
1267
- */
1268
- preloadScripts: PreloadScript[];
1269
- /**
1270
- * **Platforms Only.** Url to a manifest that contains View Options. Properties other than manifestUrl can still be used
1271
- * but the properties in the manifest will take precedence if there is any collision.
1272
- */
1273
- manifestUrl: string;
1274
- zoomLevel: number;
1275
- experimental: any;
1276
- fdc3InteropApi?: string;
1277
- enableBeforeUnload: boolean;
1278
- /**
1279
- * Enable keyboard shortcuts for devtools, zoom, reload, and reload ignoring cache.
1280
- */
1281
- accelerator?: Partial<Accelerator>;
1282
- /**
1283
- * Autoplay policy to apply to content in the window, can be
1284
- * `no-user-gesture-required`, `user-gesture-required`,
1285
- * `document-user-activation-required`. Defaults to `no-user-gesture-required`.
1286
- */
1287
- autoplayPolicy: AutoplayPolicyOptions;
1288
- };
1289
- export type ViewState = ViewCreationOptions & {
1290
- backgroundThrottling: boolean;
1291
- componentName: 'view';
1292
- initialUrl: string;
1293
- minWidth?: number;
1294
- };
1295
- export type Certificate = {
1296
- data: string;
1297
- fingerprint: string;
1298
- issuer: CertificatePrincipal;
1299
- issuerCert: Certificate;
1300
- issuerName: string;
1301
- serialNumber: string;
1302
- subject: CertificatePrincipal;
1303
- subjectName: string;
1304
- validExpiry: number;
1305
- validStart: number;
1306
- };
1307
- type CertificatePrincipal = {
1308
- commonName: string;
1309
- country: string;
1310
- locality: string;
1311
- organizations: string[];
1312
- organizationUnits: string[];
1313
- state: string;
1314
- };
1315
- export type HostContextChangedPayload = {
1316
- /**
1317
- * The new context object
1318
- */
1319
- context: any;
1320
- /**
1321
- * The reason for the update.
1322
- */
1323
- reason: HostContextChangedReasons;
1324
- };
1325
- export type ApplySnapshotOptions = {
1326
- /**
1327
- * @defaultValue false
1328
- *
1329
- * When true, applySnapshot will close existing windows,
1330
- * replacing current Platform state with the given snapshot.
1331
- */
1332
- closeExistingWindows?: boolean;
1333
- /**
1334
- * @defaultValue false
1335
- *
1336
- * When true, applySnapshot will close existing includeInSnapshots: true windows,
1337
- * replacing current Platform state with the given snapshot.
1338
- */
1339
- closeSnapshotWindows?: boolean;
1340
- /**
1341
- * @defaultValue false
1342
- *
1343
- * When true, applySnapshot will not check whether any windows in a
1344
- * snapshot are off-screen. By default, such windows will be repositioned to be on-screen,
1345
- * as defined by {@link PlatformProvider#positionOutOfBoundsWindows PlatformProvider.positionOutOfBoundsWindows}.
1346
- */
1347
- skipOutOfBoundsCheck?: boolean;
1348
- };
1349
- /**
1350
- * Payload sent to Platform Provider when {@link Platform#applySnapshot Platform.applySnapshot} is called.
1351
- */
1352
- export type ApplySnapshotPayload = {
1353
- /**
1354
- * TThe snapshot to be applied.
1355
- */
1356
- snapshot: Snapshot;
1357
- /**
1358
- * Options to customize snapshot application.
1359
- */
1360
- options?: ApplySnapshotOptions;
1361
- };
1362
- export type AddViewToStackOptions = {
1363
- /**
1364
- * Optional index within the stack to insert the view. Defaults to 0
1365
- */
1366
- index?: number;
1367
- };
1368
- export type CreateViewTarget = Identity & {
1369
- /**
1370
- * If specified, view creation will not attach to a window and caller must
1371
- * insert the view into the layout explicitly
1372
- */
1373
- location?: {
1374
- id: string;
1375
- index?: number;
1376
- };
1377
- };
1378
- export type CreateViewPayload = {
1379
- /**
1380
- * Options for the view to be added.
1381
- */
1382
- opts: Partial<ViewOptions>;
1383
- /**
1384
- * Window the view will be added to. If no target is provided, a new window will be created.
1385
- */
1386
- target?: CreateViewTarget;
1387
- targetView?: Identity;
1388
- };
1389
- export type ReplaceViewPayload = {
1390
- opts: {
1391
- viewToReplace: Identity;
1392
- newView: Partial<ViewOptions>;
1393
- };
1394
- target: Identity;
1395
- };
1396
- export type CloseViewPayload = {
1397
- /**
1398
- *View to be closed.
1399
- */
1400
- view: Identity;
1401
- };
1402
- export type FetchManifestPayload = {
1403
- /**
1404
- * The URL of the manifest to fetch.
1405
- */
1406
- manifestUrl: string;
1407
- };
1408
- export type ReplaceLayoutOpts = {
1409
- /**
1410
- * Layout config to be applied.
1411
- */
1412
- layout: LayoutOptions;
1413
- };
1414
- export type ReplaceLayoutPayload = {
1415
- /**
1416
- * Object containing the layout to be applied.
1417
- */
1418
- opts: ReplaceLayoutOpts;
1419
- /**
1420
- * Identity of the window whose layout will be replace.
1421
- */
1422
- target: Identity;
1423
- };
1424
- export type SetWindowContextPayload = {
1425
- /**
1426
- * The requested context update.
1427
- */
1428
- context: any;
1429
- /**
1430
- * Entity type of the target of the context update ('view' or 'window').
1431
- */
1432
- entityType: EntityType;
1433
- /**
1434
- * Identity of the entity targeted by the call to {@link Platform#setWindowContext Platform.setWindowContext}.
1435
- */
1436
- target: Identity;
1437
- };
1438
- export type LaunchIntoPlatformPayload = {
1439
- manifest: any;
1440
- };
1441
- export type GetWindowContextPayload = {
1442
- /**
1443
- * Entity type of the target of the context update ('view' or 'window').
1444
- */
1445
- entityType: EntityType;
1446
- /**
1447
- * Identity of the entity targeted by the call to {@link Platform#setWindowContext Platform.setWindowContext}.
1448
- */
1449
- target: Identity;
1450
- };
1451
- export type ApplicationPermissions = {
1452
- setFileDownloadLocation: boolean;
1453
- getFileDownloadLocation: boolean;
1454
- };
1455
- export type LaunchExternalProcessRule = {
1456
- behavior: 'allow' | 'block';
1457
- match: string[];
1458
- };
1459
- export type SystemPermissions = {
1460
- getAllExternalWindows: boolean;
1461
- launchExternalProcess: boolean | {
1462
- enabled: boolean;
1463
- assets?: {
1464
- enabled: boolean;
1465
- srcRules?: LaunchExternalProcessRule[];
1466
- };
1467
- downloads?: {
1468
- enabled: boolean;
1469
- };
1470
- executables?: {
1471
- enabled: boolean;
1472
- pathRules?: LaunchExternalProcessRule[];
1473
- };
1474
- };
1475
- readRegistryValue: boolean | {
1476
- enabled: boolean;
1477
- registryKeys: string[];
1478
- };
1479
- terminateExternalProcess: boolean;
1480
- openUrlWithBrowser: {
1481
- enabled: boolean;
1482
- protocols: string[];
1483
- };
1484
- };
1485
- export type WebPermission = 'audio' | 'video' | 'geolocation' | 'notifications' | 'midiSysex' | 'pointerLock' | 'fullscreen' | 'openExternal' | 'clipboard-read' | 'clipboard-sanitized-write';
1486
- export type Permissions = {
1487
- Application?: Partial<ApplicationPermissions>;
1488
- System?: Partial<SystemPermissions>;
1489
- webAPIs?: WebPermission[];
1490
- };
1491
- export type PlatformWindowCreationOptions = Partial<WindowCreationOptions> & {
1492
- updateStateIfExists?: boolean;
1493
- reason?: WindowCreationReason;
1494
- };
1495
- /**
1496
- * Window options apply to all platform windows.
1497
- * Any {@link OpenFin.WindowCreationOptions Window option} is also a valid Default Window option
1498
- * used by default in any window that is created in the current platform's scope.
1499
- * Individual window options will override these defaults.
1500
- */
1501
- export type PlatformWindowOptions = WindowCreationOptions & {
1502
- /**
1503
- * Specify a path of a custom CSS file to be injected to all of the platform's windows.
1504
- * _note_: this option is only applied to windows that use the Default OpenFin Window.
1505
- * Windows with a specified url (Custom Windows) will not be affected by this option.
1506
- */
1507
- stylesheetUrl: string;
1508
- };
1509
- export type PlatformViewCreationOptions = Partial<ViewOptions>;
1510
- /**
1511
- * Strategy to assign views to process affinity by domain.
1512
- *
1513
- * `same`: views in the same domain will have the same process affinity.
1514
- * `different`: views in the same domain will have different process affinities.
1515
- */
1516
- export type ProcessAffinityStrategy = 'same' | 'different';
1517
- /**
1518
- * The options object required by {@link Platform.PlatformModule#start Platform.start}
1519
- * Any {@link ApplicationOptions Application option} is also a valid platform option
1520
- */
1521
- export type PlatformOptions = ApplicationCreationOptions & {
1522
- /**
1523
- * Default window options apply to all platform windows.
1524
- */
1525
- defaultWindowOptions?: Partial<PlatformWindowOptions>;
1526
- /**
1527
- * Default view options apply to all platform views.
1528
- */
1529
- defaultViewOptions?: Partial<PlatformViewCreationOptions>;
1530
- disableDefaultCommands?: boolean;
1531
- /**
1532
- * Strategy to assign views to process affinity by domain.
1533
- */
1534
- viewProcessAffinityStrategy?: ProcessAffinityStrategy;
1535
- providerUrl?: string;
1536
- permissions?: Partial<Permissions>;
1537
- };
1538
- export type Manifest = {
1539
- appAssets?: {
1540
- alias: string;
1541
- args?: string;
1542
- src: string;
1543
- target?: string;
1544
- version: string;
1545
- }[];
1546
- assetsUrl?: string;
1547
- devtools_port?: number;
1548
- dialogSettings?: {
1549
- bgColor?: number;
1550
- logo?: string;
1551
- progressBarBgColor?: number;
1552
- progressBarBorderColor?: number;
1553
- progressBarFillColor?: number;
1554
- textColor?: number;
1555
- };
1556
- licenseKey: string;
1557
- offlineAccess?: boolean;
1558
- platform?: PlatformOptions;
1559
- proxy?: {
1560
- proxyAddress: string;
1561
- proxyPort: number;
1562
- type: string;
1563
- };
1564
- runtime: {
1565
- arguments?: string;
1566
- fallbackVersion?: string;
1567
- forceLatest?: boolean;
1568
- futureVersion?: string;
1569
- version: string;
1570
- };
1571
- services?: string[];
1572
- shortcut?: {
1573
- 'company': string;
1574
- 'description'?: string;
1575
- 'force'?: boolean;
1576
- 'icon': string;
1577
- 'name': string;
1578
- 'startMenuRootFolder'?: string;
1579
- 'target'?: ('desktop' | 'start-menu' | 'automatic-start-up')[];
1580
- 'uninstall-shortcut'?: boolean;
1581
- };
1582
- snapshot?: Snapshot;
1583
- splashScreenImage?: string;
1584
- startup_app: WindowOptions;
1585
- supportInformation?: {
1586
- company: string;
1587
- email: string;
1588
- product: string;
1589
- forwardErrorReports?: boolean;
1590
- enableErrorReporting?: boolean;
1591
- };
1592
- interopBrokerConfiguration: InteropBrokerOptions;
1593
- };
1594
- export type LayoutContent = Array<LayoutItemConfig | LayoutRow | LayoutColumn | LayoutComponent>;
1595
- /**
1596
- * Represents the arrangement of Views within a Platform window's Layout. We do not recommend trying
1597
- * to build Layouts or LayoutItems by hand and instead use calls such as {@link Platform#getSnapshot getSnapshot} or our
1598
- * {@link https://openfin.github.io/golden-prototype/config-gen Layout Config Generation Tool }.
1599
- */
1600
- export type LayoutItemConfig = {
1601
- /**
1602
- * The type of the item. Possible values are 'row', 'column', 'stack', and 'component'.
1603
- */
1604
- type: string;
1605
- /**
1606
- * Array of configurations for items that will be created as children of this item.
1607
- */
1608
- content?: LayoutContent;
1609
- width?: number;
1610
- height?: number;
1611
- id?: string | string[];
1612
- isClosable?: boolean;
1613
- title?: string;
1614
- };
1615
- export interface LayoutRow extends LayoutItemConfig {
1616
- type: 'row';
1617
- }
1618
- export interface LayoutColumn extends LayoutItemConfig {
1619
- type: 'column';
1620
- }
1621
- export interface LayoutComponent extends LayoutItemConfig {
1622
- componentName: 'view';
1623
- componentState?: Partial<ViewCreationOptions>;
1624
- }
1625
- export type LayoutOptions = {
1626
- /**
1627
- * Represents a potential ways to customize behavior of your Layout
1628
- */
1629
- settings?: {
1630
- /**
1631
- * @defaultValue false
1632
- *
1633
- * Whether the popout button will only act on the entire stack,
1634
- * as opposed to only the active tab.
1635
- */
1636
- popoutWholeStack?: boolean;
1637
- /**
1638
- * @defaultValue false
1639
- *
1640
- * Limits the area to which tabs can be dragged.
1641
- * If true, stack headers are the only areas where tabs can be dropped.
1642
- */
1643
- constrainDragToContainer?: boolean;
1644
- /**
1645
- * @defaultValue false
1646
- *
1647
- * Whether to show the popout button on stack header.
1648
- * The button will create a new window with current tab as its content.
1649
- * In case `popoutWholeStack` is set to true, all tabs in the stack will be in the new window.
1650
- */
1651
- showPopoutIcon?: boolean;
1652
- /**
1653
- * @defaultValue false
1654
- *
1655
- * Whether to show the maximize button on stack header.
1656
- * The button will maximize the current tab to fill the entire window.
1657
- */
1658
- showMaximiseIcon?: boolean;
1659
- /**
1660
- * @defaultValue false
1661
- *
1662
- * Whether to show the close button on stack header
1663
- * (not to be confused with close button on every tab).
1664
- */
1665
- showCloseIcon?: boolean;
1666
- constrainDragToHeaders?: boolean;
1667
- /**
1668
- * @defaultValue true
1669
- *
1670
- * Turns tab headers on or off.
1671
- * If false, the layout will be displayed with splitters only.
1672
- */
1673
- hasHeaders?: boolean;
1674
- /**
1675
- * @defaultValue true
1676
- *
1677
- * If true, the user can re-arrange the layout by
1678
- * dragging items by their tabs to the desired location.
1679
- */
1680
- reorderEnabled?: boolean;
1681
- /**
1682
- * @defaultValue false
1683
- *
1684
- * If true, tabs can't be dragged out of the window.
1685
- */
1686
- preventDragOut?: boolean;
1687
- /**
1688
- * @defaultValue=false
1689
- *
1690
- * If true, tabs can't be dragged into the window.
1691
- */
1692
- preventDragIn?: boolean;
1693
- };
1694
- content?: LayoutContent;
1695
- dimensions?: {
1696
- borderWidth?: number;
1697
- minItemHeight?: number;
1698
- minItemWidth?: number;
1699
- headerHeight?: number;
1700
- };
1701
- };
1702
- export type OverrideCallback<T extends any = PlatformProvider, U extends T = T> = (arg: Constructor<T>) => U | Promise<U>;
1703
- export type Constructor<T = {}> = new () => T;
1704
- export type HostContextChangedReasons = 'updated' | 'reparented';
1705
- export type WindowCreationReason = 'tearout' | 'create-view-without-target' | 'api-call' | 'app-creation' | 'restore' | 'apply-snapshot';
1706
- export type InitPlatformOptions = {
1707
- overrideCallback?: OverrideCallback<PlatformProvider>;
1708
- /**
1709
- * A callback function that can be used to extend or replace default Provider behavior.
1710
- */
1711
- interopOverride?: OverrideCallback<InteropBroker>;
1712
- };
1713
- export type ProcessDetails = {
1714
- /**
1715
- * The percentage of total CPU usage.
1716
- */
1717
- cpuUsage: number;
1718
- /**
1719
- * The current nonpaged pool usage in bytes.
1720
- */
1721
- nonPagedPoolUsage: number;
1722
- pageFaultCount: number;
1723
- /**
1724
- * The current paged pool usage in bytes.
1725
- */
1726
- pagedPoolUsage: number;
1727
- /**
1728
- * The total amount of memory in bytes that the memory manager has committed
1729
- */
1730
- pagefileUsage: number;
1731
- /**
1732
- * The peak nonpaged pool usage in bytes.
1733
- */
1734
- peakNonPagedPoolUsage: number;
1735
- /**
1736
- * The peak paged pool usage in bytes.
1737
- */
1738
- peakPagedPoolUsage: number;
1739
- /**
1740
- * The peak value in bytes of pagefileUsage during the lifetime of this process.
1741
- */
1742
- peakPagefileUsage: number;
1743
- /**
1744
- * The peak working set size in bytes.
1745
- */
1746
- peakWorkingSetSize: number;
1747
- /**
1748
- * The current working set size (both shared and private data) in bytes.
1749
- */
1750
- workingSetSize: number;
1751
- privateSetSize: number;
1752
- /**
1753
- * The native process identifier.
1754
- */
1755
- pid: number;
1756
- };
1757
- export type FrameProcessDetails = ProcessDetails & {
1758
- /**
1759
- * Current URL associated with the process.
1760
- */
1761
- url: string;
1762
- /**
1763
- * Type for the frame.
1764
- */
1765
- entityType: string;
1766
- };
1767
- export type EntityProcessDetails = FrameProcessDetails & {
1768
- name: string;
1769
- uuid: string;
1770
- iframes: FrameProcessDetails[];
1771
- };
1772
- export type AppProcessInfo = {
1773
- /**
1774
- * The uuid of the application.
1775
- */
1776
- uuid: string;
1777
- /**
1778
- * Process info for each window and view for the application.
1779
- */
1780
- entities: EntityProcessDetails[];
1781
- };
1782
- export type NonAppProcessDetails = ProcessDetails & {
1783
- name: string;
1784
- };
1785
- export type SystemProcessInfo = {
1786
- apps: AppProcessInfo[];
1787
- browserProcess: NonAppProcessDetails;
1788
- nonApps: NonAppProcessDetails[];
1789
- };
1790
- export type ClearCacheOption = {
1791
- /**
1792
- * html5 application cache
1793
- */
1794
- appcache?: boolean;
1795
- /**
1796
- * browser data cache for html files and images
1797
- */
1798
- cache?: boolean;
1799
- /**
1800
- * browser cookies
1801
- */
1802
- cookies?: boolean;
1803
- /**
1804
- * browser data that can be used across sessions
1805
- */
1806
- localStorage?: boolean;
1807
- };
1808
- export type CookieInfo = {
1809
- name: string;
1810
- domain: string;
1811
- path: string;
1812
- };
1813
- export type CookieOption = {
1814
- name: string;
1815
- };
1816
- export type CrashReporterOptions = {
1817
- /**
1818
- * In diagnostics mode the crash reporter will send diagnostic logs to
1819
- * the OpenFin reporting service on runtime shutdown
1820
- */
1821
- diagnosticsMode: boolean;
1822
- };
1823
- export type CrashReporterState = CrashReporterOptions & {
1824
- /**
1825
- * Whether the crash reporter is running
1826
- */
1827
- isRunning: boolean;
1828
- diagnosticMode: boolean;
1829
- };
1830
- export type Time = {
1831
- /**
1832
- * The number of milliseconds the CPU has spent in user mode.
1833
- */
1834
- user: number;
1835
- /**
1836
- * The number of milliseconds the CPU has spent in nice mode.
1837
- */
1838
- nice: number;
1839
- /**
1840
- * The number of milliseconds the CPU has spent in sys mode.
1841
- */
1842
- sys: number;
1843
- /**
1844
- * The number of milliseconds the CPU has spent in idle mode.
1845
- */
1846
- idle: number;
1847
- /**
1848
- * The number of milliseconds the CPU has spent in irq mode.
1849
- */
1850
- irq: number;
1851
- };
1852
- export type CpuInfo = {
1853
- /**
1854
- * The model of the cpu
1855
- */
1856
- model: string;
1857
- /**
1858
- * The CPU clock speed in MHz
1859
- */
1860
- speed: number;
1861
- /**
1862
- * The numbers of milliseconds the CPU has spent in different modes.
1863
- */
1864
- times: Time;
1865
- };
1866
- export type GpuInfo = {
1867
- name: string;
1868
- };
1869
- export type HostSpecs = {
1870
- /**
1871
- * True if Aero Glass theme is supported on Windows platforms
1872
- */
1873
- aeroGlassEnabled?: boolean;
1874
- /**
1875
- * "x86" for 32-bit or "x86_64" for 64-bit
1876
- */
1877
- arch: string;
1878
- /**
1879
- * The same payload as Node's os.cpus()
1880
- */
1881
- cpus: CpuInfo[];
1882
- /**
1883
- * The graphics card name
1884
- */
1885
- gpu: GpuInfo;
1886
- /**
1887
- * The same payload as Node's os.totalmem()
1888
- */
1889
- memory: number;
1890
- /**
1891
- * The OS name and version/edition
1892
- */
1893
- name: string;
1894
- /**
1895
- * True if screensaver is running. Supported on Windows only.
1896
- */
1897
- screenSaver?: boolean;
1898
- };
1899
- export type PrinterInfo = {
1900
- name: string;
1901
- description: string;
1902
- status: number;
1903
- isDefault: boolean;
1904
- };
1905
- /**
1906
- * DPI (dots per inch) configuration for printing.
1907
- */
1908
- export type Dpi = {
1909
- /**
1910
- * DPI (dots per inch) in the horizontal direction.
1911
- */
1912
- horizontal?: number;
1913
- /**
1914
- * DPI (dots per inch) in the vertical direction.
1915
- */
1916
- vertical?: number;
1917
- };
1918
- /**
1919
- * Margins configuration for printing.
1920
- */
1921
- export type Margins = {
1922
- marginType?: 'default' | 'none' | 'printableArea' | 'custom';
1923
- /**
1924
- * The top margin of the printed webpage, in pixels.
1925
- */
1926
- top?: number;
1927
- /**
1928
- * The bottom margin of the printed webpage, in pixels.
1929
- */
1930
- bottom?: number;
1931
- /**
1932
- * The left margin of the printed webpage, in pixels.
1933
- */
1934
- left?: number;
1935
- /**
1936
- * The right margin of the printed webpage, in pixels.
1937
- */
1938
- right?: number;
1939
- };
1940
- /**
1941
- * Options for printing a webpage in OpenFin.
1942
- */
1943
- export type PrintOptions = {
1944
- content?: 'self';
1945
- /**
1946
- * Disables prompting the user for print settings.
1947
- */
1948
- silent?: boolean;
1949
- /**
1950
- * Includes the webpage background color and image when printing.
1951
- */
1952
- printBackground?: boolean;
1953
- /**
1954
- * Name of the printer device to use.
1955
- */
1956
- deviceName?: string;
1957
- /**
1958
- * Prints in full color (greyscale otherwise).
1959
- */
1960
- color?: boolean;
1961
- /**
1962
- * Margins for printed webpage.
1963
- */
1964
- margins?: Margins;
1965
- /**
1966
- * Prints in landscape mode (portrait otherwise).
1967
- */
1968
- landscape?: boolean;
1969
- /**
1970
- * Scale factor of the printer webpage.
1971
- */
1972
- scaleFactor?: number;
1973
- /**
1974
- * Number of webpage pages to print per printer sheet.
1975
- */
1976
- pagesPerSheet?: number;
1977
- /**
1978
- * Collates the webpage before printing.
1979
- */
1980
- collate?: boolean;
1981
- /**
1982
- * Number of copies to be printed.
1983
- */
1984
- copies?: number;
1985
- /**
1986
- * Page range to print.
1987
- */
1988
- pageRanges?: Array<Record<'from' | 'to', number>>;
1989
- /**
1990
- * Duplex mode of the printed webpage.
1991
- */
1992
- duplexMode?: 'simplex' | 'shortEdge' | 'longEdge';
1993
- /**
1994
- * Dots per inch of the printed webpage.
1995
- */
1996
- dpi?: Dpi;
1997
- };
1998
- export type ScreenshotPrintOptions = {
1999
- content: 'screenshot';
2000
- };
2001
- export type WindowViewsPrintOptions = {
2002
- content: 'views';
2003
- includeSelf?: boolean;
2004
- };
2005
- export type WindowPrintOptions = PrintOptions | ScreenshotPrintOptions | WindowViewsPrintOptions;
2006
- export type ImageFormatOptions = {
2007
- format: 'dataURL' | 'png' | 'bmp';
2008
- } | {
2009
- format: 'jpg';
2010
- /**
2011
- * Must be between 0-100, defaults to 100 if out of bounds or not specified
2012
- */
2013
- quality?: number;
2014
- };
2015
- /**
2016
- * The type of clipboard to write to, can be 'clipboard' or 'selection'.
2017
- * Defaults to 'clipboard'. Use 'selection' for linux only.
2018
- */
2019
- export type ClipboardSelectionType = 'clipboard' | 'selection';
2020
- export type BaseClipboardRequest = {
2021
- /**
2022
- * The type of clipboard to write to, can be 'clipboard' or 'selection'.
2023
- * Defaults to 'clipboard'. Use 'selection' for linux only.
2024
- */
2025
- type?: ClipboardSelectionType;
2026
- };
2027
- /**
2028
- * A request to write data to the clipboard.
2029
- */
2030
- export type WriteClipboardRequest = BaseClipboardRequest & {
2031
- /**
2032
- * Data to write to the clipboard.
2033
- */
2034
- data: string;
2035
- };
2036
- export type ReadImageClipboardRequest = BaseClipboardRequest & ImageFormatOptions;
2037
- export type WriteImageClipboardRequest = BaseClipboardRequest & {
2038
- /**
2039
- * Can be either a base64 string, or a DataURL string. If using DataURL, the
2040
- * supported formats are `data:image/png[;base64],` and `data:image/jpeg[;base64],`.
2041
- * Using other image/<format> DataURLs will throw an Error.
2042
- */
2043
- image: string;
2044
- };
2045
- /**
2046
- * A generic request to write any supported data to the clipboard.
2047
- */
2048
- export type WriteAnyClipboardRequest = BaseClipboardRequest & {
2049
- data: {
2050
- text?: string;
2051
- html?: string;
2052
- rtf?: string;
2053
- } & Partial<Pick<WriteImageClipboardRequest, 'image'>>;
2054
- };
2055
- /**
2056
- * @deprecated - instead use OpenFin.WriteClipboardRequest
2057
- *
2058
- * A request to write data to the clipboard.
2059
- */
2060
- export type WriteRequestType = WriteClipboardRequest;
2061
- /**
2062
- * @deprecated - instead use WriteAnyClipboardRequest
2063
- *
2064
- * A generic request to write any supported data to the clipboard.
2065
- */
2066
- export type WriteAnyRequestType = WriteAnyClipboardRequest;
2067
- export type SubscriptionOptions = {
2068
- /**
2069
- * The event timestamp.
2070
- */
2071
- timestamp?: number;
2072
- };
2073
- export type SharedWorkerInfo = {
2074
- id: string;
2075
- url: string;
2076
- };
2077
- export type ServiceIdentifier = {
2078
- /**
2079
- * The name of the service.
2080
- */
2081
- name: string;
2082
- };
2083
- export type ServiceConfiguration = {
2084
- config: object;
2085
- /**
2086
- * The name of the service.
2087
- */
2088
- name: string;
2089
- };
2090
- export type RVMInfo = {
2091
- /**
2092
- * The name of action: "get-rvm-info".
2093
- */
2094
- 'action': string;
2095
- /**
2096
- * The app log directory.
2097
- */
2098
- 'appLogDirectory': string;
2099
- /**
2100
- * The path of OpenfinRVM.exe.
2101
- */
2102
- 'path': string;
2103
- /**
2104
- * The start time of RVM.
2105
- */
2106
- 'start-time': string;
2107
- /**
2108
- * The version of RVM.
2109
- */
2110
- 'version': string;
2111
- /**
2112
- * The path to the working directory.
2113
- */
2114
- 'working-dir': string;
2115
- };
2116
- export type AppVersionProgress = {
2117
- manifest: string | null;
2118
- srcManifest: string;
2119
- };
2120
- export type AppVersionError = {
2121
- error: string;
2122
- srcManifest: string;
2123
- };
2124
- export type AppVersionRuntimeInfo = {
2125
- version: string | null;
2126
- exists: boolean | null;
2127
- writeAccess: boolean | null;
2128
- reachable: boolean | null;
2129
- healthCheck: boolean | null;
2130
- error: string | null;
2131
- };
2132
- /**
2133
- * The LaunchEmitter is an `EventEmitter`. It can listen to app version resolver events.
2134
- */
2135
- export type LaunchEmitter = TypedEventEmitter<AppVersionEvent>;
2136
- export type RvmLaunchOptions = {
2137
- /**
2138
- * True if no UI when launching
2139
- */
2140
- noUi?: boolean;
2141
- userAppConfigArgs?: object;
2142
- /**
2143
- * Timeout in seconds until RVM launch request expires.
2144
- */
2145
- timeToLive?: number;
2146
- /**
2147
- * Called whenever app version resolver events occur.
2148
- */
2149
- subscribe?: (launch: LaunchEmitter) => void;
2150
- };
2151
- export type ShortCutConfig = {
2152
- /**
2153
- * True if application has a shortcut on the desktop.
2154
- */
2155
- desktop?: boolean;
2156
- /**
2157
- * True if application has shortcut in the start menu.
2158
- */
2159
- startMenu?: boolean;
2160
- /**
2161
- * True if application will be launched on system startup.
2162
- */
2163
- systemStartup?: boolean;
2164
- };
2165
- export type TerminateExternalRequestType = {
2166
- /**
2167
- * The uuid of the running application.
2168
- */
2169
- uuid: string;
2170
- /**
2171
- * Time out period before the running application terminates.
2172
- */
2173
- timeout: number;
2174
- /**
2175
- * Value to terminate the running application.
2176
- */
2177
- killTree: boolean;
2178
- };
2179
- export type TrayInfo = {
2180
- /**
2181
- * The bound of tray icon in virtual screen pixels.
2182
- */
2183
- bounds: Rectangle;
2184
- /**
2185
- * Please see fin.System.getMonitorInfo for more information.
2186
- */
2187
- monitorInfo: MonitorInfo;
2188
- /**
2189
- * Copy of `bounds.x`.
2190
- */
2191
- x: number;
2192
- /**
2193
- * Copy of `bounds.y`.
2194
- */
2195
- y: number;
2196
- };
2197
- export type Transition = {
2198
- opacity?: Opacity;
2199
- position?: Position;
2200
- size?: Size;
2201
- };
2202
- export type Size = TransitionBase & {
2203
- /**
2204
- * Optional if height is present. Defaults to the window's current width.
2205
- */
2206
- width: number;
2207
- /**
2208
- * Optional if width is present. Defaults to the window's current height.
2209
- */
2210
- height: number;
2211
- };
2212
- export type Opacity = TransitionBase & {
2213
- /**
2214
- * The opacity from 0.0 (transparent) to 1.0 (normal).
2215
- */
2216
- opacity: number;
2217
- };
2218
- /**
2219
- * Base configuration options needed for all types of transitions.
2220
- */
2221
- export type TransitionBase = {
2222
- /**
2223
- * The total time in milliseconds this transition should take.
2224
- */
2225
- duration: number;
2226
- /**
2227
- * @defaultValue false
2228
- *
2229
- * Treats 'opacity' as absolute or as a delta. Defaults to false.
2230
- */
2231
- relative?: boolean;
2232
- };
2233
- export type Position = TransitionBase & {
2234
- /**
2235
- * Defaults to the window's current left position in virtual screen coordinates.
2236
- */
2237
- left: number;
2238
- /**
2239
- * Defaults to the window's current top position in virtual screen coordinates.
2240
- */
2241
- top: number;
2242
- };
2243
- export type AnchorType = 'top-left' | 'top-right' | 'bottom-left' | 'bottom-right';
2244
- /**
2245
- * Configuration for transition between windows.
2246
- */
2247
- export type TransitionOptions = {
2248
- /**
2249
- * Interrupts the current animation (otherwise, the animation is added to the end of the queue).
2250
- */
2251
- interrupt: boolean;
2252
- /**
2253
- * @defaultValue false
2254
- *
2255
- * Treats 'opacity' as absolute or as a delta. Defaults to false.
2256
- */
2257
- relative?: boolean;
2258
- tween?: tween;
2259
- };
2260
- export type tween = 'linear' | 'ease-in' | 'ease-out' | 'ease-in-out' | 'ease-in-quad' | 'ease-out-quad' | 'ease-in-out-quad' | 'ease-in-cubic' | 'ease-out-cubic' | 'ease-in-out-cubic' | 'ease-out-bounce' | 'ease-in-back' | 'ease-out-back' | 'ease-in-out-back' | 'ease-in-elastic' | 'ease-out-elastic' | 'ease-in-out-elastic';
2261
- /**
2262
- * Configuration for find-in-page requests.
2263
- */
2264
- export type FindInPageOptions = {
2265
- /**
2266
- * @defaultValue true
2267
- *
2268
- * Searches in the forward direction (backward otherwise)
2269
- */
2270
- forward?: boolean;
2271
- /**
2272
- * @defaultValue false
2273
- *
2274
- * Begins a new text-finding session; should be true for first request only, and false on subsequent requests.
2275
- */
2276
- findNext?: boolean;
2277
- /**
2278
- * @defaultValue false
2279
- *
2280
- * Enables case-sensitive searching.
2281
- */
2282
- matchCase?: boolean;
2283
- /**
2284
- * @defaultValue false
2285
- *
2286
- * Only searches from the start of words.
2287
- */
2288
- wordStart?: boolean;
2289
- /**
2290
- * @defaultValue false
2291
- *
2292
- * When combined with wordStart, accepts a match in the middle of a word if the match begins with an uppercase letter followed by a<br>
2293
- * lowercase or non-letter. Accepts several other intra-word matches.
2294
- */
2295
- medialCapitalAsWordStart?: boolean;
2296
- };
2297
- export type FindInPageResult = {
2298
- requestId: number;
2299
- /**
2300
- * Position of the active match.
2301
- */
2302
- activeMatchOrdinal: number;
2303
- /**
2304
- * Number of Matches.
2305
- */
2306
- matches: number;
2307
- /**
2308
- * Coordinates of first match region.
2309
- */
2310
- selectionArea: Rectangle;
2311
- finalUpdate: boolean;
2312
- };
2313
- export type FrameInfo = {
2314
- name: string;
2315
- uuid: string;
2316
- url: string;
2317
- entityType: EntityType;
2318
- parent: Identity;
2319
- };
2320
- export type ExternalApplicationInfo = {
2321
- parent: Identity;
2322
- };
2323
- export type ExternalConnection = {
2324
- /**
2325
- * The token to broker an external connection.
2326
- */
2327
- token: string;
2328
- /**
2329
- * Unique identifier for the connection.
2330
- */
2331
- uuid: string;
2332
- };
2333
- export type ExternalProcessRequestType = {
2334
- /**
2335
- * The file path to where the running application resides.
2336
- */
2337
- path?: string;
2338
- alias?: string;
2339
- /**
2340
- * The arguments to pass to the application.
2341
- */
2342
- arguments?: string;
2343
- listener?: LaunchExternalProcessListener;
2344
- lifetime?: string;
2345
- certificate?: CertificationInfo;
2346
- uuid?: string;
2347
- /**
2348
- * Initial window state after launching: 'normal' (default), 'minimized', 'maximized'.
2349
- */
2350
- initialWindowState?: string;
2351
- /**
2352
- * Current working directory.
2353
- */
2354
- cwd?: string;
2355
- };
2356
- export type CertificationInfo = {
2357
- serial?: string;
2358
- subject?: string;
2359
- publickey?: string;
2360
- thumbprint?: string;
2361
- trusted?: boolean;
2362
- };
2363
- export type ExitCode = {
2364
- topic: string;
2365
- uuid: string;
2366
- exitCode: number;
2367
- };
2368
- export type LaunchExternalProcessListener = {
2369
- (code: ExitCode): void;
2370
- };
2371
- export type ExternalProcessInfo = {
2372
- pid: number;
2373
- listener?: LaunchExternalProcessListener;
2374
- };
2375
- export type AppAssetInfo = {
2376
- /**
2377
- * The URL to a zip file containing the package files (executables, dlls, etc…)
2378
- */
2379
- src: string;
2380
- /**
2381
- * The name of the asset
2382
- */
2383
- alias: string;
2384
- /**
2385
- * The version of the package
2386
- */
2387
- version: string;
2388
- /**
2389
- * Specify default executable to launch. This option can be overridden in launchExternalProcess
2390
- */
2391
- target?: string;
2392
- /**
2393
- * The default command line arguments for the aforementioned target.
2394
- */
2395
- args?: string;
2396
- /**
2397
- * When set to true, the app will fail to load if the asset cannot be downloaded.
2398
- * When set to false, the app will continue to load if the asset cannot be downloaded. (Default: true)
2399
- */
2400
- mandatory?: boolean;
2401
- };
2402
- /**
2403
- * The options object required by the downloadRuntime function.
2404
- */
2405
- export type RuntimeDownloadOptions = {
2406
- /**
2407
- * The given version to download.
2408
- */
2409
- version: string;
2410
- };
2411
- export type AppAssetRequest = {
2412
- alias: string;
2413
- };
2414
- export type RuntimeDownloadProgress = {
2415
- /**
2416
- * @property { string } alias The name of the asset
2417
- */
2418
- downloadedBytes: number;
2419
- totalBytes: number;
2420
- };
2421
- export type CertifiedAppInfo = {
2422
- isRunning: boolean;
2423
- isOptedIntoCertfiedApp?: boolean;
2424
- isCertified?: boolean;
2425
- isSSLCertified?: boolean;
2426
- isPresentInAppDirectory?: boolean;
2427
- };
2428
- export type JumpListCategory = {
2429
- /**
2430
- * The display title for the category.
2431
- *
2432
- * If omitted, items in this category will be placed into the standard 'Tasks' category.
2433
- * There can be only one such category, and it will always be displayed at the bottom of the JumpList.
2434
- */
2435
- name?: string;
2436
- /**
2437
- * The set of tasks that will populate the JumpList.
2438
- */
2439
- items: Array<JumpListTask | JumpListSeparator>;
2440
- };
2441
- export type JumpListItem = JumpListTask | JumpListSeparator;
2442
- export type JumpListTask = {
2443
- type: 'task';
2444
- /**
2445
- * The text to be displayed for the JumpList Item.
2446
- */
2447
- title: string;
2448
- /**
2449
- * Tooltip description of the task (displayed in a tooltip).
2450
- */
2451
- description: string;
2452
- /**
2453
- * @property Deep link to a manifest, i.e: fins://path.to/manifest.json?$$param1=value1.
2454
- * See {@link https://developers.openfin.co/docs/deep-linking deep-linking} for more information.
2455
- */
2456
- deepLink: string;
2457
- /**
2458
- * The absolute path to an icon to be displayed for the item, which can be an arbitrary resource file that contains an icon (e.g. .ico, .exe, .dll).
2459
- */
2460
- iconPath?: string;
2461
- /**
2462
- * The index of the icon in the resource file.
2463
- *
2464
- * If a resource file contains multiple icons this value can be used to specify the zero-based index of the icon that should be displayed for this task.
2465
- * If a resource file contains only one icon, this property should be set to zero.
2466
- */
2467
- iconIndex?: number;
2468
- };
2469
- export type JumpListSeparator = {
2470
- type: 'separator';
2471
- };
2472
- export type ApplicationInfo = {
2473
- initialOptions: ApplicationCreationOptions;
2474
- launchMode: string;
2475
- manifest: Manifest & {
2476
- [key: string]: any;
2477
- };
2478
- manifestUrl: string;
2479
- parentUuid?: string;
2480
- runtime: {
2481
- version: string;
2482
- };
2483
- };
2484
- export type ManifestInfo = {
2485
- /**
2486
- * The uuid of the application.
2487
- */
2488
- uuid: string;
2489
- /**
2490
- * The runtime manifest URL.
2491
- */
2492
- manifestUrl: string;
2493
- };
2494
- export type ClickedMenuResult<T extends unknown = unknown> = {
2495
- result: 'clicked';
2496
- data: T;
2497
- };
2498
- export type ClosedMenuResult = {
2499
- result: 'closed';
2500
- };
2501
- export type MenuResult<T extends unknown = unknown> = ClickedMenuResult<T> | ClosedMenuResult;
2502
- export type ShowPopupMenuOptions<T extends unknown = unknown> = {
2503
- template: MenuItemTemplate<T>[];
2504
- x?: number;
2505
- y?: number;
2506
- };
2507
- export type MenuItemTemplate<T extends unknown = unknown> = {
2508
- /**
2509
- * Can be `normal`, `separator`, `submenu`, or `checkbox`.
2510
- * Defaults to 'normal' unless a 'submenu' key exists
2511
- */
2512
- type?: 'normal' | 'separator' | 'submenu' | 'checkbox';
2513
- role?: 'cut' | 'copy' | 'paste' | 'toggleDevTools' | 'reload';
2514
- label?: string;
2515
- /**
2516
- * If false, the menu item will be greyed out and unclickable.
2517
- */
2518
- enabled?: boolean;
2519
- /**
2520
- * If false, the menu item will be entirely hidden.
2521
- */
2522
- visible?: boolean;
2523
- /**
2524
- * Should only be specified for `checkbox` type menu items.
2525
- */
2526
- checked?: boolean;
2527
- /**
2528
- * Should be specified for `submenu` type menu items. If `submenu` is specified,
2529
- * the `type: 'submenu'` can be omitted.
2530
- */
2531
- submenu?: MenuItemTemplate<T>[];
2532
- /**
2533
- * Data to be returned if the user selects the element. Must be serializable
2534
- */
2535
- data?: T;
2536
- /**
2537
- * Image Data URI with image dimensions inferred from the encoded string
2538
- */
2539
- icon?: string;
2540
- };
2541
- export type NativeWindowIntegrationProviderAuthorization = {
2542
- authorizedUuid: string;
2543
- };
2544
- export type RuntimeInfo = {
2545
- /**
2546
- * The runtime build architecture.
2547
- */
2548
- architecture: string;
2549
- /**
2550
- * The runtime manifest URL.
2551
- */
2552
- manifestUrl: string;
2553
- /**
2554
- * The runtime websocket port.
2555
- */
2556
- port: number;
2557
- /**
2558
- * The runtime security realm.
2559
- */
2560
- securityRealm?: string;
2561
- /**
2562
- * The runtime version.
2563
- */
2564
- version: string;
2565
- /**
2566
- * the command line argument used to start the Runtime.
2567
- */
2568
- args: object;
2569
- chromeVersion: string;
2570
- electronVersion: string;
2571
- devtoolsPort?: number;
2572
- };
2573
- export type DefaultDomainSettings = {
2574
- rules: DefaultDomainSettingsRule[];
2575
- };
2576
- export type DefaultDomainSettingsRule = {
2577
- match: string[];
2578
- options: {
2579
- downloadSettings: FileDownloadSettings;
2580
- };
2581
- };
2582
- export type FileDownloadBehaviorNames = 'prompt' | 'no-prompt';
2583
- export type FileDownloadSettings = {
2584
- rules: DownloadRule[];
2585
- };
2586
- export type DownloadRule = {
2587
- behavior: FileDownloadBehaviorNames;
2588
- match: string[];
2589
- };
2590
- export type ContextHandler = (context: Context) => void;
2591
- /**
2592
- * Combination of an action and a context that is passed to an application for resolution.
2593
- */
2594
- export type Intent<MetadataType = IntentMetadata> = {
2595
- /**
2596
- * Name of the intent.
2597
- */
2598
- name: string;
2599
- /**
2600
- * Data associated with the intent.
2601
- */
2602
- context: Context;
2603
- metadata?: MetadataType;
2604
- };
2605
- export type IntentMetadata<TargetType = any> = {
2606
- target?: TargetType;
2607
- resultType?: string;
2608
- intentResolutionResultId?: string;
2609
- };
2610
- export type IntentHandler = (intent: Intent) => void;
2611
- export type ContentCreationBehaviorNames = 'window' | 'view' | 'block' | 'browser';
2612
- export type MatchPattern = string;
2613
- /**
2614
- * A rule for creating content in OpenFin; maps a content type to the way in which
2615
- * newly-opened content of that type will be handled.
2616
- *
2617
- * @property { string } behavior 'view' | 'window' | 'browser' | 'block'
2618
- * @property { string[] } match List of [match patterns](https://developer.chrome.com/extensions/match_patterns).
2619
- * @property { object } options Window creation options or View creation options.
2620
- */
2621
- export type ContentCreationRule<T = ContentCreationBehaviorNames> = {
2622
- /**
2623
- * Behavior to use when opening matched content.
2624
- */
2625
- behavior: T;
2626
- /**
2627
- * List of [match patterns](https://developer.chrome.com/extensions/match_patterns) that indicate the specified
2628
- * behavior should be used
2629
- */
2630
- match: MatchPattern[];
2631
- /**
2632
- * Options for newly-created view or window (if applicable).
2633
- */
2634
- options?: T extends 'window' ? Partial<WindowOptions> : T extends 'view' ? Partial<ViewOptions> : never;
2635
- /**
2636
- * custom property
2637
- */
2638
- data?: unknown;
2639
- };
2640
- /**
2641
- * Configures how new content (e,g, from `window.open` or a link) is opened.
2642
- */
2643
- export type ContentCreationOptions = {
2644
- /**
2645
- * List of rules for creation of new content.
2646
- */
2647
- rules: ContentCreationRule[];
2648
- };
2649
- export type SnapshotProvider<T> = {
2650
- getSnapshot: () => Promise<T>;
2651
- applySnapshot: (snapshot: T) => Promise<void>;
2652
- };
2653
- export type QueryPermissionResult = {
2654
- /**
2655
- * The full name of a secured API.
2656
- */
2657
- permission: string;
2658
- state: PermissionState;
2659
- /**
2660
- * True if permission is granted.
2661
- */
2662
- granted: boolean;
2663
- /**
2664
- * The value of permission.
2665
- */
2666
- rawValue?: unknown;
2667
- };
2668
- export type SessionContextGroup = {
2669
- id: string;
2670
- setContext: (context: Context) => Promise<void>;
2671
- getCurrentContext: (type?: string) => Promise<Context>;
2672
- addContextHandler: (handler: ContextHandler, contextType?: string) => Promise<{
2673
- unsubscribe: () => void;
2674
- }>;
2675
- };
2676
- export type { MessagingProtocols };
2677
- /**
2678
- * Channel provider creation options.
2679
- */
2680
- export type ChannelCreateOptions = {
2681
- /**
2682
- * EXPERIMENTAL: Messaging protocols supported by the channel provider.
2683
- */
2684
- protocols?: MessagingProtocols[];
2685
- };
2686
- /**
2687
- * Options provided on a client connection to a channel.
2688
- *
2689
- */
2690
- export type ChannelConnectOptions = ChannelCreateOptions & {
2691
- /**
2692
- * @defaultValue true
2693
- *
2694
- * If true will wait for ChannelProvider to connect. If false will fail if ChannelProvider is not found.
2695
- */
2696
- wait?: boolean;
2697
- /**
2698
- * Payload to pass to ChannelProvider onConnection action.
2699
- */
2700
- payload?: any;
2701
- };
2702
- export type ContextForIntent<MetadataType = any> = Context & {
2703
- metadata?: MetadataType;
2704
- };
2705
- export type InfoForIntentOptions<MetadataType = IntentMetadata> = {
2706
- /**
2707
- * Name of the intent to get info for.
2708
- */
2709
- name: string;
2710
- context?: Context;
2711
- metadata?: MetadataType;
2712
- };
2713
- export type FindIntentsByContextOptions<MetadataType = IntentMetadata> = {
2714
- context: Context;
2715
- metadata?: MetadataType;
2716
- };
2717
- /**
2718
- * Identity of a channel provider.
2719
- */
2720
- export type ProviderIdentity = Identity & {
2721
- /**
2722
- * Identifier of the channel.
2723
- */
2724
- channelId: string;
2725
- /**
2726
- * Channel provider name.
2727
- */
2728
- channelName: string;
2729
- };
2730
- export type RegisterUsageData = {
2731
- data: unknown;
2732
- type: string;
2733
- };
2734
- export interface ViewsPreventingUnloadPayload {
2735
- /**
2736
- * Specifies if the Window should close.
2737
- */
2738
- windowShouldClose: boolean;
2739
- /**
2740
- * Identity of the Window.
2741
- */
2742
- windowId: Identity;
2743
- /**
2744
- * Identities of the Views that are preventing an unload
2745
- */
2746
- viewsPreventingUnload: Identity[];
2747
- /**
2748
- * Identities of the Views that are not preventing an unload
2749
- */
2750
- viewsNotPreventingUnload: Identity[];
2751
- /**
2752
- * Source of the close action.
2753
- */
2754
- closeType: 'view' | 'window';
2755
- }
2756
- export interface BeforeUnloadUserDecision {
2757
- /**
2758
- * Specifies if the Window should close.
2759
- */
2760
- windowShouldClose: boolean;
2761
- /**
2762
- * Array of views that will close.
2763
- */
2764
- viewsToClose: Identity[];
2765
- }
2766
- export interface ViewStatuses {
2767
- /**
2768
- * Identities of the Views that are preventing an unload.
2769
- */
2770
- viewsPreventingUnload: Identity[];
2771
- /**
2772
- * Identities of the Views that are not preventing an unload.
2773
- */
2774
- viewsNotPreventingUnload: Identity[];
2775
- }
2776
- export interface CloseWindowPayload {
2777
- /**
2778
- *
2779
- * Identity of the Window
2780
- */
2781
- windowId: Identity;
2782
- options: {
2783
- /**
2784
- * @defaultValue false
2785
- *
2786
- * When set to true skips any before handler set on views that are part of the window
2787
- */
2788
- skipBeforeUnload?: boolean;
2789
- };
2790
- }
2791
- export type ProxyInfo = {
2792
- config: ProxyConfig;
2793
- system: ProxySystemInfo;
2794
- };
2795
- export type ProxyConfig = {
2796
- /**
2797
- * The configured proxy address.
2798
- */
2799
- proxyAddress: string;
2800
- /**
2801
- * The configured proxy port.
2802
- */
2803
- proxyPort: number;
2804
- type: string;
2805
- };
2806
- export type ProxySystemInfo = {
2807
- /**
2808
- * The auto configuration url.
2809
- */
2810
- autoConfigUrl: string;
2811
- /**
2812
- * The proxy bypass info.
2813
- */
2814
- bypass: string;
2815
- /**
2816
- * Value to check if a proxy is enabled.
2817
- */
2818
- enabled: boolean;
2819
- /**
2820
- * The proxy info.
2821
- */
2822
- proxy: string;
2823
- };
2824
- export type ChannelAction = (payload: unknown, id: ProviderIdentity | ClientIdentity) => unknown;
2825
- export type ChannelMiddleware = (topic: string, payload: unknown, senderIdentity: ProviderIdentity | ClientIdentity) => Promise<unknown> | unknown;
2826
- export type ErrorMiddleware = (topic: string, error: Error, id: ProviderIdentity | ClientIdentity) => unknown;
2827
- export type ApplicationState = {
2828
- /**
2829
- * True when the application is a Platform controller
2830
- */
2831
- isPlatform: boolean;
2832
- /**
2833
- * True when the application is running
2834
- */
2835
- isRunning: boolean;
2836
- /**
2837
- * uuid of the application
2838
- */
2839
- uuid: string;
2840
- /**
2841
- * uuid of the application that launches this application
2842
- */
2843
- parentUuid?: string;
2844
- };
2845
- export type InstalledApps = {
2846
- [key: string]: InstallationInfo;
2847
- };
2848
- export type InstallationInfo = {
2849
- cachedManifest: any;
2850
- };
2851
- export type GetLogRequestType = {
2852
- /**
2853
- * The name of the running application
2854
- */
2855
- name: string;
2856
- /**
2857
- * The file length of the log file
2858
- */
2859
- endFile?: string;
2860
- /**
2861
- * The size limit of the log file.
2862
- */
2863
- sizeLimit?: number;
2864
- };
2865
- export type LogInfo = {
2866
- /**
2867
- * The filename of the log
2868
- */
2869
- name: string;
2870
- /**
2871
- * The size of the log in bytes
2872
- */
2873
- size: number;
2874
- /**
2875
- * The unix time at which the log was created "Thu Jan 08 2015 14:40:30 GMT-0500 (Eastern Standard Time)"
2876
- */
2877
- date: string;
2878
- };
2879
- export type SendApplicationLogResponse = {
2880
- logId: string;
2881
- };
2882
- /**
2883
- * Describes the minimum level (inclusive) above which logs will be written.
2884
- *
2885
- * `verbose`: all logs written
2886
- * `info`: info and above
2887
- * `warning` warning and above
2888
- * `error` and above
2889
- * `fatal`: fatal only, indicates a crash is imminent
2890
- */
2891
- export type LogLevel = 'verbose' | 'info' | 'warning' | 'error' | 'fatal';
2892
- export type PermissionState = 'granted' | 'denied' | 'unavailable';
2893
- export type RegistryInfo = {
2894
- data: any;
2895
- rootKey: string;
2896
- subkey: string;
2897
- type: string;
2898
- value: string;
2899
- };
2900
- export type ApplicationType = {
2901
- type: 'application' | 'external-app';
2902
- uuid: string;
2903
- };
2904
- export type WindowInfo = {
2905
- canNavigateBack: boolean;
2906
- canNavigateForward: boolean;
2907
- preloadScripts: Array<any>;
2908
- title: string;
2909
- url: string;
2910
- };
2911
- export type ApplicationWindowInfo = {
2912
- childWindows: Array<WindowDetail>;
2913
- mainWindow: WindowDetail;
2914
- /**
2915
- * @property { string } uuid The uuid of the application
2916
- */
2917
- uuid: string;
2918
- };
2919
- export type WindowDetail = {
2920
- /**
2921
- * The bottom-most coordinate of the window.
2922
- */
2923
- bottom: number;
2924
- /**
2925
- * The height of the window.
2926
- */
2927
- height: number;
2928
- isShowing: boolean;
2929
- /**
2930
- * The left-most coordinate of the window.
2931
- */
2932
- left: number;
2933
- /**
2934
- * The name of the window.
2935
- */
2936
- name: string;
2937
- /**
2938
- * The right-most coordinate of the window
2939
- */
2940
- right: number;
2941
- state: string;
2942
- /**
2943
- * The top-most coordinate of the window.
2944
- */
2945
- top: number;
2946
- /**
2947
- * The width of the window.
2948
- */
2949
- width: number;
2950
- };
2951
- export type LayoutPresetType = 'columns' | 'grid' | 'rows' | 'tabs';
2952
- export type InitLayoutOptions = {
2953
- /**
2954
- * The id attribute of the container where the window's Layout should be initialized. If not provided
2955
- * then an element with id `layout-container` is used. We recommend using a div element.
2956
- */
2957
- containerId?: string;
2958
- };
2959
- export type PresetLayoutOptions = {
2960
- /**
2961
- * Which preset layout arrangement to use.
2962
- * The preset options are `columns`, `grid`, `rows`, and `tabs`.
2963
- */
2964
- presetType: LayoutPresetType;
2965
- };
2966
- export type ResultBehavior = 'close' | 'hide' | 'none';
2967
- export type PopupBaseBehavior = 'close' | 'hide';
2968
- export type PopupResultBehavior = 'none' | PopupBaseBehavior;
2969
- export type PopupBlurBehavior = 'modal' | PopupBaseBehavior;
2970
- export type Optional<T, K extends keyof T> = Pick<Partial<T>, K> & Omit<T, K>;
2971
- export interface PopupOptions {
2972
- initialOptions?: Optional<WindowCreationOptions, 'name'>;
2973
- additionalOptions?: UpdatableWindowOptions;
2974
- name?: string;
2975
- url?: string;
2976
- height?: number;
2977
- width?: number;
2978
- x?: number;
2979
- y?: number;
2980
- blurBehavior?: PopupBlurBehavior;
2981
- resultDispatchBehavior?: PopupResultBehavior;
2982
- hideOnClose?: boolean;
2983
- focus?: boolean;
2984
- onPopupReady?: (popupWindow: _Window) => any;
2985
- onPopupResult?: (payload: PopupResult) => any;
2986
- }
2987
- export type PopupInteraction = 'clicked' | 'dismissed';
2988
- export interface PopupResult<T = any> {
2989
- identity: {
2990
- name: string;
2991
- uuid: string;
2992
- };
2993
- result: PopupInteraction;
2994
- data?: T;
2995
- lastDispatchResult?: PopupResult;
2996
- }
2997
- export type SystemShutdownHandler = (shutdownEvent: {
2998
- proceed: () => void;
2999
- }) => void;
3000
- export type AppVersionProgressEvent = {
3001
- type: 'app-version-progress';
3002
- } & AppVersionProgress;
3003
- export type AppVersionErrorEvent = {
3004
- type: 'app-version-error';
3005
- } & AppVersionError;
3006
- export type AppVersionCompleteEvent = {
3007
- type: 'app-version-complete';
3008
- } & AppVersionProgress;
3009
- export type AppVersionRuntimeStatusEvent = {
3010
- type: 'runtime-status';
3011
- } & AppVersionRuntimeInfo;
3012
- import type * as BaseEvents from './api/events/base';
3013
- import type * as ChannelEvents from './api/events/channel';
3014
- import type * as WebContentsEvents from './api/events/webcontents';
3015
- import type * as SystemEvents from './api/events/system';
3016
- import type * as ApplicationEvents from './api/events/application';
3017
- import type * as WindowEvents from './api/events/window';
3018
- import type * as ViewEvents from './api/events/view';
3019
- import type * as GlobalHotkeyEvents from './api/events/globalHotkey';
3020
- import type * as FrameEvents from './api/events/frame';
3021
- import type * as PlatformEvents from './api/events/platform';
3022
- import type * as ExternalApplicationEvents from './api/events/externalApplication';
3023
- export type { BaseEvents, ChannelEvents, WebContentsEvents, SystemEvents, ApplicationEvents, WindowEvents, ViewEvents, GlobalHotkeyEvents, FrameEvents, PlatformEvents, ExternalApplicationEvents };
3024
- export type BaseEvent = BaseEvents.BaseEvent;
3025
- export type ChannelEvent = ChannelEvents.ChannelEvent;
3026
- export type WebContentsEvent = WebContentsEvents.WebContentsEvent;
3027
- export type SystemEvent = SystemEvents.SystemEvent;
3028
- export type ApplicationEvent = ApplicationEvents.ApplicationEvent;
3029
- export type WindowEvent = WindowEvents.WindowEvent;
3030
- export type ViewEvent = ViewEvents.ViewEvent;
3031
- export type GlobalHotkeyEvent = GlobalHotkeyEvents.GlobalHotkeyEvent;
3032
- export type FrameEvent = FrameEvents.FrameEvent;
3033
- export type PlatformEvent = PlatformEvents.PlatformEvent;
3034
- export type ExternalApplicationEvent = ExternalApplicationEvents.ExternalApplicationEvent;
3035
- /**
3036
- * Configure the context menu when right-clicking on a window.
3037
- */
3038
- export type ContextMenuOptions = {
3039
- /**
3040
- * Context menu items to display on right-click.
3041
- */
3042
- template?: Array<PrebuiltContextMenuItem>;
3043
- /**
3044
- * Displays the context menu on right click.
3045
- */
3046
- enabled?: boolean;
3047
- };
3048
- /**
3049
- * Context menu item with an implementation provided by OpenFin.
3050
- */
3051
- export type PrebuiltContextMenuItem = 'separator' | 'undo' | 'redo' | 'cut' | 'copy' | 'copyImage' | 'paste' | 'selectAll' | 'spellCheck' | 'inspect' | 'reload' | 'navigateForward' | 'navigateBack' | 'print';
3052
- export type InteropBrokerDisconnectionEvent = {
3053
- type: string;
3054
- topic: string;
3055
- brokerName: string;
3056
- };
3057
- export type InteropClientOnDisconnectionListener = (InteropBrokerDisconnectionEvent: InteropBrokerDisconnectionEvent) => any;
3058
- export interface InteropActionLoggingOption {
3059
- enabled: boolean;
3060
- }
3061
- export type InteropLoggingActions = 'beforeAction' | 'afterAction';
3062
- export type InteropLoggingOptions = Record<InteropLoggingActions, InteropActionLoggingOption>;
3063
- export type { Me } from './api/me';
3064
- /**
3065
- * Configuration for page capture.
3066
- */
3067
- export interface CapturePageOptions {
3068
- /**
3069
- * The area of the window to be captured.
3070
- */
3071
- area?: Rectangle;
3072
- /**
3073
- * @defaultValue 'png'
3074
- *
3075
- * The format of the captured image. Can be 'png', 'jpg', or 'bmp'.
3076
- */
3077
- format?: 'bmp' | 'jpg' | 'png';
3078
- /**
3079
- * @defaultValue 100
3080
- *
3081
- * Quality of JPEG image. Between 0 - 100.
3082
- */
3083
- quality?: number;
3084
- }
3085
- export interface ProcessLoggingOptions {
3086
- interval?: number;
3087
- outlierDetection?: {
3088
- interval?: number;
3089
- entries?: number;
3090
- };
3091
- }