@genesislcap/foundation-fdc3 14.200.1-alpha-e974201.0 → 14.202.0

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.
Files changed (36) hide show
  1. package/dist/dts/fdc3-channel-event.d.ts.map +1 -1
  2. package/dist/dts/fdc3.d.ts +57 -1
  3. package/dist/dts/fdc3.d.ts.map +1 -1
  4. package/dist/dts/index.d.ts +6 -0
  5. package/dist/dts/index.d.ts.map +1 -1
  6. package/dist/dts/notifications/interop-notifications-listener.d.ts.map +1 -1
  7. package/dist/dts/util/fdc3-context-listener.d.ts +8 -338
  8. package/dist/dts/util/fdc3-context-listener.d.ts.map +1 -1
  9. package/dist/dts/util/{fdc3-listener.d.ts → fdc3-intent-listener.d.ts} +9 -17
  10. package/dist/dts/util/fdc3-intent-listener.d.ts.map +1 -0
  11. package/dist/dts/util/fdc3-system-channel-listener.d.ts +353 -0
  12. package/dist/dts/util/fdc3-system-channel-listener.d.ts.map +1 -0
  13. package/dist/dts/util/index.d.ts +3 -1
  14. package/dist/dts/util/index.d.ts.map +1 -1
  15. package/dist/esm/fdc3-channel-event.js +6 -1
  16. package/dist/esm/fdc3.js +99 -16
  17. package/dist/esm/index.js +1 -0
  18. package/dist/esm/util/fdc3-context-listener.js +10 -30
  19. package/dist/esm/util/fdc3-intent-listener.js +53 -0
  20. package/dist/esm/util/fdc3-system-channel-listener.js +60 -0
  21. package/dist/esm/util/index.js +3 -1
  22. package/dist/foundation-fdc3.api.json +384 -0
  23. package/dist/foundation-fdc3.d.ts +437 -19
  24. package/docs/api/foundation-fdc3.fdc3.addsystemchannellistener.md +25 -0
  25. package/docs/api/foundation-fdc3.fdc3.broadcastoncurrentchannel.md +25 -0
  26. package/docs/api/foundation-fdc3.fdc3.currentchannel_.md +13 -0
  27. package/docs/api/foundation-fdc3.fdc3.handlechannelcurrentcontext.md +26 -0
  28. package/docs/api/foundation-fdc3.fdc3.isinteropfdc3.md +13 -0
  29. package/docs/api/foundation-fdc3.fdc3.isready_.md +13 -0
  30. package/docs/api/foundation-fdc3.fdc3.md +7 -0
  31. package/docs/api/foundation-fdc3.fdc3.raiseintentforcontext.md +26 -0
  32. package/docs/api-report.md +65 -15
  33. package/package.json +17 -15
  34. package/test/fdc3.mock.ts +13 -9
  35. package/dist/dts/util/fdc3-listener.d.ts.map +0 -1
  36. package/dist/esm/util/fdc3-listener.js +0 -55
@@ -14,17 +14,18 @@ import { IOConnectDesktop } from '@interopio/desktop';
14
14
  import { LayoutCacheContainer } from '@genesislcap/foundation-utils';
15
15
  import { NotificationDataRow } from '@genesislcap/foundation-notifications';
16
16
  import { NotificationListener } from '@genesislcap/foundation-ui';
17
+ import { Observable } from 'rxjs';
17
18
  import { OverrideFoundationElementDefinition } from '@microsoft/fast-foundation';
18
19
  import { ViewTemplate } from '@microsoft/fast-element';
19
20
 
20
21
  /**
21
- * fdc3-listener listen channel config
22
+ * fdc3-context-listener listen channel config
22
23
  * @alpha
24
+ * @param channelType - string for the context channel type
25
+ * @param callback - async function that is called if a message with a matching context is emitted
23
26
  */
