@sphereon/ui-components.credential-branding 0.3.1-unstable.25 → 0.3.1-unstable.27

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.
@@ -1,37 +1,12 @@
1
- import { VerifiableCredential } from '@veramo/core';
2
- import { CredentialRole, IBasicCredentialLocaleBranding, IBasicIssuerLocaleBranding, Party } from '@sphereon/ssi-sdk.data-store';
3
- import { CredentialDetailsRow, CredentialSummary, ISelectAppLocaleBrandingArgs } from '../types';
4
- import { ICredential } from '@sphereon/ssi-types';
5
- export declare const toCredentialDetailsRow: ({ object, subject, issuer, }: {
6
- object: Record<string, any>;
7
- subject?: Party | undefined;
8
- issuer?: Party | undefined;
9
- }) => Promise<CredentialDetailsRow[]>;
10
- export declare const toNonPersistedCredentialSummary: ({ verifiableCredential, credentialRole, branding, issuer, subject, }: {
11
- verifiableCredential: ICredential | VerifiableCredential;
12
- credentialRole: CredentialRole;
13
- branding?: IBasicCredentialLocaleBranding[] | undefined;
14
- issuer?: Party | undefined;
15
- subject?: Party | undefined;
16
- }) => Promise<CredentialSummary>;
1
+ import { IBasicCredentialLocaleBranding, IBasicIssuerLocaleBranding } from '@sphereon/ssi-sdk.data-store';
2
+ import { CredentialDetailsRow, CredentialSummary, GetCredentialDisplayNameArgs, GetCredentialIssuerNameAndAliasArgs, ISelectAppLocaleBrandingArgs, ToCredentialDetailsRowArgs, ToCredentialSummaryArgs, ToNonPersistedCredentialSummaryArgs } from '../types';
3
+ export declare const toCredentialDetailsRow: (args: ToCredentialDetailsRowArgs) => Promise<CredentialDetailsRow[]>;
4
+ export declare const toNonPersistedCredentialSummary: (args: ToNonPersistedCredentialSummaryArgs) => Promise<CredentialSummary>;
17
5
  export declare const getDate: (...dates: (number | string | undefined)[]) => number | undefined;
18
- export declare const getCredentialDisplayName: ({ verifiableCredential, localeBranding, }: {
19
- verifiableCredential: VerifiableCredential;
20
- localeBranding?: IBasicCredentialLocaleBranding | undefined;
21
- }) => string;
22
- export declare const getCredentialIssuerNameAndAlias: ({ verifiableCredential, issuer, }: {
23
- verifiableCredential: VerifiableCredential;
24
- issuer?: Party | undefined;
25
- }) => {
6
+ export declare const getCredentialDisplayName: (args: GetCredentialDisplayNameArgs) => string;
7
+ export declare const getCredentialIssuerNameAndAlias: (args: GetCredentialIssuerNameAndAliasArgs) => {
26
8
  issuerAlias: string;
27
9
  issuerName: string;
28
10
  };
29
- export declare const toCredentialSummary: ({ verifiableCredential, hash, credentialRole, branding, issuer, subject, }: {
30
- verifiableCredential: VerifiableCredential;
31
- hash: string;
32
- credentialRole: CredentialRole;
33
- branding?: IBasicCredentialLocaleBranding[] | undefined;
34
- issuer?: Party | undefined;
35
- subject?: Party | undefined;
36
- }) => Promise<CredentialSummary>;
11
+ export declare const toCredentialSummary: (args: ToCredentialSummaryArgs) => Promise<CredentialSummary>;
37
12
  export declare const selectAppLocaleBranding: (args: ISelectAppLocaleBrandingArgs) => Promise<IBasicCredentialLocaleBranding | IBasicIssuerLocaleBranding | undefined>;
@@ -130,81 +130,93 @@ var getImageSize = function (image) { return __awaiter(void 0, void 0, void 0, f
130
130
  }
131
131
  });
132
132
  }); };
