@alfalab/core-components-confirmation 13.8.1 → 13.8.3

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 (93) hide show
  1. package/component.responsive.d.ts +5 -0
  2. package/component.responsive.js +2 -3
  3. package/components/base-confirmation/component.js +4 -4
  4. package/components/base-confirmation/index.css +2 -2
  5. package/components/countdown-loader/component.js +1 -1
  6. package/components/countdown-loader/index.css +2 -2
  7. package/components/header/component.js +1 -1
  8. package/components/header/index.css +4 -4
  9. package/components/screens/fatal-error/component.js +3 -3
  10. package/components/screens/fatal-error/index.css +7 -7
  11. package/components/screens/hint/component.js +3 -3
  12. package/components/screens/hint/index.css +13 -13
  13. package/components/screens/initial/component.js +1 -1
  14. package/components/screens/initial/countdown-section.js +1 -1
  15. package/components/screens/initial/index.css +19 -19
  16. package/components/screens/temp-block/component.js +1 -1
  17. package/components/screens/temp-block/index.css +8 -8
  18. package/context.js +1 -0
  19. package/{countdown-section-814307fc.js → countdown-section-0f785844.js} +4 -4
  20. package/cssm/component.responsive.d.ts +5 -0
  21. package/cssm/component.responsive.js +2 -3
  22. package/cssm/components/base-confirmation/component.js +3 -3
  23. package/cssm/components/screens/fatal-error/component.js +2 -2
  24. package/cssm/components/screens/hint/component.js +2 -2
  25. package/cssm/components/screens/initial/countdown-section.js +3 -3
  26. package/cssm/context.js +1 -0
  27. package/cssm/types.d.ts +5 -7
  28. package/esm/component.responsive.d.ts +5 -0
  29. package/esm/component.responsive.js +3 -4
  30. package/esm/components/base-confirmation/component.js +4 -4
  31. package/esm/components/base-confirmation/index.css +2 -2
  32. package/esm/components/countdown-loader/component.js +1 -1
  33. package/esm/components/countdown-loader/index.css +2 -2
  34. package/esm/components/header/component.js +1 -1
  35. package/esm/components/header/index.css +4 -4
  36. package/esm/components/screens/fatal-error/component.js +3 -3
  37. package/esm/components/screens/fatal-error/index.css +7 -7
  38. package/esm/components/screens/hint/component.js +3 -3
  39. package/esm/components/screens/hint/index.css +13 -13
  40. package/esm/components/screens/initial/component.js +1 -1
  41. package/esm/components/screens/initial/countdown-section.js +1 -1
  42. package/esm/components/screens/initial/index.css +19 -19
  43. package/esm/components/screens/temp-block/component.js +1 -1
  44. package/esm/components/screens/temp-block/index.css +8 -8
  45. package/esm/context.js +1 -0
  46. package/esm/{countdown-section-f1015182.js → countdown-section-3516a8a6.js} +4 -4
  47. package/esm/mobile/component.mobile.js +1 -1
  48. package/esm/mobile/mobile.css +2 -2
  49. package/esm/types.d.ts +5 -7
  50. package/mobile/component.mobile.js +1 -1
  51. package/mobile/mobile.css +2 -2
  52. package/modern/component.responsive.d.ts +5 -0
  53. package/modern/component.responsive.js +3 -4
  54. package/modern/components/base-confirmation/component.js +3 -3
  55. package/modern/components/base-confirmation/index.css +2 -2
  56. package/modern/components/countdown-loader/component.js +1 -1
  57. package/modern/components/countdown-loader/index.css +2 -2
  58. package/modern/components/header/component.js +1 -1
  59. package/modern/components/header/index.css +4 -4
  60. package/modern/components/screens/fatal-error/component.js +3 -3
  61. package/modern/components/screens/fatal-error/index.css +7 -7
  62. package/modern/components/screens/hint/component.js +3 -3
  63. package/modern/components/screens/hint/index.css +13 -13
  64. package/modern/components/screens/initial/component.js +1 -1
  65. package/modern/components/screens/initial/countdown-section.js +1 -1
  66. package/modern/components/screens/initial/index.css +19 -19
  67. package/modern/components/screens/temp-block/component.js +1 -1
  68. package/modern/components/screens/temp-block/index.css +8 -8
  69. package/modern/context.js +1 -0
  70. package/modern/{countdown-section-791d483e.js → countdown-section-7563320f.js} +4 -4
  71. package/modern/mobile/component.mobile.js +1 -1
  72. package/modern/mobile/mobile.css +2 -2
  73. package/modern/types.d.ts +5 -7
  74. package/moderncssm/component.responsive.d.ts +5 -0
  75. package/moderncssm/component.responsive.js +3 -4
  76. package/moderncssm/components/base-confirmation/component.js +2 -2
  77. package/moderncssm/components/screens/fatal-error/component.js +2 -2
  78. package/moderncssm/components/screens/hint/component.js +2 -2
  79. package/moderncssm/components/screens/initial/countdown-section.js +3 -3
  80. package/moderncssm/context.js +1 -0
  81. package/moderncssm/types.d.ts +5 -7
  82. package/package.json +7 -7
  83. package/src/component.responsive.tsx +11 -5
  84. package/src/components/base-confirmation/component.tsx +3 -2
  85. package/src/components/screens/fatal-error/component.tsx +2 -1
  86. package/src/components/screens/hint/component.tsx +2 -1
  87. package/src/components/screens/initial/countdown-section.tsx +4 -2
  88. package/src/context.ts +1 -0
  89. package/src/types.ts +7 -6
  90. package/types.d.ts +5 -7
  91. /package/{countdown-section-814307fc.d.ts → countdown-section-0f785844.d.ts} +0 -0
  92. /package/esm/{countdown-section-f1015182.d.ts → countdown-section-3516a8a6.d.ts} +0 -0
  93. /package/modern/{countdown-section-791d483e.d.ts → countdown-section-7563320f.d.ts} +0 -0
