@openfin/fdc3-api 43.100.105 → 43.100.109

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.
@@ -1417,6 +1417,56 @@ declare type ApplicationWindowInfo = {
1417
1417
  uuid: string;
1418
1418
  };
1419
1419
 
1420
+ /**
1421
+ * `appLogLevel` allows the verbosity of app logs that are collected for a Window or View to be controlled when the app logging feature is enabled for its application.
1422
+ *
1423
+ * Please note, `enableAppLogging` must be specified in the application manifest's `platform` or `startup_app` key for this feature to be activated.
1424
+ *
1425
+ * If not specified, and `enableAppLogging` is true for the application, the default level will be 'silent'.
1426
+ *
1427
+ * This setting can also be specified in a Domain Setting Rule, allowing per url exceptions to the default behavior to be made. Please note, when a domain setting is actively
1428
+ * controlling a url's appLogLevel, its options will be ignored.
1429
+ *
1430
+ * @default 'debug'
1431
+ *
1432
+ * @example Controlling App Logs With DefaultViewOptions + Domain Settings
1433
+ *
1434
+ * In this example manifest, we use `defaultViewOptions to set the default verbosity to 'warn'.
1435
+ *
1436
+ * We also use domain settings to suppress logs entirely for an example URL, and to lower verbosity to 'debug' for another.
1437
+ *
1438
+ * ```ts
1439
+ * {
1440
+ * <rest of settings>
1441
+ * "platform": {
1442
+ * <rest of settings>
1443
+ * "enableAppLogging": "true",
1444
+ * "defaultViewOptions": {
1445
+ * "appLogLevel": "warn"
1446
+ * },
1447
+ * "domainSettings": {
1448
+ * "default": { <rest of settings> }
1449
+ * "rules": [
1450
+ * <rest of rules>
1451
+ * {
1452
+ * "match": ["*://*?app-logging-level=silent"],
1453
+ * "options": {
1454
+ * "appLogLevel": "silent"
1455
+ * }
1456
+ * },
1457
+ * {
1458
+ * "match": ["*://*?app-logging-level=debug"],
1459
+ * "options": {
1460
+ * "appLogLevel": "debug"
1461
+ * }
1462
+ * },
1463
+ * ]
1464
+ * }
1465
+ * }
1466
+ * }
1467
+ */
1468
+ declare type AppLogLevel = 'silent' | 'debug' | 'info' | 'warn' | 'error';
1469
+
1420
1470
  /**
1421
1471
  * @interface
1422
1472
  */
@@ -6574,7 +6624,28 @@ declare type Hotkey = {
6574
6624
  */
6575
6625
  keys: string;
6576
6626
  /**
6577
- * Prevent default key handling before emitting the event.
6627
+ * Controls the event phase at which the hotkey is triggered.
6628
+ *
6629
+ * - `'capture'`: The hotkey fires **before** the event is sent to the renderer/page.
6630
+ * This is the only phase where the `preventDefault` property is effective.
6631
+ *
6632
+ * - `'bubble'`: The hotkey fires **after** the page has processed the key event.
6633
+ * This behaves exactly like a standard JavaScript event listener attached to the window:
6634
+ * 1. If the page calls `event.preventDefault()` (on either **keydown** or **keyup**), this hotkey will **not** fire.
6635
+ * 2. If the hotkey is browser-reserved (e.g. `Ctrl+Tab` to switch tabs for which keyup/keydown do not fire in a web browser), that action takes precedence and this hotkey will **not** fire.
6636
+ *
6637
+ * @default 'capture'
6638
+ */
6639
+ phase?: 'capture' | 'bubble';
6640
+ /**
6641
+ * Determines if the event should continue to the renderer.
6642
+ *
6643
+ * - `true`: The event is consumed immediately. It will **never** reach the renderer/page.
6644
+ * - `false`: The event is sent to the renderer after this hotkey executes.
6645
+ *
6646
+ * @remarks
6647
+ * This property is **only valid** when `phase` is set to `'capture'`.
6648
+ * If `phase` is `'bubble'`, this property is ignored (as the renderer has already received and processed the event).
6578
6649
  *
6579
6650
  * @default false
6580
6651
  */
@@ -9153,6 +9224,12 @@ declare type LogInfo = {
9153
9224
  */
9154
9225
  declare type LogLevel = 'verbose' | 'info' | 'warning' | 'error' | 'fatal';
9155
9226
 
9227
+ declare type LogPath = 'debug.log' | 'app.log';
9228
+
9229
+ declare type LogTarget = {
9230
+ type: LogPath;
9231
+ };
9232
+
9156
9233
  /**
9157
9234
  * Log types
9158
9235
  *
@@ -9673,10 +9750,9 @@ declare type MutableViewOptions = {
9673
9750
  */
9674
9751
  chromiumPolicies: ChromiumPolicies;
9675
9752
  /**
9676
- * When set to `false`, disables sending application logs to RVM for this view.
9677
- * When omitted, inherits from the parent application.
9753
+ * Specifies the AppLogLevel for the specified View. See {@link AppLogLevel} for more information.
9678
9754
  */
9679
- enableAppLogging?: boolean;
9755
+ appLogLevel?: AppLogLevel;
9680
9756
  };
9681
9757
 
9682
9758
  /**
@@ -9952,11 +10028,9 @@ declare type MutableWindowOptions = {
9952
10028
  */
9953
10029
  chromiumPolicies: ChromiumPolicies;
9954
10030
  /**
9955
- * When set to `false`, disables sending application logs to RVM for this window.
9956
- * When omitted, inherits from the parent application.
9957
- *
10031
+ * Specifies the AppLogLevel for the Window. See {@link AppLogLevel} for more information.
9958
10032
  */
9959
- enableAppLogging?: boolean;
10033
+ appLogLevel?: AppLogLevel;
9960
10034
  };
9961
10035
 
9962
10036
  declare type NackHandler = (payloadOrMessage: RuntimeErrorPayload | string) => void;
@@ -10355,6 +10429,9 @@ declare namespace OpenFin {
10355
10429
  InheritableOptions,
10356
10430
  PolicyOptions,
10357
10431
  ChromiumPolicies,
10432
+ AppLogLevel,
10433
+ LogPath,
10434
+ LogTarget,
10358
10435
  MutableWindowOptions,
10359
10436
  WorkspacePlatformOptions,
10360
10437
  WebRequestHeader,
@@ -10935,10 +11012,10 @@ declare type PerDomainSettings = {
10935
11012
  drag?: 'allow' | 'block';
10936
11013
  };
10937
11014
  /**
10938
- * When set to `false`, disables sending application logs to RVM for this window.
10939
- * When omitted, inherits from the parent application.
11015
+ * Allows the app log level of any matching content to be overriden.
11016
+ * See also {@link AppLogLevel} for more information.
10940
11017
  */
10941
- enableAppLogging?: boolean;
11018
+ appLogLevel?: AppLogLevel;
10942
11019
  };