24
- export declare interface ChannelConfig {
27
+ export declare interface AppChannelListenerConfig extends SystemChannelListenerConfig {
25
28
  channelName: string;
26
- channelType: string;
27
- callback: (any: any) => void;
28
29
  }
29
30
 
30
31
  /**
@@ -33,18 +34,31 @@ export declare interface ChannelConfig {
33
34
  */
34
35
  export declare class DefaultFDC3 implements FDC3 {
35
36
  isReady: boolean;
37
+ private _isReady$;
38
+ isReady$: Observable<true>;
39
+ private _currentChannel$;
40
+ private _currentChannel;
41
+ currentChannel$: Observable<Channel>;
42
+ isInteropFdc3: () => boolean;
36
43
  constructor();
37
- private connect;
44
+ private init;
38
45
  addIntentListeners(listeners: Map<FDC3Intents, FDC3ContextHandler>): void;
39
46
  findIntent(intent: FDC3Intents, context?: FDC3Context): Promise<FDC3AppIntent>;
40
47
  findIntentsByContext(context: FDC3Context): Promise<FDC3AppIntent[]>;
48
+ raiseIntentForContext(context: FDC3Context): Promise<FDC3IntentResolution>;
41
49
  raiseIntent(context: FDC3Context, intent?: FDC3Intents): Promise<FDC3IntentResolution>;
42
50
  joinChannel(channelId: string): Promise<void>;
43
51
  getOrCreateChannel(channelId: string): Promise<FDC3Channel>;
44
52
  broadcastOnChannel(channelName: string, type: string, payload: any): Promise<void>;
53
+ broadcastOnCurrentChannel(payload: any, type?: string): Promise<void>;
45
54
  broadcastOnChannelEventHandler(channelName: string, type: string): Promise<(e: any) => Promise<void>>;
46
55
  addChannelListener(channelName: string, channelType: string, callback: (any: any) => void): Promise<Channel>;
56
+ addSystemChannelListener(channelType: string, callback: (any: any) => void): Promise<void>;
47
57
  getCurrentChannel(): Promise<Channel>;
58
+ handleChannelCurrentContext(channel: Channel | FDC3Channel, contextType: string, listenerCallback: (FDC3Context: any) => any): Promise<void>;
59
+ private broadcastMessageOnChannel;
60
+ private getAndUpdateCurrentChannel;
61
+ private handleInteropChannelChanges;
48
62
  }
49
63
 
50
64
  /**
@@ -57,6 +71,22 @@ export declare interface FDC3 {
57
71
  * @public
58
72
  */
59
73
  isReady: boolean;
74
+ /**
75
+ * Observable indicating the FDC3 API is ready.
76
+ * @public
77
+ */
78
+ isReady$: Observable<true>;
79
+ /**
80
+ * Check if the interop global is available.
81
+ * @public
82
+ */
83
+ isInteropFdc3: () => boolean;
84
+ /**
85
+ * Observable which emits the current channel
86
+ * When a new channel is joined a new value is emitted
87
+ * @public
88
+ */
89
+ currentChannel$: Observable<FDC3Channel>;
60
90
  /**
61
91
  * Adds intent listeners for the specified intents.
62
92
  * @public
@@ -78,6 +108,13 @@ export declare interface FDC3 {
78
108
  * @returns A promise that resolves with an array of all matching intents and their metadata.
79
109
  */
80
110
  findIntentsByContext(context: FDC3Context): Promise<FDC3AppIntent[]>;
111
+ /**
112
+ * Raises an intent against an application based purely on the context data.
113
+ * @public
114
+ * @param context - The context to use.
115
+ * @returns A promise that resolves with the result of the intent resolution.
116
+ */
117
+ raiseIntentForContext(context: FDC3Context): Promise<FDC3IntentResolution>;
81
118
  /**
82
119
  * Raises the specified intent with the specified context.
83
120
  * @public
@@ -107,6 +144,12 @@ export declare interface FDC3 {
107
144
  * @param payload - payload sent to the channel
108
145
  */
109
146
  broadcastOnChannel(channelName: string, type: string, payload: any): Promise<void>;
147
+ /**
148
+ * Broadcasts a message on the current app channel
149
+ * @param type - type of the channel
150
+ * @param payload - payload sent to the channel
151
+ */
152
+ broadcastOnCurrentChannel(payload: any, type?: string): Promise<void>;
110
153
  /**
111
154
  * Helper function to broadcast message on channel in response to dispatched event
112
155
  * @param channelName - name of the channel
@@ -120,10 +163,23 @@ export declare interface FDC3 {
120
163
  * @param callback - handler to for the channel context listener
121
164
  * */
122
165
  addChannelListener(channelName: string, channelType: string, callback: (any: any) => void): Promise<Channel>;
166
+ /**
167
+ * Helper function to add a context listener on to the system, aka 'color', channel with a handler for channel messages
168
+ * @param channelType - type of the channel
169
+ * @param callback - handler to for the channel context listener
170
+ * */
171
+ addSystemChannelListener(channelType: string, callback: (any: any) => void): Promise<void>;
123
172
  /**
124
173
  * Helper function to get the current channel of the application
125
174
  * */
126
175
  getCurrentChannel(): Promise<Channel>;
176
+ /**
177
+ * Helper function to add a context listener on a channel with a handler for channel messages
178
+ * @param channel - channel instance for getting for getting current context
179
+ * @param contextType - context type of the channel to listen to
180
+ * @param callback - handler to for the channel context listener
181
+ * */
182
+ handleChannelCurrentContext(channel: Channel | FDC3Channel, contextType: string, listenerCallback: (FDC3Context: any) => any): Promise<void>;
127
183
  }
128
184
 
129
185
  /**
@@ -498,29 +554,28 @@ export declare interface FDC3Context extends Context {
498
554
  export declare type FDC3ContextHandler = ContextHandler;
499
555
 
500
556
  /**
501
- * @public
557
+ * fdc3-context-listener listen to app channel context
558
+ * @alpha
502
559
  */
