@adobe/exc-app 1.0.5 → 1.0.8

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 (43) hide show
  1. package/RuntimeConfiguration.d.ts +12 -0
  2. package/appapi.d.ts +3 -3
  3. package/appapi.js +2 -2
  4. package/appapi.js.map +1 -1
  5. package/capabilityapi.d.ts +2 -0
  6. package/capabilityapi.js +2 -0
  7. package/capabilityapi.js.map +1 -1
  8. package/component.d.ts +53 -0
  9. package/component.js +72 -0
  10. package/component.js.map +1 -0
  11. package/docs/enums/appapi.appids.md +7 -7
  12. package/docs/enums/network.standardvariables.md +24 -0
  13. package/docs/interfaces/network.datadedupconfig.md +32 -0
  14. package/docs/interfaces/network.dataprefetchcontract.md +129 -0
  15. package/docs/interfaces/network.fetchcondition.md +27 -0
  16. package/docs/interfaces/network.graphqlquery.md +2 -0
  17. package/docs/interfaces/network.networkapi.md +29 -0
  18. package/docs/interfaces/network.prefetchoptions.md +34 -0
  19. package/docs/interfaces/network.querydefinition.md +100 -0
  20. package/docs/interfaces/root.runtimeconfiguration.md +9 -0
  21. package/docs/interfaces/shell.shellinfo.md +7 -0
  22. package/docs/modules/network.md +55 -0
  23. package/ims/ImsProfile.d.ts +1 -0
  24. package/jest.config.js +0 -4
  25. package/network/DataPrefetchContract.d.ts +46 -0
  26. package/network/DataPrefetchContract.js +7 -1
  27. package/network/DataPrefetchContract.js.map +1 -1
  28. package/package.json +3 -4
  29. package/src/Global.d.ts +2 -0
  30. package/src/Global.js.map +1 -1
  31. package/tests/appapi.test.js +0 -4
  32. package/tests/appapi.test.js.map +1 -1
  33. package/tests/component.test.d.ts +1 -0
  34. package/tests/component.test.js +74 -0
  35. package/tests/component.test.js.map +1 -0
  36. package/version.d.ts +1 -1
  37. package/version.js +1 -1
  38. package/coverage/lcov-report/block-navigation.js +0 -79
  39. package/coverage/lcov-report/prettify.js +0 -2
  40. package/coverage/lcov-report/sorter.js +0 -170
  41. package/network/DataContract.d.ts +0 -35
  42. package/network/DataContract.js +0 -3
  43. package/network/DataContract.js.map +0 -1