10943
11020
 
10944
11021
  /**
@@ -13275,10 +13352,10 @@ declare type ProtocolMap = ExternalAdapterOnlyCallsMap & AnalyticsProtocolMap &
13275
13352
  'get-current-window': VoidCall;
13276
13353
  'get-current-window-sync': VoidCall;
13277
13354
  'show-download-bubble': IdentityCall<{
13278
- options: OpenFin.Anchor;
13355
+ anchor?: OpenFin.Anchor;
13279
13356
  }, void>;
13280
13357
  'update-download-bubble-anchor': IdentityCall<{
13281
- options: OpenFin.Anchor;
13358
+ anchor: OpenFin.Anchor;
13282
13359
  }, void>;
13283
13360
  'get-external-application-info': ApiCall<OpenFin.ApplicationIdentity, OpenFin.ExternalApplicationInfo>;
13284
13361
  'external-application-wrap': VoidCall;
@@ -15693,16 +15770,14 @@ declare class System extends EmitterBase<OpenFin.SystemEvent> {
15693
15770
  * Writes the passed message into both the log file and the console.
15694
15771
  * @param level The log level for the entry. Can be either "info", "warning" or "error"
15695
15772
  * @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.
15773
+ * @param target 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.
15697
15774
  *
15698
15775
  * @example
15699
15776
  * ```js
15700
15777
  * fin.System.log("info", "An example log message", { type: 'debug.log' }).then(() => console.log('Log info message')).catch(err => console.log(err));
15701
15778
  * ```
15702
15779
  */
15703
- log(level: string, message: string, { type }?: {
15704
- type?: 'app.log' | 'debug.log';
15705
- }): Promise<void>;
15780
+ log(level: string, message: string, target?: OpenFin.LogTarget): Promise<void>;
15706
15781
  /**
15707
15782
  * Opens the passed URL in the default web browser.
15708
15783
  *
@@ -16527,11 +16602,35 @@ declare class System extends EmitterBase<OpenFin.SystemEvent> {
16527
16602
  /**
16528
16603
  * Overrides original Chromium theme color providers matching key (currently except high contrast ones). Only colors passed in the map will be overridden.
16529
16604
  * @param overrides - Array of ColorProviderOverrides objects
16605
+ * @example
16606
+ * ```ts
16607
+ * await fin.System.setThemePalette([
16608
+ * {
16609
+ * colorProviderKey: { colorMode: 'light' },
16610
+ * colorsMap: {
16611
+ * kColorLabelForeground: 4278190080,
16612
+ * kColorBubbleBackground: 4293980400
16613
+ * }
16614
+ * },
16615
+ * {
16616
+ * colorProviderKey: { colorMode: 'dark' },
16617
+ * colorsMap: {
16618
+ * kColorLabelForeground: 4293980400,
16619
+ * kColorBubbleBackground: 4293980400
16620
+ * }
16621
+ * }
16622
+ * ]);
16623
+ * ```
16530
16624
  */
16531
16625
  setThemePalette(themePalette: Array<OpenFin.ThemePalette>): Promise<void>;
16532
16626
  /**
16533
16627
  * Retrieves currently used color overrides
16534
16628
  * @returns Array of ColorProviderOverrides objects
16629
+ * @example
16630
+ * ```ts
16631
+ * const themePalette = await fin.System.getThemePalette();
16632
+ * console.log(themePalette);
16633
+ * ```
16535
16634
  */
16536
16635
  getThemePalette(): Promise<Array<OpenFin.ThemePalette>>;
16537
16636
  }
@@ -20251,8 +20350,19 @@ declare class _Window extends WebContents<OpenFin.WindowEvent> {
20251
20350
  * @returns {Promise<void>}
20252
20351
  * A promise that resolves once the request to show the download bubble
20253
20352
  * has been processed.
20353
+ * @example
20354
+ * ```js
20355
+ * const w = fin.Window.getCurrentSync();
20356
+ * const el = document.getElementById("download-bubble-button");
20357
+ * const rect = el.getBoundingClientRect();
20358
+ * const anchor = {
20359
+ * bounds: rect,
20360
+ * location: "topRight"
20361
+ * };
20362
+ * w.showDownloadBubble(anchor);
20363
+ * ```
20254
20364
  */
20255
- showDownloadBubble(options: OpenFin.Anchor): Promise<void>;
20365
+ showDownloadBubble(anchor?: OpenFin.Anchor): Promise<void>;
20256
20366
  /**
20257
20367
  * Updates the anchor used for positioning the download bubble. This allows
20258
20368
  * moving the bubble reactively—for example, in response to window resizes,
@@ -20264,8 +20374,27 @@ declare class _Window extends WebContents<OpenFin.WindowEvent> {
20264
20374
  *
20265
20375
  * @returns {Promise<void>}
20266
20376
  * A promise that resolves once the anchor update has been applied.
20377
+ * @example
20378
+ * ```js
20379
+ * var w = fin.Window.getCurrentSync();
20380
+ * w.on('download-button-visibility-changed', (evt) => {
20381
+ * if (evt.visible) {
20382
+ * const el = document.getElementById("download-bubble-button");
20383
+ * //We show our button and get it's bounding rect
20384
+ * el.classList.remove("hidden");
20385
+ * const rect = el.getBoundingClientRect();
20386
+ * const anchor = {
20387
+ * bounds: rect,
20388
+ * location: "topRight"
20389
+ * }
20390
+ * w.updateDownloadBubbleAnchor(anchor);
20391
+ * } else {
20392
+ * //We hide our button
20393
+ * document.getElementById("download-bubble-button")?.classList.add("hidden");
20394
+ * }
20395
+ });
20267
20396
  */
20268
- updateDownloadBubbleAnchor(options: OpenFin.Anchor): Promise<void>;
20397
+ updateDownloadBubbleAnchor(anchor: OpenFin.Anchor): Promise<void>;
20269
20398
  }
20270
20399
 
