@openfin/fdc3-api 44.100.48 → 44.100.50

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.
@@ -91,6 +91,34 @@ declare type AnalyticsProtocolMap = {
91
91
  [k in AnalyticsOnlyCalls]: VoidCall;
92
92
  };
93
93
 
94
+ /**
95
+ * Represents an anchor configuration consisting of a bounding rectangle
96
+ * and an anchor point describing which part of that rectangle should be
97
+ * used as the reference for positioning the download bubble.
98
+ * @interface
99
+ */
100
+ declare type Anchor = {
101
+ /**
102
+ * The DOM or screen-space rectangle that defines the anchor area.
103
+ */
104
+ bounds: Rectangle;
105
+ /**
106
+ * The location within the rectangle that should act as the anchor
107
+ * (e.g., `topRight`, `bottomLeft`, `center`, etc.).
108
+ * For example, `topRight` means the rectangle's top-right corner is used
109
+ * as the anchoring reference point.
110
+ */
111
+ location: AnchorLocation;
112
+ };
113
+
114
+ /**
115
+ * Defines the point within the rectangle that should be used as the anchor
116
+ * when positioning UI elements relative to another surface.
117
+ *
118
+ * @interface
119
+ */
120
+ declare type AnchorLocation = 'topLeft' | 'topRight' | 'bottomLeft' | 'bottomRight' | 'leftTop' | 'rightTop' | 'leftBottom' | 'rightBottom' | 'topCenter' | 'bottomCenter' | 'leftCenter' | 'rightCenter' | 'none' | 'float';
121
+
94
122
  declare type AnchorType = 'top-left' | 'top-right' | 'bottom-left' | 'bottom-right';
95
123
 
96
124
  declare type AnyStrategy = ChannelStrategy<any>;
@@ -3864,6 +3892,10 @@ declare type ConstWindowOptions = {
3864
3892
  * Controls whether frameless window should have rounded corners. Default is false for Windows and true for MacOS. Setting this property to false will prevent the window from being fullscreenable on macOS. On Windows versions older than Windows 11 Build 22000 this property has no effect, and frameless windows will not have rounded corners.
3865
3893
  */
3866
3894
  roundedCorners: boolean;
3895
+ /**
3896
+ * Configuration for download bubble UI.
3897
+ */
3898
+ downloadBubble?: DownloadBubbleOptions;
3867
3899
  };
3868
3900
 
3869
3901
  /**
@@ -4616,6 +4648,50 @@ declare type DomainSettingsRule = {
4616
4648
  matchOptions?: RuleMatchOptions;
4617
4649
  };
4618
4650
 
4651
+ /**
4652
+ * Configuration options for enabling and positioning the download bubble UI.
4653
+ * @interface
4654
+ */
4655
+ declare type DownloadBubbleOptions = {
4656
+ /**
4657
+ * Whether the download bubble feature is enabled.
4658
+ */
4659
+ enabled: boolean;
4660
+ /**
4661
+ * Anchor configuration describing where the download bubble should attach.
4662
+ */
4663
+ anchor: Anchor;
4664
+ };
4665
+
4666
+ /**
4667
+ * Generated when the download button icon needs to be updated. Only raised if the download bubble feature is enabled.
4668
+ *
4669
+ * @interface
4670
+ */
4671
+ declare type DownloadButtonIconUpdatedEvent = BaseEvent_5 & {
4672
+ type: 'download-button-icon-updated';
4673
+ disabled: boolean;
4674
+ active: boolean;
4675
+ touchMode: boolean;
4676
+ progressIndicatorState: 'idle' | 'scanning' | 'downloading' | 'dormant';
4677
+ progressDownloadCount: number;
4678
+ progressPercentage: number;
4679
+ buttonTooltip: string;
4680
+ };
4681
+
4682
+ /**
4683
+ * Generated when the visibility of the window's download button changes. Only raised if the download bubble feature is enabled.
4684
+ *
4685
+ * @interface
4686
+ */
4687
+ declare type DownloadButtonVisibilityChangedEvent = BaseEvent_5 & {
4688
+ type: 'download-button-visibility-changed';
4689
+ /**
4690
+ * True if the download button should be displayed, false if it should be hidden.
4691
+ */
4692
+ visible: boolean;
4693
+ };
4694
+
4619
4695
  /**
4620
4696
  * Metadata returned from a preload script download request.
4621
4697
  *
@@ -4675,6 +4751,7 @@ declare type DownloadRule = {
4675
4751
  *
4676
4752
  * @remarks This will control the styling for the download shelf regardless of whether its display was
4677
4753
  * triggered by the window itself, or a view targeting the window.
4754
+ * @deprecated Use the DownloadBubble API instead.
4678
4755
  */
