@openfin/node-adapter 37.81.19 → 38.81.22

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.
@@ -2018,6 +2018,15 @@ declare type ByType_7<Type extends EventType_7> = Payload_8<Type>;
2018
2018
  */
2019
2019
  declare type ByType_8<Type extends EventType_8> = Payload_9<Type>;
2020
2020
 
2021
+ /**
2022
+ * Extracts a single event type matching the given key from the Layout DOM {@link Event} union.
2023
+ *
2024
+ * Alias for {@link Payload}, which may read better in source.
2025
+ *
2026
+ * @typeParam Type String key specifying the event to extract
2027
+ */
2028
+ declare type ByType_9<Type extends EventType_9> = Payload_10<Type>;
2029
+
2021
2030
  /**
2022
2031
  * Configuration for page capture.
2023
2032
  *
@@ -3820,6 +3829,14 @@ declare interface Container extends EventEmitter_2 {
3820
3829
  close(): boolean;
3821
3830
  }
3822
3831
 
3832
+ /**
3833
+ * Generated when a Layout Container Component was created.
3834
+ * @interface
3835
+ */
3836
+ declare type ContainerCreatedEvent = LayoutDOMEvent & {
3837
+ type: 'container-created';
3838
+ };
3839
+
3823
3840
  /**
3824
3841
  * Generated when content navigation or redirection is blocked by {@link OpenFin.DomainSettings}.
3825
3842
  */
@@ -4664,7 +4681,14 @@ declare type DomainApiSettings = {
4664
4681
  *
4665
4682
  * @defaultValue 'global'
4666
4683
  */
4667
- fin: InjectionType;
4684
+ fin?: InjectionType;
4685
+ /**
4686
+ * API permissions for domains matched to the current {@link DomainSettingsRule}.
4687
+ *
4688
+ * @remarks If an application manifest includes this property in {@link DomainSettings.default},
4689
+ * then {@link WindowOptions.permissions} and {@link ViewOptions.permissions} will be **ignored**.
4690
+ */
4691
+ permissions?: Permissions_2;
4668
4692
  };
4669
4693
 
4670
4694
  /**
@@ -4998,6 +5022,7 @@ declare type EntityTypeHelpers<T extends EntityType_2> = T extends 'view' ? {
4998
5022
  } : never;
4999
5023
 
5000
5024
  declare interface Environment {
5025
+ layoutAllowedInContext(fin: OpenFin.Fin<OpenFin.EntityType>): boolean;
5001
5026
  initLayoutManager(fin: OpenFin.Fin<OpenFin.EntityType>, wire: Transport, options: OpenFin.InitLayoutOptions): Promise<OpenFin.LayoutManager<OpenFin.LayoutSnapshot>>;
5002
5027
  applyLayoutSnapshot(fin: OpenFin.Fin<OpenFin.EntityType>, layoutManager: OpenFin.LayoutManager<OpenFin.LayoutSnapshot>, options: OpenFin.InitLayoutOptions): Promise<void>;
5003
5028
  createLayout(layoutManager: OpenFin.LayoutManager<OpenFin.LayoutSnapshot>, options: OpenFin.CreateLayoutOptions): Promise<void>;
@@ -5060,6 +5085,12 @@ declare type Event_10 = ApplicationEvents.Event | ApiReadyEvent | SnapshotApplie
5060
5085
  */
5061
5086
  declare type Event_11 = ExcludeRequested<WindowEvents.PropagatedEvent<'system'>> | ExcludeRequested<ViewEvents.PropagatedEvent<'system'>> | ExcludeRequested<ApplicationEvents.PropagatedEvent<'system'>> | ApplicationCreatedEvent | DesktopIconClickedEvent | IdleStateChangedEvent | MonitorInfoChangedEvent | SessionChangedEvent | AppVersionEventWithId | SystemShutdownEvent;
5062
5087
 
5088
+ /**
5089
+ * [Union](https://www.typescriptlang.org/docs/handbook/2/everyday-types.html#union-types) containing every possible event that can be emitted by the HTMLElement Layout container.
5090
+ * Events are discriminated by {@link LayoutDOMEvent.type}.
5091
+ */
5092
+ declare type Event_12 = TabCreatedEvent | TabClosedEvent | TabDroppedEvent | ContainerCreatedEvent | LayoutStateChangedEvent;
5093
+
5063
5094
  /**
5064
5095
  * [Union](https://www.typescriptlang.org/docs/handbook/2/everyday-types.html#union-types) containing every possible event that can be emitted by a {@link Channel}. Events are
5065
5096
  * discriminated by {@link BaseEvents.BaseEvent.type | their type}. Event payloads unique to `Channel` can be found
@@ -5229,6 +5260,11 @@ declare type EventType_7 = Event_10['type'];
5229
5260
  */
5230
5261
  declare type EventType_8 = Event_11['type'];
5231
5262
 
5263
+ /**
5264
+ * Union of possible `type` values for a {@link LayoutDOMEvent}.
5265
+ */
5266
+ declare type EventType_9 = Event_12['type'];
5267
+
5232
5268
  /* Excluded from this release type: EventWithId */
5233
5269
 
5234
5270
  /* Excluded from this release type: ExcludeRequested */
