@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.
@@ -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
@@ -5332,7 +5442,7 @@ declare type Event_10 = ApplicationEvents.Event | ApiReadyEvent | SnapshotApplie
5332
5442
  * under the {@link OpenFin.SystemEvents} namespace (payloads inherited from propagated events are defined in the namespace
5333
5443
  * from which they propagate).
5334
5444
  */
5335
- 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;
5445
+ 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;
5336
5446
 
5337
5447
  /**
5338
5448
  * [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.
@@ -5572,6 +5682,30 @@ declare type ExtensionInstallFailedEvent = ExtensionEvent & {
5572
5682
  type: 'extension-install-failed';
5573
5683
  };
5574
5684
 
5685
+ declare type ExtensionLifecycleEvent = BaseEvent_9 & {
5686
+ extensionId: string;
5687
+ name: string;
5688
+ version: string;
5689
+ };
5690
+
5691
+ /**
5692
+ * Fired when the Runtime finishes loading an extension's scripts into the renderer process.
5693
+ *
5694
+ * @interface
5695
+ */
5696
+ declare type ExtensionLoadedEvent = ExtensionLifecycleEvent & {
5697
+ type: 'extension-loaded';
5698
+ };
5699
+
5700
+ /**
5701
+ * Fired when an extension is fully functional (permissions granted, service worker running).
5702
+ *
5703
+ * @interface
5704
+ */
5705
+ declare type ExtensionReadyEvent = ExtensionLifecycleEvent & {
5706
+ type: 'extension-ready';
5707
+ };
5708
+
5575
5709
  /**
5576
5710
  * An event that fires when extensions are disabled in the security realm.
5577
5711
  *
@@ -6373,6 +6507,32 @@ declare type GetLogRequestType = {
6373
6507
  name: string;
6374
6508
  };
6375
6509
 
6510
+ /**
6511
+ * End of Interop Client Events
6512
+ */
6513
+ /**
6514
+ * Performance Entry Types
6515
+ */
6516
+ declare type GetPerformanceStatsOptions = {
6517
+ /**
6518
+ * Optional filter for custom performance marks and measures.
6519
+ * When omitted, all custom marks and measures are collected.
6520
+ * When specified, only entries whose names match one of the filters are collected.
6521
+ * Strings match by substring; RegExp matches by test.
6522
+ */
6523
+ include?: (string | RegExp)[];
6524
+ /**
6525
+ * Include `resource` timing entries from each View / Frame / Window.
6526
+ * Defaults to `true`. Pass `false` to omit them.
6527
+ */
6528
+ resources?: boolean;
6529
+ /**
6530
+ * Whether to include hereio internal runtime metrics.
6531
+ * Defaults to `false`. Pass `true` to include.
6532
+ */
6533
+ browser?: boolean;
6534
+ };
6535
+
6376
6536
  declare type GetterCall<T> = ApiCall<void, T>;
6377
6537
 
6378
6538
  /**
@@ -7048,17 +7208,19 @@ declare type InteropActionLoggingOption = {
7048
7208
  * "interopBrokerConfiguration": {
7049
7209
  * "contextGroups": [
7050
7210
  * {
7051
- * "id": "green",
7211
+ * "id": "fdc3.channel.4",
7052
7212
  * "displayMetadata": {
7053
- * "color": "#00CC88",
7054
- * "name": "green"
7213
+ * "color": "green",
7214
+ * "name": "Channel 4",
7215
+ * "glyph": "4"
7055
7216
  * }
7056
7217
  * },
7057
7218
  * {
7058
- * "id": "purple",
7219
+ * "id": "fdc3.channel.8",
7059
7220
  * "displayMetadata": {
7060
- * "color": "#8C61FF",
7061
- * "name": "purple"
7221
+ * "color": "purple",
7222
+ * "name": "Channel 8",
7223
+ * "glyph": "8"
7062
7224
  * }
7063
7225
  * },
7064
7226
  * ]
@@ -7192,7 +7354,7 @@ declare class InteropBroker extends Base {
7192
7354
  * @param joinContextGroupOptions - Id of the Context Group and identity of the entity to join to the group.
7193
7355
  * @param senderIdentity - Identity of the client sender.
7194
7356
  */
