@openfin/fdc3-api 44.101.2 → 44.101.4
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.
- package/out/fdc3-api-alpha.d.ts +204 -4
- package/out/fdc3-api-beta.d.ts +204 -4
- package/out/fdc3-api-public.d.ts +204 -4
- package/out/fdc3-api.d.ts +204 -4
- package/package.json +1 -1
package/out/fdc3-api-alpha.d.ts
CHANGED
|
@@ -42,6 +42,16 @@ declare type Accelerator = {
|
|
|
42
42
|
zoom: boolean;
|
|
43
43
|
};
|
|
44
44
|
|
|
45
|
+
/**
|
|
46
|
+
* @interface
|
|
47
|
+
* Shared context available to all aria label functions.
|
|
48
|
+
*/
|
|
49
|
+
declare type AccessibilityContext = {
|
|
50
|
+
arrowNavigationEnabled: boolean;
|
|
51
|
+
deleteKeyCloseEnabled: boolean;
|
|
52
|
+
homeEndNavigationEnabled: boolean;
|
|
53
|
+
};
|
|
54
|
+
|
|
45
55
|
/**
|
|
46
56
|
* Generated when a View is added to a layout.
|
|
47
57
|
* @interface
|
|
@@ -51,6 +61,14 @@ declare type AddedToLayoutEvent = BaseEvent_4 & {
|
|
|
51
61
|
layoutIdentity: OpenFin.LayoutIdentity;
|
|
52
62
|
};
|
|
53
63
|
|
|
64
|
+
/**
|
|
65
|
+
* @interface
|
|
66
|
+
* Context for add tab button aria-label functions.
|
|
67
|
+
*/
|
|
68
|
+
declare type AddTabButtonAriaLabelContext = AccessibilityContext & {
|
|
69
|
+
tabCount: number;
|
|
70
|
+
};
|
|
71
|
+
|
|
54
72
|
/**
|
|
55
73
|
* Options to use when adding a view to a {@link TabStack}.
|
|
56
74
|
*
|
|
@@ -1596,6 +1614,17 @@ declare type AppVersionRuntimeStatusEvent = {
|
|
|
1596
1614
|
|
|
1597
1615
|
/* Excluded from this release type: AppVersionTypeFromIdEvent */
|
|
1598
1616
|
|
|
1617
|
+
/**
|
|
1618
|
+
* @interface
|
|
1619
|
+
* Custom aria-label providers for accessibility.
|
|
1620
|
+
*/
|
|
1621
|
+
declare type AriaLabelOptions = {
|
|
1622
|
+
activeTab?: string | ((ctx: TabAriaLabelContext) => string);
|
|
1623
|
+
inactiveTab?: string | ((ctx: TabAriaLabelContext) => string);
|
|
1624
|
+
closeButton?: string | ((ctx: CloseButtonAriaLabelContext) => string);
|
|
1625
|
+
addTabButton?: string | ((ctx: AddTabButtonAriaLabelContext) => string);
|
|
1626
|
+
};
|
|
1627
|
+
|
|
1599
1628
|
declare interface AuthorizationPayload {
|
|
1600
1629
|
token: string;
|
|
1601
1630
|
file: string;
|
|
@@ -3112,6 +3141,11 @@ declare type ClearCacheOption = {
|
|
|
3112
3141
|
* browser data that can be used across sessions
|
|
3113
3142
|
*/
|
|
3114
3143
|
localStorage?: boolean;
|
|
3144
|
+
/**
|
|
3145
|
+
* Clears saved window-state data written for windows that use `saveWindowState`.
|
|
3146
|
+
* After this data is cleared, previously persisted bounds and state (Maximized/Minimized) will not be restored until new state is written again.
|
|
3147
|
+
*/
|
|
3148
|
+
windowState?: boolean;
|
|
3115
3149
|
};
|
|
3116
3150
|
|
|
3117
3151
|
/**
|
|
@@ -3154,6 +3188,11 @@ declare type ClearDataOptions = {
|
|
|
3154
3188
|
* - `origin-in-all-contexts` - Storage is matched on origin only in all contexts.
|
|
3155
3189
|
*/
|
|
3156
3190
|
originMatchingMode?: 'third-parties-included' | 'origin-in-all-contexts';
|
|
3191
|
+
/**
|
|
3192
|
+
* Clears saved window-state data written for windows that use `saveWindowState`.
|
|
3193
|
+
* After this data is cleared, previously persisted bounds and state (Maximized/Minimized) will not be restored until new state is written again.
|
|
3194
|
+
*/
|
|
3195
|
+
windowState?: boolean;
|
|
3157
3196
|
};
|
|
3158
3197
|
|
|
3159
3198
|
/**
|
|
@@ -3441,6 +3480,15 @@ declare type ClipboardPermissions = {
|
|
|
3441
3480
|
*/
|
|
3442
3481
|
declare type ClipboardSelectionType = 'clipboard' | 'selection';
|
|
3443
3482
|
|
|
3483
|
+
/**
|
|
3484
|
+
* @interface
|
|
3485
|
+
* Context for close button aria-label functions.
|
|
3486
|
+
*/
|
|
3487
|
+
declare type CloseButtonAriaLabelContext = AccessibilityContext & {
|
|
3488
|
+
title: string;
|
|
3489
|
+
isActive: boolean;
|
|
3490
|
+
};
|
|
3491
|
+
|
|
3444
3492
|
/**
|
|
3445
3493
|
* Generated when an application is closed.
|
|
3446
3494
|
* @interface
|
|
@@ -4453,6 +4501,10 @@ declare type CreateLayoutOptions = {
|
|
|
4453
4501
|
* @experimental
|
|
4454
4502
|
*/
|
|
4455
4503
|
renderCustomHeaderControls?: (controlsElement: HTMLElement, context: HeaderControlsContext) => (() => void) | void;
|
|
4504
|
+
/**
|
|
4505
|
+
* Accessibility options for the layout. Controls ARIA attributes and keyboard navigation.
|
|
4506
|
+
*/
|
|
4507
|
+
accessibilityOptions?: LayoutAccessibilityOptions;
|
|
4456
4508
|
};
|
|
4457
4509
|
|
|
4458
4510
|
/**
|
|
@@ -5136,7 +5188,7 @@ declare interface Environment {
|
|
|
5136
5188
|
layoutAllowedInContext(fin: OpenFin.Fin<OpenFin.EntityType>): boolean;
|
|
5137
5189
|
initLayoutManager(fin: OpenFin.Fin<OpenFin.EntityType>, wire: Transport, options: OpenFin.InitLayoutOptions): Promise<OpenFin.LayoutManager<OpenFin.LayoutSnapshot>>;
|
|
5138
5190
|
applyLayoutSnapshot(fin: OpenFin.Fin<OpenFin.EntityType>, layoutManager: OpenFin.LayoutManager<OpenFin.LayoutSnapshot>, options: OpenFin.InitLayoutOptions): Promise<void>;
|
|
5139
|
-
createLayout(layoutManager: OpenFin.LayoutManager<OpenFin.LayoutSnapshot>, options: OpenFin.CreateLayoutOptions): Promise<
|
|
5191
|
+
createLayout(layoutManager: OpenFin.LayoutManager<OpenFin.LayoutSnapshot>, options: OpenFin.CreateLayoutOptions): Promise<OpenFin.LayoutSyncApi>;
|
|
5140
5192
|
destroyLayout(layoutManager: OpenFin.LayoutManager<OpenFin.LayoutSnapshot>, layoutIdentity: OpenFin.LayoutIdentity): Promise<void>;
|
|
5141
5193
|
resolveLayout(layoutManager: OpenFin.LayoutManager<OpenFin.LayoutSnapshot>, layoutIdentity: OpenFin.LayoutIdentity): Promise<any>;
|
|
5142
5194
|
initPlatform(fin: OpenFin.Fin<OpenFin.EntityType>, ...args: Parameters<OpenFin.Fin['Platform']['init']>): ReturnType<OpenFin.Fin['Platform']['init']>;
|
|
@@ -8734,6 +8786,27 @@ declare class Layout extends Base {
|
|
|
8734
8786
|
closeView(viewIdentity: OpenFin.Identity): Promise<void>;
|
|
8735
8787
|
}
|
|
8736
8788
|
|
|
8789
|
+
/**
|
|
8790
|
+
* @interface
|
|
8791
|
+
* Accessibility options for layout tab navigation and ARIA support.
|
|
8792
|
+
*/
|
|
8793
|
+
declare type LayoutAccessibilityOptions = {
|
|
8794
|
+
viewTabOptions?: ViewTabAccessibilityOptions;
|
|
8795
|
+
/**
|
|
8796
|
+
* Keyboard shortcut used to move focus from a tab header element into the active tab's web content.
|
|
8797
|
+
*
|
|
8798
|
+
* - Accepts an accelerator-like string, e.g. `'Ctrl+Enter'`, `'Meta+Enter'`, `'Alt+Enter'`, `'Mod+Enter'`.
|
|
8799
|
+
* - `'Mod'`/`'CmdOrCtrl'`/`'CtrlOrMeta'` means Ctrl on Windows/Linux or Meta on macOS.
|
|
8800
|
+
* - Set to `false` to disable this shortcut.
|
|
8801
|
+
* - In core-web, reverse focus transfer (from iframe web content back to tab header) is not reliably supportable
|
|
8802
|
+
* due to browser iframe security and cross-origin focus restrictions. This hotkey is intentionally one-way:
|
|
8803
|
+
* tab header -> web content.
|
|
8804
|
+
*
|
|
8805
|
+
* @defaultValue 'Mod+Enter'
|
|
8806
|
+
*/
|
|
8807
|
+
focusContentHotkey?: string | false;
|
|
8808
|
+
};
|
|
8809
|
+
|
|
8737
8810
|
/**
|
|
8738
8811
|
* @interface
|
|
8739
8812
|
*/
|
|
@@ -9117,7 +9190,7 @@ declare class LayoutModule extends Base {
|
|
|
9117
9190
|
* @returns
|
|
9118
9191
|
*/
|
|
9119
9192
|
getCurrentLayoutManagerSync: <UserSnapshotType extends OpenFin.LayoutSnapshot>() => OpenFin.LayoutManager<UserSnapshotType>;
|
|
9120
|
-
create: (options: OpenFin.CreateLayoutOptions) => Promise<
|
|
9193
|
+
create: (options: OpenFin.CreateLayoutOptions) => Promise<OpenFin.LayoutSyncApi>;
|
|
9121
9194
|
destroy: (layoutIdentity: OpenFin.LayoutIdentity) => Promise<void>;
|
|
9122
9195
|
}
|
|
9123
9196
|
|
|
@@ -9319,6 +9392,19 @@ declare type LayoutStateChangedEvent = LayoutDOMEvent & {
|
|
|
9319
9392
|
type: 'layout-state-changed';
|
|
9320
9393
|
};
|
|
9321
9394
|
|
|
9395
|
+
/**
|
|
9396
|
+
* @interface
|
|
9397
|
+
* Sync API returned from Layout.create() for operations that don't require IPC.
|
|
9398
|
+
* Only available in the window context that owns the layout.
|
|
9399
|
+
*/
|
|
9400
|
+
declare type LayoutSyncApi = {
|
|
9401
|
+
/**
|
|
9402
|
+
* Updates accessibility options at runtime without recreating the layout.
|
|
9403
|
+
* @param options Partial accessibility options to merge with existing options
|
|
9404
|
+
*/
|
|
9405
|
+
updateAccessibilityOptions(options: Partial<LayoutAccessibilityOptions>): void;
|
|
9406
|
+
};
|
|
9407
|
+
|
|
9322
9408
|
/**
|
|
9323
9409
|
* @interface
|
|
9324
9410
|
*/
|
|
@@ -9468,6 +9554,15 @@ declare type LogUploadOptions = {
|
|
|
9468
9554
|
* Max file size limit in Megabytes for the logs archive.
|
|
9469
9555
|
*/
|
|
9470
9556
|
sizeLimit?: number;
|
|
9557
|
+
/**
|
|
9558
|
+
* HTTP method used to upload the log archive.
|
|
9559
|
+
* Accepted values are `'POST'` and `'PUT'` (case-insensitive; values are normalised to uppercase before validation).
|
|
9560
|
+
* - `POST` sends a multipart `FormData` request (current behaviour).
|
|
9561
|
+
* - `PUT` sends the raw zip binary with an explicit `Content-Length` and no `Content-Type` header,
|
|
9562
|
+
* suitable for endpoints that expect a raw body (e.g. pre-signed upload URLs).
|
|
9563
|
+
* @defaultValue 'POST'
|
|
9564
|
+
*/
|
|
9565
|
+
method?: 'POST' | 'PUT';
|
|
9471
9566
|
};
|
|
9472
9567
|
|
|
9473
9568
|
/**
|
|
@@ -10832,6 +10927,15 @@ declare namespace OpenFin {
|
|
|
10832
10927
|
HeaderControlsContext,
|
|
10833
10928
|
CreateLayoutOptions,
|
|
10834
10929
|
MultiInstanceViewBehavior,
|
|
10930
|
+
LayoutAccessibilityOptions,
|
|
10931
|
+
ViewTabElements,
|
|
10932
|
+
ViewTabAccessibilityOptions,
|
|
10933
|
+
AccessibilityContext,
|
|
10934
|
+
TabAriaLabelContext,
|
|
10935
|
+
CloseButtonAriaLabelContext,
|
|
10936
|
+
AddTabButtonAriaLabelContext,
|
|
10937
|
+
AriaLabelOptions,
|
|
10938
|
+
LayoutSyncApi,
|
|
10835
10939
|
PresetLayoutOptions_2 as PresetLayoutOptions,
|
|
10836
10940
|
ResultBehavior,
|
|
10837
10941
|
PopupBaseBehavior,
|
|
@@ -12563,6 +12667,38 @@ declare interface PlatformProvider {
|
|
|
12563
12667
|
* @returns A promise resolving to `true` if the window should prevent the app from quitting, otherwise `false`.
|
|
12564
12668
|
*/
|
|
12565
12669
|
shouldWindowPreventQuit(windowIdentity: OpenFin.Identity): Promise<boolean>;
|
|
12670
|
+
/**
|
|
12671
|
+
* Returns the platform's keyboard commands. Default implementation returns the manifest's
|
|
12672
|
+
* `platform.commands`. Override to inject additional default commands.
|
|
12673
|
+
* Called once during Platform.init; the result is cached for the lifetime
|
|
12674
|
+
* of the platform.
|
|
12675
|
+
*
|
|
12676
|
+
* @remarks
|
|
12677
|
+
* The returned commands are merged with core's built-in default commands
|
|
12678
|
+
* (unless `disableDefaultCommands` is set).
|
|
12679
|
+
* Overriders receive the raw manifest commands from `super` and can prepend
|
|
12680
|
+
* their own defaults — returned commands override default commands by command name.
|
|
12681
|
+
*
|
|
12682
|
+
* @example
|
|
12683
|
+
* ```js
|
|
12684
|
+
* const overrideCallback = (PlatformProvider) => {
|
|
12685
|
+
* class Override extends PlatformProvider {
|
|
12686
|
+
* getKeyboardCommands() {
|
|
12687
|
+
* const manifestCommands = super.getKeyboardCommands();
|
|
12688
|
+
* const myCommands = [{ command: 'myApp.search', keys: 'Ctrl+K' }];
|
|
12689
|
+
* return [
|
|
12690
|
+
* ...myCommands,
|
|
12691
|
+
* ...manifestCommands
|
|
12692
|
+
* ];
|
|
12693
|
+
* }
|
|
12694
|
+
* }
|
|
12695
|
+
* return new Override();
|
|
12696
|
+
* }
|
|
12697
|
+
*
|
|
12698
|
+
* fin.Platform.init({ overrideCallback });
|
|
12699
|
+
* ```
|
|
12700
|
+
*/
|
|
12701
|
+
getKeyboardCommands(): OpenFin.ShortcutOverride[];
|
|
12566
12702
|
/**
|
|
12567
12703
|
* Method that is called every time an error occurs when processing an action in the Platform Provider. It is meant to be overriden, as a means to debug Platform applications
|
|
12568
12704
|
*/
|
|
@@ -15170,13 +15306,15 @@ declare class System extends EmitterBase<OpenFin.SystemEvent> {
|
|
|
15170
15306
|
* * cookies: browser [cookies](https://developer.mozilla.org/en-US/docs/Web/HTTP/Cookies)
|
|
15171
15307
|
* * localStorage: browser data that can be used across sessions ([local storage](https://developer.mozilla.org/en-US/docs/Web/API/Window/localStorage))
|
|
15172
15308
|
* * appcache: html5 [application cache](https://developer.mozilla.org/en-US/docs/Web/HTML/Using_the_application_cache)
|
|
15309
|
+
* * windowState: clears data written for windows using `saveWindowState`; after clearing, previously saved bounds and state will not be restored until new state is written
|
|
15173
15310
|
* @example
|
|
15174
15311
|
* ```js
|
|
15175
15312
|
* const clearCacheOptions = {
|
|
15176
15313
|
* appcache: true,
|
|
15177
15314
|
* cache: true,
|
|
15178
15315
|
* cookies: true,
|
|
15179
|
-
* localStorage: true
|
|
15316
|
+
* localStorage: true,
|
|
15317
|
+
* windowState: true
|
|
15180
15318
|
* };
|
|
15181
15319
|
* fin.System.clearCache(clearCacheOptions).then(() => console.log('Cache cleared')).catch(err => console.log(err));
|
|
15182
15320
|
* ```
|
|
@@ -15201,12 +15339,16 @@ declare class System extends EmitterBase<OpenFin.SystemEvent> {
|
|
|
15201
15339
|
*
|
|
15202
15340
|
* @param options - Optional configuration for what data to clear
|
|
15203
15341
|
*
|
|
15342
|
+
* @remarks Set `windowState: true` to also clear data written for windows using `saveWindowState`.
|
|
15343
|
+
* After this data is cleared, previously saved bounds and state will not be restored until new state is written again.
|
|
15344
|
+
*
|
|
15204
15345
|
* @example
|
|
15205
15346
|
* ```js
|
|
15206
15347
|
* // Clear only cookies and localStorage for a specific origin
|
|
15207
15348
|
* await fin.System.clearCacheData({
|
|
15208
15349
|
* dataTypes: ['cookies', 'localStorage'],
|
|
15209
|
-
* origins: ['http://localhost:8081']
|
|
15350
|
+
* origins: ['http://localhost:8081'],
|
|
15351
|
+
* windowState: true
|
|
15210
15352
|
* });
|
|
15211
15353
|
*
|
|
15212
15354
|
* // Clear everything except for a specific origin
|
|
@@ -16975,6 +17117,17 @@ declare type SystemShutdownHandler = (shutdownEvent: {
|
|
|
16975
17117
|
proceed: () => void;
|
|
16976
17118
|
}) => void;
|
|
16977
17119
|
|
|
17120
|
+
/**
|
|
17121
|
+
* @interface
|
|
17122
|
+
* Context for tab aria-label functions.
|
|
17123
|
+
*/
|
|
17124
|
+
declare type TabAriaLabelContext = AccessibilityContext & {
|
|
17125
|
+
title: string;
|
|
17126
|
+
isActive: boolean;
|
|
17127
|
+
tabIndex: number;
|
|
17128
|
+
tabCount: number;
|
|
17129
|
+
};
|
|
17130
|
+
|
|
16978
17131
|
/**
|
|
16979
17132
|
* Generated when a Layout Tab Component was closed.
|
|
16980
17133
|
* @interface
|
|
@@ -18449,6 +18602,53 @@ declare interface ViewStatuses {
|
|
|
18449
18602
|
viewsNotPreventingUnload: Identity_4[];
|
|
18450
18603
|
}
|
|
18451
18604
|
|
|
18605
|
+
/**
|
|
18606
|
+
* @interface
|
|
18607
|
+
* Accessibility options for view tab navigation.
|
|
18608
|
+
*/
|
|
18609
|
+
declare type ViewTabAccessibilityOptions = {
|
|
18610
|
+
/**
|
|
18611
|
+
* Controls which elements are reachable via Tab key navigation.
|
|
18612
|
+
* Uses roving tabindex pattern - only one element focusable at a time.
|
|
18613
|
+
* @default ['active-tab', 'add-tab-button']
|
|
18614
|
+
*/
|
|
18615
|
+
tabNavigation?: ViewTabElements[];
|
|
18616
|
+
/**
|
|
18617
|
+
* Controls which elements are navigable via Arrow keys.
|
|
18618
|
+
* @default ['inactive-tab', 'active-tab', 'active-tab-close-button', 'inactive-tab-close-button', 'add-tab-button']
|
|
18619
|
+
*/
|
|
18620
|
+
arrowNavigation?: ViewTabElements[];
|
|
18621
|
+
/**
|
|
18622
|
+
* Whether Delete/Backspace keys close the focused tab.
|
|
18623
|
+
* @default false
|
|
18624
|
+
*/
|
|
18625
|
+
enableDeleteKeyClose?: boolean;
|
|
18626
|
+
/**
|
|
18627
|
+
* Whether Home/End keys jump to first/last navigable element.
|
|
18628
|
+
* @default false
|
|
18629
|
+
*/
|
|
18630
|
+
enableHomeEndNavigation?: boolean;
|
|
18631
|
+
/**
|
|
18632
|
+
* Custom aria-label providers. Can be a static string or a function receiving context.
|
|
18633
|
+
*/
|
|
18634
|
+
ariaLabels?: AriaLabelOptions;
|
|
18635
|
+
/**
|
|
18636
|
+
* Whether to announce tab changes via aria-live.
|
|
18637
|
+
* @default true
|
|
18638
|
+
*/
|
|
18639
|
+
announceTabChanges?: boolean;
|
|
18640
|
+
/**
|
|
18641
|
+
* Focus behavior when a tab is closed via keyboard.
|
|
18642
|
+
* @default 'next'
|
|
18643
|
+
*/
|
|
18644
|
+
focusOnCloseStrategy?: 'next' | 'previous' | 'active';
|
|
18645
|
+
};
|
|
18646
|
+
|
|
18647
|
+
/**
|
|
18648
|
+
* Elements that can be navigated in view tabs.
|
|
18649
|
+
*/
|
|
18650
|
+
declare type ViewTabElements = 'active-tab' | 'inactive-tab' | 'active-tab-close-button' | 'inactive-tab-close-button' | 'add-tab-button';
|
|
18651
|
+
|
|
18452
18652
|
/**
|
|
18453
18653
|
* View throttling state.
|
|
18454
18654
|
*
|
package/out/fdc3-api-beta.d.ts
CHANGED
|
@@ -42,6 +42,16 @@ declare type Accelerator = {
|
|
|
42
42
|
zoom: boolean;
|
|
43
43
|
};
|
|
44
44
|
|
|
45
|
+
/**
|
|
46
|
+
* @interface
|
|
47
|
+
* Shared context available to all aria label functions.
|
|
48
|
+
*/
|
|
49
|
+
declare type AccessibilityContext = {
|
|
50
|
+
arrowNavigationEnabled: boolean;
|
|
51
|
+
deleteKeyCloseEnabled: boolean;
|
|
52
|
+
homeEndNavigationEnabled: boolean;
|
|
53
|
+
};
|
|
54
|
+
|
|
45
55
|
/**
|
|
46
56
|
* Generated when a View is added to a layout.
|
|
47
57
|
* @interface
|
|
@@ -51,6 +61,14 @@ declare type AddedToLayoutEvent = BaseEvent_4 & {
|
|
|
51
61
|
layoutIdentity: OpenFin.LayoutIdentity;
|
|
52
62
|
};
|
|
53
63
|
|
|
64
|
+
/**
|
|
65
|
+
* @interface
|
|
66
|
+
* Context for add tab button aria-label functions.
|
|
67
|
+
*/
|
|
68
|
+
declare type AddTabButtonAriaLabelContext = AccessibilityContext & {
|
|
69
|
+
tabCount: number;
|
|
70
|
+
};
|
|
71
|
+
|
|
54
72
|
/**
|
|
55
73
|
* Options to use when adding a view to a {@link TabStack}.
|
|
56
74
|
*
|
|
@@ -1596,6 +1614,17 @@ declare type AppVersionRuntimeStatusEvent = {
|
|
|
1596
1614
|
|
|
1597
1615
|
/* Excluded from this release type: AppVersionTypeFromIdEvent */
|
|
1598
1616
|
|
|
1617
|
+
/**
|
|
1618
|
+
* @interface
|
|
1619
|
+
* Custom aria-label providers for accessibility.
|
|
1620
|
+
*/
|
|
1621
|
+
declare type AriaLabelOptions = {
|
|
1622
|
+
activeTab?: string | ((ctx: TabAriaLabelContext) => string);
|
|
1623
|
+
inactiveTab?: string | ((ctx: TabAriaLabelContext) => string);
|
|
1624
|
+
closeButton?: string | ((ctx: CloseButtonAriaLabelContext) => string);
|
|
1625
|
+
addTabButton?: string | ((ctx: AddTabButtonAriaLabelContext) => string);
|
|
1626
|
+
};
|
|
1627
|
+
|
|
1599
1628
|
declare interface AuthorizationPayload {
|
|
1600
1629
|
token: string;
|
|
1601
1630
|
file: string;
|
|
@@ -3112,6 +3141,11 @@ declare type ClearCacheOption = {
|
|
|
3112
3141
|
* browser data that can be used across sessions
|
|
3113
3142
|
*/
|
|
3114
3143
|
localStorage?: boolean;
|
|
3144
|
+
/**
|
|
3145
|
+
* Clears saved window-state data written for windows that use `saveWindowState`.
|
|
3146
|
+
* After this data is cleared, previously persisted bounds and state (Maximized/Minimized) will not be restored until new state is written again.
|
|
3147
|
+
*/
|
|
3148
|
+
windowState?: boolean;
|
|
3115
3149
|
};
|
|
3116
3150
|
|
|
3117
3151
|
/**
|
|
@@ -3154,6 +3188,11 @@ declare type ClearDataOptions = {
|
|
|
3154
3188
|
* - `origin-in-all-contexts` - Storage is matched on origin only in all contexts.
|
|
3155
3189
|
*/
|
|
3156
3190
|
originMatchingMode?: 'third-parties-included' | 'origin-in-all-contexts';
|
|
3191
|
+
/**
|
|
3192
|
+
* Clears saved window-state data written for windows that use `saveWindowState`.
|
|
3193
|
+
* After this data is cleared, previously persisted bounds and state (Maximized/Minimized) will not be restored until new state is written again.
|
|
3194
|
+
*/
|
|
3195
|
+
windowState?: boolean;
|
|
3157
3196
|
};
|
|
3158
3197
|
|
|
3159
3198
|
/**
|
|
@@ -3441,6 +3480,15 @@ declare type ClipboardPermissions = {
|
|
|
3441
3480
|
*/
|
|
3442
3481
|
declare type ClipboardSelectionType = 'clipboard' | 'selection';
|
|
3443
3482
|
|
|
3483
|
+
/**
|
|
3484
|
+
* @interface
|
|
3485
|
+
* Context for close button aria-label functions.
|
|
3486
|
+
*/
|
|
3487
|
+
declare type CloseButtonAriaLabelContext = AccessibilityContext & {
|
|
3488
|
+
title: string;
|
|
3489
|
+
isActive: boolean;
|
|
3490
|
+
};
|
|
3491
|
+
|
|
3444
3492
|
/**
|
|
3445
3493
|
* Generated when an application is closed.
|
|
3446
3494
|
* @interface
|
|
@@ -4453,6 +4501,10 @@ declare type CreateLayoutOptions = {
|
|
|
4453
4501
|
* @experimental
|
|
4454
4502
|
*/
|
|
4455
4503
|
renderCustomHeaderControls?: (controlsElement: HTMLElement, context: HeaderControlsContext) => (() => void) | void;
|
|
4504
|
+
/**
|
|
4505
|
+
* Accessibility options for the layout. Controls ARIA attributes and keyboard navigation.
|
|
4506
|
+
*/
|
|
4507
|
+
accessibilityOptions?: LayoutAccessibilityOptions;
|
|
4456
4508
|
};
|
|
4457
4509
|
|
|
4458
4510
|
/**
|
|
@@ -5136,7 +5188,7 @@ declare interface Environment {
|
|
|
5136
5188
|
layoutAllowedInContext(fin: OpenFin.Fin<OpenFin.EntityType>): boolean;
|
|
5137
5189
|
initLayoutManager(fin: OpenFin.Fin<OpenFin.EntityType>, wire: Transport, options: OpenFin.InitLayoutOptions): Promise<OpenFin.LayoutManager<OpenFin.LayoutSnapshot>>;
|
|
5138
5190
|
applyLayoutSnapshot(fin: OpenFin.Fin<OpenFin.EntityType>, layoutManager: OpenFin.LayoutManager<OpenFin.LayoutSnapshot>, options: OpenFin.InitLayoutOptions): Promise<void>;
|
|
5139
|
-
createLayout(layoutManager: OpenFin.LayoutManager<OpenFin.LayoutSnapshot>, options: OpenFin.CreateLayoutOptions): Promise<
|
|
5191
|
+
createLayout(layoutManager: OpenFin.LayoutManager<OpenFin.LayoutSnapshot>, options: OpenFin.CreateLayoutOptions): Promise<OpenFin.LayoutSyncApi>;
|
|
5140
5192
|
destroyLayout(layoutManager: OpenFin.LayoutManager<OpenFin.LayoutSnapshot>, layoutIdentity: OpenFin.LayoutIdentity): Promise<void>;
|
|
5141
5193
|
resolveLayout(layoutManager: OpenFin.LayoutManager<OpenFin.LayoutSnapshot>, layoutIdentity: OpenFin.LayoutIdentity): Promise<any>;
|
|
5142
5194
|
initPlatform(fin: OpenFin.Fin<OpenFin.EntityType>, ...args: Parameters<OpenFin.Fin['Platform']['init']>): ReturnType<OpenFin.Fin['Platform']['init']>;
|
|
@@ -8734,6 +8786,27 @@ declare class Layout extends Base {
|
|
|
8734
8786
|
closeView(viewIdentity: OpenFin.Identity): Promise<void>;
|
|
8735
8787
|
}
|
|
8736
8788
|
|
|
8789
|
+
/**
|
|
8790
|
+
* @interface
|
|
8791
|
+
* Accessibility options for layout tab navigation and ARIA support.
|
|
8792
|
+
*/
|
|
8793
|
+
declare type LayoutAccessibilityOptions = {
|
|
8794
|
+
viewTabOptions?: ViewTabAccessibilityOptions;
|
|
8795
|
+
/**
|
|
8796
|
+
* Keyboard shortcut used to move focus from a tab header element into the active tab's web content.
|
|
8797
|
+
*
|
|
8798
|
+
* - Accepts an accelerator-like string, e.g. `'Ctrl+Enter'`, `'Meta+Enter'`, `'Alt+Enter'`, `'Mod+Enter'`.
|
|
8799
|
+
* - `'Mod'`/`'CmdOrCtrl'`/`'CtrlOrMeta'` means Ctrl on Windows/Linux or Meta on macOS.
|
|
8800
|
+
* - Set to `false` to disable this shortcut.
|
|
8801
|
+
* - In core-web, reverse focus transfer (from iframe web content back to tab header) is not reliably supportable
|
|
8802
|
+
* due to browser iframe security and cross-origin focus restrictions. This hotkey is intentionally one-way:
|
|
8803
|
+
* tab header -> web content.
|
|
8804
|
+
*
|
|
8805
|
+
* @defaultValue 'Mod+Enter'
|
|
8806
|
+
*/
|
|
8807
|
+
focusContentHotkey?: string | false;
|
|
8808
|
+
};
|
|
8809
|
+
|
|
8737
8810
|
/**
|
|
8738
8811
|
* @interface
|
|
8739
8812
|
*/
|
|
@@ -9117,7 +9190,7 @@ declare class LayoutModule extends Base {
|
|
|
9117
9190
|
* @returns
|
|
9118
9191
|
*/
|
|
9119
9192
|
getCurrentLayoutManagerSync: <UserSnapshotType extends OpenFin.LayoutSnapshot>() => OpenFin.LayoutManager<UserSnapshotType>;
|
|
9120
|
-
create: (options: OpenFin.CreateLayoutOptions) => Promise<
|
|
9193
|
+
create: (options: OpenFin.CreateLayoutOptions) => Promise<OpenFin.LayoutSyncApi>;
|
|
9121
9194
|
destroy: (layoutIdentity: OpenFin.LayoutIdentity) => Promise<void>;
|
|
9122
9195
|
}
|
|
9123
9196
|
|
|
@@ -9319,6 +9392,19 @@ declare type LayoutStateChangedEvent = LayoutDOMEvent & {
|
|
|
9319
9392
|
type: 'layout-state-changed';
|
|
9320
9393
|
};
|
|
9321
9394
|
|
|
9395
|
+
/**
|
|
9396
|
+
* @interface
|
|
9397
|
+
* Sync API returned from Layout.create() for operations that don't require IPC.
|
|
9398
|
+
* Only available in the window context that owns the layout.
|
|
9399
|
+
*/
|
|
9400
|
+
declare type LayoutSyncApi = {
|
|
9401
|
+
/**
|
|
9402
|
+
* Updates accessibility options at runtime without recreating the layout.
|
|
9403
|
+
* @param options Partial accessibility options to merge with existing options
|
|
9404
|
+
*/
|
|
9405
|
+
updateAccessibilityOptions(options: Partial<LayoutAccessibilityOptions>): void;
|
|
9406
|
+
};
|
|
9407
|
+
|
|
9322
9408
|
/**
|
|
9323
9409
|
* @interface
|
|
9324
9410
|
*/
|
|
@@ -9468,6 +9554,15 @@ declare type LogUploadOptions = {
|
|
|
9468
9554
|
* Max file size limit in Megabytes for the logs archive.
|
|
9469
9555
|
*/
|
|
9470
9556
|
sizeLimit?: number;
|
|
9557
|
+
/**
|
|
9558
|
+
* HTTP method used to upload the log archive.
|
|
9559
|
+
* Accepted values are `'POST'` and `'PUT'` (case-insensitive; values are normalised to uppercase before validation).
|
|
9560
|
+
* - `POST` sends a multipart `FormData` request (current behaviour).
|
|
9561
|
+
* - `PUT` sends the raw zip binary with an explicit `Content-Length` and no `Content-Type` header,
|
|
9562
|
+
* suitable for endpoints that expect a raw body (e.g. pre-signed upload URLs).
|
|
9563
|
+
* @defaultValue 'POST'
|
|
9564
|
+
*/
|
|
9565
|
+
method?: 'POST' | 'PUT';
|
|
9471
9566
|
};
|
|
9472
9567
|
|
|
9473
9568
|
/**
|
|
@@ -10832,6 +10927,15 @@ declare namespace OpenFin {
|
|
|
10832
10927
|
HeaderControlsContext,
|
|
10833
10928
|
CreateLayoutOptions,
|
|
10834
10929
|
MultiInstanceViewBehavior,
|
|
10930
|
+
LayoutAccessibilityOptions,
|
|
10931
|
+
ViewTabElements,
|
|
10932
|
+
ViewTabAccessibilityOptions,
|
|
10933
|
+
AccessibilityContext,
|
|
10934
|
+
TabAriaLabelContext,
|
|
10935
|
+
CloseButtonAriaLabelContext,
|
|
10936
|
+
AddTabButtonAriaLabelContext,
|
|
10937
|
+
AriaLabelOptions,
|
|
10938
|
+
LayoutSyncApi,
|
|
10835
10939
|
PresetLayoutOptions_2 as PresetLayoutOptions,
|
|
10836
10940
|
ResultBehavior,
|
|
10837
10941
|
PopupBaseBehavior,
|
|
@@ -12563,6 +12667,38 @@ declare interface PlatformProvider {
|
|
|
12563
12667
|
* @returns A promise resolving to `true` if the window should prevent the app from quitting, otherwise `false`.
|
|
12564
12668
|
*/
|
|
12565
12669
|
shouldWindowPreventQuit(windowIdentity: OpenFin.Identity): Promise<boolean>;
|
|
12670
|
+
/**
|
|
12671
|
+
* Returns the platform's keyboard commands. Default implementation returns the manifest's
|
|
12672
|
+
* `platform.commands`. Override to inject additional default commands.
|
|
12673
|
+
* Called once during Platform.init; the result is cached for the lifetime
|
|
12674
|
+
* of the platform.
|
|
12675
|
+
*
|
|
12676
|
+
* @remarks
|
|
12677
|
+
* The returned commands are merged with core's built-in default commands
|
|
12678
|
+
* (unless `disableDefaultCommands` is set).
|
|
12679
|
+
* Overriders receive the raw manifest commands from `super` and can prepend
|
|
12680
|
+
* their own defaults — returned commands override default commands by command name.
|
|
12681
|
+
*
|
|
12682
|
+
* @example
|
|
12683
|
+
* ```js
|
|
12684
|
+
* const overrideCallback = (PlatformProvider) => {
|
|
12685
|
+
* class Override extends PlatformProvider {
|
|
12686
|
+
* getKeyboardCommands() {
|
|
12687
|
+
* const manifestCommands = super.getKeyboardCommands();
|
|
12688
|
+
* const myCommands = [{ command: 'myApp.search', keys: 'Ctrl+K' }];
|
|
12689
|
+
* return [
|
|
12690
|
+
* ...myCommands,
|
|
12691
|
+
* ...manifestCommands
|
|
12692
|
+
* ];
|
|
12693
|
+
* }
|
|
12694
|
+
* }
|
|
12695
|
+
* return new Override();
|
|
12696
|
+
* }
|
|
12697
|
+
*
|
|
12698
|
+
* fin.Platform.init({ overrideCallback });
|
|
12699
|
+
* ```
|
|
12700
|
+
*/
|
|
12701
|
+
getKeyboardCommands(): OpenFin.ShortcutOverride[];
|
|
12566
12702
|
/**
|
|
12567
12703
|
* Method that is called every time an error occurs when processing an action in the Platform Provider. It is meant to be overriden, as a means to debug Platform applications
|
|
12568
12704
|
*/
|
|
@@ -15170,13 +15306,15 @@ declare class System extends EmitterBase<OpenFin.SystemEvent> {
|
|
|
15170
15306
|
* * cookies: browser [cookies](https://developer.mozilla.org/en-US/docs/Web/HTTP/Cookies)
|
|
15171
15307
|
* * localStorage: browser data that can be used across sessions ([local storage](https://developer.mozilla.org/en-US/docs/Web/API/Window/localStorage))
|
|
15172
15308
|
* * appcache: html5 [application cache](https://developer.mozilla.org/en-US/docs/Web/HTML/Using_the_application_cache)
|
|
15309
|
+
* * windowState: clears data written for windows using `saveWindowState`; after clearing, previously saved bounds and state will not be restored until new state is written
|
|
15173
15310
|
* @example
|
|
15174
15311
|
* ```js
|
|
15175
15312
|
* const clearCacheOptions = {
|
|
15176
15313
|
* appcache: true,
|
|
15177
15314
|
* cache: true,
|
|
15178
15315
|
* cookies: true,
|
|
15179
|
-
* localStorage: true
|
|
15316
|
+
* localStorage: true,
|
|
15317
|
+
* windowState: true
|
|
15180
15318
|
* };
|
|
15181
15319
|
* fin.System.clearCache(clearCacheOptions).then(() => console.log('Cache cleared')).catch(err => console.log(err));
|
|
15182
15320
|
* ```
|
|
@@ -15201,12 +15339,16 @@ declare class System extends EmitterBase<OpenFin.SystemEvent> {
|
|
|
15201
15339
|
*
|
|
15202
15340
|
* @param options - Optional configuration for what data to clear
|
|
15203
15341
|
*
|
|
15342
|
+
* @remarks Set `windowState: true` to also clear data written for windows using `saveWindowState`.
|
|
15343
|
+
* After this data is cleared, previously saved bounds and state will not be restored until new state is written again.
|
|
15344
|
+
*
|
|
15204
15345
|
* @example
|
|
15205
15346
|
* ```js
|
|
15206
15347
|
* // Clear only cookies and localStorage for a specific origin
|
|
15207
15348
|
* await fin.System.clearCacheData({
|
|
15208
15349
|
* dataTypes: ['cookies', 'localStorage'],
|
|
15209
|
-
* origins: ['http://localhost:8081']
|
|
15350
|
+
* origins: ['http://localhost:8081'],
|
|
15351
|
+
* windowState: true
|
|
15210
15352
|
* });
|
|
15211
15353
|
*
|
|
15212
15354
|
* // Clear everything except for a specific origin
|
|
@@ -16975,6 +17117,17 @@ declare type SystemShutdownHandler = (shutdownEvent: {
|
|
|
16975
17117
|
proceed: () => void;
|
|
16976
17118
|
}) => void;
|
|
16977
17119
|
|
|
17120
|
+
/**
|
|
17121
|
+
* @interface
|
|
17122
|
+
* Context for tab aria-label functions.
|
|
17123
|
+
*/
|
|
17124
|
+
declare type TabAriaLabelContext = AccessibilityContext & {
|
|
17125
|
+
title: string;
|
|
17126
|
+
isActive: boolean;
|
|
17127
|
+
tabIndex: number;
|
|
17128
|
+
tabCount: number;
|
|
17129
|
+
};
|
|
17130
|
+
|
|
16978
17131
|
/**
|
|
16979
17132
|
* Generated when a Layout Tab Component was closed.
|
|
16980
17133
|
* @interface
|
|
@@ -18449,6 +18602,53 @@ declare interface ViewStatuses {
|
|
|
18449
18602
|
viewsNotPreventingUnload: Identity_4[];
|
|
18450
18603
|
}
|
|
18451
18604
|
|
|
18605
|
+
/**
|
|
18606
|
+
* @interface
|
|
18607
|
+
* Accessibility options for view tab navigation.
|
|
18608
|
+
*/
|
|
18609
|
+
declare type ViewTabAccessibilityOptions = {
|
|
18610
|
+
/**
|
|
18611
|
+
* Controls which elements are reachable via Tab key navigation.
|
|
18612
|
+
* Uses roving tabindex pattern - only one element focusable at a time.
|
|
18613
|
+
* @default ['active-tab', 'add-tab-button']
|
|
18614
|
+
*/
|
|
18615
|
+
tabNavigation?: ViewTabElements[];
|
|
18616
|
+
/**
|
|
18617
|
+
* Controls which elements are navigable via Arrow keys.
|
|
18618
|
+
* @default ['inactive-tab', 'active-tab', 'active-tab-close-button', 'inactive-tab-close-button', 'add-tab-button']
|
|
18619
|
+
*/
|
|
18620
|
+
arrowNavigation?: ViewTabElements[];
|
|
18621
|
+
/**
|
|
18622
|
+
* Whether Delete/Backspace keys close the focused tab.
|
|
18623
|
+
* @default false
|
|
18624
|
+
*/
|
|
18625
|
+
enableDeleteKeyClose?: boolean;
|
|
18626
|
+
/**
|
|
18627
|
+
* Whether Home/End keys jump to first/last navigable element.
|
|
18628
|
+
* @default false
|
|
18629
|
+
*/
|
|
18630
|
+
enableHomeEndNavigation?: boolean;
|
|
18631
|
+
/**
|
|
18632
|
+
* Custom aria-label providers. Can be a static string or a function receiving context.
|
|
18633
|
+
*/
|
|
18634
|
+
ariaLabels?: AriaLabelOptions;
|
|
18635
|
+
/**
|
|
18636
|
+
* Whether to announce tab changes via aria-live.
|
|
18637
|
+
* @default true
|
|
18638
|
+
*/
|
|
18639
|
+
announceTabChanges?: boolean;
|
|
18640
|
+
/**
|
|
18641
|
+
* Focus behavior when a tab is closed via keyboard.
|
|
18642
|
+
* @default 'next'
|
|
18643
|
+
*/
|
|
18644
|
+
focusOnCloseStrategy?: 'next' | 'previous' | 'active';
|
|
18645
|
+
};
|
|
18646
|
+
|
|
18647
|
+
/**
|
|
18648
|
+
* Elements that can be navigated in view tabs.
|
|
18649
|
+
*/
|
|
18650
|
+
declare type ViewTabElements = 'active-tab' | 'inactive-tab' | 'active-tab-close-button' | 'inactive-tab-close-button' | 'add-tab-button';
|
|
18651
|
+
|
|
18452
18652
|
/**
|
|
18453
18653
|
* View throttling state.
|
|
18454
18654
|
*
|
package/out/fdc3-api-public.d.ts
CHANGED
|
@@ -42,6 +42,16 @@ declare type Accelerator = {
|
|
|
42
42
|
zoom: boolean;
|
|
43
43
|
};
|
|
44
44
|
|
|
45
|
+
/**
|
|
46
|
+
* @interface
|
|
47
|
+
* Shared context available to all aria label functions.
|
|
48
|
+
*/
|
|
49
|
+
declare type AccessibilityContext = {
|
|
50
|
+
arrowNavigationEnabled: boolean;
|
|
51
|
+
deleteKeyCloseEnabled: boolean;
|
|
52
|
+
homeEndNavigationEnabled: boolean;
|
|
53
|
+
};
|
|
54
|
+
|
|
45
55
|
/**
|
|
46
56
|
* Generated when a View is added to a layout.
|
|
47
57
|
* @interface
|
|
@@ -51,6 +61,14 @@ declare type AddedToLayoutEvent = BaseEvent_4 & {
|
|
|
51
61
|
layoutIdentity: OpenFin.LayoutIdentity;
|
|
52
62
|
};
|
|
53
63
|
|
|
64
|
+
/**
|
|
65
|
+
* @interface
|
|
66
|
+
* Context for add tab button aria-label functions.
|
|
67
|
+
*/
|
|
68
|
+
declare type AddTabButtonAriaLabelContext = AccessibilityContext & {
|
|
69
|
+
tabCount: number;
|
|
70
|
+
};
|
|
71
|
+
|
|
54
72
|
/**
|
|
55
73
|
* Options to use when adding a view to a {@link TabStack}.
|
|
56
74
|
*
|
|
@@ -1596,6 +1614,17 @@ declare type AppVersionRuntimeStatusEvent = {
|
|
|
1596
1614
|
|
|
1597
1615
|
/* Excluded from this release type: AppVersionTypeFromIdEvent */
|
|
1598
1616
|
|
|
1617
|
+
/**
|
|
1618
|
+
* @interface
|
|
1619
|
+
* Custom aria-label providers for accessibility.
|
|
1620
|
+
*/
|
|
1621
|
+
declare type AriaLabelOptions = {
|
|
1622
|
+
activeTab?: string | ((ctx: TabAriaLabelContext) => string);
|
|
1623
|
+
inactiveTab?: string | ((ctx: TabAriaLabelContext) => string);
|
|
1624
|
+
closeButton?: string | ((ctx: CloseButtonAriaLabelContext) => string);
|
|
1625
|
+
addTabButton?: string | ((ctx: AddTabButtonAriaLabelContext) => string);
|
|
1626
|
+
};
|
|
1627
|
+
|
|
1599
1628
|
declare interface AuthorizationPayload {
|
|
1600
1629
|
token: string;
|
|
1601
1630
|
file: string;
|
|
@@ -3112,6 +3141,11 @@ declare type ClearCacheOption = {
|
|
|
3112
3141
|
* browser data that can be used across sessions
|
|
3113
3142
|
*/
|
|
3114
3143
|
localStorage?: boolean;
|
|
3144
|
+
/**
|
|
3145
|
+
* Clears saved window-state data written for windows that use `saveWindowState`.
|
|
3146
|
+
* After this data is cleared, previously persisted bounds and state (Maximized/Minimized) will not be restored until new state is written again.
|
|
3147
|
+
*/
|
|
3148
|
+
windowState?: boolean;
|
|
3115
3149
|
};
|
|
3116
3150
|
|
|
3117
3151
|
/**
|
|
@@ -3154,6 +3188,11 @@ declare type ClearDataOptions = {
|
|
|
3154
3188
|
* - `origin-in-all-contexts` - Storage is matched on origin only in all contexts.
|
|
3155
3189
|
*/
|
|
3156
3190
|
originMatchingMode?: 'third-parties-included' | 'origin-in-all-contexts';
|
|
3191
|
+
/**
|
|
3192
|
+
* Clears saved window-state data written for windows that use `saveWindowState`.
|
|
3193
|
+
* After this data is cleared, previously persisted bounds and state (Maximized/Minimized) will not be restored until new state is written again.
|
|
3194
|
+
*/
|
|
3195
|
+
windowState?: boolean;
|
|
3157
3196
|
};
|
|
3158
3197
|
|
|
3159
3198
|
/**
|
|
@@ -3441,6 +3480,15 @@ declare type ClipboardPermissions = {
|
|
|
3441
3480
|
*/
|
|
3442
3481
|
declare type ClipboardSelectionType = 'clipboard' | 'selection';
|
|
3443
3482
|
|
|
3483
|
+
/**
|
|
3484
|
+
* @interface
|
|
3485
|
+
* Context for close button aria-label functions.
|
|
3486
|
+
*/
|
|
3487
|
+
declare type CloseButtonAriaLabelContext = AccessibilityContext & {
|
|
3488
|
+
title: string;
|
|
3489
|
+
isActive: boolean;
|
|
3490
|
+
};
|
|
3491
|
+
|
|
3444
3492
|
/**
|
|
3445
3493
|
* Generated when an application is closed.
|
|
3446
3494
|
* @interface
|
|
@@ -4453,6 +4501,10 @@ declare type CreateLayoutOptions = {
|
|
|
4453
4501
|
* @experimental
|
|
4454
4502
|
*/
|
|
4455
4503
|
renderCustomHeaderControls?: (controlsElement: HTMLElement, context: HeaderControlsContext) => (() => void) | void;
|
|
4504
|
+
/**
|
|
4505
|
+
* Accessibility options for the layout. Controls ARIA attributes and keyboard navigation.
|
|
4506
|
+
*/
|
|
4507
|
+
accessibilityOptions?: LayoutAccessibilityOptions;
|
|
4456
4508
|
};
|
|
4457
4509
|
|
|
4458
4510
|
/**
|
|
@@ -5136,7 +5188,7 @@ declare interface Environment {
|
|
|
5136
5188
|
layoutAllowedInContext(fin: OpenFin.Fin<OpenFin.EntityType>): boolean;
|
|
5137
5189
|
initLayoutManager(fin: OpenFin.Fin<OpenFin.EntityType>, wire: Transport, options: OpenFin.InitLayoutOptions): Promise<OpenFin.LayoutManager<OpenFin.LayoutSnapshot>>;
|
|
5138
5190
|
applyLayoutSnapshot(fin: OpenFin.Fin<OpenFin.EntityType>, layoutManager: OpenFin.LayoutManager<OpenFin.LayoutSnapshot>, options: OpenFin.InitLayoutOptions): Promise<void>;
|
|
5139
|
-
createLayout(layoutManager: OpenFin.LayoutManager<OpenFin.LayoutSnapshot>, options: OpenFin.CreateLayoutOptions): Promise<
|
|
5191
|
+
createLayout(layoutManager: OpenFin.LayoutManager<OpenFin.LayoutSnapshot>, options: OpenFin.CreateLayoutOptions): Promise<OpenFin.LayoutSyncApi>;
|
|
5140
5192
|
destroyLayout(layoutManager: OpenFin.LayoutManager<OpenFin.LayoutSnapshot>, layoutIdentity: OpenFin.LayoutIdentity): Promise<void>;
|
|
5141
5193
|
resolveLayout(layoutManager: OpenFin.LayoutManager<OpenFin.LayoutSnapshot>, layoutIdentity: OpenFin.LayoutIdentity): Promise<any>;
|
|
5142
5194
|
initPlatform(fin: OpenFin.Fin<OpenFin.EntityType>, ...args: Parameters<OpenFin.Fin['Platform']['init']>): ReturnType<OpenFin.Fin['Platform']['init']>;
|
|
@@ -8734,6 +8786,27 @@ declare class Layout extends Base {
|
|
|
8734
8786
|
closeView(viewIdentity: OpenFin.Identity): Promise<void>;
|
|
8735
8787
|
}
|
|
8736
8788
|
|
|
8789
|
+
/**
|
|
8790
|
+
* @interface
|
|
8791
|
+
* Accessibility options for layout tab navigation and ARIA support.
|
|
8792
|
+
*/
|
|
8793
|
+
declare type LayoutAccessibilityOptions = {
|
|
8794
|
+
viewTabOptions?: ViewTabAccessibilityOptions;
|
|
8795
|
+
/**
|
|
8796
|
+
* Keyboard shortcut used to move focus from a tab header element into the active tab's web content.
|
|
8797
|
+
*
|
|
8798
|
+
* - Accepts an accelerator-like string, e.g. `'Ctrl+Enter'`, `'Meta+Enter'`, `'Alt+Enter'`, `'Mod+Enter'`.
|
|
8799
|
+
* - `'Mod'`/`'CmdOrCtrl'`/`'CtrlOrMeta'` means Ctrl on Windows/Linux or Meta on macOS.
|
|
8800
|
+
* - Set to `false` to disable this shortcut.
|
|
8801
|
+
* - In core-web, reverse focus transfer (from iframe web content back to tab header) is not reliably supportable
|
|
8802
|
+
* due to browser iframe security and cross-origin focus restrictions. This hotkey is intentionally one-way:
|
|
8803
|
+
* tab header -> web content.
|
|
8804
|
+
*
|
|
8805
|
+
* @defaultValue 'Mod+Enter'
|
|
8806
|
+
*/
|
|
8807
|
+
focusContentHotkey?: string | false;
|
|
8808
|
+
};
|
|
8809
|
+
|
|
8737
8810
|
/**
|
|
8738
8811
|
* @interface
|
|
8739
8812
|
*/
|
|
@@ -9117,7 +9190,7 @@ declare class LayoutModule extends Base {
|
|
|
9117
9190
|
* @returns
|
|
9118
9191
|
*/
|
|
9119
9192
|
getCurrentLayoutManagerSync: <UserSnapshotType extends OpenFin.LayoutSnapshot>() => OpenFin.LayoutManager<UserSnapshotType>;
|
|
9120
|
-
create: (options: OpenFin.CreateLayoutOptions) => Promise<
|
|
9193
|
+
create: (options: OpenFin.CreateLayoutOptions) => Promise<OpenFin.LayoutSyncApi>;
|
|
9121
9194
|
destroy: (layoutIdentity: OpenFin.LayoutIdentity) => Promise<void>;
|
|
9122
9195
|
}
|
|
9123
9196
|
|
|
@@ -9319,6 +9392,19 @@ declare type LayoutStateChangedEvent = LayoutDOMEvent & {
|
|
|
9319
9392
|
type: 'layout-state-changed';
|
|
9320
9393
|
};
|
|
9321
9394
|
|
|
9395
|
+
/**
|
|
9396
|
+
* @interface
|
|
9397
|
+
* Sync API returned from Layout.create() for operations that don't require IPC.
|
|
9398
|
+
* Only available in the window context that owns the layout.
|
|
9399
|
+
*/
|
|
9400
|
+
declare type LayoutSyncApi = {
|
|
9401
|
+
/**
|
|
9402
|
+
* Updates accessibility options at runtime without recreating the layout.
|
|
9403
|
+
* @param options Partial accessibility options to merge with existing options
|
|
9404
|
+
*/
|
|
9405
|
+
updateAccessibilityOptions(options: Partial<LayoutAccessibilityOptions>): void;
|
|
9406
|
+
};
|
|
9407
|
+
|
|
9322
9408
|
/**
|
|
9323
9409
|
* @interface
|
|
9324
9410
|
*/
|
|
@@ -9468,6 +9554,15 @@ declare type LogUploadOptions = {
|
|
|
9468
9554
|
* Max file size limit in Megabytes for the logs archive.
|
|
9469
9555
|
*/
|
|
9470
9556
|
sizeLimit?: number;
|
|
9557
|
+
/**
|
|
9558
|
+
* HTTP method used to upload the log archive.
|
|
9559
|
+
* Accepted values are `'POST'` and `'PUT'` (case-insensitive; values are normalised to uppercase before validation).
|
|
9560
|
+
* - `POST` sends a multipart `FormData` request (current behaviour).
|
|
9561
|
+
* - `PUT` sends the raw zip binary with an explicit `Content-Length` and no `Content-Type` header,
|
|
9562
|
+
* suitable for endpoints that expect a raw body (e.g. pre-signed upload URLs).
|
|
9563
|
+
* @defaultValue 'POST'
|
|
9564
|
+
*/
|
|
9565
|
+
method?: 'POST' | 'PUT';
|
|
9471
9566
|
};
|
|
9472
9567
|
|
|
9473
9568
|
/**
|
|
@@ -10832,6 +10927,15 @@ declare namespace OpenFin {
|
|
|
10832
10927
|
HeaderControlsContext,
|
|
10833
10928
|
CreateLayoutOptions,
|
|
10834
10929
|
MultiInstanceViewBehavior,
|
|
10930
|
+
LayoutAccessibilityOptions,
|
|
10931
|
+
ViewTabElements,
|
|
10932
|
+
ViewTabAccessibilityOptions,
|
|
10933
|
+
AccessibilityContext,
|
|
10934
|
+
TabAriaLabelContext,
|
|
10935
|
+
CloseButtonAriaLabelContext,
|
|
10936
|
+
AddTabButtonAriaLabelContext,
|
|
10937
|
+
AriaLabelOptions,
|
|
10938
|
+
LayoutSyncApi,
|
|
10835
10939
|
PresetLayoutOptions_2 as PresetLayoutOptions,
|
|
10836
10940
|
ResultBehavior,
|
|
10837
10941
|
PopupBaseBehavior,
|
|
@@ -12563,6 +12667,38 @@ declare interface PlatformProvider {
|
|
|
12563
12667
|
* @returns A promise resolving to `true` if the window should prevent the app from quitting, otherwise `false`.
|
|
12564
12668
|
*/
|
|
12565
12669
|
shouldWindowPreventQuit(windowIdentity: OpenFin.Identity): Promise<boolean>;
|
|
12670
|
+
/**
|
|
12671
|
+
* Returns the platform's keyboard commands. Default implementation returns the manifest's
|
|
12672
|
+
* `platform.commands`. Override to inject additional default commands.
|
|
12673
|
+
* Called once during Platform.init; the result is cached for the lifetime
|
|
12674
|
+
* of the platform.
|
|
12675
|
+
*
|
|
12676
|
+
* @remarks
|
|
12677
|
+
* The returned commands are merged with core's built-in default commands
|
|
12678
|
+
* (unless `disableDefaultCommands` is set).
|
|
12679
|
+
* Overriders receive the raw manifest commands from `super` and can prepend
|
|
12680
|
+
* their own defaults — returned commands override default commands by command name.
|
|
12681
|
+
*
|
|
12682
|
+
* @example
|
|
12683
|
+
* ```js
|
|
12684
|
+
* const overrideCallback = (PlatformProvider) => {
|
|
12685
|
+
* class Override extends PlatformProvider {
|
|
12686
|
+
* getKeyboardCommands() {
|
|
12687
|
+
* const manifestCommands = super.getKeyboardCommands();
|
|
12688
|
+
* const myCommands = [{ command: 'myApp.search', keys: 'Ctrl+K' }];
|
|
12689
|
+
* return [
|
|
12690
|
+
* ...myCommands,
|
|
12691
|
+
* ...manifestCommands
|
|
12692
|
+
* ];
|
|
12693
|
+
* }
|
|
12694
|
+
* }
|
|
12695
|
+
* return new Override();
|
|
12696
|
+
* }
|
|
12697
|
+
*
|
|
12698
|
+
* fin.Platform.init({ overrideCallback });
|
|
12699
|
+
* ```
|
|
12700
|
+
*/
|
|
12701
|
+
getKeyboardCommands(): OpenFin.ShortcutOverride[];
|
|
12566
12702
|
/**
|
|
12567
12703
|
* Method that is called every time an error occurs when processing an action in the Platform Provider. It is meant to be overriden, as a means to debug Platform applications
|
|
12568
12704
|
*/
|
|
@@ -15170,13 +15306,15 @@ declare class System extends EmitterBase<OpenFin.SystemEvent> {
|
|
|
15170
15306
|
* * cookies: browser [cookies](https://developer.mozilla.org/en-US/docs/Web/HTTP/Cookies)
|
|
15171
15307
|
* * localStorage: browser data that can be used across sessions ([local storage](https://developer.mozilla.org/en-US/docs/Web/API/Window/localStorage))
|
|
15172
15308
|
* * appcache: html5 [application cache](https://developer.mozilla.org/en-US/docs/Web/HTML/Using_the_application_cache)
|
|
15309
|
+
* * windowState: clears data written for windows using `saveWindowState`; after clearing, previously saved bounds and state will not be restored until new state is written
|
|
15173
15310
|
* @example
|
|
15174
15311
|
* ```js
|
|
15175
15312
|
* const clearCacheOptions = {
|
|
15176
15313
|
* appcache: true,
|
|
15177
15314
|
* cache: true,
|
|
15178
15315
|
* cookies: true,
|
|
15179
|
-
* localStorage: true
|
|
15316
|
+
* localStorage: true,
|
|
15317
|
+
* windowState: true
|
|
15180
15318
|
* };
|
|
15181
15319
|
* fin.System.clearCache(clearCacheOptions).then(() => console.log('Cache cleared')).catch(err => console.log(err));
|
|
15182
15320
|
* ```
|
|
@@ -15201,12 +15339,16 @@ declare class System extends EmitterBase<OpenFin.SystemEvent> {
|
|
|
15201
15339
|
*
|
|
15202
15340
|
* @param options - Optional configuration for what data to clear
|
|
15203
15341
|
*
|
|
15342
|
+
* @remarks Set `windowState: true` to also clear data written for windows using `saveWindowState`.
|
|
15343
|
+
* After this data is cleared, previously saved bounds and state will not be restored until new state is written again.
|
|
15344
|
+
*
|
|
15204
15345
|
* @example
|
|
15205
15346
|
* ```js
|
|
15206
15347
|
* // Clear only cookies and localStorage for a specific origin
|
|
15207
15348
|
* await fin.System.clearCacheData({
|
|
15208
15349
|
* dataTypes: ['cookies', 'localStorage'],
|
|
15209
|
-
* origins: ['http://localhost:8081']
|
|
15350
|
+
* origins: ['http://localhost:8081'],
|
|
15351
|
+
* windowState: true
|
|
15210
15352
|
* });
|
|
15211
15353
|
*
|
|
15212
15354
|
* // Clear everything except for a specific origin
|
|
@@ -16975,6 +17117,17 @@ declare type SystemShutdownHandler = (shutdownEvent: {
|
|
|
16975
17117
|
proceed: () => void;
|
|
16976
17118
|
}) => void;
|
|
16977
17119
|
|
|
17120
|
+
/**
|
|
17121
|
+
* @interface
|
|
17122
|
+
* Context for tab aria-label functions.
|
|
17123
|
+
*/
|
|
17124
|
+
declare type TabAriaLabelContext = AccessibilityContext & {
|
|
17125
|
+
title: string;
|
|
17126
|
+
isActive: boolean;
|
|
17127
|
+
tabIndex: number;
|
|
17128
|
+
tabCount: number;
|
|
17129
|
+
};
|
|
17130
|
+
|
|
16978
17131
|
/**
|
|
16979
17132
|
* Generated when a Layout Tab Component was closed.
|
|
16980
17133
|
* @interface
|
|
@@ -18449,6 +18602,53 @@ declare interface ViewStatuses {
|
|
|
18449
18602
|
viewsNotPreventingUnload: Identity_4[];
|
|
18450
18603
|
}
|
|
18451
18604
|
|
|
18605
|
+
/**
|
|
18606
|
+
* @interface
|
|
18607
|
+
* Accessibility options for view tab navigation.
|
|
18608
|
+
*/
|
|
18609
|
+
declare type ViewTabAccessibilityOptions = {
|
|
18610
|
+
/**
|
|
18611
|
+
* Controls which elements are reachable via Tab key navigation.
|
|
18612
|
+
* Uses roving tabindex pattern - only one element focusable at a time.
|
|
18613
|
+
* @default ['active-tab', 'add-tab-button']
|
|
18614
|
+
*/
|
|
18615
|
+
tabNavigation?: ViewTabElements[];
|
|
18616
|
+
/**
|
|
18617
|
+
* Controls which elements are navigable via Arrow keys.
|
|
18618
|
+
* @default ['inactive-tab', 'active-tab', 'active-tab-close-button', 'inactive-tab-close-button', 'add-tab-button']
|
|
18619
|
+
*/
|
|
18620
|
+
arrowNavigation?: ViewTabElements[];
|
|
18621
|
+
/**
|
|
18622
|
+
* Whether Delete/Backspace keys close the focused tab.
|
|
18623
|
+
* @default false
|
|
18624
|
+
*/
|
|
18625
|
+
enableDeleteKeyClose?: boolean;
|
|
18626
|
+
/**
|
|
18627
|
+
* Whether Home/End keys jump to first/last navigable element.
|
|
18628
|
+
* @default false
|
|
18629
|
+
*/
|
|
18630
|
+
enableHomeEndNavigation?: boolean;
|
|
18631
|
+
/**
|
|
18632
|
+
* Custom aria-label providers. Can be a static string or a function receiving context.
|
|
18633
|
+
*/
|
|
18634
|
+
ariaLabels?: AriaLabelOptions;
|
|
18635
|
+
/**
|
|
18636
|
+
* Whether to announce tab changes via aria-live.
|
|
18637
|
+
* @default true
|
|
18638
|
+
*/
|
|
18639
|
+
announceTabChanges?: boolean;
|
|
18640
|
+
/**
|
|
18641
|
+
* Focus behavior when a tab is closed via keyboard.
|
|
18642
|
+
* @default 'next'
|
|
18643
|
+
*/
|
|
18644
|
+
focusOnCloseStrategy?: 'next' | 'previous' | 'active';
|
|
18645
|
+
};
|
|
18646
|
+
|
|
18647
|
+
/**
|
|
18648
|
+
* Elements that can be navigated in view tabs.
|
|
18649
|
+
*/
|
|
18650
|
+
declare type ViewTabElements = 'active-tab' | 'inactive-tab' | 'active-tab-close-button' | 'inactive-tab-close-button' | 'add-tab-button';
|
|
18651
|
+
|
|
18452
18652
|
/**
|
|
18453
18653
|
* View throttling state.
|
|
18454
18654
|
*
|
package/out/fdc3-api.d.ts
CHANGED
|
@@ -42,6 +42,16 @@ declare type Accelerator = {
|
|
|
42
42
|
zoom: boolean;
|
|
43
43
|
};
|
|
44
44
|
|
|
45
|
+
/**
|
|
46
|
+
* @interface
|
|
47
|
+
* Shared context available to all aria label functions.
|
|
48
|
+
*/
|
|
49
|
+
declare type AccessibilityContext = {
|
|
50
|
+
arrowNavigationEnabled: boolean;
|
|
51
|
+
deleteKeyCloseEnabled: boolean;
|
|
52
|
+
homeEndNavigationEnabled: boolean;
|
|
53
|
+
};
|
|
54
|
+
|
|
45
55
|
/**
|
|
46
56
|
* Generated when a View is added to a layout.
|
|
47
57
|
* @interface
|
|
@@ -51,6 +61,14 @@ declare type AddedToLayoutEvent = BaseEvent_4 & {
|
|
|
51
61
|
layoutIdentity: OpenFin.LayoutIdentity;
|
|
52
62
|
};
|
|
53
63
|
|
|
64
|
+
/**
|
|
65
|
+
* @interface
|
|
66
|
+
* Context for add tab button aria-label functions.
|
|
67
|
+
*/
|
|
68
|
+
declare type AddTabButtonAriaLabelContext = AccessibilityContext & {
|
|
69
|
+
tabCount: number;
|
|
70
|
+
};
|
|
71
|
+
|
|
54
72
|
/**
|
|
55
73
|
* Options to use when adding a view to a {@link TabStack}.
|
|
56
74
|
*
|
|
@@ -1610,6 +1628,17 @@ declare type AppVersionTypeFromIdEvent<T extends IdEventType> = Extract<AppVersi
|
|
|
1610
1628
|
type: WithoutId<T>;
|
|
1611
1629
|
}>;
|
|
1612
1630
|
|
|
1631
|
+
/**
|
|
1632
|
+
* @interface
|
|
1633
|
+
* Custom aria-label providers for accessibility.
|
|
1634
|
+
*/
|
|
1635
|
+
declare type AriaLabelOptions = {
|
|
1636
|
+
activeTab?: string | ((ctx: TabAriaLabelContext) => string);
|
|
1637
|
+
inactiveTab?: string | ((ctx: TabAriaLabelContext) => string);
|
|
1638
|
+
closeButton?: string | ((ctx: CloseButtonAriaLabelContext) => string);
|
|
1639
|
+
addTabButton?: string | ((ctx: AddTabButtonAriaLabelContext) => string);
|
|
1640
|
+
};
|
|
1641
|
+
|
|
1613
1642
|
declare interface AuthorizationPayload {
|
|
1614
1643
|
token: string;
|
|
1615
1644
|
file: string;
|
|
@@ -3168,6 +3197,11 @@ declare type ClearCacheOption = {
|
|
|
3168
3197
|
* browser data that can be used across sessions
|
|
3169
3198
|
*/
|
|
3170
3199
|
localStorage?: boolean;
|
|
3200
|
+
/**
|
|
3201
|
+
* Clears saved window-state data written for windows that use `saveWindowState`.
|
|
3202
|
+
* After this data is cleared, previously persisted bounds and state (Maximized/Minimized) will not be restored until new state is written again.
|
|
3203
|
+
*/
|
|
3204
|
+
windowState?: boolean;
|
|
3171
3205
|
};
|
|
3172
3206
|
|
|
3173
3207
|
/**
|
|
@@ -3210,6 +3244,11 @@ declare type ClearDataOptions = {
|
|
|
3210
3244
|
* - `origin-in-all-contexts` - Storage is matched on origin only in all contexts.
|
|
3211
3245
|
*/
|
|
3212
3246
|
originMatchingMode?: 'third-parties-included' | 'origin-in-all-contexts';
|
|
3247
|
+
/**
|
|
3248
|
+
* Clears saved window-state data written for windows that use `saveWindowState`.
|
|
3249
|
+
* After this data is cleared, previously persisted bounds and state (Maximized/Minimized) will not be restored until new state is written again.
|
|
3250
|
+
*/
|
|
3251
|
+
windowState?: boolean;
|
|
3213
3252
|
};
|
|
3214
3253
|
|
|
3215
3254
|
/**
|
|
@@ -3497,6 +3536,15 @@ declare type ClipboardPermissions = {
|
|
|
3497
3536
|
*/
|
|
3498
3537
|
declare type ClipboardSelectionType = 'clipboard' | 'selection';
|
|
3499
3538
|
|
|
3539
|
+
/**
|
|
3540
|
+
* @interface
|
|
3541
|
+
* Context for close button aria-label functions.
|
|
3542
|
+
*/
|
|
3543
|
+
declare type CloseButtonAriaLabelContext = AccessibilityContext & {
|
|
3544
|
+
title: string;
|
|
3545
|
+
isActive: boolean;
|
|
3546
|
+
};
|
|
3547
|
+
|
|
3500
3548
|
/**
|
|
3501
3549
|
* Generated when an application is closed.
|
|
3502
3550
|
* @interface
|
|
@@ -4512,6 +4560,10 @@ declare type CreateLayoutOptions = {
|
|
|
4512
4560
|
* @experimental
|
|
4513
4561
|
*/
|
|
4514
4562
|
renderCustomHeaderControls?: (controlsElement: HTMLElement, context: HeaderControlsContext) => (() => void) | void;
|
|
4563
|
+
/**
|
|
4564
|
+
* Accessibility options for the layout. Controls ARIA attributes and keyboard navigation.
|
|
4565
|
+
*/
|
|
4566
|
+
accessibilityOptions?: LayoutAccessibilityOptions;
|
|
4515
4567
|
};
|
|
4516
4568
|
|
|
4517
4569
|
/**
|
|
@@ -5200,7 +5252,7 @@ declare interface Environment {
|
|
|
5200
5252
|
layoutAllowedInContext(fin: OpenFin.Fin<OpenFin.EntityType>): boolean;
|
|
5201
5253
|
initLayoutManager(fin: OpenFin.Fin<OpenFin.EntityType>, wire: Transport, options: OpenFin.InitLayoutOptions): Promise<OpenFin.LayoutManager<OpenFin.LayoutSnapshot>>;
|
|
5202
5254
|
applyLayoutSnapshot(fin: OpenFin.Fin<OpenFin.EntityType>, layoutManager: OpenFin.LayoutManager<OpenFin.LayoutSnapshot>, options: OpenFin.InitLayoutOptions): Promise<void>;
|
|
5203
|
-
createLayout(layoutManager: OpenFin.LayoutManager<OpenFin.LayoutSnapshot>, options: OpenFin.CreateLayoutOptions): Promise<
|
|
5255
|
+
createLayout(layoutManager: OpenFin.LayoutManager<OpenFin.LayoutSnapshot>, options: OpenFin.CreateLayoutOptions): Promise<OpenFin.LayoutSyncApi>;
|
|
5204
5256
|
destroyLayout(layoutManager: OpenFin.LayoutManager<OpenFin.LayoutSnapshot>, layoutIdentity: OpenFin.LayoutIdentity): Promise<void>;
|
|
5205
5257
|
resolveLayout(layoutManager: OpenFin.LayoutManager<OpenFin.LayoutSnapshot>, layoutIdentity: OpenFin.LayoutIdentity): Promise<any>;
|
|
5206
5258
|
initPlatform(fin: OpenFin.Fin<OpenFin.EntityType>, ...args: Parameters<OpenFin.Fin['Platform']['init']>): ReturnType<OpenFin.Fin['Platform']['init']>;
|
|
@@ -8860,6 +8912,27 @@ declare class Layout extends Base {
|
|
|
8860
8912
|
closeView(viewIdentity: OpenFin.Identity): Promise<void>;
|
|
8861
8913
|
}
|
|
8862
8914
|
|
|
8915
|
+
/**
|
|
8916
|
+
* @interface
|
|
8917
|
+
* Accessibility options for layout tab navigation and ARIA support.
|
|
8918
|
+
*/
|
|
8919
|
+
declare type LayoutAccessibilityOptions = {
|
|
8920
|
+
viewTabOptions?: ViewTabAccessibilityOptions;
|
|
8921
|
+
/**
|
|
8922
|
+
* Keyboard shortcut used to move focus from a tab header element into the active tab's web content.
|
|
8923
|
+
*
|
|
8924
|
+
* - Accepts an accelerator-like string, e.g. `'Ctrl+Enter'`, `'Meta+Enter'`, `'Alt+Enter'`, `'Mod+Enter'`.
|
|
8925
|
+
* - `'Mod'`/`'CmdOrCtrl'`/`'CtrlOrMeta'` means Ctrl on Windows/Linux or Meta on macOS.
|
|
8926
|
+
* - Set to `false` to disable this shortcut.
|
|
8927
|
+
* - In core-web, reverse focus transfer (from iframe web content back to tab header) is not reliably supportable
|
|
8928
|
+
* due to browser iframe security and cross-origin focus restrictions. This hotkey is intentionally one-way:
|
|
8929
|
+
* tab header -> web content.
|
|
8930
|
+
*
|
|
8931
|
+
* @defaultValue 'Mod+Enter'
|
|
8932
|
+
*/
|
|
8933
|
+
focusContentHotkey?: string | false;
|
|
8934
|
+
};
|
|
8935
|
+
|
|
8863
8936
|
/**
|
|
8864
8937
|
* @interface
|
|
8865
8938
|
*/
|
|
@@ -9243,7 +9316,7 @@ declare class LayoutModule extends Base {
|
|
|
9243
9316
|
* @returns
|
|
9244
9317
|
*/
|
|
9245
9318
|
getCurrentLayoutManagerSync: <UserSnapshotType extends OpenFin.LayoutSnapshot>() => OpenFin.LayoutManager<UserSnapshotType>;
|
|
9246
|
-
create: (options: OpenFin.CreateLayoutOptions) => Promise<
|
|
9319
|
+
create: (options: OpenFin.CreateLayoutOptions) => Promise<OpenFin.LayoutSyncApi>;
|
|
9247
9320
|
destroy: (layoutIdentity: OpenFin.LayoutIdentity) => Promise<void>;
|
|
9248
9321
|
}
|
|
9249
9322
|
|
|
@@ -9628,6 +9701,19 @@ declare type LayoutStateChangedEvent = LayoutDOMEvent & {
|
|
|
9628
9701
|
type: 'layout-state-changed';
|
|
9629
9702
|
};
|
|
9630
9703
|
|
|
9704
|
+
/**
|
|
9705
|
+
* @interface
|
|
9706
|
+
* Sync API returned from Layout.create() for operations that don't require IPC.
|
|
9707
|
+
* Only available in the window context that owns the layout.
|
|
9708
|
+
*/
|
|
9709
|
+
declare type LayoutSyncApi = {
|
|
9710
|
+
/**
|
|
9711
|
+
* Updates accessibility options at runtime without recreating the layout.
|
|
9712
|
+
* @param options Partial accessibility options to merge with existing options
|
|
9713
|
+
*/
|
|
9714
|
+
updateAccessibilityOptions(options: Partial<LayoutAccessibilityOptions>): void;
|
|
9715
|
+
};
|
|
9716
|
+
|
|
9631
9717
|
/**
|
|
9632
9718
|
* @interface
|
|
9633
9719
|
*/
|
|
@@ -9777,6 +9863,15 @@ declare type LogUploadOptions = {
|
|
|
9777
9863
|
* Max file size limit in Megabytes for the logs archive.
|
|
9778
9864
|
*/
|
|
9779
9865
|
sizeLimit?: number;
|
|
9866
|
+
/**
|
|
9867
|
+
* HTTP method used to upload the log archive.
|
|
9868
|
+
* Accepted values are `'POST'` and `'PUT'` (case-insensitive; values are normalised to uppercase before validation).
|
|
9869
|
+
* - `POST` sends a multipart `FormData` request (current behaviour).
|
|
9870
|
+
* - `PUT` sends the raw zip binary with an explicit `Content-Length` and no `Content-Type` header,
|
|
9871
|
+
* suitable for endpoints that expect a raw body (e.g. pre-signed upload URLs).
|
|
9872
|
+
* @defaultValue 'POST'
|
|
9873
|
+
*/
|
|
9874
|
+
method?: 'POST' | 'PUT';
|
|
9780
9875
|
};
|
|
9781
9876
|
|
|
9782
9877
|
/**
|
|
@@ -11166,6 +11261,15 @@ declare namespace OpenFin {
|
|
|
11166
11261
|
HeaderControlsContext,
|
|
11167
11262
|
CreateLayoutOptions,
|
|
11168
11263
|
MultiInstanceViewBehavior,
|
|
11264
|
+
LayoutAccessibilityOptions,
|
|
11265
|
+
ViewTabElements,
|
|
11266
|
+
ViewTabAccessibilityOptions,
|
|
11267
|
+
AccessibilityContext,
|
|
11268
|
+
TabAriaLabelContext,
|
|
11269
|
+
CloseButtonAriaLabelContext,
|
|
11270
|
+
AddTabButtonAriaLabelContext,
|
|
11271
|
+
AriaLabelOptions,
|
|
11272
|
+
LayoutSyncApi,
|
|
11169
11273
|
PresetLayoutOptions_2 as PresetLayoutOptions,
|
|
11170
11274
|
ResultBehavior,
|
|
11171
11275
|
PopupBaseBehavior,
|
|
@@ -12980,6 +13084,38 @@ declare interface PlatformProvider {
|
|
|
12980
13084
|
* @returns A promise resolving to `true` if the window should prevent the app from quitting, otherwise `false`.
|
|
12981
13085
|
*/
|
|
12982
13086
|
shouldWindowPreventQuit(windowIdentity: OpenFin.Identity): Promise<boolean>;
|
|
13087
|
+
/**
|
|
13088
|
+
* Returns the platform's keyboard commands. Default implementation returns the manifest's
|
|
13089
|
+
* `platform.commands`. Override to inject additional default commands.
|
|
13090
|
+
* Called once during Platform.init; the result is cached for the lifetime
|
|
13091
|
+
* of the platform.
|
|
13092
|
+
*
|
|
13093
|
+
* @remarks
|
|
13094
|
+
* The returned commands are merged with core's built-in default commands
|
|
13095
|
+
* (unless `disableDefaultCommands` is set).
|
|
13096
|
+
* Overriders receive the raw manifest commands from `super` and can prepend
|
|
13097
|
+
* their own defaults — returned commands override default commands by command name.
|
|
13098
|
+
*
|
|
13099
|
+
* @example
|
|
13100
|
+
* ```js
|
|
13101
|
+
* const overrideCallback = (PlatformProvider) => {
|
|
13102
|
+
* class Override extends PlatformProvider {
|
|
13103
|
+
* getKeyboardCommands() {
|
|
13104
|
+
* const manifestCommands = super.getKeyboardCommands();
|
|
13105
|
+
* const myCommands = [{ command: 'myApp.search', keys: 'Ctrl+K' }];
|
|
13106
|
+
* return [
|
|
13107
|
+
* ...myCommands,
|
|
13108
|
+
* ...manifestCommands
|
|
13109
|
+
* ];
|
|
13110
|
+
* }
|
|
13111
|
+
* }
|
|
13112
|
+
* return new Override();
|
|
13113
|
+
* }
|
|
13114
|
+
*
|
|
13115
|
+
* fin.Platform.init({ overrideCallback });
|
|
13116
|
+
* ```
|
|
13117
|
+
*/
|
|
13118
|
+
getKeyboardCommands(): OpenFin.ShortcutOverride[];
|
|
12983
13119
|
/**
|
|
12984
13120
|
* Method that is called every time an error occurs when processing an action in the Platform Provider. It is meant to be overriden, as a means to debug Platform applications
|
|
12985
13121
|
*/
|
|
@@ -15593,13 +15729,15 @@ declare class System extends EmitterBase<OpenFin.SystemEvent> {
|
|
|
15593
15729
|
* * cookies: browser [cookies](https://developer.mozilla.org/en-US/docs/Web/HTTP/Cookies)
|
|
15594
15730
|
* * localStorage: browser data that can be used across sessions ([local storage](https://developer.mozilla.org/en-US/docs/Web/API/Window/localStorage))
|
|
15595
15731
|
* * appcache: html5 [application cache](https://developer.mozilla.org/en-US/docs/Web/HTML/Using_the_application_cache)
|
|
15732
|
+
* * windowState: clears data written for windows using `saveWindowState`; after clearing, previously saved bounds and state will not be restored until new state is written
|
|
15596
15733
|
* @example
|
|
15597
15734
|
* ```js
|
|
15598
15735
|
* const clearCacheOptions = {
|
|
15599
15736
|
* appcache: true,
|
|
15600
15737
|
* cache: true,
|
|
15601
15738
|
* cookies: true,
|
|
15602
|
-
* localStorage: true
|
|
15739
|
+
* localStorage: true,
|
|
15740
|
+
* windowState: true
|
|
15603
15741
|
* };
|
|
15604
15742
|
* fin.System.clearCache(clearCacheOptions).then(() => console.log('Cache cleared')).catch(err => console.log(err));
|
|
15605
15743
|
* ```
|
|
@@ -15624,12 +15762,16 @@ declare class System extends EmitterBase<OpenFin.SystemEvent> {
|
|
|
15624
15762
|
*
|
|
15625
15763
|
* @param options - Optional configuration for what data to clear
|
|
15626
15764
|
*
|
|
15765
|
+
* @remarks Set `windowState: true` to also clear data written for windows using `saveWindowState`.
|
|
15766
|
+
* After this data is cleared, previously saved bounds and state will not be restored until new state is written again.
|
|
15767
|
+
*
|
|
15627
15768
|
* @example
|
|
15628
15769
|
* ```js
|
|
15629
15770
|
* // Clear only cookies and localStorage for a specific origin
|
|
15630
15771
|
* await fin.System.clearCacheData({
|
|
15631
15772
|
* dataTypes: ['cookies', 'localStorage'],
|
|
15632
|
-
* origins: ['http://localhost:8081']
|
|
15773
|
+
* origins: ['http://localhost:8081'],
|
|
15774
|
+
* windowState: true
|
|
15633
15775
|
* });
|
|
15634
15776
|
*
|
|
15635
15777
|
* // Clear everything except for a specific origin
|
|
@@ -17404,6 +17546,17 @@ declare type SystemShutdownHandler = (shutdownEvent: {
|
|
|
17404
17546
|
proceed: () => void;
|
|
17405
17547
|
}) => void;
|
|
17406
17548
|
|
|
17549
|
+
/**
|
|
17550
|
+
* @interface
|
|
17551
|
+
* Context for tab aria-label functions.
|
|
17552
|
+
*/
|
|
17553
|
+
declare type TabAriaLabelContext = AccessibilityContext & {
|
|
17554
|
+
title: string;
|
|
17555
|
+
isActive: boolean;
|
|
17556
|
+
tabIndex: number;
|
|
17557
|
+
tabCount: number;
|
|
17558
|
+
};
|
|
17559
|
+
|
|
17407
17560
|
/**
|
|
17408
17561
|
* Generated when a Layout Tab Component was closed.
|
|
17409
17562
|
* @interface
|
|
@@ -18916,6 +19069,53 @@ declare interface ViewStatuses {
|
|
|
18916
19069
|
viewsNotPreventingUnload: Identity_4[];
|
|
18917
19070
|
}
|
|
18918
19071
|
|
|
19072
|
+
/**
|
|
19073
|
+
* @interface
|
|
19074
|
+
* Accessibility options for view tab navigation.
|
|
19075
|
+
*/
|
|
19076
|
+
declare type ViewTabAccessibilityOptions = {
|
|
19077
|
+
/**
|
|
19078
|
+
* Controls which elements are reachable via Tab key navigation.
|
|
19079
|
+
* Uses roving tabindex pattern - only one element focusable at a time.
|
|
19080
|
+
* @default ['active-tab', 'add-tab-button']
|
|
19081
|
+
*/
|
|
19082
|
+
tabNavigation?: ViewTabElements[];
|
|
19083
|
+
/**
|
|
19084
|
+
* Controls which elements are navigable via Arrow keys.
|
|
19085
|
+
* @default ['inactive-tab', 'active-tab', 'active-tab-close-button', 'inactive-tab-close-button', 'add-tab-button']
|
|
19086
|
+
*/
|
|
19087
|
+
arrowNavigation?: ViewTabElements[];
|
|
19088
|
+
/**
|
|
19089
|
+
* Whether Delete/Backspace keys close the focused tab.
|
|
19090
|
+
* @default false
|
|
19091
|
+
*/
|
|
19092
|
+
enableDeleteKeyClose?: boolean;
|
|
19093
|
+
/**
|
|
19094
|
+
* Whether Home/End keys jump to first/last navigable element.
|
|
19095
|
+
* @default false
|
|
19096
|
+
*/
|
|
19097
|
+
enableHomeEndNavigation?: boolean;
|
|
19098
|
+
/**
|
|
19099
|
+
* Custom aria-label providers. Can be a static string or a function receiving context.
|
|
19100
|
+
*/
|
|
19101
|
+
ariaLabels?: AriaLabelOptions;
|
|
19102
|
+
/**
|
|
19103
|
+
* Whether to announce tab changes via aria-live.
|
|
19104
|
+
* @default true
|
|
19105
|
+
*/
|
|
19106
|
+
announceTabChanges?: boolean;
|
|
19107
|
+
/**
|
|
19108
|
+
* Focus behavior when a tab is closed via keyboard.
|
|
19109
|
+
* @default 'next'
|
|
19110
|
+
*/
|
|
19111
|
+
focusOnCloseStrategy?: 'next' | 'previous' | 'active';
|
|
19112
|
+
};
|
|
19113
|
+
|
|
19114
|
+
/**
|
|
19115
|
+
* Elements that can be navigated in view tabs.
|
|
19116
|
+
*/
|
|
19117
|
+
declare type ViewTabElements = 'active-tab' | 'inactive-tab' | 'active-tab-close-button' | 'inactive-tab-close-button' | 'add-tab-button';
|
|
19118
|
+
|
|
18919
19119
|
/**
|
|
18920
19120
|
* View throttling state.
|
|
18921
19121
|
*
|