@@ -8421,6 +8457,32 @@ declare type LayoutComponent = LayoutItemConfig & {
8421
8457
 
8422
8458
  declare type LayoutContent = Array<LayoutItemConfig | LayoutRow | LayoutColumn | LayoutComponent>;
8423
8459
 
8460
+ /**
8461
+ * The base payload for the CustomEvent.detail property for Layout events emitted on the layout container element.
8462
+ */
8463
+ declare type LayoutDOMEvent = Identity_5 & {
8464
+ type: string;
8465
+ topic: 'openfin-DOM-event';
8466
+ tabSelector: string;
8467
+ containerSelector: string;
8468
+ };
8469
+
8470
+ declare type LayoutDOMEvent_2 = LayoutDOMEvents.Event;
8471
+
8472
+ declare namespace LayoutDOMEvents {
8473
+ export {
8474
+ TabCreatedEvent,
8475
+ TabClosedEvent,
8476
+ TabDroppedEvent,
8477
+ ContainerCreatedEvent,
8478
+ LayoutStateChangedEvent,
8479
+ Event_12 as Event,
8480
+ EventType_9 as EventType,
8481
+ Payload_10 as Payload,
8482
+ ByType_9 as ByType
8483
+ }
8484
+ }
8485
+
8424
8486
  declare type LayoutEntitiesClient = ApiClient<LayoutEntitiesController>;
8425
8487
 
8426
8488
  declare type LayoutEntitiesController = {
@@ -8866,6 +8928,14 @@ declare type LayoutSnapshot = {
8866
8928
  layouts: Record<string, LayoutOptions>;
8867
8929
  };
8868
8930
 
8931
+ /**
8932
+ * Generated when the Layout experiences a state change, for example tabs added/removed.
8933
+ * @interface
8934
+ */
8935
+ declare type LayoutStateChangedEvent = LayoutDOMEvent & {
8936
+ type: 'layout-state-changed';
8937
+ };
8938
+
8869
8939
  /**
8870
8940
  * @interface
8871
8941
  */
@@ -9953,6 +10023,7 @@ declare namespace OpenFin {
9953
10023
  AppVersionCompleteEvent,
9954
10024
  AppVersionRuntimeStatusEvent,
9955
10025
  Events,
10026
+ LayoutDOMEvents,
9956
10027
  BaseEvent_10 as BaseEvent,
9957
10028
  WebContentsEvent_2 as WebContentsEvent,
9958
10029
  SystemEvent_2 as SystemEvent,
@@ -9961,6 +10032,7 @@ declare namespace OpenFin {
9961
10032
  ViewEvent_2 as ViewEvent,
9962
10033
  GlobalHotkeyEvent_2 as GlobalHotkeyEvent,
9963
10034
  FrameEvent_2 as FrameEvent,
10035
+ LayoutDOMEvent_2 as LayoutDOMEvent,
9964
10036
  PlatformEvent_2 as PlatformEvent,
9965
10037
  ExternalApplicationEvent_2 as ExternalApplicationEvent,
9966
10038
  ContextMenuOptions,
@@ -10034,6 +10106,15 @@ declare type Payload<Success extends boolean = boolean, Data = any> = {
10034
10106
  error?: Success extends false ? ErrorPlainObject | undefined : never;
10035
10107
  };
10036
10108
 
10109
+ /**
10110
+ * Extracts a single event type matching the given key from the Layout DOM {@link Event} union.
10111
+ *
10112
+ * @typeParam Type String key specifying the event to extract
10113
+ */
10114
+ declare type Payload_10<Type extends EventType_9> = Extract<Event_12, {
10115
+ type: Type;
10116
+ }>;
10117
+
10037
10118
  /**
10038
10119
  * Extracts a single event type matching the given key from the View {@link Event} union.
10039
10120
  *
@@ -10141,6 +10222,14 @@ declare type PerformanceReportEvent = Performance & BaseEvent_5 & {
10141
10222
 
10142
10223
  /**
10143
10224
  * @interface
10225
+ *
10226
+ * Governs access to OpenFin APIs. Property paths of this literal match call
10227
+ * paths for OpenFin API functions (e.g. `System.launchExternalProcess`), and can
10228
+ * take a value of `true`, `false`, or in some cases an object literal for more-complicated
10229
+ * semantics.
10230
+ *
10231
+ * For a list of APIs that are secure by default (and thus must be granted access via
10232
+ * `permissions`), see https://developers.openfin.co/of-docs/docs/api-security#secured-apis.
10144
10233
  */
10145
10234
  declare type Permissions_2 = {
10146
10235
  Application?: Partial<ApplicationPermissions>;
@@ -14876,6 +14965,23 @@ declare interface Tab {
14876
14965
  setActive(isActive: boolean): void;
14877
14966
  }
14878
14967
 
14968
+ /**
14969
+ * Generated when a Layout Tab Component was closed.
14970
+ * @interface
14971
+ */
14972
+ declare type TabClosedEvent = LayoutDOMEvent & {
14973
+ type: 'tab-closed';
14974
+ url: string;
14975
+ };
14976
+
14977
+ /**
14978
+ * Generated when a Layout Tab Component was created.
14979
+ * @interface
14980
+ */
14981
+ declare type TabCreatedEvent = LayoutDOMEvent & {
14982
+ type: 'tab-created';
14983
+ };
14984
+
14879
14985
  declare interface TabDragListener extends EventEmitter_2 {
14880
14986
  /**
14881
14987
  * A reference to the content item this tab relates to
@@ -14883,6 +14989,15 @@ declare interface TabDragListener extends EventEmitter_2 {
14883
14989
  contentItem: ContentItem;
14884
14990
  }
14885
14991
 
14992
+ /**
14993
+ * Generated when a Layout Tab Component was dropped.
14994
+ * @interface
14995
+ */
14996
+ declare type TabDroppedEvent = LayoutDOMEvent & {
14997
+ type: 'tab-dropped';
14998
+ url: string;
14999
+ };
15000
+
14886
15001
  /**
14887
15002
  * A TabStack is used to manage the state of a stack of tabs within an OpenFin Layout.
14888
15003
  */
@@ -2018,6 +2018,15 @@ declare type ByType_7<Type extends EventType_7> = Payload_8<Type>;
2018
2018
  */
2019
2019
  declare type ByType_8<Type extends EventType_8> = Payload_9<Type>;
2020
2020
 
2021
+ /**
2022
+ * Extracts a single event type matching the given key from the Layout DOM {@link Event} union.
2023
+ *
2024
+ * Alias for {@link Payload}, which may read better in source.
2025
+ *
2026
+ * @typeParam Type String key specifying the event to extract
2027
+ */
2028
+ declare type ByType_9<Type extends EventType_9> = Payload_10<Type>;
2029
+
2021
2030
  /**
2022
2031
  * Configuration for page capture.
2023
2032
  *
@@ -3820,6 +3829,14 @@ declare interface Container extends EventEmitter_2 {
3820
3829
  close(): boolean;
3821
3830
  }
3822
3831
 
3832
+ /**
3833
+ * Generated when a Layout Container Component was created.
3834
+ * @interface
3835
+ */
3836
+ declare type ContainerCreatedEvent = LayoutDOMEvent & {
3837
+ type: 'container-created';
3838
+ };
3839
+
3823
3840
  /**
3824
3841
  * Generated when content navigation or redirection is blocked by {@link OpenFin.DomainSettings}.
3825
3842
  */
@@ -4664,7 +4681,14 @@ declare type DomainApiSettings = {
4664
4681
  *
4665
4682
  * @defaultValue 'global'
4666
4683
  */
4667
- fin: InjectionType;
4684
+ fin?: InjectionType;
4685
+ /**
4686
+ * API permissions for domains matched to the current {@link DomainSettingsRule}.
4687
+ *
4688
+ * @remarks If an application manifest includes this property in {@link DomainSettings.default},
4689
+ * then {@link WindowOptions.permissions} and {@link ViewOptions.permissions} will be **ignored**.
4690
+ */
4691
+ permissions?: Permissions_2;
4668
4692
  };
4669
4693
 
4670
4694
  /**
@@ -4998,6 +5022,7 @@ declare type EntityTypeHelpers<T extends EntityType_2> = T extends 'view' ? {
4998
5022
  } : never;
4999
5023
 
5000
5024
  declare interface Environment {
5025
+ layoutAllowedInContext(fin: OpenFin.Fin<OpenFin.EntityType>): boolean;
5001
5026
  initLayoutManager(fin: OpenFin.Fin<OpenFin.EntityType>, wire: Transport, options: OpenFin.InitLayoutOptions): Promise<OpenFin.LayoutManager<OpenFin.LayoutSnapshot>>;
5002
5027
  applyLayoutSnapshot(fin: OpenFin.Fin<OpenFin.EntityType>, layoutManager: OpenFin.LayoutManager<OpenFin.LayoutSnapshot>, options: OpenFin.InitLayoutOptions): Promise<void>;
5003
5028
  createLayout(layoutManager: OpenFin.LayoutManager<OpenFin.LayoutSnapshot>, options: OpenFin.CreateLayoutOptions): Promise<void>;
@@ -5060,6 +5085,12 @@ declare type Event_10 = ApplicationEvents.Event | ApiReadyEvent | SnapshotApplie
5060
5085
  */
5061
5086
  declare type Event_11 = ExcludeRequested<WindowEvents.PropagatedEvent<'system'>> | ExcludeRequested<ViewEvents.PropagatedEvent<'system'>> | ExcludeRequested<ApplicationEvents.PropagatedEvent<'system'>> | ApplicationCreatedEvent | DesktopIconClickedEvent | IdleStateChangedEvent | MonitorInfoChangedEvent | SessionChangedEvent | AppVersionEventWithId | SystemShutdownEvent;
5062
5087
 
5088
+ /**
5089
+ * [Union](https://www.typescriptlang.org/docs/handbook/2/everyday-types.html#union-types) containing every possible event that can be emitted by the HTMLElement Layout container.
5090
+ * Events are discriminated by {@link LayoutDOMEvent.type}.
5091
+ */
5092
+ declare type Event_12 = TabCreatedEvent | TabClosedEvent | TabDroppedEvent | ContainerCreatedEvent | LayoutStateChangedEvent;
5093
+
5063
5094
  /**
5064
5095
  * [Union](https://www.typescriptlang.org/docs/handbook/2/everyday-types.html#union-types) containing every possible event that can be emitted by a {@link Channel}. Events are
5065
5096
  * discriminated by {@link BaseEvents.BaseEvent.type | their type}. Event payloads unique to `Channel` can be found
@@ -5229,6 +5260,11 @@ declare type EventType_7 = Event_10['type'];
5229
5260
  */
5230
5261
  declare type EventType_8 = Event_11['type'];
5231
5262
 
5263
+ /**
5264
+ * Union of possible `type` values for a {@link LayoutDOMEvent}.
5265
+ */
5266
+ declare type EventType_9 = Event_12['type'];
5267
+
5232
5268
  /* Excluded from this release type: EventWithId */
5233
5269
 
5234
5270
  /* Excluded from this release type: ExcludeRequested */
@@ -8421,6 +8457,32 @@ declare type LayoutComponent = LayoutItemConfig & {
8421
8457
 
8422
8458
  declare type LayoutContent = Array<LayoutItemConfig | LayoutRow | LayoutColumn | LayoutComponent>;
8423
8459
 
8460
+ /**
8461
+ * The base payload for the CustomEvent.detail property for Layout events emitted on the layout container element.
8462
+ */
8463
+ declare type LayoutDOMEvent = Identity_5 & {
8464
+ type: string;
8465
+ topic: 'openfin-DOM-event';
8466
+ tabSelector: string;
8467
+ containerSelector: string;
8468
+ };
8469
+
8470
+ declare type LayoutDOMEvent_2 = LayoutDOMEvents.Event;
8471
+
8472
+ declare namespace LayoutDOMEvents {
8473
+ export {
8474
+ TabCreatedEvent,
8475
+ TabClosedEvent,
8476
+ TabDroppedEvent,
8477
+ ContainerCreatedEvent,
8478
+ LayoutStateChangedEvent,
8479
+ Event_12 as Event,
8480
+ EventType_9 as EventType,
8481
+ Payload_10 as Payload,
8482
+ ByType_9 as ByType
8483
+ }
8484
+ }
8485
+
8424
8486
  declare type LayoutEntitiesClient = ApiClient<LayoutEntitiesController>;
8425
8487
 
8426
8488
  declare type LayoutEntitiesController = {
@@ -8866,6 +8928,14 @@ declare type LayoutSnapshot = {
8866
8928
  layouts: Record<string, LayoutOptions>;
8867
8929
  };
8868
8930
 
8931
+ /**
8932
+ * Generated when the Layout experiences a state change, for example tabs added/removed.
8933
+ * @interface
8934
+ */
8935
+ declare type LayoutStateChangedEvent = LayoutDOMEvent & {
8936
+ type: 'layout-state-changed';
8937
+ };
8938
+
8869
8939
  /**
8870
8940
  * @interface
8871
8941
  */
@@ -9953,6 +10023,7 @@ declare namespace OpenFin {
9953
10023
  AppVersionCompleteEvent,
9954
10024
  AppVersionRuntimeStatusEvent,
9955
10025
  Events,
10026
+ LayoutDOMEvents,
9956
10027
  BaseEvent_10 as BaseEvent,
9957
10028
  WebContentsEvent_2 as WebContentsEvent,
9958
10029
  SystemEvent_2 as SystemEvent,
@@ -9961,6 +10032,7 @@ declare namespace OpenFin {
9961
10032
  ViewEvent_2 as ViewEvent,
9962
10033
  GlobalHotkeyEvent_2 as GlobalHotkeyEvent,
9963
10034
  FrameEvent_2 as FrameEvent,
10035
+ LayoutDOMEvent_2 as LayoutDOMEvent,
9964
10036
  PlatformEvent_2 as PlatformEvent,
9965
10037
  ExternalApplicationEvent_2 as ExternalApplicationEvent,
9966
10038
  ContextMenuOptions,
@@ -10034,6 +10106,15 @@ declare type Payload<Success extends boolean = boolean, Data = any> = {
10034
10106
  error?: Success extends false ? ErrorPlainObject | undefined : never;
10035
10107
  };
10036
10108
 
10109
+ /**
10110
+ * Extracts a single event type matching the given key from the Layout DOM {@link Event} union.
10111
+ *
10112
+ * @typeParam Type String key specifying the event to extract
10113
+ */
10114
+ declare type Payload_10<Type extends EventType_9> = Extract<Event_12, {
10115
+ type: Type;
10116
+ }>;
10117
+
10037
10118
  /**
10038
10119
  * Extracts a single event type matching the given key from the View {@link Event} union.
10039
10120
  *
@@ -10141,6 +10222,14 @@ declare type PerformanceReportEvent = Performance & BaseEvent_5 & {
10141
10222
 
10142
10223
  /**
10143
10224
  * @interface
10225
+ *
10226
+ * Governs access to OpenFin APIs. Property paths of this literal match call
10227
+ * paths for OpenFin API functions (e.g. `System.launchExternalProcess`), and can
10228
+ * take a value of `true`, `false`, or in some cases an object literal for more-complicated
10229
+ * semantics.
10230
+ *
10231
+ * For a list of APIs that are secure by default (and thus must be granted access via
10232
+ * `permissions`), see https://developers.openfin.co/of-docs/docs/api-security#secured-apis.
10144
10233
  */
10145
10234
  declare type Permissions_2 = {
10146
10235
  Application?: Partial<ApplicationPermissions>;
@@ -14876,6 +14965,23 @@ declare interface Tab {
14876
14965
  setActive(isActive: boolean): void;
14877
14966
  }
14878
14967
 
14968
+ /**
14969
+ * Generated when a Layout Tab Component was closed.
14970
+ * @interface
14971
+ */
14972
+ declare type TabClosedEvent = LayoutDOMEvent & {
14973
+ type: 'tab-closed';
14974
+ url: string;
14975
+ };
14976
+
14977
+ /**
14978
+ * Generated when a Layout Tab Component was created.
14979
+ * @interface
14980
+ */
14981
+ declare type TabCreatedEvent = LayoutDOMEvent & {
14982
+ type: 'tab-created';
14983
+ };
14984
+
14879
14985
  declare interface TabDragListener extends EventEmitter_2 {
14880
14986
  /**
14881
14987
  * A reference to the content item this tab relates to
@@ -14883,6 +14989,15 @@ declare interface TabDragListener extends EventEmitter_2 {
14883
14989
  contentItem: ContentItem;
14884
14990
  }
14885
14991
 
14992
+ /**
14993
+ * Generated when a Layout Tab Component was dropped.
14994
+ * @interface
14995
+ */
14996
+ declare type TabDroppedEvent = LayoutDOMEvent & {
14997
+ type: 'tab-dropped';
14998
+ url: string;
14999
+ };
15000
+
14886
15001
  /**
14887
15002
  * A TabStack is used to manage the state of a stack of tabs within an OpenFin Layout.
14888
15003
  */
@@ -2018,6 +2018,15 @@ declare type ByType_7<Type extends EventType_7> = Payload_8<Type>;
2018
2018
  */
2019
2019
  declare type ByType_8<Type extends EventType_8> = Payload_9<Type>;
2020
2020
 
2021
+ /**
2022
+ * Extracts a single event type matching the given key from the Layout DOM {@link Event} union.
2023
+ *
2024
+ * Alias for {@link Payload}, which may read better in source.
2025
+ *
2026
+ * @typeParam Type String key specifying the event to extract
2027
+ */
2028
+ declare type ByType_9<Type extends EventType_9> = Payload_10<Type>;
2029
+
2021
2030
  /**
2022
2031
  * Configuration for page capture.
2023
2032
  *
@@ -3820,6 +3829,14 @@ declare interface Container extends EventEmitter_2 {
3820
3829
  close(): boolean;
3821
3830
  }
3822
3831
 
3832
+ /**
3833
+ * Generated when a Layout Container Component was created.
3834
+ * @interface
3835
+ */
3836
+ declare type ContainerCreatedEvent = LayoutDOMEvent & {
3837
+ type: 'container-created';
3838
+ };
3839
+
3823
3840
  /**
3824
3841
  * Generated when content navigation or redirection is blocked by {@link OpenFin.DomainSettings}.
3825
3842
  */
@@ -4664,7 +4681,14 @@ declare type DomainApiSettings = {
4664
4681
  *
4665
4682
  * @defaultValue 'global'
4666
4683
  */
4667
- fin: InjectionType;
4684
+ fin?: InjectionType;
4685
+ /**
4686
+ * API permissions for domains matched to the current {@link DomainSettingsRule}.
4687
+ *
4688
+ * @remarks If an application manifest includes this property in {@link DomainSettings.default},
4689
+ * then {@link WindowOptions.permissions} and {@link ViewOptions.permissions} will be **ignored**.
4690
+ */
4691
+ permissions?: Permissions_2;
4668
4692
  };
4669
4693
 
4670
4694
  /**
@@ -4998,6 +5022,7 @@ declare type EntityTypeHelpers<T extends EntityType_2> = T extends 'view' ? {
4998
5022
  } : never;
4999
5023
 
5000
5024
  declare interface Environment {
5025
+ layoutAllowedInContext(fin: OpenFin.Fin<OpenFin.EntityType>): boolean;
5001
5026
  initLayoutManager(fin: OpenFin.Fin<OpenFin.EntityType>, wire: Transport, options: OpenFin.InitLayoutOptions): Promise<OpenFin.LayoutManager<OpenFin.LayoutSnapshot>>;
5002
5027
  applyLayoutSnapshot(fin: OpenFin.Fin<OpenFin.EntityType>, layoutManager: OpenFin.LayoutManager<OpenFin.LayoutSnapshot>, options: OpenFin.InitLayoutOptions): Promise<void>;
5003
5028
  createLayout(layoutManager: OpenFin.LayoutManager<OpenFin.LayoutSnapshot>, options: OpenFin.CreateLayoutOptions): Promise<void>;
@@ -5060,6 +5085,12 @@ declare type Event_10 = ApplicationEvents.Event | ApiReadyEvent | SnapshotApplie
5060
5085
  */
5061
5086
  declare type Event_11 = ExcludeRequested<WindowEvents.PropagatedEvent<'system'>> | ExcludeRequested<ViewEvents.PropagatedEvent<'system'>> | ExcludeRequested<ApplicationEvents.PropagatedEvent<'system'>> | ApplicationCreatedEvent | DesktopIconClickedEvent | IdleStateChangedEvent | MonitorInfoChangedEvent | SessionChangedEvent | AppVersionEventWithId | SystemShutdownEvent;
5062
5087
 
5088
+ /**
5089
+ * [Union](https://www.typescriptlang.org/docs/handbook/2/everyday-types.html#union-types) containing every possible event that can be emitted by the HTMLElement Layout container.
5090
+ * Events are discriminated by {@link LayoutDOMEvent.type}.
5091
+ */
5092
+ declare type Event_12 = TabCreatedEvent | TabClosedEvent | TabDroppedEvent | ContainerCreatedEvent | LayoutStateChangedEvent;
5093
+
5063
5094
  /**
5064
5095
  * [Union](https://www.typescriptlang.org/docs/handbook/2/everyday-types.html#union-types) containing every possible event that can be emitted by a {@link Channel}. Events are
5065
5096
  * discriminated by {@link BaseEvents.BaseEvent.type | their type}. Event payloads unique to `Channel` can be found
@@ -5229,6 +5260,11 @@ declare type EventType_7 = Event_10['type'];
5229
5260
  */
5230
5261
  declare type EventType_8 = Event_11['type'];
5231
5262
 
5263
+ /**
5264
+ * Union of possible `type` values for a {@link LayoutDOMEvent}.
5265
+ */
5266
+ declare type EventType_9 = Event_12['type'];
5267
+
5232
5268
  /* Excluded from this release type: EventWithId */
5233
5269
 
5234
5270
  /* Excluded from this release type: ExcludeRequested */
@@ -8421,6 +8457,32 @@ declare type LayoutComponent = LayoutItemConfig & {
8421
8457
 
8422
8458
  declare type LayoutContent = Array<LayoutItemConfig | LayoutRow | LayoutColumn | LayoutComponent>;
8423
8459
 
8460
+ /**
8461
+ * The base payload for the CustomEvent.detail property for Layout events emitted on the layout container element.
8462
+ */
8463
+ declare type LayoutDOMEvent = Identity_5 & {
8464
+ type: string;
8465
+ topic: 'openfin-DOM-event';
8466
+ tabSelector: string;
8467
+ containerSelector: string;
8468
+ };
8469
+
8470
+ declare type LayoutDOMEvent_2 = LayoutDOMEvents.Event;
8471
+
8472
+ declare namespace LayoutDOMEvents {
8473
+ export {
8474
+ TabCreatedEvent,
8475
+ TabClosedEvent,
8476
+ TabDroppedEvent,
8477
+ ContainerCreatedEvent,
8478
+ LayoutStateChangedEvent,
8479
+ Event_12 as Event,
8480
+ EventType_9 as EventType,
8481
+ Payload_10 as Payload,
8482
+ ByType_9 as ByType
8483
+ }
8484
+ }
8485
+
8424
8486
  declare type LayoutEntitiesClient = ApiClient<LayoutEntitiesController>;
8425
8487
 
8426
8488
  declare type LayoutEntitiesController = {
@@ -8866,6 +8928,14 @@ declare type LayoutSnapshot = {
8866
8928
  layouts: Record<string, LayoutOptions>;
8867
8929
  };
8868
8930
 
8931
+ /**
8932
+ * Generated when the Layout experiences a state change, for example tabs added/removed.
8933
+ * @interface
8934
+ */
8935
+ declare type LayoutStateChangedEvent = LayoutDOMEvent & {
8936
+ type: 'layout-state-changed';
8937
+ };
8938
+
8869
8939
  /**
8870
8940
  * @interface
8871
8941
  */
@@ -9953,6 +10023,7 @@ declare namespace OpenFin {
9953
10023
  AppVersionCompleteEvent,
9954
10024
  AppVersionRuntimeStatusEvent,
9955
10025
  Events,
10026
+ LayoutDOMEvents,
9956
10027
  BaseEvent_10 as BaseEvent,
9957
10028
  WebContentsEvent_2 as WebContentsEvent,
9958
10029
  SystemEvent_2 as SystemEvent,
@@ -9961,6 +10032,7 @@ declare namespace OpenFin {
9961
10032
  ViewEvent_2 as ViewEvent,
9962
10033
  GlobalHotkeyEvent_2 as GlobalHotkeyEvent,
9963
10034
  FrameEvent_2 as FrameEvent,
10035
+ LayoutDOMEvent_2 as LayoutDOMEvent,
9964
10036
  PlatformEvent_2 as PlatformEvent,
9965
10037
  ExternalApplicationEvent_2 as ExternalApplicationEvent,
9966
10038
  ContextMenuOptions,
@@ -10034,6 +10106,15 @@ declare type Payload<Success extends boolean = boolean, Data = any> = {
10034
10106
  error?: Success extends false ? ErrorPlainObject | undefined : never;
10035
10107
  };
10036
10108
 
10109
+ /**
10110
+ * Extracts a single event type matching the given key from the Layout DOM {@link Event} union.
10111
+ *
10112
+ * @typeParam Type String key specifying the event to extract
10113
+ */
10114
+ declare type Payload_10<Type extends EventType_9> = Extract<Event_12, {
10115
+ type: Type;
10116
+ }>;
10117
+
10037
10118
  /**
10038
10119
  * Extracts a single event type matching the given key from the View {@link Event} union.
10039
10120
  *
@@ -10141,6 +10222,14 @@ declare type PerformanceReportEvent = Performance & BaseEvent_5 & {
10141
10222
 
10142
10223
  /**
10143
10224
  * @interface
10225
+ *
10226
+ * Governs access to OpenFin APIs. Property paths of this literal match call
10227
+ * paths for OpenFin API functions (e.g. `System.launchExternalProcess`), and can
10228
+ * take a value of `true`, `false`, or in some cases an object literal for more-complicated
10229
+ * semantics.
10230
+ *
10231
+ * For a list of APIs that are secure by default (and thus must be granted access via
10232
+ * `permissions`), see https://developers.openfin.co/of-docs/docs/api-security#secured-apis.
10144
10233
  */
10145
10234
  declare type Permissions_2 = {
10146
10235
  Application?: Partial<ApplicationPermissions>;
@@ -14876,6 +14965,23 @@ declare interface Tab {
14876
14965
  setActive(isActive: boolean): void;
14877
14966
  }
14878
14967
 
14968
+ /**
14969
+ * Generated when a Layout Tab Component was closed.
14970
+ * @interface
14971
+ */
14972
+ declare type TabClosedEvent = LayoutDOMEvent & {
14973
+ type: 'tab-closed';
14974
+ url: string;
14975
+ };
14976
+
14977
+ /**
14978
+ * Generated when a Layout Tab Component was created.
14979
+ * @interface
14980
+ */
14981
+ declare type TabCreatedEvent = LayoutDOMEvent & {
14982
+ type: 'tab-created';
14983
+ };
14984
+
14879
14985
  declare interface TabDragListener extends EventEmitter_2 {
14880
14986
  /**
14881
14987
  * A reference to the content item this tab relates to
@@ -14883,6 +14989,15 @@ declare interface TabDragListener extends EventEmitter_2 {
14883
14989
  contentItem: ContentItem;
14884
14990
  }
14885
14991
 
14992
+ /**
14993
+ * Generated when a Layout Tab Component was dropped.
14994
+ * @interface
14995
+ */
14996
+ declare type TabDroppedEvent = LayoutDOMEvent & {
14997
+ type: 'tab-dropped';
14998
+ url: string;
14999
+ };
15000
+
14886
15001
  /**
14887
15002
  * A TabStack is used to manage the state of a stack of tabs within an OpenFin Layout.
14888
15003
  */
@@ -2050,6 +2050,15 @@ declare type ByType_7<Type extends EventType_7> = Payload_8<Type>;
2050
2050
  */
2051
2051
  declare type ByType_8<Type extends EventType_8> = Payload_9<Type>;
2052
2052
 
2053
+ /**
2054
+ * Extracts a single event type matching the given key from the Layout DOM {@link Event} union.
2055
+ *
2056
+ * Alias for {@link Payload}, which may read better in source.
2057
+ *
2058
+ * @typeParam Type String key specifying the event to extract
2059
+ */
2060
+ declare type ByType_9<Type extends EventType_9> = Payload_10<Type>;
2061
+
2053
2062
  /**
2054
2063
  * Configuration for page capture.
2055
2064
  *
@@ -3879,6 +3888,14 @@ declare interface Container extends EventEmitter_2 {
3879
3888
  close(): boolean;
3880
3889
  }
3881
3890
 
3891
+ /**
3892
+ * Generated when a Layout Container Component was created.
3893
+ * @interface
3894
+ */
3895
+ declare type ContainerCreatedEvent = LayoutDOMEvent & {
3896
+ type: 'container-created';
3897
+ };
3898
+
3882
3899
  /**
3883
3900
  * Generated when content navigation or redirection is blocked by {@link OpenFin.DomainSettings}.
3884
3901
  */
@@ -4723,7 +4740,14 @@ declare type DomainApiSettings = {
4723
4740
  *
4724
4741
  * @defaultValue 'global'
4725
4742
  */
4726
- fin: InjectionType;
4743
+ fin?: InjectionType;
4744
+ /**
4745
+ * API permissions for domains matched to the current {@link DomainSettingsRule}.
4746
+ *
4747
+ * @remarks If an application manifest includes this property in {@link DomainSettings.default},
4748
+ * then {@link WindowOptions.permissions} and {@link ViewOptions.permissions} will be **ignored**.
4749
+ */
4750
+ permissions?: Permissions_2;
4727
4751
  };
4728
4752
 
4729
4753
  /**
@@ -5062,6 +5086,7 @@ declare type EntityTypeHelpers<T extends EntityType_2> = T extends 'view' ? {
5062
5086
  } : never;
5063
5087
 
5064
5088
  declare interface Environment {
5089
+ layoutAllowedInContext(fin: OpenFin.Fin<OpenFin.EntityType>): boolean;
5065
5090
  initLayoutManager(fin: OpenFin.Fin<OpenFin.EntityType>, wire: Transport, options: OpenFin.InitLayoutOptions): Promise<OpenFin.LayoutManager<OpenFin.LayoutSnapshot>>;
5066
5091
  applyLayoutSnapshot(fin: OpenFin.Fin<OpenFin.EntityType>, layoutManager: OpenFin.LayoutManager<OpenFin.LayoutSnapshot>, options: OpenFin.InitLayoutOptions): Promise<void>;
5067
5092
  createLayout(layoutManager: OpenFin.LayoutManager<OpenFin.LayoutSnapshot>, options: OpenFin.CreateLayoutOptions): Promise<void>;
@@ -5124,6 +5149,12 @@ declare type Event_10 = ApplicationEvents.Event | ApiReadyEvent | SnapshotApplie
5124
5149
  */
5125
5150
  declare type Event_11 = ExcludeRequested<WindowEvents.PropagatedEvent<'system'>> | ExcludeRequested<ViewEvents.PropagatedEvent<'system'>> | ExcludeRequested<ApplicationEvents.PropagatedEvent<'system'>> | ApplicationCreatedEvent | DesktopIconClickedEvent | IdleStateChangedEvent | MonitorInfoChangedEvent | SessionChangedEvent | AppVersionEventWithId | SystemShutdownEvent;
5126
5151
 
5152
+ /**
5153
+ * [Union](https://www.typescriptlang.org/docs/handbook/2/everyday-types.html#union-types) containing every possible event that can be emitted by the HTMLElement Layout container.
5154
+ * Events are discriminated by {@link LayoutDOMEvent.type}.
5155
+ */
5156
+ declare type Event_12 = TabCreatedEvent | TabClosedEvent | TabDroppedEvent | ContainerCreatedEvent | LayoutStateChangedEvent;
5157
+
5127
5158
  /**
5128
5159
  * [Union](https://www.typescriptlang.org/docs/handbook/2/everyday-types.html#union-types) containing every possible event that can be emitted by a {@link Channel}. Events are
5129
5160
  * discriminated by {@link BaseEvents.BaseEvent.type | their type}. Event payloads unique to `Channel` can be found
@@ -5293,6 +5324,11 @@ declare type EventType_7 = Event_10['type'];
5293
5324
  */
5294
5325
  declare type EventType_8 = Event_11['type'];
5295
5326
 
5327
+ /**
5328
+ * Union of possible `type` values for a {@link LayoutDOMEvent}.
5329
+ */
5330
+ declare type EventType_9 = Event_12['type'];
5331
+
5296
5332
  /**
5297
5333
  * @internal
5298
5334
  */
@@ -8566,6 +8602,32 @@ declare type LayoutComponent = LayoutItemConfig & {
8566
8602
 
8567
8603
  declare type LayoutContent = Array<LayoutItemConfig | LayoutRow | LayoutColumn | LayoutComponent>;
8568
8604
 
8605
+ /**
8606
+ * The base payload for the CustomEvent.detail property for Layout events emitted on the layout container element.
8607
+ */
8608
+ declare type LayoutDOMEvent = Identity_5 & {
8609
+ type: string;
8610
+ topic: 'openfin-DOM-event';
8611
+ tabSelector: string;
8612
+ containerSelector: string;
8613
+ };
8614
+
8615
+ declare type LayoutDOMEvent_2 = LayoutDOMEvents.Event;
8616
+
8617
+ declare namespace LayoutDOMEvents {
8618
+ export {
8619
+ TabCreatedEvent,
8620
+ TabClosedEvent,
8621
+ TabDroppedEvent,
8622
+ ContainerCreatedEvent,
8623
+ LayoutStateChangedEvent,
8624
+ Event_12 as Event,
8625
+ EventType_9 as EventType,
8626
+ Payload_10 as Payload,
8627
+ ByType_9 as ByType
8628
+ }
8629
+ }
8630
+
8569
8631
  declare type LayoutEntitiesClient = ApiClient<LayoutEntitiesController>;
8570
8632
 
8571
8633
  declare type LayoutEntitiesController = {
@@ -9181,6 +9243,14 @@ declare type LayoutSnapshot = {
9181
9243
  layouts: Record<string, LayoutOptions>;
9182
9244
  };
9183
9245
 
9246
+ /**
9247
+ * Generated when the Layout experiences a state change, for example tabs added/removed.
9248
+ * @interface
9249
+ */
9250
+ declare type LayoutStateChangedEvent = LayoutDOMEvent & {
9251
+ type: 'layout-state-changed';
9252
+ };
9253
+
9184
9254
  /**
9185
9255
  * @interface
9186
9256
  */
@@ -10290,6 +10360,7 @@ declare namespace OpenFin {
10290
10360
  AppVersionCompleteEvent,
10291
10361
  AppVersionRuntimeStatusEvent,
10292
10362
  Events,
10363
+ LayoutDOMEvents,
10293
10364
  BaseEvent_10 as BaseEvent,
10294
10365
  WebContentsEvent_2 as WebContentsEvent,
10295
10366
  SystemEvent_2 as SystemEvent,
@@ -10298,6 +10369,7 @@ declare namespace OpenFin {
10298
10369
  ViewEvent_2 as ViewEvent,
10299
10370
  GlobalHotkeyEvent_2 as GlobalHotkeyEvent,
10300
10371
  FrameEvent_2 as FrameEvent,
10372
+ LayoutDOMEvent_2 as LayoutDOMEvent,
10301
10373
  PlatformEvent_2 as PlatformEvent,
10302
10374
  ExternalApplicationEvent_2 as ExternalApplicationEvent,
10303
10375
  ContextMenuOptions,
@@ -10371,6 +10443,15 @@ declare type Payload<Success extends boolean = boolean, Data = any> = {
10371
10443
  error?: Success extends false ? ErrorPlainObject | undefined : never;
10372
10444
  };
10373
10445
 
10446
+ /**
10447
+ * Extracts a single event type matching the given key from the Layout DOM {@link Event} union.
10448
+ *
10449
+ * @typeParam Type String key specifying the event to extract
10450
+ */
10451
+ declare type Payload_10<Type extends EventType_9> = Extract<Event_12, {
10452
+ type: Type;
10453
+ }>;
10454
+
10374
10455
  /**
10375
10456
  * Extracts a single event type matching the given key from the View {@link Event} union.
10376
10457
  *
@@ -10478,6 +10559,14 @@ declare type PerformanceReportEvent = Performance & BaseEvent_5 & {
10478
10559
 
10479
10560
  /**
10480
10561
  * @interface
10562
+ *
10563
+ * Governs access to OpenFin APIs. Property paths of this literal match call
10564
+ * paths for OpenFin API functions (e.g. `System.launchExternalProcess`), and can
10565
+ * take a value of `true`, `false`, or in some cases an object literal for more-complicated
10566
+ * semantics.
10567
+ *
10568
+ * For a list of APIs that are secure by default (and thus must be granted access via
10569
+ * `permissions`), see https://developers.openfin.co/of-docs/docs/api-security#secured-apis.
10481
10570
  */
10482
10571
  declare type Permissions_2 = {
10483
10572
  Application?: Partial<ApplicationPermissions>;
@@ -15303,6 +15392,23 @@ declare interface Tab {
15303
15392
  setActive(isActive: boolean): void;
15304
15393
  }
15305
15394
 
15395
+ /**
15396
+ * Generated when a Layout Tab Component was closed.
15397
+ * @interface
15398
+ */
15399
+ declare type TabClosedEvent = LayoutDOMEvent & {
15400
+ type: 'tab-closed';
15401
+ url: string;
15402
+ };
15403
+
15404
+ /**
15405
+ * Generated when a Layout Tab Component was created.
15406
+ * @interface
15407
+ */
15408
+ declare type TabCreatedEvent = LayoutDOMEvent & {
15409
+ type: 'tab-created';
15410
+ };
15411
+
15306
15412
  declare interface TabDragListener extends EventEmitter_2 {
15307
15413
  /**
15308
15414
  * A reference to the content item this tab relates to
@@ -15310,6 +15416,15 @@ declare interface TabDragListener extends EventEmitter_2 {
15310
15416
  contentItem: ContentItem;
15311
15417
  }
15312
15418
 
15419
+ /**
15420
+ * Generated when a Layout Tab Component was dropped.
15421
+ * @interface
15422
+ */
15423
+ declare type TabDroppedEvent = LayoutDOMEvent & {
15424
+ type: 'tab-dropped';
15425
+ url: string;
15426
+ };
15427
+
15313
15428
  /**
15314
15429
  * A TabStack is used to manage the state of a stack of tabs within an OpenFin Layout.
15315
15430
  */
@@ -11880,24 +11880,24 @@ class LayoutModule extends base_1$4.Base {
11880
11880
  this.wire.sendAction('layout-init').catch((e) => {
11881
11881
  // don't expose
11882
11882
  });
11883
- if (!this.fin.me.isWindow) {
11883
+ if (!this.wire.environment.layoutAllowedInContext(this.fin)) {
11884
11884
  throw new Error('Layout.init can only be called from a Window context.');
11885
11885
  }
11886
- else if (__classPrivateFieldGet$3(this, _LayoutModule_layoutInitializationAttempted, "f")) {
11886
+ if (__classPrivateFieldGet$3(this, _LayoutModule_layoutInitializationAttempted, "f")) {
11887
11887
  throw new Error('Layout.init was already called, please use Layout.create to add additional layouts.');
11888
11888
  }
11889
11889
  __classPrivateFieldSet$3(this, _LayoutModule_layoutInitializationAttempted, true, "f");
11890
- // preload the client
11891
- await this.fin.Platform.getCurrentSync().getClient();
11890
+ // TODO: rename to createLayoutManager
11892
11891
  __classPrivateFieldSet$3(this, _LayoutModule_layoutManager, await this.wire.environment.initLayoutManager(this.fin, this.wire, options), "f");
11893
11892
  await this.wire.environment.applyLayoutSnapshot(this.fin, __classPrivateFieldGet$3(this, _LayoutModule_layoutManager, "f"), options);
11893
+ const meIdentity = { name: this.fin.me.name, uuid: this.fin.me.uuid };
11894
11894
  if (!options.layoutManagerOverride) {
11895
11895
  // CORE-1081 to be removed when we actually delete the `layoutManager` prop
11896
11896
  // in single-layout case, we return the undocumented layoutManager type
11897
- const layoutIdentity = { layoutName: layout_constants_1.DEFAULT_LAYOUT_KEY, ...this.fin.me.identity };
11897
+ const layoutIdentity = { layoutName: layout_constants_1.DEFAULT_LAYOUT_KEY, ...meIdentity };
11898
11898
  return __classPrivateFieldGet$3(this, _LayoutModule_getLayoutManagerSpy, "f").call(this, layoutIdentity);
11899
11899
  }
11900
- return this.wrapSync(this.fin.me.identity);
11900
+ return this.wrapSync(meIdentity);
11901
11901
  };
11902
11902
  _LayoutModule_getLayoutManagerSpy.set(this, (layoutIdentity) => {
11903
11903
  const msg = '[Layout] You are using a deprecated property `layoutManager` - it will throw if you access it starting in v37.';
@@ -17578,6 +17578,9 @@ function requireNodeEnv () {
17578
17578
  getRtcPeer() {
17579
17579
  throw new Error('Method not implemented.');
17580
17580
  }
17581
+ layoutAllowedInContext(_fin) {
17582
+ throw new Error('Method not implemented.');
17583
+ }
17581
17584
  async initLayoutManager() {
17582
17585
  throw new Error('Method not implemented.');
17583
17586
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@openfin/node-adapter",
3
- "version": "37.81.19",
3
+ "version": "38.81.22",
4
4
  "description": "See README.md",
5
5
  "main": "out/node-adapter.js",
6
6
  "types": "out/node-adapter.d.ts",