4679
4756
  declare type DownloadShelfOptions = {
4680
4757
  /**
@@ -4710,6 +4787,7 @@ declare type DownloadShelfOptions = {
4710
4787
  * Generated when the visibility of the window's download shelf changes.
4711
4788
  *
4712
4789
  * @interface
4790
+ * @deprecated use DownloadBubble API instead
4713
4791
  */
4714
4792
  declare type DownloadShelfVisibilityChangedEvent = BaseEvent_5 & {
4715
4793
  type: 'download-shelf-visibility-changed';
@@ -4976,7 +5054,7 @@ declare type Event_10 = ApplicationEvents.Event | ApiReadyEvent | SnapshotApplie
4976
5054
  * under the {@link OpenFin.SystemEvents} namespace (payloads inherited from propagated events are defined in the namespace
4977
5055
  * from which they propagate).
4978
5056
  */
4979
- 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;
5057
+ 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;
4980
5058
 
4981
5059
  /**
4982
5060
  * [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.
@@ -8932,6 +9010,42 @@ declare type LayoutOptions = {
8932
9010
  */
8933
9011
  preventDragIn?: boolean;
8934
9012
  /* Excluded from this release type: disableTabOverflowDropdown */
9013
+ /**
9014
+ * When set to 'scroll', enables horizontal scrolling of tabs when they overflow the stack width.
9015
+ * When set to 'dropdown', the default behavior occurs, in which excess tabs appear in a menu.
9016
+ *
9017
+ * Setting this to `scroll` might break styles written for the default dropdown behavior, as it significantly changes the DOM structure and CSS of tabs.
9018
+ *
9019
+ * The DOM structure is modified in this way:
9020
+ * - `lm_tabs` is wrapped in a div with class `lm_scroll_shadow`. This div is revealed by a mask on the tabs when they are overflowing.
9021
+ * - the `.newTabButton` (if enabled) is a direct child of `.lm_header`
9022
+ *
9023
+ * **The following CSS variables are available to customize tab appearance:**
9024
+ *
9025
+ * - `--layout-tab-width`: The default (max) width of the tabs. Using this enables using `lm_tab` as a queryable CSS container (must be an absolute value to use container queries). Default: `fit-content`
9026
+ * - `--layout-tab-min-width`: The minimum width of the tabs before they start overflowing. Set this to enable tab shrinking. Defaults to the same value as `--layout-tab-width` (no shrinking).
9027
+ * - `--layout-tab-overflow-fade-size`: The width of the scroll shadows when tabs are overflowing. Default: `20px`
9028
+ * - `--layout-tab-overflow-shadow-color`: The color of the scroll shadows when tabs are overflowing. Enabling a contrasting shadow color may require setting the background color on `.lm_tabs` if it was not previously set via `--tabs-background-color`. Default is transparent so overlowing tabs fade into the background.
9029
+ *
9030
+ * **CSS Variables for advanced customization (dynamically updated and set on `lm_tabs`):**
9031
+ *
9032
+ * - `--layout-tab-overflow-fade-left`: The strength of the left fade when tabs are overflowing. This is a number between 0 and 1 where 0 means no fade and 1 means a full fade.
9033
+ * - `--layout-tab-overflow-fade-right`: The strength of the right fade when tabs are overflowing. This is a number between 0 and 1 where 0 means no fade and 1 means a full fade.
9034
+ * - `--layout-tabs-overflowing`: A [CSS space toggle](https://css-tricks.com/the-css-custom-property-toggle-trick/) that is empty when tabs are overflowing and `initial` otherwise. If you are targeting only Chrome 137 or greater, you might want to use the `if()` function with left/right fade instead of this toggle.
9035
+ *
9036
+ * @example
9037
+ * ```css
9038
+ * .lm_tabs {
9039
+ * --layout-tab-width: 200px;
9040
+ * --layout-tab-min-width: 100px;
9041
+ * --layout-tab-overflow-fade-size: 20px;
9042
+ * --layout-tab-overflow-shadow-color: rgba(0, 0, 0, 0.3);
9043
+ * }
9044
+ * ```
9045
+ *
9046
+ * @defaultValue 'dropdown'
9047
+ */
9048
+ tabOverflowBehavior?: 'dropdown' | 'scroll';
8935
9049
  };
8936
9050
  /**
8937
9051
  * Content of the layout. There can only be one top-level LayoutItem in the content array.
@@ -9184,6 +9298,7 @@ declare type Manifest = {
9184
9298
  policies?: {
9185
9299
  CloudAPAuthEnabled?: 'enabled' | 'disabled';
9186
9300
  };
9301
+ themePalette?: Array<ThemePalette>;
9187
9302
  };
9188
9303
  services?: string[];
9189
9304
  shortcut?: {
@@ -9557,6 +9672,11 @@ declare type MutableViewOptions = {
9557
9672
  * {@inheritDoc ChromiumPolicies}
9558
9673
  */
9559
9674
  chromiumPolicies: ChromiumPolicies;
9675
+ /**
9676
+ * When set to `false`, disables sending application logs to RVM for this view.
9677
+ * When omitted, inherits from the parent application.
9678
+ */
9679
+ enableAppLogging?: boolean;
9560
9680
  };
