@openfin/fdc3-api 45.100.71 → 45.100.73

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.
@@ -3101,6 +3101,53 @@ declare type ChildWindowCreatedEvent = ContentCreationRulesEvent & {
3101
3101
  childOptions: OpenFin.WindowOptions;
3102
3102
  };
3103
3103
 
3104
+ /**
3105
+ * End of Interop Client Events
3106
+ */
3107
+ /**
3108
+ * Client-side handle for the chrome-browser feature.
3109
+ *
3110
+ * For Chrome extension integration to be active on a window, that window must be
3111
+ * created with `chromeBrowser: true` in its window options. There is no separate
3112
+ * `init()` step.
3113
+ */
3114
+ declare interface ChromeBrowser {
3115
+ /**
3116
+ * Extension action surface — observe and invoke installed Chrome extension actions.
3117
+ */
3118
+ readonly Actions: ChromeBrowserActions;
3119
+ }
3120
+
3121
+ /**
3122
+ * APIs for interacting with Chromium extension actions from an initialized ChromeBrowser window.
3123
+ *
3124
+ * @interface
3125
+ */
3126
+ declare interface ChromeBrowserActions {
3127
+ /**
3128
+ * Returns the current list of extension actions with the minimal render state
3129
+ * required to build a toolbar UI.
3130
+ */
3131
+ getExtensionActions(): Promise<ExtensionActionListItem[]>;
3132
+ /**
3133
+ * Executes the specified extension action.
3134
+ *
3135
+ * @remarks
3136
+ * This may trigger an extension popup to be shown by the Runtime if the extension
3137
+ * has a popup configured for the currently active tab.
3138
+ */
3139
+ invokeExtensionAction(options: ExtensionActionInvokeOptions): Promise<void>;
3140
+ /**
3141
+ * Hides the active extension popup, if any.
3142
+ */
3143
+ hideActiveExtensionPopup(): Promise<void>;
3144
+ /**
3145
+ * Reactive value reflecting the current extension action list.
3146
+ * Compatible with React's `useSyncExternalStore`.
3147
+ */
3148
+ readonly state: Readable<ExtensionActionListItem[]>;
3149
+ }
3150
+
3104
3151
  /**
3105
3152
  * Control behavior for Chromium policies
3106
3153
  *
@@ -3141,6 +3188,11 @@ declare type ClearCacheOption = {
3141
3188
  * browser data that can be used across sessions
3142
3189
  */
3143
3190
  localStorage?: boolean;
3191
+ /**
3192
+ * Clears saved window-state data written for windows that use `saveWindowState`.
3193
+ * After this data is cleared, previously persisted bounds and state (Maximized/Minimized) will not be restored until new state is written again.
3194
+ */
3195
+ windowState?: boolean;
3144
3196
  };
3145
3197
 
3146
3198
  /**
@@ -3183,6 +3235,11 @@ declare type ClearDataOptions = {
3183
3235
  * - `origin-in-all-contexts` - Storage is matched on origin only in all contexts.
3184
3236
  */
3185
3237
  originMatchingMode?: 'third-parties-included' | 'origin-in-all-contexts';
3238
+ /**
3239
+ * Clears saved window-state data written for windows that use `saveWindowState`.
3240
+ * After this data is cleared, previously persisted bounds and state (Maximized/Minimized) will not be restored until new state is written again.
3241
+ */
3242
+ windowState?: boolean;
3186
3243
  };
3187
3244
 
3188
3245
  /**
@@ -5418,6 +5475,33 @@ declare type ExitCode = {
5418
5475
  exitCode: number;
5419
5476
  };
5420
5477
 
5478
+ /**
5479
+ * Options for invoking an extension action.
5480
+ *
5481
+ * @interface
5482
+ */
5483
+ declare type ExtensionActionInvokeOptions = {
5484
+ extensionId: ExtensionId;
5485
+ /** Anchor in window client coordinates (from getBoundingClientRect). */
5486
+ anchor: Anchor;
5487
+ };
5488
+
5489
+ /**
5490
+ * Minimal UI model required to render a list of extension actions.
5491
+ *
5492
+ * @interface
5493
+ */
5494
+ declare type ExtensionActionListItem = {
5495
+ /** Stable ID for the extension that owns this action. */
5496
+ extensionId: ExtensionId;
5497
+ /** Whether to show the action button for the current context (active tab). */
5498
+ isVisible: boolean;
5499
+ /** Accessible label / title for the action button. */
5500
+ title: string;
5501
+ /** Renderer-safe icon (data URL). */
5502
+ iconDataUrl: string;
5503
+ };
5504
+
5421
5505
  declare type ExtensionEvent = SecurityRealmEvent & {
5422
5506
  /**
5423
5507
  * Runtime extension whose status has been (possibly) modified
@@ -5425,6 +5509,13 @@ declare type ExtensionEvent = SecurityRealmEvent & {
5425
5509
  extension: string;
5426
5510
  };
5427
5511
 
5512
+ /**
5513
+ * Unique identifier of a Chromium extension.
5514
+ *
5515
+ * @interface
5516
+ */
5517
+ declare type ExtensionId = string;
5518
+
5428
5519
  /**
5429
5520
  * @interface
5430
5521
  */
@@ -6214,6 +6305,7 @@ declare interface FinApi<MeType extends OpenFin.EntityType> {
6214
6305
  readonly Interop: InteropModule;
6215
6306
  readonly SnapshotSource: SnapshotSourceModule;
6216
6307
  readonly NotificationManager: NotificationManagerModule;
6308
+ readonly ChromeBrowser: OpenFin.ChromeBrowser;
6217
6309
  /**
6218
6310
  * Provides access to the OpenFin representation of the current code context (usually an entity
6219
6311
  * such as a {@link OpenFin.View} or {@link OpenFin.Window}), as well as to the current `Interop` context.
@@ -10599,6 +10691,7 @@ declare namespace OpenFin {
10599
10691
  SnapshotSource,
10600
10692
  SnapshotSourceModule,
10601
10693
  System,
10694
+ Readable,
10602
10695
  LayoutEntityDefinition,
10603
10696
  LayoutEntityTypes,
10604
10697
  LayoutPosition,
@@ -10631,6 +10724,10 @@ declare namespace OpenFin {
10631
10724
  AnchorLocation,
10632
10725
  Anchor,
10633
10726
  DownloadBubbleOptions,
10727
+ ExtensionId,
10728
+ ExtensionActionListItem,
10729
+ ExtensionActionInvokeOptions,
10730
+ ChromeBrowserActions,
10634
10731
  DisplayMetadata,
10635
10732
  LegacyWinOptionsInAppOptions,
10636
10733
  Snapshot,
@@ -10996,6 +11093,7 @@ declare namespace OpenFin {
10996
11093
  InteropClientEvent,
10997
11094
  ClientChangedContextGroup,
10998
11095
  InteropClientEvents,
11096
+ ChromeBrowser,
10999
11097
  ApplicationEvents,
11000
11098
  BaseEvents,
11001
11099
  ExternalApplicationEvents,
@@ -12665,6 +12763,38 @@ declare interface PlatformProvider {
12665
12763
  * @returns A promise resolving to `true` if the window should prevent the app from quitting, otherwise `false`.
12666
12764
  */
12667
12765
  shouldWindowPreventQuit(windowIdentity: OpenFin.Identity): Promise<boolean>;
12766
+ /**
12767
+ * Returns the platform's keyboard commands. Default implementation returns the manifest's
12768
+ * `platform.commands`. Override to inject additional default commands.
12769
+ * Called once during Platform.init; the result is cached for the lifetime
12770
+ * of the platform.
12771
+ *
12772
+ * @remarks
12773
+ * The returned commands are merged with core's built-in default commands
12774
+ * (unless `disableDefaultCommands` is set).
12775
+ * Overriders receive the raw manifest commands from `super` and can prepend
12776
+ * their own defaults — returned commands override default commands by command name.
12777
+ *
12778
+ * @example
12779
+ * ```js
12780
+ * const overrideCallback = (PlatformProvider) => {
12781
+ * class Override extends PlatformProvider {
12782
+ * getKeyboardCommands() {
12783
+ * const manifestCommands = super.getKeyboardCommands();
12784
+ * const myCommands = [{ command: 'myApp.search', keys: 'Ctrl+K' }];
12785
+ * return [
12786
+ * ...myCommands,
12787
+ * ...manifestCommands
12788
+ * ];
12789
+ * }
12790
+ * }
12791
+ * return new Override();
12792
+ * }
12793
+ *
12794
+ * fin.Platform.init({ overrideCallback });
12795
+ * ```
12796
+ */
12797
+ getKeyboardCommands(): OpenFin.ShortcutOverride[];
12668
12798
  /**
12669
12799
  * Method that is called every time an error occurs when processing an action in the Platform Provider. It is meant to be overriden, as a means to debug Platform applications
12670
12800
  */
@@ -13475,7 +13605,7 @@ declare type ProtocolMap = ExternalAdapterOnlyCallsMap & AnalyticsProtocolMap &
13475
13605
  }>;
13476
13606
  'destroy-view': IdentityCall;
13477
13607
  'attach-view': IdentityCall<{
13478
- target: OpenFin.Identity;
13608
+ target: OpenFin.Identity | OpenFin.LayoutIdentity;
13479
13609
  }>;
13480
13610
  'set-view-bounds': IdentityCall<{
13481
13611
  bounds: OpenFin.Bounds;
@@ -14136,6 +14266,14 @@ declare type ProtocolMap = ExternalAdapterOnlyCallsMap & AnalyticsProtocolMap &
14136
14266
  };
14137
14267
  response: void;
14138
14268
  };
