@smileid/web-components 2.0.1 → 2.0.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (61) hide show
  1. package/package.json +58 -58
  2. package/src/components/README.md +14 -14
  3. package/src/components/attribution/PoweredBySmileId.js +42 -42
  4. package/src/components/camera-permission/CameraPermission.js +140 -140
  5. package/src/components/camera-permission/CameraPermission.stories.js +27 -27
  6. package/src/components/combobox/src/Combobox.js +589 -589
  7. package/src/components/combobox/src/index.js +1 -1
  8. package/src/components/document/src/DocumentCaptureScreens.js +409 -409
  9. package/src/components/document/src/DocumentCaptureScreens.stories.js +57 -57
  10. package/src/components/document/src/README.md +111 -111
  11. package/src/components/document/src/document-capture/DocumentCapture.js +760 -760
  12. package/src/components/document/src/document-capture/DocumentCapture.stories.js +78 -78
  13. package/src/components/document/src/document-capture/README.md +90 -90
  14. package/src/components/document/src/document-capture/index.js +3 -3
  15. package/src/components/document/src/document-capture-instructions/DocumentCaptureInstructions.js +499 -499
  16. package/src/components/document/src/document-capture-instructions/DocumentCaptureInstructions.stories.js +24 -24
  17. package/src/components/document/src/document-capture-instructions/README.md +56 -56
  18. package/src/components/document/src/document-capture-instructions/index.js +3 -3
  19. package/src/components/document/src/document-capture-review/DocumentCaptureReview.js +362 -362
  20. package/src/components/document/src/document-capture-review/DocumentCaptureReview.stories.js +24 -24
  21. package/src/components/document/src/document-capture-review/README.md +79 -79
  22. package/src/components/document/src/document-capture-review/index.js +3 -3
  23. package/src/components/document/src/index.js +3 -3
  24. package/src/components/end-user-consent/src/EndUserConsent.js +795 -795
  25. package/src/components/end-user-consent/src/EndUserConsent.stories.js +29 -29
  26. package/src/components/end-user-consent/src/index.js +4 -4
  27. package/src/components/navigation/src/Navigation.js +171 -171
  28. package/src/components/navigation/src/Navigation.stories.js +24 -24
  29. package/src/components/navigation/src/index.js +3 -3
  30. package/src/components/selfie/README.md +225 -225
  31. package/src/components/selfie/src/SelfieCaptureScreens.js +282 -282
  32. package/src/components/selfie/src/SelfieCaptureScreens.stories.js +29 -29
  33. package/src/components/selfie/src/index.js +5 -5
  34. package/src/components/selfie/src/selfie-capture/SelfieCapture.js +1041 -1010
  35. package/src/components/selfie/src/selfie-capture/SelfieCapture.stories.js +36 -36
  36. package/src/components/selfie/src/selfie-capture/index.js +3 -3
  37. package/src/components/selfie/src/selfie-capture-instructions/SelfieCaptureInstructions.js +657 -648
  38. package/src/components/selfie/src/selfie-capture-instructions/SelfieCaptureInstructions.stories.js +23 -23
  39. package/src/components/selfie/src/selfie-capture-instructions/index.js +3 -3
  40. package/src/components/selfie/src/selfie-capture-review/SelfieCaptureReview.js +347 -347
  41. package/src/components/selfie/src/selfie-capture-review/SelfieCaptureReview.stories.js +24 -24
  42. package/src/components/selfie/src/selfie-capture-review/index.js +3 -3
  43. package/src/components/signature-pad/package-lock.json +3009 -3009
  44. package/src/components/signature-pad/package.json +30 -30
  45. package/src/components/signature-pad/src/SignaturePad.js +484 -484
  46. package/src/components/signature-pad/src/SignaturePad.stories.js +32 -32
  47. package/src/components/signature-pad/src/index.js +3 -3
  48. package/src/components/smart-camera-web/src/README.md +207 -207
  49. package/src/components/smart-camera-web/src/SmartCameraWeb.js +299 -299
  50. package/src/components/smart-camera-web/src/SmartCameraWeb.stories.js +57 -57
  51. package/src/components/totp-consent/src/TotpConsent.js +949 -949
  52. package/src/components/totp-consent/src/index.js +4 -4
  53. package/src/domain/camera/src/README.md +38 -38
  54. package/src/domain/camera/src/SmartCamera.js +109 -109
  55. package/src/domain/constants/src/Constants.js +27 -27
  56. package/src/domain/file-upload/README.md +35 -35
  57. package/src/domain/file-upload/src/SmartFileUpload.js +65 -65
  58. package/src/index.js +5 -5
  59. package/src/styles/README.md +3 -3
  60. package/src/styles/src/styles.js +359 -359
  61. package/src/styles/src/typography.js +52 -52
