@openfin/node-adapter 34.78.54 → 34.78.56

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.
@@ -3640,7 +3640,7 @@ declare type ConstWindowOptions = {
3640
3640
  /**
3641
3641
  * @defaultValue true
3642
3642
  *
3643
- * Toggling off would keep the Window alive even if all its Views were closed.
3643
+ * Setting this to false would keep the Window alive even if all its Views were closed.
3644
3644
  * This is meant for advanced users and should be used with caution.
3645
3645
  * Limitations - Once a Layout has been emptied out of all views it's not usable anymore, and certain API calls will fail.
3646
3646
  * Use `layout.replace` to create a fresh Layout instance in case you want to populate it with Views again.
@@ -3650,7 +3650,8 @@ declare type ConstWindowOptions = {
3650
3650
  /**
3651
3651
  * @defaultValue 'all'
3652
3652
  *
3653
- * Determines which views prevent close if `closeOnLastViewRemoved` is set to true. Defaults to `all`. You may want to switch this to `layout` if using View closeBehavior: 'hide'.
3653
+ * When `closeOnLastViewRemoved` is set to true, determines which views prevent closing the window.
3654
+ + * Defaults to `all`. You may want to switch this to `layout` if using View closeBehavior: 'hide'.
3654
3655
  * **NOTE:** - This option is ignored in non-Platforms apps.
3655
3656
  */
3656
3657
  viewsPreventingClose: 'all' | 'layout';
@@ -4457,7 +4458,7 @@ declare type CreateViewPayload = {
4457
4458
  /**
4458
4459
  * @interface
4459
4460
  */
4460
- declare type CreateViewTarget = LayoutIdentity & {
4461
+ declare type CreateViewTarget = (Identity_5 | LayoutIdentity) & {
4461
4462
  /**
4462
4463
  * If specified, view creation will not attach to a window and caller must
4463
4464
  * insert the view into the layout explicitly
@@ -4597,6 +4598,14 @@ declare type DestroyedEvent = BaseEvent_4 & {
4597
4598
  type: 'destroyed';
4598
4599
  };
4599
4600
 
4601
+ /**
4602
+ * @interface
4603
+ */
4604
+ declare type DeviceInfo = {
4605
+ vendorId: string | number;
4606
+ productId: string | number;
4607
+ };
4608
+
4600
4609
  /**
4601
4610
  * Generated when a page's theme color changes. This is usually due to encountering a meta tag.
4602
4611
  * @interface
@@ -5057,9 +5066,10 @@ declare type EntityTypeHelpers<T extends EntityType_2> = T extends 'view' ? {
5057
5066
  } : never;
5058
5067
 
5059
5068
  declare interface Environment {
5060
- initLayout(fin: OpenFin.Fin<OpenFin.EntityType>, wire: Transport, options: OpenFin.InitLayoutOptions): Promise<OpenFin.LayoutManager<OpenFin.LayoutSnapshot>>;
5069
+ initLayoutManager(fin: OpenFin.Fin<OpenFin.EntityType>, wire: Transport, options: OpenFin.InitLayoutOptions): Promise<OpenFin.LayoutManager<OpenFin.LayoutSnapshot>>;
5061
5070
  createLayout(layoutManager: OpenFin.LayoutManager<OpenFin.LayoutSnapshot>, options: OpenFin.CreateLayoutOptions): Promise<void>;
5062
5071
  destroyLayout(layoutManager: OpenFin.LayoutManager<OpenFin.LayoutSnapshot>, layoutIdentity: OpenFin.LayoutIdentity): Promise<void>;
5072
+ resolveLayout(layoutManager: OpenFin.LayoutManager<OpenFin.LayoutSnapshot>, layoutIdentity: OpenFin.LayoutIdentity): Promise<any>;
5063
5073
  initPlatform(fin: OpenFin.Fin<OpenFin.EntityType>, ...args: Parameters<OpenFin.Fin['Platform']['init']>): ReturnType<OpenFin.Fin['Platform']['init']>;
5064
5074
  observeBounds(element: Element, onChange: (bounds: DOMRect) => Promise<void> | void): () => void;
5065
5075
  writeToken(path: string, token: string): Promise<string>;
@@ -7441,7 +7451,7 @@ declare class InteropBroker extends Base {
7441
7451
  * // }
7442
7452
  * ```
7443
7453
  *
7444
- * More information on the IntentResolution type can be found in the [FDC3 documentation](https://fdc3.finos.org/docs/api/ref/IntentResolution).
7454
+ * More information on the IntentResolution type can be found in the [FDC3 documentation](https://fdc3.finos.org/docs/api/ref/Metadata#intentresolution).
7445
7455
  *
7446
7456
  * @param contextForIntent Data passed between entities and applications.
7447
7457
  * @param clientIdentity Identity of the Client making the request.
@@ -8617,7 +8627,7 @@ declare type LaunchIntoPlatformPayload = {
8617
8627
  declare class Layout extends Base {
8618
8628
  #private;
8619
8629
  /* Excluded from this release type: init */
8620
- identity: OpenFin.LayoutIdentity;
8630
+ identity: OpenFin.Identity | OpenFin.LayoutIdentity;
8621
8631
  private platform;
8622
8632
  wire: Transport;
8623
8633
  /* Excluded from this release type: __constructor */
@@ -8833,25 +8843,23 @@ declare type LayoutEntityTypes = Exclude<GoldenLayout.ItemType, 'component' | 'r
8833
8843
  */
8834
8844
  declare type LayoutIdentity = Identity_5 & {
8835
8845
  /**
8836
- * The name of the layout an action should be targeted to. When not provided,
8837
- * OpenFin attempts to resolve the instance via visibility checks.
8846
+ * The name of the layout in a given window.
8838
8847
  */
8839
- layoutName?: string;
8848
+ layoutName: string;
8840
8849
  };
8841
8850
 
8842
8851
  /**
8843
- * Generated when a window and all of its layout's views have either finished or failed navigation.
8852
+ * Generated when the window and all of its layout's views have either finished or failed navigation, once per layout.
8844
8853
  * @interface
8845
8854
  */
8846
8855
  declare type LayoutInitializedEvent = BaseEvent_5 & {
8847
8856
  type: 'layout-initialized';
8857
+ layoutIdentity: OpenFin.LayoutIdentity;
8848
8858
  ofViews: (OpenFin.Identity & {
8849
8859
  entityType: 'view';
8850
8860
  })[];
8851
8861
  };
8852
8862
 
8853
- /* Excluded from this release type: LayoutInstance */
8854
-
8855
8863
  /**
8856
8864
  * Represents the arrangement of Views within a Platform window's Layout. We do not recommend trying
8857
8865
  * to build Layouts or LayoutItems by hand and instead use calls such as {@link Platform#getSnapshot getSnapshot}.
@@ -8879,7 +8887,7 @@ declare type LayoutItemConfig = {
8879
8887
  *
8880
8888
  * **NOTE**: Internal use only. This type is reserved for Workspace Browser implementation.
8881
8889
  *
8882
- * Responsible for aggergating all layout snapshots and storing LayoutInstances
8890
+ * Responsible for aggregating all layout snapshots and storing layout instances
8883
8891
  */
8884
8892
  declare interface LayoutManager<T extends LayoutSnapshot> {
8885
8893
  /**
@@ -8903,16 +8911,6 @@ declare interface LayoutManager<T extends LayoutSnapshot> {
8903
8911
  * @throws if Object.keys(snapshot).length > 1
8904
8912
  */
8905
8913
  applyLayoutSnapshot(snapshot: T): Promise<void>;
8906
- /**
8907
- * Called at the start of layout initialization. Adds a new LayoutInstance if the snapshot
8908
- * contains a single layout.
8909
- *
8910
- * Throws if the snapshot contains more than 1 layout, it is expected that the user handles calling
8911
- * fin.Platform.Layout.create() once for each layout to properly connect it to their UI state.
8912
- *
8913
- * @param snapshot
8914
- * @throws if Object.keys(snapshot).length > 1
8915
- */
8916
8914
  /**
8917
8915
  * @experimental
8918
8916
  *
@@ -8933,31 +8931,49 @@ declare interface LayoutManager<T extends LayoutSnapshot> {
8933
8931
  /**
8934
8932
  * @experimental
8935
8933
  *
8936
- * @param layoutIdentity
8937
- * @returns
8934
+ * A hook provided to the consumer for controlling how OpenFin routes Layout API calls. Override
8935
+ * this method to control the target layout for Layout API calls.
8936
+ *
8937
+ * Example use case: You have hidden all the layouts and are showing a dialog that will
8938
+ * execute an API call (ex: Layout.replace()) - override this method and save the
8939
+ * "last visible" layout identity and return it.
8940
+ *
8941
+ * By default, OpenFin will use a series of checks to determine which Layout the API
8942
+ * call must route to in this order of precedence:
8943
+ * - try to resolve the layout from the layoutIdentity, throws if missing
8944
+ * - if there is only 1 layout, resolves that one
8945
+ * - enumerates all layouts checks visibility via element offsetTop/Left + window.innerHeight/Width
8946
+ * - returns undefined
8947
+ *
8948
+ * @param identity
8949
+ * @returns LayoutIdentity | undefined
8938
8950
  */
8939
- resolveLayout(layoutIdentity?: LayoutIdentity): Promise<LayoutInstance>;
8951
+ resolveLayoutIdentity(identity?: Identity_5 | LayoutIdentity): LayoutIdentity | undefined;
8940
8952
  /**
8941
8953
  * @experimental
8942
8954
  *
8943
- * Returns a LayoutInstance if one exists with the name layoutIdentity.layoutName.
8944
- * Throws if it does not exist.
8945
- * @param layoutName
8946
- * @returns
8955
+ * A hook provided to the consumer when it's time to remove a layout. Use this hook to
8956
+ * update your local state and remove the layout for the given LayoutIdentity. Note that
8957
+ * this hook does not call `fin.Platform.Layout.destroy()` for you, instead it is to
8958
+ * signify to your application it's time to destroy this layout.
8959
+ *
8960
+ * Note that if the Window Option {@link WindowOptions.closeOnLastViewRemoved} is true, and the last View in this layout is closed, this hook will be called before the window closes.
8961
+ *
8962
+ * @param LayoutIdentity
8947
8963
  */
8948
- getLayoutByName(layoutName: string): LayoutInstance;
8964
+ removeLayout({ layoutName }: LayoutIdentity): Promise<void>;
8949
8965
  /**
8950
8966
  * @experimental
8951
8967
  */
8952
- getLayouts(): Record<string, LayoutInstance>;
8968
+ getLayoutIdentityForView(viewIdentity: Identity_5): LayoutIdentity;
8953
8969
  /**
8954
8970
  * @experimental
8955
8971
  */
8956
- getLayoutIdentityForView(viewIdentity: Identity_5): LayoutIdentity;
8972
+ isLayoutVisible({ layoutName }: LayoutIdentity): boolean;
8957
8973
  /**
8958
8974
  * @experimental
8959
8975
  */
8960
- isLayoutVisible({ layoutName }: LayoutIdentity): boolean;
8976
+ size(): number;
8961
8977
  }
8962
8978
 
8963
8979
  /**
@@ -9004,7 +9020,7 @@ declare class LayoutModule extends Base {
9004
9020
  * const layoutConfig = await layout.getConfig();
9005
9021
  * ```
9006
9022
  */
9007
- wrap(identity: OpenFin.LayoutIdentity): Promise<OpenFin.Layout>;
9023
+ wrap(identity: OpenFin.Identity | OpenFin.LayoutIdentity): Promise<OpenFin.Layout>;
9008
9024
  /**
9009
9025
  * Synchronously returns a Layout object that represents a Window's layout.
9010
9026
  *
@@ -9024,7 +9040,7 @@ declare class LayoutModule extends Base {
9024
9040
  * const layoutConfig = await layout.getConfig();
9025
9041
  * ```
9026
9042
  */
9027
- wrapSync(identity: OpenFin.LayoutIdentity): OpenFin.Layout;
9043
+ wrapSync(identity: OpenFin.Identity | OpenFin.LayoutIdentity): OpenFin.Layout;
9028
9044
  /**
9029
9045
  * Asynchronously returns a Layout object that represents a Window's layout.
9030
9046
  *
@@ -9200,11 +9216,12 @@ declare type LayoutPosition = 'top' | 'bottom' | 'left' | 'right';
9200
9216
  declare type LayoutPresetType = 'columns' | 'grid' | 'rows' | 'tabs';
9201
9217
 
9202
9218
  /**
9203
- * Generated when a window and all of its layout's views have been created and can receive API calls.
9219
+ * Generated when the layout and all of the its views have been created and can receive API calls.
9204
9220
  * @interface
9205
9221
  */
9206
9222
  declare type LayoutReadyEvent = BaseEvent_5 & {
9207
9223
  type: 'layout-ready';
9224
+ layoutIdentity: OpenFin.LayoutIdentity;
9208
9225
  views: (OpenFin.Identity & {
9209
9226
  success: boolean;
9210
9227
  })[];
@@ -10142,6 +10159,7 @@ declare namespace OpenFin {
10142
10159
  WebPermission,
10143
10160
  VerboseWebPermission,
10144
10161
  OpenExternalPermission,
10162
+ DeviceInfo,
10145
10163
  Permissions_2 as Permissions,
10146
10164
  PlatformWindowCreationOptions,
10147
10165
  PlatformWindowOptions,
@@ -10299,7 +10317,6 @@ declare namespace OpenFin {
10299
10317
  InitLayoutOptions,
10300
10318
  LayoutManagerConstructor,
10301
10319
  LayoutManagerOverride,
10302
- LayoutInstance,
10303
10320
  LayoutManager,
10304
10321
  CreateLayoutOptions,
10305
10322
  PresetLayoutOptions_2 as PresetLayoutOptions,
@@ -10491,6 +10508,7 @@ declare type Permissions_2 = {
10491
10508
  Application?: Partial<ApplicationPermissions>;
10492
10509
  System?: Partial<SystemPermissions>;
10493
10510
  webAPIs?: WebPermission[];
10511
+ devices?: DeviceInfo[];
10494
10512
  };
10495
10513
 
10496
10514
  declare type PermissionState_2 = 'granted' | 'denied' | 'unavailable';
@@ -12831,7 +12849,7 @@ declare type ReplaceLayoutPayload = {
12831
12849
  /**
12832
12850
  * Identity of the window whose layout will be replaced.
12833
12851
  */
12834
- target: LayoutIdentity;
12852
+ target: Identity_5 | LayoutIdentity;
12835
12853
  };
12836
12854
 
12837
12855
  /**
@@ -16421,7 +16439,7 @@ declare type ViewCreationOrReference = OpenFin.Identity | OpenFin.PlatformViewCr
16421
16439
  */
16422
16440
  declare type ViewDetachedEvent = BaseEvent_5 & {
16423
16441
  type: 'view-detached';
16424
- target: OpenFin.Identity;
16442
+ target: OpenFin.Identity | null;
16425
16443
  previousTarget: OpenFin.Identity;
16426
16444
  viewIdentity: OpenFin.Identity;
16427
16445
  };
@@ -17657,7 +17675,7 @@ declare namespace WebContentsEvents {
17657
17675
  * `clipboard-read`: Request access to read from the clipboard.<br>
17658
17676
  * `clipboard-sanitized-write`: Request access to write to the clipboard.
17659
17677
  */
17660
- declare type WebPermission = 'audio' | 'video' | 'geolocation' | 'notifications' | 'midiSysex' | 'pointerLock' | 'fullscreen' | 'openExternal' | 'clipboard-read' | 'clipboard-sanitized-write' | OpenExternalPermission;
17678
+ declare type WebPermission = 'audio' | 'video' | 'geolocation' | 'notifications' | 'midiSysex' | 'pointerLock' | 'fullscreen' | 'openExternal' | 'clipboard-read' | 'clipboard-sanitized-write' | 'hid' | 'usb' | OpenExternalPermission;
17661
17679
 
17662
17680
  /**
17663
17681
  * Object representing headers and their values, where the
@@ -3640,7 +3640,7 @@ declare type ConstWindowOptions = {
3640
3640
  /**
3641
3641
  * @defaultValue true
3642
3642
  *
3643
- * Toggling off would keep the Window alive even if all its Views were closed.
3643
+ * Setting this to false would keep the Window alive even if all its Views were closed.
3644
3644
  * This is meant for advanced users and should be used with caution.
3645
3645
  * Limitations - Once a Layout has been emptied out of all views it's not usable anymore, and certain API calls will fail.
3646
3646
  * Use `layout.replace` to create a fresh Layout instance in case you want to populate it with Views again.
@@ -3650,7 +3650,8 @@ declare type ConstWindowOptions = {
3650
3650
  /**
3651
3651
  * @defaultValue 'all'
3652
3652
  *
3653
- * Determines which views prevent close if `closeOnLastViewRemoved` is set to true. Defaults to `all`. You may want to switch this to `layout` if using View closeBehavior: 'hide'.
3653
+ * When `closeOnLastViewRemoved` is set to true, determines which views prevent closing the window.
3654
+ + * Defaults to `all`. You may want to switch this to `layout` if using View closeBehavior: 'hide'.
3654
3655
  * **NOTE:** - This option is ignored in non-Platforms apps.
3655
3656
  */
3656
3657
  viewsPreventingClose: 'all' | 'layout';
@@ -4457,7 +4458,7 @@ declare type CreateViewPayload = {
4457
4458
  /**
4458
4459
  * @interface
4459
4460
  */
4460
- declare type CreateViewTarget = LayoutIdentity & {
4461
+ declare type CreateViewTarget = (Identity_5 | LayoutIdentity) & {
4461
4462
  /**
4462
4463
  * If specified, view creation will not attach to a window and caller must
4463
4464
  * insert the view into the layout explicitly
@@ -4597,6 +4598,14 @@ declare type DestroyedEvent = BaseEvent_4 & {
4597
4598
  type: 'destroyed';
4598
4599
  };
4599
4600
 
4601
+ /**
4602
+ * @interface
4603
+ */
4604
+ declare type DeviceInfo = {
4605
+ vendorId: string | number;
4606
+ productId: string | number;
4607
+ };
4608
+
4600
4609
  /**
4601
4610
  * Generated when a page's theme color changes. This is usually due to encountering a meta tag.
4602
4611
  * @interface
@@ -5057,9 +5066,10 @@ declare type EntityTypeHelpers<T extends EntityType_2> = T extends 'view' ? {
5057
5066
  } : never;
5058
5067
 
5059
5068
  declare interface Environment {
5060
- initLayout(fin: OpenFin.Fin<OpenFin.EntityType>, wire: Transport, options: OpenFin.InitLayoutOptions): Promise<OpenFin.LayoutManager<OpenFin.LayoutSnapshot>>;
5069
+ initLayoutManager(fin: OpenFin.Fin<OpenFin.EntityType>, wire: Transport, options: OpenFin.InitLayoutOptions): Promise<OpenFin.LayoutManager<OpenFin.LayoutSnapshot>>;
5061
5070
  createLayout(layoutManager: OpenFin.LayoutManager<OpenFin.LayoutSnapshot>, options: OpenFin.CreateLayoutOptions): Promise<void>;
5062
5071
  destroyLayout(layoutManager: OpenFin.LayoutManager<OpenFin.LayoutSnapshot>, layoutIdentity: OpenFin.LayoutIdentity): Promise<void>;
5072
+ resolveLayout(layoutManager: OpenFin.LayoutManager<OpenFin.LayoutSnapshot>, layoutIdentity: OpenFin.LayoutIdentity): Promise<any>;
5063
5073
  initPlatform(fin: OpenFin.Fin<OpenFin.EntityType>, ...args: Parameters<OpenFin.Fin['Platform']['init']>): ReturnType<OpenFin.Fin['Platform']['init']>;
5064
5074
  observeBounds(element: Element, onChange: (bounds: DOMRect) => Promise<void> | void): () => void;
5065
5075
  writeToken(path: string, token: string): Promise<string>;
@@ -7441,7 +7451,7 @@ declare class InteropBroker extends Base {
7441
7451
  * // }
7442
7452
  * ```
7443
7453
  *
7444
- * More information on the IntentResolution type can be found in the [FDC3 documentation](https://fdc3.finos.org/docs/api/ref/IntentResolution).
7454
+ * More information on the IntentResolution type can be found in the [FDC3 documentation](https://fdc3.finos.org/docs/api/ref/Metadata#intentresolution).
7445
7455
  *
7446
7456
  * @param contextForIntent Data passed between entities and applications.
7447
7457
  * @param clientIdentity Identity of the Client making the request.
@@ -8617,7 +8627,7 @@ declare type LaunchIntoPlatformPayload = {
8617
8627
  declare class Layout extends Base {
8618
8628
  #private;
8619
8629
  /* Excluded from this release type: init */
8620
- identity: OpenFin.LayoutIdentity;
8630
+ identity: OpenFin.Identity | OpenFin.LayoutIdentity;
8621
8631
  private platform;
8622
8632
  wire: Transport;
8623
8633
  /* Excluded from this release type: __constructor */
@@ -8833,25 +8843,23 @@ declare type LayoutEntityTypes = Exclude<GoldenLayout.ItemType, 'component' | 'r
8833
8843
  */
8834
8844
  declare type LayoutIdentity = Identity_5 & {
8835
8845
  /**
8836
- * The name of the layout an action should be targeted to. When not provided,
8837
- * OpenFin attempts to resolve the instance via visibility checks.
8846
+ * The name of the layout in a given window.
8838
8847
  */
8839
- layoutName?: string;
8848
+ layoutName: string;
8840
8849
  };
8841
8850
 
8842
8851
  /**
8843
- * Generated when a window and all of its layout's views have either finished or failed navigation.
8852
+ * Generated when the window and all of its layout's views have either finished or failed navigation, once per layout.
8844
8853
  * @interface
8845
8854
  */
8846
8855
  declare type LayoutInitializedEvent = BaseEvent_5 & {
8847
8856
  type: 'layout-initialized';
8857
+ layoutIdentity: OpenFin.LayoutIdentity;
8848
8858
  ofViews: (OpenFin.Identity & {
8849
8859
  entityType: 'view';
8850
8860
  })[];
8851
8861
  };
8852
8862
 
8853
- /* Excluded from this release type: LayoutInstance */
8854
-
8855
8863
  /**
8856
8864
  * Represents the arrangement of Views within a Platform window's Layout. We do not recommend trying
8857
8865
  * to build Layouts or LayoutItems by hand and instead use calls such as {@link Platform#getSnapshot getSnapshot}.
@@ -8879,7 +8887,7 @@ declare type LayoutItemConfig = {
8879
8887
  *
8880
8888
  * **NOTE**: Internal use only. This type is reserved for Workspace Browser implementation.
8881
8889
  *
8882
- * Responsible for aggergating all layout snapshots and storing LayoutInstances
8890
+ * Responsible for aggregating all layout snapshots and storing layout instances
8883
8891
  */
8884
8892
  declare interface LayoutManager<T extends LayoutSnapshot> {
8885
8893
  /**
@@ -8903,16 +8911,6 @@ declare interface LayoutManager<T extends LayoutSnapshot> {
8903
8911
  * @throws if Object.keys(snapshot).length > 1
8904
8912
  */
8905
8913
  applyLayoutSnapshot(snapshot: T): Promise<void>;
8906
- /**
8907
- * Called at the start of layout initialization. Adds a new LayoutInstance if the snapshot
8908
- * contains a single layout.
8909
- *
8910
- * Throws if the snapshot contains more than 1 layout, it is expected that the user handles calling
8911
- * fin.Platform.Layout.create() once for each layout to properly connect it to their UI state.
8912
- *
8913
- * @param snapshot
8914
- * @throws if Object.keys(snapshot).length > 1
8915
- */
8916
8914
  /**
8917
8915
  * @experimental
8918
8916
  *
@@ -8933,31 +8931,49 @@ declare interface LayoutManager<T extends LayoutSnapshot> {
8933
8931
  /**
8934
8932
  * @experimental
8935
8933
  *
8936
- * @param layoutIdentity
8937
- * @returns
8934
+ * A hook provided to the consumer for controlling how OpenFin routes Layout API calls. Override
8935
+ * this method to control the target layout for Layout API calls.
8936
+ *
8937
+ * Example use case: You have hidden all the layouts and are showing a dialog that will
8938
+ * execute an API call (ex: Layout.replace()) - override this method and save the
8939
+ * "last visible" layout identity and return it.
8940
+ *
8941
+ * By default, OpenFin will use a series of checks to determine which Layout the API
8942
+ * call must route to in this order of precedence:
8943
+ * - try to resolve the layout from the layoutIdentity, throws if missing
8944
+ * - if there is only 1 layout, resolves that one
8945
+ * - enumerates all layouts checks visibility via element offsetTop/Left + window.innerHeight/Width
8946
+ * - returns undefined
8947
+ *
8948
+ * @param identity
8949
+ * @returns LayoutIdentity | undefined
8938
8950
  */
8939
- resolveLayout(layoutIdentity?: LayoutIdentity): Promise<LayoutInstance>;
8951
+ resolveLayoutIdentity(identity?: Identity_5 | LayoutIdentity): LayoutIdentity | undefined;
8940
8952
  /**
8941
8953
  * @experimental
8942
8954
  *
8943
- * Returns a LayoutInstance if one exists with the name layoutIdentity.layoutName.
8944
- * Throws if it does not exist.
8945
- * @param layoutName
8946
- * @returns
8955
+ * A hook provided to the consumer when it's time to remove a layout. Use this hook to
8956
+ * update your local state and remove the layout for the given LayoutIdentity. Note that
8957
+ * this hook does not call `fin.Platform.Layout.destroy()` for you, instead it is to
8958
+ * signify to your application it's time to destroy this layout.
8959
+ *
8960
+ * Note that if the Window Option {@link WindowOptions.closeOnLastViewRemoved} is true, and the last View in this layout is closed, this hook will be called before the window closes.
8961
+ *
8962
+ * @param LayoutIdentity
8947
8963
  */
8948
- getLayoutByName(layoutName: string): LayoutInstance;
8964
+ removeLayout({ layoutName }: LayoutIdentity): Promise<void>;
8949
8965
  /**
8950
8966
  * @experimental
8951
8967
  */
8952
- getLayouts(): Record<string, LayoutInstance>;
8968
+ getLayoutIdentityForView(viewIdentity: Identity_5): LayoutIdentity;
8953
8969
  /**
8954
8970
  * @experimental
8955
8971
  */
8956
- getLayoutIdentityForView(viewIdentity: Identity_5): LayoutIdentity;
8972
+ isLayoutVisible({ layoutName }: LayoutIdentity): boolean;
8957
8973
  /**
8958
8974
  * @experimental
8959
8975
  */
8960
- isLayoutVisible({ layoutName }: LayoutIdentity): boolean;
8976
+ size(): number;
8961
8977
  }
8962
8978
 
8963
8979
  /**
@@ -9004,7 +9020,7 @@ declare class LayoutModule extends Base {
9004
9020
  * const layoutConfig = await layout.getConfig();
9005
9021
  * ```
9006
9022
  */
9007
- wrap(identity: OpenFin.LayoutIdentity): Promise<OpenFin.Layout>;
9023
+ wrap(identity: OpenFin.Identity | OpenFin.LayoutIdentity): Promise<OpenFin.Layout>;
9008
9024
  /**
9009
9025
  * Synchronously returns a Layout object that represents a Window's layout.
9010
9026
  *
@@ -9024,7 +9040,7 @@ declare class LayoutModule extends Base {
9024
9040
  * const layoutConfig = await layout.getConfig();
9025
9041
  * ```
9026
9042
  */
9027
- wrapSync(identity: OpenFin.LayoutIdentity): OpenFin.Layout;
9043
+ wrapSync(identity: OpenFin.Identity | OpenFin.LayoutIdentity): OpenFin.Layout;
9028
9044
  /**
9029
9045
  * Asynchronously returns a Layout object that represents a Window's layout.
9030
9046
  *
@@ -9200,11 +9216,12 @@ declare type LayoutPosition = 'top' | 'bottom' | 'left' | 'right';
9200
9216
  declare type LayoutPresetType = 'columns' | 'grid' | 'rows' | 'tabs';
9201
9217
 
9202
9218
  /**
9203
- * Generated when a window and all of its layout's views have been created and can receive API calls.
9219
+ * Generated when the layout and all of the its views have been created and can receive API calls.
9204
9220
  * @interface
9205
9221
  */
9206
9222
  declare type LayoutReadyEvent = BaseEvent_5 & {
9207
9223
  type: 'layout-ready';
9224
+ layoutIdentity: OpenFin.LayoutIdentity;
9208
9225
  views: (OpenFin.Identity & {
9209
9226
  success: boolean;
9210
9227
  })[];
@@ -10142,6 +10159,7 @@ declare namespace OpenFin {
10142
10159
  WebPermission,
10143
10160
  VerboseWebPermission,
10144
10161
  OpenExternalPermission,
10162
+ DeviceInfo,
10145
10163
  Permissions_2 as Permissions,
10146
10164
  PlatformWindowCreationOptions,
10147
10165
  PlatformWindowOptions,
@@ -10299,7 +10317,6 @@ declare namespace OpenFin {
10299
10317
  InitLayoutOptions,
10300
10318
  LayoutManagerConstructor,
10301
10319
  LayoutManagerOverride,
10302
- LayoutInstance,
10303
10320
  LayoutManager,
10304
10321
  CreateLayoutOptions,
10305
10322
  PresetLayoutOptions_2 as PresetLayoutOptions,
@@ -10491,6 +10508,7 @@ declare type Permissions_2 = {
10491
10508
  Application?: Partial<ApplicationPermissions>;
10492
10509
  System?: Partial<SystemPermissions>;
10493
10510
  webAPIs?: WebPermission[];
10511
+ devices?: DeviceInfo[];
10494
10512
  };
10495
10513
 
10496
10514
  declare type PermissionState_2 = 'granted' | 'denied' | 'unavailable';
@@ -12831,7 +12849,7 @@ declare type ReplaceLayoutPayload = {
12831
12849
  /**
12832
12850
  * Identity of the window whose layout will be replaced.
12833
12851
  */
12834
- target: LayoutIdentity;
12852
+ target: Identity_5 | LayoutIdentity;
12835
12853
  };
12836
12854
 
12837
12855
  /**
@@ -16421,7 +16439,7 @@ declare type ViewCreationOrReference = OpenFin.Identity | OpenFin.PlatformViewCr
16421
16439
  */
16422
16440
  declare type ViewDetachedEvent = BaseEvent_5 & {
16423
16441
  type: 'view-detached';
16424
- target: OpenFin.Identity;
16442
+ target: OpenFin.Identity | null;
16425
16443
  previousTarget: OpenFin.Identity;
16426
16444
  viewIdentity: OpenFin.Identity;
16427
16445
  };
@@ -17657,7 +17675,7 @@ declare namespace WebContentsEvents {
17657
17675
  * `clipboard-read`: Request access to read from the clipboard.<br>
17658
17676
  * `clipboard-sanitized-write`: Request access to write to the clipboard.
17659
17677
  */
17660
- declare type WebPermission = 'audio' | 'video' | 'geolocation' | 'notifications' | 'midiSysex' | 'pointerLock' | 'fullscreen' | 'openExternal' | 'clipboard-read' | 'clipboard-sanitized-write' | OpenExternalPermission;
17678
+ declare type WebPermission = 'audio' | 'video' | 'geolocation' | 'notifications' | 'midiSysex' | 'pointerLock' | 'fullscreen' | 'openExternal' | 'clipboard-read' | 'clipboard-sanitized-write' | 'hid' | 'usb' | OpenExternalPermission;
17661
17679
 
17662
17680
  /**
17663
17681
  * Object representing headers and their values, where the
@@ -3640,7 +3640,7 @@ declare type ConstWindowOptions = {
3640
3640
  /**
3641
3641
  * @defaultValue true
3642
3642
  *
3643
- * Toggling off would keep the Window alive even if all its Views were closed.
3643
+ * Setting this to false would keep the Window alive even if all its Views were closed.
3644
3644
  * This is meant for advanced users and should be used with caution.
3645
3645
  * Limitations - Once a Layout has been emptied out of all views it's not usable anymore, and certain API calls will fail.
3646
3646
  * Use `layout.replace` to create a fresh Layout instance in case you want to populate it with Views again.
@@ -3650,7 +3650,8 @@ declare type ConstWindowOptions = {
3650
3650
  /**
3651
3651
  * @defaultValue 'all'
3652
3652
  *
3653
- * Determines which views prevent close if `closeOnLastViewRemoved` is set to true. Defaults to `all`. You may want to switch this to `layout` if using View closeBehavior: 'hide'.
3653
+ * When `closeOnLastViewRemoved` is set to true, determines which views prevent closing the window.
3654
+ + * Defaults to `all`. You may want to switch this to `layout` if using View closeBehavior: 'hide'.
3654
3655
  * **NOTE:** - This option is ignored in non-Platforms apps.
3655
3656
  */
3656
3657
  viewsPreventingClose: 'all' | 'layout';
@@ -4457,7 +4458,7 @@ declare type CreateViewPayload = {
4457
4458
  /**
4458
4459
  * @interface
4459
4460
  */
4460
- declare type CreateViewTarget = LayoutIdentity & {
4461
+ declare type CreateViewTarget = (Identity_5 | LayoutIdentity) & {
4461
4462
  /**
4462
4463
  * If specified, view creation will not attach to a window and caller must
4463
4464
  * insert the view into the layout explicitly
@@ -4597,6 +4598,14 @@ declare type DestroyedEvent = BaseEvent_4 & {
4597
4598
  type: 'destroyed';
4598
4599
  };
4599
4600
 
4601
+ /**
4602
+ * @interface
4603
+ */
4604
+ declare type DeviceInfo = {
4605
+ vendorId: string | number;
4606
+ productId: string | number;
4607
+ };
4608
+
4600
4609
  /**
4601
4610
  * Generated when a page's theme color changes. This is usually due to encountering a meta tag.
4602
4611
  * @interface
@@ -5057,9 +5066,10 @@ declare type EntityTypeHelpers<T extends EntityType_2> = T extends 'view' ? {
5057
5066
  } : never;
5058
5067
 
5059
5068
  declare interface Environment {
5060
- initLayout(fin: OpenFin.Fin<OpenFin.EntityType>, wire: Transport, options: OpenFin.InitLayoutOptions): Promise<OpenFin.LayoutManager<OpenFin.LayoutSnapshot>>;
5069
+ initLayoutManager(fin: OpenFin.Fin<OpenFin.EntityType>, wire: Transport, options: OpenFin.InitLayoutOptions): Promise<OpenFin.LayoutManager<OpenFin.LayoutSnapshot>>;
5061
5070
  createLayout(layoutManager: OpenFin.LayoutManager<OpenFin.LayoutSnapshot>, options: OpenFin.CreateLayoutOptions): Promise<void>;
5062
5071
  destroyLayout(layoutManager: OpenFin.LayoutManager<OpenFin.LayoutSnapshot>, layoutIdentity: OpenFin.LayoutIdentity): Promise<void>;
5072
+ resolveLayout(layoutManager: OpenFin.LayoutManager<OpenFin.LayoutSnapshot>, layoutIdentity: OpenFin.LayoutIdentity): Promise<any>;
5063
5073
  initPlatform(fin: OpenFin.Fin<OpenFin.EntityType>, ...args: Parameters<OpenFin.Fin['Platform']['init']>): ReturnType<OpenFin.Fin['Platform']['init']>;
5064
5074
  observeBounds(element: Element, onChange: (bounds: DOMRect) => Promise<void> | void): () => void;
5065
5075
  writeToken(path: string, token: string): Promise<string>;
@@ -7441,7 +7451,7 @@ declare class InteropBroker extends Base {
7441
7451
  * // }
7442
7452
  * ```
7443
7453
  *
7444
- * More information on the IntentResolution type can be found in the [FDC3 documentation](https://fdc3.finos.org/docs/api/ref/IntentResolution).
7454
+ * More information on the IntentResolution type can be found in the [FDC3 documentation](https://fdc3.finos.org/docs/api/ref/Metadata#intentresolution).
7445
7455
  *
7446
7456
  * @param contextForIntent Data passed between entities and applications.
7447
7457
  * @param clientIdentity Identity of the Client making the request.
@@ -8617,7 +8627,7 @@ declare type LaunchIntoPlatformPayload = {
8617
8627
  declare class Layout extends Base {
8618
8628
  #private;
8619
8629
  /* Excluded from this release type: init */
8620
- identity: OpenFin.LayoutIdentity;
8630
+ identity: OpenFin.Identity | OpenFin.LayoutIdentity;
8621
8631
  private platform;
8622
8632
  wire: Transport;
8623
8633
  /* Excluded from this release type: __constructor */
@@ -8833,25 +8843,23 @@ declare type LayoutEntityTypes = Exclude<GoldenLayout.ItemType, 'component' | 'r
8833
8843
  */
8834
8844
  declare type LayoutIdentity = Identity_5 & {
8835
8845
  /**
8836
- * The name of the layout an action should be targeted to. When not provided,
8837
- * OpenFin attempts to resolve the instance via visibility checks.
8846
+ * The name of the layout in a given window.
8838
8847
  */
8839
- layoutName?: string;
8848
+ layoutName: string;
8840
8849
  };
8841
8850
 
8842
8851
  /**
8843
- * Generated when a window and all of its layout's views have either finished or failed navigation.
8852
+ * Generated when the window and all of its layout's views have either finished or failed navigation, once per layout.
8844
8853
  * @interface
8845
8854
  */
8846
8855
  declare type LayoutInitializedEvent = BaseEvent_5 & {
8847
8856
  type: 'layout-initialized';
8857
+ layoutIdentity: OpenFin.LayoutIdentity;
8848
8858
  ofViews: (OpenFin.Identity & {
8849
8859
  entityType: 'view';
8850
8860
  })[];
8851
8861
  };
8852
8862
 
8853
- /* Excluded from this release type: LayoutInstance */
8854
-
8855
8863
  /**
8856
8864
  * Represents the arrangement of Views within a Platform window's Layout. We do not recommend trying
8857
8865
  * to build Layouts or LayoutItems by hand and instead use calls such as {@link Platform#getSnapshot getSnapshot}.
@@ -8879,7 +8887,7 @@ declare type LayoutItemConfig = {
8879
8887
  *
8880
8888
  * **NOTE**: Internal use only. This type is reserved for Workspace Browser implementation.
8881
8889
  *
8882
- * Responsible for aggergating all layout snapshots and storing LayoutInstances
8890
+ * Responsible for aggregating all layout snapshots and storing layout instances
8883
8891
  */
8884
8892
  declare interface LayoutManager<T extends LayoutSnapshot> {
8885
8893
  /**
@@ -8903,16 +8911,6 @@ declare interface LayoutManager<T extends LayoutSnapshot> {
8903
8911
  * @throws if Object.keys(snapshot).length > 1
8904
8912
  */
8905
8913
  applyLayoutSnapshot(snapshot: T): Promise<void>;
8906
- /**
8907
- * Called at the start of layout initialization. Adds a new LayoutInstance if the snapshot
8908
- * contains a single layout.
8909
- *
8910
- * Throws if the snapshot contains more than 1 layout, it is expected that the user handles calling
8911
- * fin.Platform.Layout.create() once for each layout to properly connect it to their UI state.
8912
- *
8913
- * @param snapshot
8914
- * @throws if Object.keys(snapshot).length > 1
8915
- */
8916
8914
  /**
8917
8915
  * @experimental
8918
8916
  *
@@ -8933,31 +8931,49 @@ declare interface LayoutManager<T extends LayoutSnapshot> {
8933
8931
  /**
8934
8932
  * @experimental
8935
8933
  *
8936
- * @param layoutIdentity
8937
- * @returns
8934
+ * A hook provided to the consumer for controlling how OpenFin routes Layout API calls. Override
8935
+ * this method to control the target layout for Layout API calls.
8936
+ *
8937
+ * Example use case: You have hidden all the layouts and are showing a dialog that will
8938
+ * execute an API call (ex: Layout.replace()) - override this method and save the
8939
+ * "last visible" layout identity and return it.
8940
+ *
8941
+ * By default, OpenFin will use a series of checks to determine which Layout the API
8942
+ * call must route to in this order of precedence:
8943
+ * - try to resolve the layout from the layoutIdentity, throws if missing
8944
+ * - if there is only 1 layout, resolves that one
8945
+ * - enumerates all layouts checks visibility via element offsetTop/Left + window.innerHeight/Width
8946
+ * - returns undefined
8947
+ *
8948
+ * @param identity
8949
+ * @returns LayoutIdentity | undefined
8938
8950
  */
8939
- resolveLayout(layoutIdentity?: LayoutIdentity): Promise<LayoutInstance>;
8951
+ resolveLayoutIdentity(identity?: Identity_5 | LayoutIdentity): LayoutIdentity | undefined;
8940
8952
  /**
8941
8953
  * @experimental
8942
8954
  *
8943
- * Returns a LayoutInstance if one exists with the name layoutIdentity.layoutName.
8944
- * Throws if it does not exist.
8945
- * @param layoutName
8946
- * @returns
8955
+ * A hook provided to the consumer when it's time to remove a layout. Use this hook to
8956
+ * update your local state and remove the layout for the given LayoutIdentity. Note that
8957
+ * this hook does not call `fin.Platform.Layout.destroy()` for you, instead it is to
8958
+ * signify to your application it's time to destroy this layout.
8959
+ *
8960
+ * Note that if the Window Option {@link WindowOptions.closeOnLastViewRemoved} is true, and the last View in this layout is closed, this hook will be called before the window closes.
8961
+ *
8962
+ * @param LayoutIdentity
8947
8963
  */
8948
- getLayoutByName(layoutName: string): LayoutInstance;
8964
+ removeLayout({ layoutName }: LayoutIdentity): Promise<void>;
8949
8965
  /**
8950
8966
  * @experimental
8951
8967
  */
8952
- getLayouts(): Record<string, LayoutInstance>;
8968
+ getLayoutIdentityForView(viewIdentity: Identity_5): LayoutIdentity;
8953
8969
  /**
8954
8970
  * @experimental
8955
8971
  */
8956
- getLayoutIdentityForView(viewIdentity: Identity_5): LayoutIdentity;
8972
+ isLayoutVisible({ layoutName }: LayoutIdentity): boolean;
8957
8973
  /**
8958
8974
  * @experimental
8959
8975
  */
8960
- isLayoutVisible({ layoutName }: LayoutIdentity): boolean;
8976
+ size(): number;
8961
8977
  }
8962
8978
 
8963
8979
  /**
@@ -9004,7 +9020,7 @@ declare class LayoutModule extends Base {
9004
9020
  * const layoutConfig = await layout.getConfig();
9005
9021
  * ```
9006
9022
  */
9007
- wrap(identity: OpenFin.LayoutIdentity): Promise<OpenFin.Layout>;
9023
+ wrap(identity: OpenFin.Identity | OpenFin.LayoutIdentity): Promise<OpenFin.Layout>;
9008
9024
  /**
9009
9025
  * Synchronously returns a Layout object that represents a Window's layout.
9010
9026
  *
@@ -9024,7 +9040,7 @@ declare class LayoutModule extends Base {
9024
9040
  * const layoutConfig = await layout.getConfig();
9025
9041
  * ```
9026
9042
  */
9027
- wrapSync(identity: OpenFin.LayoutIdentity): OpenFin.Layout;
9043
+ wrapSync(identity: OpenFin.Identity | OpenFin.LayoutIdentity): OpenFin.Layout;
9028
9044
  /**
9029
9045
  * Asynchronously returns a Layout object that represents a Window's layout.
9030
9046
  *
@@ -9200,11 +9216,12 @@ declare type LayoutPosition = 'top' | 'bottom' | 'left' | 'right';
9200
9216
  declare type LayoutPresetType = 'columns' | 'grid' | 'rows' | 'tabs';
9201
9217
 
9202
9218
  /**
9203
- * Generated when a window and all of its layout's views have been created and can receive API calls.
9219
+ * Generated when the layout and all of the its views have been created and can receive API calls.
9204
9220
  * @interface
9205
9221
  */
9206
9222
  declare type LayoutReadyEvent = BaseEvent_5 & {
9207
9223
  type: 'layout-ready';
9224
+ layoutIdentity: OpenFin.LayoutIdentity;
9208
9225
  views: (OpenFin.Identity & {
9209
9226
  success: boolean;
9210
9227
  })[];
@@ -10142,6 +10159,7 @@ declare namespace OpenFin {
10142
10159
  WebPermission,
10143
10160
  VerboseWebPermission,
10144
10161
  OpenExternalPermission,
10162
+ DeviceInfo,
10145
10163
  Permissions_2 as Permissions,
10146
10164
  PlatformWindowCreationOptions,
10147
10165
  PlatformWindowOptions,
@@ -10299,7 +10317,6 @@ declare namespace OpenFin {
10299
10317
  InitLayoutOptions,
10300
10318
  LayoutManagerConstructor,
10301
10319
  LayoutManagerOverride,
10302
- LayoutInstance,
10303
10320
  LayoutManager,
10304
10321
  CreateLayoutOptions,
10305
10322
  PresetLayoutOptions_2 as PresetLayoutOptions,
@@ -10491,6 +10508,7 @@ declare type Permissions_2 = {
10491
10508
  Application?: Partial<ApplicationPermissions>;
10492
10509
  System?: Partial<SystemPermissions>;
10493
10510
  webAPIs?: WebPermission[];
10511
+ devices?: DeviceInfo[];
10494
10512
  };
10495
10513
 
10496
10514
  declare type PermissionState_2 = 'granted' | 'denied' | 'unavailable';
@@ -12831,7 +12849,7 @@ declare type ReplaceLayoutPayload = {
12831
12849
  /**
12832
12850
  * Identity of the window whose layout will be replaced.
12833
12851
  */
12834
- target: LayoutIdentity;
12852
+ target: Identity_5 | LayoutIdentity;
12835
12853
  };
12836
12854
 
12837
12855
  /**
@@ -16421,7 +16439,7 @@ declare type ViewCreationOrReference = OpenFin.Identity | OpenFin.PlatformViewCr
16421
16439
  */
16422
16440
  declare type ViewDetachedEvent = BaseEvent_5 & {
16423
16441
  type: 'view-detached';
16424
- target: OpenFin.Identity;
16442
+ target: OpenFin.Identity | null;
16425
16443
  previousTarget: OpenFin.Identity;
16426
16444
  viewIdentity: OpenFin.Identity;
16427
16445
  };
@@ -17657,7 +17675,7 @@ declare namespace WebContentsEvents {
17657
17675
  * `clipboard-read`: Request access to read from the clipboard.<br>
17658
17676
  * `clipboard-sanitized-write`: Request access to write to the clipboard.
17659
17677
  */
17660
- declare type WebPermission = 'audio' | 'video' | 'geolocation' | 'notifications' | 'midiSysex' | 'pointerLock' | 'fullscreen' | 'openExternal' | 'clipboard-read' | 'clipboard-sanitized-write' | OpenExternalPermission;
17678
+ declare type WebPermission = 'audio' | 'video' | 'geolocation' | 'notifications' | 'midiSysex' | 'pointerLock' | 'fullscreen' | 'openExternal' | 'clipboard-read' | 'clipboard-sanitized-write' | 'hid' | 'usb' | OpenExternalPermission;
17661
17679
 
17662
17680
  /**
17663
17681
  * Object representing headers and their values, where the
@@ -3734,7 +3734,7 @@ declare type ConstWindowOptions = {
3734
3734
  /**
3735
3735
  * @defaultValue true
3736
3736
  *
3737
- * Toggling off would keep the Window alive even if all its Views were closed.
3737
+ * Setting this to false would keep the Window alive even if all its Views were closed.
3738
3738
  * This is meant for advanced users and should be used with caution.
3739
3739
  * Limitations - Once a Layout has been emptied out of all views it's not usable anymore, and certain API calls will fail.
3740
3740
  * Use `layout.replace` to create a fresh Layout instance in case you want to populate it with Views again.
@@ -3744,7 +3744,8 @@ declare type ConstWindowOptions = {
3744
3744
  /**
3745
3745
  * @defaultValue 'all'
3746
3746
  *
3747
- * Determines which views prevent close if `closeOnLastViewRemoved` is set to true. Defaults to `all`. You may want to switch this to `layout` if using View closeBehavior: 'hide'.
3747
+ * When `closeOnLastViewRemoved` is set to true, determines which views prevent closing the window.
3748
+ + * Defaults to `all`. You may want to switch this to `layout` if using View closeBehavior: 'hide'.
3748
3749
  * **NOTE:** - This option is ignored in non-Platforms apps.
3749
3750
  */
3750
3751
  viewsPreventingClose: 'all' | 'layout';
@@ -4551,7 +4552,7 @@ declare type CreateViewPayload = {
4551
4552
  /**
4552
4553
  * @interface
4553
4554
  */
4554
- declare type CreateViewTarget = LayoutIdentity & {
4555
+ declare type CreateViewTarget = (Identity_5 | LayoutIdentity) & {
4555
4556
  /**
4556
4557
  * If specified, view creation will not attach to a window and caller must
4557
4558
  * insert the view into the layout explicitly
@@ -4691,6 +4692,14 @@ declare type DestroyedEvent = BaseEvent_4 & {
4691
4692
  type: 'destroyed';
4692
4693
  };
4693
4694
 
4695
+ /**
4696
+ * @interface
4697
+ */
4698
+ declare type DeviceInfo = {
4699
+ vendorId: string | number;
4700
+ productId: string | number;
4701
+ };
4702
+
4694
4703
  /**
4695
4704
  * Generated when a page's theme color changes. This is usually due to encountering a meta tag.
4696
4705
  * @interface
@@ -5156,9 +5165,10 @@ declare type EntityTypeHelpers<T extends EntityType_2> = T extends 'view' ? {
5156
5165
  } : never;
5157
5166
 
5158
5167
  declare interface Environment {
5159
- initLayout(fin: OpenFin.Fin<OpenFin.EntityType>, wire: Transport, options: OpenFin.InitLayoutOptions): Promise<OpenFin.LayoutManager<OpenFin.LayoutSnapshot>>;
5168
+ initLayoutManager(fin: OpenFin.Fin<OpenFin.EntityType>, wire: Transport, options: OpenFin.InitLayoutOptions): Promise<OpenFin.LayoutManager<OpenFin.LayoutSnapshot>>;
5160
5169
  createLayout(layoutManager: OpenFin.LayoutManager<OpenFin.LayoutSnapshot>, options: OpenFin.CreateLayoutOptions): Promise<void>;
5161
5170
  destroyLayout(layoutManager: OpenFin.LayoutManager<OpenFin.LayoutSnapshot>, layoutIdentity: OpenFin.LayoutIdentity): Promise<void>;
5171
+ resolveLayout(layoutManager: OpenFin.LayoutManager<OpenFin.LayoutSnapshot>, layoutIdentity: OpenFin.LayoutIdentity): Promise<any>;
5162
5172
  initPlatform(fin: OpenFin.Fin<OpenFin.EntityType>, ...args: Parameters<OpenFin.Fin['Platform']['init']>): ReturnType<OpenFin.Fin['Platform']['init']>;
5163
5173
  observeBounds(element: Element, onChange: (bounds: DOMRect) => Promise<void> | void): () => void;
5164
5174
  writeToken(path: string, token: string): Promise<string>;
@@ -7607,7 +7617,7 @@ declare class InteropBroker extends Base {
7607
7617
  * // }
7608
7618
  * ```
7609
7619
  *
7610
- * More information on the IntentResolution type can be found in the [FDC3 documentation](https://fdc3.finos.org/docs/api/ref/IntentResolution).
7620
+ * More information on the IntentResolution type can be found in the [FDC3 documentation](https://fdc3.finos.org/docs/api/ref/Metadata#intentresolution).
7611
7621
  *
7612
7622
  * @param contextForIntent Data passed between entities and applications.
7613
7623
  * @param clientIdentity Identity of the Client making the request.
@@ -8789,7 +8799,7 @@ declare class Layout extends Base {
8789
8799
  * @internal
8790
8800
  */
8791
8801
  init: (options?: OpenFin.InitLayoutOptions) => Promise<Layout>;
8792
- identity: OpenFin.LayoutIdentity;
8802
+ identity: OpenFin.Identity | OpenFin.LayoutIdentity;
8793
8803
  private platform;
8794
8804
  wire: Transport;
8795
8805
  /**
@@ -9008,45 +9018,23 @@ declare type LayoutEntityTypes = Exclude<GoldenLayout.ItemType, 'component' | 'r
9008
9018
  */
9009
9019
  declare type LayoutIdentity = Identity_5 & {
9010
9020
  /**
9011
- * The name of the layout an action should be targeted to. When not provided,
9012
- * OpenFin attempts to resolve the instance via visibility checks.
9021
+ * The name of the layout in a given window.
9013
9022
  */
9014
- layoutName?: string;
9023
+ layoutName: string;
9015
9024
  };
9016
9025
 
9017
9026
  /**
9018
- * Generated when a window and all of its layout's views have either finished or failed navigation.
9027
+ * Generated when the window and all of its layout's views have either finished or failed navigation, once per layout.
9019
9028
  * @interface
9020
9029
  */
9021
9030
  declare type LayoutInitializedEvent = BaseEvent_5 & {
9022
9031
  type: 'layout-initialized';
9032
+ layoutIdentity: OpenFin.LayoutIdentity;
9023
9033
  ofViews: (OpenFin.Identity & {
9024
9034
  entityType: 'view';
9025
9035
  })[];
9026
9036
  };
9027
9037
 
9028
- /**
9029
- * @interface @experimental @internal
9030
- *
9031
- * **NOTE**: Internal use only. This type is reserved for Workspace Browser implementation.
9032
- *
9033
- * Responsible for handling all layout management and renderering
9034
- */
9035
- declare type LayoutInstance = {
9036
- identity: LayoutIdentity;
9037
- getFrameSnapshot: () => Promise<LayoutOptions>;
9038
- addView: (payload: AddViewOptions) => Promise<View_2>;
9039
- closeView: (viewIdentity: Identity_5) => Promise<void>;
9040
- removeView: (viewConfig: Identity_5 | ViewState) => Promise<View_2>;
9041
- replaceView: (payload: ReplaceViewOptions) => Promise<View_2>;
9042
- getViews: () => LayoutComponent[];
9043
- getCurrentViews: () => Identity_5[];
9044
- startReplaceLayout: (payload: ReplaceLayoutOptions) => Promise<void>;
9045
- applyPreset: (payload: PresetLayoutOptions_2) => void;
9046
- isVisible: () => boolean;
9047
- destroy: () => Promise<void>;
9048
- };
9049
-
9050
9038
  /**
9051
9039
  * Represents the arrangement of Views within a Platform window's Layout. We do not recommend trying
9052
9040
  * to build Layouts or LayoutItems by hand and instead use calls such as {@link Platform#getSnapshot getSnapshot}.
@@ -9074,7 +9062,7 @@ declare type LayoutItemConfig = {
9074
9062
  *
9075
9063
  * **NOTE**: Internal use only. This type is reserved for Workspace Browser implementation.
9076
9064
  *
9077
- * Responsible for aggergating all layout snapshots and storing LayoutInstances
9065
+ * Responsible for aggregating all layout snapshots and storing layout instances
9078
9066
  */
9079
9067
  declare interface LayoutManager<T extends LayoutSnapshot> {
9080
9068
  /**
@@ -9098,16 +9086,6 @@ declare interface LayoutManager<T extends LayoutSnapshot> {
9098
9086
  * @throws if Object.keys(snapshot).length > 1
9099
9087
  */
9100
9088
  applyLayoutSnapshot(snapshot: T): Promise<void>;
9101
- /**
9102
- * Called at the start of layout initialization. Adds a new LayoutInstance if the snapshot
9103
- * contains a single layout.
9104
- *
9105
- * Throws if the snapshot contains more than 1 layout, it is expected that the user handles calling
9106
- * fin.Platform.Layout.create() once for each layout to properly connect it to their UI state.
9107
- *
9108
- * @param snapshot
9109
- * @throws if Object.keys(snapshot).length > 1
9110
- */
9111
9089
  /**
9112
9090
  * @experimental
9113
9091
  *
@@ -9128,31 +9106,49 @@ declare interface LayoutManager<T extends LayoutSnapshot> {
9128
9106
  /**
9129
9107
  * @experimental
9130
9108
  *
9131
- * @param layoutIdentity
9132
- * @returns
9109
+ * A hook provided to the consumer for controlling how OpenFin routes Layout API calls. Override
9110
+ * this method to control the target layout for Layout API calls.
9111
+ *
9112
+ * Example use case: You have hidden all the layouts and are showing a dialog that will
9113
+ * execute an API call (ex: Layout.replace()) - override this method and save the
9114
+ * "last visible" layout identity and return it.
9115
+ *
9116
+ * By default, OpenFin will use a series of checks to determine which Layout the API
9117
+ * call must route to in this order of precedence:
9118
+ * - try to resolve the layout from the layoutIdentity, throws if missing
9119
+ * - if there is only 1 layout, resolves that one
9120
+ * - enumerates all layouts checks visibility via element offsetTop/Left + window.innerHeight/Width
9121
+ * - returns undefined
9122
+ *
9123
+ * @param identity
9124
+ * @returns LayoutIdentity | undefined
9133
9125
  */
9134
- resolveLayout(layoutIdentity?: LayoutIdentity): Promise<LayoutInstance>;
9126
+ resolveLayoutIdentity(identity?: Identity_5 | LayoutIdentity): LayoutIdentity | undefined;
9135
9127
  /**
9136
9128
  * @experimental
9137
9129
  *
9138
- * Returns a LayoutInstance if one exists with the name layoutIdentity.layoutName.
9139
- * Throws if it does not exist.
9140
- * @param layoutName
9141
- * @returns
9130
+ * A hook provided to the consumer when it's time to remove a layout. Use this hook to
9131
+ * update your local state and remove the layout for the given LayoutIdentity. Note that
9132
+ * this hook does not call `fin.Platform.Layout.destroy()` for you, instead it is to
9133
+ * signify to your application it's time to destroy this layout.
9134
+ *
9135
+ * Note that if the Window Option {@link WindowOptions.closeOnLastViewRemoved} is true, and the last View in this layout is closed, this hook will be called before the window closes.
9136
+ *
9137
+ * @param LayoutIdentity
9142
9138
  */
9143
- getLayoutByName(layoutName: string): LayoutInstance;
9139
+ removeLayout({ layoutName }: LayoutIdentity): Promise<void>;
9144
9140
  /**
9145
9141
  * @experimental
9146
9142
  */
9147
- getLayouts(): Record<string, LayoutInstance>;
9143
+ getLayoutIdentityForView(viewIdentity: Identity_5): LayoutIdentity;
9148
9144
  /**
9149
9145
  * @experimental
9150
9146
  */
9151
- getLayoutIdentityForView(viewIdentity: Identity_5): LayoutIdentity;
9147
+ isLayoutVisible({ layoutName }: LayoutIdentity): boolean;
9152
9148
  /**
9153
9149
  * @experimental
9154
9150
  */
9155
- isLayoutVisible({ layoutName }: LayoutIdentity): boolean;
9151
+ size(): number;
9156
9152
  }
9157
9153
 
9158
9154
  /**
@@ -9199,7 +9195,7 @@ declare class LayoutModule extends Base {
9199
9195
  * const layoutConfig = await layout.getConfig();
9200
9196
  * ```
9201
9197
  */
9202
- wrap(identity: OpenFin.LayoutIdentity): Promise<OpenFin.Layout>;
9198
+ wrap(identity: OpenFin.Identity | OpenFin.LayoutIdentity): Promise<OpenFin.Layout>;
9203
9199
  /**
9204
9200
  * Synchronously returns a Layout object that represents a Window's layout.
9205
9201
  *
@@ -9219,7 +9215,7 @@ declare class LayoutModule extends Base {
9219
9215
  * const layoutConfig = await layout.getConfig();
9220
9216
  * ```
9221
9217
  */
9222
- wrapSync(identity: OpenFin.LayoutIdentity): OpenFin.Layout;
9218
+ wrapSync(identity: OpenFin.Identity | OpenFin.LayoutIdentity): OpenFin.Layout;
9223
9219
  /**
9224
9220
  * Asynchronously returns a Layout object that represents a Window's layout.
9225
9221
  *
@@ -9552,11 +9548,12 @@ declare type LayoutPosition = 'top' | 'bottom' | 'left' | 'right';
9552
9548
  declare type LayoutPresetType = 'columns' | 'grid' | 'rows' | 'tabs';
9553
9549
 
9554
9550
  /**
9555
- * Generated when a window and all of its layout's views have been created and can receive API calls.
9551
+ * Generated when the layout and all of the its views have been created and can receive API calls.
9556
9552
  * @interface
9557
9553
  */
9558
9554
  declare type LayoutReadyEvent = BaseEvent_5 & {
9559
9555
  type: 'layout-ready';
9556
+ layoutIdentity: OpenFin.LayoutIdentity;
9560
9557
  views: (OpenFin.Identity & {
9561
9558
  success: boolean;
9562
9559
  })[];
@@ -10512,6 +10509,7 @@ declare namespace OpenFin {
10512
10509
  WebPermission,
10513
10510
  VerboseWebPermission,
10514
10511
  OpenExternalPermission,
10512
+ DeviceInfo,
10515
10513
  Permissions_2 as Permissions,
10516
10514
  PlatformWindowCreationOptions,
10517
10515
  PlatformWindowOptions,
@@ -10669,7 +10667,6 @@ declare namespace OpenFin {
10669
10667
  InitLayoutOptions,
10670
10668
  LayoutManagerConstructor,
10671
10669
  LayoutManagerOverride,
10672
- LayoutInstance,
10673
10670
  LayoutManager,
10674
10671
  CreateLayoutOptions,
10675
10672
  PresetLayoutOptions_2 as PresetLayoutOptions,
@@ -10861,6 +10858,7 @@ declare type Permissions_2 = {
10861
10858
  Application?: Partial<ApplicationPermissions>;
10862
10859
  System?: Partial<SystemPermissions>;
10863
10860
  webAPIs?: WebPermission[];
10861
+ devices?: DeviceInfo[];
10864
10862
  };
10865
10863
 
10866
10864
  declare type PermissionState_2 = 'granted' | 'denied' | 'unavailable';
@@ -13294,7 +13292,7 @@ declare type ReplaceLayoutPayload = {
13294
13292
  /**
13295
13293
  * Identity of the window whose layout will be replaced.
13296
13294
  */
13297
- target: LayoutIdentity;
13295
+ target: Identity_5 | LayoutIdentity;
13298
13296
  };
13299
13297
 
13300
13298
  /**
@@ -16984,7 +16982,7 @@ declare type ViewCreationOrReference = OpenFin.Identity | OpenFin.PlatformViewCr
16984
16982
  */
16985
16983
  declare type ViewDetachedEvent = BaseEvent_5 & {
16986
16984
  type: 'view-detached';
16987
- target: OpenFin.Identity;
16985
+ target: OpenFin.Identity | null;
16988
16986
  previousTarget: OpenFin.Identity;
16989
16987
  viewIdentity: OpenFin.Identity;
16990
16988
  };
@@ -18220,7 +18218,7 @@ declare namespace WebContentsEvents {
18220
18218
  * `clipboard-read`: Request access to read from the clipboard.<br>
18221
18219
  * `clipboard-sanitized-write`: Request access to write to the clipboard.
18222
18220
  */
18223
- declare type WebPermission = 'audio' | 'video' | 'geolocation' | 'notifications' | 'midiSysex' | 'pointerLock' | 'fullscreen' | 'openExternal' | 'clipboard-read' | 'clipboard-sanitized-write' | OpenExternalPermission;
18221
+ declare type WebPermission = 'audio' | 'video' | 'geolocation' | 'notifications' | 'midiSysex' | 'pointerLock' | 'fullscreen' | 'openExternal' | 'clipboard-read' | 'clipboard-sanitized-write' | 'hid' | 'usb' | OpenExternalPermission;
18224
18222
 
18225
18223
  /**
18226
18224
  * Object representing headers and their values, where the
@@ -3243,7 +3243,7 @@ function requireView () {
3243
3243
  * * {@link ViewModule} contains static members of the `View` API, accessible through `fin.View`.
3244
3244
  * * {@link View} describes an instance of an OpenFin View, e.g. as returned by `fin.View.getCurrent`.
3245
3245
  *
3246
- * These are separate code entities, and are documented separately. In the [previous version of the API documentation](https://cdn.openfin.co/docs/javascript/canary/index.html),
3246
+ * These are separate code entities, and are documented separately. In the [previous version of the API documentation](https://cdn.openfin.co/docs/javascript/32.114.76.10/index.html),
3247
3247
  * both of these were documented on the same page.
3248
3248
  *
3249
3249
  * @packageDocumentation
@@ -4384,7 +4384,7 @@ function requireApplication () {
4384
4384
  * * {@link ApplicationModule} contains static members of the `Application` API, accessible through `fin.Application`.
4385
4385
  * * {@link Application} describes an instance of an OpenFin Application, e.g. as returned by `fin.Application.getCurrent`.
4386
4386
  *
4387
- * These are separate code entities, and are documented separately. In the [previous version of the API documentation](https://cdn.openfin.co/docs/javascript/canary/index.html),
4387
+ * These are separate code entities, and are documented separately. In the [previous version of the API documentation](https://cdn.openfin.co/docs/javascript/32.114.76.10/index.html),
4388
4388
  * both of these were documented on the same page.
4389
4389
  *
4390
4390
  * @packageDocumentation
@@ -6441,7 +6441,7 @@ function requireWindow () {
6441
6441
  * * {@link _WindowModule} contains static members of the `Window` API, accessible through `fin.Window`.
6442
6442
  * * {@link _Window} describes an instance of an OpenFin Window, e.g. as returned by `fin.Window.getCurrent`.
6443
6443
  *
6444
- * These are separate code entities, and are documented separately. In the [previous version of the API documentation](https://cdn.openfin.co/docs/javascript/canary/index.html),
6444
+ * These are separate code entities, and are documented separately. In the [previous version of the API documentation](https://cdn.openfin.co/docs/javascript/32.114.76.10/index.html),
6445
6445
  * both of these were documented on the same page.
6446
6446
  *
6447
6447
  * Underscore prefixing of OpenFin types that alias DOM entities will be fixed in a future version.
@@ -11195,7 +11195,7 @@ Factory$5.ExternalApplicationModule = ExternalApplicationModule;
11195
11195
  * * {@link ExternalApplicationModule} contains static members of the `ExternalApplication` type, accessible through `fin.ExternalApplication`.
11196
11196
  * * {@link ExternalApplication} describes an instance of an OpenFin ExternalApplication, e.g. as returned by `fin.ExternalApplication.getCurrent`.
11197
11197
  *
11198
- * These are separate code entities, and are documented separately. In the [previous version of the API documentation](https://cdn.openfin.co/docs/javascript/canary/index.html),
11198
+ * These are separate code entities, and are documented separately. In the [previous version of the API documentation](https://cdn.openfin.co/docs/javascript/32.114.76.10/index.html),
11199
11199
  * both of these were documented on the same page.
11200
11200
  *
11201
11201
  * @packageDocumentation
@@ -11446,7 +11446,7 @@ Factory$4._FrameModule = _FrameModule;
11446
11446
  * * {@link _FrameModule} contains static members of the `Frame` API, accessible through `fin.Frame`.
11447
11447
  * * {@link _Frame} describes an instance of an OpenFin Frame, e.g. as returned by `fin.Frame.getCurrent`.
11448
11448
  *
11449
- * These are separate code entities, and are documented separately. In the [previous version of the API documentation](https://cdn.openfin.co/docs/javascript/canary/index.html),
11449
+ * These are separate code entities, and are documented separately. In the [previous version of the API documentation](https://cdn.openfin.co/docs/javascript/32.114.76.10/index.html),
11450
11450
  * both of these were documented on the same page.
11451
11451
  *
11452
11452
  * Underscore prefixing of OpenFin types that alias DOM entities will be fixed in a future version.
@@ -12792,7 +12792,6 @@ class Layout extends base_1$6.Base {
12792
12792
  // don't expose
12793
12793
  });
12794
12794
  const client = await this.platform.getClient();
12795
- console.log(`Layout::toConfig() called!`);
12796
12795
  return client.dispatch('get-frame-snapshot', {
12797
12796
  target: this.identity
12798
12797
  });
@@ -12842,7 +12841,7 @@ class Layout extends base_1$6.Base {
12842
12841
  // don't expose
12843
12842
  });
12844
12843
  const client = await __classPrivateFieldGet$5(this, _Layout_layoutClient, "f").getValue();
12845
- const root = await client.getRoot(this.identity);
12844
+ const root = await client.getRoot('layoutName' in this.identity ? this.identity : undefined);
12846
12845
  return layout_entities_1.LayoutNode.getEntity(root, client);
12847
12846
  }
12848
12847
  }
@@ -12860,7 +12859,7 @@ var __classPrivateFieldSet$4 = (commonjsGlobal && commonjsGlobal.__classPrivateF
12860
12859
  if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot write private member to an object whose class did not declare it");
12861
12860
  return (kind === "a" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;
12862
12861
  };
12863
- var _LayoutModule_instances, _LayoutModule_layoutInitializationAttempted, _LayoutModule_layoutManager, _LayoutModule_throwIfLayoutManagerNotInitialized;
12862
+ var _LayoutModule_instances, _LayoutModule_layoutInitializationAttempted, _LayoutModule_layoutManager, _LayoutModule_getBackCompatLayoutManager, _LayoutModule_throwIfLayoutManagerNotInitialized;
12864
12863
  Object.defineProperty(Factory$2, "__esModule", { value: true });
12865
12864
  Factory$2.LayoutModule = void 0;
12866
12865
  const base_1$5 = base$1;
@@ -12923,39 +12922,53 @@ class LayoutModule extends base_1$5.Base {
12923
12922
  throw new Error('Layout.init was already called, please use Layout.create to add additional layouts.');
12924
12923
  }
12925
12924
  __classPrivateFieldSet$4(this, _LayoutModule_layoutInitializationAttempted, true, "f");
12926
- __classPrivateFieldSet$4(this, _LayoutModule_layoutManager, await this.wire.environment.initLayout(this.fin, this.wire, options), "f");
12927
- // back-compat ONLY if layoutManagerOverride not provided
12925
+ __classPrivateFieldSet$4(this, _LayoutModule_layoutManager, await this.wire.environment.initLayoutManager(this.fin, this.wire, options), "f");
12926
+ // apply the initial snapshot which in turn will call fin.Platform.Layout.create()
12927
+ const platformClient = await this.fin.Platform.getCurrentSync().getClient();
12928
+ const snapshot = await platformClient.dispatch('get-initial-layout-snapshot');
12929
+ await __classPrivateFieldGet$4(this, _LayoutModule_layoutManager, "f").applyLayoutSnapshot(snapshot);
12928
12930
  if (!options.layoutManagerOverride) {
12929
- const layoutInstance = await __classPrivateFieldGet$4(this, _LayoutModule_layoutManager, "f").resolveLayout();
12930
- const layout = this.wrapSync(layoutInstance.identity);
12931
- // Backward compat - undocumented / not typed layoutInstance as layoutManager
12932
- return Object.assign(layout, { layoutManager: layoutInstance });
12931
+ return __classPrivateFieldGet$4(this, _LayoutModule_getBackCompatLayoutManager, "f").call(this, this.fin);
12933
12932
  }
12934
- // Warn user if they do not create any layouts in the next 10 seconds
12933
+ // warn user if they do not call create() in the next 30 seconds
12935
12934
  setTimeout(() => {
12936
- const layoutSize = Object.keys(__classPrivateFieldGet$4(this, _LayoutModule_layoutManager, "f").getLayouts()).length;
12937
- if (layoutSize === 0) {
12938
- console.warn(`[Layout.init] Layout.init was called but no layouts have been created yet. Make sure you ` +
12935
+ if (__classPrivateFieldGet$4(this, _LayoutModule_layoutManager, "f").size() === 0) {
12936
+ console.warn(`[Layout.init] Layout.init was called 30s ago, but no layouts have been created yet. Make sure you ` +
12939
12937
  `override LayoutManager.applyLayoutSnapshot, and then call fin.Platform.Layout.create()`);
12940
12938
  }
12941
- }, 10000);
12939
+ }, 30000);
12942
12940
  return this.wrapSync(this.fin.me.identity);
12943
12941
  };
12942
+ _LayoutModule_getBackCompatLayoutManager.set(this, async (fin) => {
12943
+ let layoutManager;
12944
+ let resolve;
12945
+ const layoutResolved = new Promise((r) => {
12946
+ resolve = r;
12947
+ });
12948
+ // wait for a layout to be created
12949
+ await fin.me.once('layout-ready', async ({ layoutIdentity }) => {
12950
+ layoutManager = await this.wire.environment.resolveLayout(__classPrivateFieldGet$4(this, _LayoutModule_layoutManager, "f"), layoutIdentity);
12951
+ // Backward compat - undocumented / not typed openfin-layout as layoutManager
12952
+ // TODO: eventually deprecate this
12953
+ resolve(Object.assign(this.wrapSync(layoutIdentity), { layoutManager }));
12954
+ });
12955
+ return layoutResolved;
12956
+ });
12944
12957
  /**
12945
12958
  * Returns the layout manager for the current window
12946
12959
  * @returns
12947
12960
  */
12948
12961
  this.getCurrentLayoutManagerSync = () => {
12949
- __classPrivateFieldGet$4(this, _LayoutModule_instances, "m", _LayoutModule_throwIfLayoutManagerNotInitialized).call(this);
12962
+ __classPrivateFieldGet$4(this, _LayoutModule_instances, "m", _LayoutModule_throwIfLayoutManagerNotInitialized).call(this, `fin.Platform.Layout.getCurrentLayoutManagerSync()`);
12950
12963
  // @ts-expect-error User may have implemented their own snapshot type when overriding LayoutManager
12951
12964
  return __classPrivateFieldGet$4(this, _LayoutModule_layoutManager, "f");
12952
12965
  };
12953
12966
  this.create = async (options) => {
12954
- __classPrivateFieldGet$4(this, _LayoutModule_instances, "m", _LayoutModule_throwIfLayoutManagerNotInitialized).call(this);
12967
+ __classPrivateFieldGet$4(this, _LayoutModule_instances, "m", _LayoutModule_throwIfLayoutManagerNotInitialized).call(this, `fin.Platform.Layout.create()`);
12955
12968
  return this.wire.environment.createLayout(__classPrivateFieldGet$4(this, _LayoutModule_layoutManager, "f"), options);
12956
12969
  };
12957
12970
  this.destroy = async (layoutIdentity) => {
12958
- __classPrivateFieldGet$4(this, _LayoutModule_instances, "m", _LayoutModule_throwIfLayoutManagerNotInitialized).call(this);
12971
+ __classPrivateFieldGet$4(this, _LayoutModule_instances, "m", _LayoutModule_throwIfLayoutManagerNotInitialized).call(this, `fin.Platform.Layout.destroy()`);
12959
12972
  return this.wire.environment.destroyLayout(__classPrivateFieldGet$4(this, _LayoutModule_layoutManager, "f"), layoutIdentity);
12960
12973
  };
12961
12974
  }
@@ -13054,9 +13067,9 @@ class LayoutModule extends base_1$5.Base {
13054
13067
  }
13055
13068
  }
13056
13069
  Factory$2.LayoutModule = LayoutModule;
13057
- _LayoutModule_layoutInitializationAttempted = new WeakMap(), _LayoutModule_layoutManager = new WeakMap(), _LayoutModule_instances = new WeakSet(), _LayoutModule_throwIfLayoutManagerNotInitialized = function _LayoutModule_throwIfLayoutManagerNotInitialized() {
13070
+ _LayoutModule_layoutInitializationAttempted = new WeakMap(), _LayoutModule_layoutManager = new WeakMap(), _LayoutModule_getBackCompatLayoutManager = new WeakMap(), _LayoutModule_instances = new WeakSet(), _LayoutModule_throwIfLayoutManagerNotInitialized = function _LayoutModule_throwIfLayoutManagerNotInitialized(method) {
13058
13071
  if (!__classPrivateFieldGet$4(this, _LayoutModule_layoutManager, "f")) {
13059
- throw new Error('You must call init before using this API');
13072
+ throw new Error(`You must call init before using the API ${method}`);
13060
13073
  }
13061
13074
  };
13062
13075
 
@@ -13067,7 +13080,7 @@ _LayoutModule_layoutInitializationAttempted = new WeakMap(), _LayoutModule_layou
13067
13080
  * * {@link LayoutModule} contains static members of the `Layout` API, accessible through `fin.Platform.Layout`.
13068
13081
  * * {@link Layout} describes an instance of an OpenFin Layout, e.g. as returned by `fin.Platform.Layout.getCurrent`.
13069
13082
  *
13070
- * These are separate code entities, and are documented separately. In the [previous version of the API documentation](https://cdn.openfin.co/docs/javascript/canary/index.html),
13083
+ * These are separate code entities, and are documented separately. In the [previous version of the API documentation](https://cdn.openfin.co/docs/javascript/32.114.76.10/index.html),
13071
13084
  * both of these were documented on the same page.
13072
13085
  *
13073
13086
  * @packageDocumentation
@@ -13348,7 +13361,7 @@ Factory$3.PlatformModule = PlatformModule;
13348
13361
  * * {@link PlatformModule} contains static members of the `Platform` API, accessible through `fin.Platform`.
13349
13362
  * * {@link Platform} describes an instance of an OpenFin Platform, e.g. as returned by `fin.Platform.getCurrent`.
13350
13363
  *
13351
- * These are separate code entities, and are documented separately. In the [previous version of the API documentation](https://cdn.openfin.co/docs/javascript/canary/index.html),
13364
+ * These are separate code entities, and are documented separately. In the [previous version of the API documentation](https://cdn.openfin.co/docs/javascript/32.114.76.10/index.html),
13352
13365
  * both of these were documented on the same page.
13353
13366
  *
13354
13367
  * @packageDocumentation
@@ -14755,7 +14768,7 @@ function requireInteropBroker () {
14755
14768
  * // }
14756
14769
  * ```
14757
14770
  *
14758
- * More information on the IntentResolution type can be found in the [FDC3 documentation](https://fdc3.finos.org/docs/api/ref/IntentResolution).
14771
+ * More information on the IntentResolution type can be found in the [FDC3 documentation](https://fdc3.finos.org/docs/api/ref/Metadata#intentresolution).
14759
14772
  *
14760
14773
  * @param contextForIntent Data passed between entities and applications.
14761
14774
  * @param clientIdentity Identity of the Client making the request.
@@ -16558,7 +16571,7 @@ Factory.SnapshotSourceModule = SnapshotSourceModule;
16558
16571
  * * {@link SnapshotSourceModule} contains static members of the `SnapshotSource` API, accessible through `fin.SnapshotSource`.
16559
16572
  * * {@link SnapshotSource} describes an instance of an OpenFin SnapshotSource, e.g. as returned by `fin.SnapshotSource.wrap`.
16560
16573
  *
16561
- * These are separate code entities, and are documented separately. In the [previous version of the API documentation](https://cdn.openfin.co/docs/javascript/canary/index.html),
16574
+ * These are separate code entities, and are documented separately. In the [previous version of the API documentation](https://cdn.openfin.co/docs/javascript/32.114.76.10/index.html),
16562
16575
  * both of these were documented on the same page.
16563
16576
  *
16564
16577
  * @packageDocumentation
@@ -17502,7 +17515,7 @@ function requireNodeEnv () {
17502
17515
  getRtcPeer() {
17503
17516
  throw new Error('Method not implemented.');
17504
17517
  }
17505
- async initLayout() {
17518
+ async initLayoutManager() {
17506
17519
  throw new Error('Method not implemented.');
17507
17520
  }
17508
17521
  async createLayout() {
@@ -17511,6 +17524,9 @@ function requireNodeEnv () {
17511
17524
  async destroyLayout() {
17512
17525
  throw new Error('Method not implemented.');
17513
17526
  }
17527
+ async resolveLayout() {
17528
+ throw new Error('Method not implemented.');
17529
+ }
17514
17530
  async initPlatform() {
17515
17531
  throw new Error('Method not implemented.');
17516
17532
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@openfin/node-adapter",
3
- "version": "34.78.54",
3
+ "version": "34.78.56",
4
4
  "description": "See README.md",
5
5
  "main": "out/node-adapter.js",
6
6
  "types": "out/node-adapter.d.ts",