9561
9681
 
9562
9682
  /**
@@ -9831,6 +9951,12 @@ declare type MutableWindowOptions = {
9831
9951
  * {@inheritDoc ChromiumPolicies}
9832
9952
  */
9833
9953
  chromiumPolicies: ChromiumPolicies;
9954
+ /**
9955
+ * When set to `false`, disables sending application logs to RVM for this window.
9956
+ * When omitted, inherits from the parent application.
9957
+ *
9958
+ */
9959
+ enableAppLogging?: boolean;
9834
9960
  };
9835
9961
 
9836
9962
  declare type NackHandler = (payloadOrMessage: RuntimeErrorPayload | string) => void;
@@ -9843,6 +9969,78 @@ declare type NamedEvent = IdentityEvent & {
9843
9969
  name: string;
9844
9970
  };
9845
9971
 
9972
+ /**
9973
+ * @interface
9974
+ *
9975
+ * Represents the native theme of the operating system.
9976
+ * This is used to determine how the application should render its UI based on the system's theme settings.
9977
+ * Defer to CSS properties whenever possible.
9978
+ *
9979
+ * Re-exported from Electron's `NativeTheme` type.
9980
+ */
9981
+ declare type NativeTheme = {
9982
+ /**
9983
+ * A `boolean` indicating whether Chromium is in forced colors mode, controlled by
9984
+ * system accessibility settings. Currently, Windows high contrast is the only
9985
+ * system setting that triggers forced colors mode.
9986
+ *
9987
+ * @platform win32
9988
+ */
9989
+ inForcedColorsMode: boolean;
9990
+ /**
9991
+ * A `boolean` that indicates the whether the user has chosen via system
9992
+ * accessibility settings to reduce transparency at the OS level.
9993
+ *
9994
+ */
9995
+ prefersReducedTransparency: boolean;
9996
+ /**
9997
+ * A `boolean` for if the OS / Chromium currently has a dark mode enabled or is
9998
+ * being instructed to show a dark-style UI. If you want to modify this value you
9999
+ * should use `themeSource` below.
10000
+ *
10001
+ */
10002
+ shouldUseDarkColors: boolean;
10003
+ /**
10004
+ * A `boolean` property indicating whether or not the system theme has been set to
10005
+ * dark or light.
10006
+ *
10007
+ * On Windows this property distinguishes between system and app light/dark theme,
10008
+ * returning `true` if the system theme is set to dark theme and `false` otherwise.
10009
+ * On macOS the return value will be the same as `nativeTheme.shouldUseDarkColors`.
10010
+ *
10011
+ * @platform darwin,win32
10012
+ */
10013
+ shouldUseDarkColorsForSystemIntegratedUI: boolean;
10014
+ /**
10015
+ * A `boolean` for if the OS / Chromium currently has high-contrast mode enabled or
10016
+ * is being instructed to show a high-contrast UI.
10017
+ *
10018
+ * @platform darwin,win32
10019
+ */
10020
+ shouldUseHighContrastColors: boolean;
10021
+ /**
10022
+ * A `boolean` for if the OS / Chromium currently has an inverted color scheme or
10023
+ * is being instructed to use an inverted color scheme.
10024
+ *
10025
+ * @platform darwin,win32
10026
+ */
10027
+ shouldUseInvertedColorScheme: boolean;
10028
+ /**
10029
+ * A `string` property that can be `system`, `light` or `dark`. It is used (via `setTheme) to
10030
+ * override and supersede the value that Chromium has chosen to use internally.
10031
+ */
10032
+ themeSource: 'system' | 'light' | 'dark';
10033
+ };
10034
+
10035
+ /**
10036
+ * Generated when the operating system's theme preferences change.
10037
+ * Occurs when dark mode, high contrast mode, or inverted color scheme settings are modified.
10038
+ */
10039
+ declare type NativeThemeUpdatedEvent = BaseEvent_9 & {
10040
+ type: 'native-theme-updated';
10041
+ theme: OpenFin.NativeTheme;
10042
+ };
10043
+
9846
10044
  /**
9847
10045
  * @interface
9848
10046
  */
