@openfin/core 45.100.114 → 45.100.116

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
  /**
@@ -3188,23 +3204,6 @@ declare type ChildWindowCreatedEvent = ContentCreationRulesEvent & {
3188
3204
  childOptions: OpenFin_2.WindowOptions;
3189
3205
  };
3190
3206
 
3191
- /**
3192
- * End of Interop Client Events
3193
- */
3194
- /**
3195
- * Client-side handle for the chrome-browser feature.
3196
- *
3197
- * For extension integration to be active on a window, that window must be
3198
- * created with `chromeBrowser: true` in its window options.
3199
- *
3200
- * @remarks
3201
- * This namespace is intended for internal experimentation only. Enabling the
3202
- * `chromeBrowser` window option changes how the runtime manages content and standard
3203
- * OpenFin content behavior is not guaranteed.
3204
- *
3205
- * @internal
3206
- * @experimental This API is under active development and may change or be removed without notice.
3207
- */
3208
3207
  declare interface ChromeBrowser {
3209
3208
  /**
3210
3209
  * Extension action surface — observe and invoke installed Chrome extension actions.
@@ -4212,6 +4211,32 @@ declare type ConstWindowOptions = {
4212
4211
  width: number;
4213
4212
  x: number;
4214
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
+ */
4215
4240
  experimental?: any;
4216
4241
  fdc3InteropApi?: string;
4217
4242
  /**
@@ -4535,6 +4560,8 @@ declare type CopyPermissions = {
4535
4560
  };
4536
4561
  };
4537
4562
 
4563
+ declare type CorePerformanceEntry = Omit<PerformanceEntry, 'toJSON'>;
4564
+
4538
4565
  /**
4539
4566
  * Defines and applies rounded corners for a frameless window. **NOTE:** On macOS corner is not ellipse but circle rounded by the
4540
4567
  * average of _height_ and _width_.
@@ -4687,6 +4714,32 @@ declare type CreateLayoutOptions = {
4687
4714
  * @experimental
4688
4715
  */
4689
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;
4690
4743
  /**
4691
4744
  * Accessibility options for the layout. Controls ARIA attributes and keyboard navigation.
4692
4745
  */
@@ -4776,8 +4829,69 @@ declare type CustomRequestHeaders = {
4776
4829
  headers: WebRequestHeader[];
4777
4830
  };
4778
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
+
4779
4845
  declare type DataChannelReadyState = RTCDataChannel['readyState'];
4780
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
+
4781
4895
  /**
4782
4896
  * @deprecated Use {@link OpenFin.DomainSettings} instead.
4783
4897
  * @interface
@@ -5439,7 +5553,7 @@ declare type Event_10 = ApplicationEvents.Event | ApiReadyEvent | SnapshotApplie
5439
5553
  * under the {@link OpenFin.SystemEvents} namespace (payloads inherited from propagated events are defined in the namespace
5440
5554
  * from which they propagate).
5441
5555
  */
5442
- declare type Event_11 = ExcludeRequested<WindowEvents.PropagatedEvent<'system'>> | ExcludeRequested<ViewEvents.PropagatedEvent<'system'>> | ExcludeRequested<ApplicationEvents.PropagatedEvent<'system'>> | ApplicationCreatedEvent | DesktopIconClickedEvent | IdleStateChangedEvent | MonitorInfoChangedEvent | SessionChangedEvent | AppVersionEventWithId | SystemShutdownEvent | ExtensionsEnabledEvent | ExtensionsDisabledEvent | ExtensionsExcludedEvent | ExtensionsInstalledEvent | ExtensionInstalledEvent | ExtensionsInstallFailedEvent | ExtensionInstallFailedEvent | ExtensionsInitializationFailedEvent | ThemePaletteChangedEvent | NativeThemeUpdatedEvent;
5556
+ declare type Event_11 = ExcludeRequested<WindowEvents.PropagatedEvent<'system'>> | ExcludeRequested<ViewEvents.PropagatedEvent<'system'>> | ExcludeRequested<ApplicationEvents.PropagatedEvent<'system'>> | ApplicationCreatedEvent | DesktopIconClickedEvent | IdleStateChangedEvent | MonitorInfoChangedEvent | SessionChangedEvent | AppVersionEventWithId | SystemShutdownEvent | ExtensionsEnabledEvent | ExtensionsDisabledEvent | ExtensionsExcludedEvent | ExtensionsInstalledEvent | ExtensionInstalledEvent | ExtensionsInstallFailedEvent | ExtensionInstallFailedEvent | ExtensionsInitializationFailedEvent | ExtensionLoadedEvent | ExtensionReadyEvent | ThemePaletteChangedEvent | NativeThemeUpdatedEvent;
5443
5557
 
5444
5558
  /**
5445
5559
  * [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.
@@ -5697,6 +5811,30 @@ declare type ExtensionInstallFailedEvent = ExtensionEvent & {
5697
5811
  type: 'extension-install-failed';
5698
5812
  };
5699
5813
 
5814
+ declare type ExtensionLifecycleEvent = BaseEvent_9 & {
5815
+ extensionId: string;
5816
+ name: string;
5817
+ version: string;
5818
+ };
5819
+
5820
+ /**
5821
+ * Fired when the Runtime finishes loading an extension's scripts into the renderer process.
5822
+ *
5823
+ * @interface
5824
+ */
5825
+ declare type ExtensionLoadedEvent = ExtensionLifecycleEvent & {
5826
+ type: 'extension-loaded';
5827
+ };
5828
+
5829
+ /**
5830
+ * Fired when an extension is fully functional (permissions granted, service worker running).
5831
+ *
5832
+ * @interface
5833
+ */
5834
+ declare type ExtensionReadyEvent = ExtensionLifecycleEvent & {
5835
+ type: 'extension-ready';
5836
+ };
5837
+
5700
5838
  /**
5701
5839
  * An event that fires when extensions are disabled in the security realm.
5702
5840
  *
@@ -6510,6 +6648,32 @@ declare type GetLogRequestType = {
6510
6648
  name: string;
6511
6649
  };
6512
6650
 
6651
+ /**
6652
+ * End of Interop Client Events
6653
+ */
6654
+ /**
6655
+ * Performance Entry Types
6656
+ */
6657
+ declare type GetPerformanceStatsOptions = {
6658
+ /**
6659
+ * Optional filter for custom performance marks and measures.
6660
+ * When omitted, all custom marks and measures are collected.
6661
+ * When specified, only entries whose names match one of the filters are collected.
6662
+ * Strings match by substring; RegExp matches by test.
6663
+ */
6664
+ include?: (string | RegExp)[];
6665
+ /**
6666
+ * Include `resource` timing entries from each View / Frame / Window.
6667
+ * Defaults to `true`. Pass `false` to omit them.
6668
+ */
6669
+ resources?: boolean;
6670
+ /**
6671
+ * Whether to include hereio internal runtime metrics.
6672
+ * Defaults to `false`. Pass `true` to include.
6673
+ */
6674
+ browser?: boolean;
6675
+ };
6676
+
6513
6677
  declare type GetterCall<T> = ApiCall<void, T>;
6514
6678
 
6515
6679
  /**
@@ -7203,17 +7367,19 @@ declare type InteropActionLoggingOption = {
7203
7367
  * "interopBrokerConfiguration": {
7204
7368
  * "contextGroups": [
7205
7369
  * {
7206
- * "id": "green",
7370
+ * "id": "fdc3.channel.4",
7207
7371
  * "displayMetadata": {
7208
- * "color": "#00CC88",
7209
- * "name": "green"
7372
+ * "color": "green",
7373
+ * "name": "Channel 4",
7374
+ * "glyph": "4"
7210
7375
  * }
7211
7376
  * },
7212
7377
  * {
7213
- * "id": "purple",
7378
+ * "id": "fdc3.channel.8",
7214
7379
  * "displayMetadata": {
7215
- * "color": "#8C61FF",
7216
- * "name": "purple"
7380
+ * "color": "purple",
7381
+ * "name": "Channel 8",
7382
+ * "glyph": "8"
7217
7383
  * }
7218
7384
  * },
7219
7385
  * ]
@@ -7350,7 +7516,7 @@ declare class InteropBroker extends Base {
7350
7516
  * @param joinContextGroupOptions - Id of the Context Group and identity of the entity to join to the group.
7351
7517
  * @param senderIdentity - Identity of the client sender.
7352
7518
  */
7353
- joinContextGroup({ contextGroupId, target }: {
7519
+ joinContextGroup({ contextGroupId: requestedContextGroupId, target }: {
7354
7520
  contextGroupId: string;
7355
7521
  target?: OpenFin_2.ClientIdentity | OpenFin_2.Identity;
7356
7522
  }, senderIdentity: OpenFin_2.ClientIdentity): Promise<void>;
@@ -7361,7 +7527,7 @@ declare class InteropBroker extends Base {
7361
7527
  * @param addClientToContextGroupOptions - Contains the contextGroupId
7362
7528
  * @param clientIdentity - Identity of the client sender.
7363
7529
  */
7364
- addClientToContextGroup({ contextGroupId }: {
7530
+ addClientToContextGroup({ contextGroupId: requestedContextGroupId }: {
7365
7531
  contextGroupId: string;
7366
7532
  }, clientIdentity: OpenFin_2.ClientIdentity): Promise<void>;
7367
7533
  /**
@@ -7774,6 +7940,8 @@ declare class InteropBroker extends Base {
7774
7940
  };
7775
7941
  private getClientState;
7776
7942
  private static toObject;
7943
+ private normalizeContextGroupStates;
7944
+ private normalizeContextGroupId;
7777
7945
  static checkContextIntegrity: (context: OpenFin_2.Context) => {
7778
7946
  isValid: true;
7779
7947
  } | {
@@ -8004,7 +8172,7 @@ declare class InteropClient extends Base {
8004
8172
  *
8005
8173
  * getLastFocusedView()
8006
8174
  * .then(lastFocusedViewIdentity => {
8007
- * joinViewToContextGroup('red', lastFocusedViewIdentity)
8175
+ * joinViewToContextGroup('fdc3.channel.1', lastFocusedViewIdentity)
8008
8176
  * })
8009
8177
  * ```
8010
8178
  */
@@ -8039,7 +8207,7 @@ declare class InteropClient extends Base {
8039
8207
  *
8040
8208
  * @example
8041
8209
  * ```js
8042
- * fin.me.interop.getAllClientsInContextGroup('red')
8210
+ * fin.me.interop.getAllClientsInContextGroup('fdc3.channel.1')
8043
8211
  * .then(clientsInContextGroup => {
8044
8212
  * console.log(clientsInContextGroup)
8045
8213
  * })
@@ -8054,7 +8222,7 @@ declare class InteropClient extends Base {
8054
8222
  *
8055
8223
  * @example
8056
8224
  * ```js
8057
- * fin.me.interop.getInfoForContextGroup('red')
8225
+ * fin.me.interop.getInfoForContextGroup('fdc3.channel.1')
8058
8226
  * .then(contextGroupInfo => {
8059
8227
  * console.log(contextGroupInfo.displayMetadata.name)
8060
8228
  * console.log(contextGroupInfo.displayMetadata.color)
@@ -8111,12 +8279,12 @@ declare class InteropClient extends Base {
8111
8279
  *
8112
8280
  * @example
8113
8281
  * ```js
8114
- * await fin.me.interop.joinContextGroup('yellow');
8282
+ * await fin.me.interop.joinContextGroup('fdc3.channel.3');
8115
8283
  * await fin.me.interop.setContext({ type: 'instrument', id: { ticker: 'FOO' }});
8116
8284
  * const currentContext = await fin.me.interop.getCurrentContext();
8117
8285
  *
8118
8286
  * // with a specific context
8119
- * await fin.me.interop.joinContextGroup('yellow');
8287
+ * await fin.me.interop.joinContextGroup('fdc3.channel.3');
8120
8288
  * await fin.me.interop.setContext({ type: 'country', id: { ISOALPHA3: 'US' }});
8121
8289
  * await fin.me.interop.setContext({ type: 'instrument', id: { ticker: 'FOO' }});
8122
8290
  * const currentContext = await fin.me.interop.getCurrentContext('country');
@@ -8283,7 +8451,7 @@ declare type InteropClientOnDisconnectionListener = (InteropBrokerDisconnectionE
8283
8451
  */
8284
8452
  declare type InteropConfig = {
8285
8453
  /**
8286
- * Context Group for the client. (green, yellow, red, etc.).
8454
+ * Context Group ID for the client (for example, `fdc3.channel.4`).
8287
8455
  */
8288
8456
  currentContextGroup?: string | null;
8289
8457
  /**
@@ -8332,7 +8500,7 @@ declare class InteropModule extends Base {
8332
8500
  * @example
8333
8501
  * ```js
8334
8502
  * const interopConfig = {
8335
- * currentContextGroup: 'green'
8503
+ * currentContextGroup: 'fdc3.channel.4'
8336
8504
  * }
8337
8505
  *
8338
8506
  * const interopBroker = await fin.Interop.init('openfin');
@@ -9554,8 +9722,26 @@ declare type LayoutOptions = {
9554
9722
  content?: LayoutContent;
9555
9723
  dimensions?: {
9556
9724
  borderWidth?: number;
9725
+ /**
9726
+ * Minimum height a layout item can be resized to, in pixels.
9727
+ * On web layouts this is mapped to Golden Layout 2 `defaultMinItemHeight`.
9728
+ */
9557
9729
  minItemHeight?: number;
9730
+ /**
9731
+ * Minimum width a layout item can be resized to, in pixels.
9732
+ * On web layouts this is mapped to Golden Layout 2 `defaultMinItemWidth`.
9733
+ */
9558
9734
  minItemWidth?: number;
9735
+ /**
9736
+ * Minimum height a layout item can be resized to (CSS size, e.g. `'500px'`).
9737
+ * Web layouts only. Takes precedence over {@link LayoutOptions.dimensions.minItemHeight} when both are set.
9738
+ */
9739
+ defaultMinItemHeight?: string;
9740
+ /**
9741
+ * Minimum width a layout item can be resized to (CSS size, e.g. `'500px'`).
9742
+ * Web layouts only. Takes precedence over {@link LayoutOptions.dimensions.minItemWidth} when both are set.
9743
+ */
9744
+ defaultMinItemWidth?: string;
9559
9745
  headerHeight?: number;
9560
9746
  };
9561
9747
  };
@@ -9628,6 +9814,20 @@ declare type LayoutSyncApi = {
9628
9814
  updateAccessibilityOptions(options: Partial<LayoutAccessibilityOptions>): void;
9629
9815
  };
9630
9816
 
9817
+ declare type LegacyColorChannelId = keyof typeof legacyColorChannelIds;
9818
+
9819
+ declare const legacyColorChannelIds: {
9820
+ readonly red: "fdc3.channel.1";
9821
+ readonly orange: "fdc3.channel.2";
9822
+ readonly yellow: "fdc3.channel.3";
9823
+ readonly green: "fdc3.channel.4";
9824
+ readonly teal: "fdc3.channel.5";
9825
+ readonly blue: "fdc3.channel.6";
9826
+ readonly pink: "fdc3.channel.7";
9827
+ readonly indigo: "fdc3.channel.8";
9828
+ readonly purple: "fdc3.channel.8";
9829
+ };
9830
+
9631
9831
  /**
9632
9832
  * @interface
9633
9833
  */
@@ -10222,6 +10422,24 @@ declare type MutableViewOptions = {
10222
10422
  * Used by Workspace to store custom data. Overwriting or modifying this field may impact the functionality of Workspace
10223
10423
  */
10224
10424
  _internalWorkspaceData: any;
10425
+ /**
10426
+ * @internal
10427
+ * Used by Workspace to store platform-specific options (including `viewTab`). Overwriting or modifying this field may impact the functionality of Workspace.
10428
+ * Persisted on create, {@link View.View#updateOptions updateOptions}, snapshot, and {@link View.View#getOptions getOptions} — the same way windows persist `workspacePlatform`.
10429
+ */
10430
+ workspacePlatform?: WorkspacePlatformOptions;
10431
+ /**
10432
+ * Per-view tab icon. Exception to `showFavicons` / `defaultFaviconUrl`.
10433
+ *
10434
+ * Distinct from Window `icon` (taskbar).
10435
+ *
10436
+ * - Omitted / `''` / `'unset'`: inherit — if `showFavicons`, page favicon then `defaultFaviconUrl`, else hide
10437
+ * - URL string: always show that URL, even when `showFavicons` is false. Load failure uses `defaultFaviconUrl`
10438
+ * - `'hide'`: always hide, even when `showFavicons` is true
10439
+ *
10440
+ * On `updateOptions`, omitted keys are a no-op; set `'unset'` to return to inherit.
10441
+ */
10442
+ icon?: ViewTabIcon;
10225
10443
  /**
10226
10444
  * {@inheritDoc ViewThrottling}
10227
10445
  *
@@ -10718,6 +10936,14 @@ declare type NonTabInjectionRule = {
10718
10936
  matchOptions?: RuleMatchOptions;
10719
10937
  };
10720
10938
 
10939
+ /**
10940
+ * Converts a legacy color-named channel ID to its canonical FDC3 user-channel ID.
10941
+ * The removed legacy gray channel resolves to no channel.
10942
+ */
10943
+ export declare function normalizeColorChannelId<T extends string>(colorChannelId: T): NormalizedColorChannelId<T>;
10944
+
10945
+ declare type NormalizedColorChannelId<T extends string> = string extends T ? string | undefined : T extends 'gray' ? undefined : T extends LegacyColorChannelId ? (typeof legacyColorChannelIds)[T] : T;
10946
+
10721
10947
  /**
10722
10948
  * @internal
10723
10949
  *
@@ -10986,6 +11212,7 @@ declare namespace OpenFin_2 {
10986
11212
  ViewInfo,
10987
11213
  WindowThrottling,
10988
11214
  ViewThrottling,
11215
+ ViewTabIcon,
10989
11216
  UpdatableViewOptions,
10990
11217
  ViewCreationOptions,
10991
11218
  MutableViewOptions,
@@ -11158,6 +11385,7 @@ declare namespace OpenFin_2 {
11158
11385
  ScreenCaptureBehavior,
11159
11386
  DomainSettingsPreloadScripts,
11160
11387
  PerDomainSettings,
11388
+ UrlRestoreSettings,
11161
11389
  CopyPermissions,
11162
11390
  PastePermissions,
11163
11391
  ClipboardPermissions,
@@ -11225,6 +11453,7 @@ declare namespace OpenFin_2 {
11225
11453
  LayoutManagerOverride,
11226
11454
  LayoutManager,
11227
11455
  HeaderControlsContext,
11456
+ CustomTabControlsContext,
11228
11457
  CreateLayoutOptions,
11229
11458
  MultiInstanceViewBehavior,
11230
11459
  LayoutAccessibilityOptions,
@@ -11298,6 +11527,12 @@ declare namespace OpenFin_2 {
11298
11527
  InteropClientEvent,
11299
11528
  ClientChangedContextGroup,
11300
11529
  InteropClientEvents,
11530
+ GetPerformanceStatsOptions,
11531
+ SerializedPerformanceOptions,
11532
+ CorePerformanceEntry,
11533
+ WebContentPerformanceStats,
11534
+ WindowPerformanceStats,
11535
+ PerformanceStatsResult,
11301
11536
  ChromeBrowser,
11302
11537
  LanguageInfo,
11303
11538
  PageTranslateOptions,
@@ -11584,6 +11819,12 @@ declare type PerDomainSettings = {
11584
11819
  * See also {@link AppLogLevel} for more information.
11585
11820
  */
11586
11821
  appLogLevel?: AppLogLevel;
11822
+ /**
11823
+ * When the live URL matches this rule, remap inbound
11824
+ * {@link View.ViewModule.navigate View.navigate} / {@link Window.WindowModule.navigate Window.navigate}
11825
+ * to {@link UrlRestoreSettings.url}.
11826
+ */
11827
+ urlRestore?: UrlRestoreSettings;
11587
11828
  };
11588
11829
 
11589
11830
  /**
@@ -11594,6 +11835,15 @@ declare type PerformanceReportEvent = Performance & BaseEvent_5 & {
11594
11835
  type: 'performance-report';
11595
11836
  };
11596
11837
 
11838
+ declare type PerformanceStatsResult = {
11839
+ mainWindow: WindowPerformanceStats;
11840
+ childWindows: WindowPerformanceStats[];
11841
+ browser?: {
11842
+ timeOrigin: number;
11843
+ entries: CorePerformanceEntry[];
11844
+ };
11845
+ };
11846
+
11597
11847
  /**
11598
11848
  * @interface
11599
11849
  *
@@ -13803,6 +14053,11 @@ declare type ProtocolMap = ExternalAdapterOnlyCallsMap & AnalyticsProtocolMap &
13803
14053
  response: OpenFin_2.MenuResult;
13804
14054
  };
13805
14055
  'close-tray-icon-popup-menu': IdentityCall<{}, void>;
14056
+ 'get-application-performance-stats': ApplicationIdentityCall<OpenFin_2.SerializedPerformanceOptions, OpenFin_2.PerformanceStatsResult> & {
14057
+ secure: true;
14058
+ namespace: 'Application';
14059
+ apiPath: '.getPerformanceStats';
14060
+ };
13806
14061
  'create-application': ApiCall<OpenFin_2.ApplicationCreationOptions, void>;
13807
14062
  'run-applications': ApiCall<{
13808
14063
  applications: Array<OpenFin_2.ManifestInfo>;
@@ -15188,6 +15443,16 @@ declare type SentMessage<Value> = Promise<Value> & {
15188
15443
  messageId: ReturnType<Environment['getNextMessageId']>;
15189
15444
  };
15190
15445
 
15446
+ declare type SerializedFilter = string | {
15447
+ type: 'regex';
15448
+ expression: string;
15449
+ flags?: string;
15450
+ };
15451
+
15452
+ declare type SerializedPerformanceOptions = Omit<GetPerformanceStatsOptions, 'include'> & {
15453
+ include?: SerializedFilter[];
15454
+ };
15455
+
15191
15456
  declare type ServeAssetOptions = AppAssetServeRequest | PathServeRequest;
15192
15457
 
15193
15458
  declare type ServedAssetInfo = {
@@ -17483,6 +17748,8 @@ declare namespace SystemEvents {
17483
17748
  ExtensionsInstallFailedEvent,
17484
17749
  ExtensionInstallFailedEvent,
17485
17750
  ExtensionsInitializationFailedEvent,
17751
+ ExtensionLoadedEvent,
17752
+ ExtensionReadyEvent,
17486
17753
  ThemePaletteChangedEvent,
17487
17754
  NativeThemeUpdatedEvent,
17488
17755
  Event_11 as Event,
@@ -18201,6 +18468,16 @@ declare type UrlChangedEvent = BaseUrlEvent & ({
18201
18468
  httpStatusText: string;
18202
18469
  });
18203
18470
 
18471
+ /**
18472
+ * Domain-settings policy that replaces a matched live URL with a configured start URI.
18473
+ */
18474
+ declare type UrlRestoreSettings = {
18475
+ /**
18476
+ * Absolute replacement URL. Full URL replace, not prefix rewrite.
18477
+ */
18478
+ url: string;
18479
+ };
18480
+
18204
18481
  /**
18205
18482
  * @interface
18206
18483
  */
@@ -19045,10 +19322,10 @@ declare type ViewTabAccessibilityOptions = {
19045
19322
  * Uses roving tabindex pattern - only one element focusable at a time.
19046
19323
  * @default ['active-tab', 'add-tab-button']
19047
19324
  */
19048
- tabNavigation?: ViewTabElements[];
19325
+ tabNavigation?: Exclude<ViewTabElements, 'active-tab-custom-control' | 'inactive-tab-custom-control'>[];
19049
19326
  /**
19050
19327
  * Controls which elements are navigable via Arrow keys.
19051
- * @default ['inactive-tab', 'active-tab', 'active-tab-close-button', 'inactive-tab-close-button', 'add-tab-button']
19328
+ * @default ['inactive-tab', 'active-tab', 'active-tab-close-button', 'inactive-tab-close-button', 'add-tab-button', 'active-tab-custom-control', 'inactive-tab-custom-control']
19052
19329
  */
19053
19330
  arrowNavigation?: ViewTabElements[];
19054
19331
  /**
@@ -19080,7 +19357,14 @@ declare type ViewTabAccessibilityOptions = {
19080
19357
  /**
19081
19358
  * Elements that can be navigated in view tabs.
19082
19359
  */
19083
- declare type ViewTabElements = 'active-tab' | 'inactive-tab' | 'active-tab-close-button' | 'inactive-tab-close-button' | 'add-tab-button';
19360
+ 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';
19361
+
19362
+ /**
19363
+ * Per-view tab icon. A URL, or the reserved sentinels `'hide'` / `'unset'`.
19364
+ *
19365
+ * `'hide'` and `'unset'` are not URLs. `''` is also unset (inherit) and is the default.
19366
+ */
19367
+ declare type ViewTabIcon = string | 'hide' | 'unset';
19084
19368
 
19085
19369
  /**
19086
19370
  * View throttling state.
@@ -19134,6 +19418,22 @@ declare type VoidCall = ApiCall<void, void>;
19134
19418
 
19135
19419
  declare type WebContent = View_2 | _Window;
19136
19420
 
19421
+ declare type WebContentPerformanceStatBase = {
19422
+ name: string;
19423
+ entries: CorePerformanceEntry[];
19424
+ navigation: {
19425
+ historyLength: number;
19426
+ timeOrigin: number;
19427
+ };
19428
+ url: string;
19429
+ frames: WebContentPerformanceStats[];
19430
+ };
19431
+
19432
+ declare type WebContentPerformanceStats = WebContentPerformanceStatBase | {
19433
+ error: string;
19434
+ url: string;
19435
+ };
19436
+
19137
19437
  declare class WebContents<T extends BaseEvent> extends EmitterBase<T> {
19138
19438
  identity: OpenFin_2.Identity;
19139
19439
  entityType: 'window' | 'view';
@@ -21744,6 +22044,13 @@ declare type WindowOptionsChangedEvent = OpenFin_2.WindowEvents.WindowOptionsCha
21744
22044
  */
21745
22045
  declare type WindowOptionsChangedEvent_2 = OptionsChangedEvent;
21746
22046
 
22047
+ declare type WindowPerformanceStats = (WebContentPerformanceStatBase & {
22048
+ views: WebContentPerformanceStats[];
22049
+ }) | {
22050
+ error: string;
22051
+ url: string;
22052
+ };
22053
+
21747
22054
  declare type WindowPrintOptions = PrintOptions | ScreenshotPrintOptions | WindowViewsPrintOptions;
21748
22055
 
21749
22056
  /**