133
- var toCredentialDetailsRow = function (_a) {
134
- var object = _a.object, subject = _a.subject, issuer = _a.issuer;
135
- return __awaiter(void 0, void 0, void 0, function () {
136
- var rows, _i, _b, _c, key, value, _d, _e, label, contacts, imageSize, _f;
137
- return __generator(this, function (_g) {
138
- switch (_g.label) {
139
- case 0:
140
- rows = [];
141
- if (!object) {
142
- return [2, rows];
143
- }
144
- _i = 0, _b = Object.entries(object);
145
- _g.label = 1;
146
- case 1:
147
- if (!(_i < _b.length)) return [3, 9];
148
- _c = _b[_i], key = _c[0], value = _c[1];
149
- if (!key) {
150
- return [3, 8];
151
- }
152
- if (key === 'type') {
153
- rows.push({
154
- id: (0, uuid_1.v4)(),
155
- label: key,
156
- value: value
157
- });
158
- return [3, 8];
159
- }
160
- if (!(typeof value === 'object' && value !== null && value !== undefined)) return [3, 3];
161
- _e = (_d = rows).concat;
162
- return [4, (0, exports.toCredentialDetailsRow)({ object: value, subject: subject, issuer: issuer })];
163
- case 2:
164
- rows = _e.apply(_d, [_g.sent()]);
165
- return [3, 8];
166
- case 3:
167
- if (key === '0' || value === undefined || value === null) {
168
- return [3, 8];
169
- }
170
- label = key;
171
- if (key === 'id' && typeof value === 'string' && value.startsWith('did:')) {
172
- label = 'subject';
173
- }
174
- if (typeof value === 'string' && value.startsWith('did:')) {
175
- contacts = __spreadArray(__spreadArray([], (issuer ? [issuer] : []), true), (subject ? [subject] : []), true);
176
- value = findCorrelationIdName(value, contacts);
177
- }
178
- return [4, (0, utils_2.isImageAddress)(value)];
179
- case 4:
180
- if (!(_g.sent())) return [3, 6];
181
- return [4, getImageSize(value)];
182
- case 5:
183
- _f = _g.sent();
184
- return [3, 7];
185
- case 6:
186
- _f = undefined;
187
- _g.label = 7;
188
- case 7:
189
- imageSize = _f;
190
- rows.push({
191
- id: (0, uuid_1.v4)(),
192
- label: label,
193
- value: value,
194
- imageSize: imageSize
133
+ var toCredentialDetailsRow = function (args) { return __awaiter(void 0, void 0, void 0, function () {
134
+ var object, subject, issuer, branding, _a, parentKey, rows, _loop_1, _i, _b, _c, key, value;
135
+ var _d, _e;
136
+ return __generator(this, function (_f) {
137
+ switch (_f.label) {
138
+ case 0:
139
+ object = args.object, subject = args.subject, issuer = args.issuer, branding = args.branding, _a = args.parentKey, parentKey = _a === void 0 ? '' : _a;
140
+ rows = [];
141
+ if (!object) {
142
+ return [2, rows];
143
+ }
144
+ _loop_1 = function (key, value) {
145
+ var _g, _h, label, contacts, imageSize, _j;
146
+ return __generator(this, function (_k) {
147
+ switch (_k.label) {
148
+ case 0:
149
+ if (!key) {
150
+ return [2, "continue"];
151
+ }
152
+ if (key === 'type') {
153
+ rows.push({
154
+ id: (0, uuid_1.v4)(),
155
+ label: key,
156
+ value: value
157
+ });
158
+ return [2, "continue"];
159
+ }
160
+ if (!(typeof value === 'object' && value !== null && value !== undefined)) return [3, 2];
161
+ _h = (_g = rows).concat;
162
+ return [4, (0, exports.toCredentialDetailsRow)({ object: value, subject: subject, issuer: issuer, branding: branding, parentKey: parentKey ? "".concat(parentKey, ".").concat(key) : key })];
163
+ case 1:
164
+ rows = _h.apply(_g, [_k.sent()]);
165
+ return [3, 7];
166
+ case 2:
167
+ if (key === '0' || value === undefined || value === null) {
168
+ return [2, "continue"];
169
+ }
170
+ label = (_e = (_d = branding === null || branding === void 0 ? void 0 : branding.find(function (claim) { return claim.key === (parentKey ? "".concat(parentKey, ".").concat(key) : key); })) === null || _d === void 0 ? void 0 : _d.name) !== null && _e !== void 0 ? _e : key;
171
+ if (key === 'id' && typeof value === 'string' && value.startsWith('did:')) {
172
+ label = 'subject';
173
+ }
174
+ if (typeof value === 'string' && value.startsWith('did:')) {
175
+ contacts = __spreadArray(__spreadArray([], (issuer ? [issuer] : []), true), (subject ? [subject] : []), true);
176
+ value = findCorrelationIdName(value, contacts);
177
+ }
178
+ return [4, (0, utils_2.isImageAddress)(value)];
179
+ case 3:
180
+ if (!(_k.sent())) return [3, 5];
181
+ return [4, getImageSize(value)];
182
+ case 4:
183
+ _j = _k.sent();
184
+ return [3, 6];
185
+ case 5:
186
+ _j = undefined;
187
+ _k.label = 6;
188
+ case 6:
189
+ imageSize = _j;
190
+ rows.push({
191
+ id: (0, uuid_1.v4)(),
192
+ label: label,
193
+ value: value,
194
+ imageSize: imageSize
195
+ });
196
+ _k.label = 7;
197
+ case 7: return [2];
198
+ }
195
199
  });
196
- _g.label = 8;
197
- case 8:
198
- _i++;
199
- return [3, 1];
200
- case 9: return [2, rows];
201
- }
202
- });
200
+ };
201
+ _i = 0, _b = Object.entries(object);
202
+ _f.label = 1;
203
+ case 1:
204
+ if (!(_i < _b.length)) return [3, 4];
205
+ _c = _b[_i], key = _c[0], value = _c[1];
206
+ return [5, _loop_1(key, value)];
207
+ case 2:
208
+ _f.sent();
209
+ _f.label = 3;
210
+ case 3:
211
+ _i++;
212
+ return [3, 1];
213
+ case 4: return [2, rows];
214
+ }
203
215
  });
204
- };
216
+ }); };
205
217
  exports.toCredentialDetailsRow = toCredentialDetailsRow;
206
- var toNonPersistedCredentialSummary = function (_a) {
207
- var verifiableCredential = _a.verifiableCredential, credentialRole = _a.credentialRole, branding = _a.branding, issuer = _a.issuer, subject = _a.subject;
218
+ var toNonPersistedCredentialSummary = function (args) {
219
+ var verifiableCredential = args.verifiableCredential, credentialRole = args.credentialRole, branding = args.branding, issuer = args.issuer, subject = args.subject;
208
220
  return (0, exports.toCredentialSummary)({
209
221
  verifiableCredential: verifiableCredential,
210
222
  hash: (0, utils_1.computeEntryHash)(verifiableCredential),
@@ -230,10 +242,10 @@ var getDate = function () {
230
242
  return Math.round(new Date(date + '').valueOf() / ui_components_core_1.EPOCH_MILLISECONDS);
231
243
  };
232
244
  exports.getDate = getDate;
233
- var getCredentialDisplayName = function (_a) {
234
- var _b, _c;
235
- var verifiableCredential = _a.verifiableCredential, localeBranding = _a.localeBranding;
236
- var title = (_c = (_b = localeBranding === null || localeBranding === void 0 ? void 0 : localeBranding.alias) !== null && _b !== void 0 ? _b : verifiableCredential.name) !== null && _c !== void 0 ? _c : (!verifiableCredential.type ? 'unknown' : undefined);
245
+ var getCredentialDisplayName = function (args) {
246
+ var _a, _b;
247
+ var verifiableCredential = args.verifiableCredential, localeBranding = args.localeBranding;
248
+ var title = (_b = (_a = localeBranding === null || localeBranding === void 0 ? void 0 : localeBranding.alias) !== null && _a !== void 0 ? _a : verifiableCredential.name) !== null && _b !== void 0 ? _b : (!verifiableCredential.type ? 'unknown' : undefined);
237
249
  if (verifiableCredential.type) {
238
250
  var types = (0, utils_1.asArray)(verifiableCredential.type).filter(function (val) { return val !== 'VerifiableCredential'; });
239
251
  if (types.length === 1) {
@@ -249,10 +261,10 @@ var getCredentialDisplayName = function (_a) {
249
261
  return title;
250
262
  };
251
263
  exports.getCredentialDisplayName = getCredentialDisplayName;
252
- var getCredentialIssuerNameAndAlias = function (_a) {
253
- var _b;
254
- var verifiableCredential = _a.verifiableCredential, issuer = _a.issuer;
255
- var issuerName = typeof verifiableCredential.issuer === 'string' ? verifiableCredential.issuer : (_b = verifiableCredential.issuer) === null || _b === void 0 ? void 0 : _b.id;
264
+ var getCredentialIssuerNameAndAlias = function (args) {
265
+ var _a;
266
+ var verifiableCredential = args.verifiableCredential, issuer = args.issuer;
267
+ var issuerName = typeof verifiableCredential.issuer === 'string' ? verifiableCredential.issuer : (_a = verifiableCredential.issuer) === null || _a === void 0 ? void 0 : _a.id;
256
268
  var issuerAlias = undefined;
257
269
  if (typeof (verifiableCredential === null || verifiableCredential === void 0 ? void 0 : verifiableCredential.issuer) === 'object') {
258
270
  issuerAlias = verifiableCredential.issuer.name;
@@ -266,8 +278,8 @@ var getCredentialIssuerNameAndAlias = function (_a) {
266
278
  return { issuerName: issuerName, issuerAlias: issuerAlias };
267
279
  };
268
280
  exports.getCredentialIssuerNameAndAlias = getCredentialIssuerNameAndAlias;
269
- var getTermsOfUse = function (_a) {
270
- var verifiableCredential = _a.verifiableCredential;
281
+ var getTermsOfUse = function (args) {
282
+ var verifiableCredential = args.verifiableCredential;
271
283
  if (!verifiableCredential.termsOfUse) {
272
284
  return;
273
285
  }
@@ -278,54 +290,53 @@ var getTermsOfUse = function (_a) {
278
290
  return __assign((_a = {}, _a[type] = id, _a), rest);
279
291
  });
280
292
  };
281
- var toCredentialSummary = function (_a) {
282
- var verifiableCredential = _a.verifiableCredential, hash = _a.hash, credentialRole = _a.credentialRole, branding = _a.branding, issuer = _a.issuer, subject = _a.subject;
283
- return __awaiter(void 0, void 0, void 0, function () {
284
- var expirationDate, issueDate, localeBranding, credentialStatus, title, properties, logo, url, _b, issuerName, issuerAlias, termsOfUse;
285
- var _c, _d;
286
- return __generator(this, function (_e) {
287
- switch (_e.label) {
288
- case 0:
289
- expirationDate = (_c = (0, exports.getDate)(verifiableCredential.expirationDate, verifiableCredential.validTo, verifiableCredential.exp)) !== null && _c !== void 0 ? _c : 0;
290
- issueDate = (0, exports.getDate)(verifiableCredential.issuanceDate, verifiableCredential.validFrom, verifiableCredential.nbf, verifiableCredential.iat);
291
- return [4, (0, exports.selectAppLocaleBranding)({ localeBranding: branding })];
292
- case 1:
293
- localeBranding = _e.sent();
294
- credentialStatus = (0, utils_2.getCredentialStatus)(verifiableCredential);
295
- title = (0, exports.getCredentialDisplayName)({ verifiableCredential: verifiableCredential, localeBranding: localeBranding });
296
- return [4, (0, exports.toCredentialDetailsRow)({
297
- object: __assign(__assign({}, (_d = verifiableCredential.vc) === null || _d === void 0 ? void 0 : _d.credentialSubject), verifiableCredential.credentialSubject),
298
- subject: subject,
299
- issuer: issuer
300
- })];
301
- case 2:
302
- properties = _e.sent();
303
- logo = (0, utils_2.getIssuerLogo)(verifiableCredential, localeBranding);
304
- url = verifiableCredential.issuer && typeof verifiableCredential.issuer !== 'string' ? verifiableCredential.issuer.url : undefined;
305
- _b = (0, exports.getCredentialIssuerNameAndAlias)({ verifiableCredential: verifiableCredential, issuer: issuer }), issuerName = _b.issuerName, issuerAlias = _b.issuerAlias;
306
- termsOfUse = getTermsOfUse({ verifiableCredential: verifiableCredential });
307
- return [2, {
308
- hash: hash,
309
- id: verifiableCredential.id,
310
- title: title,
311
- credentialStatus: credentialStatus,
312
- credentialRole: credentialRole,
313
- issueDate: issueDate,
314
- expirationDate: expirationDate,
315
- properties: properties,
316
- branding: localeBranding,
317
- termsOfUse: termsOfUse,
318
- issuer: {
319
- name: issuerName,
320
- alias: issuerAlias ? (issuerAlias.length > 50 ? "".concat(issuerAlias.substring(0, 50), "...") : issuerAlias) : '',
321
- image: logo,
322
- url: url
323
- }
324
- }];
325
- }
326
- });
293
+ var toCredentialSummary = function (args) { return __awaiter(void 0, void 0, void 0, function () {
294
+ var verifiableCredential, hash, credentialRole, branding, issuer, subject, expirationDate, issueDate, localeBranding, credentialStatus, title, properties, logo, url, _a, issuerName, issuerAlias, termsOfUse;
295
+ var _b, _c;
296
+ return __generator(this, function (_d) {
297
+ switch (_d.label) {
298
+ case 0:
299
+ verifiableCredential = args.verifiableCredential, hash = args.hash, credentialRole = args.credentialRole, branding = args.branding, issuer = args.issuer, subject = args.subject;
300
+ expirationDate = (_b = (0, exports.getDate)(verifiableCredential.expirationDate, verifiableCredential.validTo, verifiableCredential.exp)) !== null && _b !== void 0 ? _b : 0;
301
+ issueDate = (0, exports.getDate)(verifiableCredential.issuanceDate, verifiableCredential.validFrom, verifiableCredential.nbf, verifiableCredential.iat);
302
+ return [4, (0, exports.selectAppLocaleBranding)({ localeBranding: branding })];
303
+ case 1:
304
+ localeBranding = _d.sent();
305
+ credentialStatus = (0, utils_2.getCredentialStatus)(verifiableCredential);
306
+ title = (0, exports.getCredentialDisplayName)({ verifiableCredential: verifiableCredential, localeBranding: localeBranding });
307
+ return [4, (0, exports.toCredentialDetailsRow)({
308
+ object: __assign(__assign({}, (_c = verifiableCredential.vc) === null || _c === void 0 ? void 0 : _c.credentialSubject), verifiableCredential.credentialSubject),
309
+ subject: subject,
310
+ issuer: issuer,
311
+ branding: localeBranding === null || localeBranding === void 0 ? void 0 : localeBranding.claims
312
+ })];
313
+ case 2:
314
+ properties = _d.sent();
315
+ logo = (0, utils_2.getIssuerLogo)(verifiableCredential, localeBranding);
316
+ url = verifiableCredential.issuer && typeof verifiableCredential.issuer !== 'string' ? verifiableCredential.issuer.url : undefined;
317
+ _a = (0, exports.getCredentialIssuerNameAndAlias)({ verifiableCredential: verifiableCredential, issuer: issuer }), issuerName = _a.issuerName, issuerAlias = _a.issuerAlias;
318
+ termsOfUse = getTermsOfUse({ verifiableCredential: verifiableCredential });
319
+ return [2, {
320
+ hash: hash,
321
+ id: verifiableCredential.id,
322
+ title: title,
323
+ credentialStatus: credentialStatus,
324
+ credentialRole: credentialRole,
325
+ issueDate: issueDate,
326
+ expirationDate: expirationDate,
327
+ properties: properties,
328
+ branding: localeBranding,
329
+ termsOfUse: termsOfUse,
330
+ issuer: {
331
+ name: issuerName,
332
+ alias: issuerAlias ? (issuerAlias.length > 50 ? "".concat(issuerAlias.substring(0, 50), "...") : issuerAlias) : '',
333
+ image: logo,
334
+ url: url
335
+ }
336
+ }];
337
+ }
327
338
  });
328
- };
339
+ }); };
329
340
  exports.toCredentialSummary = toCredentialSummary;
330
341
  var selectAppLocaleBranding = function (args) { return __awaiter(void 0, void 0, void 0, function () {
331
342
  var appLocale, localeBranding, logo, imagePreloader, ReactNativeImagePreloader, WebImagePreloader, backgroundImage;
@@ -1,5 +1,7 @@
1
1
  import { CredentialStatus, ImageSize, IssuerStatus } from '@sphereon/ui-components.core';
2
- import { CredentialRole, IBasicCredentialLocaleBranding, IBasicIssuerLocaleBranding } from '@sphereon/ssi-sdk.data-store';
2
+ import { CredentialRole, IBasicCredentialClaim, IBasicCredentialLocaleBranding, IBasicIssuerLocaleBranding, Party } from '@sphereon/ssi-sdk.data-store';
3
+ import { ICredential } from '@sphereon/ssi-types';
4
+ import { VerifiableCredential } from '@veramo/core';
3
5
  export type CredentialSummary = {
4
6
  hash: string;
5
7
  id?: string;
@@ -34,3 +36,36 @@ export type LabelStatus = CredentialStatus | IssuerStatus;
34
36
  export interface ISelectAppLocaleBrandingArgs {
35
37
  localeBranding?: Array<IBasicCredentialLocaleBranding | IBasicIssuerLocaleBranding>;
36
38
  }
39
+ export type ToCredentialDetailsRowArgs = {
40
+ object: Record<string, any>;
41
+ parentKey?: string;
42
+ subject?: Party;
43
+ issuer?: Party;
44
+ branding?: Array<IBasicCredentialClaim>;
45
+ };
46
+ export type ToNonPersistedCredentialSummaryArgs = {
47
+ verifiableCredential: ICredential | VerifiableCredential;
48
+ credentialRole: CredentialRole;
49
+ branding?: Array<IBasicCredentialLocaleBranding>;
50
+ issuer?: Party;
51
+ subject?: Party;
52
+ };
53
+ export type GetCredentialDisplayNameArgs = {
54
+ verifiableCredential: VerifiableCredential;
55
+ localeBranding?: IBasicCredentialLocaleBranding;
56
+ };
57
+ export type GetCredentialIssuerNameAndAliasArgs = {
58
+ verifiableCredential: VerifiableCredential;
59
+ issuer?: Party;
60
+ };
61
+ export type GetTermsOfUseArgs = {
62
+ verifiableCredential: VerifiableCredential;
63
+ };
64
+ export type ToCredentialSummaryArgs = {
65
+ verifiableCredential: VerifiableCredential;
66
+ hash: string;
67
+ credentialRole: CredentialRole;
68
+ branding?: Array<IBasicCredentialLocaleBranding>;
69
+ issuer?: Party;
70
+ subject?: Party;
71
+ };
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@sphereon/ui-components.credential-branding",
3
3
  "private": false,
4
- "version": "0.3.1-unstable.25+055535e",
4
+ "version": "0.3.1-unstable.27+d76b27d",
5
5
  "description": "SSI UI components credential branding",
6
6
  "repository": "git@github.com:Sphereon-Opensource/UI-Components.git",
7
7
  "author": "Sphereon <dev@sphereon.com>",
@@ -28,10 +28,10 @@
28
28
  "access": "public"
29
29
  },
30
30
  "dependencies": {
31
- "@sphereon/ssi-sdk.core": "0.29.0",
32
- "@sphereon/ssi-sdk.data-store": "0.29.0",
33
- "@sphereon/ssi-types": "0.29.0",
34
- "@sphereon/ui-components.core": "0.3.1-unstable.25+055535e",
31
+ "@sphereon/ssi-sdk.core": "0.30.2-next.273",
32
+ "@sphereon/ssi-sdk.data-store": "0.30.2-next.273",
33
+ "@sphereon/ssi-types": "0.30.2-next.273",
34
+ "@sphereon/ui-components.core": "0.3.1-unstable.27+d76b27d",
35
35
  "@veramo/core": "4.2.0",
36
36
  "@veramo/utils": "4.2.0",
37
37
  "i18n-js": "^3.8.0",
@@ -51,5 +51,5 @@
51
51
  "peerDependencies": {
52
52
  "react": ">= 18"
53
53
  },
54
- "gitHead": "055535e49a0dc35841e53876a3b6fb85eb3e84c2"
54
+ "gitHead": "d76b27d9658debf1f6b2826d249e33aa7dfd6f8e"
55
55
  }