@genesislcap/foundation-fdc3 14.199.2 → 14.200.0-FUI-2127.2

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 +7 -337
  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} +6 -19
  10. package/dist/dts/util/fdc3-intent-listener.d.ts.map +1 -0
  11. package/dist/dts/util/fdc3-system-channel-listener.d.ts +348 -0
  12. package/dist/dts/util/fdc3-system-channel-listener.d.ts.map +1 -0
  13. package/dist/dts/util/index.d.ts +0 -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 +48 -0
  20. package/dist/esm/util/fdc3-system-channel-listener.js +55 -0
  21. package/dist/esm/util/index.js +0 -1
  22. package/dist/foundation-fdc3.api.json +384 -0
  23. package/dist/foundation-fdc3.d.ts +57 -358
  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 +22 -34
  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
@@ -0,0 +1,55 @@
1
+ import { __awaiter, __decorate } from "tslib";
2
+ import { LifecycleMixin } from '@genesislcap/foundation-utils';
3
+ import { customElement, FoundationElement } from '@genesislcap/web-core';
4
+ import { first, Subscription } from 'rxjs';
5
+ import { FDC3 } from '../fdc3';
6
+ let Fdc3SystemChannelListener = class Fdc3SystemChannelListener extends LifecycleMixin(FoundationElement) {
7
+ constructor() {
8
+ super(...arguments);
9
+ this.config = [];
10
+ this.channelSub = new Subscription();
11
+ }
12
+ deepClone() {
13
+ const copy = super.deepClone();
14
+ if (this.config) {
15
+ copy.config = this.config.map((c) => {
16
+ const copyConfig = Object.assign({}, c);
17
+ if (c.callback) {
18
+ copyConfig.callback = c.callback.bind(this);
19
+ }
20
+ return copyConfig;
21
+ });
22
+ }
23
+ return copy;
24
+ }
25
+ connectedCallback() {
26
+ super.connectedCallback();
27
+ this.fdc3.isReady$.pipe(first()).subscribe(() => {
28
+ if (this.config) {
29
+ this.addChannelListeners();
30
+ }
31
+ });
32
+ }
33
+ addChannelListeners() {
34
+ this.fdc3.isReady$.pipe(first()).subscribe(() => __awaiter(this, void 0, void 0, function* () {
35
+ return this.config.forEach((c) => this.channelSub.add(this.fdc3.currentChannel$.subscribe((channel) => {
36
+ this.fdc3.handleChannelCurrentContext(channel, c.channelType, c.callback);
37
+ channel.addContextListener(c.channelType, c.callback);
38
+ })));
39
+ }));
40
+ }
41
+ disconnectedCallback() {
42
+ var _a;
43
+ (_a = this.channelSub) === null || _a === void 0 ? void 0 : _a.unsubscribe();
44
+ super.disconnectedCallback();
45
+ }
46
+ };
47
+ __decorate([
48
+ FDC3
49
+ ], Fdc3SystemChannelListener.prototype, "fdc3", void 0);
50
+ Fdc3SystemChannelListener = __decorate([
51
+ customElement({
52
+ name: 'fdc3-system-channel-listener',
53
+ })
54
+ ], Fdc3SystemChannelListener);
55
+ export { Fdc3SystemChannelListener };
@@ -1,2 +1 @@
1
1
  export * from './fdc3-raise-intent';
2
- export * from './fdc3-listener';
@@ -358,6 +358,72 @@
358
358
  ],
359
359
  "name": "addIntentListeners"
360
360
  },
