@procivis/one-react-native-components 0.3.142 → 0.3.147

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 (113) hide show
  1. package/lib/commonjs/components/proof-request/index.js +1 -12
  2. package/lib/commonjs/components/proof-request/index.js.map +1 -1
  3. package/lib/commonjs/components/proof-request/v2/share-credential-v2-group.js +6 -3
  4. package/lib/commonjs/components/proof-request/v2/share-credential-v2-group.js.map +1 -1
  5. package/lib/commonjs/components/proof-request/v2/share-credential-v2.js.map +1 -1
  6. package/lib/commonjs/ui-components/credential/card/credential-header.js +8 -38
  7. package/lib/commonjs/ui-components/credential/card/credential-header.js.map +1 -1
  8. package/lib/commonjs/ui-components/credential/card/credential-logo.js +71 -0
  9. package/lib/commonjs/ui-components/credential/card/credential-logo.js.map +1 -0
  10. package/lib/commonjs/ui-components/credential/card/index.js +7 -0
  11. package/lib/commonjs/ui-components/credential/card/index.js.map +1 -1
  12. package/lib/commonjs/ui-components/input/selection-input.js +69 -53
  13. package/lib/commonjs/ui-components/input/selection-input.js.map +1 -1
  14. package/lib/commonjs/ui-components/text/index.js +1 -9
  15. package/lib/commonjs/ui-components/text/index.js.map +1 -1
  16. package/lib/commonjs/utils/hooks/core/proofs.js +1 -1
  17. package/lib/commonjs/utils/hooks/core/proofs.js.map +1 -1
  18. package/lib/commonjs/utils/hooks/core/transaction.js +20 -0
  19. package/lib/commonjs/utils/hooks/core/transaction.js.map +1 -0
  20. package/lib/commonjs/utils/parsers/credential-sharing-v2.js +34 -3
  21. package/lib/commonjs/utils/parsers/credential-sharing-v2.js.map +1 -1
  22. package/lib/commonjs/utils/parsers/credential.js +22 -14
  23. package/lib/commonjs/utils/parsers/credential.js.map +1 -1
  24. package/lib/commonjs/utils/parsers/index.js +0 -11
  25. package/lib/commonjs/utils/parsers/index.js.map +1 -1
  26. package/lib/commonjs/utils/parsers/query.js +2 -2
  27. package/lib/commonjs/utils/parsers/query.js.map +1 -1
  28. package/lib/module/components/proof-request/index.js +0 -1
  29. package/lib/module/components/proof-request/index.js.map +1 -1
  30. package/lib/module/components/proof-request/v2/share-credential-v2-group.js +6 -3
  31. package/lib/module/components/proof-request/v2/share-credential-v2-group.js.map +1 -1
  32. package/lib/module/components/proof-request/v2/share-credential-v2.js.map +1 -1
  33. package/lib/module/ui-components/credential/card/credential-header.js +8 -38
  34. package/lib/module/ui-components/credential/card/credential-header.js.map +1 -1
  35. package/lib/module/ui-components/credential/card/credential-logo.js +64 -0
  36. package/lib/module/ui-components/credential/card/credential-logo.js.map +1 -0
  37. package/lib/module/ui-components/credential/card/index.js +2 -0
  38. package/lib/module/ui-components/credential/card/index.js.map +1 -1
  39. package/lib/module/ui-components/input/selection-input.js +70 -54
  40. package/lib/module/ui-components/input/selection-input.js.map +1 -1
  41. package/lib/module/ui-components/text/index.js +2 -2
  42. package/lib/module/ui-components/text/index.js.map +1 -1
  43. package/lib/module/utils/hooks/core/proofs.js +1 -1
  44. package/lib/module/utils/hooks/core/proofs.js.map +1 -1
  45. package/lib/module/utils/hooks/core/transaction.js +13 -0
  46. package/lib/module/utils/hooks/core/transaction.js.map +1 -0
  47. package/lib/module/utils/parsers/credential-sharing-v2.js +31 -1
  48. package/lib/module/utils/parsers/credential-sharing-v2.js.map +1 -1
  49. package/lib/module/utils/parsers/credential.js +20 -13
  50. package/lib/module/utils/parsers/credential.js.map +1 -1
  51. package/lib/module/utils/parsers/index.js +0 -1
  52. package/lib/module/utils/parsers/index.js.map +1 -1
  53. package/lib/module/utils/parsers/query.js +2 -2
  54. package/lib/module/utils/parsers/query.js.map +1 -1
  55. package/lib/typescript/components/proof-request/index.d.ts +0 -1
  56. package/lib/typescript/components/proof-request/v2/share-credential-v2-group.d.ts +8 -1
  57. package/lib/typescript/components/proof-request/v2/share-credential-v2.d.ts +1 -1
  58. package/lib/typescript/ui-components/credential/card/credential-logo.d.ts +17 -0
  59. package/lib/typescript/ui-components/credential/card/index.d.ts +3 -0
  60. package/lib/typescript/ui-components/input/selection-input.d.ts +3 -7
  61. package/lib/typescript/ui-components/text/index.d.ts +2 -1
  62. package/lib/typescript/ui-components/text/typography.d.ts +13 -13
  63. package/lib/typescript/utils/hooks/core/proofs.d.ts +2 -2
  64. package/lib/typescript/utils/hooks/core/transaction.d.ts +2 -0
  65. package/lib/typescript/utils/parsers/credential-sharing-v2.d.ts +10 -2
  66. package/lib/typescript/utils/parsers/credential.d.ts +2 -1
  67. package/lib/typescript/utils/parsers/index.d.ts +0 -1
  68. package/package.json +7 -4
  69. package/src/components/proof-request/index.ts +0 -1
  70. package/src/components/proof-request/v2/share-credential-v2-group.tsx +12 -2
  71. package/src/components/proof-request/v2/share-credential-v2.tsx +1 -1
  72. package/src/ui-components/credential/card/credential-header.tsx +9 -37
  73. package/src/ui-components/credential/card/credential-logo.stories.tsx +45 -0
  74. package/src/ui-components/credential/card/credential-logo.tsx +79 -0
  75. package/src/ui-components/credential/card/index.ts +5 -8
  76. package/src/ui-components/input/selection-input.tsx +85 -65
  77. package/src/ui-components/text/index.ts +2 -1
  78. package/src/utils/hooks/core/proofs.ts +3 -3
  79. package/src/utils/hooks/core/transaction.ts +18 -0
  80. package/src/utils/parsers/credential-sharing-v2.tsx +70 -1
  81. package/src/utils/parsers/credential.ts +27 -13
  82. package/src/utils/parsers/index.ts +0 -1
  83. package/src/utils/parsers/query.ts +1 -1
  84. package/lib/commonjs/components/proof-request/v1/group.js +0 -35
  85. package/lib/commonjs/components/proof-request/v1/group.js.map +0 -1
  86. package/lib/commonjs/components/proof-request/v1/index.js +0 -39
  87. package/lib/commonjs/components/proof-request/v1/index.js.map +0 -1
  88. package/lib/commonjs/components/proof-request/v1/select-credential.js +0 -53
  89. package/lib/commonjs/components/proof-request/v1/select-credential.js.map +0 -1
  90. package/lib/commonjs/components/proof-request/v1/share-credential.js +0 -110
  91. package/lib/commonjs/components/proof-request/v1/share-credential.js.map +0 -1
  92. package/lib/commonjs/utils/parsers/credential-sharing.js +0 -269
  93. package/lib/commonjs/utils/parsers/credential-sharing.js.map +0 -1
  94. package/lib/module/components/proof-request/v1/group.js +0 -27
  95. package/lib/module/components/proof-request/v1/group.js.map +0 -1
  96. package/lib/module/components/proof-request/v1/index.js +0 -4
  97. package/lib/module/components/proof-request/v1/index.js.map +0 -1
  98. package/lib/module/components/proof-request/v1/select-credential.js +0 -44
  99. package/lib/module/components/proof-request/v1/select-credential.js.map +0 -1
  100. package/lib/module/components/proof-request/v1/share-credential.js +0 -101
  101. package/lib/module/components/proof-request/v1/share-credential.js.map +0 -1
  102. package/lib/module/utils/parsers/credential-sharing.js +0 -256
  103. package/lib/module/utils/parsers/credential-sharing.js.map +0 -1
  104. package/lib/typescript/components/proof-request/v1/group.d.ts +0 -2
  105. package/lib/typescript/components/proof-request/v1/index.d.ts +0 -3
  106. package/lib/typescript/components/proof-request/v1/select-credential.d.ts +0 -15
  107. package/lib/typescript/components/proof-request/v1/share-credential.d.ts +0 -27
  108. package/lib/typescript/utils/parsers/credential-sharing.d.ts +0 -21
  109. package/src/components/proof-request/v1/group.tsx +0 -26
  110. package/src/components/proof-request/v1/index.ts +0 -3
  111. package/src/components/proof-request/v1/select-credential.tsx +0 -55
  112. package/src/components/proof-request/v1/share-credential.tsx +0 -159
  113. package/src/utils/parsers/credential-sharing.tsx +0 -415