@@ -0,0 +1,100 @@
1
+ **[@adobe/exc-app](../README.md)**
2
+
3
+ > [Globals](../README.md) / [network](../modules/network.md) / QueryDefinition
4
+
5
+ # Interface: QueryDefinition
6
+
7
+ Defines a GraphQL query that will be executed to fetch the data exposed by this contract.
8
+
9
+ ## Hierarchy
10
+
11
+ * [GraphQLQuery](network.graphqlquery.md)
12
+
13
+ ↳ **QueryDefinition**
14
+
15
+ ## Index
16
+
17
+ ### Properties
18
+
19
+ * [dataPath](network.querydefinition.md#datapath)
20
+ * [fetchScope](network.querydefinition.md#fetchscope)
21
+ * [ignoreErrorsOnPaths](network.querydefinition.md#ignoreerrorsonpaths)
22
+ * [query](network.querydefinition.md#query)
23
+ * [variables](network.querydefinition.md#variables)
24
+
25
+ ## Properties
26
+
27
+ ### dataPath
28
+
29
+ • `Optional` **dataPath**: undefined \| string
30
+
31
+ When provided, the data at the certain path will be returned.
32
+ If not provided, the entire GraphQL response will be returned.
33
+
34
+ ___
35
+
36
+ ### fetchScope
37
+
38
+ • **fetchScope**: [FetchScope](../enums/network.fetchscope.md)
39
+
40
+ Fetch scope. Controls which headers are sent with the query.
41
+ See fetch documentation for more info.
42
+
43
+ ___
44
+
45
+ ### ignoreErrorsOnPaths
46
+
47
+ • `Optional` **ignoreErrorsOnPaths**: string[]
48
+
49
+ Do not fail (throw) when encountering errors while processing the query if the errors
50
+ happened on certain paths.
51
+
52
+ ___
53
+
54
+ ### query
55
+
56
+ • **query**: string
57
+
58
+ *Inherited from [GraphQLQuery](network.graphqlquery.md).[query](network.graphqlquery.md#query)*
59
+
60
+ GQL Query.
61
+
62
+ ***Example:***
63
+
64
+ ```typescript
65
+ {query: `
66
+ query userBehanceQuery($userId: String!, $apiKey: String!) {
67
+ userBehance(userId: $userId, apiKey: $apiKey) {
68
+ images
69
+ }
70
+ }`
71
+ };
72
+
73
+ {query: `
74
+ query userBehanceQuery {
75
+ userBehance(userId: "123@AdobeID", apiKey: "test-app") {
76
+ images
77
+ }
78
+ }`
79
+ };
80
+ ```
81
+
82
+ ___
83
+
84
+ ### variables
85
+
86
+ • `Optional` **variables**: Record<string, any\>
87
+
88
+ *Inherited from [GraphQLQuery](network.graphqlquery.md).[variables](network.graphqlquery.md#variables)*
89
+
90
+ Query specific variables- key value pairs.
91
+
92
+ ***Example:***
93
+
94
+ ```typescript
95
+ {variables: {
96
+ apiKey: 'test-app',
97
+ userId: '123@AdobeID'
98
+ }
99
+ };
100
+ ```
@@ -21,6 +21,7 @@ External Runtime Configuration Interface
21
21
  * [baseFrameUrl](root.runtimeconfiguration.md#baseframeurl)
22
22
  * [basePath](root.runtimeconfiguration.md#basepath)
23
23
  * [baseUrl](root.runtimeconfiguration.md#baseurl)
24
+ * [cdn](root.runtimeconfiguration.md#cdn)
24
25
  * [changedProperties](root.runtimeconfiguration.md#changedproperties)
25
26
  * [discovery](root.runtimeconfiguration.md#discovery)
26
27
  * [environment](root.runtimeconfiguration.md#environment)
@@ -117,6 +118,14 @@ Base URL
117
118
 
118
119
  ___
119
120
 
121
+ ### cdn
122
+
123
+ • **cdn**: string
124
+
125
+ Environment specific CDN string.
126
+
127
+ ___
128
+
120
129
  ### changedProperties
121
130
 
122
131
  • **changedProperties**: keyof [RuntimeConfiguration](root.runtimeconfiguration.md)[]
@@ -12,12 +12,19 @@
12
12
 
13
13
  ### Properties
14
14
 
15
+ * [cdn](shell.shellinfo.md#cdn)
15
16
  * [environment](shell.shellinfo.md#environment)
16
17
  * [imsEnvironment](shell.shellinfo.md#imsenvironment)
17
18
  * [shellInfo](shell.shellinfo.md#shellinfo)
18
19
 
19
20
  ## Properties
20
21
 
22
+ ### cdn
23
+
24
+ • **cdn**: string
25
+
26
+ ___
27
+
21
28
  ### environment
22
29
 
23
30
  • **environment**: string
@@ -50,29 +50,38 @@ const queryResponse = await query({
50
50
 
51
51
  * [FetchScope](../enums/network.fetchscope.md)
52
52
  * [ROUTING](../enums/network.routing.md)
53
+ * [StandardVariables](../enums/network.standardvariables.md)
53
54
 
54
55
  ### Interfaces
55
56
 
56
57
  * [ApolloClientOptions](../interfaces/network.apolloclientoptions.md)
58
+ * [DataDedupConfig](../interfaces/network.datadedupconfig.md)
59
+ * [DataPrefetchContract](../interfaces/network.dataprefetchcontract.md)
57
60
  * [DefaultMetaData](../interfaces/network.defaultmetadata.md)
61
+ * [FetchCondition](../interfaces/network.fetchcondition.md)
58
62
  * [FetchOptions](../interfaces/network.fetchoptions.md)
59
63
  * [GraphQLQuery](../interfaces/network.graphqlquery.md)
60
64
  * [NetworkApi](../interfaces/network.networkapi.md)
65
+ * [PrefetchOptions](../interfaces/network.prefetchoptions.md)
66
+ * [QueryDefinition](../interfaces/network.querydefinition.md)
61
67
  * [QueryRequest](../interfaces/network.queryrequest.md)
62
68
 
63
69
  ### Type aliases
64
70
 
65
71
  * [FetchInit](network.md#fetchinit)
66
72
  * [GraphQLRegion](network.md#graphqlregion)
73
+ * [PrefetchResponse](network.md#prefetchresponse)
67
74
 
68
75
  ### Variables
69
76
 
70
77
  * [DEFAULT\_STATUS\_CODES\_TO\_RETRY](network.md#default_status_codes_to_retry)
78
+ * [FRESH\_MS](network.md#fresh_ms)
71
79
 
72
80
  ### Functions
73
81
 
74
82
  * [fetch](network.md#fetch)
75
83
  * [getApolloClient](network.md#getapolloclient)
84
+ * [getPrefetched](network.md#getprefetched)
76
85
  * [query](network.md#query)
77
86
 
78
87
  ## Type aliases
@@ -96,6 +105,18 @@ ___
96
105
 
97
106
  Ƭ **GraphQLRegion**: \"va7\" \| \"aus5\" \| \"nld2\"
98
107
 
108
+ ___
109
+
110
+ ### PrefetchResponse
111
+
112
+ Ƭ **PrefetchResponse**<T\>: [CacheEntry](cache.md#cacheentry)<T\> & { getFresh?: undefined \| () => Promise<[PrefetchResponse](network.md#prefetchresponse)<T\>\> }
113
+
114
+ #### Type parameters:
115
+
116
+ Name |
117
+ ------ |
118
+ `T` |
119
+
99
120
  ## Variables
100
121
 
101
122
  ### DEFAULT\_STATUS\_CODES\_TO\_RETRY
@@ -104,6 +125,12 @@ ___
104
125
 
105
126
  Default status codes which imply a transient error and can be retried.
106
127
 
128
+ ___
129
+
130
+ ### FRESH\_MS
131
+
132
+ • `Const` **FRESH\_MS**: number = 60 * 1000
133
+
107
134
  ## Functions
108
135
 
109
136
  ### fetch
@@ -175,6 +202,34 @@ GraphQL query response
175
202
 
176
203
  ___
177
204
 
205
+ ### getPrefetched
206
+
207
+ ▸ **getPrefetched**<T\>(`key`: string, `options?`: [PrefetchOptions](../interfaces/network.prefetchoptions.md)): Promise<[PrefetchResponse](network.md#prefetchresponse)<T\>\>
208
+
209
+ Provides an interface for querying known data.
210
+ Data querying and caching are managed in Unified Shell in advance.
211
+
212
+ This is an experimental feature.
213
+
214
+ #### Type parameters:
215
+
216
+ Name |
217
+ ------ |
218
+ `T` |
219
+
220
+ #### Parameters:
221
+
222
+ Name | Type | Description |
223
+ ------ | ------ | ------ |
224
+ `key` | string | Data Contract key |
225
+ `options?` | [PrefetchOptions](../interfaces/network.prefetchoptions.md) | Prefetch options |
226
+
227
+ **Returns:** Promise<[PrefetchResponse](network.md#prefetchresponse)<T\>\>
228
+
229
+ Promise for the contract execution response
230
+
231
+ ___
232
+
178
233
  ### query
179
234
 
180
235
  ▸ **query**(`input`: [QueryRequest](../interfaces/network.queryrequest.md)): Promise<Response\>
@@ -10,6 +10,7 @@
10
10
  **************************************************************************/
11
11
  export interface ProductContext {
12
12
  createDts: number;
13
+ fulfillable_data?: string;
13
14
  geo?: string;
14
15
  global_company_id?: string;
15
16
  groupid: string;
package/jest.config.js CHANGED
@@ -12,10 +12,6 @@ const base = require('../../jest.config.base');
12
12
 
13
13
  module.exports = {
14
14
  ...base,
15
- moduleFileExtensions: ['ts', 'js'],
16
- moduleNameMapper: {
17
- '\\.(css|scss|png|jpg|styl)$': '<rootDir>/config/jest/styleMock.js'
18
- },
19
15
  preset: 'ts-jest/presets/js-with-babel',
20
16
  testMatch: ['**/?(*.)+(test).ts'],
21
17
  testURL: 'https://localhost.corp.adobe.com:1234'
@@ -15,6 +15,11 @@ import { FetchScope, GraphQLQuery } from '../network';
15
15
  * @module network
16
16
  */
17
17
  export declare const FRESH_MS: number;
18
+ export declare enum StandardVariables {
19
+ ACP_FD = "acpFulfillableData",
20
+ CACHED_TS = "cached.createdAt",
21
+ DEDUP_SF = "dedup.sortField"
22
+ }
18
23
  /**
19
24
  * Defines the conditions when certain data can be fetched.
20
25
  * When conditions are not met, default data will be returned but not cached.
@@ -46,6 +51,29 @@ export interface QueryDefinition extends GraphQLQuery {
46
51
  */
47
52
  ignoreErrorsOnPaths?: string[];
48
53
  }
54
+ export interface DataDedupConfig {
55
+ /**
56
+ * An array of elements that needs to be merged and deduped across fresh and cached data.
57
+ */
58
+ arrayElement: string;
59
+ /**
60
+ * To avoid overflow when data is refreshed, limit the number of items in the array.
61
+ * 0 = unlimited.
62
+ */
63
+ arrayLimit: number;
64
+ /**
65
+ * A key that will be used to deduplicate the array element.
66
+ */
67
+ keyField: string;
68
+ /**
69
+ * Sort direction - True for ascending, false for descending.
70
+ */
71
+ sortAscending: boolean;
72
+ /**
73
+ * Field to sort the array by - Used to decide which items are old and can be chopped off.
74
+ */
75
+ sortField: string;
76
+ }
49
77
  /**
50
78
  * Defines a data contract which will be executed by Unified Shell on behalf ot the requesting application.
51
79
  */
@@ -79,6 +107,24 @@ export default interface DataPrefetchContract<T> {
79
107
  * Will be used by the calling application to get access to the data.
80
108
  */
81
109
  key: string;
110
+ /**
111
+ * Defines specific behavior for refresh.
112
+ * This is optional, by default refreshing data and fetching new will yield the same results.
113
+ */
114
+ refreshData?: {
115
+ /**
116
+ * Cached & Fresh Data deduplication and merge configuration.
117
+ */
118
+ dedup?: DataDedupConfig;
119
+ /**
120
+ * GraphQL query to use for refresh.
121
+ */
122
+ gql?: QueryDefinition;
123
+ /**
124
+ * An optional array of root level elements that need to be retained from the cached data.
125
+ */
126
+ keepOriginal?: string[];
127
+ };
82
128
  /**
83
129
  * When true, data will be fetched even when a cache is available.
84
130
  * In this case, the query will return the cached data and at the same time fetch fresh data from the network.
@@ -1,9 +1,15 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.FRESH_MS = void 0;
3
+ exports.StandardVariables = exports.FRESH_MS = void 0;
4
4
  /**
5
5
  * @packageDocumentation
6
6
  * @module network
7
7
  */
8
8
  exports.FRESH_MS = 60 * 1000; // One minute.
9
+ var StandardVariables;
10
+ (function (StandardVariables) {
11
+ StandardVariables["ACP_FD"] = "acpFulfillableData";
12
+ StandardVariables["CACHED_TS"] = "cached.createdAt";
13
+ StandardVariables["DEDUP_SF"] = "dedup.sortField";
14
+ })(StandardVariables = exports.StandardVariables || (exports.StandardVariables = {}));
9
15
  //# sourceMappingURL=DataPrefetchContract.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"DataPrefetchContract.js","sourceRoot":"","sources":["DataPrefetchContract.ts"],"names":[],"mappings":";;;AAaA;;;GAGG;AAEU,QAAA,QAAQ,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC,cAAc"}
1
+ {"version":3,"file":"DataPrefetchContract.js","sourceRoot":"","sources":["DataPrefetchContract.ts"],"names":[],"mappings":";;;AAaA;;;GAGG;AAEU,QAAA,QAAQ,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC,cAAc;AAEjD,IAAY,iBAIX;AAJD,WAAY,iBAAiB;IAC3B,kDAA6B,CAAA;IAC7B,mDAA8B,CAAA;IAC9B,iDAA4B,CAAA;AAC9B,CAAC,EAJW,iBAAiB,GAAjB,yBAAiB,KAAjB,yBAAiB,QAI5B"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@adobe/exc-app",
3
- "version": "1.0.5",
3
+ "version": "1.0.8",
4
4
  "main": "index.js",
5
5
  "source": "index.ts",
6
6
  "scripts": {
@@ -26,15 +26,14 @@
26
26
  },
27
27
  "dependencies": {
28
28
  "@apollo/client": "3.5.7",
29
- "graphql": "^15.0.0",
29
+ "graphql": "15.5.3",
30
30
  "graphql-tag": "2.12.6"
31
31
  },
32
32
  "devDependencies": {
33
33
  "cross-env": "7.0.3",
34
- "enzyme": "3.11.0",
35
34
  "eslint": "8.1.0",
36
35
  "eslint-plugin-header": "3.1.1",
37
- "eslint-plugin-jsdoc": "31.6.1",
36
+ "eslint-plugin-jsdoc": "36.1.1",
38
37
  "eslint-plugin-prettier": "4.0.0",
39
38
  "eslint-plugin-rulesdir": "0.2.1",
40
39
  "glob": "7.1.7",
package/src/Global.d.ts CHANGED
@@ -15,6 +15,7 @@
15
15
  import { AppApi } from '../appapi';
16
16
  import { CacheApi } from '../cache';
17
17
  import { CapabilityApi } from '../capabilityapi';
18
+ import { ComponentApi } from '../component';
18
19
  import { HelpCenterApi } from '../helpcenter';
19
20
  import { InternalApi } from '../internal';
20
21
  import { MetricsApi } from '../metrics';
@@ -37,6 +38,7 @@ export interface Modules {
37
38
  readonly appApi: () => AppApi;
38
39
  readonly cache: () => CacheApi;
39
40
  readonly capabilityApi: () => CapabilityApi;
41
+ readonly component: () => ComponentApi;
40
42
  readonly default: (options?: any) => Runtime;
41
43
  readonly helpCenter: HelpCenterApi;
42
44
  readonly internal: InternalApi;
package/src/Global.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"Global.js","sourceRoot":"","sources":["Global.ts"],"names":[],"mappings":";AAAA;;;;;;;;;4EAS4E;;;AA4D5E;;;;;GAKG;AACH,SAAgB,OAAO,CAA0B,UAAa;IAC5D,MAAM,GAAG,GAAI,MAAiB,CAAC,oBAAoB,CAAC,CAAC;IACrD,IAAI,CAAC,GAAG,EAAE;QACR,MAAM,IAAI,KAAK,CAAC,oCAAoC,CAAC,CAAC;KACvD;IACD,OAAO,GAAG,CAAC,UAAU,CAAC,CAAC;AACzB,CAAC;AAND,0BAMC;AAED;;;;;;GAMG;AACH,SAAgB,OAAO,CAA0B,OAAU,EAAE,UAA0C;IACrG,MAAM,GAAG,GAAG,EAAgB,CAAC;IAC7B,UAAU,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE;QAC3B,MAAM,WAAW,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;QAC/B,IAAI,OAAO,CAAC,CAAC,CAAC,EAAE;YACd,GAAG,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,GAAG,IAAW,EAAE,EAAE;gBACrC,OAAQ,OAAO,CAAC,OAAO,CAAC,CAAC,WAAW,CAAS,CAAC,GAAG,IAAI,CAAC,CAAC;YACzD,CAAC,CAAQ,CAAC;SACX;aAAM;YACL,MAAM,CAAC,cAAc,CAAC,GAAG,EAAE,WAAW,EAAE;gBACtC,GAAG,EAAE,GAAG,EAAE;oBACR,OAAO,OAAO,CAAC,OAAO,CAAC,CAAC,WAAW,CAAC,CAAC;gBACvC,CAAC;gBACD,GAAG,EAAE,KAAK,CAAC,EAAE;oBACX,OAAO,CAAC,OAAO,CAAC,CAAC,WAAW,CAAC,GAAG,KAAK,CAAC;gBACxC,CAAC;aACF,CAAC,CAAC;SACJ;IACH,CAAC,CAAC,CAAC;IACH,OAAO,GAAG,CAAC;AACb,CAAC;AApBD,0BAoBC;AAED,kBAAgB,MAAiB,CAAC"}
1
+ {"version":3,"file":"Global.js","sourceRoot":"","sources":["Global.ts"],"names":[],"mappings":";AAAA;;;;;;;;;4EAS4E;;;AA8D5E;;;;;GAKG;AACH,SAAgB,OAAO,CAA0B,UAAa;IAC5D,MAAM,GAAG,GAAI,MAAiB,CAAC,oBAAoB,CAAC,CAAC;IACrD,IAAI,CAAC,GAAG,EAAE;QACR,MAAM,IAAI,KAAK,CAAC,oCAAoC,CAAC,CAAC;KACvD;IACD,OAAO,GAAG,CAAC,UAAU,CAAC,CAAC;AACzB,CAAC;AAND,0BAMC;AAED;;;;;;GAMG;AACH,SAAgB,OAAO,CAA0B,OAAU,EAAE,UAA0C;IACrG,MAAM,GAAG,GAAG,EAAgB,CAAC;IAC7B,UAAU,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE;QAC3B,MAAM,WAAW,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;QAC/B,IAAI,OAAO,CAAC,CAAC,CAAC,EAAE;YACd,GAAG,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,GAAG,IAAW,EAAE,EAAE;gBACrC,OAAQ,OAAO,CAAC,OAAO,CAAC,CAAC,WAAW,CAAS,CAAC,GAAG,IAAI,CAAC,CAAC;YACzD,CAAC,CAAQ,CAAC;SACX;aAAM;YACL,MAAM,CAAC,cAAc,CAAC,GAAG,EAAE,WAAW,EAAE;gBACtC,GAAG,EAAE,GAAG,EAAE;oBACR,OAAO,OAAO,CAAC,OAAO,CAAC,CAAC,WAAW,CAAC,CAAC;gBACvC,CAAC;gBACD,GAAG,EAAE,KAAK,CAAC,EAAE;oBACX,OAAO,CAAC,OAAO,CAAC,CAAC,WAAW,CAAC,GAAG,KAAK,CAAC;gBACxC,CAAC;aACF,CAAC,CAAC;SACJ;IACH,CAAC,CAAC,CAAC;IACH,OAAO,GAAG,CAAC;AACb,CAAC;AApBD,0BAoBC;AAED,kBAAgB,MAAiB,CAAC"}
@@ -58,8 +58,6 @@ describe('appapi', () => {
58
58
  functionalIconReact: 'DataAnalytics',
59
59
  functionalIconUrl: 'https://exc-unifiedcontent.experience-stage.adobe.net/assets/BrandIcons.33cbb3cf.svg#DataAnalytics',
60
60
  href: 'https://app-discovery-qe.corp.ethos11-stage-or1.ethos.adobe.net/1.0/loginRedirect?allow_project_redirect=1&IMS=1',
61
- icon: 'adobeAnalytics',
62
- iconReact: 'AdobeAnalytics',
63
61
  iconUrl: '',
64
62
  learnMoreLink: 'http://www.adobe.com/marketing-cloud/web-analytics.html',
65
63
  longName: 'Adobe Analytics',
@@ -77,8 +75,6 @@ describe('appapi', () => {
77
75
  functionalIconReact: 'ContentProfile',
78
76
  functionalIconUrl: 'https://exc-unifiedcontent.experience-stage.adobe.net/assets/BrandIcons.33cbb3cf.svg#ContentProfile',
79
77
  href: 'https://experience-stage.adobe.com/#/target',
80
- icon: 'adobeTarget',
81
- iconReact: 'AdobeTarget',
82
78
  iconUrl: '',
83
79
  learnMoreLink: 'https://www.adobe.com/marketing/target.html',
84
80
  longName: 'Adobe Target',
@@ -1 +1 @@
1
- {"version":3,"file":"appapi.test.js","sourceRoot":"","sources":["appapi.test.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;;;;;;;;;4EAS4E;AAC5E,oDAAyC;AACzC,2DAA8C;AAE9C,QAAQ,CAAC,QAAQ,EAAE,GAAG,EAAE;IACtB,UAAU,CAAC,GAAG,EAAE;QACb,gBAAM,CAAC,oBAAoB,CAAa,GAAG;YAC1C,MAAM,EAAE,GAAG,EAAE;gBACX,OAAO;oBACL,GAAG,EAAE,CAAC,IAAI,EAAE,EAAE;wBACZ,IAAI,IAAI,KAAK,WAAW,EAAE;4BACxB,OAAO;gCACL,cAAc,EAAE,aAAa;gCAC7B,KAAK,EAAE,WAAW;gCAClB,WAAW,EAAE,uEAAuE;gCACpF,OAAO,EAAE,KAAK;gCACd,mBAAmB,EAAE,eAAe;gCACpC,iBAAiB,EAAE,oGAAoG;gCACvH,IAAI,EAAE,kHAAkH;gCACxH,IAAI,EAAE,gBAAgB;gCACtB,SAAS,EAAE,gBAAgB;gCAC3B,OAAO,EAAE,EAAE;gCACX,aAAa,EAAE,yDAAyD;gCACxE,QAAQ,EAAE,iBAAiB;gCAC3B,IAAI,EAAE,WAAW;gCACjB,aAAa,EAAE,WAAW;gCAC1B,OAAO,EAAE,KAAK;6BACf,CAAC;yBACH;wBACD,IAAI,IAAI,KAAK,QAAQ,EAAE;4BACrB,OAAO;gCACL,cAAc,EAAE,aAAa;gCAC7B,KAAK,EAAE,QAAQ;gCACf,WAAW,EAAE,0GAA0G;gCACvH,OAAO,EAAE,KAAK;gCACd,mBAAmB,EAAE,gBAAgB;gCACrC,iBAAiB,EAAE,qGAAqG;gCACxH,IAAI,EAAE,6CAA6C;gCACnD,IAAI,EAAE,aAAa;gCACnB,SAAS,EAAE,aAAa;gCACxB,OAAO,EAAE,EAAE;gCACX,aAAa,EAAE,6CAA6C;gCAC5D,QAAQ,EAAE,cAAc;gCACxB,IAAI,EAAE,QAAQ;gCACd,aAAa,EAAE,EAAE;gCACjB,OAAO,EAAE,KAAK;6BACf,CAAC;yBACH;wBACD,OAAO,EAAE,CAAC;oBACZ,CAAC;iBACF,CAAC;YACJ,CAAC;SACS,CAAC;IACf,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,KAAK,EAAE,GAAS,EAAE;QACrB,MAAM,SAAS,GAAG,MAAM,gBAAM,CAAC,GAAG,CAAC,eAAM,CAAC,SAAS,CAAC,CAAC;QACrD,MAAM,MAAM,GAAG,MAAM,gBAAM,CAAC,GAAG,CAAC,eAAM,CAAC,MAAM,CAAC,CAAC;QAC/C,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QAC1C,MAAM,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACtC,MAAM,CAAC,SAAS,CAAC,iBAAiB,CAAC,CAAC,IAAI,CAAC,oGAAoG,CAAC,CAAC;QAC/I,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,kHAAkH,CAAC,CAAC;QAEhJ,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QACpC,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACnC,MAAM,CAAC,MAAM,CAAC,iBAAiB,CAAC,CAAC,IAAI,CAAC,qGAAqG,CAAC,CAAC;QAC7I,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,6CAA6C,CAAC,CAAC;IAC1E,CAAC,CAAA,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"appapi.test.js","sourceRoot":"","sources":["appapi.test.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;;;;;;;;;4EAS4E;AAC5E,oDAAyC;AACzC,2DAA8C;AAE9C,QAAQ,CAAC,QAAQ,EAAE,GAAG,EAAE;IACtB,UAAU,CAAC,GAAG,EAAE;QACb,gBAAM,CAAC,oBAAoB,CAAa,GAAG;YAC1C,MAAM,EAAE,GAAG,EAAE;gBACX,OAAO;oBACL,GAAG,EAAE,CAAC,IAAI,EAAE,EAAE;wBACZ,IAAI,IAAI,KAAK,WAAW,EAAE;4BACxB,OAAO;gCACL,cAAc,EAAE,aAAa;gCAC7B,KAAK,EAAE,WAAW;gCAClB,WAAW,EAAE,uEAAuE;gCACpF,OAAO,EAAE,KAAK;gCACd,mBAAmB,EAAE,eAAe;gCACpC,iBAAiB,EAAE,oGAAoG;gCACvH,IAAI,EAAE,kHAAkH;gCACxH,OAAO,EAAE,EAAE;gCACX,aAAa,EAAE,yDAAyD;gCACxE,QAAQ,EAAE,iBAAiB;gCAC3B,IAAI,EAAE,WAAW;gCACjB,aAAa,EAAE,WAAW;gCAC1B,OAAO,EAAE,KAAK;6BACf,CAAC;yBACH;wBACD,IAAI,IAAI,KAAK,QAAQ,EAAE;4BACrB,OAAO;gCACL,cAAc,EAAE,aAAa;gCAC7B,KAAK,EAAE,QAAQ;gCACf,WAAW,EAAE,0GAA0G;gCACvH,OAAO,EAAE,KAAK;gCACd,mBAAmB,EAAE,gBAAgB;gCACrC,iBAAiB,EAAE,qGAAqG;gCACxH,IAAI,EAAE,6CAA6C;gCACnD,OAAO,EAAE,EAAE;gCACX,aAAa,EAAE,6CAA6C;gCAC5D,QAAQ,EAAE,cAAc;gCACxB,IAAI,EAAE,QAAQ;gCACd,aAAa,EAAE,EAAE;gCACjB,OAAO,EAAE,KAAK;6BACf,CAAC;yBACH;wBACD,OAAO,EAAE,CAAC;oBACZ,CAAC;iBACF,CAAC;YACJ,CAAC;SACS,CAAC;IACf,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,KAAK,EAAE,GAAS,EAAE;QACrB,MAAM,SAAS,GAAG,MAAM,gBAAM,CAAC,GAAG,CAAC,eAAM,CAAC,SAAS,CAAC,CAAC;QACrD,MAAM,MAAM,GAAG,MAAM,gBAAM,CAAC,GAAG,CAAC,eAAM,CAAC,MAAM,CAAC,CAAC;QAC/C,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QAC1C,MAAM,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACtC,MAAM,CAAC,SAAS,CAAC,iBAAiB,CAAC,CAAC,IAAI,CAAC,oGAAoG,CAAC,CAAC;QAC/I,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,kHAAkH,CAAC,CAAC;QAEhJ,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QACpC,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACnC,MAAM,CAAC,MAAM,CAAC,iBAAiB,CAAC,CAAC,IAAI,CAAC,qGAAqG,CAAC,CAAC;QAC7I,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,6CAA6C,CAAC,CAAC;IAC1E,CAAC,CAAA,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,74 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
5
+ }) : (function(o, m, k, k2) {
6
+ if (k2 === undefined) k2 = k;
7
+ o[k2] = m[k];
8
+ }));
9
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
10
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
11
+ }) : function(o, v) {
12
+ o["default"] = v;
13
+ });
14
+ var __importStar = (this && this.__importStar) || function (mod) {
15
+ if (mod && mod.__esModule) return mod;
16
+ var result = {};
17
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
18
+ __setModuleDefault(result, mod);
19
+ return result;
20
+ };
21
+ var __importDefault = (this && this.__importDefault) || function (mod) {
22
+ return (mod && mod.__esModule) ? mod : { "default": mod };
23
+ };
24
+ Object.defineProperty(exports, "__esModule", { value: true });
25
+ /*************************************************************************
26
+ * Copyright 2022 Adobe
27
+ * All Rights Reserved.
28
+ *
29
+ * NOTICE: Adobe permits you to use, modify, and distribute this file in
30
+ * accordance with the terms of the Adobe license agreement accompanying
31
+ * it. If you have received this file from a source other than Adobe,
32
+ * then your use, modification, or distribution of it requires the prior
33
+ * written permission of Adobe.
34
+ **************************************************************************/
35
+ const component_1 = __importStar(require("../component"));
36
+ const Global_1 = __importDefault(require("../src/Global"));
37
+ describe('component.ts', () => {
38
+ const componentMock = {
39
+ close: (data) => ({ data }),
40
+ isComponent: () => true,
41
+ open: (component, data) => Promise.resolve({ component, data })
42
+ };
43
+ beforeEach(() => {
44
+ Global_1.default['exc-module-runtime'] = {
45
+ component: () => componentMock
46
+ };
47
+ });
48
+ it('can close()', () => {
49
+ const spy = jest.spyOn(componentMock, 'close');
50
+ component_1.default.close();
51
+ expect(spy).toHaveBeenCalled();
52
+ });
53
+ it('can close(data)', () => {
54
+ const spy = jest.spyOn(componentMock, 'close');
55
+ component_1.default.close({ data: 'test' });
56
+ expect(spy).toHaveBeenCalledWith({ data: 'test' });
57
+ });
58
+ it('can isComponent()', () => {
59
+ const spy = jest.spyOn(componentMock, 'isComponent');
60
+ component_1.default.isComponent();
61
+ expect(spy).toHaveBeenCalled();
62
+ });
63
+ it('can open(component)', () => {
64
+ const spy = jest.spyOn(componentMock, 'open');
65
+ component_1.default.open(component_1.COMPONENT.EMAIL_DESIGNER);
66
+ expect(spy).toHaveBeenCalledWith(component_1.COMPONENT.EMAIL_DESIGNER, undefined);
67
+ });
68
+ it('can open(component, data)', () => {
69
+ const spy = jest.spyOn(componentMock, 'open');
70
+ component_1.default.open(component_1.COMPONENT.EMAIL_DESIGNER, { abc: 'def' });
71
+ expect(spy).toHaveBeenCalledWith(component_1.COMPONENT.EMAIL_DESIGNER, { abc: 'def' });
72
+ });
73
+ });
74
+ //# sourceMappingURL=component.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"component.test.js","sourceRoot":"","sources":["component.test.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;AAAA;;;;;;;;;4EAS4E;AAC5E,0DAAgE;AAChE,2DAA8C;AAE9C,QAAQ,CAAC,cAAc,EAAE,GAAG,EAAE;IAC5B,MAAM,aAAa,GAAG;QACpB,KAAK,EAAE,CAAC,IAAU,EAAE,EAAE,CAAC,CAAC,EAAC,IAAI,EAAC,CAAC;QAC/B,WAAW,EAAE,GAAG,EAAE,CAAC,IAAI;QACvB,IAAI,EAAE,CAAC,SAAoB,EAAE,IAA0B,EAAE,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,EAAC,SAAS,EAAE,IAAI,EAAC,CAAC;KAC/E,CAAC;IAElB,UAAU,CAAC,GAAG,EAAE;QACb,gBAAM,CAAC,oBAAoB,CAAa,GAAG;YAC1C,SAAS,EAAE,GAAG,EAAE,CAAC,aAAa;SACpB,CAAC;IACf,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,aAAa,EAAE,GAAG,EAAE;QACrB,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,aAAa,EAAE,OAAO,CAAC,CAAC;QAC/C,mBAAS,CAAC,KAAK,EAAE,CAAC;QAClB,MAAM,CAAC,GAAG,CAAC,CAAC,gBAAgB,EAAE,CAAC;IACjC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,iBAAiB,EAAE,GAAG,EAAE;QACzB,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,aAAa,EAAE,OAAO,CAAC,CAAC;QAC/C,mBAAS,CAAC,KAAK,CAAC,EAAC,IAAI,EAAE,MAAM,EAAC,CAAC,CAAC;QAChC,MAAM,CAAC,GAAG,CAAC,CAAC,oBAAoB,CAAC,EAAC,IAAI,EAAE,MAAM,EAAC,CAAC,CAAC;IACnD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,mBAAmB,EAAE,GAAG,EAAE;QAC3B,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,aAAa,EAAE,aAAa,CAAC,CAAC;QACrD,mBAAS,CAAC,WAAW,EAAE,CAAC;QACxB,MAAM,CAAC,GAAG,CAAC,CAAC,gBAAgB,EAAE,CAAC;IACjC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,qBAAqB,EAAE,GAAG,EAAE;QAC7B,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,aAAa,EAAE,MAAM,CAAC,CAAC;QAC9C,mBAAS,CAAC,IAAI,CAAC,qBAAS,CAAC,cAAc,CAAC,CAAC;QACzC,MAAM,CAAC,GAAG,CAAC,CAAC,oBAAoB,CAAC,qBAAS,CAAC,cAAc,EAAE,SAAS,CAAC,CAAC;IACxE,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,2BAA2B,EAAE,GAAG,EAAE;QACnC,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,aAAa,EAAE,MAAM,CAAC,CAAC;QAC9C,mBAAS,CAAC,IAAI,CAAC,qBAAS,CAAC,cAAc,EAAE,EAAC,GAAG,EAAE,KAAK,EAAC,CAAC,CAAC;QACvD,MAAM,CAAC,GAAG,CAAC,CAAC,oBAAoB,CAAC,qBAAS,CAAC,cAAc,EAAE,EAAC,GAAG,EAAE,KAAK,EAAC,CAAC,CAAC;IAC3E,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
package/version.d.ts CHANGED
@@ -8,5 +8,5 @@
8
8
  * then your use, modification, or distribution of it requires the prior
9
9
  * written permission of Adobe.
10
10
  **************************************************************************/
11
- declare const EXC_APP_VERSION = "1.0.5";
11
+ declare const EXC_APP_VERSION = "1.0.8";
12
12
  export default EXC_APP_VERSION;
package/version.js CHANGED
@@ -10,6 +10,6 @@ Object.defineProperty(exports, "__esModule", { value: true });
10
10
  * then your use, modification, or distribution of it requires the prior
11
11
  * written permission of Adobe.
12
12
  **************************************************************************/
13
- const EXC_APP_VERSION = '1.0.5';
13
+ const EXC_APP_VERSION = '1.0.8';
14
14
  exports.default = EXC_APP_VERSION;
15
15
  //# sourceMappingURL=version.js.map
@@ -1,79 +0,0 @@
1
- /* eslint-disable */
2
- var jumpToCode = (function init() {
3
- // Classes of code we would like to highlight in the file view
4
- var missingCoverageClasses = ['.cbranch-no', '.cstat-no', '.fstat-no'];
5
-
6
- // Elements to highlight in the file listing view
7
- var fileListingElements = ['td.pct.low'];
8
-
9
- // We don't want to select elements that are direct descendants of another match
10
- var notSelector = ':not(' + missingCoverageClasses.join('):not(') + ') > '; // becomes `:not(a):not(b) > `
11
-
12
- // Selecter that finds elements on the page to which we can jump
13
- var selector =
14
- fileListingElements.join(', ') +
15
- ', ' +
16
- notSelector +
17
- missingCoverageClasses.join(', ' + notSelector); // becomes `:not(a):not(b) > a, :not(a):not(b) > b`
18
-
19
- // The NodeList of matching elements
20
- var missingCoverageElements = document.querySelectorAll(selector);
21
-
22
- var currentIndex;
23
-
24
- function toggleClass(index) {
25
- missingCoverageElements
26
- .item(currentIndex)
27
- .classList.remove('highlighted');
28
- missingCoverageElements.item(index).classList.add('highlighted');
29
- }
30
-
31
- function makeCurrent(index) {
32
- toggleClass(index);
33
- currentIndex = index;
34
- missingCoverageElements.item(index).scrollIntoView({
35
- behavior: 'smooth',
36
- block: 'center',
37
- inline: 'center'
38
- });
39
- }
40
-
41
- function goToPrevious() {
42
- var nextIndex = 0;
43
- if (typeof currentIndex !== 'number' || currentIndex === 0) {
44
- nextIndex = missingCoverageElements.length - 1;
45
- } else if (missingCoverageElements.length > 1) {
46
- nextIndex = currentIndex - 1;
47
- }
48
-
49
- makeCurrent(nextIndex);
50
- }
51
-
52
- function goToNext() {
53
- var nextIndex = 0;
54
-
55
- if (
56
- typeof currentIndex === 'number' &&
57
- currentIndex < missingCoverageElements.length - 1
58
- ) {
59
- nextIndex = currentIndex + 1;
60
- }
61
-
62
- makeCurrent(nextIndex);
63
- }
64
-
65
- return function jump(event) {
66
- switch (event.which) {
67
- case 78: // n
68
- case 74: // j
69
- goToNext();
70
- break;
71
- case 66: // b
72
- case 75: // k
73
- case 80: // p
74
- goToPrevious();
75
- break;
76
- }
77
- };
78
- })();
79
- window.addEventListener('keydown', jumpToCode);