@@ -10128,6 +10326,9 @@ declare namespace OpenFin {
10128
10326
  CustomProtocolOptions,
10129
10327
  InteropBrokerOptions,
10130
10328
  ContextGroupInfo,
10329
+ AnchorLocation,
10330
+ Anchor,
10331
+ DownloadBubbleOptions,
10131
10332
  DisplayMetadata,
10132
10333
  LegacyWinOptionsInAppOptions,
10133
10334
  Snapshot,
@@ -10231,9 +10432,14 @@ declare namespace OpenFin {
10231
10432
  LogUploaderUIOptions,
10232
10433
  LogTypes,
10233
10434
  LogUploadOptions,
10435
+ ThemeColorsMap,
10436
+ ThemeColorId,
10437
+ ThemePalette,
10234
10438
  Manifest,
10235
10439
  LayoutContent,
10236
10440
  LayoutItemConfig,
10441
+ ThemePreferences,
10442
+ NativeTheme,
10237
10443
  LayoutRow,
10238
10444
  LayoutColumn,
10239
10445
  LayoutComponent,
@@ -10728,6 +10934,11 @@ declare type PerDomainSettings = {
10728
10934
  */
10729
10935
  drag?: 'allow' | 'block';
10730
10936
  };
10937
+ /**
10938
+ * When set to `false`, disables sending application logs to RVM for this window.
10939
+ * When omitted, inherits from the parent application.
10940
+ */
10941
+ enableAppLogging?: boolean;
10731
10942
  };
10732
10943
 
10733
10944
  /**
@@ -13063,6 +13274,12 @@ declare type ProtocolMap = ExternalAdapterOnlyCallsMap & AnalyticsProtocolMap &
13063
13274
  'create-window': VoidCall;
13064
13275
  'get-current-window': VoidCall;
13065
13276
  'get-current-window-sync': VoidCall;
13277
+ 'show-download-bubble': IdentityCall<{
13278
+ options: OpenFin.Anchor;
13279
+ }, void>;
13280
+ 'update-download-bubble-anchor': IdentityCall<{
13281
+ options: OpenFin.Anchor;
13282
+ }, void>;
13066
13283
  'get-external-application-info': ApiCall<OpenFin.ApplicationIdentity, OpenFin.ExternalApplicationInfo>;
13067
13284
  'external-application-wrap': VoidCall;
13068
13285
  'external-application-wrap-sync': VoidCall;
@@ -13159,6 +13376,10 @@ declare type ProtocolMap = ExternalAdapterOnlyCallsMap & AnalyticsProtocolMap &
13159
13376
  request: any;
13160
13377
  response: any;
13161
13378
  };
13379
+ 'set-theme-preferences': ApiCall<{
13380
+ preferences: OpenFin.ThemePreferences;
13381
+ }, OpenFin.NativeTheme>;
13382
+ 'get-theme-preferences': GetterCall<OpenFin.NativeTheme>;
13162
13383
  'get-version': GetterCall<string>;
13163
13384
  'clear-cache': ApiCall<OpenFin.ClearCacheOption, void>;
13164
13385
  'delete-cache-request': VoidCall;
@@ -13246,6 +13467,9 @@ declare type ProtocolMap = ExternalAdapterOnlyCallsMap & AnalyticsProtocolMap &
13246
13467
  'write-to-log': ApiCall<{
13247
13468
  level: string;
13248
13469
  message: string;
13470
+ target?: {
13471
+ type?: 'app.log' | 'debug.log';
13472
+ };
13249
13473
  }, void>;
13250
13474
  'open-url-with-browser': ApiCall<{
13251
13475
  url: string;
@@ -13409,6 +13633,15 @@ declare type ProtocolMap = ExternalAdapterOnlyCallsMap & AnalyticsProtocolMap &
13409
13633
  request: void;
13410
13634
  response: OpenFin.ExtensionInfo[];
13411
13635
  };
13636
+ 'set-theme-palette': ApiCall<{
13637
+ themePalette: Array<OpenFin.ThemePalette>;
13638
+ }, void> & {
13639
+ themePalette: Array<OpenFin.ThemePalette>;
13640
+ };
13641
+ 'get-theme-palette': ApiCall<void, Array<OpenFin.ThemePalette>> & {
13642
+ request: void;
13643
+ response: Array<OpenFin.ThemePalette>;
13644
+ };
13412
13645
  'fdc3-add-context-listener': VoidCall;
13413
13646
  'fdc3-add-intent-listener': VoidCall;
13414
13647
  'fdc3-raise-intent': VoidCall;
@@ -15460,13 +15693,16 @@ declare class System extends EmitterBase<OpenFin.SystemEvent> {
15460
15693
  * Writes the passed message into both the log file and the console.
15461
15694
  * @param level The log level for the entry. Can be either "info", "warning" or "error"
15462
15695
  * @param message The log message text
15696
+ * @param target.type Optional. The the log stream this message will be sent to, defaults to 'debug.log'. Specify 'app.log' to log to the app log of the sending View / Window. Note, when using `app.log`, it will always log to app.log irrespective of the `enableAppLogging` setting for the sender. This is particularly useful if you wish to log certain things from a View / Window but ignore generic console logs.
15463
15697
  *
15464
15698
  * @example
15465
15699
  * ```js
15466
- * fin.System.log("info", "An example log message").then(() => console.log('Log info message')).catch(err => console.log(err));
15700
+ * fin.System.log("info", "An example log message", { type: 'debug.log' }).then(() => console.log('Log info message')).catch(err => console.log(err));
15467
15701
  * ```
15468
15702
  */
15469
- log(level: string, message: string): Promise<void>;
15703
+ log(level: string, message: string, { type }?: {
15704
+ type?: 'app.log' | 'debug.log';
15705
+ }): Promise<void>;
15470
15706
  /**
15471
15707
  * Opens the passed URL in the default web browser.
15472
15708
  *
@@ -16205,11 +16441,99 @@ declare class System extends EmitterBase<OpenFin.SystemEvent> {
16205
16441
  * Not indended for general use, will be used by the `@openfin/workspace-platform` package.
16206
16442
  */
16207
16443
  serveAsset(options: OpenFin.ServeAssetOptions): Promise<OpenFin.ServedAssetInfo>;
16444
+ /**
16445
+ * Get's the native theme preferences for the current runtime.
16446
+ * Prefer css media-queries wherever possible, but this can be useful to see if the system setting has been overridden.
16447
+ * See @link OpenFin.NativeTheme for more information.
16448
+ * @example Theme selector menu
16449
+ * ```ts
16450
+ async function handleThemeMenu(e: React.MouseEvent<HTMLDivElement>) {
16451
+ const currentTheme = await fin.System.getThemePreferences();
16452
+ const result = await (fin.me as OpenFin.Window).showPopupMenu({
16453
+ x: e.clientX,
16454
+ y: e.clientY,
16455
+ template: [
16456
+ {
16457
+ label: 'Light',
16458
+ type: 'checkbox',
16459
+ checked: currentTheme.themeSource === 'light',
16460
+ data: { themeSource: 'light' } as const
16461
+ },
16462
+ {
16463
+ label: 'Dark',
16464
+ type: 'checkbox',
16465
+ checked: currentTheme.themeSource === 'dark',
16466
+ data: { themeSource: 'dark' } as const
16467
+ },
16468
+ {
16469
+ label: 'System',
16470
+ type: 'checkbox',
16471
+ checked: currentTheme.themeSource === 'system',
16472
+ data: { themeSource: 'system' } as const
16473
+ }
16474
+ ]
16475
+ });
16476
+ if (result.result === 'clicked') {
16477
+ await fin.System.setThemePreferences(result.data);
16478
+ }
16479
+ }
16480
+ ```
16481
+ */
16482
+ getThemePreferences(): Promise<OpenFin.NativeTheme>;
16483
+ /**
16484
+ * Sets the native theme preferences for the current runtime.
16485
+ * Can be used to force runtime-wide light or dark mode.
16486
+ * @important Due to this impacting all applications on a runtime, this method is only usable if a security realm has been set.
16487
+ * @example Theme selector menu
16488
+ * ```ts
16489
+ async function handleThemeMenu(e: React.MouseEvent<HTMLDivElement>) {
16490
+ const currentTheme = await fin.System.getThemePreferences();
16491
+ const result = await (fin.me as OpenFin.Window).showPopupMenu({
16492
+ x: e.clientX,
16493
+ y: e.clientY,
16494
+ template: [
16495
+ {
16496
+ label: 'Light',
16497
+ type: 'checkbox',
16498
+ checked: currentTheme.themeSource === 'light',
16499
+ data: { themeSource: 'light' } as const
16500
+ },
16501
+ {
16502
+ label: 'Dark',
16503
+ type: 'checkbox',
16504
+ checked: currentTheme.themeSource === 'dark',
16505
+ data: { themeSource: 'dark' } as const
16506
+ },
16507
+ {
16508
+ label: 'System',
16509
+ type: 'checkbox',
16510
+ checked: currentTheme.themeSource === 'system',
16511
+ data: { themeSource: 'system' } as const
16512
+ }
16513
+ ]
16514
+ });
16515
+ if (result.result === 'clicked') {
16516
+ await fin.System.setThemePreferences(result.data);
16517
+ }
16518
+ }
16519
+ ```
16520
+ */
16521
+ setThemePreferences(preferences: OpenFin.ThemePreferences): Promise<OpenFin.ThemePreferences>;
16208
16522
  /**
16209
16523
  * Launches the Log Uploader. Full documentation can be found [here](https://resources.here.io/docs/core/develop/debug/log-uploader/).
16210
16524
  * @experimental
16211
16525
  */
16212
16526
  launchLogUploader(options: OpenFin.LogUploaderOptions): Promise<void>;
16527
+ /**
16528
+ * Overrides original Chromium theme color providers matching key (currently except high contrast ones). Only colors passed in the map will be overridden.
16529
+ * @param overrides - Array of ColorProviderOverrides objects
16530
+ */
16531
+ setThemePalette(themePalette: Array<OpenFin.ThemePalette>): Promise<void>;
16532
+ /**
16533
+ * Retrieves currently used color overrides
16534
+ * @returns Array of ColorProviderOverrides objects
16535
+ */
16536
+ getThemePalette(): Promise<Array<OpenFin.ThemePalette>>;
16213
16537
  }