361
+ {
362
+ "kind": "MethodSignature",
363
+ "canonicalReference": "@genesislcap/foundation-fdc3!FDC3#addSystemChannelListener:member(1)",
364
+ "docComment": "/**\n * Helper function to add a context listener on to the system, aka 'color', channel with a handler for channel messages\n *\n * @param channelType - type of the channel\n *\n * @param callback - handler to for the channel context listener\n */\n",
365
+ "excerptTokens": [
366
+ {
367
+ "kind": "Content",
368
+ "text": "addSystemChannelListener(channelType: "
369
+ },
370
+ {
371
+ "kind": "Content",
372
+ "text": "string"
373
+ },
374
+ {
375
+ "kind": "Content",
376
+ "text": ", callback: "
377
+ },
378
+ {
379
+ "kind": "Content",
380
+ "text": "(any: any) => void"
381
+ },
382
+ {
383
+ "kind": "Content",
384
+ "text": "): "
385
+ },
386
+ {
387
+ "kind": "Reference",
388
+ "text": "Promise",
389
+ "canonicalReference": "!Promise:interface"
390
+ },
391
+ {
392
+ "kind": "Content",
393
+ "text": "<void>"
394
+ },
395
+ {
396
+ "kind": "Content",
397
+ "text": ";"
398
+ }
399
+ ],
400
+ "isOptional": false,
401
+ "returnTypeTokenRange": {
402
+ "startIndex": 5,
403
+ "endIndex": 7
404
+ },
405
+ "releaseTag": "Public",
406
+ "overloadIndex": 1,
407
+ "parameters": [
408
+ {
409
+ "parameterName": "channelType",
410
+ "parameterTypeTokenRange": {
411
+ "startIndex": 1,
412
+ "endIndex": 2
413
+ },
414
+ "isOptional": false
415
+ },
416
+ {
417
+ "parameterName": "callback",
418
+ "parameterTypeTokenRange": {
419
+ "startIndex": 3,
420
+ "endIndex": 4
421
+ },
422
+ "isOptional": false
423
+ }
424
+ ],
425
+ "name": "addSystemChannelListener"
426
+ },
361
427
  {
362
428
  "kind": "MethodSignature",
363
429
  "canonicalReference": "@genesislcap/foundation-fdc3!FDC3#broadcastOnChannel:member(1)",
@@ -515,6 +581,113 @@
515
581
  ],
516
582
  "name": "broadcastOnChannelEventHandler"
517
583
  },
584
+ {
585
+ "kind": "MethodSignature",
586
+ "canonicalReference": "@genesislcap/foundation-fdc3!FDC3#broadcastOnCurrentChannel:member(1)",
587
+ "docComment": "/**\n * Broadcasts a message on the current app channel\n *\n * @param type - type of the channel\n *\n * @param payload - payload sent to the channel\n */\n",
588
+ "excerptTokens": [
589
+ {
590
+ "kind": "Content",
591
+ "text": "broadcastOnCurrentChannel(payload: "
592
+ },
593
+ {
594
+ "kind": "Content",
595
+ "text": "any"
596
+ },
597
+ {
598
+ "kind": "Content",
599
+ "text": ", type?: "
600
+ },
601
+ {
602
+ "kind": "Content",
603
+ "text": "string"
604
+ },
605
+ {
606
+ "kind": "Content",
607
+ "text": "): "
608
+ },
609
+ {
610
+ "kind": "Reference",
611
+ "text": "Promise",
612
+ "canonicalReference": "!Promise:interface"
613
+ },
614
+ {
615
+ "kind": "Content",
616
+ "text": "<void>"
617
+ },
618
+ {
619
+ "kind": "Content",
620
+ "text": ";"
621
+ }
622
+ ],
623
+ "isOptional": false,
624
+ "returnTypeTokenRange": {
625
+ "startIndex": 5,
626
+ "endIndex": 7
627
+ },
628
+ "releaseTag": "Public",
629
+ "overloadIndex": 1,
630
+ "parameters": [
631
+ {
632
+ "parameterName": "payload",
633
+ "parameterTypeTokenRange": {
634
+ "startIndex": 1,
635
+ "endIndex": 2
636
+ },
637
+ "isOptional": false
638
+ },
639
+ {
640
+ "parameterName": "type",
641
+ "parameterTypeTokenRange": {
642
+ "startIndex": 3,
643
+ "endIndex": 4
644
+ },
645
+ "isOptional": true
646
+ }
647
+ ],
648
+ "name": "broadcastOnCurrentChannel"
649
+ },
650
+ {
651
+ "kind": "PropertySignature",
652
+ "canonicalReference": "@genesislcap/foundation-fdc3!FDC3#currentChannel$:member",
653
+ "docComment": "/**\n * Observable which emits the current channel When a new channel is joined a new value is emitted\n *\n * @public\n */\n",
654
+ "excerptTokens": [
655
+ {
656
+ "kind": "Content",
657
+ "text": "currentChannel$: "
658
+ },
659
+ {
660
+ "kind": "Reference",
661
+ "text": "Observable",
662
+ "canonicalReference": "rxjs!Observable:class"
663
+ },
664
+ {
665
+ "kind": "Content",
666
+ "text": "<"
667
+ },
668
+ {
669
+ "kind": "Reference",
670
+ "text": "FDC3Channel",
671
+ "canonicalReference": "@genesislcap/foundation-fdc3!FDC3Channel:interface"
672
+ },
673
+ {
674
+ "kind": "Content",
675
+ "text": ">"
676
+ },
677
+ {
678
+ "kind": "Content",
679
+ "text": ";"
680
+ }
681
+ ],
682
+ "isReadonly": false,
683
+ "isOptional": false,
684
+ "releaseTag": "Public",
685
+ "name": "currentChannel$",
686
+ "propertyTypeTokenRange": {
687
+ "startIndex": 1,
688
+ "endIndex": 5
689
+ }
690
+ },
518
691
  {
519
692
  "kind": "MethodSignature",
520
693
  "canonicalReference": "@genesislcap/foundation-fdc3!FDC3#findIntent:member(1)",
@@ -753,6 +926,125 @@
753
926
  ],