20271
20400
  /**
@@ -1417,6 +1417,56 @@ declare type ApplicationWindowInfo = {
1417
1417
  uuid: string;
1418
1418
  };
1419
1419
 
1420
+ /**
1421
+ * `appLogLevel` allows the verbosity of app logs that are collected for a Window or View to be controlled when the app logging feature is enabled for its application.
1422
+ *
1423
+ * Please note, `enableAppLogging` must be specified in the application manifest's `platform` or `startup_app` key for this feature to be activated.
1424
+ *
1425
+ * If not specified, and `enableAppLogging` is true for the application, the default level will be 'silent'.
1426
+ *
1427
+ * This setting can also be specified in a Domain Setting Rule, allowing per url exceptions to the default behavior to be made. Please note, when a domain setting is actively
1428
+ * controlling a url's appLogLevel, its options will be ignored.
1429
+ *
1430
+ * @default 'debug'
1431
+ *
1432
+ * @example Controlling App Logs With DefaultViewOptions + Domain Settings
1433
+ *
1434
+ * In this example manifest, we use `defaultViewOptions to set the default verbosity to 'warn'.
1435
+ *
1436
+ * We also use domain settings to suppress logs entirely for an example URL, and to lower verbosity to 'debug' for another.
1437
+ *
1438
+ * ```ts
1439
+ * {
1440
+ * <rest of settings>
1441
+ * "platform": {
1442
+ * <rest of settings>
1443
+ * "enableAppLogging": "true",
1444
+ * "defaultViewOptions": {
1445
+ * "appLogLevel": "warn"
1446
+ * },
1447
+ * "domainSettings": {
1448
+ * "default": { <rest of settings> }
1449
+ * "rules": [
1450
+ * <rest of rules>
1451
+ * {
1452
+ * "match": ["*://*?app-logging-level=silent"],
1453
+ * "options": {
1454
+ * "appLogLevel": "silent"
1455
+ * }
1456
+ * },
1457
+ * {
1458
+ * "match": ["*://*?app-logging-level=debug"],
1459
+ * "options": {
1460
+ * "appLogLevel": "debug"
1461
+ * }
1462
+ * },
1463
+ * ]
1464
+ * }
1465
+ * }
1466
+ * }
1467
+ */
1468
+ declare type AppLogLevel = 'silent' | 'debug' | 'info' | 'warn' | 'error';
1469
+
1420
1470
  /**
1421
1471
  * @interface
1422
1472
  */
@@ -6574,7 +6624,28 @@ declare type Hotkey = {
6574
6624
  */
6575
6625
  keys: string;
6576
6626
  /**
6577
- * Prevent default key handling before emitting the event.
6627
+ * Controls the event phase at which the hotkey is triggered.
6628
+ *
6629
+ * - `'capture'`: The hotkey fires **before** the event is sent to the renderer/page.
6630
+ * This is the only phase where the `preventDefault` property is effective.
6631
+ *
6632
+ * - `'bubble'`: The hotkey fires **after** the page has processed the key event.
6633
+ * This behaves exactly like a standard JavaScript event listener attached to the window:
6634
+ * 1. If the page calls `event.preventDefault()` (on either **keydown** or **keyup**), this hotkey will **not** fire.
6635
+ * 2. If the hotkey is browser-reserved (e.g. `Ctrl+Tab` to switch tabs for which keyup/keydown do not fire in a web browser), that action takes precedence and this hotkey will **not** fire.
6636
+ *
6637
+ * @default 'capture'
6638
+ */
6639
+ phase?: 'capture' | 'bubble';
6640
+ /**
6641
+ * Determines if the event should continue to the renderer.
6642
+ *
6643
+ * - `true`: The event is consumed immediately. It will **never** reach the renderer/page.
6644
+ * - `false`: The event is sent to the renderer after this hotkey executes.
6645
+ *
6646
+ * @remarks
6647
+ * This property is **only valid** when `phase` is set to `'capture'`.
6648
+ * If `phase` is `'bubble'`, this property is ignored (as the renderer has already received and processed the event).
6578
6649
  *
6579
6650
  * @default false
6580
6651
  */
@@ -9153,6 +9224,12 @@ declare type LogInfo = {
9153
9224
  */
9154
9225
  declare type LogLevel = 'verbose' | 'info' | 'warning' | 'error' | 'fatal';
9155
9226
 
9227
+ declare type LogPath = 'debug.log' | 'app.log';
9228
+
9229
+ declare type LogTarget = {
9230
+ type: LogPath;
9231
+ };
9232
+
9156
9233
  /**
9157
9234
  * Log types
9158
9235
  *
@@ -9673,10 +9750,9 @@ declare type MutableViewOptions = {
9673
9750
  */
9674
9751
  chromiumPolicies: ChromiumPolicies;
9675
9752
  /**
9676
- * When set to `false`, disables sending application logs to RVM for this view.
9677
- * When omitted, inherits from the parent application.
9753
+ * Specifies the AppLogLevel for the specified View. See {@link AppLogLevel} for more information.
9678
9754
  */
9679
- enableAppLogging?: boolean;
9755
+ appLogLevel?: AppLogLevel;
9680
9756
  };
9681
9757
 
9682
9758
  /**
@@ -9952,11 +10028,9 @@ declare type MutableWindowOptions = {
9952
10028
  */
9953
10029
  chromiumPolicies: ChromiumPolicies;
9954
10030
  /**
9955
- * When set to `false`, disables sending application logs to RVM for this window.
9956
- * When omitted, inherits from the parent application.
9957
- *
10031
+ * Specifies the AppLogLevel for the Window. See {@link AppLogLevel} for more information.
9958
10032
  */
9959
- enableAppLogging?: boolean;
10033
+ appLogLevel?: AppLogLevel;
9960
10034
  };
9961
10035
 
9962
10036
  declare type NackHandler = (payloadOrMessage: RuntimeErrorPayload | string) => void;
@@ -10355,6 +10429,9 @@ declare namespace OpenFin {
10355
10429
  InheritableOptions,
10356
10430
  PolicyOptions,
10357
10431
  ChromiumPolicies,
10432
+ AppLogLevel,
10433
+ LogPath,
10434
+ LogTarget,
10358
10435
  MutableWindowOptions,
10359
10436
  WorkspacePlatformOptions,
10360
10437
  WebRequestHeader,
@@ -10935,10 +11012,10 @@ declare type PerDomainSettings = {
10935
11012
  drag?: 'allow' | 'block';
10936
11013
  };
10937
11014
  /**
10938
- * When set to `false`, disables sending application logs to RVM for this window.
10939
- * When omitted, inherits from the parent application.
11015
+ * Allows the app log level of any matching content to be overriden.
11016
+ * See also {@link AppLogLevel} for more information.
10940
11017
  */
10941
- enableAppLogging?: boolean;
11018
+ appLogLevel?: AppLogLevel;
10942
11019
  };
