@alfalab/core-components-confirmation 12.1.4 → 12.2.1
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.
- package/component-8a46eb16.d.ts +35 -0
- package/{component.js → component-8a46eb16.js} +11 -18
- package/component.desktop.d.ts +5 -0
- package/component.desktop.js +31 -0
- package/component.mobile.d.ts +5 -0
- package/component.mobile.js +38 -0
- package/component.responsive.d.ts +6 -0
- package/component.responsive.js +39 -0
- package/components/base-confirmation/component.d.ts +0 -0
- package/components/base-confirmation/component.js +27 -0
- package/components/base-confirmation/index.css +24 -0
- package/components/base-confirmation/index.d.ts +1 -0
- package/components/base-confirmation/index.js +27 -0
- package/components/countdown-loader/component.js +1 -1
- package/components/countdown-loader/index.css +2 -11
- package/components/header/component.d.ts +13 -0
- package/components/header/component.js +23 -0
- package/components/header/index.css +51 -0
- package/components/header/index.d.ts +1 -0
- package/components/header/index.js +12 -0
- package/components/index.js +4 -2
- package/components/screens/fatal-error/component.d.ts +9 -3
- package/components/screens/fatal-error/component.js +13 -7
- package/components/screens/fatal-error/index.css +17 -29
- package/components/screens/fatal-error/index.js +3 -0
- package/components/screens/hint/component.d.ts +9 -3
- package/components/screens/hint/component.js +17 -17
- package/components/screens/hint/index.css +25 -48
- package/components/screens/hint/index.js +2 -0
- package/components/screens/index.js +4 -2
- package/components/screens/initial/component.d.ts +9 -3
- package/components/screens/initial/component.js +14 -11
- package/components/screens/initial/countdown-section.js +3 -2
- package/components/screens/initial/index.css +48 -45
- package/components/screens/initial/index.js +4 -2
- package/components/screens/temp-block/component.d.ts +9 -3
- package/components/screens/temp-block/component.js +13 -7
- package/components/screens/temp-block/index.css +12 -30
- package/components/screens/temp-block/index.js +3 -0
- package/{esm/countdown-section-694d1c59.d.ts → countdown-section-d2ec5a14.d.ts} +1 -0
- package/countdown-section-d2ec5a14.js +56 -0
- package/cssm/component-5c5b24ae.d.ts +35 -0
- package/cssm/{component.js → component-5c5b24ae.js} +10 -22
- package/cssm/component.desktop.d.ts +5 -0
- package/cssm/component.desktop.js +38 -0
- package/cssm/component.mobile.d.ts +5 -0
- package/cssm/component.mobile.js +44 -0
- package/cssm/component.responsive.d.ts +6 -0
- package/cssm/component.responsive.js +47 -0
- package/cssm/components/base-confirmation/component.d.ts +0 -0
- package/cssm/components/base-confirmation/component.js +34 -0
- package/cssm/components/base-confirmation/index.d.ts +1 -0
- package/cssm/components/base-confirmation/index.js +34 -0
- package/cssm/components/base-confirmation/index.module.css +23 -0
- package/cssm/components/countdown-loader/index.module.css +0 -9
- package/cssm/components/header/component.d.ts +13 -0
- package/cssm/components/header/component.js +22 -0
- package/cssm/components/header/index.d.ts +1 -0
- package/cssm/components/header/index.js +13 -0
- package/cssm/components/header/index.module.css +50 -0
- package/cssm/components/index.js +5 -2
- package/cssm/components/screens/fatal-error/component.d.ts +9 -3
- package/cssm/components/screens/fatal-error/component.js +13 -6
- package/cssm/components/screens/fatal-error/index.js +4 -0
- package/cssm/components/screens/fatal-error/index.module.css +16 -28
- package/cssm/components/screens/hint/component.d.ts +9 -3
- package/cssm/components/screens/hint/component.js +17 -16
- package/cssm/components/screens/hint/index.js +3 -0
- package/cssm/components/screens/hint/index.module.css +17 -40
- package/cssm/components/screens/index.js +5 -2
- package/cssm/components/screens/initial/component.d.ts +9 -3
- package/cssm/components/screens/initial/component.js +15 -11
- package/cssm/components/screens/initial/countdown-section.d.ts +1 -0
- package/cssm/components/screens/initial/countdown-section.js +25 -10
- package/cssm/components/screens/initial/index.js +5 -2
- package/cssm/components/screens/initial/index.module.css +37 -34
- package/cssm/components/screens/temp-block/component.d.ts +9 -3
- package/cssm/components/screens/temp-block/component.js +13 -6
- package/cssm/components/screens/temp-block/index.js +4 -0
- package/cssm/components/screens/temp-block/index.module.css +9 -27
- package/cssm/desktop.d.ts +1 -0
- package/cssm/desktop.js +35 -0
- package/cssm/index.d.ts +2 -1
- package/cssm/index.js +13 -5
- package/cssm/mobile.d.ts +1 -0
- package/cssm/mobile.js +36 -0
- package/cssm/mobile.module.css +3 -0
- package/cssm/responsive.d.ts +1 -0
- package/cssm/responsive.js +38 -0
- package/cssm/types.d.ts +4 -0
- package/cssm/vars.css +4 -4
- package/desktop.d.ts +1 -0
- package/desktop.js +28 -0
- package/esm/component-417f2884.d.ts +35 -0
- package/esm/{component.js → component-417f2884.js} +6 -12
- package/esm/component.desktop.d.ts +5 -0
- package/esm/component.desktop.js +23 -0
- package/esm/component.mobile.d.ts +5 -0
- package/esm/component.mobile.js +29 -0
- package/esm/component.responsive.d.ts +6 -0
- package/esm/component.responsive.js +31 -0
- package/esm/components/base-confirmation/component.d.ts +0 -0
- package/esm/components/base-confirmation/component.js +19 -0
- package/esm/components/base-confirmation/index.css +24 -0
- package/esm/components/base-confirmation/index.d.ts +1 -0
- package/esm/components/base-confirmation/index.js +19 -0
- package/esm/components/countdown-loader/component.js +1 -1
- package/esm/components/countdown-loader/index.css +2 -11
- package/esm/components/header/component.d.ts +13 -0
- package/esm/components/header/component.js +14 -0
- package/esm/components/header/index.css +51 -0
- package/esm/components/header/index.d.ts +1 -0
- package/esm/components/header/index.js +4 -0
- package/esm/components/index.js +4 -2
- package/esm/components/screens/fatal-error/component.d.ts +9 -3
- package/esm/components/screens/fatal-error/component.js +13 -8
- package/esm/components/screens/fatal-error/index.css +17 -29
- package/esm/components/screens/fatal-error/index.js +3 -0
- package/esm/components/screens/hint/component.d.ts +9 -3
- package/esm/components/screens/hint/component.js +17 -17
- package/esm/components/screens/hint/index.css +25 -48
- package/esm/components/screens/hint/index.js +2 -0
- package/esm/components/screens/index.js +4 -2
- package/esm/components/screens/initial/component.d.ts +9 -3
- package/esm/components/screens/initial/component.js +14 -11
- package/esm/components/screens/initial/countdown-section.js +3 -2
- package/esm/components/screens/initial/index.css +48 -45
- package/esm/components/screens/initial/index.js +4 -2
- package/esm/components/screens/temp-block/component.d.ts +9 -3
- package/esm/components/screens/temp-block/component.js +12 -7
- package/esm/components/screens/temp-block/index.css +12 -30
- package/esm/components/screens/temp-block/index.js +3 -0
- package/{modern/countdown-section-d8a9a733.d.ts → esm/countdown-section-9777131a.d.ts} +1 -0
- package/esm/countdown-section-9777131a.js +48 -0
- package/esm/desktop.d.ts +1 -0
- package/esm/desktop.js +20 -0
- package/esm/index.d.ts +2 -1
- package/esm/index.js +8 -3
- package/esm/mobile.css +4 -0
- package/esm/mobile.d.ts +1 -0
- package/esm/mobile.js +20 -0
- package/esm/responsive.d.ts +1 -0
- package/esm/responsive.js +22 -0
- package/esm/types.d.ts +4 -0
- package/index.d.ts +2 -1
- package/index.js +10 -4
- package/mobile.css +4 -0
- package/mobile.d.ts +1 -0
- package/mobile.js +28 -0
- package/modern/component.desktop.d.ts +5 -0
- package/modern/component.desktop.js +23 -0
- package/modern/component.mobile.d.ts +5 -0
- package/modern/component.mobile.js +26 -0
- package/modern/component.responsive.d.ts +6 -0
- package/modern/component.responsive.js +31 -0
- package/modern/components/base-confirmation/component.d.ts +4 -0
- package/modern/{component.js → components/base-confirmation/component.js} +16 -14
- package/modern/components/base-confirmation/index.css +24 -0
- package/modern/components/base-confirmation/index.d.ts +1 -0
- package/modern/components/base-confirmation/index.js +19 -0
- package/modern/components/countdown-loader/component.js +1 -1
- package/modern/components/countdown-loader/index.css +2 -11
- package/modern/components/header/component.d.ts +13 -0
- package/modern/components/header/component.js +10 -0
- package/modern/components/header/index.css +51 -0
- package/modern/components/header/index.d.ts +1 -0
- package/modern/components/header/index.js +4 -0
- package/modern/components/index.js +4 -2
- package/modern/components/screens/fatal-error/component.d.ts +9 -3
- package/modern/components/screens/fatal-error/component.js +11 -8
- package/modern/components/screens/fatal-error/index.css +17 -29
- package/modern/components/screens/fatal-error/index.js +3 -0
- package/modern/components/screens/hint/component.d.ts +9 -3
- package/modern/components/screens/hint/component.js +14 -16
- package/modern/components/screens/hint/index.css +25 -48
- package/modern/components/screens/hint/index.js +2 -0
- package/modern/components/screens/index.js +4 -2
- package/modern/components/screens/initial/component.d.ts +9 -3
- package/modern/components/screens/initial/component.js +10 -9
- package/modern/components/screens/initial/countdown-section.js +3 -2
- package/modern/components/screens/initial/index.css +48 -45
- package/modern/components/screens/initial/index.js +4 -2
- package/modern/components/screens/temp-block/component.d.ts +9 -3
- package/modern/components/screens/temp-block/component.js +8 -5
- package/modern/components/screens/temp-block/index.css +12 -30
- package/modern/components/screens/temp-block/index.js +3 -0
- package/{countdown-section-c2901a7e.d.ts → modern/countdown-section-f68f4069.d.ts} +1 -0
- package/modern/countdown-section-f68f4069.js +46 -0
- package/modern/desktop.d.ts +1 -0
- package/modern/desktop.js +20 -0
- package/modern/index.d.ts +2 -1
- package/modern/index.js +8 -3
- package/modern/mobile.css +4 -0
- package/modern/mobile.d.ts +1 -0
- package/modern/mobile.js +20 -0
- package/modern/responsive.d.ts +1 -0
- package/modern/responsive.js +22 -0
- package/modern/types.d.ts +4 -0
- package/package.json +4 -3
- package/responsive.d.ts +1 -0
- package/responsive.js +30 -0
- package/types.d.ts +4 -0
- package/component.d.ts +0 -4
- package/countdown-section-c2901a7e.js +0 -41
- package/cssm/component.d.ts +0 -4
- package/cssm/index.module.css +0 -46
- package/esm/component.d.ts +0 -4
- package/esm/countdown-section-694d1c59.js +0 -33
- package/esm/index.css +0 -47
- package/index.css +0 -47
- package/modern/component.d.ts +0 -4
- package/modern/countdown-section-d8a9a733.js +0 -32
- package/modern/index.css +0 -47
|
@@ -5,12 +5,14 @@ import '../../../utils.js';
|
|
|
5
5
|
import { ConfirmationContext } from '../../../context.js';
|
|
6
6
|
import { CodeInput } from '@alfalab/core-components-code-input/modern';
|
|
7
7
|
import { Link } from '@alfalab/core-components-link/modern';
|
|
8
|
-
import {
|
|
8
|
+
import { Typography } from '@alfalab/core-components-typography/modern';
|
|
9
|
+
import { Button } from '@alfalab/core-components-button/modern';
|
|
10
|
+
import { Header } from '../../header/component.js';
|
|
9
11
|
import '@alfalab/core-components-loader/modern';
|
|
10
|
-
import '
|
|
12
|
+
import { s as styles, C as CountdownSection } from '../../../countdown-section-f68f4069.js';
|
|
11
13
|
|
|
12
14
|
const CODE_SEND_HINT_VISIBLE_DURATION = 2000;
|
|
13
|
-
const Initial = () => {
|
|
15
|
+
const Initial = ({ mobile }) => {
|
|
14
16
|
const { state, alignContent, texts, requiredCharAmount, timeLeft, phone, onChangeState, onInputFinished, onChangeScreen, onSmsRetryClick, } = useContext(ConfirmationContext);
|
|
15
17
|
const prevState = usePrevious(state);
|
|
16
18
|
const inputRef = useRef(null);
|
|
@@ -73,14 +75,13 @@ const Initial = () => {
|
|
|
73
75
|
const processing = ['CODE_CHECKING', 'CODE_SENDING'].includes(state);
|
|
74
76
|
const timePassed = timeLeft === 0;
|
|
75
77
|
return (React.createElement("div", { className: cn(styles.component, styles[alignContent]) },
|
|
76
|
-
React.createElement(
|
|
77
|
-
|
|
78
|
+
React.createElement(Header, { mobile: mobile }, texts.title),
|
|
79
|
+
React.createElement(Typography.Text, { view: 'primary-medium', color: 'primary', className: cn(styles.phone, { [styles.typographyTheme]: !mobile }) },
|
|
78
80
|
"\u041A\u043E\u0434 \u043E\u0442\u043F\u0440\u0430\u0432\u043B\u0435\u043D \u043D\u0430 ",
|
|
79
81
|
phone),
|
|
80
|
-
React.createElement(
|
|
81
|
-
|
|
82
|
-
React.createElement(
|
|
83
|
-
React.createElement(Link, { onClick: handleSmsHintLinkClick, className: styles.smsComeLink, view: 'secondary', pseudo: true }, texts.linkToHint)));
|
|
82
|
+
React.createElement(CodeInput, { disabled: processing, error: getCodeInputError(), ref: inputRef, fields: requiredCharAmount, className: cn(styles.containerInput, styles.codeInput), onComplete: handleInputComplete, onChange: handleInputChange }),
|
|
83
|
+
React.createElement(CountdownSection, { processing: processing, timePassed: timePassed, codeSendHintVisible: codeSendHintVisible, handleSmsRetryClick: handleSmsRetryClick, mobile: mobile }),
|
|
84
|
+
mobile ? (React.createElement(Button, { onClick: handleSmsHintLinkClick, view: 'link', size: 'xs' }, texts.linkToHint)) : (React.createElement(Link, { onClick: handleSmsHintLinkClick, className: styles.smsComeLink, view: mobile ? 'primary' : 'secondary', pseudo: true }, texts.linkToHint))));
|
|
84
85
|
};
|
|
85
86
|
|
|
86
87
|
export { Initial };
|
|
@@ -2,6 +2,7 @@ import 'react';
|
|
|
2
2
|
import 'classnames';
|
|
3
3
|
import '../../../utils.js';
|
|
4
4
|
import '../../../context.js';
|
|
5
|
-
|
|
6
|
-
import '@alfalab/core-components-loader/modern';
|
|
5
|
+
import '@alfalab/core-components-typography/modern';
|
|
7
6
|
import '@alfalab/core-components-button/modern';
|
|
7
|
+
import '@alfalab/core-components-loader/modern';
|
|
8
|
+
export { C as CountdownSection } from '../../../countdown-section-f68f4069.js';
|
|
@@ -1,6 +1,7 @@
|
|
|
1
|
-
/* hash:
|
|
1
|
+
/* hash: 1s91r */
|
|
2
2
|
:root {
|
|
3
3
|
--color-light-text-primary: #0b1f35;
|
|
4
|
+
--color-light-text-secondary: rgba(11, 31, 53, 0.7);
|
|
4
5
|
}
|
|
5
6
|
:root {
|
|
6
7
|
|
|
@@ -12,7 +13,9 @@
|
|
|
12
13
|
}
|
|
13
14
|
:root {
|
|
14
15
|
--gap-2xs: 4px;
|
|
16
|
+
--gap-s: 12px;
|
|
15
17
|
--gap-m: 16px;
|
|
18
|
+
--gap-l: 20px;
|
|
16
19
|
--gap-xl: 24px;
|
|
17
20
|
--gap-2xl: 32px;
|
|
18
21
|
--gap-2xs-neg: -4px;
|
|
@@ -22,80 +25,80 @@
|
|
|
22
25
|
sans-serif;
|
|
23
26
|
}
|
|
24
27
|
:root {
|
|
25
|
-
/*
|
|
26
|
-
--confirmation-title-font-size: 22px;
|
|
27
|
-
--confirmation-title-line-height: 26px;
|
|
28
|
-
--confirmation-title-font-weight: 700;
|
|
29
|
-
--confirmation-title-font-family: var(--font-family-system);
|
|
30
|
-
--confirmation-title-color: var(--color-light-text-primary);
|
|
31
|
-
--confirmation-title-font-feature-settings: normal;
|
|
28
|
+
/* desktop */
|
|
32
29
|
|
|
33
|
-
/*
|
|
30
|
+
/* mobile */
|
|
34
31
|
|
|
35
|
-
/*
|
|
32
|
+
/* text */
|
|
33
|
+
--confirmation-text-font-size: 16px;
|
|
34
|
+
--confirmation-text-line-height: 24px;
|
|
35
|
+
--confirmation-text-font-weight: 400;
|
|
36
|
+
--confirmation-text-font-family: var(--font-family-system);
|
|
37
|
+
--confirmation-text-color: var(--color-light-text-primary)
|
|
36
38
|
|
|
37
|
-
/*
|
|
39
|
+
/* header */
|
|
38
40
|
}
|
|
39
|
-
.
|
|
41
|
+
.confirmation__component_q2tga {
|
|
40
42
|
display: flex;
|
|
41
43
|
flex-direction: column;
|
|
42
44
|
}
|
|
43
|
-
.
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
font-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
font-family: var(--confirmation-title-font-family);
|
|
50
|
-
color: var(--confirmation-title-color);
|
|
51
|
-
font-feature-settings: var(--confirmation-title-font-feature-settings);
|
|
52
|
-
}
|
|
53
|
-
.confirmation__phone_38eal {
|
|
54
|
-
margin-bottom: var(--gap-2xl);
|
|
55
|
-
color: var(--color-light-text-primary);
|
|
45
|
+
.confirmation__typographyTheme_q2tga {
|
|
46
|
+
font-size: var(--confirmation-text-font-size);
|
|
47
|
+
line-height: var(--confirmation-text-line-height);
|
|
48
|
+
font-weight: var(--confirmation-text-font-weight);
|
|
49
|
+
font-family: var(--confirmation-text-font-family);
|
|
50
|
+
color: var(--confirmation-text-color);
|
|
56
51
|
}
|
|
57
|
-
.
|
|
58
|
-
|
|
59
|
-
flex-direction: column;
|
|
52
|
+
.confirmation__phone_q2tga {
|
|
53
|
+
color: var(--color-light-text-primary);
|
|
60
54
|
margin-bottom: var(--gap-2xl);
|
|
61
55
|
}
|
|
62
|
-
.
|
|
56
|
+
.confirmation__compact_q2tga {
|
|
63
57
|
margin-bottom: var(--gap-xl);
|
|
64
58
|
}
|
|
65
|
-
.
|
|
59
|
+
.confirmation__loaderWrap_q2tga {
|
|
66
60
|
display: flex;
|
|
67
61
|
align-items: center;
|
|
68
62
|
}
|
|
69
|
-
.
|
|
63
|
+
.confirmation__left_q2tga {
|
|
64
|
+
align-items: flex-start;
|
|
65
|
+
}
|
|
66
|
+
.confirmation__center_q2tga {
|
|
70
67
|
align-items: center;
|
|
71
68
|
text-align: center
|
|
72
69
|
}
|
|
73
|
-
.
|
|
74
|
-
.confirmation__center_38eal .confirmation__loaderWrap_38eal {
|
|
70
|
+
.confirmation__center_q2tga .confirmation__loaderWrap_q2tga {
|
|
75
71
|
justify-content: center;
|
|
76
72
|
}
|
|
77
|
-
.
|
|
73
|
+
.confirmation__center_q2tga input {
|
|
78
74
|
margin: 0 var(--gap-2xs);
|
|
79
75
|
}
|
|
80
|
-
.
|
|
76
|
+
.confirmation__codeInput_q2tga {
|
|
77
|
+
margin-bottom: var(--gap-s);
|
|
78
|
+
}
|
|
79
|
+
.confirmation__smsComeLink_q2tga {
|
|
81
80
|
font-size: 14px;
|
|
82
81
|
line-height: 20px;
|
|
83
|
-
font-weight:
|
|
82
|
+
font-weight: 500;
|
|
84
83
|
}
|
|
85
|
-
.
|
|
84
|
+
.confirmation__countdownContainer_q2tga {
|
|
85
|
+
color: var(--color-light-text-secondary);
|
|
86
86
|
margin-bottom: var(--gap-xl);
|
|
87
87
|
}
|
|
88
|
-
.
|
|
88
|
+
.confirmation__countdownMobile_q2tga {
|
|
89
|
+
margin-bottom: var(--gap-l);
|
|
90
|
+
}
|
|
91
|
+
.confirmation__countdownLoaderMobile_q2tga {
|
|
92
|
+
margin-bottom: var(--gap-m);
|
|
93
|
+
}
|
|
94
|
+
.confirmation__getCodeButton_q2tga {
|
|
89
95
|
position: relative;
|
|
90
96
|
top: var(--gap-2xs-neg);
|
|
91
97
|
margin-bottom: var(--gap-m);
|
|
92
98
|
}
|
|
93
|
-
.
|
|
94
|
-
|
|
99
|
+
.confirmation__getCodeButtonMobile_q2tga {
|
|
100
|
+
margin-bottom: 0;
|
|
95
101
|
}
|
|
96
|
-
.
|
|
97
|
-
|
|
98
|
-
justify-content: flex-start;
|
|
99
|
-
min-width: 45px;
|
|
100
|
-
margin-left: var(--gap-2xs);
|
|
102
|
+
.confirmation__containerInput_q2tga {
|
|
103
|
+
min-height: 80px;
|
|
101
104
|
}
|
|
@@ -5,7 +5,9 @@ import '../../../utils.js';
|
|
|
5
5
|
import '../../../context.js';
|
|
6
6
|
import '@alfalab/core-components-code-input/modern';
|
|
7
7
|
import '@alfalab/core-components-link/modern';
|
|
8
|
-
import '
|
|
9
|
-
import '@alfalab/core-components-loader/modern';
|
|
8
|
+
import '@alfalab/core-components-typography/modern';
|
|
10
9
|
import '@alfalab/core-components-button/modern';
|
|
10
|
+
import '../../header/component.js';
|
|
11
|
+
import '@alfalab/core-components-loader/modern';
|
|
12
|
+
import '../../../countdown-section-f68f4069.js';
|
|
11
13
|
export { Initial } from './component.js';
|
|
@@ -1,3 +1,9 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
1
|
+
import { FC } from 'react';
|
|
2
|
+
type TempBlockProps = {
|
|
3
|
+
/**
|
|
4
|
+
* Отображать в мобильной версии экран компонента
|
|
5
|
+
*/
|
|
6
|
+
mobile?: boolean;
|
|
7
|
+
};
|
|
8
|
+
declare const TempBlock: FC<TempBlockProps>;
|
|
9
|
+
export { TempBlockProps, TempBlock };
|
|
@@ -1,12 +1,15 @@
|
|
|
1
1
|
import React, { useContext, useEffect, Fragment } from 'react';
|
|
2
|
+
import cn from 'classnames';
|
|
2
3
|
import { useCountdown, formatMsAsMinutes } from '../../../utils.js';
|
|
3
4
|
import { ConfirmationContext } from '../../../context.js';
|
|
5
|
+
import { Typography } from '@alfalab/core-components-typography/modern';
|
|
6
|
+
import { Header } from '../../header/component.js';
|
|
4
7
|
import { CountdownLoader } from '../../countdown-loader/component.js';
|
|
5
8
|
|
|
6
|
-
var styles = {"
|
|
9
|
+
var styles = {"typographyTheme":"confirmation__typographyTheme_3vwk1","description":"confirmation__description_3vwk1","countdownWrap":"confirmation__countdownWrap_3vwk1","loader":"confirmation__loader_3vwk1"};
|
|
7
10
|
require('./index.css')
|
|
8
11
|
|
|
9
|
-
const TempBlock = () => {
|
|
12
|
+
const TempBlock = ({ mobile }) => {
|
|
10
13
|
const { texts, tempBlockDuration, onChangeScreen, onTempBlockFinished } = useContext(ConfirmationContext);
|
|
11
14
|
const [timeLeft, startTimer] = useCountdown(tempBlockDuration);
|
|
12
15
|
useEffect(() => {
|
|
@@ -18,9 +21,9 @@ const TempBlock = () => {
|
|
|
18
21
|
}
|
|
19
22
|
}, [timeLeft, onChangeScreen, onTempBlockFinished]);
|
|
20
23
|
return (React.createElement(Fragment, null,
|
|
21
|
-
React.createElement(
|
|
22
|
-
React.createElement(
|
|
23
|
-
React.createElement("div", { className: styles.countdownWrap },
|
|
24
|
+
React.createElement(Header, { mobile: mobile }, texts.tempBlockTitle),
|
|
25
|
+
React.createElement(Typography.Text, { view: 'primary-medium', color: 'primary', className: cn(styles.description, { [styles.typographyTheme]: !mobile }) }, texts.tempBlockDescription),
|
|
26
|
+
React.createElement("div", { className: cn(styles.countdownWrap, { [styles.typographyTheme]: !mobile }) },
|
|
24
27
|
React.createElement(CountdownLoader, { progress: 1 - timeLeft / tempBlockDuration, className: styles.loader }),
|
|
25
28
|
formatMsAsMinutes(timeLeft))));
|
|
26
29
|
};
|
|
@@ -1,7 +1,6 @@
|
|
|
1
|
-
/* hash:
|
|
1
|
+
/* hash: 1at28 */
|
|
2
2
|
:root {
|
|
3
3
|
--color-light-text-primary: #0b1f35;
|
|
4
|
-
--color-light-text-secondary: #546272;
|
|
5
4
|
}
|
|
6
5
|
:root {
|
|
7
6
|
|
|
@@ -13,56 +12,39 @@
|
|
|
13
12
|
}
|
|
14
13
|
:root {
|
|
15
14
|
--gap-xs: 8px;
|
|
16
|
-
--gap-xl: 24px;
|
|
17
|
-
--gap-2xl: 32px;
|
|
18
15
|
}
|
|
19
16
|
:root {
|
|
20
17
|
--font-family-system: system-ui, -apple-system, 'Segoe UI', Roboto, 'Helvetica Neue', Helvetica,
|
|
21
18
|
sans-serif;
|
|
22
19
|
}
|
|
23
20
|
:root {
|
|
24
|
-
/*
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
--confirmation-title-font-weight: 700;
|
|
28
|
-
--confirmation-title-font-family: var(--font-family-system);
|
|
29
|
-
--confirmation-title-color: var(--color-light-text-primary);
|
|
30
|
-
--confirmation-title-font-feature-settings: normal;
|
|
21
|
+
/* desktop */
|
|
22
|
+
|
|
23
|
+
/* mobile */
|
|
31
24
|
|
|
32
25
|
/* text */
|
|
33
26
|
--confirmation-text-font-size: 16px;
|
|
34
27
|
--confirmation-text-line-height: 24px;
|
|
35
28
|
--confirmation-text-font-weight: 400;
|
|
36
29
|
--confirmation-text-font-family: var(--font-family-system);
|
|
37
|
-
--confirmation-text-color: var(--color-light-text-
|
|
38
|
-
|
|
39
|
-
/* error */
|
|
30
|
+
--confirmation-text-color: var(--color-light-text-primary)
|
|
40
31
|
|
|
41
|
-
/*
|
|
42
|
-
}
|
|
43
|
-
.confirmation__header_1g2lg {
|
|
44
|
-
margin: 0;
|
|
45
|
-
margin-bottom: var(--gap-xl);
|
|
46
|
-
font-size: var(--confirmation-title-font-size);
|
|
47
|
-
line-height: var(--confirmation-title-line-height);
|
|
48
|
-
font-weight: var(--confirmation-title-font-weight);
|
|
49
|
-
font-family: var(--confirmation-title-font-family);
|
|
50
|
-
color: var(--confirmation-title-color);
|
|
51
|
-
font-feature-settings: var(--confirmation-title-font-feature-settings);
|
|
32
|
+
/* header */
|
|
52
33
|
}
|
|
53
|
-
.
|
|
34
|
+
.confirmation__typographyTheme_3vwk1 {
|
|
54
35
|
font-size: var(--confirmation-text-font-size);
|
|
55
36
|
line-height: var(--confirmation-text-line-height);
|
|
56
37
|
font-weight: var(--confirmation-text-font-weight);
|
|
57
38
|
font-family: var(--confirmation-text-font-family);
|
|
58
39
|
color: var(--confirmation-text-color);
|
|
59
|
-
|
|
60
|
-
margin-bottom: var(--gap-2xl);
|
|
61
40
|
}
|
|
62
|
-
.
|
|
41
|
+
.confirmation__description_3vwk1 {
|
|
42
|
+
margin-bottom: var(--gap-xs);
|
|
43
|
+
}
|
|
44
|
+
.confirmation__countdownWrap_3vwk1 {
|
|
63
45
|
display: flex;
|
|
64
46
|
align-items: center;
|
|
65
47
|
}
|
|
66
|
-
.
|
|
48
|
+
.confirmation__loader_3vwk1 {
|
|
67
49
|
margin-right: var(--gap-xs);
|
|
68
50
|
}
|
|
@@ -1,5 +1,8 @@
|
|
|
1
1
|
import 'react';
|
|
2
|
+
import 'classnames';
|
|
2
3
|
import '../../../utils.js';
|
|
3
4
|
import '../../../context.js';
|
|
5
|
+
import '@alfalab/core-components-typography/modern';
|
|
6
|
+
import '../../header/component.js';
|
|
4
7
|
import '../../countdown-loader/component.js';
|
|
5
8
|
export { TempBlock } from './component.js';
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
import React, { useContext } from 'react';
|
|
2
|
+
import cn from 'classnames';
|
|
3
|
+
import { formatMsAsMinutes } from './utils.js';
|
|
4
|
+
import { ConfirmationContext } from './context.js';
|
|
5
|
+
import { Typography } from '@alfalab/core-components-typography/modern';
|
|
6
|
+
import { Button } from '@alfalab/core-components-button/modern';
|
|
7
|
+
import { Loader } from '@alfalab/core-components-loader/modern';
|
|
8
|
+
|
|
9
|
+
var styles = {"component":"confirmation__component_q2tga","typographyTheme":"confirmation__typographyTheme_q2tga","phone":"confirmation__phone_q2tga","compact":"confirmation__compact_q2tga","loaderWrap":"confirmation__loaderWrap_q2tga","left":"confirmation__left_q2tga","center":"confirmation__center_q2tga","codeInput":"confirmation__codeInput_q2tga","smsComeLink":"confirmation__smsComeLink_q2tga","countdownContainer":"confirmation__countdownContainer_q2tga","countdownMobile":"confirmation__countdownMobile_q2tga","countdownLoaderMobile":"confirmation__countdownLoaderMobile_q2tga","getCodeButton":"confirmation__getCodeButton_q2tga","getCodeButtonMobile":"confirmation__getCodeButtonMobile_q2tga","containerInput":"confirmation__containerInput_q2tga"};
|
|
10
|
+
require('./components/screens/initial/index.css')
|
|
11
|
+
|
|
12
|
+
const CountdownSection = ({ codeSendHintVisible, timePassed, processing, mobile, handleSmsRetryClick, }) => {
|
|
13
|
+
const { state, texts, timeLeft, blockSmsRetry } = useContext(ConfirmationContext);
|
|
14
|
+
if (codeSendHintVisible) {
|
|
15
|
+
return (React.createElement(Typography.Text, { className: cn(styles.countdownContainer, {
|
|
16
|
+
[styles.countdownMobile]: mobile,
|
|
17
|
+
[styles.typographyTheme]: !mobile,
|
|
18
|
+
}), view: mobile ? 'primary-small' : 'primary-medium', tag: 'div' }, texts.codeSended));
|
|
19
|
+
}
|
|
20
|
+
if (processing) {
|
|
21
|
+
return (React.createElement("div", { className: cn(styles.loaderWrap, styles.countdownContainer, {
|
|
22
|
+
[styles.countdownLoaderMobile]: mobile,
|
|
23
|
+
[styles.typographyTheme]: !mobile,
|
|
24
|
+
}) },
|
|
25
|
+
React.createElement(Loader, null),
|
|
26
|
+
React.createElement("span", { className: styles.loaderText }, state === 'CODE_CHECKING' ? texts.codeChecking : texts.codeSending)));
|
|
27
|
+
}
|
|
28
|
+
if (blockSmsRetry) {
|
|
29
|
+
return (React.createElement(Typography.Text, { className: cn(styles.countdownContainer, {
|
|
30
|
+
[styles.countdownMobile]: mobile,
|
|
31
|
+
[styles.typographyTheme]: !mobile,
|
|
32
|
+
}), view: mobile ? 'primary-small' : 'primary-medium', tag: 'div' }, texts.noAttemptsLeft));
|
|
33
|
+
}
|
|
34
|
+
if (timePassed) {
|
|
35
|
+
return (React.createElement(Button, { size: mobile ? 'xs' : 'xxs', view: 'secondary', onClick: handleSmsRetryClick, className: cn(styles.getCodeButton, { [styles.getCodeButtonMobile]: mobile }) }, texts.buttonRetry));
|
|
36
|
+
}
|
|
37
|
+
return (React.createElement(Typography.Text, { className: cn(styles.countdown, styles.countdownContainer, {
|
|
38
|
+
[styles.countdownMobile]: mobile,
|
|
39
|
+
[styles.typographyTheme]: !mobile,
|
|
40
|
+
}), view: mobile ? 'primary-small' : 'primary-medium', tag: 'div' },
|
|
41
|
+
texts.countdown,
|
|
42
|
+
" ",
|
|
43
|
+
formatMsAsMinutes(timeLeft)));
|
|
44
|
+
};
|
|
45
|
+
|
|
46
|
+
export { CountdownSection as C, styles as s };
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from "./component.desktop";
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import 'react';
|
|
2
|
+
import 'classnames';
|
|
3
|
+
import '@alfalab/hooks';
|
|
4
|
+
import './utils.js';
|
|
5
|
+
import './context.js';
|
|
6
|
+
import './types.js';
|
|
7
|
+
import '@alfalab/core-components-code-input/modern';
|
|
8
|
+
import '@alfalab/core-components-link/modern';
|
|
9
|
+
import '@alfalab/core-components-typography/modern';
|
|
10
|
+
import '@alfalab/core-components-button/modern';
|
|
11
|
+
import './components/header/component.js';
|
|
12
|
+
import '@alfalab/core-components-loader/modern';
|
|
13
|
+
import './countdown-section-f68f4069.js';
|
|
14
|
+
import './components/screens/initial/component.js';
|
|
15
|
+
import './components/screens/hint/component.js';
|
|
16
|
+
import './components/screens/fatal-error/component.js';
|
|
17
|
+
import './components/countdown-loader/component.js';
|
|
18
|
+
import './components/screens/temp-block/component.js';
|
|
19
|
+
import './components/base-confirmation/component.js';
|
|
20
|
+
export { ConfirmationDesktop } from './component.desktop.js';
|
package/modern/index.d.ts
CHANGED
package/modern/index.js
CHANGED
|
@@ -6,12 +6,17 @@ export { ConfirmationContext } from './context.js';
|
|
|
6
6
|
export { defaultTexts } from './types.js';
|
|
7
7
|
import '@alfalab/core-components-code-input/modern';
|
|
8
8
|
import '@alfalab/core-components-link/modern';
|
|
9
|
-
import '
|
|
10
|
-
import '@alfalab/core-components-loader/modern';
|
|
9
|
+
import '@alfalab/core-components-typography/modern';
|
|
11
10
|
import '@alfalab/core-components-button/modern';
|
|
11
|
+
import './components/header/component.js';
|
|
12
|
+
import '@alfalab/core-components-loader/modern';
|
|
13
|
+
import './countdown-section-f68f4069.js';
|
|
12
14
|
export { Initial } from './components/screens/initial/component.js';
|
|
13
15
|
export { Hint } from './components/screens/hint/component.js';
|
|
14
16
|
export { FatalError } from './components/screens/fatal-error/component.js';
|
|
15
17
|
export { CountdownLoader } from './components/countdown-loader/component.js';
|
|
16
18
|
export { TempBlock } from './components/screens/temp-block/component.js';
|
|
17
|
-
|
|
19
|
+
import './components/base-confirmation/component.js';
|
|
20
|
+
export { ConfirmationDesktop as Confirmation } from './component.desktop.js';
|
|
21
|
+
import './component.mobile.js';
|
|
22
|
+
export { ConfirmationResponsive } from './component.responsive.js';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from "./component.mobile";
|
package/modern/mobile.js
ADDED
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import 'react';
|
|
2
|
+
import 'classnames';
|
|
3
|
+
import '@alfalab/hooks';
|
|
4
|
+
import './utils.js';
|
|
5
|
+
import './context.js';
|
|
6
|
+
import './types.js';
|
|
7
|
+
import '@alfalab/core-components-code-input/modern';
|
|
8
|
+
import '@alfalab/core-components-link/modern';
|
|
9
|
+
import '@alfalab/core-components-typography/modern';
|
|
10
|
+
import '@alfalab/core-components-button/modern';
|
|
11
|
+
import './components/header/component.js';
|
|
12
|
+
import '@alfalab/core-components-loader/modern';
|
|
13
|
+
import './countdown-section-f68f4069.js';
|
|
14
|
+
import './components/screens/initial/component.js';
|
|
15
|
+
import './components/screens/hint/component.js';
|
|
16
|
+
import './components/screens/fatal-error/component.js';
|
|
17
|
+
import './components/countdown-loader/component.js';
|
|
18
|
+
import './components/screens/temp-block/component.js';
|
|
19
|
+
import './components/base-confirmation/component.js';
|
|
20
|
+
export { ConfirmationMobile } from './component.mobile.js';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from "./component.responsive";
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import 'react';
|
|
2
|
+
import 'classnames';
|
|
3
|
+
import '@alfalab/hooks';
|
|
4
|
+
import './utils.js';
|
|
5
|
+
import './context.js';
|
|
6
|
+
import './types.js';
|
|
7
|
+
import '@alfalab/core-components-code-input/modern';
|
|
8
|
+
import '@alfalab/core-components-link/modern';
|
|
9
|
+
import '@alfalab/core-components-typography/modern';
|
|
10
|
+
import '@alfalab/core-components-button/modern';
|
|
11
|
+
import './components/header/component.js';
|
|
12
|
+
import '@alfalab/core-components-loader/modern';
|
|
13
|
+
import './countdown-section-f68f4069.js';
|
|
14
|
+
import './components/screens/initial/component.js';
|
|
15
|
+
import './components/screens/hint/component.js';
|
|
16
|
+
import './components/screens/fatal-error/component.js';
|
|
17
|
+
import './components/countdown-loader/component.js';
|
|
18
|
+
import './components/screens/temp-block/component.js';
|
|
19
|
+
import './components/base-confirmation/component.js';
|
|
20
|
+
import './component.desktop.js';
|
|
21
|
+
import './component.mobile.js';
|
|
22
|
+
export { ConfirmationResponsive } from './component.responsive.js';
|
package/modern/types.d.ts
CHANGED
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@alfalab/core-components-confirmation",
|
|
3
|
-
"version": "12.1
|
|
3
|
+
"version": "12.2.1",
|
|
4
4
|
"description": "Sms confirmation component",
|
|
5
5
|
"keywords": [],
|
|
6
6
|
"license": "MIT",
|
|
@@ -14,12 +14,13 @@
|
|
|
14
14
|
"directory": "dist"
|
|
15
15
|
},
|
|
16
16
|
"dependencies": {
|
|
17
|
-
"@alfalab/core-components-button": "^6.1.
|
|
17
|
+
"@alfalab/core-components-button": "^6.1.2",
|
|
18
18
|
"@alfalab/core-components-code-input": "^2.1.1",
|
|
19
19
|
"@alfalab/core-components-link": "^5.0.1",
|
|
20
20
|
"@alfalab/core-components-loader": "^3.0.2",
|
|
21
|
+
"@alfalab/core-components-typography": "^3.0.1",
|
|
21
22
|
"@alfalab/hooks": "^1.4.1",
|
|
22
|
-
"@alfalab/icons-glyph": "^2.
|
|
23
|
+
"@alfalab/icons-glyph": "^2.71.0",
|
|
23
24
|
"@alfalab/utils": "^1.13.2",
|
|
24
25
|
"classnames": "^2.3.1"
|
|
25
26
|
},
|
package/responsive.d.ts
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from "./component.responsive";
|
package/responsive.js
ADDED
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
|
+
|
|
5
|
+
require('./component-8a46eb16.js');
|
|
6
|
+
require('react');
|
|
7
|
+
require('classnames');
|
|
8
|
+
require('@alfalab/hooks');
|
|
9
|
+
require('./utils.js');
|
|
10
|
+
require('./context.js');
|
|
11
|
+
require('./types.js');
|
|
12
|
+
require('@alfalab/core-components-code-input');
|
|
13
|
+
require('@alfalab/core-components-link');
|
|
14
|
+
require('@alfalab/core-components-typography');
|
|
15
|
+
require('@alfalab/core-components-button');
|
|
16
|
+
require('./components/header/component.js');
|
|
17
|
+
require('@alfalab/core-components-loader');
|
|
18
|
+
require('./countdown-section-d2ec5a14.js');
|
|
19
|
+
require('./components/screens/initial/component.js');
|
|
20
|
+
require('./components/screens/hint/component.js');
|
|
21
|
+
require('./components/screens/fatal-error/component.js');
|
|
22
|
+
require('./components/countdown-loader/component.js');
|
|
23
|
+
require('./components/screens/temp-block/component.js');
|
|
24
|
+
require('./component.desktop.js');
|
|
25
|
+
require('./component.mobile.js');
|
|
26
|
+
var component_responsive = require('./component.responsive.js');
|
|
27
|
+
|
|
28
|
+
|
|
29
|
+
|
|
30
|
+
exports.ConfirmationResponsive = component_responsive.ConfirmationResponsive;
|
package/types.d.ts
CHANGED
package/component.d.ts
DELETED
|
@@ -1,41 +0,0 @@
|
|
|
1
|
-
'use strict';
|
|
2
|
-
|
|
3
|
-
var React = require('react');
|
|
4
|
-
var cn = require('classnames');
|
|
5
|
-
var utils = require('./utils.js');
|
|
6
|
-
var context = require('./context.js');
|
|
7
|
-
var coreComponentsLoader = require('@alfalab/core-components-loader');
|
|
8
|
-
var coreComponentsButton = require('@alfalab/core-components-button');
|
|
9
|
-
|
|
10
|
-
function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
|
|
11
|
-
|
|
12
|
-
var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
|
|
13
|
-
var cn__default = /*#__PURE__*/_interopDefaultLegacy(cn);
|
|
14
|
-
|
|
15
|
-
var styles = {"component":"confirmation__component_38eal","header":"confirmation__header_38eal","phone":"confirmation__phone_38eal","inputContainer":"confirmation__inputContainer_38eal","compact":"confirmation__compact_38eal","loaderWrap":"confirmation__loaderWrap_38eal","center":"confirmation__center_38eal","codeInput":"confirmation__codeInput_38eal","smsComeLink":"confirmation__smsComeLink_38eal","countdownContainer":"confirmation__countdownContainer_38eal","getCodeButton":"confirmation__getCodeButton_38eal","countdown":"confirmation__countdown_38eal","countdownTimer":"confirmation__countdownTimer_38eal"};
|
|
16
|
-
require('./components/screens/initial/index.css')
|
|
17
|
-
|
|
18
|
-
var CountdownSection = function (_a) {
|
|
19
|
-
var codeSendHintVisible = _a.codeSendHintVisible, timePassed = _a.timePassed, processing = _a.processing, handleSmsRetryClick = _a.handleSmsRetryClick;
|
|
20
|
-
var _b = React.useContext(context.ConfirmationContext), state = _b.state, texts = _b.texts, timeLeft = _b.timeLeft, blockSmsRetry = _b.blockSmsRetry;
|
|
21
|
-
if (codeSendHintVisible) {
|
|
22
|
-
return React__default['default'].createElement("div", { className: styles.countdownContainer }, texts.codeSended);
|
|
23
|
-
}
|
|
24
|
-
if (processing) {
|
|
25
|
-
return (React__default['default'].createElement("div", { className: cn__default['default'](styles.loaderWrap, styles.countdownContainer) },
|
|
26
|
-
React__default['default'].createElement(coreComponentsLoader.Loader, null),
|
|
27
|
-
React__default['default'].createElement("span", { className: styles.loaderText }, state === 'CODE_CHECKING' ? texts.codeChecking : texts.codeSending)));
|
|
28
|
-
}
|
|
29
|
-
if (blockSmsRetry) {
|
|
30
|
-
return React__default['default'].createElement("div", { className: styles.countdownContainer }, texts.noAttemptsLeft);
|
|
31
|
-
}
|
|
32
|
-
if (timePassed) {
|
|
33
|
-
return (React__default['default'].createElement(coreComponentsButton.Button, { size: 'xxs', view: 'secondary', onClick: handleSmsRetryClick, className: styles.getCodeButton }, texts.buttonRetry));
|
|
34
|
-
}
|
|
35
|
-
return (React__default['default'].createElement("div", { className: cn__default['default'](styles.countdown, styles.countdownContainer) },
|
|
36
|
-
texts.countdown,
|
|
37
|
-
React__default['default'].createElement("div", { className: styles.countdownTimer }, utils.formatMsAsMinutes(timeLeft))));
|
|
38
|
-
};
|
|
39
|
-
|
|
40
|
-
exports.CountdownSection = CountdownSection;
|
|
41
|
-
exports.styles = styles;
|