14269
+ 'chrome-browser-get-extension-actions': ApiCall<{}, {
14270
+ actions: OpenFin.ExtensionActionListItem[];
14271
+ }>;
14272
+ 'chrome-browser-invoke-extension-action': ApiCall<{
14273
+ extensionId: string;
14274
+ anchor: OpenFin.Anchor;
14275
+ }, void>;
14276
+ 'chrome-browser-hide-active-extension-popup': ApiCall<{}, void>;
14139
14277
  };
14140
14278
 
14141
14279
  declare type ProtocolOffer = ClassicProtocolOffer | RTCProtocolOffer;
@@ -14232,6 +14370,21 @@ declare type QueryPermissionResult = {
14232
14370
  rawValue?: unknown;
14233
14371
  };
14234
14372
 
14373
+ /**
14374
+ * A readonly implementation of the observable pattern.
14375
+ * Frameworks and vanilla consumers use this to read state and subscribe to changes.
14376
+ */
14377
+ declare interface Readable<T> {
14378
+ /** Synchronously returns the current value. */
14379
+ get(): T;
14380
+ /**
14381
+ * Subscribes to changes.
14382
+ * @param listener A callback that is invoked when the value changes.
14383
+ * @returns An unsubscribe function to clean up the listener.
14384
+ */
14385
+ subscribe(listener: () => void): () => void;
14386
+ }
14387
+
14235
14388
  /**
14236
14389
  * @interface
14237
14390
  */