@@ -1,4 +1,4 @@
1
- /* hash: w01s5 */
1
+ /* hash: zg20o */
2
2
  :root { /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */
3
3
  } /* deprecated */ :root {
4
4
  --color-light-text-primary: rgba(3, 3, 6, 0.88);
@@ -37,22 +37,22 @@
37
37
  --confirmation-text-color: var(--color-light-text-primary)
38
38
 
39
39
  /* header */
40
- } .confirmation__component_18kia {
40
+ } .confirmation__component_1yki9 {
41
41
  display: flex;
42
42
  flex-direction: column;
43
- } .confirmation__typographyTheme_18kia.confirmation__typographyTheme_18kia {
43
+ } .confirmation__typographyTheme_1yki9.confirmation__typographyTheme_1yki9 {
44
44
  font-size: var(--confirmation-text-font-size);
45
45
  line-height: var(--confirmation-text-line-height);
46
46
  font-weight: var(--confirmation-text-font-weight);
47
47
  font-family: var(--confirmation-text-font-family);
48
48
  color: var(--confirmation-text-color);
49
- } .confirmation__typographyThemeMobile_18kia.confirmation__typographyThemeMobile_18kia {
49
+ } .confirmation__typographyThemeMobile_1yki9.confirmation__typographyThemeMobile_1yki9 {
50
50
  color: var(--color-light-text-secondary);
51
- } .confirmation__left_18kia {
51
+ } .confirmation__left_1yki9 {
52
52
  align-items: flex-start;
53
- } .confirmation__center_18kia {
53
+ } .confirmation__center_1yki9 {
54
54
  align-items: center;
55
55
  text-align: center;
56
- } .confirmation__button_18kia.confirmation__button_18kia {
56
+ } .confirmation__button_1yki9.confirmation__button_1yki9 {
57
57
  margin-top: var(--gap-32);
58
58
  }
@@ -6,11 +6,11 @@ import { Typography } from '@alfalab/core-components-typography/modern';
6
6
  import { ConfirmationContext } from '../../../context.js';
7
7
  import { Header } from '../../header/component.js';
8
8
 
9
- const styles = {"component":"confirmation__component_1sjop","center":"confirmation__center_1sjop","text":"confirmation__text_1sjop","typographyTheme":"confirmation__typographyTheme_1sjop","typographyThemeMobile":"confirmation__typographyThemeMobile_1sjop","phonesWrap":"confirmation__phonesWrap_1sjop","phoneWrap":"confirmation__phoneWrap_1sjop","phoneLink":"confirmation__phoneLink_1sjop","hintButton":"confirmation__hintButton_1sjop","phoneContentMobile":"confirmation__phoneContentMobile_1sjop"};
9
+ const styles = {"component":"confirmation__component_iwqs7","center":"confirmation__center_iwqs7","text":"confirmation__text_iwqs7","typographyTheme":"confirmation__typographyTheme_iwqs7","typographyThemeMobile":"confirmation__typographyThemeMobile_iwqs7","phonesWrap":"confirmation__phonesWrap_iwqs7","phoneWrap":"confirmation__phoneWrap_iwqs7","phoneLink":"confirmation__phoneLink_iwqs7","hintButton":"confirmation__hintButton_iwqs7","phoneContentMobile":"confirmation__phoneContentMobile_iwqs7"};
10
10
  require('./index.css')
11
11
 
12
12
  const Hint = ({ mobile }) => {
13
- const { alignContent, texts, onChangeScreen, onChangeState, breakpoint } = useContext(ConfirmationContext);
13
+ const { alignContent, texts, onChangeScreen, onChangeState, breakpoint, client } = useContext(ConfirmationContext);
14
14
  const handleReturnButtonClick = () => {
15
15
  onChangeScreen('INITIAL');
16
16
  onChangeState('INITIAL');
@@ -44,7 +44,7 @@ const Hint = ({ mobile }) => {
44
44
  [styles.typographyTheme]: !mobile,
45
45
  [styles.typographyThemeMobile]: mobile,
46
46
  }) }, "\u0415\u0441\u043B\u0438 \u043D\u043E\u043C\u0435\u0440 \u043D\u0435\u00A0\u043C\u0435\u043D\u044F\u043B\u0441\u044F, \u0432\u043E\u0437\u043C\u043E\u0436\u043D\u043E, \u043F\u0435\u0440\u0435\u0433\u0440\u0443\u0436\u0435\u043D \u0441\u0435\u0440\u0432\u0438\u0441 \u043E\u0442\u043F\u0440\u0430\u0432\u043A\u0438 \u0441\u043E\u043E\u0431\u0449\u0435\u043D\u0438\u0439. \u041F\u043E\u043F\u0440\u043E\u0431\u0443\u0439\u0442\u0435 \u043F\u043E\u0432\u0442\u043E\u0440\u0438\u0442\u044C \u0434\u0435\u0439\u0441\u0442\u0432\u0438\u0435 \u0447\u0435\u0440\u0435\u0437 \u043D\u0435\u0441\u043A\u043E\u043B\u044C\u043A\u043E \u043C\u0438\u043D\u0443\u0442."),
47
- React.createElement(Button, { size: mobile ? 'xs' : 's', view: 'secondary', onClick: handleReturnButtonClick, className: styles.hintButton, breakpoint: breakpoint }, texts.hintButton)));
47
+ React.createElement(Button, { size: mobile ? 'xs' : 's', view: 'secondary', onClick: handleReturnButtonClick, className: styles.hintButton, breakpoint: breakpoint, client: client }, texts.hintButton)));
48
48
  };
49
49
 
50
50
  export { Hint };