754
927
  "name": "getOrCreateChannel"
755
928
  },
929
+ {
930
+ "kind": "MethodSignature",
931
+ "canonicalReference": "@genesislcap/foundation-fdc3!FDC3#handleChannelCurrentContext:member(1)",
932
+ "docComment": "/**\n * Helper function to add a context listener on a channel with a handler for channel messages\n *\n * @param channel - channel instance for getting for getting current context\n *\n * @param contextType - context type of the channel to listen to\n *\n * @param callback - handler to for the channel context listener\n */\n",
933
+ "excerptTokens": [
934
+ {
935
+ "kind": "Content",
936
+ "text": "handleChannelCurrentContext(channel: "
937
+ },
938
+ {
939
+ "kind": "Reference",
940
+ "text": "Channel",
941
+ "canonicalReference": "@finos/fdc3!Channel:interface"
942
+ },
943
+ {
944
+ "kind": "Content",
945
+ "text": " | "
946
+ },
947
+ {
948
+ "kind": "Reference",
949
+ "text": "FDC3Channel",
950
+ "canonicalReference": "@genesislcap/foundation-fdc3!FDC3Channel:interface"
951
+ },
952
+ {
953
+ "kind": "Content",
954
+ "text": ", contextType: "
955
+ },
956
+ {
957
+ "kind": "Content",
958
+ "text": "string"
959
+ },
960
+ {
961
+ "kind": "Content",
962
+ "text": ", listenerCallback: "
963
+ },
964
+ {
965
+ "kind": "Content",
966
+ "text": "(FDC3Context: any) => any"
967
+ },
968
+ {
969
+ "kind": "Content",
970
+ "text": "): "
971
+ },
972
+ {
973
+ "kind": "Reference",
974
+ "text": "Promise",
975
+ "canonicalReference": "!Promise:interface"
976
+ },
977
+ {
978
+ "kind": "Content",
979
+ "text": "<void>"
980
+ },
981
+ {
982
+ "kind": "Content",
983
+ "text": ";"
984
+ }
985
+ ],
986
+ "isOptional": false,
987
+ "returnTypeTokenRange": {
988
+ "startIndex": 9,
989
+ "endIndex": 11
990
+ },
991
+ "releaseTag": "Public",
992
+ "overloadIndex": 1,
993
+ "parameters": [
994
+ {
995
+ "parameterName": "channel",
996
+ "parameterTypeTokenRange": {
997
+ "startIndex": 1,
998
+ "endIndex": 4
999
+ },
1000
+ "isOptional": false
1001
+ },
1002
+ {
1003
+ "parameterName": "contextType",
1004
+ "parameterTypeTokenRange": {
1005
+ "startIndex": 5,
1006
+ "endIndex": 6
1007
+ },
1008
+ "isOptional": false
1009
+ },
1010
+ {
1011
+ "parameterName": "listenerCallback",
1012
+ "parameterTypeTokenRange": {
1013
+ "startIndex": 7,
1014
+ "endIndex": 8
1015
+ },
1016
+ "isOptional": false
1017
+ }
1018
+ ],
1019
+ "name": "handleChannelCurrentContext"
1020
+ },
1021
+ {
1022
+ "kind": "PropertySignature",
1023
+ "canonicalReference": "@genesislcap/foundation-fdc3!FDC3#isInteropFdc3:member",
1024
+ "docComment": "/**\n * Check if the interop global is available.\n *\n * @public\n */\n",
1025
+ "excerptTokens": [
1026
+ {
1027
+ "kind": "Content",
1028
+ "text": "isInteropFdc3: "
1029
+ },
1030
+ {
1031
+ "kind": "Content",
1032
+ "text": "() => boolean"
1033
+ },
1034
+ {
1035
+ "kind": "Content",
1036
+ "text": ";"
1037
+ }
1038
+ ],
1039
+ "isReadonly": false,
1040
+ "isOptional": false,
1041
+ "releaseTag": "Public",
1042
+ "name": "isInteropFdc3",
1043
+ "propertyTypeTokenRange": {
1044
+ "startIndex": 1,
1045
+ "endIndex": 2
1046
+ }
1047
+ },
756
1048
  {
757
1049
  "kind": "PropertySignature",
758
1050
  "canonicalReference": "@genesislcap/foundation-fdc3!FDC3#isReady:member",
@@ -780,6 +1072,38 @@
780
1072
  "endIndex": 2
781
1073
  }