@@ -7,87 +7,87 @@ declare const presets: {
7
7
  readonly lineHeight: 36;
8
8
  readonly letterSpacing: 0.2;
9
9
  readonly fontFamily?: string | undefined;
10
- readonly fontWeight?: 500 | "bold" | "normal" | "100" | "black" | "light" | "regular" | "200" | "300" | "400" | "500" | "600" | "700" | "800" | "900" | 100 | 200 | 300 | 400 | 600 | 700 | 800 | 900 | "ultralight" | "thin" | "medium" | "semibold" | "condensedBold" | "condensed" | "heavy" | undefined;
10
+ readonly fontWeight?: 500 | "bold" | "normal" | "100" | "black" | "200" | "300" | "400" | "500" | "600" | "700" | "800" | "900" | "condensed" | 300 | "light" | "regular" | 100 | 200 | 400 | 600 | 700 | 800 | 900 | "ultralight" | "thin" | "medium" | "semibold" | "condensedBold" | "heavy" | undefined;
11
11
  };
12
12
  readonly l: {
13
13
  readonly fontSize: 24;
14
14
  readonly lineHeight: 33;
15
15
  readonly fontFamily?: string | undefined;
16
- readonly fontWeight?: 500 | "bold" | "normal" | "100" | "black" | "light" | "regular" | "200" | "300" | "400" | "500" | "600" | "700" | "800" | "900" | 100 | 200 | 300 | 400 | 600 | 700 | 800 | 900 | "ultralight" | "thin" | "medium" | "semibold" | "condensedBold" | "condensed" | "heavy" | undefined;
16
+ readonly fontWeight?: 500 | "bold" | "normal" | "100" | "black" | "200" | "300" | "400" | "500" | "600" | "700" | "800" | "900" | "condensed" | 300 | "light" | "regular" | 100 | 200 | 400 | 600 | 700 | 800 | 900 | "ultralight" | "thin" | "medium" | "semibold" | "condensedBold" | "heavy" | undefined;
17
17
  };
