@openfin/fdc3-api 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.
@@ -923,6 +923,21 @@ declare class Application extends EmitterBase<OpenFin.ApplicationEvent> {
923
923
  * ```
924
924
  */
925
925
  closeTrayIconPopupMenu(): Promise<void>;
926
+ /**
927
+ * @experimental
928
+ * Retrieves a performance snapshot for all Windows, Views and Frames in the Application.
929
+ *
930
+ * By default, all custom marks and measures are collected, along with navigation/paint entries
931
+ * and resource timing (`resources` defaults to `true`). Pass `include` to restrict custom
932
+ * marks/measures to matching names (string substring or RegExp). Pass `browser: true` to also
933
+ * include hereio internal runtime metrics.
934
+ *
935
+ * See also [MDN | Performance Mark API](https://developer.mozilla.org/en-US/docs/Web/API/Performance/mark)
936
+ *
937
+ * Note - only currently running WebContents will be captured, and performance entries can only be
938
+ * captured for the current navigation of each.
939
+ */
940
+ getPerformanceStats: (options?: OpenFin.GetPerformanceStatsOptions) => Promise<OpenFin.PerformanceStatsResult>;
926
941
  }
927
942
 
928
943
  /**
@@ -1374,6 +1389,7 @@ declare type ApplicationOptions = LegacyWinOptionsInAppOptions & {
1374
1389
  declare type ApplicationPermissions = {
1375
1390
  setFileDownloadLocation: boolean;
1376
1391
  getFileDownloadLocation: boolean;
1392
+ getPerformanceStats: boolean;
1377
1393
  };
1378
1394
 
1379
1395
  /**
@@ -3129,7 +3145,12 @@ declare type ChildWindowCreatedEvent = ContentCreationRulesEvent & {
3129
3145
  childOptions: OpenFin.WindowOptions;
3130
3146
  };
3131
3147
 
3132
- /* Excluded from this release type: ChromeBrowser */
3148
+ declare interface ChromeBrowser {
3149
+ /**
3150
+ * Extension action surface — observe and invoke installed Chrome extension actions.
3151
+ */
3152
+ readonly Actions: ChromeBrowserActions;
3153
+ }
3133
3154
 
3134
3155
  /**
3135
3156
  * APIs for interacting with Chromium extension actions from an initialized ChromeBrowser window.
@@ -4107,7 +4128,7 @@ declare type ConstWindowOptions = {
4107
4128
  width: number;
4108
4129
  x: number;
4109
4130
  y: number;
4110
- experimental?: any;
4131
+ /* Excluded from this release type: experimental */
4111
4132
  fdc3InteropApi?: string;
4112
4133
  /**
4113
4134
  * _Platform Windows Only_. Controls behavior for showing views when they are being resized by the user.
@@ -4430,6 +4451,8 @@ declare type CopyPermissions = {
4430
4451
  };
4431
4452
  };
4432
4453
 
4454
+ declare type CorePerformanceEntry = Omit<PerformanceEntry, 'toJSON'>;
4455
+
4433
4456
  /**
4434
4457
  * Defines and applies rounded corners for a frameless window. **NOTE:** On macOS corner is not ellipse but circle rounded by the
4435
4458
  * average of _height_ and _width_.
@@ -4582,6 +4605,32 @@ declare type CreateLayoutOptions = {
4582
4605
  * @experimental
4583
4606
  */
4584
4607
  renderCustomHeaderControls?: (controlsElement: HTMLElement, context: HeaderControlsContext) => (() => void) | void;
4608
+ /**
4609
+ * Callback invoked once per tab after core has finished building the tab DOM.
4610
+ * Use this to inject custom controls (e.g. action icons) into view tab hats.
4611
+ *
4612
+ * Optionally return a cleanup function that will be called when the tab is destroyed.
4613
+ *
4614
+ * Custom controls are not serialized into snapshots since callbacks are not
4615
+ * serializable. The callback is re-invoked when tabs are recreated.
4616
+ *
4617
+ * **NOTE**: This feature is only supported with layout engine `'v2'` (GL2) and
4618
+ * `settings.tabOverflowBehavior: 'scroll'`.
4619
+ *
4620
+ * Optionally add the `lm_tab_custom_control` class to each injected control as a direct child of
4621
+ * `tabElement`. That opts the control into {@link LayoutAccessibilityOptions} keyboard
4622
+ * navigation (roving tabindex, arrow keys in DOM order, Enter/Space without switching tabs),
4623
+ * pointer isolation so clicks do not activate or close the tab (press-and-drag still
4624
+ * reorders/tears out tab, matching the close button), and default 20×20 flex sizing
4625
+ * (override using `--layout-tab-custom-control-size`).
4626
+ *
4627
+ * @param tabElement The `.lm_tab` DOM element for the view tab.
4628
+ * @param context Context object with DOM anchors for the tab.
4629
+ * @returns A callback to be called when the rendered elements need to be cleaned up.
4630
+ *
4631
+ * @experimental
4632
+ */
4633
+ renderCustomTabControls?: (tabElement: HTMLElement, context: CustomTabControlsContext) => (() => void) | void;
4585
4634
  /**
4586
4635
  * Accessibility options for the layout. Controls ARIA attributes and keyboard navigation.
4587
4636
  */
@@ -4671,6 +4720,19 @@ declare type CustomRequestHeaders = {
4671
4720
  headers: WebRequestHeader[];
4672
4721
  };
4673
4722
 
4723
+ /**
4724
+ * @interface @experimental
4725
+ */
4726
+ declare type CustomTabControlsContext = {
4727
+ viewIdentity: Identity_4;
4728
+ /** Anchor for inserting controls adjacent to the tab text. */
4729
+ titleElement: HTMLElement;
4730
+ /** Anchor for the trailing outer edge. Absent when the view is not closable. */
4731
+ closeElement?: HTMLElement;
4732
+ /** The favicon element. Hidden when favicons are disabled. */
4733
+ faviconElement?: HTMLElement;
4734
+ };
4735
+
4674
4736
  declare type DataChannelReadyState = RTCDataChannel['readyState'];
4675
4737
 
4676
4738
  /**
@@ -5329,7 +5391,7 @@ declare type Event_10 = ApplicationEvents.Event | ApiReadyEvent | SnapshotApplie
5329
5391
  * under the {@link OpenFin.SystemEvents} namespace (payloads inherited from propagated events are defined in the namespace
5330
5392
  * from which they propagate).
5331
5393
  */
5332
- 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;
5394
+ 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;
5333
5395
 
5334
5396
  /**
5335
5397
  * [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.
@@ -5569,6 +5631,30 @@ declare type ExtensionInstallFailedEvent = ExtensionEvent & {
5569
5631
  type: 'extension-install-failed';
5570
5632
  };
5571
5633
 
5634
+ declare type ExtensionLifecycleEvent = BaseEvent_9 & {
5635
+ extensionId: string;
5636
+ name: string;
5637
+ version: string;
5638
+ };
5639
+
5640
+ /**
5641
+ * Fired when the Runtime finishes loading an extension's scripts into the renderer process.
5642
+ *
5643
+ * @interface
5644
+ */
5645
+ declare type ExtensionLoadedEvent = ExtensionLifecycleEvent & {
5646
+ type: 'extension-loaded';
5647
+ };
5648
+
5649
+ /**
5650
+ * Fired when an extension is fully functional (permissions granted, service worker running).
5651
+ *
5652
+ * @interface
5653
+ */
5654
+ declare type ExtensionReadyEvent = ExtensionLifecycleEvent & {
5655
+ type: 'extension-ready';
5656
+ };
5657
+
5572
5658
  /**
5573
5659
  * An event that fires when extensions are disabled in the security realm.
5574
5660
  *
@@ -6715,6 +6801,32 @@ declare type GetLogRequestType = {
6715
6801
  name: string;
6716
6802
  };
6717
6803
 
6804
+ /**
6805
+ * End of Interop Client Events
6806
+ */
6807
+ /**
6808
+ * Performance Entry Types
6809
+ */
6810
+ declare type GetPerformanceStatsOptions = {
6811
+ /**
6812
+ * Optional filter for custom performance marks and measures.
6813
+ * When omitted, all custom marks and measures are collected.
6814
+ * When specified, only entries whose names match one of the filters are collected.
6815
+ * Strings match by substring; RegExp matches by test.
6816
+ */
6817
+ include?: (string | RegExp)[];
6818
+ /**
6819
+ * Include `resource` timing entries from each View / Frame / Window.
6820
+ * Defaults to `true`. Pass `false` to omit them.
6821
+ */
6822
+ resources?: boolean;
6823
+ /**
6824
+ * Whether to include hereio internal runtime metrics.
6825
+ * Defaults to `false`. Pass `true` to include.
6826
+ */
6827
+ browser?: boolean;
6828
+ };
6829
+
6718
6830
  declare type GetterCall<T> = ApiCall<void, T>;
6719
6831
 
6720
6832
  /**
@@ -7390,17 +7502,19 @@ declare type InteropActionLoggingOption = {
7390
7502
  * "interopBrokerConfiguration": {
7391
7503
  * "contextGroups": [
7392
7504
  * {
7393
- * "id": "green",
7505
+ * "id": "fdc3.channel.4",
7394
7506
  * "displayMetadata": {
7395
- * "color": "#00CC88",
7396
- * "name": "green"
7507
+ * "color": "green",
7508
+ * "name": "Channel 4",
7509
+ * "glyph": "4"
7397
7510
  * }
7398
7511
  * },
7399
7512
  * {
7400
- * "id": "purple",
7513
+ * "id": "fdc3.channel.8",
7401
7514
  * "displayMetadata": {
7402
- * "color": "#8C61FF",
7403
- * "name": "purple"
7515
+ * "color": "purple",
7516
+ * "name": "Channel 8",
7517
+ * "glyph": "8"
7404
7518
  * }
7405
7519
  * },
7406
7520
  * ]
@@ -7534,7 +7648,7 @@ declare class InteropBroker extends Base {
7534
7648
  * @param joinContextGroupOptions - Id of the Context Group and identity of the entity to join to the group.
7535
7649
  * @param senderIdentity - Identity of the client sender.
7536
7650
  */
7537
- joinContextGroup({ contextGroupId, target }: {
7651
+ joinContextGroup({ contextGroupId: requestedContextGroupId, target }: {
7538
7652
  contextGroupId: string;
7539
7653
  target?: OpenFin.ClientIdentity | OpenFin.Identity;
7540
7654
  }, senderIdentity: OpenFin.ClientIdentity): Promise<void>;
@@ -7545,7 +7659,7 @@ declare class InteropBroker extends Base {
7545
7659
  * @param addClientToContextGroupOptions - Contains the contextGroupId
7546
7660
  * @param clientIdentity - Identity of the client sender.
7547
7661
  */
7548
- addClientToContextGroup({ contextGroupId }: {
7662
+ addClientToContextGroup({ contextGroupId: requestedContextGroupId }: {
7549
7663
  contextGroupId: string;
7550
7664
  }, clientIdentity: OpenFin.ClientIdentity): Promise<void>;
7551
7665
  /**
@@ -7958,6 +8072,8 @@ declare class InteropBroker extends Base {
7958
8072
  };
7959
8073
  private getClientState;
7960
8074
  private static toObject;
8075
+ private normalizeContextGroupStates;
8076
+ private normalizeContextGroupId;
7961
8077
  static checkContextIntegrity: (context: OpenFin.Context) => {
7962
8078
  isValid: true;
7963
8079
  } | {
@@ -8185,7 +8301,7 @@ declare class InteropClient extends Base {
8185
8301
  *
8186
8302
  * getLastFocusedView()
8187
8303
  * .then(lastFocusedViewIdentity => {
8188
- * joinViewToContextGroup('red', lastFocusedViewIdentity)
8304
+ * joinViewToContextGroup('fdc3.channel.1', lastFocusedViewIdentity)
8189
8305
  * })
8190
8306
  * ```
8191
8307
  */
@@ -8220,7 +8336,7 @@ declare class InteropClient extends Base {
8220
8336
  *
8221
8337
  * @example
8222
8338
  * ```js
8223
- * fin.me.interop.getAllClientsInContextGroup('red')
8339
+ * fin.me.interop.getAllClientsInContextGroup('fdc3.channel.1')
8224
8340
  * .then(clientsInContextGroup => {
8225
8341
  * console.log(clientsInContextGroup)
8226
8342
  * })
@@ -8235,7 +8351,7 @@ declare class InteropClient extends Base {
8235
8351
  *
8236
8352
  * @example
8237
8353
  * ```js
8238
- * fin.me.interop.getInfoForContextGroup('red')
8354
+ * fin.me.interop.getInfoForContextGroup('fdc3.channel.1')
8239
8355
  * .then(contextGroupInfo => {
8240
8356
  * console.log(contextGroupInfo.displayMetadata.name)
8241
8357
  * console.log(contextGroupInfo.displayMetadata.color)
@@ -8292,12 +8408,12 @@ declare class InteropClient extends Base {
8292
8408
  *
8293
8409
  * @example
8294
8410
  * ```js
8295
- * await fin.me.interop.joinContextGroup('yellow');
8411
+ * await fin.me.interop.joinContextGroup('fdc3.channel.3');
8296
8412
  * await fin.me.interop.setContext({ type: 'instrument', id: { ticker: 'FOO' }});
8297
8413
  * const currentContext = await fin.me.interop.getCurrentContext();
8298
8414
  *
8299
8415
  * // with a specific context
8300
- * await fin.me.interop.joinContextGroup('yellow');
8416
+ * await fin.me.interop.joinContextGroup('fdc3.channel.3');
8301
8417
  * await fin.me.interop.setContext({ type: 'country', id: { ISOALPHA3: 'US' }});
8302
8418
  * await fin.me.interop.setContext({ type: 'instrument', id: { ticker: 'FOO' }});
8303
8419
  * const currentContext = await fin.me.interop.getCurrentContext('country');
@@ -8459,7 +8575,7 @@ declare type InteropClientOnDisconnectionListener = (InteropBrokerDisconnectionE
8459
8575
  */
8460
8576
  declare type InteropConfig = {
8461
8577
  /**
8462
- * Context Group for the client. (green, yellow, red, etc.).
8578
+ * Context Group ID for the client (for example, `fdc3.channel.4`).
8463
8579
  */
8464
8580
  currentContextGroup?: string | null;
8465
8581
  /**
@@ -8508,7 +8624,7 @@ declare class InteropModule extends Base {
8508
8624
  * @example
8509
8625
  * ```js
8510
8626
  * const interopConfig = {
8511
- * currentContextGroup: 'green'
8627
+ * currentContextGroup: 'fdc3.channel.4'
8512
8628
  * }
8513
8629
  *
8514
8630
  * const interopBroker = await fin.Interop.init('openfin');
@@ -9538,8 +9654,26 @@ declare type LayoutOptions = {
9538
9654
  content?: LayoutContent;
9539
9655
  dimensions?: {
9540
9656
  borderWidth?: number;
9657
+ /**
9658
+ * Minimum height a layout item can be resized to, in pixels.
9659
+ * On web layouts this is mapped to Golden Layout 2 `defaultMinItemHeight`.
9660
+ */
9541
9661
  minItemHeight?: number;
9662
+ /**
9663
+ * Minimum width a layout item can be resized to, in pixels.
9664
+ * On web layouts this is mapped to Golden Layout 2 `defaultMinItemWidth`.
9665
+ */
9542
9666
  minItemWidth?: number;
9667
+ /**
9668
+ * Minimum height a layout item can be resized to (CSS size, e.g. `'500px'`).
9669
+ * Web layouts only. Takes precedence over {@link LayoutOptions.dimensions.minItemHeight} when both are set.
9670
+ */
9671
+ defaultMinItemHeight?: string;
9672
+ /**
9673
+ * Minimum width a layout item can be resized to (CSS size, e.g. `'500px'`).
9674
+ * Web layouts only. Takes precedence over {@link LayoutOptions.dimensions.minItemWidth} when both are set.
9675
+ */
9676
+ defaultMinItemWidth?: string;
9543
9677
  headerHeight?: number;
9544
9678
  };
9545
9679
  };
@@ -10202,6 +10336,19 @@ declare type MutableViewOptions = {
10202
10336
  preventDragOut: boolean;
10203
10337
  interop?: InteropConfig;
10204
10338
  /* Excluded from this release type: _internalWorkspaceData */
10339
+ /* Excluded from this release type: workspacePlatform */
10340
+ /**
10341
+ * Per-view tab icon. Exception to `showFavicons` / `defaultFaviconUrl`.
10342
+ *
10343
+ * Distinct from Window `icon` (taskbar).
10344
+ *
10345
+ * - Omitted / `''` / `'unset'`: inherit — if `showFavicons`, page favicon then `defaultFaviconUrl`, else hide
10346
+ * - URL string: always show that URL, even when `showFavicons` is false. Load failure uses `defaultFaviconUrl`
10347
+ * - `'hide'`: always hide, even when `showFavicons` is true
10348
+ *
10349
+ * On `updateOptions`, omitted keys are a no-op; set `'unset'` to return to inherit.
10350
+ */
10351
+ icon?: ViewTabIcon;
10205
10352
  /**
10206
10353
  * {@inheritDoc ViewThrottling}
10207
10354
  *
@@ -10945,6 +11092,7 @@ declare namespace OpenFin {
10945
11092
  ViewInfo,
10946
11093
  WindowThrottling,
10947
11094
  ViewThrottling,
11095
+ ViewTabIcon,
10948
11096
  UpdatableViewOptions,
10949
11097
  ViewCreationOptions,
10950
11098
  MutableViewOptions,
@@ -11117,6 +11265,7 @@ declare namespace OpenFin {
11117
11265
  ScreenCaptureBehavior,
11118
11266
  DomainSettingsPreloadScripts,
11119
11267
  PerDomainSettings,
11268
+ UrlRestoreSettings,
11120
11269
  CopyPermissions,
11121
11270
  PastePermissions,
11122
11271
  ClipboardPermissions,
@@ -11184,6 +11333,7 @@ declare namespace OpenFin {
11184
11333
  LayoutManagerOverride,
11185
11334
  LayoutManager,
11186
11335
  HeaderControlsContext,
11336
+ CustomTabControlsContext,
11187
11337
  CreateLayoutOptions,
11188
11338
  MultiInstanceViewBehavior,
11189
11339
  LayoutAccessibilityOptions,
@@ -11257,6 +11407,12 @@ declare namespace OpenFin {
11257
11407
  InteropClientEvent,
11258
11408
  ClientChangedContextGroup,
11259
11409
  InteropClientEvents,
11410
+ GetPerformanceStatsOptions,
11411
+ SerializedPerformanceOptions,
11412
+ CorePerformanceEntry,
11413
+ WebContentPerformanceStats,
11414
+ WindowPerformanceStats,
11415
+ PerformanceStatsResult,
11260
11416
  ChromeBrowser,
11261
11417
  LanguageInfo,
11262
11418
  PageTranslateOptions,
@@ -11541,6 +11697,12 @@ declare type PerDomainSettings = {
11541
11697
  * See also {@link AppLogLevel} for more information.
11542
11698
  */
11543
11699
  appLogLevel?: AppLogLevel;
11700
+ /**
11701
+ * When the live URL matches this rule, remap inbound
11702
+ * {@link View.ViewModule.navigate View.navigate} / {@link Window.WindowModule.navigate Window.navigate}
11703
+ * to {@link UrlRestoreSettings.url}.
11704
+ */
11705
+ urlRestore?: UrlRestoreSettings;
11544
11706
  };
11545
11707
 
11546
11708
  /**
@@ -11551,6 +11713,15 @@ declare type PerformanceReportEvent = Performance & BaseEvent_5 & {
11551
11713
  type: 'performance-report';
11552
11714
  };
11553
11715
 
11716
+ declare type PerformanceStatsResult = {
11717
+ mainWindow: WindowPerformanceStats;
11718
+ childWindows: WindowPerformanceStats[];
11719
+ browser?: {
11720
+ timeOrigin: number;
11721
+ entries: CorePerformanceEntry[];
11722
+ };
11723
+ };
11724
+
11554
11725
  /**
11555
11726
  * @interface
11556
11727
  *
@@ -13677,6 +13848,11 @@ declare type ProtocolMap = ExternalAdapterOnlyCallsMap & AnalyticsProtocolMap &
13677
13848
  response: OpenFin.MenuResult;
13678
13849
  };
13679
13850
  'close-tray-icon-popup-menu': IdentityCall<{}, void>;
13851
+ 'get-application-performance-stats': ApplicationIdentityCall<OpenFin.SerializedPerformanceOptions, OpenFin.PerformanceStatsResult> & {
13852
+ secure: true;
13853
+ namespace: 'Application';
13854
+ apiPath: '.getPerformanceStats';
13855
+ };
13680
13856
  'create-application': ApiCall<OpenFin.ApplicationCreationOptions, void>;
13681
13857
  'run-applications': ApiCall<{
13682
13858
  applications: Array<OpenFin.ManifestInfo>;
@@ -15062,6 +15238,16 @@ declare type SentMessage<Value> = Promise<Value> & {
15062
15238
  messageId: ReturnType<Environment['getNextMessageId']>;
15063
15239
  };
15064
15240
 
15241
+ declare type SerializedFilter = string | {
15242
+ type: 'regex';
15243
+ expression: string;
15244
+ flags?: string;
15245
+ };
15246
+
15247
+ declare type SerializedPerformanceOptions = Omit<GetPerformanceStatsOptions, 'include'> & {
15248
+ include?: SerializedFilter[];
15249
+ };
15250
+
15065
15251
  declare type ServeAssetOptions = AppAssetServeRequest | PathServeRequest;
15066
15252
 
15067
15253
  declare type ServedAssetInfo = {
@@ -17351,6 +17537,8 @@ declare namespace SystemEvents {
17351
17537
  ExtensionsInstallFailedEvent,
17352
17538
  ExtensionInstallFailedEvent,
17353
17539
  ExtensionsInitializationFailedEvent,
17540
+ ExtensionLoadedEvent,
17541
+ ExtensionReadyEvent,
17354
17542
  ThemePaletteChangedEvent,
17355
17543
  NativeThemeUpdatedEvent,
17356
17544
  Event_11 as Event,
@@ -18062,6 +18250,16 @@ declare type UrlChangedEvent = BaseUrlEvent & ({
18062
18250
  httpStatusText: string;
18063
18251
  });
18064
18252
 
18253
+ /**
18254
+ * Domain-settings policy that replaces a matched live URL with a configured start URI.
18255
+ */
18256
+ declare type UrlRestoreSettings = {
18257
+ /**
18258
+ * Absolute replacement URL. Full URL replace, not prefix rewrite.
18259
+ */
18260
+ url: string;
18261
+ };
18262
+
18065
18263
  /**
18066
18264
  * @interface
18067
18265
  */
@@ -18975,10 +19173,10 @@ declare type ViewTabAccessibilityOptions = {
18975
19173
  * Uses roving tabindex pattern - only one element focusable at a time.
18976
19174
  * @default ['active-tab', 'add-tab-button']
18977
19175
  */
18978
- tabNavigation?: ViewTabElements[];
19176
+ tabNavigation?: Exclude<ViewTabElements, 'active-tab-custom-control' | 'inactive-tab-custom-control'>[];
18979
19177
  /**
18980
19178
  * Controls which elements are navigable via Arrow keys.
18981
- * @default ['inactive-tab', 'active-tab', 'active-tab-close-button', 'inactive-tab-close-button', 'add-tab-button']
19179
+ * @default ['inactive-tab', 'active-tab', 'active-tab-close-button', 'inactive-tab-close-button', 'add-tab-button', 'active-tab-custom-control', 'inactive-tab-custom-control']
18982
19180
  */
18983
19181
  arrowNavigation?: ViewTabElements[];
18984
19182
  /**
@@ -19010,7 +19208,14 @@ declare type ViewTabAccessibilityOptions = {
19010
19208
  /**
19011
19209
  * Elements that can be navigated in view tabs.
19012
19210
  */
19013
- declare type ViewTabElements = 'active-tab' | 'inactive-tab' | 'active-tab-close-button' | 'inactive-tab-close-button' | 'add-tab-button';
19211
+ 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';
19212
+
19213
+ /**
19214
+ * Per-view tab icon. A URL, or the reserved sentinels `'hide'` / `'unset'`.
19215
+ *
19216
+ * `'hide'` and `'unset'` are not URLs. `''` is also unset (inherit) and is the default.
19217
+ */
19218
+ declare type ViewTabIcon = string | 'hide' | 'unset';
19014
19219
 
19015
19220
  /**
19016
19221
  * View throttling state.
@@ -19064,6 +19269,22 @@ declare type VoidCall = ApiCall<void, void>;
19064
19269
 
19065
19270
  declare type WebContent = View_2 | _Window;
19066
19271
 
19272
+ declare type WebContentPerformanceStatBase = {
19273
+ name: string;
19274
+ entries: CorePerformanceEntry[];
19275
+ navigation: {
19276
+ historyLength: number;
19277
+ timeOrigin: number;
19278
+ };
19279
+ url: string;
19280
+ frames: WebContentPerformanceStats[];
19281
+ };
19282
+
19283
+ declare type WebContentPerformanceStats = WebContentPerformanceStatBase | {
19284
+ error: string;
19285
+ url: string;
19286
+ };
19287
+
19067
19288
  declare class WebContents<T extends BaseEvent> extends EmitterBase<T> {
19068
19289
  identity: OpenFin.Identity;
19069
19290
  entityType: 'window' | 'view';
@@ -21671,6 +21892,13 @@ declare type WindowOptionsChangedEvent = OpenFin.WindowEvents.WindowOptionsChang
21671
21892
  */
21672
21893
  declare type WindowOptionsChangedEvent_2 = OptionsChangedEvent;
21673
21894
 
21895
+ declare type WindowPerformanceStats = (WebContentPerformanceStatBase & {
21896
+ views: WebContentPerformanceStats[];
21897
+ }) | {
21898
+ error: string;
21899
+ url: string;
21900
+ };
21901
+
21674
21902
  declare type WindowPrintOptions = PrintOptions | ScreenshotPrintOptions | WindowViewsPrintOptions;
21675
21903
 
21676
21904
  /**