782
1074
  },
1075
+ {
1076
+ "kind": "PropertySignature",
1077
+ "canonicalReference": "@genesislcap/foundation-fdc3!FDC3#isReady$:member",
1078
+ "docComment": "/**\n * Observable indicating the FDC3 API is ready.\n *\n * @public\n */\n",
1079
+ "excerptTokens": [
1080
+ {
1081
+ "kind": "Content",
1082
+ "text": "isReady$: "
1083
+ },
1084
+ {
1085
+ "kind": "Reference",
1086
+ "text": "Observable",
1087
+ "canonicalReference": "rxjs!Observable:class"
1088
+ },
1089
+ {
1090
+ "kind": "Content",
1091
+ "text": "<true>"
1092
+ },
1093
+ {
1094
+ "kind": "Content",
1095
+ "text": ";"
1096
+ }
1097
+ ],
1098
+ "isReadonly": false,
1099
+ "isOptional": false,
1100
+ "releaseTag": "Public",
1101
+ "name": "isReady$",
1102
+ "propertyTypeTokenRange": {
1103
+ "startIndex": 1,
1104
+ "endIndex": 3
1105
+ }
1106
+ },
783
1107
  {
784
1108
  "kind": "MethodSignature",
785
1109
  "canonicalReference": "@genesislcap/foundation-fdc3!FDC3#joinChannel:member(1)",
@@ -906,6 +1230,66 @@
906
1230
  }
907
1231
  ],
908
1232
  "name": "raiseIntent"
1233
+ },
1234
+ {
1235
+ "kind": "MethodSignature",
1236
+ "canonicalReference": "@genesislcap/foundation-fdc3!FDC3#raiseIntentForContext:member(1)",
1237
+ "docComment": "/**\n * Raises an intent against an application based purely on the context data.\n *\n * @param context - The context to use.\n *\n * @returns A promise that resolves with the result of the intent resolution.\n *\n * @public\n */\n",
1238
+ "excerptTokens": [
1239
+ {
1240
+ "kind": "Content",
1241
+ "text": "raiseIntentForContext(context: "
1242
+ },
1243
+ {
1244
+ "kind": "Reference",
1245
+ "text": "FDC3Context",
1246
+ "canonicalReference": "@genesislcap/foundation-fdc3!FDC3Context:interface"
1247
+ },
1248
+ {
1249
+ "kind": "Content",
1250
+ "text": "): "
1251
+ },
1252
+ {
1253
+ "kind": "Reference",
1254
+ "text": "Promise",
1255
+ "canonicalReference": "!Promise:interface"
1256
+ },
1257
+ {
1258
+ "kind": "Content",
1259
+ "text": "<"
1260
+ },
1261
+ {
1262
+ "kind": "Reference",
1263
+ "text": "FDC3IntentResolution",
1264
+ "canonicalReference": "@genesislcap/foundation-fdc3!FDC3IntentResolution:interface"
1265
+ },
1266
+ {
1267
+ "kind": "Content",
1268
+ "text": ">"
1269
+ },
1270
+ {
1271
+ "kind": "Content",
1272
+ "text": ";"
1273
+ }
1274
+ ],
1275
+ "isOptional": false,
1276
+ "returnTypeTokenRange": {
1277
+ "startIndex": 3,
1278
+ "endIndex": 7
1279
+ },
1280
+ "releaseTag": "Public",
1281
+ "overloadIndex": 1,
1282
+ "parameters": [
1283
+ {
1284
+ "parameterName": "context",
1285
+ "parameterTypeTokenRange": {
1286
+ "startIndex": 1,
1287
+ "endIndex": 2
1288
+ },
1289
+ "isOptional": false
1290
+ }
1291
+ ],
1292
+ "name": "raiseIntentForContext"
909
1293
  }
910
1294
  ],
911
1295
  "extendsTokenRanges": []