10943
11020
 
10944
11021
  /**
@@ -13275,10 +13352,10 @@ declare type ProtocolMap = ExternalAdapterOnlyCallsMap & AnalyticsProtocolMap &
13275
13352
  'get-current-window': VoidCall;
13276
13353
  'get-current-window-sync': VoidCall;
13277
13354
  'show-download-bubble': IdentityCall<{
13278
- options: OpenFin.Anchor;
13355
+ anchor?: OpenFin.Anchor;
13279
13356
  }, void>;
13280
13357
  'update-download-bubble-anchor': IdentityCall<{
13281
- options: OpenFin.Anchor;
13358
+ anchor: OpenFin.Anchor;
13282
13359
  }, void>;
13283
13360
  'get-external-application-info': ApiCall<OpenFin.ApplicationIdentity, OpenFin.ExternalApplicationInfo>;
13284
13361
  'external-application-wrap': VoidCall;
@@ -15693,16 +15770,14 @@ declare class System extends EmitterBase<OpenFin.SystemEvent> {
15693
15770
  * Writes the passed message into both the log file and the console.
15694
15771
  * @param level The log level for the entry. Can be either "info", "warning" or "error"
15695
15772
  * @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.
15773
+ * @param target 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.
15697
15774
  *
15698
15775
  * @example
15699
15776
  * ```js
15700
15777
  * fin.System.log("info", "An example log message", { type: 'debug.log' }).then(() => console.log('Log info message')).catch(err => console.log(err));
15701
15778
  * ```
15702
15779
  */
15703
- log(level: string, message: string, { type }?: {
15704
- type?: 'app.log' | 'debug.log';
15705
- }): Promise<void>;
15780
+ log(level: string, message: string, target?: OpenFin.LogTarget): Promise<void>;
15706
15781
  /**
15707
15782
  * Opens the passed URL in the default web browser.
15708
15783
  *
@@ -16527,11 +16602,35 @@ declare class System extends EmitterBase<OpenFin.SystemEvent> {
16527
16602
  /**
16528
16603
  * Overrides original Chromium theme color providers matching key (currently except high contrast ones). Only colors passed in the map will be overridden.
16529
16604
  * @param overrides - Array of ColorProviderOverrides objects
16605
+ * @example
16606
+ * ```ts
16607
+ * await fin.System.setThemePalette([
16608
+ * {
16609
+ * colorProviderKey: { colorMode: 'light' },
16610
+ * colorsMap: {
16611
+ * kColorLabelForeground: 4278190080,
16612
+ * kColorBubbleBackground: 4293980400
16613
+ * }
16614
+ * },
16615
+ * {
16616
+ * colorProviderKey: { colorMode: 'dark' },
16617
+ * colorsMap: {
16618
+ * kColorLabelForeground: 4293980400,
16619
+ * kColorBubbleBackground: 4293980400
16620
+ * }
16621
+ * }
16622
+ * ]);
16623
+ * ```
16530
16624
  */
16531
16625
  setThemePalette(themePalette: Array<OpenFin.ThemePalette>): Promise<void>;
16532
16626
  /**
16533
16627
  * Retrieves currently used color overrides
16534
16628
  * @returns Array of ColorProviderOverrides objects
16629
+ * @example
16630
+ * ```ts
16631
+ * const themePalette = await fin.System.getThemePalette();
16632
+ * console.log(themePalette);
16633
+ * ```
16535
16634
  */
16536
16635
  getThemePalette(): Promise<Array<OpenFin.ThemePalette>>;
16537
16636
  }
@@ -20251,8 +20350,19 @@ declare class _Window extends WebContents<OpenFin.WindowEvent> {
20251
20350
  * @returns {Promise<void>}
20252
20351
  * A promise that resolves once the request to show the download bubble
20253
20352
  * has been processed.
20353
+ * @example
20354
+ * ```js
20355
+ * const w = fin.Window.getCurrentSync();
20356
+ * const el = document.getElementById("download-bubble-button");
20357
+ * const rect = el.getBoundingClientRect();
20358
+ * const anchor = {
20359
+ * bounds: rect,
20360
+ * location: "topRight"
20361
+ * };
20362
+ * w.showDownloadBubble(anchor);
20363
+ * ```
20254
20364
  */
20255
- showDownloadBubble(options: OpenFin.Anchor): Promise<void>;
20365
+ showDownloadBubble(anchor?: OpenFin.Anchor): Promise<void>;
20256
20366
  /**
20257
20367
  * Updates the anchor used for positioning the download bubble. This allows
20258
20368
  * moving the bubble reactively—for example, in response to window resizes,
@@ -20264,8 +20374,27 @@ declare class _Window extends WebContents<OpenFin.WindowEvent> {
20264
20374
  *
20265
20375
  * @returns {Promise<void>}
20266
20376
  * A promise that resolves once the anchor update has been applied.
20377
+ * @example
20378
+ * ```js
20379
+ * var w = fin.Window.getCurrentSync();
20380
+ * w.on('download-button-visibility-changed', (evt) => {
20381
+ * if (evt.visible) {
20382
+ * const el = document.getElementById("download-bubble-button");
20383
+ * //We show our button and get it's bounding rect
20384
+ * el.classList.remove("hidden");
20385
+ * const rect = el.getBoundingClientRect();
20386
+ * const anchor = {
20387
+ * bounds: rect,
20388
+ * location: "topRight"
20389
+ * }
20390
+ * w.updateDownloadBubbleAnchor(anchor);
20391
+ * } else {
20392
+ * //We hide our button
20393
+ * document.getElementById("download-bubble-button")?.classList.add("hidden");
20394
+ * }
20395
+ });
20267
20396
  */
20268
- updateDownloadBubbleAnchor(options: OpenFin.Anchor): Promise<void>;
20397
+ updateDownloadBubbleAnchor(anchor: OpenFin.Anchor): Promise<void>;
20269
20398
  }
20270
20399
 