@@ -1,359 +1,359 @@
1
- import typography from './typography';
2
-
3
- const styles = (
4
- themeColor,
5
- ) => `<link rel="preconnect" href="https://fonts.gstatic.com" />
6
- <link
7
- href="https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&display=swap"
8
- rel="stylesheet"
9
- as="style"
10
- />
11
- <style>
12
- ${typography}
13
- :host {
14
- --theme-color: ${themeColor || '#001096'};
15
- --color-active: #001096;
16
- --color-default: #2d2b2a;
17
- --color-disabled: #848282;
18
- --web-digital-blue: #001096;
19
- }
20
-
21
- * {
22
- font-family: "DM Sans", sans-serif;
23
- }
24
-
25
- [hidden] {
26
- display: none !important;
27
- }
28
-
29
- [disabled] {
30
- cursor: not-allowed !important;
31
- filter: grayscale(75%);
32
- }
33
-
34
- .visually-hidden {
35
- border: 0;
36
- clip: rect(1px 1px 1px 1px);
37
- clip: rect(1px, 1px, 1px, 1px);
38
- height: auto;
39
- margin: 0;
40
- overflow: hidden;
41
- padding: 0;
42
- position: absolute;
43
- white-space: nowrap;
44
- width: 1px;
45
- }
46
-
47
- img {
48
- height: auto;
49
- max-width: 100%;
50
- }
51
-
52
- video {
53
- background-color: black;
54
- }
55
-
56
- a {
57
- color: currentColor;
58
- text-decoration: none;
59
- }
60
-
61
- svg {
62
- max-width: 100%;
63
- }
64
-
65
- .color-gray {
66
- color: #797979;
67
- }
68
-
69
- .color-red {
70
- color: red;
71
- }
72
-
73
- .color-richblue {
74
- color: #4e6577;
75
- }
76
-
77
- .color-richblue-shade {
78
- color: #0e1b42;
79
- }
80
-
81
- .color-digital-blue {
82
- color: var(--web-digital-blue) !important;
83
- }
84
-
85
- .color-deep-blue {
86
- color: #001096;
87
- }
88
-
89
- .title-color {
90
- color: ${themeColor || '#001096'};
91
- }
92
-
93
- .theme-color {
94
- color: ${themeColor || '#001096'};
95
- }
96
-
97
- .center {
98
- text-align: center;
99
- margin-left: auto;
100
- margin-right: auto;
101
- }
102
-
103
- .font-size-small {
104
- font-size: 0.75rem;
105
- }
106
-
107
- .font-size-large {
108
- font-size: 1.5rem;
109
- }
110
-
111
- .text-transform-uppercase {
112
- text-transform: uppercase;
113
- }
114
-
115
- [id*=-"screen"] {
116
- min-block-size: 100%;
117
- }
118
-
119
- [data-variant~="full-width"] {
120
- inline-size: 100%;
121
- }
122
-
123
- .flow > * + * {
124
- margin-top: var(--flow-space, 1rem);
125
- }
126
-
127
- .button {
128
- --button-color: ${themeColor || 'var(--active-color)'};
129
- -webkit-appearance: none;
130
- appearance: none;
131
- border-radius: 2.5rem;
132
- border: 0;
133
- background-color: transparent;
134
- color: #fff;
135
- cursor: pointer;
136
- display: block;
137
- font-size: 18px;
138
- font-weight: 600;
139
- padding: 0.75rem 1.5rem;
140
- text-align: center;
141
- }
142
-
143
- .button:hover,
144
- .button:focus,
145
- .button:active {
146
- --button-color: var(--color-default);
147
- }
148
-
149
- .button:disabled {
150
- --button-color: var(--color-disabled);
151
- }
152
-
153
- .button[data-variant~="solid"] {
154
- background-color: var(--button-color);
155
- border: 2px solid var(--button-color);
156
- }
157
-
158
- .button[data-variant~="outline"] {
159
- color: var(--button-color);
160
- border: 2px solid var(--button-color);
161
- }
162
-
163
- .button[data-variant~="ghost"] {
164
- padding: 0px;
165
- color: var(--button-color);
166
- background-color: transparent;
167
- }
168
-
169
- .icon-btn {
170
- appearance: none;
171
- background: none;
172
- border: none;
173
- color: hsl(0deg 0% 94%);
174
- cursor: pointer;
175
- display: flex;
176
- align-items: center;
177
- justify-content: center;
178
- padding: 4px 8px;
179
- }
180
- .justify-right {
181
- justify-content: end !important;
182
- }
183
- .nav {
184
- display: flex;
185
- justify-content: space-between;
186
- }
187
-
188
- .back-wrapper {
189
- display: flex;
190
- align-items: center;
191
- }
192
-
193
- .back-button-text {
194
- font-size: 11px;
195
- line-height: 11px;
196
- color: rgb(21, 31, 114);
197
- }
198
-
199
-
200
- .selfie-capture-review-image {
201
- overflow: hidden;
202
- aspect-ratio: 1/1;
203
- }
204
-
205
- #review-image {
206
- scale: 1.75;
207
- }
208
-
209
- @media (max-aspect-ratio: 1/1) {
210
- #review-image {
211
- transform: scaleX(-1) translateY(-10%);
212
- }
213
- }
214
-
215
- .tips,
216
- .powered-by {
217
- align-items: center;
218
- border-radius: 0.25rem;
219
- color: #4e6577;
220
- display: flex;
221
- justify-content: center;
222
- letter-spacing: 0.075em;
223
- }
224
-
225
- .powered-by {
226
- box-shadow: 0px 2.57415px 2.57415px rgba(0, 0, 0, 0.06);
227
- display: inline-flex;
228
- font-size: 0.5rem;
229
- }
230
-
231
- .tips {
232
- margin-left: auto;
233
- margin-right: auto;
234
- max-width: 17rem;
235
- }
236
-
237
- .tips > * + *,
238
- .powered-by > * + * {
239
- display: inline-block;
240
- margin-left: 0.5em;
241
- }
242
-
243
- .powered-by .company {
244
- color: #18406d;
245
- font-weight: 700;
246
- letter-spacing: 0.15rem;
247
- }
248
-
249
- .logo-mark {
250
- background-color: #004071;
251
- display: inline-block;
252
- padding: 0.25em 0.5em;
253
- }
254
-
255
- .logo-mark svg {
256
- height: auto;
257
- justify-self: center;
258
- width: 0.75em;
259
- }
260
-
261
- #document-capture-instructions-screen,
262
- #back-of-document-capture-instructions-screen {
263
- padding-block: 2rem;
264
- display: flex;
265
- flex-direction: column;
266
- max-block-size: 100%;
267
- max-inline-size: 40ch;
268
- justify-content: space-between;
269
- }
270
-
271
- #document-capture-instructions-screen header p {
272
- margin-block: 0 !important;
273
- }
274
-
275
- .description {
276
- color: var(--neutral-off-black, #2D2B2A);
277
- text-align: center;
278
-
279
- /* p */
280
- font-family: DM Sans;
281
- font-size: 0.875rem;
282
- font-style: normal;
283
- font-weight: 400;
284
- line-height: 18px;
285
- }
286
-
287
- .padding-bottom-2 {
288
- padding-bottom: 2rem;
289
- }
290
-
291
- .instructions-wrapper {
292
- display: inline-flex;
293
- flex-direction: column;
294
- gap: 1.5rem;
295
- margin-block-start: 2rem;
296
- margin-block-end: 2rem;
297
- }
298
- .instructions {
299
- display: flex;
300
- align-items: center;
301
- text-align: initial;
302
- }
303
-
304
- .instructions svg {
305
- flex-shrink: 0;
306
- margin-inline-end: 2rem;
307
- }
308
-
309
- .instructions p {
310
- margin-block: 0;
311
- }
312
-
313
- .instruction {
314
- display: flex;
315
- flex-direction: column;
316
- gap: 0.5rem;
317
- }
318
-
319
- .instruction-body {
320
- font-size: 0.75rem;
321
- }
322
-
323
- .instruction-header {
324
- color: ${themeColor};
325
- }
326
-
327
- .flex-column {
328
- display: flex;
329
- flex-direction: column;
330
- }
331
-
332
- @keyframes spin {
333
- 0% {
334
- transform: translate3d(-50%, -50%, 0) rotate(0deg);
335
- }
336
- 100% {
337
- transform: translate3d(-50%, -50%, 0) rotate(360deg);
338
- }
339
- }
340
-
341
- .spinner {
342
- animation: 1.5s linear infinite spin;
343
- animation-play-state: inherit;
344
- border: solid 5px #cfd0d1;
345
- border-bottom-color: var(--color-active);
346
- border-radius: 50%;
347
- content: "";
348
- display: block;
349
- height: 25px;
350
- width: 25px;
351
- will-change: transform;
352
- position: relative;
353
- top: .675rem;
354
- left: 1.25rem;
355
- }
356
-
357
- </style>`;
358
-
359
- export default styles;
1
+ import typography from './typography';
2
+
3
+ const styles = (
4
+ themeColor,
5
+ ) => `<link rel="preconnect" href="https://fonts.gstatic.com" />
6
+ <link
7
+ href="https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&display=swap"
8
+ rel="stylesheet"
9
+ as="style"
10
+ />
11
+ <style>
12
+ ${typography}
13
+ :host {
14
+ --theme-color: ${themeColor || '#001096'};
15
+ --color-active: #001096;
16
+ --color-default: #2d2b2a;
17
+ --color-disabled: #848282;
18
+ --web-digital-blue: #001096;
19
+ }
20
+
21
+ * {
22
+ font-family: "DM Sans", sans-serif;
23
+ }
24
+
25
+ [hidden] {
26
+ display: none !important;
27
+ }
28
+
29
+ [disabled] {
30
+ cursor: not-allowed !important;
31
+ filter: grayscale(75%);
32
+ }
33
+
34
+ .visually-hidden {
35
+ border: 0;
36
+ clip: rect(1px 1px 1px 1px);
37
+ clip: rect(1px, 1px, 1px, 1px);
38
+ height: auto;
39
+ margin: 0;
40
+ overflow: hidden;
41
+ padding: 0;
42
+ position: absolute;
43
+ white-space: nowrap;
44
+ width: 1px;
45
+ }
46
+
47
+ img {
48
+ height: auto;
49
+ max-width: 100%;
50
+ }
51
+
52
+ video {
53
+ background-color: black;
54
+ }
55
+
56
+ a {
57
+ color: currentColor;
58
+ text-decoration: none;
59
+ }
60
+
61
+ svg {
62
+ max-width: 100%;
63
+ }
64
+
65
+ .color-gray {
66
+ color: #797979;
67
+ }
68
+
69
+ .color-red {
70
+ color: red;
71
+ }
72
+
73
+ .color-richblue {
74
+ color: #4e6577;
75
+ }
76
+
77
+ .color-richblue-shade {
78
+ color: #0e1b42;
79
+ }
80
+
81
+ .color-digital-blue {
82
+ color: var(--web-digital-blue) !important;
83
+ }
84
+
85
+ .color-deep-blue {
86
+ color: #001096;
87
+ }
88
+
89
+ .title-color {
90
+ color: ${themeColor || '#001096'};
91
+ }
92
+
93
+ .theme-color {
94
+ color: ${themeColor || '#001096'};
95
+ }
96
+
97
+ .center {
98
+ text-align: center;
99
+ margin-left: auto;
100
+ margin-right: auto;
101
+ }
102
+
103
+ .font-size-small {
104
+ font-size: 0.75rem;
105
+ }
106
+
107
+ .font-size-large {
108
+ font-size: 1.5rem;
109
+ }
110
+
111
+ .text-transform-uppercase {
112
+ text-transform: uppercase;
113
+ }
114
+
115
+ [id*=-"screen"] {
116
+ min-block-size: 100%;
117
+ }
118
+
119
+ [data-variant~="full-width"] {
120
+ inline-size: 100%;
121
+ }
122
+
123
+ .flow > * + * {
124
+ margin-top: var(--flow-space, 1rem);
125
+ }
126
+
127
+ .button {
128
+ --button-color: ${themeColor || 'var(--active-color)'};
129
+ -webkit-appearance: none;
130
+ appearance: none;
131
+ border-radius: 2.5rem;
132
+ border: 0;
133
+ background-color: transparent;
134
+ color: #fff;
135
+ cursor: pointer;
136
+ display: block;
137
+ font-size: 18px;
138
+ font-weight: 600;
139
+ padding: 0.75rem 1.5rem;
140
+ text-align: center;
141
+ }
142
+
143
+ .button:hover,
144
+ .button:focus,
145
+ .button:active {
146
+ --button-color: var(--color-default);
147
+ }
148
+
149
+ .button:disabled {
150
+ --button-color: var(--color-disabled);
151
+ }
152
+
153
+ .button[data-variant~="solid"] {
154
+ background-color: var(--button-color);
155
+ border: 2px solid var(--button-color);
156
+ }
157
+
158
+ .button[data-variant~="outline"] {
159
+ color: var(--button-color);
160
+ border: 2px solid var(--button-color);
161
+ }
162
+
163
+ .button[data-variant~="ghost"] {
164
+ padding: 0px;
165
+ color: var(--button-color);
166
+ background-color: transparent;
167
+ }
168
+
169
+ .icon-btn {
170
+ appearance: none;
171
+ background: none;
172
+ border: none;
173
+ color: hsl(0deg 0% 94%);
174
+ cursor: pointer;
175
+ display: flex;
176
+ align-items: center;
177
+ justify-content: center;
178
+ padding: 4px 8px;
179
+ }
180
+ .justify-right {
181
+ justify-content: end !important;
182
+ }
183
+ .nav {
184
+ display: flex;
185
+ justify-content: space-between;
186
+ }
187
+
188
+ .back-wrapper {
189
+ display: flex;
190
+ align-items: center;
191
+ }
192
+
193
+ .back-button-text {
194
+ font-size: 11px;
195
+ line-height: 11px;
196
+ color: rgb(21, 31, 114);
197
+ }
198
+
199
+
200
+ .selfie-capture-review-image {
201
+ overflow: hidden;
202
+ aspect-ratio: 1/1;
203
+ }
204
+
205
+ #review-image {
206
+ scale: 1.75;
207
+ }
208
+
209
+ @media (max-aspect-ratio: 1/1) {
210
+ #review-image {
211
+ transform: scaleX(-1) translateY(-10%);
212
+ }
213
+ }
214
+
215
+ .tips,
216
+ .powered-by {
217
+ align-items: center;
218
+ border-radius: 0.25rem;
219
+ color: #4e6577;
220
+ display: flex;
221
+ justify-content: center;
222
+ letter-spacing: 0.075em;
223
+ }
224
+
225
+ .powered-by {
226
+ box-shadow: 0px 2.57415px 2.57415px rgba(0, 0, 0, 0.06);
227
+ display: inline-flex;
228
+ font-size: 0.5rem;
229
+ }
230
+
231
+ .tips {
232
+ margin-left: auto;
233
+ margin-right: auto;
234
+ max-width: 17rem;
235
+ }
236
+
237
+ .tips > * + *,
238
+ .powered-by > * + * {
239
+ display: inline-block;
240
+ margin-left: 0.5em;
241
+ }
242
+
243
+ .powered-by .company {
244
+ color: #18406d;
245
+ font-weight: 700;
246
+ letter-spacing: 0.15rem;
247
+ }
248
+
249
+ .logo-mark {
250
+ background-color: #004071;
251
+ display: inline-block;
252
+ padding: 0.25em 0.5em;
253
+ }
254
+
255
+ .logo-mark svg {
256
+ height: auto;
257
+ justify-self: center;
258
+ width: 0.75em;
259
+ }
260
+
261
+ #document-capture-instructions-screen,
262
+ #back-of-document-capture-instructions-screen {
263
+ padding-block: 2rem;
264
+ display: flex;
265
+ flex-direction: column;
266
+ max-block-size: 100%;
267
+ max-inline-size: 40ch;
268
+ justify-content: space-between;
269
+ }
270
+
271
+ #document-capture-instructions-screen header p {
272
+ margin-block: 0 !important;
273
+ }
274
+
275
+ .description {
276
+ color: var(--neutral-off-black, #2D2B2A);
277
+ text-align: center;
278
+
279
+ /* p */
280
+ font-family: DM Sans;
281
+ font-size: 0.875rem;
282
+ font-style: normal;
283
+ font-weight: 400;
284
+ line-height: 18px;
285
+ }
286
+
287
+ .padding-bottom-2 {
288
+ padding-bottom: 2rem;
289
+ }
290
+
291
+ .instructions-wrapper {
292
+ display: inline-flex;
293
+ flex-direction: column;
294
+ gap: 1.5rem;
295
+ margin-block-start: 2rem;
296
+ margin-block-end: 2rem;
297
+ }
298
+ .instructions {
299
+ display: flex;
300
+ align-items: center;
301
+ text-align: initial;
302
+ }
303
+
304
+ .instructions svg {
305
+ flex-shrink: 0;
306
+ margin-inline-end: 2rem;
307
+ }
308
+
309
+ .instructions p {
310
+ margin-block: 0;
311
+ }
312
+
313
+ .instruction {
314
+ display: flex;
315
+ flex-direction: column;
316
+ gap: 0.5rem;
317
+ }
318
+
319
+ .instruction-body {
320
+ font-size: 0.75rem;
321
+ }
322
+
323
+ .instruction-header {
324
+ color: ${themeColor};
325
+ }
326
+
327
+ .flex-column {
328
+ display: flex;
329
+ flex-direction: column;
330
+ }
331
+
332
+ @keyframes spin {
333
+ 0% {
334
+ transform: translate3d(-50%, -50%, 0) rotate(0deg);
335
+ }
336
+ 100% {
337
+ transform: translate3d(-50%, -50%, 0) rotate(360deg);
338
+ }
339
+ }
340
+
341
+ .spinner {
342
+ animation: 1.5s linear infinite spin;
343
+ animation-play-state: inherit;
344
+ border: solid 5px #cfd0d1;
345
+ border-bottom-color: var(--color-active);
346
+ border-radius: 50%;
347
+ content: "";
348
+ display: block;
349
+ height: 25px;
350
+ width: 25px;
351
+ will-change: transform;
352
+ position: relative;
353
+ top: .675rem;
354
+ left: 1.25rem;
355
+ }
356
+
357
+ </style>`;
358
+
359
+ export default styles;