linked-data-browser 0.0.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 (91) hide show
  1. package/.eslintrc.js +13 -0
  2. package/.ldo/profile.context.ts +459 -0
  3. package/.ldo/profile.schema.ts +751 -0
  4. package/.ldo/profile.shapeTypes.ts +71 -0
  5. package/.ldo/profile.typings.ts +295 -0
  6. package/.prettierignore +6 -0
  7. package/.prettierrc +10 -0
  8. package/.shapes/profile.shex +121 -0
  9. package/README.md +3 -0
  10. package/app/index.tsx +25 -0
  11. package/app.json +37 -0
  12. package/assets/images/adaptive-icon.png +0 -0
  13. package/assets/images/favicon.png +0 -0
  14. package/assets/images/icon.png +0 -0
  15. package/assets/images/splash.png +0 -0
  16. package/babel.config.js +6 -0
  17. package/components/DataBrowser.tsx +57 -0
  18. package/components/ResourceView.tsx +14 -0
  19. package/components/TargetResourceProvider.tsx +128 -0
  20. package/components/ThemeProvider.tsx +123 -0
  21. package/components/nav/DialogProvider.tsx +140 -0
  22. package/components/nav/Layout.tsx +118 -0
  23. package/components/nav/header/AddressBox.tsx +126 -0
  24. package/components/nav/header/AvatarMenu.tsx +62 -0
  25. package/components/nav/header/Header.tsx +28 -0
  26. package/components/nav/header/SignInMenu.tsx +126 -0
  27. package/components/nav/header/ThemeToggleMenu.tsx +34 -0
  28. package/components/nav/header/ViewMenu.tsx +88 -0
  29. package/components/nav/useValidView.tsx +51 -0
  30. package/components/nav/utilityResourceViews/ErrorMessageResourceView.tsx +26 -0
  31. package/components/ui/avatar.tsx +53 -0
  32. package/components/ui/button.tsx +88 -0
  33. package/components/ui/card.tsx +101 -0
  34. package/components/ui/dialog.tsx +159 -0
  35. package/components/ui/dropdown-menu.tsx +275 -0
  36. package/components/ui/input.tsx +25 -0
  37. package/components/ui/label.tsx +34 -0
  38. package/components/ui/navigation-menu.tsx +200 -0
  39. package/components/ui/popover.tsx +45 -0
  40. package/components/ui/progress.tsx +79 -0
  41. package/components/ui/radio-group.tsx +59 -0
  42. package/components/ui/separator.tsx +27 -0
  43. package/components/ui/switch.tsx +105 -0
  44. package/components/ui/text.tsx +30 -0
  45. package/components/ui/tooltip.tsx +46 -0
  46. package/components.json +7 -0
  47. package/global.css +61 -0
  48. package/index.js +12 -0
  49. package/lib/android-navigation-bar.ts +11 -0
  50. package/lib/constants.ts +18 -0
  51. package/lib/icons/ArrowRight.tsx +4 -0
  52. package/lib/icons/Check.tsx +4 -0
  53. package/lib/icons/ChevronDown.tsx +4 -0
  54. package/lib/icons/ChevronRight.tsx +4 -0
  55. package/lib/icons/ChevronUp.tsx +4 -0
  56. package/lib/icons/ChevronsRight.tsx +4 -0
  57. package/lib/icons/CircleSlash.tsx +4 -0
  58. package/lib/icons/CircleX.tsx +4 -0
  59. package/lib/icons/Code.tsx +4 -0
  60. package/lib/icons/EllipsisVertical.tsx +4 -0
  61. package/lib/icons/EyeOff.tsx +4 -0
  62. package/lib/icons/File.tsx +4 -0
  63. package/lib/icons/Folder.tsx +4 -0
  64. package/lib/icons/Folders.tsx +4 -0
  65. package/lib/icons/Info.tsx +4 -0
  66. package/lib/icons/MonitorSmartphone.tsx +4 -0
  67. package/lib/icons/MoonStar.tsx +4 -0
  68. package/lib/icons/OctagonX.tsx +4 -0
  69. package/lib/icons/RefreshCw.tsx +4 -0
  70. package/lib/icons/ShieldX.tsx +4 -0
  71. package/lib/icons/Sun.tsx +4 -0
  72. package/lib/icons/TextCursorInput.tsx +4 -0
  73. package/lib/icons/Trash.tsx +4 -0
  74. package/lib/icons/ViewIcon.tsx +4 -0
  75. package/lib/icons/X.tsx +4 -0
  76. package/lib/icons/iconWithClassName.ts +14 -0
  77. package/lib/utils.ts +6 -0
  78. package/metro.config.js +6 -0
  79. package/nativewind-env.d.ts +1 -0
  80. package/package.json +89 -0
  81. package/resourceViews/Container/ContainerConfig.tsx +13 -0
  82. package/resourceViews/Container/ContainerView.tsx +148 -0
  83. package/resourceViews/RawCode/RawCodeConfig.tsx +11 -0
  84. package/resourceViews/RawCode/RawCodeEditor.tsx +37 -0
  85. package/resourceViews/RawCode/RawCodeView.tsx +67 -0
  86. package/scripts/adjust-server-paths.js +37 -0
  87. package/scripts/adjust-standalone-paths.js +28 -0
  88. package/tailwind.config.js +69 -0
  89. package/test-server/server-config.json +75 -0
  90. package/test-server/solid-css-seed.json +11 -0
  91. package/tsconfig.json +19 -0