20271
20400
  /**
@@ -1417,6 +1417,56 @@ declare type ApplicationWindowInfo = {
1417
1417
  uuid: string;
1418
1418
  };
1419
1419
 
1420
+ /**
1421
+ * `appLogLevel` allows the verbosity of app logs that are collected for a Window or View to be controlled when the app logging feature is enabled for its application.
1422
+ *
1423
+ * Please note, `enableAppLogging` must be specified in the application manifest's `platform` or `startup_app` key for this feature to be activated.
1424
+ *
1425
+ * If not specified, and `enableAppLogging` is true for the application, the default level will be 'silent'.
1426
+ *
1427
+ * This setting can also be specified in a Domain Setting Rule, allowing per url exceptions to the default behavior to be made. Please note, when a domain setting is actively
1428
+ * controlling a url's appLogLevel, its options will be ignored.
1429
+ *
1430
+ * @default 'debug'
1431
+ *
1432
+ * @example Controlling App Logs With DefaultViewOptions + Domain Settings
1433
+ *
1434
+ * In this example manifest, we use `defaultViewOptions to set the default verbosity to 'warn'.
1435
+ *
1436
+ * We also use domain settings to suppress logs entirely for an example URL, and to lower verbosity to 'debug' for another.
1437
+ *
1438
+ * ```ts
1439
+ * {
1440
+ * <rest of settings>
1441
+ * "platform": {
1442
+ * <rest of settings>
1443
+ * "enableAppLogging": "true",
1444
+ * "defaultViewOptions": {
1445
+ * "appLogLevel": "warn"
1446
+ * },
1447
+ * "domainSettings": {
1448
+ * "default": { <rest of settings> }
1449
+ * "rules": [
1450
+ * <rest of rules>
1451
+ * {
1452
+ * "match": ["*://*?app-logging-level=silent"],
1453
+ * "options": {
1454
+ * "appLogLevel": "silent"
1455
+ * }
1456
+ * },
1457
+ * {
1458
+ * "match": ["*://*?app-logging-level=debug"],
1459
+ * "options": {
1460
+ * "appLogLevel": "debug"
1461
+ * }
1462
+ * },
1463
+ * ]
1464
+ * }
1465
+ * }
1466
+ * }
1467
+ */
1468
+ declare type AppLogLevel = 'silent' | 'debug' | 'info' | 'warn' | 'error';
1469
+
1420
1470
  /**
1421
1471
  * @interface
1422
1472
  */
@@ -6574,7 +6624,28 @@ declare type Hotkey = {
6574
6624
  */
6575
6625
  keys: string;
6576
6626
  /**
6577
- * Prevent default key handling before emitting the event.
6627
+ * Controls the event phase at which the hotkey is triggered.
6628
+ *
6629
+ * - `'capture'`: The hotkey fires **before** the event is sent to the renderer/page.
6630
+ * This is the only phase where the `preventDefault` property is effective.
6631
+ *
6632
+ * - `'bubble'`: The hotkey fires **after** the page has processed the key event.
6633
+ * This behaves exactly like a standard JavaScript event listener attached to the window:
6634
+ * 1. If the page calls `event.preventDefault()` (on either **keydown** or **keyup**), this hotkey will **not** fire.
6635
+ * 2. If the hotkey is browser-reserved (e.g. `Ctrl+Tab` to switch tabs for which keyup/keydown do not fire in a web browser), that action takes precedence and this hotkey will **not** fire.
6636
+ *
6637
+ * @default 'capture'
6638
+ */
6639
+ phase?: 'capture' | 'bubble';
6640
+ /**
6641
+ * Determines if the event should continue to the renderer.
6642
+ *
6643
+ * - `true`: The event is consumed immediately. It will **never** reach the renderer/page.
6644
+ * - `false`: The event is sent to the renderer after this hotkey executes.
6645
+ *
6646
+ * @remarks
6647
+ * This property is **only valid** when `phase` is set to `'capture'`.
6648
+ * If `phase` is `'bubble'`, this property is ignored (as the renderer has already received and processed the event).
6578
6649
  *
6579
6650
  * @default false
6580
6651
  */
@@ -9153,6 +9224,12 @@ declare type LogInfo = {
9153
9224
  */
9154
9225
  declare type LogLevel = 'verbose' | 'info' | 'warning' | 'error' | 'fatal';
9155
9226
 
9227
+ declare type LogPath = 'debug.log' | 'app.log';
9228
+
9229
+ declare type LogTarget = {
9230
+ type: LogPath;
9231
+ };
9232
+
9156
9233
  /**
9157
9234
  * Log types
9158
9235
  *
@@ -9673,10 +9750,9 @@ declare type MutableViewOptions = {
9673
9750
  */
9674
9751
  chromiumPolicies: ChromiumPolicies;
9675
9752
  /**
9676
- * When set to `false`, disables sending application logs to RVM for this view.
9677
- * When omitted, inherits from the parent application.
9753
+ * Specifies the AppLogLevel for the specified View. See {@link AppLogLevel} for more information.
9678
9754
  */
9679
- enableAppLogging?: boolean;
9755
+ appLogLevel?: AppLogLevel;
9680
9756
  };
9681
9757
 
9682
9758
  /**
@@ -9952,11 +10028,9 @@ declare type MutableWindowOptions = {
9952
10028
  */
9953
10029
  chromiumPolicies: ChromiumPolicies;
9954
10030
  /**
9955
- * When set to `false`, disables sending application logs to RVM for this window.
9956
- * When omitted, inherits from the parent application.
9957
- *
10031
+ * Specifies the AppLogLevel for the Window. See {@link AppLogLevel} for more information.
9958
10032
  */
9959
- enableAppLogging?: boolean;
10033
+ appLogLevel?: AppLogLevel;
9960
10034
  };
9961
10035
 
9962
10036
  declare type NackHandler = (payloadOrMessage: RuntimeErrorPayload | string) => void;
@@ -10355,6 +10429,9 @@ declare namespace OpenFin {
10355
10429
  InheritableOptions,
10356
10430
  PolicyOptions,
10357
10431
  ChromiumPolicies,
10432
+ AppLogLevel,
10433
+ LogPath,
10434
+ LogTarget,
10358
10435
  MutableWindowOptions,
10359
10436
  WorkspacePlatformOptions,
10360
10437
  WebRequestHeader,
@@ -10935,10 +11012,10 @@ declare type PerDomainSettings = {
10935
11012
  drag?: 'allow' | 'block';
10936
11013
  };
10937
11014
  /**
10938
- * When set to `false`, disables sending application logs to RVM for this window.
10939
- * When omitted, inherits from the parent application.
11015
+ * Allows the app log level of any matching content to be overriden.
11016
+ * See also {@link AppLogLevel} for more information.
10940
11017
  */
10941
- enableAppLogging?: boolean;
11018
+ appLogLevel?: AppLogLevel;
10942
11019
  };
