@openfin/core 45.100.113 → 45.100.115

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.
package/out/stub.d.ts CHANGED
@@ -932,6 +932,21 @@ declare class Application extends EmitterBase<OpenFin_2.ApplicationEvent> {
932
932
  * ```
933
933
  */
934
934
  closeTrayIconPopupMenu(): Promise<void>;
935
+ /**
936
+ * @experimental
937
+ * Retrieves a performance snapshot for all Windows, Views and Frames in the Application.
938
+ *
939
+ * By default, all custom marks and measures are collected, along with navigation/paint entries
940
+ * and resource timing (`resources` defaults to `true`). Pass `include` to restrict custom
941
+ * marks/measures to matching names (string substring or RegExp). Pass `browser: true` to also
942
+ * include hereio internal runtime metrics.
943
+ *
944
+ * See also [MDN | Performance Mark API](https://developer.mozilla.org/en-US/docs/Web/API/Performance/mark)
945
+ *
946
+ * Note - only currently running WebContents will be captured, and performance entries can only be
947
+ * captured for the current navigation of each.
948
+ */
949
+ getPerformanceStats: (options?: OpenFin_2.GetPerformanceStatsOptions) => Promise<OpenFin_2.PerformanceStatsResult>;
935
950
  }
936
951
 
937
952
  /**
@@ -1383,6 +1398,7 @@ declare type ApplicationOptions = LegacyWinOptionsInAppOptions & {
1383
1398
  declare type ApplicationPermissions = {
1384
1399
  setFileDownloadLocation: boolean;
1385
1400
  getFileDownloadLocation: boolean;
1401
+ getPerformanceStats: boolean;
1386
1402
  };
1387
1403
 
1388
1404
  /**
@@ -2198,6 +2214,15 @@ declare type ByType_8<Type extends EventType_8> = Payload_10<Type>;
2198
2214
  */
2199
2215
  declare type ByType_9<Type extends EventType_9> = Payload_11<Type>;
2200
2216
 
2217
+ /** Minimal V8 CallSite shape — js-adapter does not include @types/node. */
2218
+ declare interface CallSite {
2219
+ getFileName(): string | null;
2220
+ toString(): string;
2221
+ }
2222
+
2223
+ /** V8 CallSite objects, or native stack-frame strings from browsers that ignore Error.prepareStackTrace. */
2224
+ declare type CapturedStack = CallSite[] | string[];
2225
+
2201
2226
  /**
2202
2227
  * Configuration for page capture.
2203
2228
  *
@@ -3179,23 +3204,6 @@ declare type ChildWindowCreatedEvent = ContentCreationRulesEvent & {
3179
3204
  childOptions: OpenFin_2.WindowOptions;
3180
3205
  };
3181
3206
 
3182
- /**
3183
- * End of Interop Client Events
3184
- */
3185
- /**
3186
- * Client-side handle for the chrome-browser feature.
3187
- *
3188
- * For extension integration to be active on a window, that window must be
3189
- * created with `chromeBrowser: true` in its window options.
3190
- *
3191
- * @remarks
3192
- * This namespace is intended for internal experimentation only. Enabling the
3193
- * `chromeBrowser` window option changes how the runtime manages content and standard
3194
- * OpenFin content behavior is not guaranteed.
3195
- *
3196
- * @internal
3197
- * @experimental This API is under active development and may change or be removed without notice.
3198
- */
3199
3207
  declare interface ChromeBrowser {
3200
3208
  /**
3201
3209
  * Extension action surface — observe and invoke installed Chrome extension actions.
@@ -4203,6 +4211,32 @@ declare type ConstWindowOptions = {
4203
4211
  width: number;
4204
4212
  x: number;
4205
4213
  y: number;
4214
+ /**
4215
+ * Experimental window options. These options are not yet stable and may change without notice.
4216
+ *
4217
+ * Supported properties:
4218
+ *
4219
+ * - **`layoutEngine`** `'v1' | 'v2'` — Selects the layout engine used to render
4220
+ * layouts in this window. `'v1'` is the legacy engine, `'v2'` is the modernized engine.
4221
+ * Defaults to `'v1'`.
4222
+ *
4223
+ * - **`showFavicons`** `boolean` — When `true`, displays favicon icons on layout tabs.
4224
+ *
4225
+ * - **`defaultFaviconUrl`** `string` — URL of a fallback favicon to display when a view does not
4226
+ * provide its own.
4227
+ *
4228
+ * - **`windowLogLevel`** `string` — Sets the log level for layout-related window logging
4229
+ * (e.g. `'verbose'`, `'warn'`, `'error'`).
4230
+ *
4231
+ * - **`enableLayoutCollapsing`** `boolean` — When `true`, enables the Golden Layout restacking
4232
+ * feature by preserving minimum item dimensions.
4233
+ *
4234
+ * - **`showViewsOnResize`** `{ enabled: boolean; delayMs?: number }` — Controls whether views
4235
+ * are shown during window resize operations. Deprecated in favor of
4236
+ * `viewVisibility.showViewsOnWindowResize`.
4237
+ *
4238
+ * @internal
4239
+ */
4206
4240
  experimental?: any;
4207
4241
  fdc3InteropApi?: string;
4208
4242
  /**
@@ -4526,6 +4560,8 @@ declare type CopyPermissions = {
4526
4560
  };
4527
4561
  };
4528
4562
 
4563
+ declare type CorePerformanceEntry = Omit<PerformanceEntry, 'toJSON'>;
4564
+
4529
4565
  /**
4530
4566
  * Defines and applies rounded corners for a frameless window. **NOTE:** On macOS corner is not ellipse but circle rounded by the
4531
4567
  * average of _height_ and _width_.
@@ -4678,6 +4714,32 @@ declare type CreateLayoutOptions = {
4678
4714
  * @experimental
4679
4715
  */
4680
4716
  renderCustomHeaderControls?: (controlsElement: HTMLElement, context: HeaderControlsContext) => (() => void) | void;
4717
+ /**
4718
+ * Callback invoked once per tab after core has finished building the tab DOM.
4719
+ * Use this to inject custom controls (e.g. action icons) into view tab hats.
4720
+ *
4721
+ * Optionally return a cleanup function that will be called when the tab is destroyed.
4722
+ *
4723
+ * Custom controls are not serialized into snapshots since callbacks are not
4724
+ * serializable. The callback is re-invoked when tabs are recreated.
4725
+ *
4726
+ * **NOTE**: This feature is only supported with layout engine `'v2'` (GL2) and
4727
+ * `settings.tabOverflowBehavior: 'scroll'`.
4728
+ *
4729
+ * Optionally add the `lm_tab_custom_control` class to each injected control as a direct child of
4730
+ * `tabElement`. That opts the control into {@link LayoutAccessibilityOptions} keyboard
4731
+ * navigation (roving tabindex, arrow keys in DOM order, Enter/Space without switching tabs),
4732
+ * pointer isolation so clicks do not activate or close the tab (press-and-drag still
4733
+ * reorders/tears out tab, matching the close button), and default 20×20 flex sizing
4734
+ * (override using `--layout-tab-custom-control-size`).
4735
+ *
4736
+ * @param tabElement The `.lm_tab` DOM element for the view tab.
4737
+ * @param context Context object with DOM anchors for the tab.
4738
+ * @returns A callback to be called when the rendered elements need to be cleaned up.
4739
+ *
4740
+ * @experimental
4741
+ */
4742
+ renderCustomTabControls?: (tabElement: HTMLElement, context: CustomTabControlsContext) => (() => void) | void;
4681
4743
  /**
4682
4744
  * Accessibility options for the layout. Controls ARIA attributes and keyboard navigation.
4683
4745
  */
@@ -4767,8 +4829,69 @@ declare type CustomRequestHeaders = {
4767
4829
  headers: WebRequestHeader[];
4768
4830
  };
4769
4831
 
4832
+ /**
4833
+ * @interface @experimental
4834
+ */
4835
+ declare type CustomTabControlsContext = {
4836
+ viewIdentity: Identity_4;
4837
+ /** Anchor for inserting controls adjacent to the tab text. */
4838
+ titleElement: HTMLElement;
4839
+ /** Anchor for the trailing outer edge. Absent when the view is not closable. */
4840
+ closeElement?: HTMLElement;
4841
+ /** The favicon element. Hidden when favicons are disabled. */
4842
+ faviconElement?: HTMLElement;
4843
+ };
4844
+
4770
4845
  declare type DataChannelReadyState = RTCDataChannel['readyState'];
4771
4846
 
4847
+ export declare type DefaultColorChannelId = keyof typeof defaultColorChannels;
4848
+
4849
+ /**
4850
+ * The default FDC3 user channels advertised by the Interop Broker.
4851
+ */
4852
+ export declare const defaultColorChannels: {
4853
+ readonly 'fdc3.channel.1': {
4854
+ readonly name: "Channel 1";
4855
+ readonly color: "red";
4856
+ readonly glyph: "1";
4857
+ };
4858
+ readonly 'fdc3.channel.2': {
4859
+ readonly name: "Channel 2";
4860
+ readonly color: "orange";
4861
+ readonly glyph: "2";
4862
+ };
4863
+ readonly 'fdc3.channel.3': {
4864
+ readonly name: "Channel 3";
4865
+ readonly color: "yellow";
4866
+ readonly glyph: "3";
4867
+ };
4868
+ readonly 'fdc3.channel.4': {
4869
+ readonly name: "Channel 4";
4870
+ readonly color: "green";
4871
+ readonly glyph: "4";
4872
+ };
4873
+ readonly 'fdc3.channel.5': {
4874
+ readonly name: "Channel 5";
4875
+ readonly color: "cyan";
4876
+ readonly glyph: "5";
4877
+ };
4878
+ readonly 'fdc3.channel.6': {
4879
+ readonly name: "Channel 6";
4880
+ readonly color: "blue";
4881
+ readonly glyph: "6";
4882
+ };
4883
+ readonly 'fdc3.channel.7': {
4884
+ readonly name: "Channel 7";
4885
+ readonly color: "magenta";
4886
+ readonly glyph: "7";
4887
+ };
4888
+ readonly 'fdc3.channel.8': {
4889
+ readonly name: "Channel 8";
4890
+ readonly color: "purple";
4891
+ readonly glyph: "8";
4892
+ };
4893
+ };
4894
+
4772
4895
  /**
4773
4896
  * @deprecated Use {@link OpenFin.DomainSettings} instead.
4774
4897
  * @interface
@@ -6501,6 +6624,32 @@ declare type GetLogRequestType = {
6501
6624
  name: string;
6502
6625
  };
6503
6626
 
6627
+ /**
6628
+ * End of Interop Client Events
6629
+ */
6630
+ /**
6631
+ * Performance Entry Types
6632
+ */
6633
+ declare type GetPerformanceStatsOptions = {
6634
+ /**
6635
+ * Optional filter for custom performance marks and measures.
6636
+ * When omitted, all custom marks and measures are collected.
6637
+ * When specified, only entries whose names match one of the filters are collected.
6638
+ * Strings match by substring; RegExp matches by test.
6639
+ */
6640
+ include?: (string | RegExp)[];
6641
+ /**
6642
+ * Include `resource` timing entries from each View / Frame / Window.
6643
+ * Defaults to `true`. Pass `false` to omit them.
6644
+ */
6645
+ resources?: boolean;
6646
+ /**
6647
+ * Whether to include hereio internal runtime metrics.
6648
+ * Defaults to `false`. Pass `true` to include.
6649
+ */
6650
+ browser?: boolean;
6651
+ };
6652
+
6504
6653
  declare type GetterCall<T> = ApiCall<void, T>;
6505
6654
 
6506
6655
  /**
@@ -7194,17 +7343,19 @@ declare type InteropActionLoggingOption = {
7194
7343
  * "interopBrokerConfiguration": {
7195
7344
  * "contextGroups": [
7196
7345
  * {
7197
- * "id": "green",
7346
+ * "id": "fdc3.channel.4",
7198
7347
  * "displayMetadata": {
7199
- * "color": "#00CC88",
7200
- * "name": "green"
7348
+ * "color": "green",
7349
+ * "name": "Channel 4",
7350
+ * "glyph": "4"
7201
7351
  * }
7202
7352
  * },
7203
7353
  * {
7204
- * "id": "purple",
7354
+ * "id": "fdc3.channel.8",
7205
7355
  * "displayMetadata": {
7206
- * "color": "#8C61FF",
7207
- * "name": "purple"
7356
+ * "color": "purple",
7357
+ * "name": "Channel 8",
7358
+ * "glyph": "8"
7208
7359
  * }
7209
7360
  * },
7210
7361
  * ]
@@ -7341,7 +7492,7 @@ declare class InteropBroker extends Base {
7341
7492
  * @param joinContextGroupOptions - Id of the Context Group and identity of the entity to join to the group.
7342
7493
  * @param senderIdentity - Identity of the client sender.
7343
7494
  */
7344
- joinContextGroup({ contextGroupId, target }: {
7495
+ joinContextGroup({ contextGroupId: requestedContextGroupId, target }: {
7345
7496
  contextGroupId: string;
7346
7497
  target?: OpenFin_2.ClientIdentity | OpenFin_2.Identity;
7347
7498
  }, senderIdentity: OpenFin_2.ClientIdentity): Promise<void>;
@@ -7352,7 +7503,7 @@ declare class InteropBroker extends Base {
7352
7503
  * @param addClientToContextGroupOptions - Contains the contextGroupId
7353
7504
  * @param clientIdentity - Identity of the client sender.
7354
7505
  */
7355
- addClientToContextGroup({ contextGroupId }: {
7506
+ addClientToContextGroup({ contextGroupId: requestedContextGroupId }: {
7356
7507
  contextGroupId: string;
7357
7508
  }, clientIdentity: OpenFin_2.ClientIdentity): Promise<void>;
7358
7509
  /**
@@ -7765,6 +7916,8 @@ declare class InteropBroker extends Base {
7765
7916
  };
7766
7917
  private getClientState;
7767
7918
  private static toObject;
7919
+ private normalizeContextGroupStates;
7920
+ private normalizeContextGroupId;
7768
7921
  static checkContextIntegrity: (context: OpenFin_2.Context) => {
7769
7922
  isValid: true;
7770
7923
  } | {
@@ -7995,7 +8148,7 @@ declare class InteropClient extends Base {
7995
8148
  *
7996
8149
  * getLastFocusedView()
7997
8150
  * .then(lastFocusedViewIdentity => {
7998
- * joinViewToContextGroup('red', lastFocusedViewIdentity)
8151
+ * joinViewToContextGroup('fdc3.channel.1', lastFocusedViewIdentity)
7999
8152
  * })
8000
8153
  * ```
8001
8154
  */
@@ -8030,7 +8183,7 @@ declare class InteropClient extends Base {
8030
8183
  *
8031
8184
  * @example
8032
8185
  * ```js
8033
- * fin.me.interop.getAllClientsInContextGroup('red')
8186
+ * fin.me.interop.getAllClientsInContextGroup('fdc3.channel.1')
8034
8187
  * .then(clientsInContextGroup => {
8035
8188
  * console.log(clientsInContextGroup)
8036
8189
  * })
@@ -8045,7 +8198,7 @@ declare class InteropClient extends Base {
8045
8198
  *
8046
8199
  * @example
8047
8200
  * ```js
8048
- * fin.me.interop.getInfoForContextGroup('red')
8201
+ * fin.me.interop.getInfoForContextGroup('fdc3.channel.1')
8049
8202
  * .then(contextGroupInfo => {
8050
8203
  * console.log(contextGroupInfo.displayMetadata.name)
8051
8204
  * console.log(contextGroupInfo.displayMetadata.color)
@@ -8102,12 +8255,12 @@ declare class InteropClient extends Base {
8102
8255
  *
8103
8256
  * @example
8104
8257
  * ```js
8105
- * await fin.me.interop.joinContextGroup('yellow');
8258
+ * await fin.me.interop.joinContextGroup('fdc3.channel.3');
8106
8259
  * await fin.me.interop.setContext({ type: 'instrument', id: { ticker: 'FOO' }});
8107
8260
  * const currentContext = await fin.me.interop.getCurrentContext();
8108
8261
  *
8109
8262
  * // with a specific context
8110
- * await fin.me.interop.joinContextGroup('yellow');
8263
+ * await fin.me.interop.joinContextGroup('fdc3.channel.3');
8111
8264
  * await fin.me.interop.setContext({ type: 'country', id: { ISOALPHA3: 'US' }});
8112
8265
  * await fin.me.interop.setContext({ type: 'instrument', id: { ticker: 'FOO' }});
8113
8266
  * const currentContext = await fin.me.interop.getCurrentContext('country');
@@ -8274,7 +8427,7 @@ declare type InteropClientOnDisconnectionListener = (InteropBrokerDisconnectionE
8274
8427
  */
8275
8428
  declare type InteropConfig = {
8276
8429
  /**
8277
- * Context Group for the client. (green, yellow, red, etc.).
8430
+ * Context Group ID for the client (for example, `fdc3.channel.4`).
8278
8431
  */
8279
8432
  currentContextGroup?: string | null;
8280
8433
  /**
@@ -8323,7 +8476,7 @@ declare class InteropModule extends Base {
8323
8476
  * @example
8324
8477
  * ```js
8325
8478
  * const interopConfig = {
8326
- * currentContextGroup: 'green'
8479
+ * currentContextGroup: 'fdc3.channel.4'
8327
8480
  * }
8328
8481
  *
8329
8482
  * const interopBroker = await fin.Interop.init('openfin');
@@ -9545,8 +9698,26 @@ declare type LayoutOptions = {
9545
9698
  content?: LayoutContent;
9546
9699
  dimensions?: {
9547
9700
  borderWidth?: number;
9701
+ /**
9702
+ * Minimum height a layout item can be resized to, in pixels.
9703
+ * On web layouts this is mapped to Golden Layout 2 `defaultMinItemHeight`.
9704
+ */
9548
9705
  minItemHeight?: number;
9706
+ /**
9707
+ * Minimum width a layout item can be resized to, in pixels.
9708
+ * On web layouts this is mapped to Golden Layout 2 `defaultMinItemWidth`.
9709
+ */
9549
9710
  minItemWidth?: number;
9711
+ /**
9712
+ * Minimum height a layout item can be resized to (CSS size, e.g. `'500px'`).
9713
+ * Web layouts only. Takes precedence over {@link LayoutOptions.dimensions.minItemHeight} when both are set.
9714
+ */
9715
+ defaultMinItemHeight?: string;
9716
+ /**
9717
+ * Minimum width a layout item can be resized to (CSS size, e.g. `'500px'`).
9718
+ * Web layouts only. Takes precedence over {@link LayoutOptions.dimensions.minItemWidth} when both are set.
9719
+ */
9720
+ defaultMinItemWidth?: string;
9550
9721
  headerHeight?: number;
9551
9722
  };
9552
9723
  };
@@ -9619,6 +9790,20 @@ declare type LayoutSyncApi = {
9619
9790
  updateAccessibilityOptions(options: Partial<LayoutAccessibilityOptions>): void;
9620
9791
  };
9621
9792
 
9793
+ declare type LegacyColorChannelId = keyof typeof legacyColorChannelIds;
9794
+
9795
+ declare const legacyColorChannelIds: {
9796
+ readonly red: "fdc3.channel.1";
9797
+ readonly orange: "fdc3.channel.2";
9798
+ readonly yellow: "fdc3.channel.3";
9799
+ readonly green: "fdc3.channel.4";
9800
+ readonly teal: "fdc3.channel.5";
9801
+ readonly blue: "fdc3.channel.6";
9802
+ readonly pink: "fdc3.channel.7";
9803
+ readonly indigo: "fdc3.channel.8";
9804
+ readonly purple: "fdc3.channel.8";
9805
+ };
9806
+
9622
9807
  /**
9623
9808
  * @interface
9624
9809
  */
@@ -9803,6 +9988,10 @@ declare type Manifest = {
9803
9988
  experimentalExtensionPolicyBlockedHosts?: {
9804
9989
  hosts: string[];
9805
9990
  };
9991
+ /**
9992
+ * Chromium extensions to install and enable for this application.
9993
+ */
9994
+ extensions?: ManifestExtension[];
9806
9995
  licenseKey: string;
9807
9996
  offlineAccess?: boolean;
9808
9997
  platform?: PlatformOptions;
@@ -9856,6 +10045,27 @@ declare type ManifestChangedEvent = BaseEvents.IdentityEvent & {
9856
10045
  type: 'manifest-changed';
9857
10046
  };
9858
10047
 
10048
+ /**
10049
+ * Chromium extension entry in an application configuration.
10050
+ *
10051
+ * @interface
10052
+ */
10053
+ declare type ManifestExtension = {
10054
+ /** Chromium extension ID. */
10055
+ id: string;
10056
+ /** Extension server URL used to install the extension. */
10057
+ serverURL: string;
10058
+ /**
10059
+ * Rules declaring where this extension may inject content scripts into
10060
+ * non-tab surfaces (for example the AI Center). Omit or leave empty to keep
10061
+ * the extension restricted to browser tabs — identical to historic
10062
+ * behavior. A wildcard pattern in `match` grants blanket coverage.
10063
+ * `matchOptions` behaves as it does for domain settings. Intended for
10064
+ * security extensions rather than extensions that add visible UI.
10065
+ */
10066
+ nonTabInjections?: NonTabInjectionRule[];
10067
+ };
10068
+
9859
10069
  /**
9860
10070
  * @interface
9861
10071
  */
@@ -10188,6 +10398,24 @@ declare type MutableViewOptions = {
10188
10398
  * Used by Workspace to store custom data. Overwriting or modifying this field may impact the functionality of Workspace
10189
10399
  */
10190
10400
  _internalWorkspaceData: any;
10401
+ /**
10402
+ * @internal
10403
+ * Used by Workspace to store platform-specific options (including `viewTab`). Overwriting or modifying this field may impact the functionality of Workspace.
10404
+ * Persisted on create, {@link View.View#updateOptions updateOptions}, snapshot, and {@link View.View#getOptions getOptions} — the same way windows persist `workspacePlatform`.
10405
+ */
10406
+ workspacePlatform?: WorkspacePlatformOptions;
10407
+ /**
10408
+ * Per-view tab icon. Exception to `showFavicons` / `defaultFaviconUrl`.
10409
+ *
10410
+ * Distinct from Window `icon` (taskbar).
10411
+ *
10412
+ * - Omitted / `''` / `'unset'`: inherit — if `showFavicons`, page favicon then `defaultFaviconUrl`, else hide
10413
+ * - URL string: always show that URL, even when `showFavicons` is false. Load failure uses `defaultFaviconUrl`
10414
+ * - `'hide'`: always hide, even when `showFavicons` is true
10415
+ *
10416
+ * On `updateOptions`, omitted keys are a no-op; set `'unset'` to return to inherit.
10417
+ */
10418
+ icon?: ViewTabIcon;
10191
10419
  /**
10192
10420
  * {@inheritDoc ViewThrottling}
10193
10421
  *
@@ -10658,6 +10886,40 @@ declare type NonPropagatedWebContentsEvent = never;
10658
10886
  */
10659
10887
  declare type NonPropagatedWindowEvent = never;
10660
10888
 
10889
+ /**
10890
+ * Rule permitting a Chromium extension to inject content scripts into non-tab
10891
+ * web content whose URL matches the given patterns.
10892
+ *
10893
+ * Match patterns use the same Chromium
10894
+ * [match pattern](https://developer.chrome.com/docs/extensions/develop/concepts/match-patterns)
10895
+ * syntax as {@link DomainSettingsRule}. Omitting `matchOptions` uses the same
10896
+ * default scheme-matching behavior as domain settings.
10897
+ *
10898
+ * @interface
10899
+ */
10900
+ declare type NonTabInjectionRule = {
10901
+ /**
10902
+ * Array of [match patterns](https://developer.chrome.com/docs/extensions/develop/concepts/match-patterns)
10903
+ * specifying the content locations where the extension may inject outside
10904
+ * browser tabs. An empty array grants no permission. A wildcard grants
10905
+ * blanket coverage of all content locations.
10906
+ */
10907
+ match: string[];
10908
+ /**
10909
+ * Options to use when comparing URIs to the `match` patterns. Behaves as
10910
+ * {@link DomainSettingsRule.matchOptions} / {@link RuleMatchOptions}.
10911
+ */
10912
+ matchOptions?: RuleMatchOptions;
10913
+ };
10914
+
10915
+ /**
10916
+ * Converts a legacy color-named channel ID to its canonical FDC3 user-channel ID.
10917
+ * The removed legacy gray channel resolves to no channel.
10918
+ */
10919
+ export declare function normalizeColorChannelId<T extends string>(colorChannelId: T): NormalizedColorChannelId<T>;
10920
+
10921
+ declare type NormalizedColorChannelId<T extends string> = string extends T ? string | undefined : T extends 'gray' ? undefined : T extends LegacyColorChannelId ? (typeof legacyColorChannelIds)[T] : T;
10922
+
10661
10923
  /**
10662
10924
  * @internal
10663
10925
  *
@@ -10926,6 +11188,7 @@ declare namespace OpenFin_2 {
10926
11188
  ViewInfo,
10927
11189
  WindowThrottling,
10928
11190
  ViewThrottling,
11191
+ ViewTabIcon,
10929
11192
  UpdatableViewOptions,
10930
11193
  ViewCreationOptions,
10931
11194
  MutableViewOptions,
@@ -10979,6 +11242,8 @@ declare namespace OpenFin_2 {
10979
11242
  ThemeColorsMap,
10980
11243
  ThemeColorId,
10981
11244
  ThemePalette,
11245
+ NonTabInjectionRule,
11246
+ ManifestExtension,
10982
11247
  Manifest,
10983
11248
  LayoutContent,
10984
11249
  LayoutItemConfig,
@@ -11096,6 +11361,7 @@ declare namespace OpenFin_2 {
11096
11361
  ScreenCaptureBehavior,
11097
11362
  DomainSettingsPreloadScripts,
11098
11363
  PerDomainSettings,
11364
+ UrlRestoreSettings,
11099
11365
  CopyPermissions,
11100
11366
  PastePermissions,
11101
11367
  ClipboardPermissions,
@@ -11163,6 +11429,7 @@ declare namespace OpenFin_2 {
11163
11429
  LayoutManagerOverride,
11164
11430
  LayoutManager,
11165
11431
  HeaderControlsContext,
11432
+ CustomTabControlsContext,
11166
11433
  CreateLayoutOptions,
11167
11434
  MultiInstanceViewBehavior,
11168
11435
  LayoutAccessibilityOptions,
@@ -11236,6 +11503,12 @@ declare namespace OpenFin_2 {
11236
11503
  InteropClientEvent,
11237
11504
  ClientChangedContextGroup,
11238
11505
  InteropClientEvents,
11506
+ GetPerformanceStatsOptions,
11507
+ SerializedPerformanceOptions,
11508
+ CorePerformanceEntry,
11509
+ WebContentPerformanceStats,
11510
+ WindowPerformanceStats,
11511
+ PerformanceStatsResult,
11239
11512
  ChromeBrowser,
11240
11513
  LanguageInfo,
11241
11514
  PageTranslateOptions,
@@ -11522,6 +11795,12 @@ declare type PerDomainSettings = {
11522
11795
  * See also {@link AppLogLevel} for more information.
11523
11796
  */
11524
11797
  appLogLevel?: AppLogLevel;
11798
+ /**
11799
+ * When the live URL matches this rule, remap inbound
11800
+ * {@link View.ViewModule.navigate View.navigate} / {@link Window.WindowModule.navigate Window.navigate}
11801
+ * to {@link UrlRestoreSettings.url}.
11802
+ */
11803
+ urlRestore?: UrlRestoreSettings;
11525
11804
  };
11526
11805
 
11527
11806
  /**
@@ -11532,6 +11811,15 @@ declare type PerformanceReportEvent = Performance & BaseEvent_5 & {
11532
11811
  type: 'performance-report';
11533
11812
  };
11534
11813
 
11814
+ declare type PerformanceStatsResult = {
11815
+ mainWindow: WindowPerformanceStats;
11816
+ childWindows: WindowPerformanceStats[];
11817
+ browser?: {
11818
+ timeOrigin: number;
11819
+ entries: CorePerformanceEntry[];
11820
+ };
11821
+ };
11822
+
11535
11823
  /**
11536
11824
  * @interface
11537
11825
  *
@@ -13741,6 +14029,11 @@ declare type ProtocolMap = ExternalAdapterOnlyCallsMap & AnalyticsProtocolMap &
13741
14029
  response: OpenFin_2.MenuResult;
13742
14030
  };
13743
14031
  'close-tray-icon-popup-menu': IdentityCall<{}, void>;
14032
+ 'get-application-performance-stats': ApplicationIdentityCall<OpenFin_2.SerializedPerformanceOptions, OpenFin_2.PerformanceStatsResult> & {
14033
+ secure: true;
14034
+ namespace: 'Application';
14035
+ apiPath: '.getPerformanceStats';
14036
+ };
13744
14037
  'create-application': ApiCall<OpenFin_2.ApplicationCreationOptions, void>;
13745
14038
  'run-applications': ApiCall<{
13746
14039
  applications: Array<OpenFin_2.ManifestInfo>;
@@ -15126,6 +15419,16 @@ declare type SentMessage<Value> = Promise<Value> & {
15126
15419
  messageId: ReturnType<Environment['getNextMessageId']>;
15127
15420
  };
15128
15421
 
15422
+ declare type SerializedFilter = string | {
15423
+ type: 'regex';
15424
+ expression: string;
15425
+ flags?: string;
15426
+ };
15427
+
15428
+ declare type SerializedPerformanceOptions = Omit<GetPerformanceStatsOptions, 'include'> & {
15429
+ include?: SerializedFilter[];
15430
+ };
15431
+
15129
15432
  declare type ServeAssetOptions = AppAssetServeRequest | PathServeRequest;
15130
15433
 
15131
15434
  declare type ServedAssetInfo = {
@@ -18033,7 +18336,7 @@ declare class Transport<MeType extends EntityType = EntityType> extends EventEmi
18033
18336
  connectByPort(config: ExistingConnectConfig): Promise<void>;
18034
18337
  private authorize;
18035
18338
  sendAction<T extends keyof ProtocolMap>(action: T, payload?: ProtocolMap[T]['request'], uncorrelated?: boolean): SentMessage<SendActionResponse<T>>;
18036
- protected nackHandler(payloadOrMessage: RuntimeErrorPayload | string, reject: Function, callSites?: NodeJS.CallSite[]): void;
18339
+ protected nackHandler(payloadOrMessage: RuntimeErrorPayload | string, reject: Function, callSites?: CapturedStack): void;
18037
18340
  ferryAction(origData: any): Promise<Message<any>>;
18038
18341
  registerMessageHandler(handler: MessageHandler): void;
18039
18342
  protected addWireListener(id: number, resolve: Function, handleNack: NackHandler, uncorrelated: boolean): void;
@@ -18139,6 +18442,16 @@ declare type UrlChangedEvent = BaseUrlEvent & ({
18139
18442
  httpStatusText: string;
18140
18443
  });
18141
18444
 
18445
+ /**
18446
+ * Domain-settings policy that replaces a matched live URL with a configured start URI.
18447
+ */
18448
+ declare type UrlRestoreSettings = {
18449
+ /**
18450
+ * Absolute replacement URL. Full URL replace, not prefix rewrite.
18451
+ */
18452
+ url: string;
18453
+ };
18454
+
18142
18455
  /**
18143
18456
  * @interface
18144
18457
  */
@@ -18983,10 +19296,10 @@ declare type ViewTabAccessibilityOptions = {
18983
19296
  * Uses roving tabindex pattern - only one element focusable at a time.
18984
19297
  * @default ['active-tab', 'add-tab-button']
18985
19298
  */
18986
- tabNavigation?: ViewTabElements[];
19299
+ tabNavigation?: Exclude<ViewTabElements, 'active-tab-custom-control' | 'inactive-tab-custom-control'>[];
18987
19300
  /**
18988
19301
  * Controls which elements are navigable via Arrow keys.
18989
- * @default ['inactive-tab', 'active-tab', 'active-tab-close-button', 'inactive-tab-close-button', 'add-tab-button']
19302
+ * @default ['inactive-tab', 'active-tab', 'active-tab-close-button', 'inactive-tab-close-button', 'add-tab-button', 'active-tab-custom-control', 'inactive-tab-custom-control']
18990
19303
  */
18991
19304
  arrowNavigation?: ViewTabElements[];
18992
19305
  /**
@@ -19018,7 +19331,14 @@ declare type ViewTabAccessibilityOptions = {
19018
19331
  /**
19019
19332
  * Elements that can be navigated in view tabs.
19020
19333
  */
19021
- declare type ViewTabElements = 'active-tab' | 'inactive-tab' | 'active-tab-close-button' | 'inactive-tab-close-button' | 'add-tab-button';
19334
+ declare type ViewTabElements = 'active-tab' | 'inactive-tab' | 'active-tab-close-button' | 'inactive-tab-close-button' | 'add-tab-button' | 'active-tab-custom-control' | 'inactive-tab-custom-control';
19335
+
19336
+ /**
19337
+ * Per-view tab icon. A URL, or the reserved sentinels `'hide'` / `'unset'`.
19338
+ *
19339
+ * `'hide'` and `'unset'` are not URLs. `''` is also unset (inherit) and is the default.
19340
+ */
19341
+ declare type ViewTabIcon = string | 'hide' | 'unset';
19022
19342
 
19023
19343
  /**
19024
19344
  * View throttling state.
@@ -19072,6 +19392,22 @@ declare type VoidCall = ApiCall<void, void>;
19072
19392
 
19073
19393
  declare type WebContent = View_2 | _Window;
19074
19394
 
19395
+ declare type WebContentPerformanceStatBase = {
19396
+ name: string;
19397
+ entries: CorePerformanceEntry[];
19398
+ navigation: {
19399
+ historyLength: number;
19400
+ timeOrigin: number;
19401
+ };
19402
+ url: string;
19403
+ frames: WebContentPerformanceStats[];
19404
+ };
19405
+
19406
+ declare type WebContentPerformanceStats = WebContentPerformanceStatBase | {
19407
+ error: string;
19408
+ url: string;
19409
+ };
19410
+
19075
19411
  declare class WebContents<T extends BaseEvent> extends EmitterBase<T> {
19076
19412
  identity: OpenFin_2.Identity;
19077
19413
  entityType: 'window' | 'view';
@@ -21682,6 +22018,13 @@ declare type WindowOptionsChangedEvent = OpenFin_2.WindowEvents.WindowOptionsCha
21682
22018
  */
21683
22019
  declare type WindowOptionsChangedEvent_2 = OptionsChangedEvent;
21684
22020
 
22021
+ declare type WindowPerformanceStats = (WebContentPerformanceStatBase & {
22022
+ views: WebContentPerformanceStats[];
22023
+ }) | {
22024
+ error: string;
22025
+ url: string;
22026
+ };
22027
+
21685
22028
  declare type WindowPrintOptions = PrintOptions | ScreenshotPrintOptions | WindowViewsPrintOptions;
21686
22029
 
21687
22030
  /**