@@ -0,0 +1,751 @@
1
+ import { Schema } from "shexj";
2
+
3
+ /**
4
+ * =============================================================================
5
+ * profileSchema: ShexJ Schema for profile
6
+ * =============================================================================
7
+ */
8
+ export const profileSchema: Schema = {
9
+ type: "Schema",
10
+ shapes: [
11
+ {
12
+ id: "https://shaperepo.com/schemas/solidProfile#SolidProfileShape",
13
+ type: "ShapeDecl",
14
+ shapeExpr: {
15
+ type: "Shape",
16
+ expression: {
17
+ type: "EachOf",
18
+ expressions: [
19
+ {
20
+ type: "TripleConstraint",
21
+ predicate: "http://www.w3.org/1999/02/22-rdf-syntax-ns#type",
22
+ valueExpr: {
23
+ type: "NodeConstraint",
24
+ values: ["http://schema.org/Person"],
25
+ },
26
+ annotations: [
27
+ {
28
+ type: "Annotation",
29
+ predicate: "http://www.w3.org/2000/01/rdf-schema#comment",
30
+ object: {
31
+ value: "Defines the node as a Person (from Schema.org)",
32
+ },
33
+ },
34
+ ],
35
+ },
36
+ {
37
+ type: "TripleConstraint",
38
+ predicate: "http://www.w3.org/1999/02/22-rdf-syntax-ns#type",
39
+ valueExpr: {
40
+ type: "NodeConstraint",
41
+ values: ["http://xmlns.com/foaf/0.1/Person"],
42
+ },
43
+ annotations: [
44
+ {
45
+ type: "Annotation",
46
+ predicate: "http://www.w3.org/2000/01/rdf-schema#comment",
47
+ object: {
48
+ value: "Defines the node as a Person (from foaf)",
49
+ },
50
+ },
51
+ ],
52
+ },
53
+ {
54
+ type: "TripleConstraint",
55
+ predicate: "http://www.w3.org/2006/vcard/ns#fn",
56
+ valueExpr: {
57
+ type: "NodeConstraint",
58
+ datatype: "http://www.w3.org/2001/XMLSchema#string",
59
+ },
60
+ min: 0,
61
+ max: 1,
62
+ annotations: [
63
+ {
64
+ type: "Annotation",
65
+ predicate: "http://www.w3.org/2000/01/rdf-schema#comment",
66
+ object: {
67
+ value:
68
+ "The formatted name of a person. Example: John Smith",
69
+ },
70
+ },
71
+ ],
72
+ },
73
+ {
74
+ type: "TripleConstraint",
75
+ predicate: "http://xmlns.com/foaf/0.1/name",
76
+ valueExpr: {
77
+ type: "NodeConstraint",
78
+ datatype: "http://www.w3.org/2001/XMLSchema#string",
79
+ },
80
+ min: 0,
81
+ max: 1,
82
+ annotations: [
83
+ {
84
+ type: "Annotation",
85
+ predicate: "http://www.w3.org/2000/01/rdf-schema#comment",
86
+ object: {
87
+ value: "An alternate way to define a person's name.",
88
+ },
89
+ },
90
+ ],
91
+ },
92
+ {
93
+ type: "TripleConstraint",
94
+ predicate: "http://www.w3.org/2006/vcard/ns#hasAddress",
95
+ valueExpr:
96
+ "https://shaperepo.com/schemas/solidProfile#AddressShape",
97
+ min: 0,
98
+ max: -1,
99
+ annotations: [
100
+ {
101
+ type: "Annotation",
102
+ predicate: "http://www.w3.org/2000/01/rdf-schema#comment",
103
+ object: {
104
+ value: "The person's street address.",
105
+ },
106
+ },
107
+ ],
108
+ },
109
+ {
110
+ type: "TripleConstraint",
111
+ predicate: "http://www.w3.org/2006/vcard/ns#hasEmail",
112
+ valueExpr:
113
+ "https://shaperepo.com/schemas/solidProfile#EmailShape",
114
+ min: 0,
115
+ max: -1,
116
+ annotations: [
117
+ {
118
+ type: "Annotation",
119
+ predicate: "http://www.w3.org/2000/01/rdf-schema#comment",
120
+ object: {
121
+ value: "The person's email.",
122
+ },
123
+ },
124
+ ],
125
+ },
126
+ {
127
+ type: "TripleConstraint",
128
+ predicate: "http://www.w3.org/2006/vcard/ns#hasPhoto",
129
+ valueExpr: {
130
+ type: "NodeConstraint",
131
+ nodeKind: "iri",
132
+ },
133
+ min: 0,
134
+ max: 1,
135
+ annotations: [
136
+ {
137
+ type: "Annotation",
138
+ predicate: "http://www.w3.org/2000/01/rdf-schema#comment",
139
+ object: {
140
+ value: "A link to the person's photo",
141
+ },
142
+ },
143
+ ],
144
+ },
145
+ {
146
+ type: "TripleConstraint",
147
+ predicate: "http://xmlns.com/foaf/0.1/img",
148
+ valueExpr: {
149
+ type: "NodeConstraint",
150
+ datatype: "http://www.w3.org/2001/XMLSchema#string",
151
+ },
152
+ min: 0,
153
+ max: 1,
154
+ annotations: [
155
+ {
156
+ type: "Annotation",
157
+ predicate: "http://www.w3.org/2000/01/rdf-schema#comment",
158
+ object: {
159
+ value: "Photo link but in string form",
160
+ },
161
+ },
162
+ ],
163
+ },
164
+ {
165
+ type: "TripleConstraint",
166
+ predicate: "http://www.w3.org/2006/vcard/ns#hasTelephone",
167
+ valueExpr:
168
+ "https://shaperepo.com/schemas/solidProfile#PhoneNumberShape",
169
+ min: 0,
170
+ max: -1,
171
+ annotations: [
172
+ {
173
+ type: "Annotation",
174
+ predicate: "http://www.w3.org/2000/01/rdf-schema#comment",
175
+ object: {
176
+ value: "Person's telephone number",
177
+ },
178
+ },
179
+ ],
180
+ },
181
+ {
182
+ type: "TripleConstraint",
183
+ predicate: "http://www.w3.org/2006/vcard/ns#phone",
184
+ valueExpr: {
185
+ type: "NodeConstraint",
186
+ datatype: "http://www.w3.org/2001/XMLSchema#string",
187
+ },
188
+ min: 0,
189
+ max: 1,
190
+ annotations: [
191
+ {
192
+ type: "Annotation",
193
+ predicate: "http://www.w3.org/2000/01/rdf-schema#comment",
194
+ object: {
195
+ value:
196
+ "An alternative way to define a person's telephone number using a string",
197
+ },
198
+ },
199
+ ],
200
+ },
201
+ {
202
+ type: "TripleConstraint",
203
+ predicate: "http://www.w3.org/2006/vcard/ns#organization-name",
204
+ valueExpr: {
205
+ type: "NodeConstraint",
206
+ datatype: "http://www.w3.org/2001/XMLSchema#string",
207
+ },
208
+ min: 0,
209
+ max: 1,
210
+ annotations: [
211
+ {
212
+ type: "Annotation",
213
+ predicate: "http://www.w3.org/2000/01/rdf-schema#comment",
214
+ object: {
215
+ value:
216
+ "The name of the organization with which the person is affiliated",
217
+ },
218
+ },
219
+ ],
220
+ },
221
+ {
222
+ type: "TripleConstraint",
223
+ predicate: "http://www.w3.org/2006/vcard/ns#role",
224
+ valueExpr: {
225
+ type: "NodeConstraint",
226
+ datatype: "http://www.w3.org/2001/XMLSchema#string",
227
+ },
228
+ min: 0,
229
+ max: 1,
230
+ annotations: [
231
+ {
232
+ type: "Annotation",
233
+ predicate: "http://www.w3.org/2000/01/rdf-schema#comment",
234
+ object: {
235
+ value:
236
+ "The name of the person's role in their organization",
237
+ },
238
+ },
239
+ ],
240
+ },
241
+ {
242
+ type: "TripleConstraint",
243
+ predicate: "http://www.w3.org/ns/auth/acl#trustedApp",
244
+ valueExpr:
245
+ "https://shaperepo.com/schemas/solidProfile#TrustedAppShape",
246
+ min: 0,
247
+ max: -1,
248
+ annotations: [
249
+ {
250
+ type: "Annotation",
251
+ predicate: "http://www.w3.org/2000/01/rdf-schema#comment",
252
+ object: {
253
+ value:
254
+ "A list of app origins that are trusted by this user",
255
+ },
256
+ },
257
+ ],
258
+ },
259
+ {
260
+ type: "TripleConstraint",
261
+ predicate: "http://www.w3.org/ns/auth/cert#key",
262
+ valueExpr:
263
+ "https://shaperepo.com/schemas/solidProfile#RSAPublicKeyShape",
264
+ min: 0,
265
+ max: -1,
266
+ annotations: [
267
+ {
268
+ type: "Annotation",
269
+ predicate: "http://www.w3.org/2000/01/rdf-schema#comment",
270
+ object: {
271
+ value:
272
+ "A list of RSA public keys that are associated with private keys the user holds.",
273
+ },
274
+ },
275
+ ],
276
+ },
277
+ {
278
+ type: "TripleConstraint",
279
+ predicate: "http://www.w3.org/ns/ldp#inbox",
280
+ valueExpr: {
281
+ type: "NodeConstraint",
282
+ nodeKind: "iri",
283
+ },
284
+ annotations: [
285
+ {
286
+ type: "Annotation",
287
+ predicate: "http://www.w3.org/2000/01/rdf-schema#comment",
288
+ object: {
289
+ value:
290
+ "The user's LDP inbox to which apps can post notifications",
291
+ },
292
+ },
293
+ ],
294
+ },
295
+ {
296
+ type: "TripleConstraint",
297
+ predicate: "http://www.w3.org/ns/pim/space#preferencesFile",
298
+ valueExpr: {
299
+ type: "NodeConstraint",
300
+ nodeKind: "iri",
301
+ },
302
+ min: 0,
303
+ max: 1,
304
+ annotations: [
305
+ {
306
+ type: "Annotation",
307
+ predicate: "http://www.w3.org/2000/01/rdf-schema#comment",
308
+ object: {
309
+ value: "The user's preferences",
310
+ },
311
+ },
312
+ ],
313
+ },
314
+ {
315
+ type: "TripleConstraint",
316
+ predicate: "http://www.w3.org/ns/pim/space#storage",
317
+ valueExpr: {
318
+ type: "NodeConstraint",
319
+ nodeKind: "iri",
320
+ },
321
+ min: 0,
322
+ max: -1,
323
+ annotations: [
324
+ {
325
+ type: "Annotation",
326
+ predicate: "http://www.w3.org/2000/01/rdf-schema#comment",
327
+ object: {
328
+ value:
329
+ "The location of a Solid storage server related to this WebId",
330
+ },
331
+ },
332
+ ],
333
+ },
334
+ {
335
+ type: "TripleConstraint",
336
+ predicate: "http://www.w3.org/ns/solid/terms#account",
337
+ valueExpr: {
338
+ type: "NodeConstraint",
339
+ nodeKind: "iri",
340
+ },
341
+ min: 0,
342
+ max: 1,
343
+ annotations: [
344
+ {
345
+ type: "Annotation",
346
+ predicate: "http://www.w3.org/2000/01/rdf-schema#comment",
347
+ object: {
348
+ value: "The user's account",
349
+ },
350
+ },
351
+ ],
352
+ },
353
+ {
354
+ type: "TripleConstraint",
355
+ predicate: "http://www.w3.org/ns/solid/terms#privateTypeIndex",
356
+ valueExpr: {
357
+ type: "NodeConstraint",
358
+ nodeKind: "iri",
359
+ },
360
+ min: 0,
361
+ max: -1,
362
+ annotations: [
363
+ {
364
+ type: "Annotation",
365
+ predicate: "http://www.w3.org/2000/01/rdf-schema#comment",
366
+ object: {
367
+ value:
368
+ "A registry of all types used on the user's Pod (for private access only)",
369
+ },
370
+ },
371
+ ],
372
+ },
373
+ {
374
+ type: "TripleConstraint",
375
+ predicate: "http://www.w3.org/ns/solid/terms#publicTypeIndex",
376
+ valueExpr: {
377
+ type: "NodeConstraint",
378
+ nodeKind: "iri",
379
+ },
380
+ min: 0,
381
+ max: -1,
382
+ annotations: [
383
+ {
384
+ type: "Annotation",
385
+ predicate: "http://www.w3.org/2000/01/rdf-schema#comment",
386
+ object: {
387
+ value:
388
+ "A registry of all types used on the user's Pod (for public access)",
389
+ },
390
+ },
391
+ ],
392
+ },
393
+ {
394
+ type: "TripleConstraint",
395
+ predicate: "http://xmlns.com/foaf/0.1/knows",
396
+ valueExpr: {
397
+ type: "NodeConstraint",
398
+ nodeKind: "iri",
399
+ },
400
+ min: 0,
401
+ max: -1,
402
+ annotations: [
403
+ {
404
+ type: "Annotation",
405
+ predicate: "http://www.w3.org/2000/01/rdf-schema#comment",
406
+ object: {
407
+ value:
408
+ "A list of WebIds for all the people this user knows.",
409
+ },
410
+ },
411
+ ],
412
+ },
413
+ ],
414
+ },
415
+ extra: ["http://www.w3.org/1999/02/22-rdf-syntax-ns#type"],
416
+ },
417
+ },
418
+ {
419
+ id: "https://shaperepo.com/schemas/solidProfile#AddressShape",
420
+ type: "ShapeDecl",
421
+ shapeExpr: {
422
+ type: "Shape",
423
+ expression: {
424
+ type: "EachOf",
425
+ expressions: [
426
+ {
427
+ type: "TripleConstraint",
428
+ predicate: "http://www.w3.org/2006/vcard/ns#country-name",
429
+ valueExpr: {
430
+ type: "NodeConstraint",
431
+ datatype: "http://www.w3.org/2001/XMLSchema#string",
432
+ },
433
+ min: 0,
434
+ max: 1,
435
+ annotations: [
436
+ {
437
+ type: "Annotation",
438
+ predicate: "http://www.w3.org/2000/01/rdf-schema#comment",
439
+ object: {
440
+ value: "The name of the user's country of residence",
441
+ },
442
+ },
443
+ ],
444
+ },
445
+ {
446
+ type: "TripleConstraint",
447
+ predicate: "http://www.w3.org/2006/vcard/ns#locality",
448
+ valueExpr: {
449
+ type: "NodeConstraint",
450
+ datatype: "http://www.w3.org/2001/XMLSchema#string",
451
+ },
452
+ min: 0,
453
+ max: 1,
454
+ annotations: [
455
+ {
456
+ type: "Annotation",
457
+ predicate: "http://www.w3.org/2000/01/rdf-schema#comment",
458
+ object: {
459
+ value:
460
+ "The name of the user's locality (City, Town etc.) of residence",
461
+ },
462
+ },
463
+ ],
464
+ },
465
+ {
466
+ type: "TripleConstraint",
467
+ predicate: "http://www.w3.org/2006/vcard/ns#postal-code",
468
+ valueExpr: {
469
+ type: "NodeConstraint",
470
+ datatype: "http://www.w3.org/2001/XMLSchema#string",
471
+ },
472
+ min: 0,
473
+ max: 1,
474
+ annotations: [
475
+ {
476
+ type: "Annotation",
477
+ predicate: "http://www.w3.org/2000/01/rdf-schema#comment",
478
+ object: {
479
+ value: "The user's postal code",
480
+ },
481
+ },
482
+ ],
483
+ },
484
+ {
485
+ type: "TripleConstraint",
486
+ predicate: "http://www.w3.org/2006/vcard/ns#region",
487
+ valueExpr: {
488
+ type: "NodeConstraint",
489
+ datatype: "http://www.w3.org/2001/XMLSchema#string",
490
+ },
491
+ min: 0,
492
+ max: 1,
493
+ annotations: [
494
+ {
495
+ type: "Annotation",
496
+ predicate: "http://www.w3.org/2000/01/rdf-schema#comment",
497
+ object: {
498
+ value:
499
+ "The name of the user's region (State, Province etc.) of residence",
500
+ },
501
+ },
502
+ ],
503
+ },
504
+ {
505
+ type: "TripleConstraint",
506
+ predicate: "http://www.w3.org/2006/vcard/ns#street-address",
507
+ valueExpr: {
508
+ type: "NodeConstraint",
509
+ datatype: "http://www.w3.org/2001/XMLSchema#string",
510
+ },
511
+ min: 0,
512
+ max: 1,
513
+ annotations: [
514
+ {
515
+ type: "Annotation",
516
+ predicate: "http://www.w3.org/2000/01/rdf-schema#comment",
517
+ object: {
518
+ value: "The user's street address",
519
+ },
520
+ },
521
+ ],
522
+ },
523
+ ],
524
+ },
525
+ },
526
+ },
527
+ {
528
+ id: "https://shaperepo.com/schemas/solidProfile#EmailShape",
529
+ type: "ShapeDecl",
530
+ shapeExpr: {
531
+ type: "Shape",
532
+ expression: {
533
+ type: "EachOf",
534
+ expressions: [
535
+ {
536
+ type: "TripleConstraint",
537
+ predicate: "http://www.w3.org/1999/02/22-rdf-syntax-ns#type",
538
+ valueExpr: {
539
+ type: "NodeConstraint",
540
+ values: [
541
+ "http://www.w3.org/2006/vcard/ns#Dom",
542
+ "http://www.w3.org/2006/vcard/ns#Home",
543
+ "http://www.w3.org/2006/vcard/ns#ISDN",
544
+ "http://www.w3.org/2006/vcard/ns#Internet",
545
+ "http://www.w3.org/2006/vcard/ns#Intl",
546
+ "http://www.w3.org/2006/vcard/ns#Label",
547
+ "http://www.w3.org/2006/vcard/ns#Parcel",
548
+ "http://www.w3.org/2006/vcard/ns#Postal",
549
+ "http://www.w3.org/2006/vcard/ns#Pref",
550
+ "http://www.w3.org/2006/vcard/ns#Work",
551
+ "http://www.w3.org/2006/vcard/ns#X400",
552
+ ],
553
+ },
554
+ min: 0,
555
+ max: 1,
556
+ annotations: [
557
+ {
558
+ type: "Annotation",
559
+ predicate: "http://www.w3.org/2000/01/rdf-schema#comment",
560
+ object: {
561
+ value: "The type of email.",
562
+ },
563
+ },
564
+ ],
565
+ },
566
+ {
567
+ type: "TripleConstraint",
568
+ predicate: "http://www.w3.org/2006/vcard/ns#value",
569
+ valueExpr: {
570
+ type: "NodeConstraint",
571
+ nodeKind: "iri",
572
+ },
573
+ annotations: [
574
+ {
575
+ type: "Annotation",
576
+ predicate: "http://www.w3.org/2000/01/rdf-schema#comment",
577
+ object: {
578
+ value:
579
+ "The value of an email as a mailto link (Example <mailto:jane@example.com>)",
580
+ },
581
+ },
582
+ ],
583
+ },
584
+ ],
585
+ },
586
+ extra: ["http://www.w3.org/1999/02/22-rdf-syntax-ns#type"],
587
+ },
588
+ },
589
+ {
590
+ id: "https://shaperepo.com/schemas/solidProfile#PhoneNumberShape",
591
+ type: "ShapeDecl",
592
+ shapeExpr: {
593
+ type: "Shape",
594
+ expression: {
595
+ type: "EachOf",
596
+ expressions: [
597
+ {
598
+ type: "TripleConstraint",
599
+ predicate: "http://www.w3.org/1999/02/22-rdf-syntax-ns#type",
600
+ valueExpr: {
601
+ type: "NodeConstraint",
602
+ values: [
603
+ "http://www.w3.org/2006/vcard/ns#Dom",
604
+ "http://www.w3.org/2006/vcard/ns#Home",
605
+ "http://www.w3.org/2006/vcard/ns#ISDN",
606
+ "http://www.w3.org/2006/vcard/ns#Internet",
607
+ "http://www.w3.org/2006/vcard/ns#Intl",
608
+ "http://www.w3.org/2006/vcard/ns#Label",
609
+ "http://www.w3.org/2006/vcard/ns#Parcel",
610
+ "http://www.w3.org/2006/vcard/ns#Postal",
611
+ "http://www.w3.org/2006/vcard/ns#Pref",
612
+ "http://www.w3.org/2006/vcard/ns#Work",
613
+ "http://www.w3.org/2006/vcard/ns#X400",
614
+ ],
615
+ },
616
+ min: 0,
617
+ max: 1,
618
+ annotations: [
619
+ {
620
+ type: "Annotation",
621
+ predicate: "http://www.w3.org/2000/01/rdf-schema#comment",
622
+ object: {
623
+ value: "They type of Phone Number",
624
+ },
625
+ },
626
+ ],
627
+ },
628
+ {
629
+ type: "TripleConstraint",
630
+ predicate: "http://www.w3.org/2006/vcard/ns#value",
631
+ valueExpr: {
632
+ type: "NodeConstraint",
633
+ nodeKind: "iri",
634
+ },
635
+ annotations: [
636
+ {
637
+ type: "Annotation",
638
+ predicate: "http://www.w3.org/2000/01/rdf-schema#comment",
639
+ object: {
640
+ value:
641
+ "The value of a phone number as a tel link (Example <tel:555-555-5555>)",
642
+ },
643
+ },
644
+ ],
645
+ },
646
+ ],
647
+ },
648
+ extra: ["http://www.w3.org/1999/02/22-rdf-syntax-ns#type"],
649
+ },
650
+ },
651
+ {
652
+ id: "https://shaperepo.com/schemas/solidProfile#TrustedAppShape",
653
+ type: "ShapeDecl",
654
+ shapeExpr: {
655
+ type: "Shape",
656
+ expression: {
657
+ type: "EachOf",
658
+ expressions: [
659
+ {
660
+ type: "TripleConstraint",
661
+ predicate: "http://www.w3.org/ns/auth/acl#mode",
662
+ valueExpr: {
663
+ type: "NodeConstraint",
664
+ values: [
665
+ "http://www.w3.org/ns/auth/acl#Append",
666
+ "http://www.w3.org/ns/auth/acl#Control",
667
+ "http://www.w3.org/ns/auth/acl#Read",
668
+ "http://www.w3.org/ns/auth/acl#Write",
669
+ ],
670
+ },
671
+ min: 1,
672
+ max: -1,
673
+ annotations: [
674
+ {
675
+ type: "Annotation",
676
+ predicate: "http://www.w3.org/2000/01/rdf-schema#comment",
677
+ object: {
678
+ value: "The level of access provided to this origin",
679
+ },
680
+ },
681
+ ],
682
+ },
683
+ {
684
+ type: "TripleConstraint",
685
+ predicate: "http://www.w3.org/ns/auth/acl#origin",
686
+ valueExpr: {
687
+ type: "NodeConstraint",
688
+ nodeKind: "iri",
689
+ },
690
+ annotations: [
691
+ {
692
+ type: "Annotation",
693
+ predicate: "http://www.w3.org/2000/01/rdf-schema#comment",
694
+ object: {
695
+ value: "The app origin the user trusts",
696
+ },
697
+ },
698
+ ],
699
+ },
700
+ ],
701
+ },
702
+ },
703
+ },
704
+ {
705
+ id: "https://shaperepo.com/schemas/solidProfile#RSAPublicKeyShape",
706
+ type: "ShapeDecl",
707
+ shapeExpr: {
708
+ type: "Shape",
709
+ expression: {
710
+ type: "EachOf",
711
+ expressions: [
712
+ {
713
+ type: "TripleConstraint",
714
+ predicate: "http://www.w3.org/ns/auth/cert#modulus",
715
+ valueExpr: {
716
+ type: "NodeConstraint",
717
+ datatype: "http://www.w3.org/2001/XMLSchema#string",
718
+ },
719
+ annotations: [
720
+ {
721
+ type: "Annotation",
722
+ predicate: "http://www.w3.org/2000/01/rdf-schema#comment",
723
+ object: {
724
+ value: "RSA Modulus",
725
+ },
726
+ },
727
+ ],
728
+ },
729
+ {
730
+ type: "TripleConstraint",
731
+ predicate: "http://www.w3.org/ns/auth/cert#exponent",
732
+ valueExpr: {
733
+ type: "NodeConstraint",
734
+ datatype: "http://www.w3.org/2001/XMLSchema#integer",
735
+ },
736
+ annotations: [
737
+ {
738
+ type: "Annotation",
739
+ predicate: "http://www.w3.org/2000/01/rdf-schema#comment",
740
+ object: {
741
+ value: "RSA Exponent",
742
+ },
743
+ },
744
+ ],
745
+ },
746
+ ],
747
+ },
748
+ },
749
+ },
750
+ ],
751
+ };