@@ -1,4 +1,4 @@
1
- /* hash: 1ui6j */
1
+ /* hash: eo9a7 */
2
2
  :root { /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */
3
3
  } /* deprecated */ :root {
4
4
  --color-light-text-primary: rgba(3, 3, 6, 0.88);
@@ -42,40 +42,40 @@
42
42
  --confirmation-text-color: var(--color-light-text-primary)
43
43
 
44
44
  /* header */
45
- } .confirmation__component_1sjop {
45
+ } .confirmation__component_iwqs7 {
46
46
  display: flex;
47
47
  flex-direction: column;
48
48
  align-items: flex-start
49
- } .confirmation__component_1sjop span:last-of-type {
49
+ } .confirmation__component_iwqs7 span:last-of-type {
50
50
  margin-bottom: var(--gap-0);
51
- } .confirmation__center_1sjop {
51
+ } .confirmation__center_iwqs7 {
52
52
  align-items: center;
53
53
  text-align: center;
54
- } .confirmation__text_1sjop.confirmation__text_1sjop {
54
+ } .confirmation__text_iwqs7.confirmation__text_iwqs7 {
55
55
  margin-bottom: var(--gap-24);
56
- } .confirmation__typographyTheme_1sjop.confirmation__typographyTheme_1sjop {
56
+ } .confirmation__typographyTheme_iwqs7.confirmation__typographyTheme_iwqs7 {
57
57
  font-size: var(--confirmation-text-font-size);
58
58
  line-height: var(--confirmation-text-line-height);
59
59
  font-weight: var(--confirmation-text-font-weight);
60
60
  font-family: var(--confirmation-text-font-family);
61
61
  color: var(--confirmation-text-color);
62
- } .confirmation__typographyThemeMobile_1sjop.confirmation__typographyThemeMobile_1sjop {
62
+ } .confirmation__typographyThemeMobile_iwqs7.confirmation__typographyThemeMobile_iwqs7 {
63
63
  color: var(--color-light-text-secondary);
64
- } .confirmation__phonesWrap_1sjop {
64
+ } .confirmation__phonesWrap_iwqs7 {
65
65
  display: flex;
66
66
  flex-direction: column;
67
67
  margin-bottom: var(--gap-24);
68
- } .confirmation__phoneWrap_1sjop {
68
+ } .confirmation__phoneWrap_iwqs7 {
69
69
  margin-bottom: var(--gap-8)
70
- } .confirmation__phoneWrap_1sjop:last-child {
70
+ } .confirmation__phoneWrap_iwqs7:last-child {
71
71
  margin-bottom: var(--gap-0);
72
- } .confirmation__phoneLink_1sjop.confirmation__phoneLink_1sjop {
72
+ } .confirmation__phoneLink_iwqs7.confirmation__phoneLink_iwqs7 {
73
73
  font-size: 16px;
74
74
  line-height: 24px;
75
75
  font-weight: 500;
76
- } .confirmation__hintButton_1sjop {
76
+ } .confirmation__hintButton_iwqs7 {
77
77
  margin-top: var(--gap-32);
78
- } .confirmation__phoneContentMobile_1sjop {
78
+ } .confirmation__phoneContentMobile_iwqs7 {
79
79
  display: flex;
80
80
  flex-direction: column;
81
81
  }
@@ -8,7 +8,7 @@ import { Typography } from '@alfalab/core-components-typography/modern';
8
8
  import { usePrevious, useLayoutEffect_SAFE_FOR_SSR } from '@alfalab/hooks';
9
9
  import { ConfirmationContext } from '../../../context.js';
10
10
  import { Header } from '../../header/component.js';
11
- import { s as styles, C as CountdownSection } from '../../../countdown-section-791d483e.js';
11
+ import { s as styles, C as CountdownSection } from '../../../countdown-section-7563320f.js';
12
12
 
13
13
  const CODE_SEND_HINT_VISIBLE_DURATION = 2000;