10943
11020
 
10944
11021
  /**
@@ -13275,10 +13352,10 @@ declare type ProtocolMap = ExternalAdapterOnlyCallsMap & AnalyticsProtocolMap &
13275
13352
  'get-current-window': VoidCall;
13276
13353
  'get-current-window-sync': VoidCall;
13277
13354
  'show-download-bubble': IdentityCall<{
13278
- options: OpenFin.Anchor;
13355
+ anchor?: OpenFin.Anchor;
13279
13356
  }, void>;
13280
13357
  'update-download-bubble-anchor': IdentityCall<{
13281
- options: OpenFin.Anchor;
13358
+ anchor: OpenFin.Anchor;
13282
13359
  }, void>;
13283
13360
  'get-external-application-info': ApiCall<OpenFin.ApplicationIdentity, OpenFin.ExternalApplicationInfo>;
13284
13361
  'external-application-wrap': VoidCall;
@@ -15693,16 +15770,14 @@ declare class System extends EmitterBase<OpenFin.SystemEvent> {
15693
15770
  * Writes the passed message into both the log file and the console.
15694
15771
  * @param level The log level for the entry. Can be either "info", "warning" or "error"
15695
15772
  * @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.
15773
+ * @param target 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.
15697
15774
  *
15698
15775
  * @example
15699
15776
  * ```js
15700
15777
  * fin.System.log("info", "An example log message", { type: 'debug.log' }).then(() => console.log('Log info message')).catch(err => console.log(err));
15701
15778
  * ```
15702
15779
  */
15703
- log(level: string, message: string, { type }?: {
15704
- type?: 'app.log' | 'debug.log';
15705
- }): Promise<void>;
15780
+ log(level: string, message: string, target?: OpenFin.LogTarget): Promise<void>;
15706
15781
  /**
15707
15782
  * Opens the passed URL in the default web browser.
15708
15783
  *
@@ -16527,11 +16602,35 @@ declare class System extends EmitterBase<OpenFin.SystemEvent> {
16527
16602
  /**
16528
16603
  * Overrides original Chromium theme color providers matching key (currently except high contrast ones). Only colors passed in the map will be overridden.
16529
16604
  * @param overrides - Array of ColorProviderOverrides objects
16605
+ * @example
16606
+ * ```ts
16607
+ * await fin.System.setThemePalette([
16608
+ * {
16609
+ * colorProviderKey: { colorMode: 'light' },
16610
+ * colorsMap: {
16611
+ * kColorLabelForeground: 4278190080,
16612
+ * kColorBubbleBackground: 4293980400
16613
+ * }
16614
+ * },
16615
+ * {
16616
+ * colorProviderKey: { colorMode: 'dark' },
16617
+ * colorsMap: {
16618
+ * kColorLabelForeground: 4293980400,
16619
+ * kColorBubbleBackground: 4293980400
16620
+ * }
16621
+ * }
16622
+ * ]);
16623
+ * ```
16530
16624
  */
16531
16625
  setThemePalette(themePalette: Array<OpenFin.ThemePalette>): Promise<void>;
16532
16626
  /**
16533
16627
  * Retrieves currently used color overrides
16534
16628
  * @returns Array of ColorProviderOverrides objects
16629
+ * @example
16630
+ * ```ts
16631
+ * const themePalette = await fin.System.getThemePalette();
16632
+ * console.log(themePalette);
16633
+ * ```
16535
16634
  */
16536
16635
  getThemePalette(): Promise<Array<OpenFin.ThemePalette>>;
16537
16636
  }
@@ -20251,8 +20350,19 @@ declare class _Window extends WebContents<OpenFin.WindowEvent> {
20251
20350
  * @returns {Promise<void>}
20252
20351
  * A promise that resolves once the request to show the download bubble
20253
20352
  * has been processed.
20353
+ * @example
20354
+ * ```js
20355
+ * const w = fin.Window.getCurrentSync();
20356
+ * const el = document.getElementById("download-bubble-button");
20357
+ * const rect = el.getBoundingClientRect();
20358
+ * const anchor = {
20359
+ * bounds: rect,
20360
+ * location: "topRight"
20361
+ * };
20362
+ * w.showDownloadBubble(anchor);
20363
+ * ```
20254
20364
  */
20255
- showDownloadBubble(options: OpenFin.Anchor): Promise<void>;
20365
+ showDownloadBubble(anchor?: OpenFin.Anchor): Promise<void>;
20256
20366
  /**
20257
20367
  * Updates the anchor used for positioning the download bubble. This allows
20258
20368
  * moving the bubble reactively—for example, in response to window resizes,
@@ -20264,8 +20374,27 @@ declare class _Window extends WebContents<OpenFin.WindowEvent> {
20264
20374
  *
20265
20375
  * @returns {Promise<void>}
20266
20376
  * A promise that resolves once the anchor update has been applied.
20377
+ * @example
20378
+ * ```js
20379
+ * var w = fin.Window.getCurrentSync();
20380
+ * w.on('download-button-visibility-changed', (evt) => {
20381
+ * if (evt.visible) {
20382
+ * const el = document.getElementById("download-bubble-button");
20383
+ * //We show our button and get it's bounding rect
20384
+ * el.classList.remove("hidden");
20385
+ * const rect = el.getBoundingClientRect();
20386
+ * const anchor = {
20387
+ * bounds: rect,
20388
+ * location: "topRight"
20389
+ * }
20390
+ * w.updateDownloadBubbleAnchor(anchor);
20391
+ * } else {
20392
+ * //We hide our button
20393
+ * document.getElementById("download-bubble-button")?.classList.add("hidden");
20394
+ * }
20395
+ });
20267
20396
  */
20268
- updateDownloadBubbleAnchor(options: OpenFin.Anchor): Promise<void>;
20397
+ updateDownloadBubbleAnchor(anchor: OpenFin.Anchor): Promise<void>;
20269
20398
  }
20270
20399
 