16214
16538
 
16215
16539
  /**
@@ -16248,6 +16572,8 @@ declare namespace SystemEvents {
16248
16572
  ExtensionsInstallFailedEvent,
16249
16573
  ExtensionInstallFailedEvent,
16250
16574
  ExtensionsInitializationFailedEvent,
16575
+ ThemePaletteChangedEvent,
16576
+ NativeThemeUpdatedEvent,
16251
16577
  Event_11 as Event,
16252
16578
  SystemEvent,
16253
16579
  EventType_8 as EventType,
@@ -16371,6 +16697,7 @@ declare class TabStack extends LayoutNode {
16371
16697
  * and rendered at the front of the tab-stack, while the underlying order of tabs will remain unchanged.
16372
16698
  * If that happens and then getViews() is called, it will return the identities in a different order than
16373
16699
  * than the currently rendered tab order.
16700
+ * Note: This issue does not occur when using `tabOverflowBehavior: 'scroll'` in the layout configuration.
16374
16701
  *
16375
16702
  *
16376
16703
  * @throws If the {@link TabStack} has been destroyed.
@@ -16395,6 +16722,7 @@ declare class TabStack extends LayoutNode {
16395
16722
  *
16396
16723
  * @remarks Known Issue: If adding a view overflows the tab-container, the added view will be set as active
16397
16724
  * and rendered at the front of the tab-stack, while the underlying order of tabs will remain unchanged.
16725
+ * Note: This issue does not occur when using `tabOverflowBehavior: 'scroll'` in the layout configuration.
16398
16726
  *
16399
16727
  * @param view The identity of an existing view to add, or options to create a view.
16400
16728
  * @param options Optional view options: index number used to insert the view into the stack at that index. Defaults to 0 (front of the stack)
@@ -16516,6 +16844,109 @@ declare type TerminateExternalRequestType = {
16516
16844
  killTree: boolean;
16517
16845
  };
16518
16846
 
16847
+ /**
16848
+ * String literal type of all supported theme color IDs.
16849
+ * Useful wherever you need to refer to a color slot by name.
16850
+ * @interface
16851
+ */
16852
+ declare type ThemeColorId = keyof ThemeColorsMap;
16853
+
16854
+ /**
16855
+ * All supported color slots for the Download Bubble and related UI.
16856
+ * @interface
16857
+ */
16858
+ declare interface ThemeColorsMap {
16859
+ /**
16860
+ * Enterprise/Window/Background – bubble header and footer background.
16861
+ */
16862
+ kColorBubbleBackground?: number;
16863
+ /**
16864
+ * Windows only – Enterprise/Window/Border.
16865
+ */
16866
+ kColorBubbleBorder?: number;
16867
+ /**
16868
+ * Windows only – Enterprise/Window/Border (large shadow).
16869
+ */
16870
+ kColorBubbleBorderShadowLarge?: number;
16871
+ /**
16872
+ * Windows only – Enterprise/Window/Border (small shadow).
16873
+ */
16874
+ kColorBubbleBorderShadowSmall?: number;
16875
+ /**
16876
+ * Enterprise/Window/Background – downloaded item row background.
16877
+ */
16878
+ kColorDialogBackground?: number;
16879
+ /**
16880
+ * Enterprise/Search Result/Background/Hover – download item row hover.
16881
+ */
16882
+ kColorDownloadBubbleRowHover?: number;
16883
+ /**
16884
+ * Enterprise/Window/Icon – “Show all downloads” icon color.
16885
+ */
16886
+ kColorDownloadBubbleShowAllDownloadsIcon?: number;
16887
+ /**
16888
+ * Enterprise/Search Result/Background/Hover – full download history
16889
+ * button (full row) hover background.
16890
+ */
16891
+ kColorHoverButtonBackgroundHovered?: number;
16892
+ /**
16893
+ * Shared/Icon Button/Subtle/Icon/Default – SVG icon color
16894
+ * (except full download history button).
16895
+ */
16896
+ kColorIcon?: number;
16897
+ /**
16898
+ * Enterprise/Window/Text/Base – main label text color.
16899
+ * May be post-processed to increase readability on kColorDialogBackground
16900
+ * (can be disabled via transparent kColorLabelBackground).
16901
+ */
16902
+ kColorLabelForeground?: number;
16903
+ /**
16904
+ * Label background used for readability adjustment.
16905
+ * Set to transparent (0) to disable Chromium’s readability alignment logic.
16906
+ */
16907
+ kColorLabelBackground?: number;
16908
+ /**
16909
+ * Enterprise/Window/Text/Soft – secondary text color.
16910
+ * May be post-processed to increase readability on kColorDialogBackground
16911
+ * (can be disabled via transparent kColorLabelBackground).
16912
+ */
16913
+ kColorSecondaryForeground?: number;
16914
+ }
16915
+
16916
+ /**
16917
+ * Defines a set of color overrides for Chromium UI surfaces based on a theme
16918
+ * provider (e.g., light or dark mode).
16919
+ * @interface
16920
+ */
16921
+ declare type ThemePalette = {
16922
+ /**
16923
+ * Identifies the color provider mode that the palette applies to.
16924
+ */
16925
+ colorProviderKey: {
16926
+ /**
16927
+ * The UI color mode that this palette is intended to style.
16928
+ */
16929
+ colorMode: 'light' | 'dark';
16930
+ };
16931
+ /**
16932
+ * A mapping of known Chromium color IDs to ARGB values (0xAARRGGBB).
16933
+ */
16934
+ colorsMap: ThemeColorsMap;
16935
+ };
16936
+
16937
+ /**
16938
+ * An event that fires when the system theme palette is changed.
16939
+ */
16940
+ declare type ThemePaletteChangedEvent = BaseEvent_9 & {
16941
+ type: 'theme-palette-changed';
16942
+ themePalette: OpenFin.ThemePalette;
16943
+ };
16944
+
16945
+ /**
16946
+ * Settable options for the native theme of the operating system.
16947
+ */
16948
+ declare type ThemePreferences = Pick<NativeTheme, 'themeSource'>;
16949
+
16519
16950
  /**
16520
16951
  * @interface
16521
16952
  */