14
14
  const Initial = ({ mobile }) => {
@@ -5,4 +5,4 @@ import '@alfalab/core-components-spinner/modern';
5
5
  import '@alfalab/core-components-typography/modern';
6
6
  import '../../../context.js';
7
7
  import '../../../utils.js';
8
- export { C as CountdownSection } from '../../../countdown-section-791d483e.js';
8
+ export { C as CountdownSection } from '../../../countdown-section-7563320f.js';
@@ -1,4 +1,4 @@
1
- /* hash: 12z2w */
1
+ /* hash: 1mrv5 */
2
2
  :root { /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */
3
3
  } /* deprecated */ :root {
4
4
  --color-light-text-primary: rgba(3, 3, 6, 0.88);
@@ -49,53 +49,53 @@
49
49
  --confirmation-text-color: var(--color-light-text-primary)
50
50
 
51
51
  /* header */
52
- } .confirmation__component_eu2jq {
52
+ } .confirmation__component_6ytgy {
53
53
  display: flex;
54
54
  flex-direction: column;
55
- } .confirmation__phone_eu2jq.confirmation__phone_eu2jq {
55
+ } .confirmation__phone_6ytgy.confirmation__phone_6ytgy {
56
56
  color: var(--color-light-text-primary);
57
57
  margin-bottom: var(--gap-32);
58
- } .confirmation__typographyTheme_eu2jq.confirmation__typographyTheme_eu2jq {
58
+ } .confirmation__typographyTheme_6ytgy.confirmation__typographyTheme_6ytgy {
59
59
  font-size: var(--confirmation-text-font-size);
60
60
  line-height: var(--confirmation-text-line-height);
61
61
  font-weight: var(--confirmation-text-font-weight);
62
62
  font-family: var(--confirmation-text-font-family);
63
63
  color: var(--confirmation-text-color);
64
- } .confirmation__typographyThemeMobile_eu2jq.confirmation__typographyThemeMobile_eu2jq {
64
+ } .confirmation__typographyThemeMobile_6ytgy.confirmation__typographyThemeMobile_6ytgy {
65
65
  color: var(--color-light-text-secondary);
66
- } .confirmation__compact_eu2jq {
66
+ } .confirmation__compact_6ytgy {
67
67
  margin-bottom: var(--gap-24);
68
- } .confirmation__loaderWrap_eu2jq {
68
+ } .confirmation__loaderWrap_6ytgy {
69
69
  display: flex;
70
70
  align-items: center;
71
- } .confirmation__left_eu2jq {
71
+ } .confirmation__left_6ytgy {
72
72
  align-items: flex-start;
73
- } .confirmation__center_eu2jq {
73
+ } .confirmation__center_6ytgy {
74
74
  align-items: center;
75
75
  text-align: center
76
- } .confirmation__center_eu2jq .confirmation__loaderWrap_eu2jq {
76
+ } .confirmation__center_6ytgy .confirmation__loaderWrap_6ytgy {
77
77
  justify-content: center;
78
- } .confirmation__codeInput_eu2jq {
78
+ } .confirmation__codeInput_6ytgy {
79
79
  margin-bottom: var(--gap-12);
80
- } .confirmation__smsBtn_eu2jq.confirmation__smsBtn_eu2jq {
80
+ } .confirmation__smsBtn_6ytgy.confirmation__smsBtn_6ytgy {
81
81
  min-height: var(--size-xs-height);
82
- } .confirmation__smsComeLink_eu2jq.confirmation__smsComeLink_eu2jq {
82
+ } .confirmation__smsComeLink_6ytgy.confirmation__smsComeLink_6ytgy {
83
83
  font-size: 14px;
84
84
  line-height: 20px;
85
85
  font-weight: 500;
86
- } .confirmation__countdownContainer_eu2jq.confirmation__countdownContainer_eu2jq {
86
+ } .confirmation__countdownContainer_6ytgy.confirmation__countdownContainer_6ytgy {
87
87
  color: var(--color-light-text-secondary);
88
88
  margin-bottom: var(--gap-24);
89
- } .confirmation__countdownMobile_eu2jq.confirmation__countdownMobile_eu2jq {
89
+ } .confirmation__countdownMobile_6ytgy.confirmation__countdownMobile_6ytgy {
90
90
  margin-bottom: var(--gap-20);
91
- } .confirmation__countdownLoaderMobile_eu2jq.confirmation__countdownLoaderMobile_eu2jq {
91
+ } .confirmation__countdownLoaderMobile_6ytgy.confirmation__countdownLoaderMobile_6ytgy {
92
92
  margin-bottom: var(--gap-16);
93
- } .confirmation__getCodeButton_eu2jq {
93
+ } .confirmation__getCodeButton_6ytgy {
94
94
  position: relative;
95
95
  top: var(--gap-4-neg);
96
96
  margin-bottom: var(--gap-16);
97
- } .confirmation__getCodeButtonMobile_eu2jq {
97
+ } .confirmation__getCodeButtonMobile_6ytgy {
98
98
  margin-bottom: var(--gap-0);
99
- } .confirmation__containerInput_eu2jq {
99
+ } .confirmation__containerInput_6ytgy {
100
100
  min-height: 80px;
101
101
  }
@@ -6,7 +6,7 @@ import { useCountdown, formatMsAsMinutes } from '../../../utils.js';
6
6
  import { CountdownLoader } from '../../countdown-loader/component.js';
7
7
  import { Header } from '../../header/component.js';
8
8
 
9
- const styles = {"component":"confirmation__component_v9nuk","center":"confirmation__center_v9nuk","typographyTheme":"confirmation__typographyTheme_v9nuk","typographyThemeMobile":"confirmation__typographyThemeMobile_v9nuk","description":"confirmation__description_v9nuk","countdownWrap":"confirmation__countdownWrap_v9nuk","loader":"confirmation__loader_v9nuk"};
9
+ const styles = {"component":"confirmation__component_gfnyn","center":"confirmation__center_gfnyn","typographyTheme":"confirmation__typographyTheme_gfnyn","typographyThemeMobile":"confirmation__typographyThemeMobile_gfnyn","description":"confirmation__description_gfnyn","countdownWrap":"confirmation__countdownWrap_gfnyn","loader":"confirmation__loader_gfnyn"};
10
10
  require('./index.css')
11
11
 
12
12
  const TempBlock = ({ mobile }) => {
@@ -1,4 +1,4 @@
1
- /* hash: 1ub8x */
1
+ /* hash: 1aigo */
2
2
  :root { /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */
3
3
  } /* deprecated */ :root {
4
4
  --color-light-text-primary: rgba(3, 3, 6, 0.88);
@@ -37,25 +37,25 @@
37
37
  --confirmation-text-color: var(--color-light-text-primary)
38
38
 
39
39
  /* header */
40
- } .confirmation__component_v9nuk {
40
+ } .confirmation__component_gfnyn {
41
41
  display: flex;
42
42
  flex-direction: column;
43
- } .confirmation__center_v9nuk {
43
+ } .confirmation__center_gfnyn {
44
44
  align-items: center;
45
45
  text-align: center;
46
- } .confirmation__typographyTheme_v9nuk.confirmation__typographyTheme_v9nuk {
46
+ } .confirmation__typographyTheme_gfnyn.confirmation__typographyTheme_gfnyn {
47
47
  font-size: var(--confirmation-text-font-size);
48
48
  line-height: var(--confirmation-text-line-height);
49
49
  font-weight: var(--confirmation-text-font-weight);
50
50
  font-family: var(--confirmation-text-font-family);
51
51
  color: var(--confirmation-text-color);
52
- } .confirmation__typographyThemeMobile_v9nuk.confirmation__typographyThemeMobile_v9nuk {
52
+ } .confirmation__typographyThemeMobile_gfnyn.confirmation__typographyThemeMobile_gfnyn {
53
53
  color: var(--color-light-text-secondary);
54
- } .confirmation__description_v9nuk.confirmation__description_v9nuk {
54
+ } .confirmation__description_gfnyn.confirmation__description_gfnyn {
55
55
  margin-bottom: var(--gap-8);
56
- } .confirmation__countdownWrap_v9nuk {
56
+ } .confirmation__countdownWrap_gfnyn {
57
57
  display: flex;
58
58
  align-items: center;
59
- } .confirmation__loader_v9nuk {
59
+ } .confirmation__loader_gfnyn {
60
60
  margin-right: var(--gap-8);
61
61
  }
package/modern/context.js CHANGED
@@ -14,6 +14,7 @@ const ConfirmationContext = createContext({
14
14
  phone: '',
15
15
  hideCountdownSection: false,
16
16
  breakpoint: 1024,
17
+ client: 'desktop',
17
18
  initialScreenHintSlot: null,
18
19
  onTempBlockFinished: mockFn,
19
20
  onInputFinished: mockFn,
@@ -6,11 +6,11 @@ import { Typography } from '@alfalab/core-components-typography/modern';
6
6
  import { ConfirmationContext } from './context.js';
7
7
  import { formatMsAsMinutes } from './utils.js';
8
8
 
9
- const styles = {"component":"confirmation__component_eu2jq","phone":"confirmation__phone_eu2jq","typographyTheme":"confirmation__typographyTheme_eu2jq","typographyThemeMobile":"confirmation__typographyThemeMobile_eu2jq","compact":"confirmation__compact_eu2jq","loaderWrap":"confirmation__loaderWrap_eu2jq","left":"confirmation__left_eu2jq","center":"confirmation__center_eu2jq","codeInput":"confirmation__codeInput_eu2jq","smsBtn":"confirmation__smsBtn_eu2jq","smsComeLink":"confirmation__smsComeLink_eu2jq","countdownContainer":"confirmation__countdownContainer_eu2jq","countdownMobile":"confirmation__countdownMobile_eu2jq","countdownLoaderMobile":"confirmation__countdownLoaderMobile_eu2jq","getCodeButton":"confirmation__getCodeButton_eu2jq","getCodeButtonMobile":"confirmation__getCodeButtonMobile_eu2jq","containerInput":"confirmation__containerInput_eu2jq"};
9
+ const styles = {"component":"confirmation__component_6ytgy","phone":"confirmation__phone_6ytgy","typographyTheme":"confirmation__typographyTheme_6ytgy","typographyThemeMobile":"confirmation__typographyThemeMobile_6ytgy","compact":"confirmation__compact_6ytgy","loaderWrap":"confirmation__loaderWrap_6ytgy","left":"confirmation__left_6ytgy","center":"confirmation__center_6ytgy","codeInput":"confirmation__codeInput_6ytgy","smsBtn":"confirmation__smsBtn_6ytgy","smsComeLink":"confirmation__smsComeLink_6ytgy","countdownContainer":"confirmation__countdownContainer_6ytgy","countdownMobile":"confirmation__countdownMobile_6ytgy","countdownLoaderMobile":"confirmation__countdownLoaderMobile_6ytgy","getCodeButton":"confirmation__getCodeButton_6ytgy","getCodeButtonMobile":"confirmation__getCodeButtonMobile_6ytgy","containerInput":"confirmation__containerInput_6ytgy"};
10
10
  require('./components/screens/initial/index.css')
11
11
 
12
12
  const CountdownSection = ({ codeSendHintVisible, timePassed, processing, mobile, handleSmsRetryClick, }) => {
13
- const { state, texts, timeLeft, blockSmsRetry, breakpoint } = useContext(ConfirmationContext);
13
+ const { state, texts, timeLeft, blockSmsRetry, breakpoint, client } = useContext(ConfirmationContext);
14
14
  const renderText = (text) => (React.createElement(Typography.Text, { className: cn(styles.countdownContainer, {
15
15
  [styles.countdownMobile]: mobile,
16
16
  [styles.typographyTheme]: !mobile,
@@ -22,13 +22,13 @@ const CountdownSection = ({ codeSendHintVisible, timePassed, processing, mobile,
22
22
  [styles.countdownLoaderMobile]: mobile,
23
23
  [styles.typographyTheme]: !mobile,
24
24
  }) },
25
- React.createElement(Spinner, { visible: true }),
25
+ React.createElement(Spinner, { preset: 24, visible: true }),
26
26
  React.createElement("span", { className: styles.loaderText }, state === 'CODE_CHECKING' ? texts.codeChecking : texts.codeSending)));
27
27
  }
28
28
  if (blockSmsRetry)
29
29
  return renderText(texts.noAttemptsLeft);
30
30
  if (timePassed) {
31
- return (React.createElement(Button, { size: mobile ? 'xs' : 'xxs', view: 'secondary', onClick: handleSmsRetryClick, className: cn(styles.getCodeButton, { [styles.getCodeButtonMobile]: mobile }), breakpoint: breakpoint }, texts.buttonRetry));
31
+ return (React.createElement(Button, { size: mobile ? 'xs' : 'xxs', view: 'secondary', onClick: handleSmsRetryClick, className: cn(styles.getCodeButton, { [styles.getCodeButtonMobile]: mobile }), breakpoint: breakpoint, client: client }, texts.buttonRetry));
32
32
  }
33
33
  return renderText(`${texts.countdown} ${formatMsAsMinutes(timeLeft)}`);
34
34
  };
@@ -2,7 +2,7 @@ import React from 'react';
2
2
  import cn from 'classnames';
3
3
  import { BaseConfirmation } from '../components/base-confirmation/component.js';
4
4
 
5
- const styles = {"container":"confirmation__container_1m2pc"};
5
+ const styles = {"container":"confirmation__container_n9l9d"};
6
6
  require('./mobile.css')
7
7
 
8
8
  const ConfirmationMobile = ({ className, ...resProps }) => (React.createElement(BaseConfirmation, { mobile: true, className: cn(className, styles.container), ...resProps }));
@@ -1,4 +1,4 @@
1
- /* hash: 1wlu1 */
2
- .confirmation__container_1m2pc {
1
+ /* hash: 1t5ts */
2
+ .confirmation__container_n9l9d {
3
3
  max-width: 288px;
4
4
  }
package/modern/types.d.ts CHANGED
@@ -98,20 +98,18 @@ type ConfirmationProps = {
98
98
  * @default 1024
99
99
  */
100
100
  breakpoint?: number;
101
+ /**
102
+ * Версия, которая будет использоваться при серверном рендеринге
103
+ */
104
+ client?: 'desktop' | 'mobile';
101
105
  /**
102
106
  * Продолжительность отображения ошибки
103
107
  * @default 1300
104
108
  */
105
109
  errorVisibleDuration?: number;
106
110
  };
107
- type TConfirmationContext = Required<Pick<ConfirmationProps, 'alignContent' | 'texts' | 'state' | 'screen' | 'requiredCharAmount' | 'onInputFinished' | 'countdownDuration' | 'onChangeState' | 'onSmsRetryClick' | 'onChangeScreen' | 'onFatalErrorOkButtonClick' | 'tempBlockDuration' | 'hideCountdownSection'>> & Pick<ConfirmationProps, 'phone' | 'blockSmsRetry' | 'onTempBlockFinished' | 'clearCodeOnError' | 'initialScreenHintSlot' | 'errorVisibleDuration'> & {
111
+ type TConfirmationContext = Required<Pick<ConfirmationProps, 'alignContent' | 'texts' | 'state' | 'screen' | 'requiredCharAmount' | 'onInputFinished' | 'countdownDuration' | 'onChangeState' | 'onSmsRetryClick' | 'onChangeScreen' | 'onFatalErrorOkButtonClick' | 'tempBlockDuration' | 'hideCountdownSection'>> & Pick<ConfirmationProps, 'phone' | 'blockSmsRetry' | 'onTempBlockFinished' | 'clearCodeOnError' | 'initialScreenHintSlot' | 'errorVisibleDuration' | 'breakpoint' | 'client'> & {
108
112
  timeLeft: number;
109
- } & {
110
- /**
111
- * Контрольная точка для кнопки, с нее начинается desktop версия
112
- * @default 1024
113
- */
114
- breakpoint?: number;
115
113
  };
116
114
  type ConfirmationTexts = {
117
115
  /**
@@ -6,8 +6,13 @@ type ResponsiveConfirmationProps = Omit<ConfirmationProps, 'confirmationScreens'
6
6
  * @default 1024
7
7
  */
8
8
  breakpoint?: number;
9
+ /**
10
+ * Версия, которая будет использоваться при серверном рендеринге
11
+ */
12
+ client?: 'desktop' | 'mobile';
9
13
  /**
10
14
  * Значение по-умолчанию для хука useMatchMedia
15
+ * @deprecated Используйте client
11
16
  */
12
17
  defaultMatchMediaValue?: boolean | (() => boolean);
13
18
  };
@@ -1,11 +1,10 @@
1
1
  import React from 'react';
2
- import { useMatchMedia } from '@alfalab/core-components-mq/moderncssm';
3
- import { getComponentBreakpoint } from '@alfalab/core-components-shared/moderncssm';
2
+ import { useIsDesktop } from '@alfalab/core-components-mq/moderncssm';
4
3
  import { ConfirmationDesktop } from './desktop/component.desktop.js';
5
4
  import { ConfirmationMobile } from './mobile/component.mobile.js';
6
5
 
7
- const ConfirmationResponsive = ({ breakpoint = getComponentBreakpoint(), defaultMatchMediaValue = true, ...restProps }) => {
8
- const [isDesktop] = useMatchMedia(`(min-width: ${breakpoint}px)`, defaultMatchMediaValue);
6
+ const ConfirmationResponsive = ({ breakpoint, client, defaultMatchMediaValue = client === undefined ? undefined : client === 'desktop', ...restProps }) => {
7
+ const isDesktop = useIsDesktop(breakpoint, defaultMatchMediaValue);
9
8
  return isDesktop ? (React.createElement(ConfirmationDesktop, { ...restProps })) : (React.createElement(ConfirmationMobile, { breakpoint: breakpoint, ...restProps }));
10
9
  };
11
10
 
@@ -1,6 +1,5 @@
1
1
  import React, { useEffect, useMemo } from 'react';
2
2
  import cn from 'classnames';
3
- import { getComponentBreakpoint } from '@alfalab/core-components-shared/moderncssm';
4
3
  import { usePrevious } from '@alfalab/hooks';
5
4
  import { ConfirmationContext } from '../../context.js';
6
5
  import { defaultTexts } from '../../types.js';
@@ -17,7 +16,7 @@ const confirmationScreens = {
17
16
  FATAL_ERROR: FatalError,
18
17
  TEMP_BLOCK: TempBlock,
19
18
  };
20
- const BaseConfirmation = ({ state, screen, alignContent = 'left', children, requiredCharAmount = 5, countdownDuration = ONE_MINUTE, tempBlockDuration = ONE_DAY, phone, blockSmsRetry, dataTestId, className, getScreensMap, onInputFinished, onChangeState, onSmsRetryClick, onChangeScreen, onFatalErrorOkButtonClick, onTempBlockFinished, mobile, clearCodeOnError = true, hideCountdownSection = false, breakpoint = getComponentBreakpoint(), initialScreenHintSlot, errorVisibleDuration, ...restProps }) => {
19
+ const BaseConfirmation = ({ state, screen, alignContent = 'left', children, requiredCharAmount = 5, countdownDuration = ONE_MINUTE, tempBlockDuration = ONE_DAY, phone, blockSmsRetry, dataTestId, className, getScreensMap, onInputFinished, onChangeState, onSmsRetryClick, onChangeScreen, onFatalErrorOkButtonClick, onTempBlockFinished, mobile, clearCodeOnError = true, hideCountdownSection = false, breakpoint, client, initialScreenHintSlot, errorVisibleDuration, ...restProps }) => {
21
20
  const [timeLeft, startTimer, stopTimer] = useCountdown(countdownDuration);
22
21
  const prevState = usePrevious(state);
23
22
  useEffect(() => {
@@ -66,6 +65,7 @@ const BaseConfirmation = ({ state, screen, alignContent = 'left', children, requ
66
65
  phone,
67
66
  blockSmsRetry,
68
67
  breakpoint,
68
+ client,
69
69
  onTempBlockFinished,
70
70
  onChangeState,
71
71
  onChangeScreen,
@@ -7,14 +7,14 @@ import { Header } from '../../header/component.js';
7
7
  import styles from './index.module.css';
8
8
 
9
9
  const FatalError = ({ mobile }) => {
10
- const { alignContent, texts, onFatalErrorOkButtonClick, breakpoint } = useContext(ConfirmationContext);
10
+ const { alignContent, texts, onFatalErrorOkButtonClick, breakpoint, client } = useContext(ConfirmationContext);
11
11
  return (React.createElement("div", { className: cn(styles.component, styles[alignContent]) },
12
12
  React.createElement(Header, { mobile: mobile }, texts.fatalErrorTitle),
13
13
  React.createElement(Typography.Text, { view: 'primary-medium', color: 'primary', className: cn({
14
14
  [styles.typographyTheme]: !mobile,
15
15
  [styles.typographyThemeMobile]: mobile,
16
16
  }) }, texts.fatalErrorDescription),
17
- React.createElement(Button, { size: mobile ? 'xs' : 's', view: 'secondary', onClick: onFatalErrorOkButtonClick, className: styles.button, breakpoint: breakpoint }, texts.fatalErrorButton)));
17
+ React.createElement(Button, { size: mobile ? 'xs' : 's', view: 'secondary', onClick: onFatalErrorOkButtonClick, className: styles.button, breakpoint: breakpoint, client: client }, texts.fatalErrorButton)));
18
18
  };
19
19
 
20
20
  export { FatalError };
@@ -8,7 +8,7 @@ import { Header } from '../../header/component.js';
8
8
  import styles from './index.module.css';
9
9
 
10
10
  const Hint = ({ mobile }) => {
11
- const { alignContent, texts, onChangeScreen, onChangeState, breakpoint } = useContext(ConfirmationContext);
11
+ const { alignContent, texts, onChangeScreen, onChangeState, breakpoint, client } = useContext(ConfirmationContext);
12
12
  const handleReturnButtonClick = () => {
13
13
  onChangeScreen('INITIAL');
14
14
  onChangeState('INITIAL');
@@ -42,7 +42,7 @@ const Hint = ({ mobile }) => {
42
42
  [styles.typographyTheme]: !mobile,
43
43
  [styles.typographyThemeMobile]: mobile,
44
44
  }) }, "\u0415\u0441\u043B\u0438 \u043D\u043E\u043C\u0435\u0440 \u043D\u0435\u00A0\u043C\u0435\u043D\u044F\u043B\u0441\u044F, \u0432\u043E\u0437\u043C\u043E\u0436\u043D\u043E, \u043F\u0435\u0440\u0435\u0433\u0440\u0443\u0436\u0435\u043D \u0441\u0435\u0440\u0432\u0438\u0441 \u043E\u0442\u043F\u0440\u0430\u0432\u043A\u0438 \u0441\u043E\u043E\u0431\u0449\u0435\u043D\u0438\u0439. \u041F\u043E\u043F\u0440\u043E\u0431\u0443\u0439\u0442\u0435 \u043F\u043E\u0432\u0442\u043E\u0440\u0438\u0442\u044C \u0434\u0435\u0439\u0441\u0442\u0432\u0438\u0435 \u0447\u0435\u0440\u0435\u0437 \u043D\u0435\u0441\u043A\u043E\u043B\u044C\u043A\u043E \u043C\u0438\u043D\u0443\u0442."),
45
- React.createElement(Button, { size: mobile ? 'xs' : 's', view: 'secondary', onClick: handleReturnButtonClick, className: styles.hintButton, breakpoint: breakpoint }, texts.hintButton)));
45
+ React.createElement(Button, { size: mobile ? 'xs' : 's', view: 'secondary', onClick: handleReturnButtonClick, className: styles.hintButton, breakpoint: breakpoint, client: client }, texts.hintButton)));
46
46
  };
47
47
 
48
48
  export { Hint };
@@ -8,7 +8,7 @@ import { formatMsAsMinutes } from '../../../utils.js';
8
8
  import styles from './index.module.css';
9
9
 
10
10
  const CountdownSection = ({ codeSendHintVisible, timePassed, processing, mobile, handleSmsRetryClick, }) => {
11
- const { state, texts, timeLeft, blockSmsRetry, breakpoint } = useContext(ConfirmationContext);
11
+ const { state, texts, timeLeft, blockSmsRetry, breakpoint, client } = useContext(ConfirmationContext);
12
12
  const renderText = (text) => (React.createElement(Typography.Text, { className: cn(styles.countdownContainer, {
13
13
  [styles.countdownMobile]: mobile,
14
14
  [styles.typographyTheme]: !mobile,
@@ -20,13 +20,13 @@ const CountdownSection = ({ codeSendHintVisible, timePassed, processing, mobile,
20
20
  [styles.countdownLoaderMobile]: mobile,
21
21
  [styles.typographyTheme]: !mobile,
22
22
  }) },
23
- React.createElement(Spinner, { visible: true }),
23
+ React.createElement(Spinner, { preset: 24, visible: true }),
24
24
  React.createElement("span", { className: styles.loaderText }, state === 'CODE_CHECKING' ? texts.codeChecking : texts.codeSending)));
25
25
  }
26
26
  if (blockSmsRetry)
27
27
  return renderText(texts.noAttemptsLeft);
28
28
  if (timePassed) {
29
- return (React.createElement(Button, { size: mobile ? 'xs' : 'xxs', view: 'secondary', onClick: handleSmsRetryClick, className: cn(styles.getCodeButton, { [styles.getCodeButtonMobile]: mobile }), breakpoint: breakpoint }, texts.buttonRetry));
29
+ return (React.createElement(Button, { size: mobile ? 'xs' : 'xxs', view: 'secondary', onClick: handleSmsRetryClick, className: cn(styles.getCodeButton, { [styles.getCodeButtonMobile]: mobile }), breakpoint: breakpoint, client: client }, texts.buttonRetry));
30
30
  }
31
31
  return renderText(`${texts.countdown} ${formatMsAsMinutes(timeLeft)}`);
32
32
  };
@@ -14,6 +14,7 @@ const ConfirmationContext = createContext({
14
14
  phone: '',
15
15
  hideCountdownSection: false,
16
16
  breakpoint: 1024,
17
+ client: 'desktop',
17
18
  initialScreenHintSlot: null,
18
19
  onTempBlockFinished: mockFn,
19
20
  onInputFinished: mockFn,
@@ -98,20 +98,18 @@ type ConfirmationProps = {
98
98
  * @default 1024
99
99
  */
100
100
  breakpoint?: number;
101
+ /**
102
+ * Версия, которая будет использоваться при серверном рендеринге
103
+ */
104
+ client?: 'desktop' | 'mobile';
101
105
  /**
102
106
  * Продолжительность отображения ошибки
103
107
  * @default 1300
104
108
  */
105
109
  errorVisibleDuration?: number;
106
110
  };
107
- type TConfirmationContext = Required<Pick<ConfirmationProps, 'alignContent' | 'texts' | 'state' | 'screen' | 'requiredCharAmount' | 'onInputFinished' | 'countdownDuration' | 'onChangeState' | 'onSmsRetryClick' | 'onChangeScreen' | 'onFatalErrorOkButtonClick' | 'tempBlockDuration' | 'hideCountdownSection'>> & Pick<ConfirmationProps, 'phone' | 'blockSmsRetry' | 'onTempBlockFinished' | 'clearCodeOnError' | 'initialScreenHintSlot' | 'errorVisibleDuration'> & {
111
+ type TConfirmationContext = Required<Pick<ConfirmationProps, 'alignContent' | 'texts' | 'state' | 'screen' | 'requiredCharAmount' | 'onInputFinished' | 'countdownDuration' | 'onChangeState' | 'onSmsRetryClick' | 'onChangeScreen' | 'onFatalErrorOkButtonClick' | 'tempBlockDuration' | 'hideCountdownSection'>> & Pick<ConfirmationProps, 'phone' | 'blockSmsRetry' | 'onTempBlockFinished' | 'clearCodeOnError' | 'initialScreenHintSlot' | 'errorVisibleDuration' | 'breakpoint' | 'client'> & {
108
112
  timeLeft: number;
109
- } & {
110
- /**
111
- * Контрольная точка для кнопки, с нее начинается desktop версия
112
- * @default 1024
113
- */
114
- breakpoint?: number;
115
113
  };
116
114
  type ConfirmationTexts = {
117
115
  /**
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@alfalab/core-components-confirmation",
3
- "version": "13.8.1",
3
+ "version": "13.8.3",
4
4
  "description": "Sms confirmation component",
5
5
  "keywords": [],
6
6
  "license": "MIT",
@@ -11,20 +11,20 @@
11
11
  "directory": "dist"
12
12
  },
13
13
  "dependencies": {
14
- "@alfalab/core-components-button": "^11.9.0",
15
- "@alfalab/core-components-code-input": "^3.8.0",
14
+ "@alfalab/core-components-button": "^11.10.1",
15
+ "@alfalab/core-components-code-input": "^3.9.1",
16
16
  "@alfalab/core-components-link": "^5.3.1",
17
- "@alfalab/core-components-spinner": "^3.5.0",
17
+ "@alfalab/core-components-spinner": "^4.0.0",
18
18
  "@alfalab/core-components-typography": "^4.10.2",
19
19
  "@alfalab/core-components-mq": "^4.3.0",
20
20
  "@alfalab/hooks": "^1.13.0",
21
21
  "classnames": "^2.3.1",
22
22
  "tslib": "^2.4.0",
23
- "@alfalab/core-components-shared": "^0.13.0"
23
+ "@alfalab/core-components-shared": "^0.14.0"
24
24
  },
25
25
  "peerDependencies": {
26
26
  "react": "^16.9.0 || ^17.0.1 || ^18.0.0"
27
27
  },
28
- "themesVersion": "13.4.0",
29
- "varsVersion": "9.13.1"
28
+ "themesVersion": "13.5.0",
29
+ "varsVersion": "9.15.0"
30
30
  }
@@ -1,7 +1,6 @@
1
1
  import React, { FC } from 'react';
2
2
 
3
- import { useMatchMedia } from '@alfalab/core-components-mq';
4
- import { getComponentBreakpoint } from '@alfalab/core-components-shared';
3
+ import { useIsDesktop } from '@alfalab/core-components-mq';
5
4
 
6
5
  import { ConfirmationDesktop } from './desktop';
7
6
  import { ConfirmationMobile } from './mobile';
@@ -17,18 +16,25 @@ export type ResponsiveConfirmationProps = Omit<
17
16
  */
18
17
  breakpoint?: number;
19
18
 
19
+ /**
20
+ * Версия, которая будет использоваться при серверном рендеринге
21
+ */
22
+ client?: 'desktop' | 'mobile';
23
+
20
24
  /**
21
25
  * Значение по-умолчанию для хука useMatchMedia
26
+ * @deprecated Используйте client
22
27
  */
23
28
  defaultMatchMediaValue?: boolean | (() => boolean);
24
29
  };
25
30
 
26
31
  export const ConfirmationResponsive: FC<ResponsiveConfirmationProps> = ({
27
- breakpoint = getComponentBreakpoint(),
28
- defaultMatchMediaValue = true,
32
+ breakpoint,
33
+ client,
34
+ defaultMatchMediaValue = client === undefined ? undefined : client === 'desktop',
29
35
  ...restProps
30
36
  }) => {
31
- const [isDesktop] = useMatchMedia(`(min-width: ${breakpoint}px)`, defaultMatchMediaValue);
37
+ const isDesktop = useIsDesktop(breakpoint, defaultMatchMediaValue);
32
38
 
33
39
  return isDesktop ? (
34
40
  <ConfirmationDesktop {...restProps} />