20271
20400
  /**
package/out/fdc3-api.d.ts CHANGED
@@ -1423,6 +1423,56 @@ declare type ApplicationWindowInfo = {
1423
1423
  uuid: string;
1424
1424
  };
1425
1425
 
1426
+ /**
1427
+ * `appLogLevel` allows the verbosity of app logs that are collected for a Window or View to be controlled when the app logging feature is enabled for its application.
1428
+ *
1429
+ * Please note, `enableAppLogging` must be specified in the application manifest's `platform` or `startup_app` key for this feature to be activated.
1430
+ *
1431
+ * If not specified, and `enableAppLogging` is true for the application, the default level will be 'silent'.
1432
+ *
1433
+ * This setting can also be specified in a Domain Setting Rule, allowing per url exceptions to the default behavior to be made. Please note, when a domain setting is actively
1434
+ * controlling a url's appLogLevel, its options will be ignored.
1435
+ *
1436
+ * @default 'debug'
1437
+ *
1438
+ * @example Controlling App Logs With DefaultViewOptions + Domain Settings
1439
+ *
1440
+ * In this example manifest, we use `defaultViewOptions to set the default verbosity to 'warn'.
1441
+ *
1442
+ * We also use domain settings to suppress logs entirely for an example URL, and to lower verbosity to 'debug' for another.
1443
+ *
1444
+ * ```ts
1445
+ * {
1446
+ * <rest of settings>
1447
+ * "platform": {
1448
+ * <rest of settings>
1449
+ * "enableAppLogging": "true",
1450
+ * "defaultViewOptions": {
1451
+ * "appLogLevel": "warn"
1452
+ * },
1453
+ * "domainSettings": {
1454
+ * "default": { <rest of settings> }
1455
+ * "rules": [
1456
+ * <rest of rules>
1457
+ * {
1458
+ * "match": ["*://*?app-logging-level=silent"],
1459
+ * "options": {
1460
+ * "appLogLevel": "silent"
1461
+ * }
1462
+ * },
1463
+ * {
1464
+ * "match": ["*://*?app-logging-level=debug"],
1465
+ * "options": {
1466
+ * "appLogLevel": "debug"
1467
+ * }
1468
+ * },
1469
+ * ]
1470
+ * }
1471
+ * }
1472
+ * }
1473
+ */
1474
+ declare type AppLogLevel = 'silent' | 'debug' | 'info' | 'warn' | 'error';
1475
+
1426
1476
  /**
1427
1477
  * @interface
1428
1478
  */
@@ -6665,7 +6715,28 @@ declare type Hotkey = {
6665
6715
  */
6666
6716
  keys: string;
6667
6717
  /**
6668
- * Prevent default key handling before emitting the event.
6718
+ * Controls the event phase at which the hotkey is triggered.
6719
+ *
6720
+ * - `'capture'`: The hotkey fires **before** the event is sent to the renderer/page.
6721
+ * This is the only phase where the `preventDefault` property is effective.
6722
+ *
6723
+ * - `'bubble'`: The hotkey fires **after** the page has processed the key event.
6724
+ * This behaves exactly like a standard JavaScript event listener attached to the window:
6725
+ * 1. If the page calls `event.preventDefault()` (on either **keydown** or **keyup**), this hotkey will **not** fire.
6726
+ * 2. If the hotkey is browser-reserved (e.g. `Ctrl+Tab` to switch tabs for which keyup/keydown do not fire in a web browser), that action takes precedence and this hotkey will **not** fire.
6727
+ *
6728
+ * @default 'capture'
6729
+ */
6730
+ phase?: 'capture' | 'bubble';
6731
+ /**
6732
+ * Determines if the event should continue to the renderer.
6733
+ *
6734
+ * - `true`: The event is consumed immediately. It will **never** reach the renderer/page.
6735
+ * - `false`: The event is sent to the renderer after this hotkey executes.
6736
+ *
6737
+ * @remarks
6738
+ * This property is **only valid** when `phase` is set to `'capture'`.
6739
+ * If `phase` is `'bubble'`, this property is ignored (as the renderer has already received and processed the event).
6669
6740
  *
6670
6741
  * @default false
6671
6742
  */
@@ -9462,6 +9533,12 @@ declare type LogInfo = {
9462
9533
  */
9463
9534
  declare type LogLevel = 'verbose' | 'info' | 'warning' | 'error' | 'fatal';
9464
9535
 
9536
+ declare type LogPath = 'debug.log' | 'app.log';
9537
+
9538
+ declare type LogTarget = {
9539
+ type: LogPath;
9540
+ };
9541
+
9465
9542
  /**
9466
9543
  * Log types
9467
9544
  *
@@ -9986,10 +10063,9 @@ declare type MutableViewOptions = {
9986
10063
  */
9987
10064
  chromiumPolicies: ChromiumPolicies;
9988
10065
  /**
9989
- * When set to `false`, disables sending application logs to RVM for this view.
9990
- * When omitted, inherits from the parent application.
10066
+ * Specifies the AppLogLevel for the specified View. See {@link AppLogLevel} for more information.
9991
10067
  */
9992
- enableAppLogging?: boolean;
10068
+ appLogLevel?: AppLogLevel;
9993
10069
  };
9994
10070
 
9995
10071
  /**
@@ -10273,11 +10349,9 @@ declare type MutableWindowOptions = {
10273
10349
  */
10274
10350
  chromiumPolicies: ChromiumPolicies;
10275
10351
  /**
10276
- * When set to `false`, disables sending application logs to RVM for this window.
10277
- * When omitted, inherits from the parent application.
10278
- *
10352
+ * Specifies the AppLogLevel for the Window. See {@link AppLogLevel} for more information.
10279
10353
  */
10280
- enableAppLogging?: boolean;
10354
+ appLogLevel?: AppLogLevel;
10281
10355
  };
10282
10356
 
10283
10357
  declare type NackHandler = (payloadOrMessage: RuntimeErrorPayload | string) => void;
@@ -10689,6 +10763,9 @@ declare namespace OpenFin {
10689
10763
  InheritableOptions,
10690
10764
  PolicyOptions,
10691
10765
  ChromiumPolicies,
10766
+ AppLogLevel,
10767
+ LogPath,
10768
+ LogTarget,
10692
10769
  MutableWindowOptions,
10693
10770
  WorkspacePlatformOptions,
10694
10771
  WebRequestHeader,
@@ -11269,10 +11346,10 @@ declare type PerDomainSettings = {
11269
11346
  drag?: 'allow' | 'block';
11270
11347
  };
11271
11348
  /**
11272
- * When set to `false`, disables sending application logs to RVM for this window.
11273
- * When omitted, inherits from the parent application.
11349
+ * Allows the app log level of any matching content to be overriden.
11350
+ * See also {@link AppLogLevel} for more information.
11274
11351
  */
11275
- enableAppLogging?: boolean;
11352
+ appLogLevel?: AppLogLevel;
11276
11353
  };