@@ -19809,6 +20240,32 @@ declare class _Window extends WebContents<OpenFin.WindowEvent> {
19809
20240
  * To print the views embedded in their page context, set `content` to `screenshot`.
19810
20241
  */
19811
20242
  print(options?: OpenFin.WindowPrintOptions): Promise<void>;
20243
+ /**
20244
+ * Displays the download bubble UI. If an anchor is provided, the bubble
20245
+ * will be positioned according to the specified rectangle and anchor point.
20246
+ *
20247
+ * @param {OpenFin.Anchor} options
20248
+ * Anchor configuration used to position the download bubble. This includes
20249
+ * the bounding rectangle and the anchor location within that rectangle.
20250
+ *
20251
+ * @returns {Promise<void>}
20252
+ * A promise that resolves once the request to show the download bubble
20253
+ * has been processed.
20254
+ */
20255
+ showDownloadBubble(options: OpenFin.Anchor): Promise<void>;
20256
+ /**
20257
+ * Updates the anchor used for positioning the download bubble. This allows
20258
+ * moving the bubble reactively—for example, in response to window resizes,
20259
+ * layout changes, or DOM element repositioning.
20260
+ *
20261
+ * @param {OpenFin.Anchor} options
20262
+ * New anchor configuration describing the updated position and anchor
20263
+ * location for the download bubble.
20264
+ *
20265
+ * @returns {Promise<void>}
20266
+ * A promise that resolves once the anchor update has been applied.
20267
+ */
20268
+ updateDownloadBubbleAnchor(options: OpenFin.Anchor): Promise<void>;
19812
20269
  }