18
18
  readonly 'l/line-height-large': {
19
19
  readonly fontSize: 24;
20
20
  readonly lineHeight: 28;
21
21
  readonly fontFamily?: string | undefined;
22
- readonly fontWeight?: 500 | "bold" | "normal" | "100" | "black" | "light" | "regular" | "200" | "300" | "400" | "500" | "600" | "700" | "800" | "900" | 100 | 200 | 300 | 400 | 600 | 700 | 800 | 900 | "ultralight" | "thin" | "medium" | "semibold" | "condensedBold" | "condensed" | "heavy" | undefined;
22
+ readonly fontWeight?: 500 | "bold" | "normal" | "100" | "black" | "200" | "300" | "400" | "500" | "600" | "700" | "800" | "900" | "condensed" | 300 | "light" | "regular" | 100 | 200 | 400 | 600 | 700 | 800 | 900 | "ultralight" | "thin" | "medium" | "semibold" | "condensedBold" | "heavy" | undefined;
23
23
  };
24
24
  readonly regular: {
25
25
  readonly fontSize: 17;
26
26
  readonly lineHeight: 24;
27
27
  readonly fontFamily?: string | undefined;
28
- readonly fontWeight?: 500 | "bold" | "normal" | "100" | "black" | "light" | "regular" | "200" | "300" | "400" | "500" | "600" | "700" | "800" | "900" | 100 | 200 | 300 | 400 | 600 | 700 | 800 | 900 | "ultralight" | "thin" | "medium" | "semibold" | "condensedBold" | "condensed" | "heavy" | undefined;
28
+ readonly fontWeight?: 500 | "bold" | "normal" | "100" | "black" | "200" | "300" | "400" | "500" | "600" | "700" | "800" | "900" | "condensed" | 300 | "light" | "regular" | 100 | 200 | 400 | 600 | 700 | 800 | 900 | "ultralight" | "thin" | "medium" | "semibold" | "condensedBold" | "heavy" | undefined;
29
29
  };
30
30
  readonly m: {
31
31
  readonly fontSize: 17;
32
32
  readonly lineHeight: 22;
33
33
  readonly letterSpacing: -0.2;
34
34
  readonly fontFamily?: string | undefined;
35
- readonly fontWeight?: 500 | "bold" | "normal" | "100" | "black" | "light" | "regular" | "200" | "300" | "400" | "500" | "600" | "700" | "800" | "900" | 100 | 200 | 300 | 400 | 600 | 700 | 800 | 900 | "ultralight" | "thin" | "medium" | "semibold" | "condensedBold" | "condensed" | "heavy" | undefined;
35
+ readonly fontWeight?: 500 | "bold" | "normal" | "100" | "black" | "200" | "300" | "400" | "500" | "600" | "700" | "800" | "900" | "condensed" | 300 | "light" | "regular" | 100 | 200 | 400 | 600 | 700 | 800 | 900 | "ultralight" | "thin" | "medium" | "semibold" | "condensedBold" | "heavy" | undefined;
36
36
  };
37
37
  readonly 'm/heading': {
38
38
  readonly fontSize: 17;
39
39
  readonly lineHeight: 22;
40
40
  readonly letterSpacing: -0.2;
41
41
  readonly fontFamily?: string | undefined;
42
- readonly fontWeight?: 500 | "bold" | "normal" | "100" | "black" | "light" | "regular" | "200" | "300" | "400" | "500" | "600" | "700" | "800" | "900" | 100 | 200 | 300 | 400 | 600 | 700 | 800 | 900 | "ultralight" | "thin" | "medium" | "semibold" | "condensedBold" | "condensed" | "heavy" | undefined;
42
+ readonly fontWeight?: 500 | "bold" | "normal" | "100" | "black" | "200" | "300" | "400" | "500" | "600" | "700" | "800" | "900" | "condensed" | 300 | "light" | "regular" | 100 | 200 | 400 | 600 | 700 | 800 | 900 | "ultralight" | "thin" | "medium" | "semibold" | "condensedBold" | "heavy" | undefined;
43
43
  };
44
44
  readonly s: {
45
45
  readonly fontSize: 14;
46
46
  readonly lineHeight: 22;
47
47
  readonly fontFamily?: string | undefined;
48
- readonly fontWeight?: 500 | "bold" | "normal" | "100" | "black" | "light" | "regular" | "200" | "300" | "400" | "500" | "600" | "700" | "800" | "900" | 100 | 200 | 300 | 400 | 600 | 700 | 800 | 900 | "ultralight" | "thin" | "medium" | "semibold" | "condensedBold" | "condensed" | "heavy" | undefined;
48
+ readonly fontWeight?: 500 | "bold" | "normal" | "100" | "black" | "200" | "300" | "400" | "500" | "600" | "700" | "800" | "900" | "condensed" | 300 | "light" | "regular" | 100 | 200 | 400 | 600 | 700 | 800 | 900 | "ultralight" | "thin" | "medium" | "semibold" | "condensedBold" | "heavy" | undefined;
49
49
  };