@@ -15272,13 +15425,15 @@ declare class System extends EmitterBase<OpenFin.SystemEvent> {
15272
15425
  * * cookies: browser [cookies](https://developer.mozilla.org/en-US/docs/Web/HTTP/Cookies)
15273
15426
  * * localStorage: browser data that can be used across sessions ([local storage](https://developer.mozilla.org/en-US/docs/Web/API/Window/localStorage))
15274
15427
  * * appcache: html5 [application cache](https://developer.mozilla.org/en-US/docs/Web/HTML/Using_the_application_cache)
15428
+ * * windowState: clears data written for windows using `saveWindowState`; after clearing, previously saved bounds and state will not be restored until new state is written
15275
15429
  * @example
15276
15430
  * ```js
15277
15431
  * const clearCacheOptions = {
15278
15432
  * appcache: true,
15279
15433
  * cache: true,
15280
15434
  * cookies: true,
15281
- * localStorage: true
15435
+ * localStorage: true,
15436
+ * windowState: true
15282
15437
  * };
15283
15438
  * fin.System.clearCache(clearCacheOptions).then(() => console.log('Cache cleared')).catch(err => console.log(err));
15284
15439
  * ```
@@ -15303,12 +15458,16 @@ declare class System extends EmitterBase<OpenFin.SystemEvent> {
15303
15458
  *
15304
15459
  * @param options - Optional configuration for what data to clear
15305
15460
  *
15461
+ * @remarks Set `windowState: true` to also clear data written for windows using `saveWindowState`.
15462
+ * After this data is cleared, previously saved bounds and state will not be restored until new state is written again.
15463
+ *
15306
15464
  * @example
15307
15465
  * ```js
15308
15466
  * // Clear only cookies and localStorage for a specific origin
15309
15467
  * await fin.System.clearCacheData({
15310
15468
  * dataTypes: ['cookies', 'localStorage'],
15311
- * origins: ['http://localhost:8081']
15469
+ * origins: ['http://localhost:8081'],
15470
+ * windowState: true
15312
15471
  * });
15313
15472
  *
15314
15473
  * // Clear everything except for a specific origin
@@ -17872,7 +18031,7 @@ declare class View_2 extends WebContents<OpenFin.ViewEvent> {
17872
18031
  * ```
17873
18032
  * @experimental
17874
18033
  */
17875
- attach: (target: OpenFin.Identity) => Promise<void>;
18034
+ attach: (target: OpenFin.Identity | OpenFin.LayoutIdentity) => Promise<void>;
17876
18035
  /**
17877
18036
  * Destroys the current view
17878
18037
  *
@@ -18296,7 +18455,7 @@ declare type ViewCreationFailure = {
18296
18455
  declare type ViewCreationOptions = Partial<ViewOptions> & {
18297
18456
  name: string;
18298
18457
  url: string;
18299
- target: Identity_4;
18458
+ target: Identity_4 | LayoutIdentity;
18300
18459
  };
18301
18460
 
18302
18461
  declare type ViewCreationOrReference = OpenFin.Identity | OpenFin.PlatformViewCreationOptions;
@@ -3101,6 +3101,53 @@ declare type ChildWindowCreatedEvent = ContentCreationRulesEvent & {
3101
3101
  childOptions: OpenFin.WindowOptions;
3102
3102
  };
3103
3103
 
3104
+ /**
3105
+ * End of Interop Client Events
3106
+ */
3107
+ /**
3108
+ * Client-side handle for the chrome-browser feature.
3109
+ *
3110
+ * For Chrome extension integration to be active on a window, that window must be
3111
+ * created with `chromeBrowser: true` in its window options. There is no separate
3112
+ * `init()` step.
3113
+ */
3114
+ declare interface ChromeBrowser {
3115
+ /**
3116
+ * Extension action surface — observe and invoke installed Chrome extension actions.
3117
+ */
3118
+ readonly Actions: ChromeBrowserActions;
3119
+ }
3120
+
3121
+ /**
3122
+ * APIs for interacting with Chromium extension actions from an initialized ChromeBrowser window.
3123
+ *
3124
+ * @interface
3125
+ */
3126
+ declare interface ChromeBrowserActions {
3127
+ /**
3128
+ * Returns the current list of extension actions with the minimal render state
3129
+ * required to build a toolbar UI.
3130
+ */
3131
+ getExtensionActions(): Promise<ExtensionActionListItem[]>;
3132
+ /**
3133
+ * Executes the specified extension action.
3134
+ *
3135
+ * @remarks
3136
+ * This may trigger an extension popup to be shown by the Runtime if the extension
3137
+ * has a popup configured for the currently active tab.
3138
+ */
3139
+ invokeExtensionAction(options: ExtensionActionInvokeOptions): Promise<void>;
3140
+ /**
3141
+ * Hides the active extension popup, if any.
3142
+ */
3143
+ hideActiveExtensionPopup(): Promise<void>;
3144
+ /**
3145
+ * Reactive value reflecting the current extension action list.
3146
+ * Compatible with React's `useSyncExternalStore`.
3147
+ */
3148
+ readonly state: Readable<ExtensionActionListItem[]>;
3149
+ }
3150
+
3104
3151
  /**
3105
3152
  * Control behavior for Chromium policies
3106
3153
  *
@@ -3141,6 +3188,11 @@ declare type ClearCacheOption = {
3141
3188
  * browser data that can be used across sessions
3142
3189
  */
3143
3190
  localStorage?: boolean;
3191
+ /**
3192
+ * Clears saved window-state data written for windows that use `saveWindowState`.
3193
+ * After this data is cleared, previously persisted bounds and state (Maximized/Minimized) will not be restored until new state is written again.
3194
+ */
3195
+ windowState?: boolean;
3144
3196
  };
3145
3197
 
3146
3198
  /**
@@ -3183,6 +3235,11 @@ declare type ClearDataOptions = {
3183
3235
  * - `origin-in-all-contexts` - Storage is matched on origin only in all contexts.
3184
3236
  */
3185
3237
  originMatchingMode?: 'third-parties-included' | 'origin-in-all-contexts';
3238
+ /**
3239
+ * Clears saved window-state data written for windows that use `saveWindowState`.
3240
+ * After this data is cleared, previously persisted bounds and state (Maximized/Minimized) will not be restored until new state is written again.
3241
+ */
3242
+ windowState?: boolean;
3186
3243
  };
3187
3244
 
3188
3245
  /**
@@ -5418,6 +5475,33 @@ declare type ExitCode = {
5418
5475
  exitCode: number;
5419
5476
  };
5420
5477
 
5478
+ /**
5479
+ * Options for invoking an extension action.
5480
+ *
5481
+ * @interface
5482
+ */
5483
+ declare type ExtensionActionInvokeOptions = {
5484
+ extensionId: ExtensionId;
5485
+ /** Anchor in window client coordinates (from getBoundingClientRect). */
5486
+ anchor: Anchor;
5487
+ };
5488
+
5489
+ /**
5490
+ * Minimal UI model required to render a list of extension actions.
5491
+ *
5492
+ * @interface
5493
+ */
5494
+ declare type ExtensionActionListItem = {
5495
+ /** Stable ID for the extension that owns this action. */
5496
+ extensionId: ExtensionId;
5497
+ /** Whether to show the action button for the current context (active tab). */
5498
+ isVisible: boolean;
5499
+ /** Accessible label / title for the action button. */
5500
+ title: string;
5501
+ /** Renderer-safe icon (data URL). */
5502
+ iconDataUrl: string;
5503
+ };
5504
+
5421
5505
  declare type ExtensionEvent = SecurityRealmEvent & {
5422
5506
  /**
5423
5507
  * Runtime extension whose status has been (possibly) modified
@@ -5425,6 +5509,13 @@ declare type ExtensionEvent = SecurityRealmEvent & {
5425
5509
  extension: string;
5426
5510
  };
5427
5511
 
5512
+ /**
5513
+ * Unique identifier of a Chromium extension.
5514
+ *
5515
+ * @interface
5516
+ */
5517
+ declare type ExtensionId = string;
5518
+
5428
5519
  /**
5429
5520
  * @interface
5430
5521
  */
@@ -6214,6 +6305,7 @@ declare interface FinApi<MeType extends OpenFin.EntityType> {
6214
6305
  readonly Interop: InteropModule;
6215
6306
  readonly SnapshotSource: SnapshotSourceModule;
6216
6307
  readonly NotificationManager: NotificationManagerModule;
6308
+ readonly ChromeBrowser: OpenFin.ChromeBrowser;
6217
6309
  /**
6218
6310
  * Provides access to the OpenFin representation of the current code context (usually an entity
6219
6311
  * such as a {@link OpenFin.View} or {@link OpenFin.Window}), as well as to the current `Interop` context.
@@ -10599,6 +10691,7 @@ declare namespace OpenFin {
10599
10691
  SnapshotSource,
10600
10692
  SnapshotSourceModule,
10601
10693
  System,
10694
+ Readable,
10602
10695
  LayoutEntityDefinition,
10603
10696
  LayoutEntityTypes,
10604
10697
  LayoutPosition,
@@ -10631,6 +10724,10 @@ declare namespace OpenFin {
10631
10724
  AnchorLocation,
10632
10725
  Anchor,
10633
10726
  DownloadBubbleOptions,
10727
+ ExtensionId,
10728
+ ExtensionActionListItem,
10729
+ ExtensionActionInvokeOptions,
10730
+ ChromeBrowserActions,
10634
10731
  DisplayMetadata,
10635
10732
  LegacyWinOptionsInAppOptions,
10636
10733
  Snapshot,
@@ -10996,6 +11093,7 @@ declare namespace OpenFin {
10996
11093
  InteropClientEvent,
10997
11094
  ClientChangedContextGroup,
10998
11095
  InteropClientEvents,
11096
+ ChromeBrowser,
10999
11097
  ApplicationEvents,
11000
11098
  BaseEvents,
11001
11099
  ExternalApplicationEvents,
@@ -12665,6 +12763,38 @@ declare interface PlatformProvider {
12665
12763
  * @returns A promise resolving to `true` if the window should prevent the app from quitting, otherwise `false`.
12666
12764
  */
12667
12765
  shouldWindowPreventQuit(windowIdentity: OpenFin.Identity): Promise<boolean>;
12766
+ /**
12767
+ * Returns the platform's keyboard commands. Default implementation returns the manifest's
12768
+ * `platform.commands`. Override to inject additional default commands.
12769
+ * Called once during Platform.init; the result is cached for the lifetime
12770
+ * of the platform.
12771
+ *
12772
+ * @remarks
12773
+ * The returned commands are merged with core's built-in default commands
12774
+ * (unless `disableDefaultCommands` is set).
12775
+ * Overriders receive the raw manifest commands from `super` and can prepend
12776
+ * their own defaults — returned commands override default commands by command name.
12777
+ *
12778
+ * @example
12779
+ * ```js
12780
+ * const overrideCallback = (PlatformProvider) => {
12781
+ * class Override extends PlatformProvider {
12782
+ * getKeyboardCommands() {
12783
+ * const manifestCommands = super.getKeyboardCommands();
12784
+ * const myCommands = [{ command: 'myApp.search', keys: 'Ctrl+K' }];
12785
+ * return [
12786
+ * ...myCommands,
12787
+ * ...manifestCommands
12788
+ * ];
12789
+ * }
12790
+ * }
12791
+ * return new Override();
12792
+ * }
12793
+ *
12794
+ * fin.Platform.init({ overrideCallback });
12795
+ * ```
12796
+ */
12797
+ getKeyboardCommands(): OpenFin.ShortcutOverride[];
12668
12798
  /**
12669
12799
  * Method that is called every time an error occurs when processing an action in the Platform Provider. It is meant to be overriden, as a means to debug Platform applications
12670
12800
  */
@@ -13475,7 +13605,7 @@ declare type ProtocolMap = ExternalAdapterOnlyCallsMap & AnalyticsProtocolMap &
13475
13605
  }>;
13476
13606
  'destroy-view': IdentityCall;
13477
13607
  'attach-view': IdentityCall<{
13478
- target: OpenFin.Identity;
13608
+ target: OpenFin.Identity | OpenFin.LayoutIdentity;
13479
13609
  }>;
13480
13610
  'set-view-bounds': IdentityCall<{
13481
13611
  bounds: OpenFin.Bounds;
@@ -14136,6 +14266,14 @@ declare type ProtocolMap = ExternalAdapterOnlyCallsMap & AnalyticsProtocolMap &
14136
14266
  };
14137
14267
  response: void;
14138
14268
  };
14269
+ 'chrome-browser-get-extension-actions': ApiCall<{}, {
14270
+ actions: OpenFin.ExtensionActionListItem[];
14271
+ }>;
14272
+ 'chrome-browser-invoke-extension-action': ApiCall<{
14273
+ extensionId: string;
14274
+ anchor: OpenFin.Anchor;
14275
+ }, void>;
14276
+ 'chrome-browser-hide-active-extension-popup': ApiCall<{}, void>;
14139
14277
  };
14140
14278
 
14141
14279
  declare type ProtocolOffer = ClassicProtocolOffer | RTCProtocolOffer;
@@ -14232,6 +14370,21 @@ declare type QueryPermissionResult = {
14232
14370
  rawValue?: unknown;
14233
14371
  };
14234
14372
 
14373
+ /**
14374
+ * A readonly implementation of the observable pattern.
14375
+ * Frameworks and vanilla consumers use this to read state and subscribe to changes.
14376
+ */
14377
+ declare interface Readable<T> {
14378
+ /** Synchronously returns the current value. */
14379
+ get(): T;
14380
+ /**
14381
+ * Subscribes to changes.
14382
+ * @param listener A callback that is invoked when the value changes.
14383
+ * @returns An unsubscribe function to clean up the listener.
14384
+ */
14385
+ subscribe(listener: () => void): () => void;
14386
+ }
14387
+
14235
14388
  /**
14236
14389
  * @interface
14237
14390
  */
@@ -15272,13 +15425,15 @@ declare class System extends EmitterBase<OpenFin.SystemEvent> {
15272
15425
  * * cookies: browser [cookies](https://developer.mozilla.org/en-US/docs/Web/HTTP/Cookies)
15273
15426
  * * localStorage: browser data that can be used across sessions ([local storage](https://developer.mozilla.org/en-US/docs/Web/API/Window/localStorage))
15274
15427
  * * appcache: html5 [application cache](https://developer.mozilla.org/en-US/docs/Web/HTML/Using_the_application_cache)
15428
+ * * windowState: clears data written for windows using `saveWindowState`; after clearing, previously saved bounds and state will not be restored until new state is written
15275
15429
  * @example
15276
15430
  * ```js
15277
15431
  * const clearCacheOptions = {
15278
15432
  * appcache: true,
15279
15433
  * cache: true,
15280
15434
  * cookies: true,
15281
- * localStorage: true
15435
+ * localStorage: true,
15436
+ * windowState: true
15282
15437
  * };
15283
15438
  * fin.System.clearCache(clearCacheOptions).then(() => console.log('Cache cleared')).catch(err => console.log(err));
15284
15439
  * ```
@@ -15303,12 +15458,16 @@ declare class System extends EmitterBase<OpenFin.SystemEvent> {
15303
15458
  *
15304
15459
  * @param options - Optional configuration for what data to clear
15305
15460
  *
15461
+ * @remarks Set `windowState: true` to also clear data written for windows using `saveWindowState`.
15462
+ * After this data is cleared, previously saved bounds and state will not be restored until new state is written again.
15463
+ *
15306
15464
  * @example
15307
15465
  * ```js
15308
15466
  * // Clear only cookies and localStorage for a specific origin
15309
15467
  * await fin.System.clearCacheData({
15310
15468
  * dataTypes: ['cookies', 'localStorage'],
15311
- * origins: ['http://localhost:8081']
15469
+ * origins: ['http://localhost:8081'],
15470
+ * windowState: true
15312
15471
  * });
15313
15472
  *
15314
15473
  * // Clear everything except for a specific origin
@@ -17872,7 +18031,7 @@ declare class View_2 extends WebContents<OpenFin.ViewEvent> {
17872
18031
  * ```
17873
18032
  * @experimental
17874
18033
  */
17875
- attach: (target: OpenFin.Identity) => Promise<void>;
18034
+ attach: (target: OpenFin.Identity | OpenFin.LayoutIdentity) => Promise<void>;
17876
18035
  /**
17877
18036
  * Destroys the current view
17878
18037
  *
@@ -18296,7 +18455,7 @@ declare type ViewCreationFailure = {
18296
18455
  declare type ViewCreationOptions = Partial<ViewOptions> & {
18297
18456
  name: string;
18298
18457
  url: string;
18299
- target: Identity_4;
18458
+ target: Identity_4 | LayoutIdentity;
18300
18459
  };
18301
18460
 
18302
18461
  declare type ViewCreationOrReference = OpenFin.Identity | OpenFin.PlatformViewCreationOptions;
@@ -3101,6 +3101,53 @@ declare type ChildWindowCreatedEvent = ContentCreationRulesEvent & {
3101
3101
  childOptions: OpenFin.WindowOptions;
3102
3102
  };
3103
3103
 
3104
+ /**
3105
+ * End of Interop Client Events
3106
+ */
3107
+ /**
3108
+ * Client-side handle for the chrome-browser feature.
3109
+ *
3110
+ * For Chrome extension integration to be active on a window, that window must be
3111
+ * created with `chromeBrowser: true` in its window options. There is no separate
3112
+ * `init()` step.
3113
+ */
3114
+ declare interface ChromeBrowser {
3115
+ /**
3116
+ * Extension action surface — observe and invoke installed Chrome extension actions.
3117
+ */
3118
+ readonly Actions: ChromeBrowserActions;
3119
+ }
3120
+
3121
+ /**
3122
+ * APIs for interacting with Chromium extension actions from an initialized ChromeBrowser window.
3123
+ *
3124
+ * @interface
3125
+ */
3126
+ declare interface ChromeBrowserActions {
3127
+ /**
3128
+ * Returns the current list of extension actions with the minimal render state
3129
+ * required to build a toolbar UI.
3130
+ */
3131
+ getExtensionActions(): Promise<ExtensionActionListItem[]>;
3132
+ /**
3133
+ * Executes the specified extension action.
3134
+ *
3135
+ * @remarks
3136
+ * This may trigger an extension popup to be shown by the Runtime if the extension
3137
+ * has a popup configured for the currently active tab.
3138
+ */
3139
+ invokeExtensionAction(options: ExtensionActionInvokeOptions): Promise<void>;
3140
+ /**
3141
+ * Hides the active extension popup, if any.
3142
+ */
3143
+ hideActiveExtensionPopup(): Promise<void>;
3144
+ /**
3145
+ * Reactive value reflecting the current extension action list.
3146
+ * Compatible with React's `useSyncExternalStore`.
3147
+ */
3148
+ readonly state: Readable<ExtensionActionListItem[]>;
3149
+ }
3150
+
3104
3151
  /**
3105
3152
  * Control behavior for Chromium policies
3106
3153
  *
@@ -3141,6 +3188,11 @@ declare type ClearCacheOption = {
3141
3188
  * browser data that can be used across sessions
3142
3189
  */
3143
3190
  localStorage?: boolean;
3191
+ /**
3192
+ * Clears saved window-state data written for windows that use `saveWindowState`.
3193
+ * After this data is cleared, previously persisted bounds and state (Maximized/Minimized) will not be restored until new state is written again.
3194
+ */
3195
+ windowState?: boolean;
3144
3196
  };
3145
3197
 
3146
3198
  /**
@@ -3183,6 +3235,11 @@ declare type ClearDataOptions = {
3183
3235
  * - `origin-in-all-contexts` - Storage is matched on origin only in all contexts.
3184
3236
  */
3185
3237
  originMatchingMode?: 'third-parties-included' | 'origin-in-all-contexts';
3238
+ /**
3239
+ * Clears saved window-state data written for windows that use `saveWindowState`.
3240
+ * After this data is cleared, previously persisted bounds and state (Maximized/Minimized) will not be restored until new state is written again.
3241
+ */
3242
+ windowState?: boolean;
3186
3243
  };
3187
3244
 
3188
3245
  /**
@@ -5418,6 +5475,33 @@ declare type ExitCode = {
5418
5475
  exitCode: number;
5419
5476
  };
5420
5477
 
5478
+ /**
5479
+ * Options for invoking an extension action.
5480
+ *
5481
+ * @interface
5482
+ */
5483
+ declare type ExtensionActionInvokeOptions = {
5484
+ extensionId: ExtensionId;
5485
+ /** Anchor in window client coordinates (from getBoundingClientRect). */
5486
+ anchor: Anchor;
5487
+ };
5488
+
5489
+ /**
5490
+ * Minimal UI model required to render a list of extension actions.
5491
+ *
5492
+ * @interface
5493
+ */
5494
+ declare type ExtensionActionListItem = {
5495
+ /** Stable ID for the extension that owns this action. */
5496
+ extensionId: ExtensionId;
5497
+ /** Whether to show the action button for the current context (active tab). */
5498
+ isVisible: boolean;
5499
+ /** Accessible label / title for the action button. */
5500
+ title: string;
5501
+ /** Renderer-safe icon (data URL). */
5502
+ iconDataUrl: string;
5503
+ };
5504
+
5421
5505
  declare type ExtensionEvent = SecurityRealmEvent & {
5422
5506
  /**
5423
5507
  * Runtime extension whose status has been (possibly) modified
@@ -5425,6 +5509,13 @@ declare type ExtensionEvent = SecurityRealmEvent & {
5425
5509
  extension: string;
5426
5510
  };
5427
5511
 
5512
+ /**
5513
+ * Unique identifier of a Chromium extension.
5514
+ *
5515
+ * @interface
5516
+ */
5517
+ declare type ExtensionId = string;
5518
+
5428
5519
  /**
5429
5520
  * @interface
5430
5521
  */
@@ -6214,6 +6305,7 @@ declare interface FinApi<MeType extends OpenFin.EntityType> {
6214
6305
  readonly Interop: InteropModule;
6215
6306
  readonly SnapshotSource: SnapshotSourceModule;
6216
6307
  readonly NotificationManager: NotificationManagerModule;
6308
+ readonly ChromeBrowser: OpenFin.ChromeBrowser;
6217
6309
  /**
6218
6310
  * Provides access to the OpenFin representation of the current code context (usually an entity
6219
6311
  * such as a {@link OpenFin.View} or {@link OpenFin.Window}), as well as to the current `Interop` context.
@@ -10599,6 +10691,7 @@ declare namespace OpenFin {
10599
10691
  SnapshotSource,
10600
10692
  SnapshotSourceModule,
10601
10693
  System,
10694
+ Readable,
10602
10695
  LayoutEntityDefinition,
10603
10696
  LayoutEntityTypes,
10604
10697
  LayoutPosition,
@@ -10631,6 +10724,10 @@ declare namespace OpenFin {
10631
10724
  AnchorLocation,
10632
10725
  Anchor,
10633
10726
  DownloadBubbleOptions,
10727
+ ExtensionId,
10728
+ ExtensionActionListItem,
10729
+ ExtensionActionInvokeOptions,
10730
+ ChromeBrowserActions,
10634
10731
  DisplayMetadata,
10635
10732
  LegacyWinOptionsInAppOptions,
10636
10733
  Snapshot,
@@ -10996,6 +11093,7 @@ declare namespace OpenFin {
10996
11093
  InteropClientEvent,
10997
11094
  ClientChangedContextGroup,
10998
11095
  InteropClientEvents,
11096
+ ChromeBrowser,
10999
11097
  ApplicationEvents,
11000
11098
  BaseEvents,
11001
11099
  ExternalApplicationEvents,
@@ -12665,6 +12763,38 @@ declare interface PlatformProvider {
12665
12763
  * @returns A promise resolving to `true` if the window should prevent the app from quitting, otherwise `false`.
12666
12764
  */
12667
12765
  shouldWindowPreventQuit(windowIdentity: OpenFin.Identity): Promise<boolean>;
12766
+ /**
12767
+ * Returns the platform's keyboard commands. Default implementation returns the manifest's
12768
+ * `platform.commands`. Override to inject additional default commands.
12769
+ * Called once during Platform.init; the result is cached for the lifetime
12770
+ * of the platform.
12771
+ *
12772
+ * @remarks
12773
+ * The returned commands are merged with core's built-in default commands
12774
+ * (unless `disableDefaultCommands` is set).
12775
+ * Overriders receive the raw manifest commands from `super` and can prepend
12776
+ * their own defaults — returned commands override default commands by command name.
12777
+ *
12778
+ * @example
12779
+ * ```js
12780
+ * const overrideCallback = (PlatformProvider) => {
12781
+ * class Override extends PlatformProvider {
12782
+ * getKeyboardCommands() {
12783
+ * const manifestCommands = super.getKeyboardCommands();
12784
+ * const myCommands = [{ command: 'myApp.search', keys: 'Ctrl+K' }];
12785
+ * return [
12786
+ * ...myCommands,
12787
+ * ...manifestCommands
12788
+ * ];
12789
+ * }
12790
+ * }
12791
+ * return new Override();
12792
+ * }
12793
+ *
12794
+ * fin.Platform.init({ overrideCallback });
12795
+ * ```
12796
+ */
12797
+ getKeyboardCommands(): OpenFin.ShortcutOverride[];
12668
12798
  /**
12669
12799
  * Method that is called every time an error occurs when processing an action in the Platform Provider. It is meant to be overriden, as a means to debug Platform applications
12670
12800
  */
@@ -13475,7 +13605,7 @@ declare type ProtocolMap = ExternalAdapterOnlyCallsMap & AnalyticsProtocolMap &
13475
13605
  }>;
13476
13606
  'destroy-view': IdentityCall;
13477
13607
  'attach-view': IdentityCall<{
13478
- target: OpenFin.Identity;
13608
+ target: OpenFin.Identity | OpenFin.LayoutIdentity;
13479
13609
  }>;
13480
13610
  'set-view-bounds': IdentityCall<{
13481
13611
  bounds: OpenFin.Bounds;
@@ -14136,6 +14266,14 @@ declare type ProtocolMap = ExternalAdapterOnlyCallsMap & AnalyticsProtocolMap &
14136
14266
  };
14137
14267
  response: void;
14138
14268
  };
14269
+ 'chrome-browser-get-extension-actions': ApiCall<{}, {
14270
+ actions: OpenFin.ExtensionActionListItem[];
14271
+ }>;
14272
+ 'chrome-browser-invoke-extension-action': ApiCall<{
14273
+ extensionId: string;
14274
+ anchor: OpenFin.Anchor;
14275
+ }, void>;
14276
+ 'chrome-browser-hide-active-extension-popup': ApiCall<{}, void>;
14139
14277
  };
14140
14278
 
14141
14279
  declare type ProtocolOffer = ClassicProtocolOffer | RTCProtocolOffer;
@@ -14232,6 +14370,21 @@ declare type QueryPermissionResult = {
14232
14370
  rawValue?: unknown;
14233
14371
  };
14234
14372
 
14373
+ /**
14374
+ * A readonly implementation of the observable pattern.
14375
+ * Frameworks and vanilla consumers use this to read state and subscribe to changes.
14376
+ */
14377
+ declare interface Readable<T> {
14378
+ /** Synchronously returns the current value. */
14379
+ get(): T;
14380
+ /**
14381
+ * Subscribes to changes.
14382
+ * @param listener A callback that is invoked when the value changes.
14383
+ * @returns An unsubscribe function to clean up the listener.
14384
+ */
14385
+ subscribe(listener: () => void): () => void;
14386
+ }
14387
+
14235
14388
  /**
14236
14389
  * @interface
14237
14390
  */
@@ -15272,13 +15425,15 @@ declare class System extends EmitterBase<OpenFin.SystemEvent> {
15272
15425
  * * cookies: browser [cookies](https://developer.mozilla.org/en-US/docs/Web/HTTP/Cookies)
15273
15426
  * * localStorage: browser data that can be used across sessions ([local storage](https://developer.mozilla.org/en-US/docs/Web/API/Window/localStorage))
15274
15427
  * * appcache: html5 [application cache](https://developer.mozilla.org/en-US/docs/Web/HTML/Using_the_application_cache)
15428
+ * * windowState: clears data written for windows using `saveWindowState`; after clearing, previously saved bounds and state will not be restored until new state is written
15275
15429
  * @example
15276
15430
  * ```js
15277
15431
  * const clearCacheOptions = {
15278
15432
  * appcache: true,
15279
15433
  * cache: true,
15280
15434
  * cookies: true,
15281
- * localStorage: true
15435
+ * localStorage: true,
15436
+ * windowState: true
15282
15437
  * };
15283
15438
  * fin.System.clearCache(clearCacheOptions).then(() => console.log('Cache cleared')).catch(err => console.log(err));
15284
15439
  * ```
@@ -15303,12 +15458,16 @@ declare class System extends EmitterBase<OpenFin.SystemEvent> {
15303
15458
  *
15304
15459
  * @param options - Optional configuration for what data to clear
15305
15460
  *
15461
+ * @remarks Set `windowState: true` to also clear data written for windows using `saveWindowState`.
15462
+ * After this data is cleared, previously saved bounds and state will not be restored until new state is written again.
15463
+ *
15306
15464
  * @example
15307
15465
  * ```js
15308
15466
  * // Clear only cookies and localStorage for a specific origin
15309
15467
  * await fin.System.clearCacheData({
15310
15468
  * dataTypes: ['cookies', 'localStorage'],
15311
- * origins: ['http://localhost:8081']
15469
+ * origins: ['http://localhost:8081'],
15470
+ * windowState: true
15312
15471
  * });
15313
15472
  *
15314
15473
  * // Clear everything except for a specific origin
@@ -17872,7 +18031,7 @@ declare class View_2 extends WebContents<OpenFin.ViewEvent> {
17872
18031
  * ```
17873
18032
  * @experimental
17874
18033
  */
17875
- attach: (target: OpenFin.Identity) => Promise<void>;
18034
+ attach: (target: OpenFin.Identity | OpenFin.LayoutIdentity) => Promise<void>;
17876
18035
  /**
17877
18036
  * Destroys the current view
17878
18037
  *
@@ -18296,7 +18455,7 @@ declare type ViewCreationFailure = {
18296
18455
  declare type ViewCreationOptions = Partial<ViewOptions> & {
18297
18456
  name: string;
18298
18457
  url: string;
18299
- target: Identity_4;
18458
+ target: Identity_4 | LayoutIdentity;
18300
18459
  };
18301
18460
 
18302
18461
  declare type ViewCreationOrReference = OpenFin.Identity | OpenFin.PlatformViewCreationOptions;
package/out/fdc3-api.d.ts CHANGED
@@ -3157,6 +3157,53 @@ declare type ChildWindowCreatedEvent = ContentCreationRulesEvent & {
3157
3157
  childOptions: OpenFin.WindowOptions;
3158
3158
  };
3159
3159
 
3160
+ /**
3161
+ * End of Interop Client Events
3162
+ */
3163
+ /**
3164
+ * Client-side handle for the chrome-browser feature.
3165
+ *
3166
+ * For Chrome extension integration to be active on a window, that window must be
3167
+ * created with `chromeBrowser: true` in its window options. There is no separate
3168
+ * `init()` step.
3169
+ */
3170
+ declare interface ChromeBrowser {
3171
+ /**
3172
+ * Extension action surface — observe and invoke installed Chrome extension actions.
3173
+ */
3174
+ readonly Actions: ChromeBrowserActions;
3175
+ }
3176
+
3177
+ /**
3178
+ * APIs for interacting with Chromium extension actions from an initialized ChromeBrowser window.
3179
+ *
3180
+ * @interface
3181
+ */
3182
+ declare interface ChromeBrowserActions {
3183
+ /**
3184
+ * Returns the current list of extension actions with the minimal render state
3185
+ * required to build a toolbar UI.
3186
+ */
3187
+ getExtensionActions(): Promise<ExtensionActionListItem[]>;
3188
+ /**
3189
+ * Executes the specified extension action.
3190
+ *
3191
+ * @remarks
3192
+ * This may trigger an extension popup to be shown by the Runtime if the extension
3193
+ * has a popup configured for the currently active tab.
3194
+ */
3195
+ invokeExtensionAction(options: ExtensionActionInvokeOptions): Promise<void>;
3196
+ /**
3197
+ * Hides the active extension popup, if any.
3198
+ */
3199
+ hideActiveExtensionPopup(): Promise<void>;
3200
+ /**
3201
+ * Reactive value reflecting the current extension action list.
3202
+ * Compatible with React's `useSyncExternalStore`.
3203
+ */
3204
+ readonly state: Readable<ExtensionActionListItem[]>;
3205
+ }
3206
+
3160
3207
  /**
3161
3208
  * Control behavior for Chromium policies
3162
3209
  *
@@ -3197,6 +3244,11 @@ declare type ClearCacheOption = {
3197
3244
  * browser data that can be used across sessions
3198
3245
  */
3199
3246
  localStorage?: boolean;
3247
+ /**
3248
+ * Clears saved window-state data written for windows that use `saveWindowState`.
3249
+ * After this data is cleared, previously persisted bounds and state (Maximized/Minimized) will not be restored until new state is written again.
3250
+ */
3251
+ windowState?: boolean;
3200
3252
  };
3201
3253
 
3202
3254
  /**
@@ -3239,6 +3291,11 @@ declare type ClearDataOptions = {
3239
3291
  * - `origin-in-all-contexts` - Storage is matched on origin only in all contexts.
3240
3292
  */
3241
3293
  originMatchingMode?: 'third-parties-included' | 'origin-in-all-contexts';
3294
+ /**
3295
+ * Clears saved window-state data written for windows that use `saveWindowState`.
3296
+ * After this data is cleared, previously persisted bounds and state (Maximized/Minimized) will not be restored until new state is written again.
3297
+ */
3298
+ windowState?: boolean;
3242
3299
  };
3243
3300
 
3244
3301
  /**
@@ -5500,6 +5557,33 @@ declare type ExitCode = {
5500
5557
  exitCode: number;
5501
5558
  };
5502
5559
 
5560
+ /**
5561
+ * Options for invoking an extension action.
5562
+ *
5563
+ * @interface
5564
+ */
5565
+ declare type ExtensionActionInvokeOptions = {
5566
+ extensionId: ExtensionId;
5567
+ /** Anchor in window client coordinates (from getBoundingClientRect). */
5568
+ anchor: Anchor;
5569
+ };
5570
+
5571
+ /**
5572
+ * Minimal UI model required to render a list of extension actions.
5573
+ *
5574
+ * @interface
5575
+ */
5576
+ declare type ExtensionActionListItem = {
5577
+ /** Stable ID for the extension that owns this action. */
5578
+ extensionId: ExtensionId;
5579
+ /** Whether to show the action button for the current context (active tab). */
5580
+ isVisible: boolean;
5581
+ /** Accessible label / title for the action button. */
5582
+ title: string;
5583
+ /** Renderer-safe icon (data URL). */
5584
+ iconDataUrl: string;
5585
+ };
5586
+
5503
5587
  declare type ExtensionEvent = SecurityRealmEvent & {
5504
5588
  /**
5505
5589
  * Runtime extension whose status has been (possibly) modified
@@ -5507,6 +5591,13 @@ declare type ExtensionEvent = SecurityRealmEvent & {
5507
5591
  extension: string;
5508
5592
  };
5509
5593
 
5594
+ /**
5595
+ * Unique identifier of a Chromium extension.
5596
+ *
5597
+ * @interface
5598
+ */
5599
+ declare type ExtensionId = string;
5600
+
5510
5601
  /**
5511
5602
  * @interface
5512
5603
  */
@@ -6299,6 +6390,7 @@ declare interface FinApi<MeType extends OpenFin.EntityType> {
6299
6390
  readonly Interop: InteropModule;
6300
6391
  readonly SnapshotSource: SnapshotSourceModule;
6301
6392
  readonly NotificationManager: NotificationManagerModule;
6393
+ readonly ChromeBrowser: OpenFin.ChromeBrowser;
6302
6394
  /**
6303
6395
  * Provides access to the OpenFin representation of the current code context (usually an entity
6304
6396
  * such as a {@link OpenFin.View} or {@link OpenFin.Window}), as well as to the current `Interop` context.
@@ -10933,6 +11025,7 @@ declare namespace OpenFin {
10933
11025
  SnapshotSource,
10934
11026
  SnapshotSourceModule,
10935
11027
  System,
11028
+ Readable,
10936
11029
  LayoutEntityDefinition,
10937
11030
  LayoutEntityTypes,
10938
11031
  LayoutPosition,
@@ -10965,6 +11058,10 @@ declare namespace OpenFin {
10965
11058
  AnchorLocation,
10966
11059
  Anchor,
10967
11060
  DownloadBubbleOptions,
11061
+ ExtensionId,
11062
+ ExtensionActionListItem,
11063
+ ExtensionActionInvokeOptions,
11064
+ ChromeBrowserActions,
10968
11065
  DisplayMetadata,
10969
11066
  LegacyWinOptionsInAppOptions,
10970
11067
  Snapshot,
@@ -11330,6 +11427,7 @@ declare namespace OpenFin {
11330
11427
  InteropClientEvent,
11331
11428
  ClientChangedContextGroup,
11332
11429
  InteropClientEvents,
11430
+ ChromeBrowser,
11333
11431
  ApplicationEvents,
11334
11432
  BaseEvents,
11335
11433
  ExternalApplicationEvents,
@@ -13082,6 +13180,38 @@ declare interface PlatformProvider {
13082
13180
  * @returns A promise resolving to `true` if the window should prevent the app from quitting, otherwise `false`.
13083
13181
  */
13084
13182
  shouldWindowPreventQuit(windowIdentity: OpenFin.Identity): Promise<boolean>;
13183
+ /**
13184
+ * Returns the platform's keyboard commands. Default implementation returns the manifest's
13185
+ * `platform.commands`. Override to inject additional default commands.
13186
+ * Called once during Platform.init; the result is cached for the lifetime
13187
+ * of the platform.
13188
+ *
13189
+ * @remarks
13190
+ * The returned commands are merged with core's built-in default commands
13191
+ * (unless `disableDefaultCommands` is set).
13192
+ * Overriders receive the raw manifest commands from `super` and can prepend
13193
+ * their own defaults — returned commands override default commands by command name.
13194
+ *
13195
+ * @example
13196
+ * ```js
13197
+ * const overrideCallback = (PlatformProvider) => {
13198
+ * class Override extends PlatformProvider {
13199
+ * getKeyboardCommands() {
13200
+ * const manifestCommands = super.getKeyboardCommands();
13201
+ * const myCommands = [{ command: 'myApp.search', keys: 'Ctrl+K' }];
13202
+ * return [
13203
+ * ...myCommands,
13204
+ * ...manifestCommands
13205
+ * ];
13206
+ * }
13207
+ * }
13208
+ * return new Override();
13209
+ * }
13210
+ *
13211
+ * fin.Platform.init({ overrideCallback });
13212
+ * ```
13213
+ */
13214
+ getKeyboardCommands(): OpenFin.ShortcutOverride[];
13085
13215
  /**
13086
13216
  * Method that is called every time an error occurs when processing an action in the Platform Provider. It is meant to be overriden, as a means to debug Platform applications
13087
13217
  */
@@ -13892,7 +14022,7 @@ declare type ProtocolMap = ExternalAdapterOnlyCallsMap & AnalyticsProtocolMap &
13892
14022
  }>;
13893
14023
  'destroy-view': IdentityCall;
13894
14024
  'attach-view': IdentityCall<{
13895
- target: OpenFin.Identity;
14025
+ target: OpenFin.Identity | OpenFin.LayoutIdentity;
13896
14026
  }>;
13897
14027
  'set-view-bounds': IdentityCall<{
13898
14028
  bounds: OpenFin.Bounds;
@@ -14553,6 +14683,14 @@ declare type ProtocolMap = ExternalAdapterOnlyCallsMap & AnalyticsProtocolMap &
14553
14683
  };
14554
14684
  response: void;
14555
14685
  };
14686
+ 'chrome-browser-get-extension-actions': ApiCall<{}, {
14687
+ actions: OpenFin.ExtensionActionListItem[];
14688
+ }>;
14689
+ 'chrome-browser-invoke-extension-action': ApiCall<{
14690
+ extensionId: string;
14691
+ anchor: OpenFin.Anchor;
14692
+ }, void>;
14693
+ 'chrome-browser-hide-active-extension-popup': ApiCall<{}, void>;
14556
14694
  };
14557
14695
 
14558
14696
  declare type ProtocolOffer = ClassicProtocolOffer | RTCProtocolOffer;
@@ -14649,6 +14787,21 @@ declare type QueryPermissionResult = {
14649
14787
  rawValue?: unknown;
14650
14788
  };
14651
14789
 
14790
+ /**
14791
+ * A readonly implementation of the observable pattern.
14792
+ * Frameworks and vanilla consumers use this to read state and subscribe to changes.
14793
+ */
14794
+ declare interface Readable<T> {
14795
+ /** Synchronously returns the current value. */
14796
+ get(): T;
14797
+ /**
14798
+ * Subscribes to changes.
14799
+ * @param listener A callback that is invoked when the value changes.
14800
+ * @returns An unsubscribe function to clean up the listener.
14801
+ */
14802
+ subscribe(listener: () => void): () => void;
14803
+ }
14804
+
14652
14805
  /**
14653
14806
  * @interface
14654
14807
  */
@@ -15695,13 +15848,15 @@ declare class System extends EmitterBase<OpenFin.SystemEvent> {
15695
15848
  * * cookies: browser [cookies](https://developer.mozilla.org/en-US/docs/Web/HTTP/Cookies)
15696
15849
  * * localStorage: browser data that can be used across sessions ([local storage](https://developer.mozilla.org/en-US/docs/Web/API/Window/localStorage))
15697
15850
  * * appcache: html5 [application cache](https://developer.mozilla.org/en-US/docs/Web/HTML/Using_the_application_cache)
15851
+ * * windowState: clears data written for windows using `saveWindowState`; after clearing, previously saved bounds and state will not be restored until new state is written
15698
15852
  * @example
15699
15853
  * ```js
15700
15854
  * const clearCacheOptions = {
15701
15855
  * appcache: true,
15702
15856
  * cache: true,
15703
15857
  * cookies: true,
15704
- * localStorage: true
15858
+ * localStorage: true,
15859
+ * windowState: true
15705
15860
  * };
15706
15861
  * fin.System.clearCache(clearCacheOptions).then(() => console.log('Cache cleared')).catch(err => console.log(err));
15707
15862
  * ```
@@ -15726,12 +15881,16 @@ declare class System extends EmitterBase<OpenFin.SystemEvent> {
15726
15881
  *
15727
15882
  * @param options - Optional configuration for what data to clear
15728
15883
  *
15884
+ * @remarks Set `windowState: true` to also clear data written for windows using `saveWindowState`.
15885
+ * After this data is cleared, previously saved bounds and state will not be restored until new state is written again.
15886
+ *
15729
15887
  * @example
15730
15888
  * ```js
15731
15889
  * // Clear only cookies and localStorage for a specific origin
15732
15890
  * await fin.System.clearCacheData({
15733
15891
  * dataTypes: ['cookies', 'localStorage'],
15734
- * origins: ['http://localhost:8081']
15892
+ * origins: ['http://localhost:8081'],
15893
+ * windowState: true
15735
15894
  * });
15736
15895
  *
15737
15896
  * // Clear everything except for a specific origin
@@ -18305,7 +18464,7 @@ declare class View_2 extends WebContents<OpenFin.ViewEvent> {
18305
18464
  * ```
18306
18465
  * @experimental
18307
18466
  */
18308
- attach: (target: OpenFin.Identity) => Promise<void>;
18467
+ attach: (target: OpenFin.Identity | OpenFin.LayoutIdentity) => Promise<void>;
18309
18468
  /**
18310
18469
  * Destroys the current view
18311
18470
  *
@@ -18763,7 +18922,7 @@ declare type ViewCreationFailure = {
18763
18922
  declare type ViewCreationOptions = Partial<ViewOptions> & {
18764
18923
  name: string;
18765
18924
  url: string;
18766
- target: Identity_4;
18925
+ target: Identity_4 | LayoutIdentity;
18767
18926
  };
18768
18927
 
18769
18928
  declare type ViewCreationOrReference = OpenFin.Identity | OpenFin.PlatformViewCreationOptions;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@openfin/fdc3-api",
3
- "version": "45.100.71",
3
+ "version": "45.100.73",
4
4
  "description": "OpenFin fdc3 module utilities and types.",
5
5
  "license": "SEE LICENSE IN LICENSE.md",
6
6
  "private": false,