503
- export declare interface FDC3IntentResolution extends IntentResolution {
560
+ export declare class Fdc3ContextListener extends Fdc3SystemChannelListener {
561
+ config: AppChannelListenerConfig[];
562
+ protected addChannelListeners(): void;
504
563
  }
505
564
 
506
565
  /**
507
- * @public
508
- */
509
- export declare type FDC3Intents = Intents;
510
-
511
- /**
512
- * fdc3-listener
566
+ * fdc3-system-channel-listener
567
+ * Util element to listen to the context on a fdc3 app channel
513
568
  * @alpha
514
569
  */
515
- export declare class Fdc3Listener extends Fdc3Listener_base {
570
+ export declare class Fdc3IntentListener extends Fdc3IntentListener_base {
516
571
  fdc3: FDC3;
517
572
  intentConfig: IntentConfig[];
518
- channelConfig: ChannelConfig[];
519
- deepClone(): Node;
520
573
  connectedCallback(): void;
574
+ deepClone(): Node;
575
+ private addIntentListeners;
521
576
  }
522
577
 
523
- declare const Fdc3Listener_base: (new (...args: any[]) => {
578
+ declare const Fdc3IntentListener_base: (new (...args: any[]) => {
524
579
  "__#1@#_container": FoundationLayoutContainer | LayoutCacheContainer | DOMContainer;
525
580
  "__#1@#_latestTokenCode": string;
526
581
  "__#1@#_hasFirstLoaded": boolean;
@@ -846,6 +901,17 @@ declare const Fdc3Listener_base: (new (...args: any[]) => {
846
901
  focus(options?: FocusOptions): void;
847
902
  }) & typeof FoundationElement;
848
903
 
904
+ /**
905
+ * @public
906
+ */
907
+ export declare interface FDC3IntentResolution extends IntentResolution {
908
+ }
909
+
910
+ /**
911
+ * @public
912
+ */
913
+ export declare type FDC3Intents = Intents;
914
+
849
915
  /**
850
916
  * fdc3-raise-intent
851
917
  * @alpha
@@ -1189,12 +1255,353 @@ declare const Fdc3RaiseIntent_base: (new (...args: any[]) => {
1189
1255
  }) & typeof FoundationElement;
1190
1256
 
1191
1257
  /**
1192
- * fdc3-listener listen intent config
1258
+ * fdc3-system-channel-listener
1259
+ * Util element to listen to the context on a fdc3 system channel
1260
+ * @alpha
1261
+ */
1262
+ export declare class Fdc3SystemChannelListener extends Fdc3SystemChannelListener_base {
1263
+ config: SystemChannelListenerConfig[];
1264
+ fdc3: FDC3;
1265
+ deepClone(): Node;
1266
+ connectedCallback(): void;
1267
+ private channelSub;
1268
+ protected addChannelListeners(): void;
1269
+ disconnectedCallback(): void;
1270
+ }
1271
+
1272
+ declare const Fdc3SystemChannelListener_base: (new (...args: any[]) => {
1273
+ "__#1@#_container": FoundationLayoutContainer | LayoutCacheContainer | DOMContainer;
1274
+ "__#1@#_latestTokenCode": string;
1275
+ "__#1@#_hasFirstLoaded": boolean;
1276
+ "__#1@#_cleanupTimeout": NodeJS.Timeout;
1277
+ "__#1@#_shouldForceLifecycle": boolean;
1278
+ cloneNode(deep?: boolean): Node;
1279
+ deepClone(): Node;
1280
+ readonly shouldRunDisconnect: boolean;
1281
+ readonly shouldRunConnect: boolean;
1282
+ "__#1@#_blockLifecycleDueToTokenChange"(lifecycleType: "connect" | "disconnect" | "reconnect"): boolean;
1283
+ "__#1@#_tryFindContainingLayout"(e: Element): FoundationLayoutContainer | LayoutCacheContainer | DOMContainer;
1284
+ connectedCallback(): void;
1285
+ readonly $fastController: Controller;
1286
+ $emit(type: string, detail?: any, options?: Omit<CustomEventInit<any>, "detail">): boolean | void;
1287
+ disconnectedCallback(): void;
1288
+ attributeChangedCallback(name: string, oldValue: string, newValue: string): void;
1289
+ accessKey: string;
1290
+ readonly accessKeyLabel: string;
1291
+ autocapitalize: string;
1292
+ dir: string;
1293
+ draggable: boolean;
1294
+ hidden: boolean;
1295
+ inert: boolean;
1296
+ innerText: string;
1297
+ lang: string;
1298
+ readonly offsetHeight: number;
1299
+ readonly offsetLeft: number;
1300
+ readonly offsetParent: Element;
1301
+ readonly offsetTop: number;
1302
+ readonly offsetWidth: number;
1303
+ outerText: string;
1304
+ spellcheck: boolean;
1305
+ title: string;
1306
+ translate: boolean;
1307
+ attachInternals(): ElementInternals;
1308
+ click(): void;
1309
+ addEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
1310
+ addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
1311
+ removeEventListener<K_1 extends keyof HTMLElementEventMap>(type: K_1, listener: (this: HTMLElement, ev: HTMLElementEventMap[K_1]) => any, options?: boolean | EventListenerOptions): void;
1312
+ removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
1313
+ readonly attributes: NamedNodeMap;
1314
+ readonly classList: DOMTokenList;
1315
+ className: string;
1316
+ readonly clientHeight: number;
1317
+ readonly clientLeft: number;
1318
+ readonly clientTop: number;
1319
+ readonly clientWidth: number;
1320
+ id: string;
1321
+ readonly localName: string;
1322
+ readonly namespaceURI: string;
1323
+ onfullscreenchange: (this: Element, ev: Event) => any;
1324
+ onfullscreenerror: (this: Element, ev: Event) => any;
1325
+ outerHTML: string;
1326
+ readonly ownerDocument: Document;
1327
+ readonly part: DOMTokenList;
1328
+ readonly prefix: string;
1329
+ readonly scrollHeight: number;
1330
+ scrollLeft: number;
1331
+ scrollTop: number;
1332
+ readonly scrollWidth: number;
1333
+ readonly shadowRoot: ShadowRoot;
1334
+ slot: string;
1335
+ readonly tagName: string;
1336
+ attachShadow(init: ShadowRootInit): ShadowRoot;
1337
+ closest<K_2 extends keyof HTMLElementTagNameMap>(selector: K_2): HTMLElementTagNameMap[K_2];
1338
+ closest<K_3 extends keyof SVGElementTagNameMap>(selector: K_3): SVGElementTagNameMap[K_3];
1339
+ closest<E extends Element = Element>(selectors: string): E;
1340
+ getAttribute(qualifiedName: string): string;
1341
+ getAttributeNS(namespace: string, localName: string): string;
1342
+ getAttributeNames(): string[];
1343
+ getAttributeNode(qualifiedName: string): Attr;
1344
+ getAttributeNodeNS(namespace: string, localName: string): Attr;
1345
+ getBoundingClientRect(): DOMRect;
1346
+ getClientRects(): DOMRectList;
1347
+ getElementsByClassName(classNames: string): HTMLCollectionOf<Element>;
1348
+ getElementsByTagName<K_4 extends keyof HTMLElementTagNameMap>(qualifiedName: K_4): HTMLCollectionOf<HTMLElementTagNameMap[K_4]>;
1349
+ getElementsByTagName<K_5 extends keyof SVGElementTagNameMap>(qualifiedName: K_5): HTMLCollectionOf<SVGElementTagNameMap[K_5]>;
1350
+ getElementsByTagName(qualifiedName: string): HTMLCollectionOf<Element>;
1351
+ getElementsByTagNameNS(namespaceURI: "http://www.w3.org/1999/xhtml", localName: string): HTMLCollectionOf<HTMLElement>;
1352
+ getElementsByTagNameNS(namespaceURI: "http://www.w3.org/2000/svg", localName: string): HTMLCollectionOf<SVGElement>;
1353
+ getElementsByTagNameNS(namespace: string, localName: string): HTMLCollectionOf<Element>;
1354
+ hasAttribute(qualifiedName: string): boolean;
1355
+ hasAttributeNS(namespace: string, localName: string): boolean;
1356
+ hasAttributes(): boolean;
1357
+ hasPointerCapture(pointerId: number): boolean;
1358
+ insertAdjacentElement(where: InsertPosition, element: Element): Element;
1359
+ insertAdjacentHTML(position: InsertPosition, text: string): void;
1360
+ insertAdjacentText(where: InsertPosition, data: string): void;
1361
+ matches(selectors: string): boolean;
1362
+ releasePointerCapture(pointerId: number): void;
1363
+ removeAttribute(qualifiedName: string): void;
1364
+ removeAttributeNS(namespace: string, localName: string): void;
1365
+ removeAttributeNode(attr: Attr): Attr;
1366
+ requestFullscreen(options?: FullscreenOptions): Promise<void>;
1367
+ requestPointerLock(): void;
1368
+ scroll(options?: ScrollToOptions): void;
1369
+ scroll(x: number, y: number): void;
1370
+ scrollBy(options?: ScrollToOptions): void;
1371
+ scrollBy(x: number, y: number): void;
1372
+ scrollIntoView(arg?: boolean | ScrollIntoViewOptions): void;
1373
+ scrollTo(options?: ScrollToOptions): void;
1374
+ scrollTo(x: number, y: number): void;
1375
+ setAttribute(qualifiedName: string, value: string): void;
1376
+ setAttributeNS(namespace: string, qualifiedName: string, value: string): void;
1377
+ setAttributeNode(attr: Attr): Attr;
1378
+ setAttributeNodeNS(attr: Attr): Attr;
1379
+ setPointerCapture(pointerId: number): void;
1380
+ toggleAttribute(qualifiedName: string, force?: boolean): boolean;
1381
+ webkitMatchesSelector(selectors: string): boolean;
1382
+ readonly baseURI: string;
1383
+ readonly childNodes: NodeListOf<ChildNode>;
1384
+ readonly firstChild: ChildNode;
1385
+ readonly isConnected: boolean;
1386
+ readonly lastChild: ChildNode;
1387
+ readonly nextSibling: ChildNode;
1388
+ readonly nodeName: string;
1389
+ readonly nodeType: number;
1390
+ nodeValue: string;
1391
+ readonly parentElement: HTMLElement;
1392
+ readonly parentNode: ParentNode;
1393
+ readonly previousSibling: ChildNode;
1394
+ textContent: string;
1395
+ appendChild<T_1 extends Node>(node: T_1): T_1;
1396
+ compareDocumentPosition(other: Node): number;
1397
+ contains(other: Node): boolean;
1398
+ getRootNode(options?: GetRootNodeOptions): Node;
1399
+ hasChildNodes(): boolean;
1400
+ insertBefore<T_2 extends Node>(node: T_2, child: Node): T_2;
1401
+ isDefaultNamespace(namespace: string): boolean;
1402
+ isEqualNode(otherNode: Node): boolean;
1403
+ isSameNode(otherNode: Node): boolean;
1404
+ lookupNamespaceURI(prefix: string): string;
1405
+ lookupPrefix(namespace: string): string;
1406
+ normalize(): void;
1407
+ removeChild<T_3 extends Node>(child: T_3): T_3;
1408
+ replaceChild<T_4 extends Node>(node: Node, child: T_4): T_4;
1409
+ readonly ATTRIBUTE_NODE: number;
1410
+ readonly CDATA_SECTION_NODE: number;
1411
+ readonly COMMENT_NODE: number;
1412
+ readonly DOCUMENT_FRAGMENT_NODE: number;
1413
+ readonly DOCUMENT_NODE: number;
1414
+ readonly DOCUMENT_POSITION_CONTAINED_BY: number;
1415
+ readonly DOCUMENT_POSITION_CONTAINS: number;
1416
+ readonly DOCUMENT_POSITION_DISCONNECTED: number;
1417
+ readonly DOCUMENT_POSITION_FOLLOWING: number;
1418
+ readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: number;
1419
+ readonly DOCUMENT_POSITION_PRECEDING: number;
1420
+ readonly DOCUMENT_TYPE_NODE: number;
1421
+ readonly ELEMENT_NODE: number;
1422
+ readonly ENTITY_NODE: number;
1423
+ readonly ENTITY_REFERENCE_NODE: number;
1424
+ readonly NOTATION_NODE: number;
1425
+ readonly PROCESSING_INSTRUCTION_NODE: number;
1426
+ readonly TEXT_NODE: number;
1427
+ dispatchEvent(event: Event): boolean;
1428
+ ariaAtomic: string;
1429
+ ariaAutoComplete: string;
1430
+ ariaBusy: string;
1431
+ ariaChecked: string;
1432
+ ariaColCount: string;
1433
+ ariaColIndex: string;
1434
+ ariaColIndexText: string;
1435
+ ariaColSpan: string;
1436
+ ariaCurrent: string;
1437
+ ariaDisabled: string;
1438
+ ariaExpanded: string;
1439
+ ariaHasPopup: string;
1440
+ ariaHidden: string;
1441
+ ariaInvalid: string;
1442
+ ariaKeyShortcuts: string;
1443
+ ariaLabel: string;
1444
+ ariaLevel: string;
1445
+ ariaLive: string;
1446
+ ariaModal: string;
1447
+ ariaMultiLine: string;
1448
+ ariaMultiSelectable: string;
1449
+ ariaOrientation: string;
1450
+ ariaPlaceholder: string;
1451
+ ariaPosInSet: string;
1452
+ ariaPressed: string;
1453
+ ariaReadOnly: string;
1454
+ ariaRequired: string;
1455
+ ariaRoleDescription: string;
1456
+ ariaRowCount: string;
1457
+ ariaRowIndex: string;
1458
+ ariaRowIndexText: string;
1459
+ ariaRowSpan: string;
1460
+ ariaSelected: string;
1461
+ ariaSetSize: string;
1462
+ ariaSort: string;
1463
+ ariaValueMax: string;
1464
+ ariaValueMin: string;
1465
+ ariaValueNow: string;
1466
+ ariaValueText: string;
1467
+ role: string;
1468
+ animate(keyframes: PropertyIndexedKeyframes | Keyframe[], options?: number | KeyframeAnimationOptions): Animation;
1469
+ getAnimations(options?: GetAnimationsOptions): Animation[];
1470
+ after(...nodes: (string | Node)[]): void;
1471
+ before(...nodes: (string | Node)[]): void;
1472
+ remove(): void;
1473
+ replaceWith(...nodes: (string | Node)[]): void;
1474
+ innerHTML: string;
1475
+ readonly nextElementSibling: Element;
1476
+ readonly previousElementSibling: Element;
1477
+ readonly childElementCount: number;
1478
+ readonly children: HTMLCollection;
1479
+ readonly firstElementChild: Element;
1480
+ readonly lastElementChild: Element;
1481
+ append(...nodes: (string | Node)[]): void;
1482
+ prepend(...nodes: (string | Node)[]): void;
1483
+ querySelector<K_6 extends keyof HTMLElementTagNameMap>(selectors: K_6): HTMLElementTagNameMap[K_6];
1484
+ querySelector<K_7 extends keyof SVGElementTagNameMap>(selectors: K_7): SVGElementTagNameMap[K_7];
1485
+ querySelector<E_1 extends Element = Element>(selectors: string): E_1;
1486
+ querySelectorAll<K_8 extends keyof HTMLElementTagNameMap>(selectors: K_8): NodeListOf<HTMLElementTagNameMap[K_8]>;
1487
+ querySelectorAll<K_9 extends keyof SVGElementTagNameMap>(selectors: K_9): NodeListOf<SVGElementTagNameMap[K_9]>;
1488
+ querySelectorAll<E_2 extends Element = Element>(selectors: string): NodeListOf<E_2>;
1489
+ replaceChildren(...nodes: (string | Node)[]): void;
1490
+ readonly assignedSlot: HTMLSlotElement;
1491
+ oncopy: (this: DocumentAndElementEventHandlers, ev: ClipboardEvent) => any;
1492
+ oncut: (this: DocumentAndElementEventHandlers, ev: ClipboardEvent) => any;
1493
+ onpaste: (this: DocumentAndElementEventHandlers, ev: ClipboardEvent) => any;
1494
+ readonly style: CSSStyleDeclaration;
1495
+ contentEditable: string;
1496
+ enterKeyHint: string;
1497
+ inputMode: string;
1498
+ readonly isContentEditable: boolean;
1499
+ onabort: (this: GlobalEventHandlers, ev: UIEvent) => any;
1500
+ onanimationcancel: (this: GlobalEventHandlers, ev: AnimationEvent) => any;
1501
+ onanimationend: (this: GlobalEventHandlers, ev: AnimationEvent) => any;
1502
+ onanimationiteration: (this: GlobalEventHandlers, ev: AnimationEvent) => any;
1503
+ onanimationstart: (this: GlobalEventHandlers, ev: AnimationEvent) => any;
1504
+ onauxclick: (this: GlobalEventHandlers, ev: MouseEvent) => any;
1505
+ onbeforeinput: (this: GlobalEventHandlers, ev: InputEvent) => any;
1506
+ onblur: (this: GlobalEventHandlers, ev: FocusEvent) => any;
1507
+ oncancel: (this: GlobalEventHandlers, ev: Event) => any;
1508
+ oncanplay: (this: GlobalEventHandlers, ev: Event) => any;
1509
+ oncanplaythrough: (this: GlobalEventHandlers, ev: Event) => any;
1510
+ onchange: (this: GlobalEventHandlers, ev: Event) => any;
1511
+ onclick: (this: GlobalEventHandlers, ev: MouseEvent) => any;
1512
+ onclose: (this: GlobalEventHandlers, ev: Event) => any;
1513
+ oncontextmenu: (this: GlobalEventHandlers, ev: MouseEvent) => any;
1514
+ oncuechange: (this: GlobalEventHandlers, ev: Event) => any;
1515
+ ondblclick: (this: GlobalEventHandlers, ev: MouseEvent) => any;
1516
+ ondrag: (this: GlobalEventHandlers, ev: DragEvent) => any;
1517
+ ondragend: (this: GlobalEventHandlers, ev: DragEvent) => any;
1518
+ ondragenter: (this: GlobalEventHandlers, ev: DragEvent) => any;
1519
+ ondragleave: (this: GlobalEventHandlers, ev: DragEvent) => any;
1520
+ ondragover: (this: GlobalEventHandlers, ev: DragEvent) => any;
1521
+ ondragstart: (this: GlobalEventHandlers, ev: DragEvent) => any;
1522
+ ondrop: (this: GlobalEventHandlers, ev: DragEvent) => any;
1523
+ ondurationchange: (this: GlobalEventHandlers, ev: Event) => any;
1524
+ onemptied: (this: GlobalEventHandlers, ev: Event) => any;
1525
+ onended: (this: GlobalEventHandlers, ev: Event) => any;
1526
+ onerror: OnErrorEventHandlerNonNull;
1527
+ onfocus: (this: GlobalEventHandlers, ev: FocusEvent) => any;
1528
+ onformdata: (this: GlobalEventHandlers, ev: FormDataEvent) => any;
1529
+ ongotpointercapture: (this: GlobalEventHandlers, ev: PointerEvent) => any;
1530
+ oninput: (this: GlobalEventHandlers, ev: Event) => any;
1531
+ oninvalid: (this: GlobalEventHandlers, ev: Event) => any;
1532
+ onkeydown: (this: GlobalEventHandlers, ev: KeyboardEvent) => any;
1533
+ onkeypress: (this: GlobalEventHandlers, ev: KeyboardEvent) => any;
1534
+ onkeyup: (this: GlobalEventHandlers, ev: KeyboardEvent) => any;
1535
+ onload: (this: GlobalEventHandlers, ev: Event) => any;
1536
+ onloadeddata: (this: GlobalEventHandlers, ev: Event) => any;
1537
+ onloadedmetadata: (this: GlobalEventHandlers, ev: Event) => any;
1538
+ onloadstart: (this: GlobalEventHandlers, ev: Event) => any;
1539
+ onlostpointercapture: (this: GlobalEventHandlers, ev: PointerEvent) => any;
1540
+ onmousedown: (this: GlobalEventHandlers, ev: MouseEvent) => any;
1541
+ onmouseenter: (this: GlobalEventHandlers, ev: MouseEvent) => any;
1542
+ onmouseleave: (this: GlobalEventHandlers, ev: MouseEvent) => any;
1543
+ onmousemove: (this: GlobalEventHandlers, ev: MouseEvent) => any;
1544
+ onmouseout: (this: GlobalEventHandlers, ev: MouseEvent) => any;
1545
+ onmouseover: (this: GlobalEventHandlers, ev: MouseEvent) => any;
1546
+ onmouseup: (this: GlobalEventHandlers, ev: MouseEvent) => any;
1547
+ onpause: (this: GlobalEventHandlers, ev: Event) => any;
1548
+ onplay: (this: GlobalEventHandlers, ev: Event) => any;
1549
+ onplaying: (this: GlobalEventHandlers, ev: Event) => any;
1550
+ onpointercancel: (this: GlobalEventHandlers, ev: PointerEvent) => any;
1551
+ onpointerdown: (this: GlobalEventHandlers, ev: PointerEvent) => any;
1552
+ onpointerenter: (this: GlobalEventHandlers, ev: PointerEvent) => any;
1553
+ onpointerleave: (this: GlobalEventHandlers, ev: PointerEvent) => any;
1554
+ onpointermove: (this: GlobalEventHandlers, ev: PointerEvent) => any;
1555
+ onpointerout: (this: GlobalEventHandlers, ev: PointerEvent) => any;
1556
+ onpointerover: (this: GlobalEventHandlers, ev: PointerEvent) => any;
1557
+ onpointerup: (this: GlobalEventHandlers, ev: PointerEvent) => any;
1558
+ onprogress: (this: GlobalEventHandlers, ev: ProgressEvent<EventTarget>) => any;
1559
+ onratechange: (this: GlobalEventHandlers, ev: Event) => any;
1560
+ onreset: (this: GlobalEventHandlers, ev: Event) => any;
1561
+ onresize: (this: GlobalEventHandlers, ev: UIEvent) => any;
1562
+ onscroll: (this: GlobalEventHandlers, ev: Event) => any;
1563
+ onsecuritypolicyviolation: (this: GlobalEventHandlers, ev: SecurityPolicyViolationEvent) => any;
1564
+ onseeked: (this: GlobalEventHandlers, ev: Event) => any;
1565
+ onseeking: (this: GlobalEventHandlers, ev: Event) => any;
1566
+ onselect: (this: GlobalEventHandlers, ev: Event) => any;
1567
+ onselectionchange: (this: GlobalEventHandlers, ev: Event) => any;
1568
+ onselectstart: (this: GlobalEventHandlers, ev: Event) => any;
1569
+ onslotchange: (this: GlobalEventHandlers, ev: Event) => any;
1570
+ onstalled: (this: GlobalEventHandlers, ev: Event) => any;
1571
+ onsubmit: (this: GlobalEventHandlers, ev: SubmitEvent) => any;
1572
+ onsuspend: (this: GlobalEventHandlers, ev: Event) => any;
1573
+ ontimeupdate: (this: GlobalEventHandlers, ev: Event) => any;
1574
+ ontoggle: (this: GlobalEventHandlers, ev: Event) => any;
1575
+ ontouchcancel?: (this: GlobalEventHandlers, ev: TouchEvent) => any;
1576
+ ontouchend?: (this: GlobalEventHandlers, ev: TouchEvent) => any;
1577
+ ontouchmove?: (this: GlobalEventHandlers, ev: TouchEvent) => any;
1578
+ ontouchstart?: (this: GlobalEventHandlers, ev: TouchEvent) => any;
1579
+ ontransitioncancel: (this: GlobalEventHandlers, ev: TransitionEvent) => any;
1580
+ ontransitionend: (this: GlobalEventHandlers, ev: TransitionEvent) => any;
1581
+ ontransitionrun: (this: GlobalEventHandlers, ev: TransitionEvent) => any;
1582
+ ontransitionstart: (this: GlobalEventHandlers, ev: TransitionEvent) => any;
1583
+ onvolumechange: (this: GlobalEventHandlers, ev: Event) => any;
1584
+ onwaiting: (this: GlobalEventHandlers, ev: Event) => any;
1585
+ onwebkitanimationend: (this: GlobalEventHandlers, ev: Event) => any;
1586
+ onwebkitanimationiteration: (this: GlobalEventHandlers, ev: Event) => any;
1587
+ onwebkitanimationstart: (this: GlobalEventHandlers, ev: Event) => any;
1588
+ onwebkittransitionend: (this: GlobalEventHandlers, ev: Event) => any;
1589
+ onwheel: (this: GlobalEventHandlers, ev: WheelEvent) => any;
1590
+ autofocus: boolean;
1591
+ readonly dataset: DOMStringMap;
1592
+ nonce?: string;
1593
+ tabIndex: number;
1594
+ blur(): void;
1595
+ focus(options?: FocusOptions): void;
1596
+ }) & typeof FoundationElement;
1597
+
1598
+ /**
1599
+ * fdc3-intent-listener listen intent config
1193
1600
  * @alpha
1194
1601
  */
1195
1602
  export declare interface IntentConfig {
1196
1603
  intent: string;
1197
- callback: (any: any) => void;
1604
+ callback: (FDC3Context: any) => void;
1198
1605
  }
1199
1606
 
1200
1607
  /**
@@ -1225,4 +1632,15 @@ export declare class InteropNotificationsListener extends NotificationListener {
1225
1632
  protected showNotificationToast(row: NotificationDataRow): void;
1226
1633
  }
1227
1634
 
1635
+ /**
1636
+ * System channel listener config. System channels are also known as color channels
1637
+ * @alpha
1638
+ * @param channelType - string for the context channel type
1639
+ * @param callback - function that is called if a message with a matching context is emitted
1640
+ */
1641
+ export declare interface SystemChannelListenerConfig {
1642
+ channelType: string;
1643
+ callback: (any: any) => void;
1644
+ }
1645
+
1228
1646
  export { }
@@ -0,0 +1,25 @@
1
+ <!-- Do not edit this file. It is automatically generated by API Documenter. -->
2
+
3
+ [Home](./index.md) &gt; [@genesislcap/foundation-fdc3](./foundation-fdc3.md) &gt; [FDC3](./foundation-fdc3.fdc3.md) &gt; [addSystemChannelListener](./foundation-fdc3.fdc3.addsystemchannellistener.md)
4
+
5
+ ## FDC3.addSystemChannelListener() method
6
+
7
+ Helper function to add a context listener on to the system, aka 'color', channel with a handler for channel messages
8
+
9
+ **Signature:**
10
+
11
+ ```typescript
12
+ addSystemChannelListener(channelType: string, callback: (any: any) => void): Promise<void>;
13
+ ```
14
+
15
+ ## Parameters
16
+
17
+ | Parameter | Type | Description |
18
+ | --- | --- | --- |
19
+ | channelType | string | type of the channel |
20
+ | callback | (any: any) =&gt; void | handler to for the channel context listener |
21
+
22
+ **Returns:**
23
+
24
+ Promise&lt;void&gt;
25
+
@@ -0,0 +1,25 @@
1
+ <!-- Do not edit this file. It is automatically generated by API Documenter. -->
2
+
3
+ [Home](./index.md) &gt; [@genesislcap/foundation-fdc3](./foundation-fdc3.md) &gt; [FDC3](./foundation-fdc3.fdc3.md) &gt; [broadcastOnCurrentChannel](./foundation-fdc3.fdc3.broadcastoncurrentchannel.md)
4
+
5
+ ## FDC3.broadcastOnCurrentChannel() method
6
+
7
+ Broadcasts a message on the current app channel
8
+
9
+ **Signature:**
10
+
11
+ ```typescript
12
+ broadcastOnCurrentChannel(payload: any, type?: string): Promise<void>;
13
+ ```
14
+
15
+ ## Parameters
16
+
17
+ | Parameter | Type | Description |
18
+ | --- | --- | --- |
19
+ | payload | any | payload sent to the channel |
20
+ | type | string | _(Optional)_ type of the channel |
21
+
22
+ **Returns:**
23
+
24
+ Promise&lt;void&gt;
25
+
@@ -0,0 +1,13 @@
1
+ <!-- Do not edit this file. It is automatically generated by API Documenter. -->
2
+
3
+ [Home](./index.md) &gt; [@genesislcap/foundation-fdc3](./foundation-fdc3.md) &gt; [FDC3](./foundation-fdc3.fdc3.md) &gt; [currentChannel$](./foundation-fdc3.fdc3.currentchannel_.md)
4
+
5
+ ## FDC3.currentChannel$ property
6
+
7
+ Observable which emits the current channel When a new channel is joined a new value is emitted
8
+
9
+ **Signature:**
10
+
11
+ ```typescript
12
+ currentChannel$: Observable<FDC3Channel>;
13
+ ```
@@ -0,0 +1,26 @@
1
+ <!-- Do not edit this file. It is automatically generated by API Documenter. -->
2
+
3
+ [Home](./index.md) &gt; [@genesislcap/foundation-fdc3](./foundation-fdc3.md) &gt; [FDC3](./foundation-fdc3.fdc3.md) &gt; [handleChannelCurrentContext](./foundation-fdc3.fdc3.handlechannelcurrentcontext.md)
4
+
5
+ ## FDC3.handleChannelCurrentContext() method
6
+
7
+ Helper function to add a context listener on a channel with a handler for channel messages
8
+
9
+ **Signature:**
10
+
11
+ ```typescript
12
+ handleChannelCurrentContext(channel: Channel | FDC3Channel, contextType: string, listenerCallback: (FDC3Context: any) => any): Promise<void>;
13
+ ```
14
+
15
+ ## Parameters
16
+
17
+ | Parameter | Type | Description |
18
+ | --- | --- | --- |
19
+ | channel | Channel \| [FDC3Channel](./foundation-fdc3.fdc3channel.md) | channel instance for getting for getting current context |
20
+ | contextType | string | context type of the channel to listen to |
21
+ | listenerCallback | (FDC3Context: any) =&gt; any | |
22
+
23
+ **Returns:**
24
+
25
+ Promise&lt;void&gt;
26
+
@@ -0,0 +1,13 @@
1
+ <!-- Do not edit this file. It is automatically generated by API Documenter. -->
2
+
3
+ [Home](./index.md) &gt; [@genesislcap/foundation-fdc3](./foundation-fdc3.md) &gt; [FDC3](./foundation-fdc3.fdc3.md) &gt; [isInteropFdc3](./foundation-fdc3.fdc3.isinteropfdc3.md)
4
+
5
+ ## FDC3.isInteropFdc3 property
6
+
7
+ Check if the interop global is available.
8
+
9
+ **Signature:**
10
+
11
+ ```typescript
12
+ isInteropFdc3: () => boolean;
13
+ ```
@@ -0,0 +1,13 @@
1
+ <!-- Do not edit this file. It is automatically generated by API Documenter. -->
2
+
3
+ [Home](./index.md) &gt; [@genesislcap/foundation-fdc3](./foundation-fdc3.md) &gt; [FDC3](./foundation-fdc3.fdc3.md) &gt; [isReady$](./foundation-fdc3.fdc3.isready_.md)
4
+
5
+ ## FDC3.isReady$ property
6
+
7
+ Observable indicating the FDC3 API is ready.
8
+
9
+ **Signature:**
10
+
11
+ ```typescript
12
+ isReady$: Observable<true>;
13
+ ```