50
50
  readonly 's/line-height-capped': {
51
51
  readonly fontSize: 14;
52
52
  readonly lineHeight: 22;
53
53
  readonly letterSpacing: -0.2;
54
54
  readonly fontFamily?: string | undefined;
55
- readonly fontWeight?: 500 | "bold" | "normal" | "100" | "black" | "light" | "regular" | "200" | "300" | "400" | "500" | "600" | "700" | "800" | "900" | 100 | 200 | 300 | 400 | 600 | 700 | 800 | 900 | "ultralight" | "thin" | "medium" | "semibold" | "condensedBold" | "condensed" | "heavy" | undefined;
55
+ readonly fontWeight?: 500 | "bold" | "normal" | "100" | "black" | "200" | "300" | "400" | "500" | "600" | "700" | "800" | "900" | "condensed" | 300 | "light" | "regular" | 100 | 200 | 400 | 600 | 700 | 800 | 900 | "ultralight" | "thin" | "medium" | "semibold" | "condensedBold" | "heavy" | undefined;
56
56
  };
57
57
  readonly 's/line-height-small': {
58
58
  readonly fontSize: 14;
59
59
  readonly lineHeight: 18;
60
60
  readonly letterSpacing: 0.3;
61
61
  readonly fontFamily?: string | undefined;
62
- readonly fontWeight?: 500 | "bold" | "normal" | "100" | "black" | "light" | "regular" | "200" | "300" | "400" | "500" | "600" | "700" | "800" | "900" | 100 | 200 | 300 | 400 | 600 | 700 | 800 | 900 | "ultralight" | "thin" | "medium" | "semibold" | "condensedBold" | "condensed" | "heavy" | undefined;
62
+ readonly fontWeight?: 500 | "bold" | "normal" | "100" | "black" | "200" | "300" | "400" | "500" | "600" | "700" | "800" | "900" | "condensed" | 300 | "light" | "regular" | 100 | 200 | 400 | 600 | 700 | 800 | 900 | "ultralight" | "thin" | "medium" | "semibold" | "condensedBold" | "heavy" | undefined;
63
63
  };
64
64
  readonly 's/code': {
65
65
  readonly fontSize: 14;
66
66
  readonly lineHeight: 22;
67
67
  readonly letterSpacing: 0.2;
68
68
  readonly fontFamily?: string | undefined;
69
- readonly fontWeight?: 500 | "bold" | "normal" | "100" | "black" | "light" | "regular" | "200" | "300" | "400" | "500" | "600" | "700" | "800" | "900" | 100 | 200 | 300 | 400 | 600 | 700 | 800 | 900 | "ultralight" | "thin" | "medium" | "semibold" | "condensedBold" | "condensed" | "heavy" | undefined;
69
+ readonly fontWeight?: 500 | "bold" | "normal" | "100" | "black" | "200" | "300" | "400" | "500" | "600" | "700" | "800" | "900" | "condensed" | 300 | "light" | "regular" | 100 | 200 | 400 | 600 | 700 | 800 | 900 | "ultralight" | "thin" | "medium" | "semibold" | "condensedBold" | "heavy" | undefined;
70
70
  };
71
71
  readonly xs: {
72
72
  readonly fontSize: 12;
73
73
  readonly lineHeight: 22;
74
74
  readonly letterSpacing: -0.1;
75
75
  readonly fontFamily?: string | undefined;
76
- readonly fontWeight?: 500 | "bold" | "normal" | "100" | "black" | "light" | "regular" | "200" | "300" | "400" | "500" | "600" | "700" | "800" | "900" | 100 | 200 | 300 | 400 | 600 | 700 | 800 | 900 | "ultralight" | "thin" | "medium" | "semibold" | "condensedBold" | "condensed" | "heavy" | undefined;
76
+ readonly fontWeight?: 500 | "bold" | "normal" | "100" | "black" | "200" | "300" | "400" | "500" | "600" | "700" | "800" | "900" | "condensed" | 300 | "light" | "regular" | 100 | 200 | 400 | 600 | 700 | 800 | 900 | "ultralight" | "thin" | "medium" | "semibold" | "condensedBold" | "heavy" | undefined;
77
77
  };
78
78
  readonly 'xs/line-height-small': {
79
79
  readonly fontSize: 12;
80
80
  readonly lineHeight: 18;
81
81
  readonly letterSpacing: 0.3;
82
82
  readonly fontFamily?: string | undefined;
83
- readonly fontWeight?: 500 | "bold" | "normal" | "100" | "black" | "light" | "regular" | "200" | "300" | "400" | "500" | "600" | "700" | "800" | "900" | 100 | 200 | 300 | 400 | 600 | 700 | 800 | 900 | "ultralight" | "thin" | "medium" | "semibold" | "condensedBold" | "condensed" | "heavy" | undefined;
83
+ readonly fontWeight?: 500 | "bold" | "normal" | "100" | "black" | "200" | "300" | "400" | "500" | "600" | "700" | "800" | "900" | "condensed" | 300 | "light" | "regular" | 100 | 200 | 400 | 600 | 700 | 800 | 900 | "ultralight" | "thin" | "medium" | "semibold" | "condensedBold" | "heavy" | undefined;
84
84
  };