19813
20270
 
19814
20271
  /**
@@ -20004,6 +20461,8 @@ declare namespace WindowEvents {
20004
20461
  NonPropagatedWindowEvent,
20005
20462
  ShowAllDownloadsEvent,
20006
20463
  DownloadShelfVisibilityChangedEvent,
20464
+ DownloadButtonVisibilityChangedEvent,
20465
+ DownloadButtonIconUpdatedEvent,
20007
20466
  WindowSourcedEvent,
20008
20467
  WillPropagateWindowEvent,
20009
20468
  Event_6 as Event,
@@ -20207,7 +20666,7 @@ declare type WindowShowRequestedEvent = ShowRequestedEvent;
20207
20666
  * A union of all events that emit natively on the `Window` topic, i.e. excluding those that propagate
20208
20667
  * from {@link OpenFin.ViewEvents}.
20209
20668
  */
20210
- declare type WindowSourcedEvent = WebContentsEvents.Event<'window'> | WindowViewEvent | AuthRequestedEvent | BeginUserBoundsChangingEvent | BoundsChangedEvent | BoundsChangingEvent | ContextChangedEvent | CloseRequestedEvent | ClosedEvent_2 | ClosingEvent | DisabledMovementBoundsChangedEvent | DisabledMovementBoundsChangingEvent | EmbeddedEvent | EndUserBoundsChangingEvent | ExternalProcessExitedEvent | ExternalProcessStartedEvent | HiddenEvent_2 | HotkeyEvent_2 | InitializedEvent_2 | LayoutInitializedEvent | LayoutReadyEvent | LayoutCreatedEvent | LayoutDestroyedEvent | LayoutSnapshotAppliedEvent | MaximizedEvent | MinimizedEvent | OptionsChangedEvent | PerformanceReportEvent | PreloadScriptsStateChangedEvent | PreloadScriptsStateChangingEvent | ReloadedEvent | RestoredEvent | ShowRequestedEvent | ShownEvent_2 | UserMovementDisabledEvent | UserMovementEnabledEvent | WillMoveEvent | WillResizeEvent | ShowAllDownloadsEvent | DownloadShelfVisibilityChangedEvent | SnappedEvent | SnapZoneChangedEvent;
20669
+ declare type WindowSourcedEvent = WebContentsEvents.Event<'window'> | WindowViewEvent | AuthRequestedEvent | BeginUserBoundsChangingEvent | BoundsChangedEvent | BoundsChangingEvent | ContextChangedEvent | CloseRequestedEvent | ClosedEvent_2 | ClosingEvent | DisabledMovementBoundsChangedEvent | DisabledMovementBoundsChangingEvent | EmbeddedEvent | EndUserBoundsChangingEvent | ExternalProcessExitedEvent | ExternalProcessStartedEvent | HiddenEvent_2 | HotkeyEvent_2 | InitializedEvent_2 | LayoutInitializedEvent | LayoutReadyEvent | LayoutCreatedEvent | LayoutDestroyedEvent | LayoutSnapshotAppliedEvent | MaximizedEvent | MinimizedEvent | OptionsChangedEvent | PerformanceReportEvent | PreloadScriptsStateChangedEvent | PreloadScriptsStateChangingEvent | ReloadedEvent | RestoredEvent | ShowRequestedEvent | ShownEvent_2 | UserMovementDisabledEvent | UserMovementEnabledEvent | WillMoveEvent | WillResizeEvent | ShowAllDownloadsEvent | DownloadShelfVisibilityChangedEvent | DownloadButtonVisibilityChangedEvent | DownloadButtonIconUpdatedEvent | SnappedEvent | SnapZoneChangedEvent;
20211
20670
 
20212
20671
  /**
20213
20672
  * Generated when a child window starts loading.