@openfin/node-adapter 35.78.27 → 35.79.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -97,9 +97,9 @@ declare type Api = {
97
97
  enableDeprecatedSharedName?: boolean;
98
98
  };
99
99
  /**
100
- * Prevent fin API injection. If true `fin` won't be available in this context.
100
+ * Prevent fin API injection. If 'none', `fin` won't be available in this context.
101
101
  */
102
- preventInjection?: boolean;
102
+ fin?: InjectionType;
103
103
  };
104
104
 
105
105
  declare type ApiCall<Request, Response> = {
@@ -111,6 +111,13 @@ declare type ApiClient<T extends Record<any, any>> = {
111
111
  [key in keyof PickOfType<T, Function>]: (...args: Parameters<T[key]>) => ReturnType<T[key]> extends Promise<any> ? ReturnType<T[key]> : Promise<ReturnType<T[key]>>;
112
112
  };
113
113
 
114
+ /**
115
+ * @interface
116
+ */
117
+ declare type ApiInjection = {
118
+ fin: InjectionType;
119
+ };
120
+
114
121
  /**
115
122
  * Generated when a new Platform's API becomes responsive.
116
123
  * @interface
@@ -1178,10 +1185,13 @@ declare type ApplicationOptions = LegacyWinOptionsInAppOptions & {
1178
1185
  */
1179
1186
  apiDiagnostics: boolean;
1180
1187
  /**
1181
- * Define the file download rules.
1182
- * See [here](https://developers.openfin.co/of-docs/docs/file-download#manifest-properties-for-file-downloads) for more details.
1188
+ * @deprecated Please use {@link domainSettings} instead
1183
1189
  */
1184
1190
  defaultDomainSettings: DefaultDomainSettings;
1191
+ /**
1192
+ * Define the {@link https://developers.openfin.co/of-docs/docs/file-download#manifest-properties-for-file-downloads file download rules} and domain-based api injection rules.
1193
+ */
1194
+ domainSettings: DomainSettings;
1185
1195
  /**
1186
1196
  * @defaultValue false
1187
1197
  *
@@ -3480,9 +3490,13 @@ declare type ConstViewOptions = {
3480
3490
  /**
3481
3491
  * Controls interaction of the view with its parent window's download shelf.
3482
3492
  */
3483
- downloadShelf?: {
3493
+ downloadShelf: {
3484
3494
  /**
3485
- * Whether downloads in this view trigger opening the download shelf on its parent BrowserWindow
3495
+ * Whether downloads in this view trigger opening the download shelf on its parent BrowserWindow.
3496
+ *
3497
+ * @remarks If `enabled: true`, downloads from this view will cause the download shelf to display
3498
+ * on the parent window even if that parent window's {@link DownloadShelfOptions} specify
3499
+ * `enabled: false`.
3486
3500
  */
3487
3501
  enabled: boolean;
3488
3502
  };
@@ -3598,6 +3612,12 @@ declare type ConstWindowOptions = {
3598
3612
  * launches in favor of the cached value.
3599
3613
  */
3600
3614
  defaultWidth: number;
3615
+ /**
3616
+ * Controls the styling and behavior of the window download shelf.
3617
+ *
3618
+ * @remarks This will control the styling for the download shelf regardless of whether its display was
3619
+ * triggered by the window itself, or a view targeting the window.
3620
+ */
3601
3621
  downloadShelf: DownloadShelfOptions;
3602
3622
  height: number;
3603
3623
  layout: any;
@@ -4435,21 +4455,15 @@ declare type CustomRequestHeaders = {
4435
4455
  declare type DataChannelReadyState = RTCDataChannel['readyState'];
4436
4456
 
4437
4457
  /**
4458
+ * @deprecated Use {@link OpenFin.DomainSettings} instead.
4438
4459
  * @interface
4439
4460
  */
4440
- declare type DefaultDomainSettings = {
4441
- rules: DefaultDomainSettingsRule[];
4442
- };
4461
+ declare type DefaultDomainSettings = DomainSettings;
4443
4462
 
4444
4463
  /**
4445
- * @interface
4464
+ * @deprecated Use {@link OpenFin.DomainSettingsRule} instead.
4446
4465
  */
4447
- declare type DefaultDomainSettingsRule = {
4448
- match: string[];
4449
- options: {
4450
- downloadSettings: FileDownloadSettings;
4451
- };
4452
- };
4466
+ declare type DefaultDomainSettingsRule = DomainSettingsRule;
4453
4467
 
4454
4468
  declare interface DesktopAgent {
4455
4469
  open(app: TargetApp, context?: Context): Promise<void>;
@@ -4694,6 +4708,25 @@ declare type DisplayMetadata_3 = {
4694
4708
  readonly glyph?: string;
4695
4709
  };
4696
4710
 
4711
+ /**
4712
+ * @interface
4713
+ * Define the {@link https://developers.openfin.co/of-docs/docs/file-download#manifest-properties-for-file-downloads file download rules} and domain-based api injection rules.
4714
+ */
4715
+ declare type DomainSettings = {
4716
+ rules: DomainSettingsRule[];
4717
+ };
4718
+
4719
+ /**
4720
+ * @interface
4721
+ */
4722
+ declare type DomainSettingsRule = {
4723
+ match: string[];
4724
+ options: {
4725
+ downloadSettings?: FileDownloadSettings;
4726
+ api?: ApiInjection;
4727
+ };
4728
+ };
4729
+
4697
4730
  /**
4698
4731
  * Metadata returned from a preload script download request.
4699
4732
  *
@@ -4738,14 +4771,24 @@ declare type DownloadRule = {
4738
4771
  * @interface
4739
4772
  *
4740
4773
  * Controls the styling and behavior of the window download shelf.
4774
+ *
4775
+ * @remarks This will control the styling for the download shelf regardless of whether its display was
4776
+ * triggered by the window itself, or a view targeting the window.
4741
4777
  */
4742
4778
  declare type DownloadShelfOptions = {
4743
4779
  /**
4744
- * Whether downloads in this window trigger opening the download shelf.
4780
+ * Whether downloads in this window trigger display of the download shelf.
4781
+ *
4782
+ * @remarks Setting this to false will *not* prevent the download shelf from opening if a child view
4783
+ * with `downloadShelf: { enabled: true }` initiates a download.
4745
4784
  */
4746
4785
  enabled: boolean;
4747
4786
  /**
4748
4787
  * Styling options for the download shelf border.
4788
+ *
4789
+ * @remarks These apply regardless of whether download shelf display was
4790
+ * triggered by this window itself, or a view targeting the window. Individual views
4791
+ * cannot control the rendering of their parent window's download shelf.
4749
4792
  */
4750
4793
  border?: {
4751
4794
  /**
@@ -4755,7 +4798,7 @@ declare type DownloadShelfOptions = {
4755
4798
  */
4756
4799
  size?: number;
4757
4800
  /**
4758
- * Color of the border, either a string name or a hex code. Defaults to chromium theme
4801
+ * Color of the border. Must be a 6-character hex code prefixed by #. Defaults to chromium theme
4759
4802
  * if absent.
4760
4803
  */
4761
4804
  color?: string;
@@ -6568,6 +6611,13 @@ declare type InitPlatformOptions = {
6568
6611
  interopOverride?: OverrideCallback<InteropBroker> | ConstructorOverride<InteropBroker>[];
6569
6612
  };
6570
6613
 
6614
+ /**
6615
+ * * 'none': The `fin` API will be not available from within this context.
6616
+ * * 'global': The entire `fin` API will be available from within this context.
6617
+ * @defaultValue 'global'
6618
+ */
6619
+ declare type InjectionType = 'none' | 'global';
6620
+
6571
6621
  /**
6572
6622
  * Generated when the value of the element changes.
6573
6623
  * @interface
@@ -7412,8 +7462,6 @@ declare type InteropBrokerOptions = {
7412
7462
  };
7413
7463
 
7414
7464
  /**
7415
- * {@link https://developers.openfin.co/of-docs/docs/enable-color-linking}
7416
- *
7417
7465
  * The Interop Client API is broken up into two groups:
7418
7466
  *
7419
7467
  * **Content Facing APIs** - For Application Developers putting Views into a Platform Window, who care about Context. These are APIs that send out and receive the Context data that flows between applications. Think of this as the Water in the Interop Pipes.
@@ -7816,7 +7864,7 @@ declare class InteropClient extends Base {
7816
7864
  * ```
7817
7865
  */
7818
7866
  onDisconnection(listener: OpenFin.InteropClientOnDisconnectionListener): Promise<void>;
7819
- static ferryFdc3Call(interopClient: OpenFin.InteropClient, action: string, payload?: any): Promise<any>;
7867
+ /* Excluded from this release type: ferryFdc3Call */
7820
7868
  }
7821
7869
 
7822
7870
  /**
@@ -8746,7 +8794,7 @@ declare type LayoutOptions = {
8746
8794
  * @defaultValue false
8747
8795
  *
8748
8796
  * Limits the area to which tabs can be dragged.
8749
- * If true, stack headers are the only areas where tabs can be dropped.
8797
+ * If true, the layout container is the only area where tabs can be dropped.
8750
8798
  */
8751
8799
  constrainDragToContainer?: boolean;
8752
8800
  /**
@@ -8823,7 +8871,7 @@ declare type LayoutOptions = {
8823
8871
  declare type LayoutPosition = 'top' | 'bottom' | 'left' | 'right';
8824
8872
 
8825
8873
  /**
8826
- * @interface
8874
+ * Layout preset type.
8827
8875
  */
8828
8876
  declare type LayoutPresetType = 'columns' | 'grid' | 'rows' | 'tabs';
8829
8877
 
@@ -9538,7 +9586,7 @@ declare type MutableWindowOptions = {
9538
9586
  showTaskbarIcon: boolean;
9539
9587
  interop: InteropConfig;
9540
9588
  /* Excluded from this release type: _internalWorkspaceData */
9541
- workspacePlatform: unknown;
9589
+ /* Excluded from this release type: workspacePlatform */
9542
9590
  };
9543
9591
 
9544
9592
  declare type NackHandler = (payloadOrMessage: RuntimeErrorPayload | string) => void;
@@ -9726,6 +9774,7 @@ declare namespace OpenFin {
9726
9774
  ResizeRegion,
9727
9775
  Accelerator,
9728
9776
  Api,
9777
+ InjectionType,
9729
9778
  NavigationRules,
9730
9779
  ContentNavigation,
9731
9780
  ContentRedirect,
@@ -9873,6 +9922,9 @@ declare namespace OpenFin {
9873
9922
  RuntimeInfo,
9874
9923
  DefaultDomainSettings,
9875
9924
  DefaultDomainSettingsRule,
9925
+ DomainSettings,
9926
+ ApiInjection,
9927
+ DomainSettingsRule,
9876
9928
  FileDownloadBehaviorNames,
9877
9929
  FileDownloadSettings,
9878
9930
  DownloadRule,
@@ -97,9 +97,9 @@ declare type Api = {
97
97
  enableDeprecatedSharedName?: boolean;
98
98
  };
99
99
  /**
100
- * Prevent fin API injection. If true `fin` won't be available in this context.
100
+ * Prevent fin API injection. If 'none', `fin` won't be available in this context.
101
101
  */
102
- preventInjection?: boolean;
102
+ fin?: InjectionType;
103
103
  };
104
104
 
105
105
  declare type ApiCall<Request, Response> = {
@@ -111,6 +111,13 @@ declare type ApiClient<T extends Record<any, any>> = {
111
111
  [key in keyof PickOfType<T, Function>]: (...args: Parameters<T[key]>) => ReturnType<T[key]> extends Promise<any> ? ReturnType<T[key]> : Promise<ReturnType<T[key]>>;
112
112
  };
113
113
 
114
+ /**
115
+ * @interface
116
+ */
117
+ declare type ApiInjection = {
118
+ fin: InjectionType;
119
+ };
120
+
114
121
  /**
115
122
  * Generated when a new Platform's API becomes responsive.
116
123
  * @interface
@@ -1178,10 +1185,13 @@ declare type ApplicationOptions = LegacyWinOptionsInAppOptions & {
1178
1185
  */
1179
1186
  apiDiagnostics: boolean;
1180
1187
  /**
1181
- * Define the file download rules.
1182
- * See [here](https://developers.openfin.co/of-docs/docs/file-download#manifest-properties-for-file-downloads) for more details.
1188
+ * @deprecated Please use {@link domainSettings} instead
1183
1189
  */
1184
1190
  defaultDomainSettings: DefaultDomainSettings;
1191
+ /**
1192
+ * Define the {@link https://developers.openfin.co/of-docs/docs/file-download#manifest-properties-for-file-downloads file download rules} and domain-based api injection rules.
1193
+ */
1194
+ domainSettings: DomainSettings;
1185
1195
  /**
1186
1196
  * @defaultValue false
1187
1197
  *
@@ -3480,9 +3490,13 @@ declare type ConstViewOptions = {
3480
3490
  /**
3481
3491
  * Controls interaction of the view with its parent window's download shelf.
3482
3492
  */
3483
- downloadShelf?: {
3493
+ downloadShelf: {
3484
3494
  /**
3485
- * Whether downloads in this view trigger opening the download shelf on its parent BrowserWindow
3495
+ * Whether downloads in this view trigger opening the download shelf on its parent BrowserWindow.
3496
+ *
3497
+ * @remarks If `enabled: true`, downloads from this view will cause the download shelf to display
3498
+ * on the parent window even if that parent window's {@link DownloadShelfOptions} specify
3499
+ * `enabled: false`.
3486
3500
  */
3487
3501
  enabled: boolean;
3488
3502
  };
@@ -3598,6 +3612,12 @@ declare type ConstWindowOptions = {
3598
3612
  * launches in favor of the cached value.
3599
3613
  */
3600
3614
  defaultWidth: number;
3615
+ /**
3616
+ * Controls the styling and behavior of the window download shelf.
3617
+ *
3618
+ * @remarks This will control the styling for the download shelf regardless of whether its display was
3619
+ * triggered by the window itself, or a view targeting the window.
3620
+ */
3601
3621
  downloadShelf: DownloadShelfOptions;
3602
3622
  height: number;
3603
3623
  layout: any;
@@ -4435,21 +4455,15 @@ declare type CustomRequestHeaders = {
4435
4455
  declare type DataChannelReadyState = RTCDataChannel['readyState'];
4436
4456
 
4437
4457
  /**
4458
+ * @deprecated Use {@link OpenFin.DomainSettings} instead.
4438
4459
  * @interface
4439
4460
  */
4440
- declare type DefaultDomainSettings = {
4441
- rules: DefaultDomainSettingsRule[];
4442
- };
4461
+ declare type DefaultDomainSettings = DomainSettings;
4443
4462
 
4444
4463
  /**
4445
- * @interface
4464
+ * @deprecated Use {@link OpenFin.DomainSettingsRule} instead.
4446
4465
  */
4447
- declare type DefaultDomainSettingsRule = {
4448
- match: string[];
4449
- options: {
4450
- downloadSettings: FileDownloadSettings;
4451
- };
4452
- };
4466
+ declare type DefaultDomainSettingsRule = DomainSettingsRule;
4453
4467
 
4454
4468
  declare interface DesktopAgent {
4455
4469
  open(app: TargetApp, context?: Context): Promise<void>;
@@ -4694,6 +4708,25 @@ declare type DisplayMetadata_3 = {
4694
4708
  readonly glyph?: string;
4695
4709
  };
4696
4710
 
4711
+ /**
4712
+ * @interface
4713
+ * Define the {@link https://developers.openfin.co/of-docs/docs/file-download#manifest-properties-for-file-downloads file download rules} and domain-based api injection rules.
4714
+ */
4715
+ declare type DomainSettings = {
4716
+ rules: DomainSettingsRule[];
4717
+ };
4718
+
4719
+ /**
4720
+ * @interface
4721
+ */
4722
+ declare type DomainSettingsRule = {
4723
+ match: string[];
4724
+ options: {
4725
+ downloadSettings?: FileDownloadSettings;
4726
+ api?: ApiInjection;
4727
+ };
4728
+ };
4729
+
4697
4730
  /**
4698
4731
  * Metadata returned from a preload script download request.
4699
4732
  *
@@ -4738,14 +4771,24 @@ declare type DownloadRule = {
4738
4771
  * @interface
4739
4772
  *
4740
4773
  * Controls the styling and behavior of the window download shelf.
4774
+ *
4775
+ * @remarks This will control the styling for the download shelf regardless of whether its display was
4776
+ * triggered by the window itself, or a view targeting the window.
4741
4777
  */
4742
4778
  declare type DownloadShelfOptions = {
4743
4779
  /**
4744
- * Whether downloads in this window trigger opening the download shelf.
4780
+ * Whether downloads in this window trigger display of the download shelf.
4781
+ *
4782
+ * @remarks Setting this to false will *not* prevent the download shelf from opening if a child view
4783
+ * with `downloadShelf: { enabled: true }` initiates a download.
4745
4784
  */
4746
4785
  enabled: boolean;
4747
4786
  /**
4748
4787
  * Styling options for the download shelf border.
4788
+ *
4789
+ * @remarks These apply regardless of whether download shelf display was
4790
+ * triggered by this window itself, or a view targeting the window. Individual views
4791
+ * cannot control the rendering of their parent window's download shelf.
4749
4792
  */
4750
4793
  border?: {
4751
4794
  /**
@@ -4755,7 +4798,7 @@ declare type DownloadShelfOptions = {
4755
4798
  */
4756
4799
  size?: number;
4757
4800
  /**
4758
- * Color of the border, either a string name or a hex code. Defaults to chromium theme
4801
+ * Color of the border. Must be a 6-character hex code prefixed by #. Defaults to chromium theme
4759
4802
  * if absent.
4760
4803
  */
4761
4804
  color?: string;
@@ -6568,6 +6611,13 @@ declare type InitPlatformOptions = {
6568
6611
  interopOverride?: OverrideCallback<InteropBroker> | ConstructorOverride<InteropBroker>[];
6569
6612
  };
6570
6613
 
6614
+ /**
6615
+ * * 'none': The `fin` API will be not available from within this context.
6616
+ * * 'global': The entire `fin` API will be available from within this context.
6617
+ * @defaultValue 'global'
6618
+ */
6619
+ declare type InjectionType = 'none' | 'global';
6620
+
6571
6621
  /**
6572
6622
  * Generated when the value of the element changes.
6573
6623
  * @interface
@@ -7412,8 +7462,6 @@ declare type InteropBrokerOptions = {
7412
7462
  };
7413
7463
 
7414
7464
  /**
7415
- * {@link https://developers.openfin.co/of-docs/docs/enable-color-linking}
7416
- *
7417
7465
  * The Interop Client API is broken up into two groups:
7418
7466
  *
7419
7467
  * **Content Facing APIs** - For Application Developers putting Views into a Platform Window, who care about Context. These are APIs that send out and receive the Context data that flows between applications. Think of this as the Water in the Interop Pipes.
@@ -7816,7 +7864,7 @@ declare class InteropClient extends Base {
7816
7864
  * ```
7817
7865
  */
7818
7866
  onDisconnection(listener: OpenFin.InteropClientOnDisconnectionListener): Promise<void>;
7819
- static ferryFdc3Call(interopClient: OpenFin.InteropClient, action: string, payload?: any): Promise<any>;
7867
+ /* Excluded from this release type: ferryFdc3Call */
7820
7868
  }
7821
7869
 
7822
7870
  /**
@@ -8746,7 +8794,7 @@ declare type LayoutOptions = {
8746
8794
  * @defaultValue false
8747
8795
  *
8748
8796
  * Limits the area to which tabs can be dragged.
8749
- * If true, stack headers are the only areas where tabs can be dropped.
8797
+ * If true, the layout container is the only area where tabs can be dropped.
8750
8798
  */
8751
8799
  constrainDragToContainer?: boolean;
8752
8800
  /**
@@ -8823,7 +8871,7 @@ declare type LayoutOptions = {
8823
8871
  declare type LayoutPosition = 'top' | 'bottom' | 'left' | 'right';
8824
8872
 
8825
8873
  /**
8826
- * @interface
8874
+ * Layout preset type.
8827
8875
  */
8828
8876
  declare type LayoutPresetType = 'columns' | 'grid' | 'rows' | 'tabs';
8829
8877
 
@@ -9538,7 +9586,7 @@ declare type MutableWindowOptions = {
9538
9586
  showTaskbarIcon: boolean;
9539
9587
  interop: InteropConfig;
9540
9588
  /* Excluded from this release type: _internalWorkspaceData */
9541
- workspacePlatform: unknown;
9589
+ /* Excluded from this release type: workspacePlatform */
9542
9590
  };
9543
9591
 
9544
9592
  declare type NackHandler = (payloadOrMessage: RuntimeErrorPayload | string) => void;
@@ -9726,6 +9774,7 @@ declare namespace OpenFin {
9726
9774
  ResizeRegion,
9727
9775
  Accelerator,
9728
9776
  Api,
9777
+ InjectionType,
9729
9778
  NavigationRules,
9730
9779
  ContentNavigation,
9731
9780
  ContentRedirect,
@@ -9873,6 +9922,9 @@ declare namespace OpenFin {
9873
9922
  RuntimeInfo,
9874
9923
  DefaultDomainSettings,
9875
9924
  DefaultDomainSettingsRule,
9925
+ DomainSettings,
9926
+ ApiInjection,
9927
+ DomainSettingsRule,
9876
9928
  FileDownloadBehaviorNames,
9877
9929
  FileDownloadSettings,
9878
9930
  DownloadRule,
@@ -97,9 +97,9 @@ declare type Api = {
97
97
  enableDeprecatedSharedName?: boolean;
98
98
  };
99
99
  /**
100
- * Prevent fin API injection. If true `fin` won't be available in this context.
100
+ * Prevent fin API injection. If 'none', `fin` won't be available in this context.
101
101
  */
102
- preventInjection?: boolean;
102
+ fin?: InjectionType;
103
103
  };
104
104
 
105
105
  declare type ApiCall<Request, Response> = {
@@ -111,6 +111,13 @@ declare type ApiClient<T extends Record<any, any>> = {
111
111
  [key in keyof PickOfType<T, Function>]: (...args: Parameters<T[key]>) => ReturnType<T[key]> extends Promise<any> ? ReturnType<T[key]> : Promise<ReturnType<T[key]>>;
112
112
  };
113
113
 
114
+ /**
115
+ * @interface
116
+ */
117
+ declare type ApiInjection = {
118
+ fin: InjectionType;
119
+ };
120
+
114
121
  /**
115
122
  * Generated when a new Platform's API becomes responsive.
116
123
  * @interface
@@ -1178,10 +1185,13 @@ declare type ApplicationOptions = LegacyWinOptionsInAppOptions & {
1178
1185
  */
1179
1186
  apiDiagnostics: boolean;
1180
1187
  /**
1181
- * Define the file download rules.
1182
- * See [here](https://developers.openfin.co/of-docs/docs/file-download#manifest-properties-for-file-downloads) for more details.
1188
+ * @deprecated Please use {@link domainSettings} instead
1183
1189
  */
1184
1190
  defaultDomainSettings: DefaultDomainSettings;
1191
+ /**
1192
+ * Define the {@link https://developers.openfin.co/of-docs/docs/file-download#manifest-properties-for-file-downloads file download rules} and domain-based api injection rules.
1193
+ */
1194
+ domainSettings: DomainSettings;
1185
1195
  /**
1186
1196
  * @defaultValue false
1187
1197
  *
@@ -3480,9 +3490,13 @@ declare type ConstViewOptions = {
3480
3490
  /**
3481
3491
  * Controls interaction of the view with its parent window's download shelf.
3482
3492
  */
3483
- downloadShelf?: {
3493
+ downloadShelf: {
3484
3494
  /**
3485
- * Whether downloads in this view trigger opening the download shelf on its parent BrowserWindow
3495
+ * Whether downloads in this view trigger opening the download shelf on its parent BrowserWindow.
3496
+ *
3497
+ * @remarks If `enabled: true`, downloads from this view will cause the download shelf to display
3498
+ * on the parent window even if that parent window's {@link DownloadShelfOptions} specify
3499
+ * `enabled: false`.
3486
3500
  */
3487
3501
  enabled: boolean;
3488
3502
  };
@@ -3598,6 +3612,12 @@ declare type ConstWindowOptions = {
3598
3612
  * launches in favor of the cached value.
3599
3613
  */
3600
3614
  defaultWidth: number;
3615
+ /**
3616
+ * Controls the styling and behavior of the window download shelf.
3617
+ *
3618
+ * @remarks This will control the styling for the download shelf regardless of whether its display was
3619
+ * triggered by the window itself, or a view targeting the window.
3620
+ */
3601
3621
  downloadShelf: DownloadShelfOptions;
3602
3622
  height: number;
3603
3623
  layout: any;
@@ -4435,21 +4455,15 @@ declare type CustomRequestHeaders = {
4435
4455
  declare type DataChannelReadyState = RTCDataChannel['readyState'];
4436
4456
 
4437
4457
  /**
4458
+ * @deprecated Use {@link OpenFin.DomainSettings} instead.
4438
4459
  * @interface
4439
4460
  */
4440
- declare type DefaultDomainSettings = {
4441
- rules: DefaultDomainSettingsRule[];
4442
- };
4461
+ declare type DefaultDomainSettings = DomainSettings;
4443
4462
 
4444
4463
  /**
4445
- * @interface
4464
+ * @deprecated Use {@link OpenFin.DomainSettingsRule} instead.
4446
4465
  */
4447
- declare type DefaultDomainSettingsRule = {
4448
- match: string[];
4449
- options: {
4450
- downloadSettings: FileDownloadSettings;
4451
- };
4452
- };
4466
+ declare type DefaultDomainSettingsRule = DomainSettingsRule;
4453
4467
 
4454
4468
  declare interface DesktopAgent {
4455
4469
  open(app: TargetApp, context?: Context): Promise<void>;
@@ -4694,6 +4708,25 @@ declare type DisplayMetadata_3 = {
4694
4708
  readonly glyph?: string;
4695
4709
  };
4696
4710
 
4711
+ /**
4712
+ * @interface
4713
+ * Define the {@link https://developers.openfin.co/of-docs/docs/file-download#manifest-properties-for-file-downloads file download rules} and domain-based api injection rules.
4714
+ */
4715
+ declare type DomainSettings = {
4716
+ rules: DomainSettingsRule[];
4717
+ };
4718
+
4719
+ /**
4720
+ * @interface
4721
+ */
4722
+ declare type DomainSettingsRule = {
4723
+ match: string[];
4724
+ options: {
4725
+ downloadSettings?: FileDownloadSettings;
4726
+ api?: ApiInjection;
4727
+ };
4728
+ };
4729
+
4697
4730
  /**
4698
4731
  * Metadata returned from a preload script download request.
4699
4732
  *
@@ -4738,14 +4771,24 @@ declare type DownloadRule = {
4738
4771
  * @interface
4739
4772
  *
4740
4773
  * Controls the styling and behavior of the window download shelf.
4774
+ *
4775
+ * @remarks This will control the styling for the download shelf regardless of whether its display was
4776
+ * triggered by the window itself, or a view targeting the window.
4741
4777
  */
4742
4778
  declare type DownloadShelfOptions = {
4743
4779
  /**
4744
- * Whether downloads in this window trigger opening the download shelf.
4780
+ * Whether downloads in this window trigger display of the download shelf.
4781
+ *
4782
+ * @remarks Setting this to false will *not* prevent the download shelf from opening if a child view
4783
+ * with `downloadShelf: { enabled: true }` initiates a download.
4745
4784
  */
4746
4785
  enabled: boolean;
4747
4786
  /**
4748
4787
  * Styling options for the download shelf border.
4788
+ *
4789
+ * @remarks These apply regardless of whether download shelf display was
4790
+ * triggered by this window itself, or a view targeting the window. Individual views
4791
+ * cannot control the rendering of their parent window's download shelf.
4749
4792
  */
4750
4793
  border?: {
4751
4794
  /**
@@ -4755,7 +4798,7 @@ declare type DownloadShelfOptions = {
4755
4798
  */
4756
4799
  size?: number;
4757
4800
  /**
4758
- * Color of the border, either a string name or a hex code. Defaults to chromium theme
4801
+ * Color of the border. Must be a 6-character hex code prefixed by #. Defaults to chromium theme
4759
4802
  * if absent.
4760
4803
  */
4761
4804
  color?: string;
@@ -6568,6 +6611,13 @@ declare type InitPlatformOptions = {
6568
6611
  interopOverride?: OverrideCallback<InteropBroker> | ConstructorOverride<InteropBroker>[];
6569
6612
  };
6570
6613
 
6614
+ /**
6615
+ * * 'none': The `fin` API will be not available from within this context.
6616
+ * * 'global': The entire `fin` API will be available from within this context.
6617
+ * @defaultValue 'global'
6618
+ */
6619
+ declare type InjectionType = 'none' | 'global';
6620
+
6571
6621
  /**
6572
6622
  * Generated when the value of the element changes.
6573
6623
  * @interface
@@ -7412,8 +7462,6 @@ declare type InteropBrokerOptions = {
7412
7462
  };
7413
7463
 
7414
7464
  /**
7415
- * {@link https://developers.openfin.co/of-docs/docs/enable-color-linking}
7416
- *
7417
7465
  * The Interop Client API is broken up into two groups:
7418
7466
  *
7419
7467
  * **Content Facing APIs** - For Application Developers putting Views into a Platform Window, who care about Context. These are APIs that send out and receive the Context data that flows between applications. Think of this as the Water in the Interop Pipes.
@@ -7816,7 +7864,7 @@ declare class InteropClient extends Base {
7816
7864
  * ```
7817
7865
  */
7818
7866
  onDisconnection(listener: OpenFin.InteropClientOnDisconnectionListener): Promise<void>;
7819
- static ferryFdc3Call(interopClient: OpenFin.InteropClient, action: string, payload?: any): Promise<any>;
7867
+ /* Excluded from this release type: ferryFdc3Call */
7820
7868
  }
7821
7869
 
7822
7870
  /**
@@ -8746,7 +8794,7 @@ declare type LayoutOptions = {
8746
8794
  * @defaultValue false
8747
8795
  *
8748
8796
  * Limits the area to which tabs can be dragged.
8749
- * If true, stack headers are the only areas where tabs can be dropped.
8797
+ * If true, the layout container is the only area where tabs can be dropped.
8750
8798
  */
8751
8799
  constrainDragToContainer?: boolean;
8752
8800
  /**
@@ -8823,7 +8871,7 @@ declare type LayoutOptions = {
8823
8871
  declare type LayoutPosition = 'top' | 'bottom' | 'left' | 'right';
8824
8872
 
8825
8873
  /**
8826
- * @interface
8874
+ * Layout preset type.
8827
8875
  */
8828
8876
  declare type LayoutPresetType = 'columns' | 'grid' | 'rows' | 'tabs';
8829
8877
 
@@ -9538,7 +9586,7 @@ declare type MutableWindowOptions = {
9538
9586
  showTaskbarIcon: boolean;
9539
9587
  interop: InteropConfig;
9540
9588
  /* Excluded from this release type: _internalWorkspaceData */
9541
- workspacePlatform: unknown;
9589
+ /* Excluded from this release type: workspacePlatform */
9542
9590
  };
9543
9591
 
9544
9592
  declare type NackHandler = (payloadOrMessage: RuntimeErrorPayload | string) => void;
@@ -9726,6 +9774,7 @@ declare namespace OpenFin {
9726
9774
  ResizeRegion,
9727
9775
  Accelerator,
9728
9776
  Api,
9777
+ InjectionType,
9729
9778
  NavigationRules,
9730
9779
  ContentNavigation,
9731
9780
  ContentRedirect,
@@ -9873,6 +9922,9 @@ declare namespace OpenFin {
9873
9922
  RuntimeInfo,
9874
9923
  DefaultDomainSettings,
9875
9924
  DefaultDomainSettingsRule,
9925
+ DomainSettings,
9926
+ ApiInjection,
9927
+ DomainSettingsRule,
9876
9928
  FileDownloadBehaviorNames,
9877
9929
  FileDownloadSettings,
9878
9930
  DownloadRule,
@@ -97,9 +97,9 @@ declare type Api = {
97
97
  enableDeprecatedSharedName?: boolean;
98
98
  };
99
99
  /**
100
- * Prevent fin API injection. If true `fin` won't be available in this context.
100
+ * Prevent fin API injection. If 'none', `fin` won't be available in this context.
101
101
  */
102
- preventInjection?: boolean;
102
+ fin?: InjectionType;
103
103
  };
104
104
 
105
105
  declare type ApiCall<Request, Response> = {
@@ -111,6 +111,13 @@ declare type ApiClient<T extends Record<any, any>> = {
111
111
  [key in keyof PickOfType<T, Function>]: (...args: Parameters<T[key]>) => ReturnType<T[key]> extends Promise<any> ? ReturnType<T[key]> : Promise<ReturnType<T[key]>>;
112
112
  };
113
113
 
114
+ /**
115
+ * @interface
116
+ */
117
+ declare type ApiInjection = {
118
+ fin: InjectionType;
119
+ };
120
+
114
121
  /**
115
122
  * Generated when a new Platform's API becomes responsive.
116
123
  * @interface
@@ -1184,10 +1191,13 @@ declare type ApplicationOptions = LegacyWinOptionsInAppOptions & {
1184
1191
  */
1185
1192
  apiDiagnostics: boolean;
1186
1193
  /**
1187
- * Define the file download rules.
1188
- * See [here](https://developers.openfin.co/of-docs/docs/file-download#manifest-properties-for-file-downloads) for more details.
1194
+ * @deprecated Please use {@link domainSettings} instead
1189
1195
  */
1190
1196
  defaultDomainSettings: DefaultDomainSettings;
1197
+ /**
1198
+ * Define the {@link https://developers.openfin.co/of-docs/docs/file-download#manifest-properties-for-file-downloads file download rules} and domain-based api injection rules.
1199
+ */
1200
+ domainSettings: DomainSettings;
1191
1201
  /**
1192
1202
  * @defaultValue false
1193
1203
  *
@@ -3523,9 +3533,13 @@ declare type ConstViewOptions = {
3523
3533
  /**
3524
3534
  * Controls interaction of the view with its parent window's download shelf.
3525
3535
  */
3526
- downloadShelf?: {
3536
+ downloadShelf: {
3527
3537
  /**
3528
- * Whether downloads in this view trigger opening the download shelf on its parent BrowserWindow
3538
+ * Whether downloads in this view trigger opening the download shelf on its parent BrowserWindow.
3539
+ *
3540
+ * @remarks If `enabled: true`, downloads from this view will cause the download shelf to display
3541
+ * on the parent window even if that parent window's {@link DownloadShelfOptions} specify
3542
+ * `enabled: false`.
3529
3543
  */
3530
3544
  enabled: boolean;
3531
3545
  };
@@ -3641,6 +3655,12 @@ declare type ConstWindowOptions = {
3641
3655
  * launches in favor of the cached value.
3642
3656
  */
3643
3657
  defaultWidth: number;
3658
+ /**
3659
+ * Controls the styling and behavior of the window download shelf.
3660
+ *
3661
+ * @remarks This will control the styling for the download shelf regardless of whether its display was
3662
+ * triggered by the window itself, or a view targeting the window.
3663
+ */
3644
3664
  downloadShelf: DownloadShelfOptions;
3645
3665
  height: number;
3646
3666
  layout: any;
@@ -4478,21 +4498,15 @@ declare type CustomRequestHeaders = {
4478
4498
  declare type DataChannelReadyState = RTCDataChannel['readyState'];
4479
4499
 
4480
4500
  /**
4501
+ * @deprecated Use {@link OpenFin.DomainSettings} instead.
4481
4502
  * @interface
4482
4503
  */
4483
- declare type DefaultDomainSettings = {
4484
- rules: DefaultDomainSettingsRule[];
4485
- };
4504
+ declare type DefaultDomainSettings = DomainSettings;
4486
4505
 
4487
4506
  /**
4488
- * @interface
4507
+ * @deprecated Use {@link OpenFin.DomainSettingsRule} instead.
4489
4508
  */
4490
- declare type DefaultDomainSettingsRule = {
4491
- match: string[];
4492
- options: {
4493
- downloadSettings: FileDownloadSettings;
4494
- };
4495
- };
4509
+ declare type DefaultDomainSettingsRule = DomainSettingsRule;
4496
4510
 
4497
4511
  declare interface DesktopAgent {
4498
4512
  open(app: TargetApp, context?: Context): Promise<void>;
@@ -4737,6 +4751,25 @@ declare type DisplayMetadata_3 = {
4737
4751
  readonly glyph?: string;
4738
4752
  };
4739
4753
 
4754
+ /**
4755
+ * @interface
4756
+ * Define the {@link https://developers.openfin.co/of-docs/docs/file-download#manifest-properties-for-file-downloads file download rules} and domain-based api injection rules.
4757
+ */
4758
+ declare type DomainSettings = {
4759
+ rules: DomainSettingsRule[];
4760
+ };
4761
+
4762
+ /**
4763
+ * @interface
4764
+ */
4765
+ declare type DomainSettingsRule = {
4766
+ match: string[];
4767
+ options: {
4768
+ downloadSettings?: FileDownloadSettings;
4769
+ api?: ApiInjection;
4770
+ };
4771
+ };
4772
+
4740
4773
  /**
4741
4774
  * Metadata returned from a preload script download request.
4742
4775
  *
@@ -4781,14 +4814,24 @@ declare type DownloadRule = {
4781
4814
  * @interface
4782
4815
  *
4783
4816
  * Controls the styling and behavior of the window download shelf.
4817
+ *
4818
+ * @remarks This will control the styling for the download shelf regardless of whether its display was
4819
+ * triggered by the window itself, or a view targeting the window.
4784
4820
  */
4785
4821
  declare type DownloadShelfOptions = {
4786
4822
  /**
4787
- * Whether downloads in this window trigger opening the download shelf.
4823
+ * Whether downloads in this window trigger display of the download shelf.
4824
+ *
4825
+ * @remarks Setting this to false will *not* prevent the download shelf from opening if a child view
4826
+ * with `downloadShelf: { enabled: true }` initiates a download.
4788
4827
  */
4789
4828
  enabled: boolean;
4790
4829
  /**
4791
4830
  * Styling options for the download shelf border.
4831
+ *
4832
+ * @remarks These apply regardless of whether download shelf display was
4833
+ * triggered by this window itself, or a view targeting the window. Individual views
4834
+ * cannot control the rendering of their parent window's download shelf.
4792
4835
  */
4793
4836
  border?: {
4794
4837
  /**
@@ -4798,7 +4841,7 @@ declare type DownloadShelfOptions = {
4798
4841
  */
4799
4842
  size?: number;
4800
4843
  /**
4801
- * Color of the border, either a string name or a hex code. Defaults to chromium theme
4844
+ * Color of the border. Must be a 6-character hex code prefixed by #. Defaults to chromium theme
4802
4845
  * if absent.
4803
4846
  */
4804
4847
  color?: string;
@@ -6668,6 +6711,13 @@ declare type InitPlatformOptions = {
6668
6711
  interopOverride?: OverrideCallback<InteropBroker> | ConstructorOverride<InteropBroker>[];
6669
6712
  };
6670
6713
 
6714
+ /**
6715
+ * * 'none': The `fin` API will be not available from within this context.
6716
+ * * 'global': The entire `fin` API will be available from within this context.
6717
+ * @defaultValue 'global'
6718
+ */
6719
+ declare type InjectionType = 'none' | 'global';
6720
+
6671
6721
  /**
6672
6722
  * Generated when the value of the element changes.
6673
6723
  * @interface
@@ -7527,8 +7577,6 @@ declare type InteropBrokerOptions = {
7527
7577
  };
7528
7578
 
7529
7579
  /**
7530
- * {@link https://developers.openfin.co/of-docs/docs/enable-color-linking}
7531
- *
7532
7580
  * The Interop Client API is broken up into two groups:
7533
7581
  *
7534
7582
  * **Content Facing APIs** - For Application Developers putting Views into a Platform Window, who care about Context. These are APIs that send out and receive the Context data that flows between applications. Think of this as the Water in the Interop Pipes.
@@ -7934,6 +7982,11 @@ declare class InteropClient extends Base {
7934
7982
  * ```
7935
7983
  */
7936
7984
  onDisconnection(listener: OpenFin.InteropClientOnDisconnectionListener): Promise<void>;
7985
+ /**
7986
+ * @internal
7987
+ *
7988
+ * Used to ferry fdc3-only calls from the fdc3 shim to the Interop Broker
7989
+ */
7937
7990
  static ferryFdc3Call(interopClient: OpenFin.InteropClient, action: string, payload?: any): Promise<any>;
7938
7991
  }
7939
7992
 
@@ -9040,7 +9093,7 @@ declare type LayoutOptions = {
9040
9093
  * @defaultValue false
9041
9094
  *
9042
9095
  * Limits the area to which tabs can be dragged.
9043
- * If true, stack headers are the only areas where tabs can be dropped.
9096
+ * If true, the layout container is the only area where tabs can be dropped.
9044
9097
  */
9045
9098
  constrainDragToContainer?: boolean;
9046
9099
  /**
@@ -9117,7 +9170,7 @@ declare type LayoutOptions = {
9117
9170
  declare type LayoutPosition = 'top' | 'bottom' | 'left' | 'right';
9118
9171
 
9119
9172
  /**
9120
- * @interface
9173
+ * Layout preset type.
9121
9174
  */
9122
9175
  declare type LayoutPresetType = 'columns' | 'grid' | 'rows' | 'tabs';
9123
9176
 
@@ -9840,7 +9893,11 @@ declare type MutableWindowOptions = {
9840
9893
  * Used by Workspace to store custom data. Overwriting or modifying this field may impact the functionality of Workspace
9841
9894
  */
9842
9895
  _internalWorkspaceData: any;
9843
- workspacePlatform: unknown;
9896
+ /**
9897
+ * @internal
9898
+ * Used by workspace to stork platform specific options. Overwriting or modifying this field may impact the functionality of Workspace
9899
+ */
9900
+ workspacePlatform: WorkspacePlatformOptions;
9844
9901
  };
9845
9902
 
9846
9903
  declare type NackHandler = (payloadOrMessage: RuntimeErrorPayload | string) => void;
@@ -10038,6 +10095,7 @@ declare namespace OpenFin {
10038
10095
  ResizeRegion,
10039
10096
  Accelerator,
10040
10097
  Api,
10098
+ InjectionType,
10041
10099
  NavigationRules,
10042
10100
  ContentNavigation,
10043
10101
  ContentRedirect,
@@ -10185,6 +10243,9 @@ declare namespace OpenFin {
10185
10243
  RuntimeInfo,
10186
10244
  DefaultDomainSettings,
10187
10245
  DefaultDomainSettingsRule,
10246
+ DomainSettings,
10247
+ ApiInjection,
10248
+ DomainSettingsRule,
10188
10249
  FileDownloadBehaviorNames,
10189
10250
  FileDownloadSettings,
10190
10251
  DownloadRule,
@@ -8054,7 +8054,8 @@ function errorToPOJO(error) {
8054
8054
  stack: error.stack,
8055
8055
  name: error.name,
8056
8056
  message: error.message,
8057
- toString: error.toString
8057
+ // support the case where stack is empty or missing
8058
+ toString: () => error.stack || error.toString()
8058
8059
  };
8059
8060
  }
8060
8061
  errors.errorToPOJO = errorToPOJO;
@@ -11659,7 +11660,7 @@ var __classPrivateFieldSet$4 = (commonjsGlobal && commonjsGlobal.__classPrivateF
11659
11660
  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");
11660
11661
  return (kind === "a" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;
11661
11662
  };
11662
- var _LayoutModule_instances, _LayoutModule_layoutInitializationAttempted, _LayoutModule_layoutManager, _LayoutModule_getBackCompatLayoutManager, _LayoutModule_throwIfLayoutManagerNotInitialized;
11663
+ var _LayoutModule_instances, _LayoutModule_layoutInitializationAttempted, _LayoutModule_layoutManager, _LayoutModule_waitForBackCompatLayoutManager, _LayoutModule_getSafeLayoutManager;
11663
11664
  Object.defineProperty(Factory$2, "__esModule", { value: true });
11664
11665
  Factory$2.LayoutModule = void 0;
11665
11666
  const base_1$5 = base$1;
@@ -11712,7 +11713,7 @@ class LayoutModule extends base_1$5.Base {
11712
11713
  * ```
11713
11714
  */
11714
11715
  this.init = async (options = {}) => {
11715
- this.wire.sendAction('layout-init').catch((e) => {
11716
+ this.wire.sendAction('layout-init').catch(() => {
11716
11717
  // don't expose
11717
11718
  });
11718
11719
  if (!this.fin.me.isWindow) {
@@ -11723,23 +11724,29 @@ class LayoutModule extends base_1$5.Base {
11723
11724
  }
11724
11725
  __classPrivateFieldSet$4(this, _LayoutModule_layoutInitializationAttempted, true, "f");
11725
11726
  __classPrivateFieldSet$4(this, _LayoutModule_layoutManager, await this.wire.environment.initLayoutManager(this.fin, this.wire, options), "f");
11727
+ // in single-layout case, we return the undocumented layoutManager type (deprecate with CORE-1081)
11728
+ let backCompatLayoutPromise;
11729
+ if (!options.layoutManagerOverride) {
11730
+ backCompatLayoutPromise = __classPrivateFieldGet$4(this, _LayoutModule_waitForBackCompatLayoutManager, "f").call(this, this.fin);
11731
+ }
11726
11732
  // apply the initial snapshot which in turn will call fin.Platform.Layout.create()
11727
11733
  const platformClient = await this.fin.Platform.getCurrentSync().getClient();
11728
11734
  const snapshot = await platformClient.dispatch('get-initial-layout-snapshot');
11729
11735
  await __classPrivateFieldGet$4(this, _LayoutModule_layoutManager, "f").applyLayoutSnapshot(snapshot);
11730
- if (!options.layoutManagerOverride) {
11731
- return __classPrivateFieldGet$4(this, _LayoutModule_getBackCompatLayoutManager, "f").call(this, this.fin);
11736
+ if (backCompatLayoutPromise) {
11737
+ return backCompatLayoutPromise;
11732
11738
  }
11733
11739
  // warn user if they do not call create() in the next 30 seconds
11734
11740
  setTimeout(() => {
11735
- if (__classPrivateFieldGet$4(this, _LayoutModule_layoutManager, "f").size() === 0) {
11741
+ if (__classPrivateFieldGet$4(this, _LayoutModule_layoutManager, "f")?.size() === 0) {
11736
11742
  console.warn(`[Layout.init] Layout.init was called 30s ago, but no layouts have been created yet. Make sure you ` +
11737
11743
  `override LayoutManager.applyLayoutSnapshot, and then call fin.Platform.Layout.create()`);
11738
11744
  }
11739
11745
  }, 30000);
11740
11746
  return this.wrapSync(this.fin.me.identity);
11741
11747
  };
11742
- _LayoutModule_getBackCompatLayoutManager.set(this, async (fin) => {
11748
+ // deprecate with CORE-1081
11749
+ _LayoutModule_waitForBackCompatLayoutManager.set(this, async (fin) => {
11743
11750
  let layoutManager;
11744
11751
  let resolve;
11745
11752
  const layoutResolved = new Promise((r) => {
@@ -11747,6 +11754,7 @@ class LayoutModule extends base_1$5.Base {
11747
11754
  });
11748
11755
  // wait for a layout to be created
11749
11756
  await fin.me.once('layout-ready', async ({ layoutIdentity }) => {
11757
+ // eslint-disable-next-line @typescript-eslint/no-non-null-assertion
11750
11758
  layoutManager = await this.wire.environment.resolveLayout(__classPrivateFieldGet$4(this, _LayoutModule_layoutManager, "f"), layoutIdentity);
11751
11759
  // Backward compat - undocumented / not typed openfin-layout as layoutManager
11752
11760
  // TODO: eventually deprecate this
@@ -11759,17 +11767,13 @@ class LayoutModule extends base_1$5.Base {
11759
11767
  * @returns
11760
11768
  */
11761
11769
  this.getCurrentLayoutManagerSync = () => {
11762
- __classPrivateFieldGet$4(this, _LayoutModule_instances, "m", _LayoutModule_throwIfLayoutManagerNotInitialized).call(this, `fin.Platform.Layout.getCurrentLayoutManagerSync()`);
11763
- // @ts-expect-error User may have implemented their own snapshot type when overriding LayoutManager
11764
- return __classPrivateFieldGet$4(this, _LayoutModule_layoutManager, "f");
11770
+ return __classPrivateFieldGet$4(this, _LayoutModule_instances, "m", _LayoutModule_getSafeLayoutManager).call(this, `fin.Platform.Layout.getCurrentLayoutManagerSync()`);
11765
11771
  };
11766
11772
  this.create = async (options) => {
11767
- __classPrivateFieldGet$4(this, _LayoutModule_instances, "m", _LayoutModule_throwIfLayoutManagerNotInitialized).call(this, `fin.Platform.Layout.create()`);
11768
- return this.wire.environment.createLayout(__classPrivateFieldGet$4(this, _LayoutModule_layoutManager, "f"), options);
11773
+ return this.wire.environment.createLayout(__classPrivateFieldGet$4(this, _LayoutModule_instances, "m", _LayoutModule_getSafeLayoutManager).call(this, `fin.Platform.Layout.create()`), options);
11769
11774
  };
11770
11775
  this.destroy = async (layoutIdentity) => {
11771
- __classPrivateFieldGet$4(this, _LayoutModule_instances, "m", _LayoutModule_throwIfLayoutManagerNotInitialized).call(this, `fin.Platform.Layout.destroy()`);
11772
- return this.wire.environment.destroyLayout(__classPrivateFieldGet$4(this, _LayoutModule_layoutManager, "f"), layoutIdentity);
11776
+ return this.wire.environment.destroyLayout(__classPrivateFieldGet$4(this, _LayoutModule_instances, "m", _LayoutModule_getSafeLayoutManager).call(this, `fin.Platform.Layout.destroy()`), layoutIdentity);
11773
11777
  };
11774
11778
  }
11775
11779
  /**
@@ -11792,7 +11796,7 @@ class LayoutModule extends base_1$5.Base {
11792
11796
  * ```
11793
11797
  */
11794
11798
  async wrap(identity) {
11795
- this.wire.sendAction('layout-wrap').catch((e) => {
11799
+ this.wire.sendAction('layout-wrap').catch(() => {
11796
11800
  // don't expose
11797
11801
  });
11798
11802
  return new Instance_1$2.Layout(identity, this.wire);
@@ -11817,7 +11821,7 @@ class LayoutModule extends base_1$5.Base {
11817
11821
  * ```
11818
11822
  */
11819
11823
  wrapSync(identity) {
11820
- this.wire.sendAction('layout-wrap-sync').catch((e) => {
11824
+ this.wire.sendAction('layout-wrap-sync').catch(() => {
11821
11825
  // don't expose
11822
11826
  });
11823
11827
  return new Instance_1$2.Layout(identity, this.wire);
@@ -11833,7 +11837,7 @@ class LayoutModule extends base_1$5.Base {
11833
11837
  * ```
11834
11838
  */
11835
11839
  async getCurrent() {
11836
- this.wire.sendAction('layout-get-current').catch((e) => {
11840
+ this.wire.sendAction('layout-get-current').catch(() => {
11837
11841
  // don't expose
11838
11842
  });
11839
11843
  if (!this.fin.me.isWindow) {
@@ -11856,7 +11860,7 @@ class LayoutModule extends base_1$5.Base {
11856
11860
  * ```
11857
11861
  */
11858
11862
  getCurrentSync() {
11859
- this.wire.sendAction('layout-get-current-sync').catch((e) => {
11863
+ this.wire.sendAction('layout-get-current-sync').catch(() => {
11860
11864
  // don't expose
11861
11865
  });
11862
11866
  if (!this.fin.me.isWindow) {
@@ -11867,10 +11871,11 @@ class LayoutModule extends base_1$5.Base {
11867
11871
  }
11868
11872
  }
11869
11873
  Factory$2.LayoutModule = LayoutModule;
11870
- _LayoutModule_layoutInitializationAttempted = new WeakMap(), _LayoutModule_layoutManager = new WeakMap(), _LayoutModule_getBackCompatLayoutManager = new WeakMap(), _LayoutModule_instances = new WeakSet(), _LayoutModule_throwIfLayoutManagerNotInitialized = function _LayoutModule_throwIfLayoutManagerNotInitialized(method) {
11874
+ _LayoutModule_layoutInitializationAttempted = new WeakMap(), _LayoutModule_layoutManager = new WeakMap(), _LayoutModule_waitForBackCompatLayoutManager = new WeakMap(), _LayoutModule_instances = new WeakSet(), _LayoutModule_getSafeLayoutManager = function _LayoutModule_getSafeLayoutManager(method) {
11871
11875
  if (!__classPrivateFieldGet$4(this, _LayoutModule_layoutManager, "f")) {
11872
11876
  throw new Error(`You must call init before using the API ${method}`);
11873
11877
  }
11878
+ return __classPrivateFieldGet$4(this, _LayoutModule_layoutManager, "f");
11874
11879
  };
11875
11880
 
11876
11881
  (function (exports) {
@@ -14208,8 +14213,6 @@ const base_1$2 = base$1;
14208
14213
  const SessionContextGroupClient_1 = SessionContextGroupClient$1;
14209
14214
  const utils_1$2 = utils$1;
14210
14215
  /**
14211
- * {@link https://developers.openfin.co/of-docs/docs/enable-color-linking}
14212
- *
14213
14216
  * The Interop Client API is broken up into two groups:
14214
14217
  *
14215
14218
  * **Content Facing APIs** - For Application Developers putting Views into a Platform Window, who care about Context. These are APIs that send out and receive the Context data that flows between applications. Think of this as the Water in the Interop Pipes.
@@ -14775,7 +14778,11 @@ class InteropClient extends base_1$2.Base {
14775
14778
  listener({ type: 'interop-broker', topic: 'disconnected', brokerName: uuid });
14776
14779
  });
14777
14780
  }
14778
- // used to ferry fdc3-only calls from the fdc3 shim to the Interop Broker
14781
+ /**
14782
+ * @internal
14783
+ *
14784
+ * Used to ferry fdc3-only calls from the fdc3 shim to the Interop Broker
14785
+ */
14779
14786
  static async ferryFdc3Call(interopClient, action, payload) {
14780
14787
  const client = await __classPrivateFieldGet$2(interopClient, _InteropClient_clientPromise, "f");
14781
14788
  return client.dispatch(action, payload || null);
@@ -14792,29 +14799,33 @@ function requireOverrideCheck () {
14792
14799
  if (hasRequiredOverrideCheck) return overrideCheck;
14793
14800
  hasRequiredOverrideCheck = 1;
14794
14801
  Object.defineProperty(overrideCheck, "__esModule", { value: true });
14795
- overrideCheck.overrideCheck = overrideCheck.getDefaultViewFdc3VersionFromAppInfo = void 0;
14802
+ overrideCheck.overrideCheck = overrideCheck.checkFDC32Overrides = overrideCheck.getDefaultViewFdc3VersionFromAppInfo = void 0;
14796
14803
  const InteropBroker_1 = requireInteropBroker();
14797
14804
  function getDefaultViewFdc3VersionFromAppInfo({ manifest, initialOptions }) {
14798
14805
  const setVersion = manifest.platform?.defaultViewOptions?.fdc3InteropApi ?? initialOptions.defaultViewOptions?.fdc3InteropApi;
14799
14806
  return ['1.2', '2.0'].includes(setVersion ?? '') ? setVersion : undefined;
14800
14807
  }
14801
14808
  overrideCheck.getDefaultViewFdc3VersionFromAppInfo = getDefaultViewFdc3VersionFromAppInfo;
14802
- // TODO: Unit test this
14809
+ function checkFDC32Overrides(overriddenBroker) {
14810
+ // These are the APIs that must be overridden for FDC3 2.0 compliance
14811
+ const mustOverrideAPIs = [
14812
+ 'fdc3HandleFindInstances',
14813
+ 'handleInfoForIntent',
14814
+ 'handleInfoForIntentsByContext',
14815
+ 'fdc3HandleGetAppMetadata',
14816
+ 'fdc3HandleGetInfo',
14817
+ 'fdc3HandleOpen',
14818
+ 'handleFiredIntent',
14819
+ 'handleFiredIntentForContext'
14820
+ ];
14821
+ return mustOverrideAPIs.filter((api) => {
14822
+ return overriddenBroker[api] === InteropBroker_1.InteropBroker.prototype[api];
14823
+ });
14824
+ }
14825
+ overrideCheck.checkFDC32Overrides = checkFDC32Overrides;
14803
14826
  function overrideCheck$1(overriddenBroker, fdc3InteropApi) {
14804
14827
  if (fdc3InteropApi && fdc3InteropApi === '2.0') {
14805
- const mustOverrideAPIs = [
14806
- 'fdc3HandleFindInstances',
14807
- 'handleInfoForIntent',
14808
- 'handleInfoForIntentsByContext',
14809
- 'fdc3HandleGetAppMetadata',
14810
- 'fdc3HandleGetInfo',
14811
- 'fdc3HandleOpen',
14812
- 'handleFiredIntent',
14813
- 'handleFiredIntentForContext'
14814
- ];
14815
- const notOverridden = mustOverrideAPIs.filter((api) => {
14816
- return overriddenBroker[api] === InteropBroker_1.InteropBroker.prototype[api];
14817
- });
14828
+ const notOverridden = checkFDC32Overrides(overriddenBroker);
14818
14829
  if (notOverridden.length > 0) {
14819
14830
  console.warn(`WARNING: FDC3 2.0 has been set as a default option for Views in this Platform, but the required InteropBroker APIs for FDC3 2.0 compliance have not all been overridden.\nThe following APIs need to be overridden:\n${notOverridden.join('\n')}`);
14820
14831
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@openfin/node-adapter",
3
- "version": "35.78.27",
3
+ "version": "35.79.1",
4
4
  "description": "See README.md",
5
5
  "main": "out/node-adapter.js",
6
6
  "types": "out/node-adapter.d.ts",