85
85
  readonly 'xs/code': {
86
86
  readonly fontSize: 12;
87
87
  readonly lineHeight: 18;
88
88
  readonly letterSpacing: 0.3;
89
89
  readonly fontFamily?: string | undefined;
90
- readonly fontWeight?: 500 | "bold" | "normal" | "100" | "black" | "light" | "regular" | "200" | "300" | "400" | "500" | "600" | "700" | "800" | "900" | 100 | 200 | 300 | 400 | 600 | 700 | 800 | 900 | "ultralight" | "thin" | "medium" | "semibold" | "condensedBold" | "condensed" | "heavy" | undefined;
90
+ readonly fontWeight?: 500 | "bold" | "normal" | "100" | "black" | "200" | "300" | "400" | "500" | "600" | "700" | "800" | "900" | "condensed" | 300 | "light" | "regular" | 100 | 200 | 400 | 600 | 700 | 800 | 900 | "ultralight" | "thin" | "medium" | "semibold" | "condensedBold" | "heavy" | undefined;
91
91
  };
92
92
  };
93
93
  export type TypographyProps = BaseTextProps & {
@@ -1,4 +1,4 @@
1
- import { CreateProofRequest, HistoryErrorMetadata, PresentationSubmitCredentialRequest, ProofListQuery, ProofState, ProposeProofRequest, ShareProofRequest } from '@procivis/react-native-one-core';
1
+ import { CreateProofRequest, HistoryErrorMetadata, PresentationSubmitV2CredentialRequest, ProofListQuery, ProofState, ProposeProofRequest, ShareProofRequest } from '@procivis/react-native-one-core';
2
2
  import { Transport } from '../connectivity/connectivity';
3
3
  export declare const PROOF_DETAIL_QUERY_KEY = "proof-detail";
4
4
  export declare const PROOF_STATE_QUERY_KEY = "proof-state";
@@ -15,7 +15,7 @@ type ProofUrlHookParams = {
15
15
  };
16
16
  export declare const useProofUrl: () => import("react-query").UseMutationResult<string, unknown, ProofUrlHookParams, unknown>;
17
17
  export declare const useProofAccept: () => import("react-query").UseMutationResult<void, unknown, {
18
- credentials: Record<string, PresentationSubmitCredentialRequest[]>;
18
+ credentials: Record<string, PresentationSubmitV2CredentialRequest[]>;
19
19
  interactionId: string;
20
20
  }, unknown>;
21
21
  export declare const useProofReject: () => import("react-query").UseMutationResult<void, unknown, string, unknown>;
@@ -0,0 +1,2 @@
1
+ export declare const TRANSACTION_DATA_QUERY_KEY = "proof-detail";
2
+ export declare const useTransactionData: (proofId: string | undefined, transactionDataId: string | undefined) => import("react-query").UseQueryResult<import("@procivis/react-native-one-core").ProofTransactionData | undefined, unknown>;
@@ -1,7 +1,15 @@
1
- import { CoreConfig, CredentialQueryFailureHint, PresentationDefinitionV2Claim, PresentationDefinitionV2Credential } from '@procivis/react-native-one-core';
1
+ import { CoreConfig, CredentialDetail, CredentialQueryFailureHint, PresentationDefinitionV2Claim, PresentationDefinitionV2Credential } from '@procivis/react-native-one-core';
2
2
  import { CredentialAttribute, CredentialCardNotice, CredentialCardProps } from '../../ui-components';
3
3
  import { CredentialDetailsCardPropsWithoutWidth } from '.';
4
- import { ShareCredentialCardLabels } from './credential-sharing';
4
+ import { CardLabels } from './credential';
5
+ export type ShareCredentialCardLabels = CardLabels & {
6
+ selectiveDisclosure: string;
7
+ missingAttribute: string;
8
+ missingCredential: string;
9
+ multipleCredentials: string;
10
+ disclosurePolicyViolation: string;
11
+ };
12
+ export declare const validityCheckedCardFromCredential: (credential: CredentialDetail | PresentationDefinitionV2Credential, expanded: boolean, selectiveDisclosureSupported: boolean | undefined, multipleCredentialsAvailable: boolean, config: CoreConfig, notice: CredentialCardNotice | undefined, testID: string, labels: ShareCredentialCardLabels, language: string | undefined) => Omit<CredentialCardProps, 'onHeaderPress' | 'style' | 'testID' | 'width'>;
5
13
  export declare const shareCredentialCardAttributeFromV2Claim: (claim: PresentationDefinitionV2Claim, selection: string[] | undefined, parentShared: boolean, parentUserSelected: boolean, config: CoreConfig, testID: string, language: string | undefined, nested?: boolean, listValue?: boolean) => CredentialAttribute;
6
14
  export declare const missingCredentialCardFromFailureHint: (failureHint: CredentialQueryFailureHint | undefined, notice: CredentialCardNotice | undefined, testID: string, labels: ShareCredentialCardLabels) => Omit<CredentialCardProps, 'onHeaderPress' | 'style' | 'width'>;
7
15
  export declare const shareCredentialCardFromV2PresentationCredential: (credential: PresentationDefinitionV2Credential | undefined, failureHint: CredentialQueryFailureHint | undefined, expanded: boolean, multipleCredentialsAvailable: boolean, purpose: string | undefined, selectedFields: string[] | undefined, config: CoreConfig, testID: string, labels: ShareCredentialCardLabels, language: string | undefined) => CredentialDetailsCardPropsWithoutWidth;
@@ -1,5 +1,5 @@
1
1
  import { Claim, CoreConfig, CredentialDetail, CredentialListItem, CredentialSchemaListItem, PresentationDefinitionV2Credential } from '@procivis/react-native-one-core';
2
- import { CredentialAttribute, CredentialCardProps, CredentialDetailsCardProps, CredentialHeaderProps } from '../../ui-components/credential';
2
+ import { CredentialAttribute, CredentialCardProps, CredentialDetailsCardProps, CredentialHeaderProps, CredentialLogoProps } from '../../ui-components/credential';
3
3
  import { CredentialCardNotice } from '../../ui-components/credential/card/credential-card';
4
4
  export declare enum ValidityState {
5
5
  Revoked = "revoked",
@@ -9,6 +9,7 @@ export declare enum ValidityState {
9
9
  export declare const getValidityState: (credential: CredentialListItem | undefined) => ValidityState;
10
10
  export declare const supportsSelectiveDisclosure: (credential: CredentialListItem | undefined, config: CoreConfig | undefined) => boolean | undefined;
11
11
  export declare const findClaimByPath: (path: string | undefined, claims: Claim[]) => Claim | undefined;
12
+ export declare const credentialLogoFromCredential: (credential: CredentialDetail, config: CoreConfig, testID: string, language: string | undefined) => Omit<CredentialLogoProps, 'size'>;
12
13
  export declare const hasMsoValidityIssues: (credential: CredentialDetail) => boolean;
13
14
  export type CardHeaderLabels = {
14
15
  validityIssues: string;
@@ -1,6 +1,5 @@
1
1
  export * from './credential';
2
2
  export * from './credential-images';
3
- export * from './credential-sharing';
4
3
  export * from './credential-sharing-v2';
5
4
  export * from './query';
6
5
  export * from './universal-links';
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@procivis/one-react-native-components",
3
- "version": "0.3.142",
3
+ "version": "0.3.147",
4
4
  "author": "Procivis AG (https://procivis.ch)",
5
5
  "license": "Apache-2.0",
6
6
  "description": "Common Procivis ONE UI components for react-native",
@@ -53,8 +53,9 @@
53
53
  "@babel/runtime": "^7.25.0",
54
54
  "@commitlint/config-conventional": "^11.0.0",
55
55
  "@gorhom/bottom-sheet": "^5.1.2",
56
- "@procivis/react-native-one-core": "1.112373.0",
56
+ "@procivis/react-native-one-core": "1.115564.0",
57
57
  "@procivis/react-native-picker": "5.0.3",
58
+ "@quidone/react-native-wheel-picker": "^1.7.0",
58
59
  "@react-native-async-storage/async-storage": "^1.17.3",
59
60
  "@react-native-community/blur": "^4.4.0",
60
61
  "@react-native-community/cli": "15.0.1",
@@ -72,7 +73,7 @@
72
73
  "@react-native/typescript-config": "0.77.1",
73
74
  "@react-navigation/native": "^6.0.6",
74
75
  "@release-it/conventional-changelog": "^2.0.0",
75
- "@sentry/react-native": "^5.24.1",
76
+ "@sentry/react-native": "^7.8.0",
76
77
  "@storybook/addon-actions": "^8.6.7",
77
78
  "@storybook/addon-controls": "^8.6.7",
78
79
  "@storybook/addon-designs": "^8.2.1",
@@ -142,8 +143,9 @@
142
143
  "vite": "^6.4.2"
143
144
  },
144
145
  "peerDependencies": {
145
- "@procivis/react-native-one-core": "^1.112373.0",
146
+ "@procivis/react-native-one-core": "^1.115439.0",
146
147
  "@procivis/react-native-picker": "*",
148
+ "@quidone/react-native-wheel-picker": "^1.7.0",
147
149
  "@react-native-community/blur": "*",
148
150
  "@react-native-community/netinfo": "^11.4.1",
149
151
  "@react-native/normalize-color": "*",
@@ -292,6 +294,7 @@
292
294
  "packageManager": "pnpm@10.5.2",
293
295
  "pnpm": {
294
296
  "patchedDependencies": {
297
+ "react-native": "patches/react-native.patch",
295
298
  "react-native-web": "patches/react-native-web.patch"
296
299
  }
297
300
  }
@@ -1,4 +1,3 @@
1
1
  export * from './select-share-credential-card-notice';
2
2
  export * from './share-credential-card-notice';
3
- export * from './v1';
4
3
  export * from './v2';
@@ -18,8 +18,7 @@ import {
18
18
  UpIcon,
19
19
  } from '../../../ui-components';
20
20
  import CredentialGroupHeader from '../../../ui-components/credential/group/credential-group-header';
21
- import { concatTestID, useCredentialListExpandedCard } from '../../../utils';
22
- import { ShareCredentialLabels } from '../v1/share-credential';
21
+ import { concatTestID, ShareCredentialCardLabels, useCredentialListExpandedCard } from '../../../utils';
23
22
  import { GroupedShareCredentialV2Padding, ShareCredentialV2 } from './share-credential-v2';
24
23
 
25
24
  export type CredentialQuerySelection = Record<
@@ -27,6 +26,14 @@ export type CredentialQuerySelection = Record<
27
26
  PresentationSubmitV2CredentialRequest | PresentationSubmitV2CredentialRequest[]
28
27
  >;
29
28
 
29
+ export type ShareCredentialLabels = ShareCredentialCardLabels & {
30
+ invalidCredentialNotice: string;
31
+ multipleCredentialsNotice: string;
32
+ multipleCredentialsSelect: string;
33
+ revokedCredentialNotice: string;
34
+ suspendedCredentialNotice: string;
35
+ };
36
+
30
37
  export type ShareCredentialGroupLabels = ShareCredentialLabels & {
31
38
  groupHeader: string;
32
39
  };
@@ -131,15 +138,18 @@ export const ShareCredentialV2Group: FC<ShareCredentialV2GroupProps> = ({
131
138
  ? {
132
139
  credentialId: credentialQuery.applicableCredentials[0].id,
133
140
  userSelections: [],
141
+ transactionDataIds: [],
134
142
  }
135
143
  : {
136
144
  credentialId: '',
137
145
  userSelections: [],
146
+ transactionDataIds: [],
138
147
  };
139
148
  } else {
140
149
  defaultSelection = {
141
150
  credentialId: '',
142
151
  userSelections: [],
152
+ transactionDataIds: [],
143
153
  };
144
154
  }
145
155
  const request = selectedCredentials[credentialRequestId];
@@ -12,7 +12,7 @@ import { concatTestID, getValidityState, useCoreConfig, ValidityState } from '..
12
12
  import { shareCredentialCardFromV2PresentationCredential } from '../../../utils/parsers/credential-sharing-v2';
13
13
  import { SelectShareCredentialCardNotice } from '../select-share-credential-card-notice';
14
14
  import { ShareCredentialCardNotice } from '../share-credential-card-notice';
15
- import { ShareCredentialLabels } from '../v1';
15
+ import { ShareCredentialLabels } from './share-credential-v2-group';
16
16
 
17
17
  export type ShareCredentialV2Props = {
18
18
  credentialQuery: ApplicableCredentialOrFailureHint;
@@ -3,9 +3,10 @@ import { AccessibilityProps, ColorValue, StyleProp, StyleSheet, View, ViewStyle
3
3
 
4
4
  import { concatTestID } from '../../../utils/testID';
5
5
  import BlurView from '../../blur/blur-view';
6
- import ImageOrComponent, { ImageOrComponentSource } from '../../image/image-or-component';
6
+ import { ImageOrComponentSource } from '../../image/image-or-component';
7
7
  import Typography, { TypographyProps } from '../../text/typography';
8
8
  import { useAppColorScheme } from '../../theme/color-scheme-context';
9
+ import CredentialLogo from './credential-logo';
9
10
 
10
11
  export interface CredentialHeaderProps extends AccessibilityProps {
11
12
  accessory?: React.ComponentType<any> | React.ReactElement;
@@ -104,23 +105,13 @@ const CredentialHeader: FC<CredentialHeaderProps> = ({
104
105
  return (
105
106
  <View style={[styles.container, { backgroundColor: blur ? undefined : colorScheme.white }, style]} testID={testID}>
106
107
  {blur && <BlurView blurStyle="strong" style={StyleSheet.absoluteFill} />}
107
- <View style={[styles.imageContainer, { backgroundColor: color }]}>
108
- {icon ? (
109
- <ImageOrComponent testID={concatTestID(testID, 'logoIcon')} source={icon} style={styles.image} />
110
- ) : (
111
- <View testID={concatTestID(testID, 'logoBackgroundColor', String(color))}>
112
- <View testID={concatTestID(testID, 'logoTextColor', String(iconLabelColor))}>
113
- <Typography
114
- testID={concatTestID(testID, 'logoName')}
115
- color={iconLabelColor}
116
- preset="m"
117
- style={styles.imagePlaceholder}>
118
- {credentialName.substring(0, 1)}
119
- </Typography>
120
- </View>
121
- </View>
122
- )}
123
- </View>
108
+ <CredentialLogo
109
+ color={color}
110
+ icon={icon}
111
+ iconLabelColor={iconLabelColor}
112
+ credentialName={credentialName}
113
+ testID={concatTestID(testID, 'logo')}
114
+ />
124
115
  {statusIconView && <View style={styles.statusIconWrapper}>{statusIconView}</View>}
125
116
  <View style={styles.text}>
126
117
  <Typography
@@ -160,25 +151,6 @@ const styles = StyleSheet.create({
160
151
  flexDirection: 'row',
161
152
  marginTop: -1,
162
153
  },
163
- image: {
164
- height: 44,
165
- width: 44,
166
- },
167
- imageContainer: {
168
- alignItems: 'center',
169
- borderRadius: 5,
170
- borderWidth: 0,
171
- height: 44,
172
- justifyContent: 'center',
173
- marginRight: 8,
174
- overflow: 'hidden',
175
- width: 44,
176
- },
177
- imagePlaceholder: {
178
- paddingLeft: 1,
179
- paddingTop: 3,
180
- textTransform: 'uppercase',
181
- },
182
154
  interpunct: {
183
155
  marginHorizontal: 12,
184
156
  opacity: 0.5,
@@ -0,0 +1,45 @@
1
+ import type { Meta, StoryObj } from '@storybook/react';
2
+
3
+ import ColorSchemes from '../../../../storybook/colorScheme';
4
+ import CredentialLogo from './credential-logo';
5
+
6
+ const Basic: StoryObj<typeof CredentialLogo> = {
7
+ args: {
8
+ color: undefined,
9
+ credentialName: 'Credential Name',
10
+ icon: undefined,
11
+ iconLabelColor: undefined,
12
+ size: undefined,
13
+ },
14
+ };
15
+
16
+ export { Basic as CredentialLogo };
17
+
18
+ export default {
19
+ title: 'credential/card/CredentialLogo',
20
+ component: CredentialLogo,
21
+ argTypes: {
22
+ color: {
23
+ options: Object.entries(ColorSchemes.procivis)
24
+ .filter(([_, value]) => typeof value === 'string')
25
+ .map(([key]) => key),
26
+ control: { type: 'select' },
27
+ },
28
+ iconLabelColor: {
29
+ options: Object.entries(ColorSchemes.procivis)
30
+ .filter(([_, value]) => typeof value === 'string')
31
+ .map(([key]) => key),
32
+ control: { type: 'select' },
33
+ },
34
+ size: {
35
+ options: [44, 20],
36
+ control: { type: 'select' },
37
+ },
38
+ },
39
+ parameters: {
40
+ design: {
41
+ type: 'figma',
42
+ url: 'https://www.figma.com/design/52qDYWUMjXAGre1dcnz5bz/Procivis-One-Wallet?node-id=401-1807&t=aYYyzt4OQQZxwjRu-0',
43
+ },
44
+ },
45
+ } as Meta<typeof CredentialLogo>;
@@ -0,0 +1,79 @@
1
+ import React, { FC } from 'react';
2
+ import { ColorValue, StyleSheet, View } from 'react-native';
3
+
4
+ import { concatTestID } from '../../../utils/testID';
5
+ import ImageOrComponent, { ImageOrComponentSource } from '../../image/image-or-component';
6
+ import Typography from '../../text/typography';
7
+
8
+ export enum CredentialLogoSize {
9
+ Regular = 44,
10
+ Small = 20,
11
+ }
12
+
13
+ export type CredentialLogoProps = {
14
+ color?: ColorValue;
15
+ credentialName: string;
16
+ icon?: ImageOrComponentSource;
17
+ iconLabelColor?: ColorValue;
18
+ size?: CredentialLogoSize;
19
+ testID?: string;
20
+ };
21
+
22
+ const CredentialLogo: FC<CredentialLogoProps> = ({
23
+ color = '#5A69F3',
24
+ credentialName,
25
+ icon,
26
+ iconLabelColor = '#FFFFFF',
27
+ size = CredentialLogoSize.Regular,
28
+ testID,
29
+ }) => {
30
+ const sizeStyle = {
31
+ height: size,
32
+ width: size,
33
+ };
34
+ return (
35
+ <View style={[styles.imageContainer, sizeStyle, { backgroundColor: color }]} testID={testID}>
36
+ {icon ? (
37
+ <ImageOrComponent testID={concatTestID(testID, 'icon')} source={icon} style={sizeStyle} />
38
+ ) : (
39
+ <View testID={concatTestID(testID, 'backgroundColor', String(color))}>
40
+ <View testID={concatTestID(testID, 'textColor', String(iconLabelColor))}>
41
+ <Typography
42
+ testID={concatTestID(testID, 'name')}
43
+ color={iconLabelColor}
44
+ preset={size === CredentialLogoSize.Regular ? 'm' : 'xs'}
45
+ style={[
46
+ styles.imagePlaceholder,
47
+ size === CredentialLogoSize.Regular ? styles.imagePlaceholderRegular : styles.imagePlaceholderSmall,
48
+ ]}>
49
+ {credentialName.substring(0, 1)}
50
+ </Typography>
51
+ </View>
52
+ </View>
53
+ )}
54
+ </View>
55
+ );
56
+ };
57
+
58
+ const styles = StyleSheet.create({
59
+ imageContainer: {
60
+ alignItems: 'center',
61
+ borderRadius: 5,
62
+ borderWidth: 0,
63
+ justifyContent: 'center',
64
+ marginRight: 8,
65
+ overflow: 'hidden',
66
+ },
67
+ imagePlaceholder: {
68
+ textTransform: 'uppercase',
69
+ },
70
+ imagePlaceholderRegular: {
71
+ paddingLeft: 1,
72
+ paddingTop: 3,
73
+ },
74
+ imagePlaceholderSmall: {
75
+ paddingTop: 1,
76
+ },
77
+ });
78
+
79
+ export default CredentialLogo;
@@ -1,11 +1,5 @@
1
- import type {
2
- CredentialCardNotice,
3
- CredentialCardProps,
4
- } from './credential-card';
5
- import CredentialCard, {
6
- CredentialCardRatio,
7
- CredentialCardShadow,
8
- } from './credential-card';
1
+ import type { CredentialCardNotice, CredentialCardProps } from './credential-card';
2
+ import CredentialCard, { CredentialCardRatio, CredentialCardShadow } from './credential-card';
9
3
  import type { CredentialDetailsCardProps } from './credential-details-card';
10
4
  import CredentialDetailsCard from './credential-details-card';
11
5
  import type { CredentialDetailsCardListItemProps } from './credential-details-list-item';
@@ -14,9 +8,12 @@ import type { CredentialHeaderProps } from './credential-header';
14
8
  import CredentialHeader from './credential-header';
15
9
  import type { CarouselImage } from './credential-image-carousel';
16
10
  import { CarouselImageType } from './credential-image-carousel';
11
+ import type { CredentialLogoProps, CredentialLogoSize } from './credential-logo';
12
+ import CredentialLogo from './credential-logo';
17
13
 
18
14
  export { CarouselImage, CarouselImageType };
19
15
  export { CredentialCard, CredentialCardNotice, CredentialCardProps, CredentialCardRatio, CredentialCardShadow };
20
16
  export { CredentialDetailsCard, CredentialDetailsCardProps };
21
17
  export { CredentialDetailsCardListItem, CredentialDetailsCardListItemProps };
22
18
  export { CredentialHeader, CredentialHeaderProps };
19
+ export { CredentialLogo, CredentialLogoProps, CredentialLogoSize };