7195
- joinContextGroup({ contextGroupId, target }: {
7357
+ joinContextGroup({ contextGroupId: requestedContextGroupId, target }: {
7196
7358
  contextGroupId: string;
7197
7359
  target?: OpenFin_2.ClientIdentity | OpenFin_2.Identity;
7198
7360
  }, senderIdentity: OpenFin_2.ClientIdentity): Promise<void>;
@@ -7203,7 +7365,7 @@ declare class InteropBroker extends Base {
7203
7365
  * @param addClientToContextGroupOptions - Contains the contextGroupId
7204
7366
  * @param clientIdentity - Identity of the client sender.
7205
7367
  */
7206
- addClientToContextGroup({ contextGroupId }: {
7368
+ addClientToContextGroup({ contextGroupId: requestedContextGroupId }: {
7207
7369
  contextGroupId: string;
7208
7370
  }, clientIdentity: OpenFin_2.ClientIdentity): Promise<void>;
7209
7371
  /**
@@ -7616,6 +7778,8 @@ declare class InteropBroker extends Base {
7616
7778
  };
7617
7779
  private getClientState;
7618
7780
  private static toObject;
7781
+ private normalizeContextGroupStates;
7782
+ private normalizeContextGroupId;
7619
7783
  static checkContextIntegrity: (context: OpenFin_2.Context) => {
7620
7784
  isValid: true;
7621
7785
  } | {
@@ -7843,7 +8007,7 @@ declare class InteropClient extends Base {
7843
8007
  *
7844
8008
  * getLastFocusedView()
7845
8009
  * .then(lastFocusedViewIdentity => {
7846
- * joinViewToContextGroup('red', lastFocusedViewIdentity)
8010
+ * joinViewToContextGroup('fdc3.channel.1', lastFocusedViewIdentity)
7847
8011
  * })
7848
8012
  * ```
7849
8013
  */
@@ -7878,7 +8042,7 @@ declare class InteropClient extends Base {
7878
8042
  *
7879
8043
  * @example
7880
8044
  * ```js
7881
- * fin.me.interop.getAllClientsInContextGroup('red')
8045
+ * fin.me.interop.getAllClientsInContextGroup('fdc3.channel.1')
7882
8046
  * .then(clientsInContextGroup => {
7883
8047
  * console.log(clientsInContextGroup)
7884
8048
  * })
@@ -7893,7 +8057,7 @@ declare class InteropClient extends Base {
7893
8057
  *
7894
8058
  * @example
7895
8059
  * ```js
7896
- * fin.me.interop.getInfoForContextGroup('red')
8060
+ * fin.me.interop.getInfoForContextGroup('fdc3.channel.1')
7897
8061
  * .then(contextGroupInfo => {
7898
8062
  * console.log(contextGroupInfo.displayMetadata.name)
7899
8063
  * console.log(contextGroupInfo.displayMetadata.color)
@@ -7950,12 +8114,12 @@ declare class InteropClient extends Base {
7950
8114
  *
7951
8115
  * @example
7952
8116
  * ```js
7953
- * await fin.me.interop.joinContextGroup('yellow');
8117
+ * await fin.me.interop.joinContextGroup('fdc3.channel.3');
7954
8118
  * await fin.me.interop.setContext({ type: 'instrument', id: { ticker: 'FOO' }});
7955
8119
  * const currentContext = await fin.me.interop.getCurrentContext();
7956
8120
  *
7957
8121
  * // with a specific context
7958
- * await fin.me.interop.joinContextGroup('yellow');
8122
+ * await fin.me.interop.joinContextGroup('fdc3.channel.3');
7959
8123
  * await fin.me.interop.setContext({ type: 'country', id: { ISOALPHA3: 'US' }});
7960
8124
  * await fin.me.interop.setContext({ type: 'instrument', id: { ticker: 'FOO' }});
7961
8125
  * const currentContext = await fin.me.interop.getCurrentContext('country');
@@ -8117,7 +8281,7 @@ declare type InteropClientOnDisconnectionListener = (InteropBrokerDisconnectionE
8117
8281
  */
8118
8282
  declare type InteropConfig = {
8119
8283
  /**
8120
- * Context Group for the client. (green, yellow, red, etc.).
8284
+ * Context Group ID for the client (for example, `fdc3.channel.4`).
8121
8285
  */
8122
8286
  currentContextGroup?: string | null;
8123
8287
  /**
@@ -8166,7 +8330,7 @@ declare class InteropModule extends Base {
8166
8330
  * @example
8167
8331
  * ```js
8168
8332
  * const interopConfig = {
8169
- * currentContextGroup: 'green'
8333
+ * currentContextGroup: 'fdc3.channel.4'
8170
8334
  * }
8171
8335
  *
8172
8336
  * const interopBroker = await fin.Interop.init('openfin');
@@ -9196,8 +9360,26 @@ declare type LayoutOptions = {
9196
9360
  content?: LayoutContent;
9197
9361
  dimensions?: {
9198
9362
  borderWidth?: number;
9363
+ /**
9364
+ * Minimum height a layout item can be resized to, in pixels.
9365
+ * On web layouts this is mapped to Golden Layout 2 `defaultMinItemHeight`.
9366
+ */
9199
9367
  minItemHeight?: number;
9368
+ /**
9369
+ * Minimum width a layout item can be resized to, in pixels.
9370
+ * On web layouts this is mapped to Golden Layout 2 `defaultMinItemWidth`.
9371
+ */
9200
9372
  minItemWidth?: number;
9373
+ /**
9374
+ * Minimum height a layout item can be resized to (CSS size, e.g. `'500px'`).
9375
+ * Web layouts only. Takes precedence over {@link LayoutOptions.dimensions.minItemHeight} when both are set.
9376
+ */
9377
+ defaultMinItemHeight?: string;
9378
+ /**
9379
+ * Minimum width a layout item can be resized to (CSS size, e.g. `'500px'`).
9380
+ * Web layouts only. Takes precedence over {@link LayoutOptions.dimensions.minItemWidth} when both are set.
9381
+ */
9382
+ defaultMinItemWidth?: string;
9201
9383
  headerHeight?: number;
9202
9384
  };
9203
9385
  };
@@ -9270,6 +9452,20 @@ declare type LayoutSyncApi = {
9270
9452
  updateAccessibilityOptions(options: Partial<LayoutAccessibilityOptions>): void;
9271
9453
  };
9272
9454
 
9455
+ declare type LegacyColorChannelId = keyof typeof legacyColorChannelIds;
9456
+
9457
+ declare const legacyColorChannelIds: {
9458
+ readonly red: "fdc3.channel.1";
9459
+ readonly orange: "fdc3.channel.2";
9460
+ readonly yellow: "fdc3.channel.3";
9461
+ readonly green: "fdc3.channel.4";
9462
+ readonly teal: "fdc3.channel.5";
9463
+ readonly blue: "fdc3.channel.6";
9464
+ readonly pink: "fdc3.channel.7";
9465
+ readonly indigo: "fdc3.channel.8";
9466
+ readonly purple: "fdc3.channel.8";
9467
+ };
9468
+
9273
9469
  /**
9274
9470
  * @interface
9275
9471
  */
@@ -9860,6 +10056,19 @@ declare type MutableViewOptions = {
9860
10056
  preventDragOut: boolean;
9861
10057
  interop?: InteropConfig;
9862
10058
  /* Excluded from this release type: _internalWorkspaceData */
10059
+ /* Excluded from this release type: workspacePlatform */
10060
+ /**
10061
+ * Per-view tab icon. Exception to `showFavicons` / `defaultFaviconUrl`.
10062
+ *
10063
+ * Distinct from Window `icon` (taskbar).
10064
+ *
10065
+ * - Omitted / `''` / `'unset'`: inherit — if `showFavicons`, page favicon then `defaultFaviconUrl`, else hide
10066
+ * - URL string: always show that URL, even when `showFavicons` is false. Load failure uses `defaultFaviconUrl`
10067
+ * - `'hide'`: always hide, even when `showFavicons` is true
10068
+ *
10069
+ * On `updateOptions`, omitted keys are a no-op; set `'unset'` to return to inherit.
10070
+ */
10071
+ icon?: ViewTabIcon;
9863
10072
  /**
9864
10073
  * {@inheritDoc ViewThrottling}
9865
10074
  *
@@ -10348,6 +10557,14 @@ declare type NonTabInjectionRule = {
10348
10557
  matchOptions?: RuleMatchOptions;
10349
10558
  };
10350
10559
 
10560
+ /**
10561
+ * Converts a legacy color-named channel ID to its canonical FDC3 user-channel ID.
10562
+ * The removed legacy gray channel resolves to no channel.
10563
+ */
10564
+ export declare function normalizeColorChannelId<T extends string>(colorChannelId: T): NormalizedColorChannelId<T>;
10565
+
10566
+ declare type NormalizedColorChannelId<T extends string> = string extends T ? string | undefined : T extends 'gray' ? undefined : T extends LegacyColorChannelId ? (typeof legacyColorChannelIds)[T] : T;
10567
+
10351
10568
  /* Excluded from this release type: NotCloseRequested */
10352
10569
 
10353
10570
  declare type NotificationEvent = {
@@ -10603,6 +10820,7 @@ declare namespace OpenFin_2 {
10603
10820
  ViewInfo,
10604
10821
  WindowThrottling,
10605
10822
  ViewThrottling,
10823
+ ViewTabIcon,
10606
10824
  UpdatableViewOptions,
10607
10825
  ViewCreationOptions,
10608
10826
  MutableViewOptions,
@@ -10775,6 +10993,7 @@ declare namespace OpenFin_2 {
10775
10993
  ScreenCaptureBehavior,
10776
10994
  DomainSettingsPreloadScripts,
10777
10995
  PerDomainSettings,
10996
+ UrlRestoreSettings,
10778
10997
  CopyPermissions,
10779
10998
  PastePermissions,
10780
10999
  ClipboardPermissions,
@@ -10842,6 +11061,7 @@ declare namespace OpenFin_2 {
10842
11061
  LayoutManagerOverride,
10843
11062
  LayoutManager,
10844
11063
  HeaderControlsContext,
11064
+ CustomTabControlsContext,
10845
11065
  CreateLayoutOptions,
10846
11066
  MultiInstanceViewBehavior,
10847
11067
  LayoutAccessibilityOptions,
@@ -10915,6 +11135,12 @@ declare namespace OpenFin_2 {
10915
11135
  InteropClientEvent,
10916
11136
  ClientChangedContextGroup,
10917
11137
  InteropClientEvents,
11138
+ GetPerformanceStatsOptions,
11139
+ SerializedPerformanceOptions,
11140
+ CorePerformanceEntry,
11141
+ WebContentPerformanceStats,
11142
+ WindowPerformanceStats,
11143
+ PerformanceStatsResult,
10918
11144
  ChromeBrowser,
10919
11145
  LanguageInfo,
10920
11146
  PageTranslateOptions,
@@ -11201,6 +11427,12 @@ declare type PerDomainSettings = {
11201
11427
  * See also {@link AppLogLevel} for more information.
11202
11428
  */
11203
11429
  appLogLevel?: AppLogLevel;
11430
+ /**
11431
+ * When the live URL matches this rule, remap inbound
11432
+ * {@link View.ViewModule.navigate View.navigate} / {@link Window.WindowModule.navigate Window.navigate}
11433
+ * to {@link UrlRestoreSettings.url}.
11434
+ */
11435
+ urlRestore?: UrlRestoreSettings;
11204
11436
  };
11205
11437
 
11206
11438
  /**
@@ -11211,6 +11443,15 @@ declare type PerformanceReportEvent = Performance & BaseEvent_5 & {
11211
11443
  type: 'performance-report';
11212
11444
  };
11213
11445
 
11446
+ declare type PerformanceStatsResult = {
11447
+ mainWindow: WindowPerformanceStats;
11448
+ childWindows: WindowPerformanceStats[];
11449
+ browser?: {
11450
+ timeOrigin: number;
11451
+ entries: CorePerformanceEntry[];
11452
+ };
11453
+ };
11454
+
11214
11455
  /**
11215
11456
  * @interface
11216
11457
  *
@@ -13337,6 +13578,11 @@ declare type ProtocolMap = ExternalAdapterOnlyCallsMap & AnalyticsProtocolMap &
13337
13578
  response: OpenFin_2.MenuResult;
13338
13579
  };
13339
13580
  'close-tray-icon-popup-menu': IdentityCall<{}, void>;
13581
+ 'get-application-performance-stats': ApplicationIdentityCall<OpenFin_2.SerializedPerformanceOptions, OpenFin_2.PerformanceStatsResult> & {
13582
+ secure: true;
13583
+ namespace: 'Application';
13584
+ apiPath: '.getPerformanceStats';
13585
+ };
13340
13586
  'create-application': ApiCall<OpenFin_2.ApplicationCreationOptions, void>;
13341
13587
  'run-applications': ApiCall<{
13342
13588
  applications: Array<OpenFin_2.ManifestInfo>;
@@ -14722,6 +14968,16 @@ declare type SentMessage<Value> = Promise<Value> & {
14722
14968
  messageId: ReturnType<Environment['getNextMessageId']>;
14723
14969
  };
14724
14970
 
14971
+ declare type SerializedFilter = string | {
14972
+ type: 'regex';
14973
+ expression: string;
14974
+ flags?: string;
14975
+ };
14976
+
14977
+ declare type SerializedPerformanceOptions = Omit<GetPerformanceStatsOptions, 'include'> & {
14978
+ include?: SerializedFilter[];
14979
+ };
14980
+
14725
14981
  declare type ServeAssetOptions = AppAssetServeRequest | PathServeRequest;
14726
14982
 
14727
14983
  declare type ServedAssetInfo = {
@@ -17011,6 +17267,8 @@ declare namespace SystemEvents {
17011
17267
  ExtensionsInstallFailedEvent,
17012
17268
  ExtensionInstallFailedEvent,
17013
17269
  ExtensionsInitializationFailedEvent,
17270
+ ExtensionLoadedEvent,
17271
+ ExtensionReadyEvent,
17014
17272
  ThemePaletteChangedEvent,
17015
17273
  NativeThemeUpdatedEvent,
17016
17274
  Event_11 as Event,
@@ -17722,6 +17980,16 @@ declare type UrlChangedEvent = BaseUrlEvent & ({
17722
17980
  httpStatusText: string;
17723
17981
  });
17724
17982
 
17983
+ /**
17984
+ * Domain-settings policy that replaces a matched live URL with a configured start URI.
17985
+ */
17986
+ declare type UrlRestoreSettings = {
17987
+ /**
17988
+ * Absolute replacement URL. Full URL replace, not prefix rewrite.
17989
+ */
17990
+ url: string;
17991
+ };
17992
+
17725
17993
  /**
17726
17994
  * @interface
17727
17995
  */
@@ -18529,10 +18797,10 @@ declare type ViewTabAccessibilityOptions = {
18529
18797
  * Uses roving tabindex pattern - only one element focusable at a time.
18530
18798
  * @default ['active-tab', 'add-tab-button']
18531
18799
  */
18532
- tabNavigation?: ViewTabElements[];
18800
+ tabNavigation?: Exclude<ViewTabElements, 'active-tab-custom-control' | 'inactive-tab-custom-control'>[];
18533
18801
  /**
18534
18802
  * 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']
18803
+ * @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
18804
  */
18537
18805
  arrowNavigation?: ViewTabElements[];
18538
18806
  /**
@@ -18564,7 +18832,14 @@ declare type ViewTabAccessibilityOptions = {
18564
18832
  /**
18565
18833
  * Elements that can be navigated in view tabs.
18566
18834
  */
18567
- declare type ViewTabElements = 'active-tab' | 'inactive-tab' | 'active-tab-close-button' | 'inactive-tab-close-button' | 'add-tab-button';
18835
+ 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';
18836
+
18837
+ /**
18838
+ * Per-view tab icon. A URL, or the reserved sentinels `'hide'` / `'unset'`.
18839
+ *
18840
+ * `'hide'` and `'unset'` are not URLs. `''` is also unset (inherit) and is the default.
18841
+ */
18842
+ declare type ViewTabIcon = string | 'hide' | 'unset';
18568
18843
 
18569
18844
  /**
18570
18845
  * View throttling state.
@@ -18618,6 +18893,22 @@ declare type VoidCall = ApiCall<void, void>;
18618
18893
 
18619
18894
  declare type WebContent = View_2 | _Window;
18620
18895
 
18896
+ declare type WebContentPerformanceStatBase = {
18897
+ name: string;
18898
+ entries: CorePerformanceEntry[];
18899
+ navigation: {
18900
+ historyLength: number;
18901
+ timeOrigin: number;
18902
+ };
18903
+ url: string;
18904
+ frames: WebContentPerformanceStats[];
18905
+ };
18906
+
18907
+ declare type WebContentPerformanceStats = WebContentPerformanceStatBase | {
18908
+ error: string;
18909
+ url: string;
18910
+ };
18911
+
18621
18912
  declare class WebContents<T extends BaseEvent> extends EmitterBase<T> {
18622
18913
  identity: OpenFin_2.Identity;
18623
18914
  entityType: 'window' | 'view';
@@ -21225,6 +21516,13 @@ declare type WindowOptionsChangedEvent = OpenFin_2.WindowEvents.WindowOptionsCha
21225
21516
  */
21226
21517
  declare type WindowOptionsChangedEvent_2 = OptionsChangedEvent;
21227
21518
 
21519
+ declare type WindowPerformanceStats = (WebContentPerformanceStatBase & {
21520
+ views: WebContentPerformanceStats[];
21521
+ }) | {
21522
+ error: string;
21523
+ url: string;
21524
+ };
21525
+
21228
21526
  declare type WindowPrintOptions = PrintOptions | ScreenshotPrintOptions | WindowViewsPrintOptions;
21229
21527
 
21230
21528
  /**