@openfin/core 45.100.114 → 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.
@@ -926,6 +926,21 @@ declare class Application extends EmitterBase<OpenFin_2.ApplicationEvent> {
926
926
  * ```
927
927
  */
928
928
  closeTrayIconPopupMenu(): Promise<void>;
929
+ /**
930
+ * @experimental
931
+ * Retrieves a performance snapshot for all Windows, Views and Frames in the Application.
932
+ *
933
+ * By default, all custom marks and measures are collected, along with navigation/paint entries
934
+ * and resource timing (`resources` defaults to `true`). Pass `include` to restrict custom
935
+ * marks/measures to matching names (string substring or RegExp). Pass `browser: true` to also
936
+ * include hereio internal runtime metrics.
937
+ *
938
+ * See also [MDN | Performance Mark API](https://developer.mozilla.org/en-US/docs/Web/API/Performance/mark)
939
+ *
940
+ * Note - only currently running WebContents will be captured, and performance entries can only be
941
+ * captured for the current navigation of each.
942
+ */
943
+ getPerformanceStats: (options?: OpenFin_2.GetPerformanceStatsOptions) => Promise<OpenFin_2.PerformanceStatsResult>;
929
944
  }
930
945
 
931
946
  /**
@@ -1377,6 +1392,7 @@ declare type ApplicationOptions = LegacyWinOptionsInAppOptions & {
1377
1392
  declare type ApplicationPermissions = {
1378
1393
  setFileDownloadLocation: boolean;
1379
1394
  getFileDownloadLocation: boolean;
1395
+ getPerformanceStats: boolean;
1380
1396
  };
1381
1397
 
1382
1398
  /**
@@ -3132,7 +3148,12 @@ declare type ChildWindowCreatedEvent = ContentCreationRulesEvent & {
3132
3148
  childOptions: OpenFin_2.WindowOptions;
3133
3149
  };
3134
3150
 
3135
- /* Excluded from this release type: ChromeBrowser */
3151
+ declare interface ChromeBrowser {
3152
+ /**
3153
+ * Extension action surface — observe and invoke installed Chrome extension actions.
3154
+ */
3155
+ readonly Actions: ChromeBrowserActions;
3156
+ }
3136
3157
 
3137
3158
  /**
3138
3159
  * APIs for interacting with Chromium extension actions from an initialized ChromeBrowser window.
@@ -4110,7 +4131,7 @@ declare type ConstWindowOptions = {
4110
4131
  width: number;
4111
4132
  x: number;
4112
4133
  y: number;
4113
- experimental?: any;
4134
+ /* Excluded from this release type: experimental */
4114
4135
  fdc3InteropApi?: string;
4115
4136
  /**
4116
4137
  * _Platform Windows Only_. Controls behavior for showing views when they are being resized by the user.
@@ -4433,6 +4454,8 @@ declare type CopyPermissions = {
4433
4454
  };
4434
4455
  };
4435
4456
 
4457
+ declare type CorePerformanceEntry = Omit<PerformanceEntry, 'toJSON'>;
4458
+
4436
4459
  /**
4437
4460
  * Defines and applies rounded corners for a frameless window. **NOTE:** On macOS corner is not ellipse but circle rounded by the
4438
4461
  * average of _height_ and _width_.
@@ -4585,6 +4608,32 @@ declare type CreateLayoutOptions = {
4585
4608
  * @experimental
4586
4609
  */
4587
4610
  renderCustomHeaderControls?: (controlsElement: HTMLElement, context: HeaderControlsContext) => (() => void) | void;
4611
+ /**
4612
+ * Callback invoked once per tab after core has finished building the tab DOM.
4613
+ * Use this to inject custom controls (e.g. action icons) into view tab hats.
4614
+ *
4615
+ * Optionally return a cleanup function that will be called when the tab is destroyed.
4616
+ *
4617
+ * Custom controls are not serialized into snapshots since callbacks are not
4618
+ * serializable. The callback is re-invoked when tabs are recreated.
4619
+ *
4620
+ * **NOTE**: This feature is only supported with layout engine `'v2'` (GL2) and
4621
+ * `settings.tabOverflowBehavior: 'scroll'`.
4622
+ *
4623
+ * Optionally add the `lm_tab_custom_control` class to each injected control as a direct child of
4624
+ * `tabElement`. That opts the control into {@link LayoutAccessibilityOptions} keyboard
4625
+ * navigation (roving tabindex, arrow keys in DOM order, Enter/Space without switching tabs),
4626
+ * pointer isolation so clicks do not activate or close the tab (press-and-drag still
4627
+ * reorders/tears out tab, matching the close button), and default 20×20 flex sizing
4628
+ * (override using `--layout-tab-custom-control-size`).
4629
+ *
4630
+ * @param tabElement The `.lm_tab` DOM element for the view tab.
4631
+ * @param context Context object with DOM anchors for the tab.
4632
+ * @returns A callback to be called when the rendered elements need to be cleaned up.
4633
+ *
4634
+ * @experimental
4635
+ */
4636
+ renderCustomTabControls?: (tabElement: HTMLElement, context: CustomTabControlsContext) => (() => void) | void;
4588
4637
  /**
4589
4638
  * Accessibility options for the layout. Controls ARIA attributes and keyboard navigation.
4590
4639
  */
@@ -4674,8 +4723,69 @@ declare type CustomRequestHeaders = {
4674
4723
  headers: WebRequestHeader[];
4675
4724
  };
4676
4725
 
4726
+ /**
4727
+ * @interface @experimental
4728
+ */
4729
+ declare type CustomTabControlsContext = {
4730
+ viewIdentity: Identity_4;
4731
+ /** Anchor for inserting controls adjacent to the tab text. */
4732
+ titleElement: HTMLElement;
4733
+ /** Anchor for the trailing outer edge. Absent when the view is not closable. */
4734
+ closeElement?: HTMLElement;
4735
+ /** The favicon element. Hidden when favicons are disabled. */
4736
+ faviconElement?: HTMLElement;
4737
+ };
4738
+
4677
4739
  declare type DataChannelReadyState = RTCDataChannel['readyState'];
4678
4740
 
4741
+ export declare type DefaultColorChannelId = keyof typeof defaultColorChannels;
4742
+
4743
+ /**
4744
+ * The default FDC3 user channels advertised by the Interop Broker.
4745
+ */
4746
+ export declare const defaultColorChannels: {
4747
+ readonly 'fdc3.channel.1': {
4748
+ readonly name: "Channel 1";
4749
+ readonly color: "red";
4750
+ readonly glyph: "1";
4751
+ };
4752
+ readonly 'fdc3.channel.2': {
4753
+ readonly name: "Channel 2";
4754
+ readonly color: "orange";
4755
+ readonly glyph: "2";
4756
+ };
4757
+ readonly 'fdc3.channel.3': {
4758
+ readonly name: "Channel 3";
4759
+ readonly color: "yellow";
4760
+ readonly glyph: "3";
4761
+ };
4762
+ readonly 'fdc3.channel.4': {
4763
+ readonly name: "Channel 4";
4764
+ readonly color: "green";
4765
+ readonly glyph: "4";
4766
+ };
4767
+ readonly 'fdc3.channel.5': {
4768
+ readonly name: "Channel 5";
4769
+ readonly color: "cyan";
4770
+ readonly glyph: "5";
4771
+ };
4772
+ readonly 'fdc3.channel.6': {
4773
+ readonly name: "Channel 6";
4774
+ readonly color: "blue";
4775
+ readonly glyph: "6";
4776
+ };
4777
+ readonly 'fdc3.channel.7': {
4778
+ readonly name: "Channel 7";
4779
+ readonly color: "magenta";
4780
+ readonly glyph: "7";
4781
+ };
4782
+ readonly 'fdc3.channel.8': {
4783
+ readonly name: "Channel 8";
4784
+ readonly color: "purple";
4785
+ readonly glyph: "8";
4786
+ };
4787
+ };
4788
+
4679
4789
  /**
4680
4790
  * @deprecated Use {@link OpenFin.DomainSettings} instead.
4681
4791
  * @interface
@@ -6373,6 +6483,32 @@ declare type GetLogRequestType = {
6373
6483
  name: string;
6374
6484
  };
6375
6485
 
6486
+ /**
6487
+ * End of Interop Client Events
6488
+ */
6489
+ /**
6490
+ * Performance Entry Types
6491
+ */
6492
+ declare type GetPerformanceStatsOptions = {
6493
+ /**
6494
+ * Optional filter for custom performance marks and measures.
6495
+ * When omitted, all custom marks and measures are collected.
6496
+ * When specified, only entries whose names match one of the filters are collected.
6497
+ * Strings match by substring; RegExp matches by test.
6498
+ */
6499
+ include?: (string | RegExp)[];
6500
+ /**
6501
+ * Include `resource` timing entries from each View / Frame / Window.
6502
+ * Defaults to `true`. Pass `false` to omit them.
6503
+ */
6504
+ resources?: boolean;
6505
+ /**
6506
+ * Whether to include hereio internal runtime metrics.
6507
+ * Defaults to `false`. Pass `true` to include.
6508
+ */
6509
+ browser?: boolean;
6510
+ };
6511
+
6376
6512
  declare type GetterCall<T> = ApiCall<void, T>;
6377
6513
 
6378
6514
  /**
@@ -7048,17 +7184,19 @@ declare type InteropActionLoggingOption = {
7048
7184
  * "interopBrokerConfiguration": {
7049
7185
  * "contextGroups": [
7050
7186
  * {
7051
- * "id": "green",
7187
+ * "id": "fdc3.channel.4",
7052
7188
  * "displayMetadata": {
7053
- * "color": "#00CC88",
7054
- * "name": "green"
7189
+ * "color": "green",
7190
+ * "name": "Channel 4",
7191
+ * "glyph": "4"
7055
7192
  * }
7056
7193
  * },
7057
7194
  * {
7058
- * "id": "purple",
7195
+ * "id": "fdc3.channel.8",
7059
7196
  * "displayMetadata": {
7060
- * "color": "#8C61FF",
7061
- * "name": "purple"
7197
+ * "color": "purple",
7198
+ * "name": "Channel 8",
7199
+ * "glyph": "8"
7062
7200
  * }
7063
7201
  * },
7064
7202
  * ]
@@ -7192,7 +7330,7 @@ declare class InteropBroker extends Base {
7192
7330
  * @param joinContextGroupOptions - Id of the Context Group and identity of the entity to join to the group.
7193
7331
  * @param senderIdentity - Identity of the client sender.
7194
7332
  */
7195
- joinContextGroup({ contextGroupId, target }: {
7333
+ joinContextGroup({ contextGroupId: requestedContextGroupId, target }: {
7196
7334
  contextGroupId: string;
7197
7335
  target?: OpenFin_2.ClientIdentity | OpenFin_2.Identity;
7198
7336
  }, senderIdentity: OpenFin_2.ClientIdentity): Promise<void>;
@@ -7203,7 +7341,7 @@ declare class InteropBroker extends Base {
7203
7341
  * @param addClientToContextGroupOptions - Contains the contextGroupId
7204
7342
  * @param clientIdentity - Identity of the client sender.
7205
7343
  */
7206
- addClientToContextGroup({ contextGroupId }: {
7344
+ addClientToContextGroup({ contextGroupId: requestedContextGroupId }: {
7207
7345
  contextGroupId: string;
7208
7346
  }, clientIdentity: OpenFin_2.ClientIdentity): Promise<void>;
7209
7347
  /**
@@ -7616,6 +7754,8 @@ declare class InteropBroker extends Base {
7616
7754
  };
7617
7755
  private getClientState;
7618
7756
  private static toObject;
7757
+ private normalizeContextGroupStates;
7758
+ private normalizeContextGroupId;
7619
7759
  static checkContextIntegrity: (context: OpenFin_2.Context) => {
7620
7760
  isValid: true;
7621
7761
  } | {
@@ -7843,7 +7983,7 @@ declare class InteropClient extends Base {
7843
7983
  *
7844
7984
  * getLastFocusedView()
7845
7985
  * .then(lastFocusedViewIdentity => {
7846
- * joinViewToContextGroup('red', lastFocusedViewIdentity)
7986
+ * joinViewToContextGroup('fdc3.channel.1', lastFocusedViewIdentity)
7847
7987
  * })
7848
7988
  * ```
7849
7989
  */
@@ -7878,7 +8018,7 @@ declare class InteropClient extends Base {
7878
8018
  *
7879
8019
  * @example
7880
8020
  * ```js
7881
- * fin.me.interop.getAllClientsInContextGroup('red')
8021
+ * fin.me.interop.getAllClientsInContextGroup('fdc3.channel.1')
7882
8022
  * .then(clientsInContextGroup => {
7883
8023
  * console.log(clientsInContextGroup)
7884
8024
  * })
@@ -7893,7 +8033,7 @@ declare class InteropClient extends Base {
7893
8033
  *
7894
8034
  * @example
7895
8035
  * ```js
7896
- * fin.me.interop.getInfoForContextGroup('red')
8036
+ * fin.me.interop.getInfoForContextGroup('fdc3.channel.1')
7897
8037
  * .then(contextGroupInfo => {
7898
8038
  * console.log(contextGroupInfo.displayMetadata.name)
7899
8039
  * console.log(contextGroupInfo.displayMetadata.color)
@@ -7950,12 +8090,12 @@ declare class InteropClient extends Base {
7950
8090
  *
7951
8091
  * @example
7952
8092
  * ```js
7953
- * await fin.me.interop.joinContextGroup('yellow');
8093
+ * await fin.me.interop.joinContextGroup('fdc3.channel.3');
7954
8094
  * await fin.me.interop.setContext({ type: 'instrument', id: { ticker: 'FOO' }});
7955
8095
  * const currentContext = await fin.me.interop.getCurrentContext();
7956
8096
  *
7957
8097
  * // with a specific context
7958
- * await fin.me.interop.joinContextGroup('yellow');
8098
+ * await fin.me.interop.joinContextGroup('fdc3.channel.3');
7959
8099
  * await fin.me.interop.setContext({ type: 'country', id: { ISOALPHA3: 'US' }});
7960
8100
  * await fin.me.interop.setContext({ type: 'instrument', id: { ticker: 'FOO' }});
7961
8101
  * const currentContext = await fin.me.interop.getCurrentContext('country');
@@ -8117,7 +8257,7 @@ declare type InteropClientOnDisconnectionListener = (InteropBrokerDisconnectionE
8117
8257
  */
8118
8258
  declare type InteropConfig = {
8119
8259
  /**
8120
- * Context Group for the client. (green, yellow, red, etc.).
8260
+ * Context Group ID for the client (for example, `fdc3.channel.4`).
8121
8261
  */
8122
8262
  currentContextGroup?: string | null;
8123
8263
  /**
@@ -8166,7 +8306,7 @@ declare class InteropModule extends Base {
8166
8306
  * @example
8167
8307
  * ```js
8168
8308
  * const interopConfig = {
8169
- * currentContextGroup: 'green'
8309
+ * currentContextGroup: 'fdc3.channel.4'
8170
8310
  * }
8171
8311
  *
8172
8312
  * const interopBroker = await fin.Interop.init('openfin');
@@ -9196,8 +9336,26 @@ declare type LayoutOptions = {
9196
9336
  content?: LayoutContent;
9197
9337
  dimensions?: {
9198
9338
  borderWidth?: number;
9339
+ /**
9340
+ * Minimum height a layout item can be resized to, in pixels.
9341
+ * On web layouts this is mapped to Golden Layout 2 `defaultMinItemHeight`.
9342
+ */
9199
9343
  minItemHeight?: number;
9344
+ /**
9345
+ * Minimum width a layout item can be resized to, in pixels.
9346
+ * On web layouts this is mapped to Golden Layout 2 `defaultMinItemWidth`.
9347
+ */
9200
9348
  minItemWidth?: number;
9349
+ /**
9350
+ * Minimum height a layout item can be resized to (CSS size, e.g. `'500px'`).
9351
+ * Web layouts only. Takes precedence over {@link LayoutOptions.dimensions.minItemHeight} when both are set.
9352
+ */
9353
+ defaultMinItemHeight?: string;
9354
+ /**
9355
+ * Minimum width a layout item can be resized to (CSS size, e.g. `'500px'`).
9356
+ * Web layouts only. Takes precedence over {@link LayoutOptions.dimensions.minItemWidth} when both are set.
9357
+ */
9358
+ defaultMinItemWidth?: string;
9201
9359
  headerHeight?: number;
9202
9360
  };
9203
9361
  };
@@ -9270,6 +9428,20 @@ declare type LayoutSyncApi = {
9270
9428
  updateAccessibilityOptions(options: Partial<LayoutAccessibilityOptions>): void;
9271
9429
  };
9272
9430
 
9431
+ declare type LegacyColorChannelId = keyof typeof legacyColorChannelIds;
9432
+
9433
+ declare const legacyColorChannelIds: {
9434
+ readonly red: "fdc3.channel.1";
9435
+ readonly orange: "fdc3.channel.2";
9436
+ readonly yellow: "fdc3.channel.3";
9437
+ readonly green: "fdc3.channel.4";
9438
+ readonly teal: "fdc3.channel.5";
9439
+ readonly blue: "fdc3.channel.6";
9440
+ readonly pink: "fdc3.channel.7";
9441
+ readonly indigo: "fdc3.channel.8";
9442
+ readonly purple: "fdc3.channel.8";
9443
+ };
9444
+
9273
9445
  /**
9274
9446
  * @interface
9275
9447
  */
@@ -9860,6 +10032,19 @@ declare type MutableViewOptions = {
9860
10032
  preventDragOut: boolean;
9861
10033
  interop?: InteropConfig;
9862
10034
  /* Excluded from this release type: _internalWorkspaceData */
10035
+ /* Excluded from this release type: workspacePlatform */
10036
+ /**
10037
+ * Per-view tab icon. Exception to `showFavicons` / `defaultFaviconUrl`.
10038
+ *
10039
+ * Distinct from Window `icon` (taskbar).
10040
+ *
10041
+ * - Omitted / `''` / `'unset'`: inherit — if `showFavicons`, page favicon then `defaultFaviconUrl`, else hide
10042
+ * - URL string: always show that URL, even when `showFavicons` is false. Load failure uses `defaultFaviconUrl`
10043
+ * - `'hide'`: always hide, even when `showFavicons` is true
10044
+ *
10045
+ * On `updateOptions`, omitted keys are a no-op; set `'unset'` to return to inherit.
10046
+ */
10047
+ icon?: ViewTabIcon;
9863
10048
  /**
9864
10049
  * {@inheritDoc ViewThrottling}
9865
10050
  *
@@ -10348,6 +10533,14 @@ declare type NonTabInjectionRule = {
10348
10533
  matchOptions?: RuleMatchOptions;
10349
10534
  };
10350
10535
 
10536
+ /**
10537
+ * Converts a legacy color-named channel ID to its canonical FDC3 user-channel ID.
10538
+ * The removed legacy gray channel resolves to no channel.
10539
+ */
10540
+ export declare function normalizeColorChannelId<T extends string>(colorChannelId: T): NormalizedColorChannelId<T>;
10541
+
10542
+ declare type NormalizedColorChannelId<T extends string> = string extends T ? string | undefined : T extends 'gray' ? undefined : T extends LegacyColorChannelId ? (typeof legacyColorChannelIds)[T] : T;
10543
+
10351
10544
  /* Excluded from this release type: NotCloseRequested */
10352
10545
 
10353
10546
  declare type NotificationEvent = {
@@ -10603,6 +10796,7 @@ declare namespace OpenFin_2 {
10603
10796
  ViewInfo,
10604
10797
  WindowThrottling,
10605
10798
  ViewThrottling,
10799
+ ViewTabIcon,
10606
10800
  UpdatableViewOptions,
10607
10801
  ViewCreationOptions,
10608
10802
  MutableViewOptions,
@@ -10775,6 +10969,7 @@ declare namespace OpenFin_2 {
10775
10969
  ScreenCaptureBehavior,
10776
10970
  DomainSettingsPreloadScripts,
10777
10971
  PerDomainSettings,
10972
+ UrlRestoreSettings,
10778
10973
  CopyPermissions,
10779
10974
  PastePermissions,
10780
10975
  ClipboardPermissions,
@@ -10842,6 +11037,7 @@ declare namespace OpenFin_2 {
10842
11037
  LayoutManagerOverride,
10843
11038
  LayoutManager,
10844
11039
  HeaderControlsContext,
11040
+ CustomTabControlsContext,
10845
11041
  CreateLayoutOptions,
10846
11042
  MultiInstanceViewBehavior,
10847
11043
  LayoutAccessibilityOptions,
@@ -10915,6 +11111,12 @@ declare namespace OpenFin_2 {
10915
11111
  InteropClientEvent,
10916
11112
  ClientChangedContextGroup,
10917
11113
  InteropClientEvents,
11114
+ GetPerformanceStatsOptions,
11115
+ SerializedPerformanceOptions,
11116
+ CorePerformanceEntry,
11117
+ WebContentPerformanceStats,
11118
+ WindowPerformanceStats,
11119
+ PerformanceStatsResult,
10918
11120
  ChromeBrowser,
10919
11121
  LanguageInfo,
10920
11122
  PageTranslateOptions,
@@ -11201,6 +11403,12 @@ declare type PerDomainSettings = {
11201
11403
  * See also {@link AppLogLevel} for more information.
11202
11404
  */
11203
11405
  appLogLevel?: AppLogLevel;
11406
+ /**
11407
+ * When the live URL matches this rule, remap inbound
11408
+ * {@link View.ViewModule.navigate View.navigate} / {@link Window.WindowModule.navigate Window.navigate}
11409
+ * to {@link UrlRestoreSettings.url}.
11410
+ */
11411
+ urlRestore?: UrlRestoreSettings;
11204
11412
  };
11205
11413
 
11206
11414
  /**
@@ -11211,6 +11419,15 @@ declare type PerformanceReportEvent = Performance & BaseEvent_5 & {
11211
11419
  type: 'performance-report';
11212
11420
  };
11213
11421
 
11422
+ declare type PerformanceStatsResult = {
11423
+ mainWindow: WindowPerformanceStats;
11424
+ childWindows: WindowPerformanceStats[];
11425
+ browser?: {
11426
+ timeOrigin: number;
11427
+ entries: CorePerformanceEntry[];
11428
+ };
11429
+ };
11430
+
11214
11431
  /**
11215
11432
  * @interface
11216
11433
  *
@@ -13337,6 +13554,11 @@ declare type ProtocolMap = ExternalAdapterOnlyCallsMap & AnalyticsProtocolMap &
13337
13554
  response: OpenFin_2.MenuResult;
13338
13555
  };
13339
13556
  'close-tray-icon-popup-menu': IdentityCall<{}, void>;
13557
+ 'get-application-performance-stats': ApplicationIdentityCall<OpenFin_2.SerializedPerformanceOptions, OpenFin_2.PerformanceStatsResult> & {
13558
+ secure: true;
13559
+ namespace: 'Application';
13560
+ apiPath: '.getPerformanceStats';
13561
+ };
13340
13562
  'create-application': ApiCall<OpenFin_2.ApplicationCreationOptions, void>;
13341
13563
  'run-applications': ApiCall<{
13342
13564
  applications: Array<OpenFin_2.ManifestInfo>;
@@ -14722,6 +14944,16 @@ declare type SentMessage<Value> = Promise<Value> & {
14722
14944
  messageId: ReturnType<Environment['getNextMessageId']>;
14723
14945
  };
14724
14946
 
14947
+ declare type SerializedFilter = string | {
14948
+ type: 'regex';
14949
+ expression: string;
14950
+ flags?: string;
14951
+ };
14952
+
14953
+ declare type SerializedPerformanceOptions = Omit<GetPerformanceStatsOptions, 'include'> & {
14954
+ include?: SerializedFilter[];
14955
+ };
14956
+
14725
14957
  declare type ServeAssetOptions = AppAssetServeRequest | PathServeRequest;
14726
14958
 
14727
14959
  declare type ServedAssetInfo = {
@@ -17722,6 +17954,16 @@ declare type UrlChangedEvent = BaseUrlEvent & ({
17722
17954
  httpStatusText: string;
17723
17955
  });
17724
17956
 
17957
+ /**
17958
+ * Domain-settings policy that replaces a matched live URL with a configured start URI.
17959
+ */
17960
+ declare type UrlRestoreSettings = {
17961
+ /**
17962
+ * Absolute replacement URL. Full URL replace, not prefix rewrite.
17963
+ */
17964
+ url: string;
17965
+ };
17966
+
17725
17967
  /**
17726
17968
  * @interface
17727
17969
  */
@@ -18529,10 +18771,10 @@ declare type ViewTabAccessibilityOptions = {
18529
18771
  * Uses roving tabindex pattern - only one element focusable at a time.
18530
18772
  * @default ['active-tab', 'add-tab-button']
18531
18773
  */
18532
- tabNavigation?: ViewTabElements[];
18774
+ tabNavigation?: Exclude<ViewTabElements, 'active-tab-custom-control' | 'inactive-tab-custom-control'>[];
18533
18775
  /**
18534
18776
  * Controls which elements are navigable via Arrow keys.
18535
- * @default ['inactive-tab', 'active-tab', 'active-tab-close-button', 'inactive-tab-close-button', 'add-tab-button']
18777
+ * @default ['inactive-tab', 'active-tab', 'active-tab-close-button', 'inactive-tab-close-button', 'add-tab-button', 'active-tab-custom-control', 'inactive-tab-custom-control']
18536
18778
  */
18537
18779
  arrowNavigation?: ViewTabElements[];
18538
18780
  /**
@@ -18564,7 +18806,14 @@ declare type ViewTabAccessibilityOptions = {
18564
18806
  /**
18565
18807
  * Elements that can be navigated in view tabs.
18566
18808
  */
18567
- declare type ViewTabElements = 'active-tab' | 'inactive-tab' | 'active-tab-close-button' | 'inactive-tab-close-button' | 'add-tab-button';
18809
+ 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';
18810
+
18811
+ /**
18812
+ * Per-view tab icon. A URL, or the reserved sentinels `'hide'` / `'unset'`.
18813
+ *
18814
+ * `'hide'` and `'unset'` are not URLs. `''` is also unset (inherit) and is the default.
18815
+ */
18816
+ declare type ViewTabIcon = string | 'hide' | 'unset';
18568
18817
 
18569
18818
  /**
18570
18819
  * View throttling state.
@@ -18618,6 +18867,22 @@ declare type VoidCall = ApiCall<void, void>;
18618
18867
 
18619
18868
  declare type WebContent = View_2 | _Window;
18620
18869
 
18870
+ declare type WebContentPerformanceStatBase = {
18871
+ name: string;
18872
+ entries: CorePerformanceEntry[];
18873
+ navigation: {
18874
+ historyLength: number;
18875
+ timeOrigin: number;
18876
+ };
18877
+ url: string;
18878
+ frames: WebContentPerformanceStats[];
18879
+ };
18880
+
18881
+ declare type WebContentPerformanceStats = WebContentPerformanceStatBase | {
18882
+ error: string;
18883
+ url: string;
18884
+ };
18885
+
18621
18886
  declare class WebContents<T extends BaseEvent> extends EmitterBase<T> {
18622
18887
  identity: OpenFin_2.Identity;
18623
18888
  entityType: 'window' | 'view';
@@ -21225,6 +21490,13 @@ declare type WindowOptionsChangedEvent = OpenFin_2.WindowEvents.WindowOptionsCha
21225
21490
  */
21226
21491
  declare type WindowOptionsChangedEvent_2 = OptionsChangedEvent;
21227
21492
 
21493
+ declare type WindowPerformanceStats = (WebContentPerformanceStatBase & {
21494
+ views: WebContentPerformanceStats[];
21495
+ }) | {
21496
+ error: string;
21497
+ url: string;
21498
+ };
21499
+
21228
21500
  declare type WindowPrintOptions = PrintOptions | ScreenshotPrintOptions | WindowViewsPrintOptions;
21229
21501
 
21230
21502
  /**