11277
11354
 
11278
11355
  /**
@@ -13692,10 +13769,10 @@ declare type ProtocolMap = ExternalAdapterOnlyCallsMap & AnalyticsProtocolMap &
13692
13769
  'get-current-window': VoidCall;
13693
13770
  'get-current-window-sync': VoidCall;
13694
13771
  'show-download-bubble': IdentityCall<{
13695
- options: OpenFin.Anchor;
13772
+ anchor?: OpenFin.Anchor;
13696
13773
  }, void>;
13697
13774
  'update-download-bubble-anchor': IdentityCall<{
13698
- options: OpenFin.Anchor;
13775
+ anchor: OpenFin.Anchor;
13699
13776
  }, void>;
13700
13777
  'get-external-application-info': ApiCall<OpenFin.ApplicationIdentity, OpenFin.ExternalApplicationInfo>;
13701
13778
  'external-application-wrap': VoidCall;
@@ -16116,16 +16193,14 @@ declare class System extends EmitterBase<OpenFin.SystemEvent> {
16116
16193
  * Writes the passed message into both the log file and the console.
16117
16194
  * @param level The log level for the entry. Can be either "info", "warning" or "error"
16118
16195
  * @param message The log message text
16119
- * @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.
16196
+ * @param target 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.
16120
16197
  *
16121
16198
  * @example
16122
16199
  * ```js
16123
16200
  * fin.System.log("info", "An example log message", { type: 'debug.log' }).then(() => console.log('Log info message')).catch(err => console.log(err));
16124
16201
  * ```
16125
16202
  */
16126
- log(level: string, message: string, { type }?: {
16127
- type?: 'app.log' | 'debug.log';
16128
- }): Promise<void>;
16203
+ log(level: string, message: string, target?: OpenFin.LogTarget): Promise<void>;
16129
16204
  /**
16130
16205
  * Opens the passed URL in the default web browser.
16131
16206
  *
@@ -16950,11 +17025,35 @@ declare class System extends EmitterBase<OpenFin.SystemEvent> {
16950
17025
  /**
16951
17026
  * Overrides original Chromium theme color providers matching key (currently except high contrast ones). Only colors passed in the map will be overridden.
16952
17027
  * @param overrides - Array of ColorProviderOverrides objects
17028
+ * @example
17029
+ * ```ts
17030
+ * await fin.System.setThemePalette([
17031
+ * {
17032
+ * colorProviderKey: { colorMode: 'light' },
17033
+ * colorsMap: {
17034
+ * kColorLabelForeground: 4278190080,
17035
+ * kColorBubbleBackground: 4293980400
17036
+ * }
17037
+ * },
17038
+ * {
17039
+ * colorProviderKey: { colorMode: 'dark' },
17040
+ * colorsMap: {
17041
+ * kColorLabelForeground: 4293980400,
17042
+ * kColorBubbleBackground: 4293980400
17043
+ * }
17044
+ * }
17045
+ * ]);
17046
+ * ```
16953
17047
  */
16954
17048
  setThemePalette(themePalette: Array<OpenFin.ThemePalette>): Promise<void>;
16955
17049
  /**
16956
17050
  * Retrieves currently used color overrides
16957
17051
  * @returns Array of ColorProviderOverrides objects
17052
+ * @example
17053
+ * ```ts
17054
+ * const themePalette = await fin.System.getThemePalette();
17055
+ * console.log(themePalette);
17056
+ * ```
16958
17057
  */
16959
17058
  getThemePalette(): Promise<Array<OpenFin.ThemePalette>>;
16960
17059
  }
@@ -20721,8 +20820,19 @@ declare class _Window extends WebContents<OpenFin.WindowEvent> {
20721
20820
  * @returns {Promise<void>}
20722
20821
  * A promise that resolves once the request to show the download bubble
20723
20822
  * has been processed.
20823
+ * @example
20824
+ * ```js
20825
+ * const w = fin.Window.getCurrentSync();
20826
+ * const el = document.getElementById("download-bubble-button");
20827
+ * const rect = el.getBoundingClientRect();
20828
+ * const anchor = {
20829
+ * bounds: rect,
20830
+ * location: "topRight"
20831
+ * };
20832
+ * w.showDownloadBubble(anchor);
20833
+ * ```
20724
20834
  */
20725
- showDownloadBubble(options: OpenFin.Anchor): Promise<void>;
20835
+ showDownloadBubble(anchor?: OpenFin.Anchor): Promise<void>;
20726
20836
  /**
20727
20837
  * Updates the anchor used for positioning the download bubble. This allows
20728
20838
  * moving the bubble reactively—for example, in response to window resizes,
@@ -20734,8 +20844,27 @@ declare class _Window extends WebContents<OpenFin.WindowEvent> {
20734
20844
  *
20735
20845
  * @returns {Promise<void>}
20736
20846
  * A promise that resolves once the anchor update has been applied.
20847
+ * @example
20848
+ * ```js
20849
+ * var w = fin.Window.getCurrentSync();
20850
+ * w.on('download-button-visibility-changed', (evt) => {
20851
+ * if (evt.visible) {
20852
+ * const el = document.getElementById("download-bubble-button");
20853
+ * //We show our button and get it's bounding rect
20854
+ * el.classList.remove("hidden");
20855
+ * const rect = el.getBoundingClientRect();
20856
+ * const anchor = {
20857
+ * bounds: rect,
20858
+ * location: "topRight"
20859
+ * }
20860
+ * w.updateDownloadBubbleAnchor(anchor);
20861
+ * } else {
20862
+ * //We hide our button
20863
+ * document.getElementById("download-bubble-button")?.classList.add("hidden");
20864
+ * }
20865
+ });
20737
20866
  */
20738
- updateDownloadBubbleAnchor(options: OpenFin.Anchor): Promise<void>;
20867
+ updateDownloadBubbleAnchor(anchor: OpenFin.Anchor): Promise<void>;
20739
20868
  }
20740
20869
 
20741
20870
  /**
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@openfin/fdc3-api",
3
- "version": "43.100.105",
3
+ "version": "43.100.109",
4
4
  "description": "OpenFin fdc3 module utilities and types.",
5
5
  "license": "SEE LICENSE IN LICENSE.md",
6
6
  "private": false,