@alfalab/core-components-modal 6.0.10 → 6.0.12

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 (203) hide show
  1. package/Component.d.ts +12 -0
  2. package/Component.desktop.d.ts +5 -44
  3. package/Component.desktop.js +14 -43
  4. package/Component.js +65 -0
  5. package/Component.mobile.d.ts +5 -18
  6. package/Component.mobile.js +13 -21
  7. package/Component.responsive.d.ts +5 -21
  8. package/Component.responsive.js +12 -34
  9. package/ResponsiveContext.d.ts +5 -0
  10. package/ResponsiveContext.js +16 -0
  11. package/components/closer/Component.js +3 -3
  12. package/components/closer/index.css +4 -4
  13. package/components/content/Component.d.ts +3 -16
  14. package/components/content/Component.js +11 -1
  15. package/components/content/desktop.css +8 -8
  16. package/components/content/index.css +3 -3
  17. package/components/content/mobile.css +3 -3
  18. package/components/footer/Component.js +15 -2
  19. package/components/footer/desktop.css +9 -9
  20. package/components/footer/index.css +4 -4
  21. package/components/footer/layout.css +25 -25
  22. package/components/footer/mobile.css +3 -3
  23. package/components/header/Component.d.ts +49 -0
  24. package/components/header/Component.js +57 -5
  25. package/components/header/desktop.css +17 -17
  26. package/components/header/index.css +15 -15
  27. package/components/header/mobile.css +3 -3
  28. package/cssm/Component.d.ts +12 -0
  29. package/cssm/Component.desktop.d.ts +5 -44
  30. package/cssm/Component.desktop.js +22 -45
  31. package/cssm/Component.js +62 -0
  32. package/cssm/Component.mobile.d.ts +5 -18
  33. package/cssm/Component.mobile.js +20 -22
  34. package/cssm/Component.responsive.d.ts +5 -21
  35. package/cssm/Component.responsive.js +18 -39
  36. package/cssm/ResponsiveContext.d.ts +5 -0
  37. package/cssm/ResponsiveContext.js +16 -0
  38. package/cssm/components/closer/Component.js +1 -1
  39. package/cssm/components/content/Component.d.ts +3 -16
  40. package/cssm/components/content/Component.js +8 -0
  41. package/cssm/components/footer/Component.js +11 -0
  42. package/cssm/components/header/Component.d.ts +49 -0
  43. package/cssm/components/header/Component.js +55 -6
  44. package/cssm/desktop.js +13 -9
  45. package/cssm/index.d.ts +1 -0
  46. package/cssm/index.js +13 -19
  47. package/cssm/mobile.js +13 -9
  48. package/cssm/responsive.js +13 -19
  49. package/cssm/typings.d.ts +52 -0
  50. package/cssm/typings.js +2 -0
  51. package/desktop.css +9 -9
  52. package/desktop.js +7 -8
  53. package/esm/Component.d.ts +12 -0
  54. package/esm/Component.desktop.d.ts +5 -44
  55. package/esm/Component.desktop.js +15 -42
  56. package/esm/Component.js +55 -0
  57. package/esm/Component.mobile.d.ts +5 -18
  58. package/esm/Component.mobile.js +13 -20
  59. package/esm/Component.responsive.d.ts +5 -21
  60. package/esm/Component.responsive.js +13 -35
  61. package/esm/ResponsiveContext.d.ts +5 -0
  62. package/esm/ResponsiveContext.js +8 -0
  63. package/esm/components/closer/Component.js +3 -3
  64. package/esm/components/closer/index.css +4 -4
  65. package/esm/components/content/Component.d.ts +3 -16
  66. package/esm/components/content/Component.js +11 -1
  67. package/esm/components/content/desktop.css +8 -8
  68. package/esm/components/content/index.css +3 -3
  69. package/esm/components/content/mobile.css +3 -3
  70. package/esm/components/footer/Component.js +15 -2
  71. package/esm/components/footer/desktop.css +9 -9
  72. package/esm/components/footer/index.css +4 -4
  73. package/esm/components/footer/layout.css +25 -25
  74. package/esm/components/footer/mobile.css +3 -3
  75. package/esm/components/header/Component.d.ts +49 -0
  76. package/esm/components/header/Component.js +55 -4
  77. package/esm/components/header/desktop.css +17 -17
  78. package/esm/components/header/index.css +15 -15
  79. package/esm/components/header/mobile.css +3 -3
  80. package/esm/desktop.css +9 -9
  81. package/esm/desktop.js +7 -8
  82. package/esm/index.d.ts +1 -0
  83. package/esm/index.js +6 -13
  84. package/esm/mobile.css +2 -2
  85. package/esm/mobile.js +6 -7
  86. package/esm/responsive.js +6 -13
  87. package/esm/transitions.css +8 -8
  88. package/esm/{tslib.es6-cd2fa46f.d.ts → tslib.es6-056b72d0.d.ts} +0 -0
  89. package/esm/{tslib.es6-cd2fa46f.js → tslib.es6-056b72d0.js} +1 -1
  90. package/esm/typings.d.ts +52 -0
  91. package/esm/typings.js +1 -0
  92. package/index.d.ts +1 -0
  93. package/index.js +6 -13
  94. package/mobile.css +2 -2
  95. package/mobile.js +6 -7
  96. package/modern/Component.d.ts +12 -0
  97. package/modern/Component.desktop.d.ts +5 -44
  98. package/modern/Component.desktop.js +14 -44
  99. package/modern/Component.js +62 -0
  100. package/modern/Component.mobile.d.ts +5 -18
  101. package/modern/Component.mobile.js +12 -19
  102. package/modern/Component.responsive.d.ts +5 -21
  103. package/modern/Component.responsive.js +12 -34
  104. package/modern/ResponsiveContext.d.ts +5 -0
  105. package/modern/ResponsiveContext.js +8 -0
  106. package/modern/components/closer/Component.js +2 -2
  107. package/modern/components/closer/index.css +4 -4
  108. package/modern/components/content/Component.d.ts +3 -16
  109. package/modern/components/content/Component.js +11 -1
  110. package/modern/components/content/desktop.css +8 -8
  111. package/modern/components/content/index.css +3 -3
  112. package/modern/components/content/mobile.css +3 -3
  113. package/modern/components/footer/Component.js +15 -2
  114. package/modern/components/footer/desktop.css +9 -9
  115. package/modern/components/footer/index.css +4 -4
  116. package/modern/components/footer/layout.css +25 -25
  117. package/modern/components/footer/mobile.css +3 -3
  118. package/modern/components/header/Component.d.ts +49 -0
  119. package/modern/components/header/Component.js +52 -4
  120. package/modern/components/header/desktop.css +17 -17
  121. package/modern/components/header/index.css +15 -15
  122. package/modern/components/header/mobile.css +3 -3
  123. package/modern/desktop.css +9 -9
  124. package/modern/desktop.js +6 -7
  125. package/modern/index.d.ts +1 -0
  126. package/modern/index.js +5 -12
  127. package/modern/mobile.css +2 -2
  128. package/modern/mobile.js +5 -6
  129. package/modern/responsive.js +5 -12
  130. package/modern/transitions.css +8 -8
  131. package/modern/typings.d.ts +52 -0
  132. package/modern/typings.js +1 -0
  133. package/package.json +4 -4
  134. package/responsive.js +6 -13
  135. package/send-stats.js +1 -1
  136. package/transitions.css +8 -8
  137. package/{tslib.es6-93e97f54.d.ts → tslib.es6-0c9325d7.d.ts} +0 -0
  138. package/{tslib.es6-93e97f54.js → tslib.es6-0c9325d7.js} +0 -0
  139. package/typings.d.ts +52 -0
  140. package/typings.js +2 -0
  141. package/Component-cacd0e72.d.ts +0 -50
  142. package/Component-cacd0e72.js +0 -43
  143. package/components/content/Component.desktop.d.ts +0 -11
  144. package/components/content/Component.desktop.js +0 -25
  145. package/components/content/Component.mobile.d.ts +0 -5
  146. package/components/content/Component.mobile.js +0 -25
  147. package/components/footer/Component.desktop.d.ts +0 -11
  148. package/components/footer/Component.desktop.js +0 -28
  149. package/components/footer/Component.mobile.d.ts +0 -5
  150. package/components/footer/Component.mobile.js +0 -28
  151. package/components/header/Component.desktop.d.ts +0 -15
  152. package/components/header/Component.desktop.js +0 -33
  153. package/components/header/Component.mobile.d.ts +0 -10
  154. package/components/header/Component.mobile.js +0 -33
  155. package/cssm/Component-5fe52731.d.ts +0 -50
  156. package/cssm/Component-5fe52731.js +0 -42
  157. package/cssm/components/content/Component.desktop.d.ts +0 -11
  158. package/cssm/components/content/Component.desktop.js +0 -25
  159. package/cssm/components/content/Component.mobile.d.ts +0 -5
  160. package/cssm/components/content/Component.mobile.js +0 -25
  161. package/cssm/components/footer/Component.desktop.d.ts +0 -11
  162. package/cssm/components/footer/Component.desktop.js +0 -29
  163. package/cssm/components/footer/Component.mobile.d.ts +0 -5
  164. package/cssm/components/footer/Component.mobile.js +0 -29
  165. package/cssm/components/header/Component.desktop.d.ts +0 -15
  166. package/cssm/components/header/Component.desktop.js +0 -34
  167. package/cssm/components/header/Component.mobile.d.ts +0 -10
  168. package/cssm/components/header/Component.mobile.js +0 -34
  169. package/cssm/getDataTestId-3fe0d3e6.d.ts +0 -2
  170. package/esm/Component-f9c8a7ff.d.ts +0 -50
  171. package/esm/Component-f9c8a7ff.js +0 -35
  172. package/esm/components/content/Component.desktop.d.ts +0 -11
  173. package/esm/components/content/Component.desktop.js +0 -16
  174. package/esm/components/content/Component.mobile.d.ts +0 -5
  175. package/esm/components/content/Component.mobile.js +0 -16
  176. package/esm/components/footer/Component.desktop.d.ts +0 -11
  177. package/esm/components/footer/Component.desktop.js +0 -19
  178. package/esm/components/footer/Component.mobile.d.ts +0 -5
  179. package/esm/components/footer/Component.mobile.js +0 -19
  180. package/esm/components/header/Component.desktop.d.ts +0 -15
  181. package/esm/components/header/Component.desktop.js +0 -24
  182. package/esm/components/header/Component.mobile.d.ts +0 -10
  183. package/esm/components/header/Component.mobile.js +0 -23
  184. package/esm/getDataTestId-3fe0d3e6.d.ts +0 -2
  185. package/esm/transitions.module-a1e3a16d.js +0 -4
  186. package/getDataTestId-3fe0d3e6.d.ts +0 -2
  187. package/modern/Component-dc6c12bd.d.ts +0 -50
  188. package/modern/Component-dc6c12bd.js +0 -33
  189. package/modern/components/content/Component.desktop.d.ts +0 -11
  190. package/modern/components/content/Component.desktop.js +0 -12
  191. package/modern/components/content/Component.mobile.d.ts +0 -5
  192. package/modern/components/content/Component.mobile.js +0 -12
  193. package/modern/components/footer/Component.desktop.d.ts +0 -11
  194. package/modern/components/footer/Component.desktop.js +0 -14
  195. package/modern/components/footer/Component.mobile.d.ts +0 -5
  196. package/modern/components/footer/Component.mobile.js +0 -14
  197. package/modern/components/header/Component.desktop.d.ts +0 -15
  198. package/modern/components/header/Component.desktop.js +0 -21
  199. package/modern/components/header/Component.mobile.d.ts +0 -10
  200. package/modern/components/header/Component.mobile.js +0 -18
  201. package/modern/getDataTestId-3fe0d3e6.d.ts +0 -2
  202. package/modern/transitions.module-a1e3a16d.js +0 -4
  203. package/transitions.module-fc7cacd3.js +0 -6
@@ -6,28 +6,41 @@ var React = require('react');
6
6
  var cn = require('classnames');
7
7
  require('@alfalab/core-components-base-modal');
8
8
  var Context = require('../../Context.js');
9
+ var ResponsiveContext = require('../../ResponsiveContext.js');
9
10
 
10
11
  function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
11
12
 
12
13
  var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
13
14
  var cn__default = /*#__PURE__*/_interopDefaultLegacy(cn);
14
15
 
15
- var styles = {"footer":"modal__footer_1fmjo","sticky":"modal__sticky_1fmjo","highlighted":"modal__highlighted_1fmjo"};
16
+ var desktopStyles = {"footer":"modal__footer_mf0hw","sticky":"modal__sticky_mf0hw","fullscreen":"modal__fullscreen_mf0hw","s":"modal__s_mf0hw","m":"modal__m_mf0hw","l":"modal__l_mf0hw","xl":"modal__xl_mf0hw"};
17
+ require('./desktop.css')
18
+
19
+ var styles = {"footer":"modal__footer_1nmkm","sticky":"modal__sticky_1nmkm","highlighted":"modal__highlighted_1nmkm"};
16
20
  require('./index.css')
17
21
 
18
- var layoutStyles = {"column":"modal__column_1aizv","gap-16":"modal__gap-16_1aizv","gap-24":"modal__gap-24_1aizv","gap-32":"modal__gap-32_1aizv","start":"modal__start_1aizv","center":"modal__center_1aizv","space-between":"modal__space-between_1aizv"};
22
+ var layoutStyles = {"column":"modal__column_1ij0s","gap-16":"modal__gap-16_1ij0s","gap-24":"modal__gap-24_1ij0s","gap-32":"modal__gap-32_1ij0s","start":"modal__start_1ij0s","center":"modal__center_1ij0s","space-between":"modal__space-between_1ij0s"};
19
23
  require('./layout.css')
20
24
 
25
+ var mobileStyles = {"footer":"modal__footer_q351w","sticky":"modal__sticky_q351w"};
26
+ require('./mobile.css')
27
+
21
28
  var Footer = function (_a) {
22
29
  var _b;
23
30
  var children = _a.children, className = _a.className, sticky = _a.sticky, _c = _a.layout, layout = _c === void 0 ? 'start' : _c, gap = _a.gap;
24
31
  var _d = React.useContext(Context.ModalContext), footerHighlighted = _d.footerHighlighted, setHasFooter = _d.setHasFooter;
32
+ var _e = React.useContext(ResponsiveContext.ResponsiveContext), size = _e.size, view = _e.view;
25
33
  React.useEffect(function () {
26
34
  setHasFooter(true);
27
35
  }, [setHasFooter]);
28
36
  return (React__default['default'].createElement("div", { className: cn__default['default'](styles.footer, className, layoutStyles[layout], gap && layoutStyles["gap-" + gap], (_b = {},
29
37
  _b[styles.highlighted] = sticky && footerHighlighted,
30
38
  _b[styles.sticky] = sticky,
39
+ _b[desktopStyles.footer] = view === 'desktop',
40
+ _b[desktopStyles.sticky] = view === 'desktop' && sticky,
41
+ _b[desktopStyles[size]] = view === 'desktop',
42
+ _b[mobileStyles.footer] = view === 'mobile',
43
+ _b[mobileStyles.sticky] = view === 'mobile' && sticky,
31
44
  _b)) }, children));
32
45
  };
33
46
 
@@ -1,4 +1,4 @@
1
- /* hash: 1dm8g */
1
+ /* hash: 1l1qv */
2
2
  :root {
3
3
 
4
4
  /* Hard */
@@ -31,22 +31,22 @@
31
31
 
32
32
  /* mobile */
33
33
  }
34
- .modal__footer_eezkd {
34
+ .modal__footer_mf0hw {
35
35
  border-bottom-left-radius: var(--modal-border-radius);
36
36
  border-bottom-right-radius: var(--modal-border-radius);
37
37
  }
38
- .modal__sticky_eezkd {
38
+ .modal__sticky_mf0hw {
39
39
  bottom: calc(var(--modal-vertical-padding) * -1)
40
40
  }
41
- .modal__sticky_eezkd.modal__fullscreen_eezkd {
41
+ .modal__sticky_mf0hw.modal__fullscreen_mf0hw {
42
42
  bottom: 0;
43
43
  }
44
- .modal__s_eezkd,
45
- .modal__m_eezkd {
44
+ .modal__s_mf0hw,
45
+ .modal__m_mf0hw {
46
46
  padding: var(--modal-s-footer-paddings);
47
47
  }
48
- .modal__l_eezkd,
49
- .modal__xl_eezkd,
50
- .modal__fullscreen_eezkd {
48
+ .modal__l_mf0hw,
49
+ .modal__xl_mf0hw,
50
+ .modal__fullscreen_mf0hw {
51
51
  padding: var(--gap-2xl) var(--gap-6xl) var(--gap-6xl);
52
52
  }
@@ -1,4 +1,4 @@
1
- /* hash: l5s7l */
1
+ /* hash: 1d8ry */
2
2
  :root {
3
3
  --color-light-bg-primary: #fff;
4
4
  --color-light-border-primary: #dbdee1;
@@ -26,16 +26,16 @@
26
26
 
27
27
  /* mobile */
28
28
  }
29
- .modal__footer_1fmjo {
29
+ .modal__footer_1nmkm {
30
30
  width: 100%;
31
31
  box-sizing: border-box;
32
32
  transition: box-shadow 0.2s ease, background 0.2s ease;
33
33
  }
34
- .modal__sticky_1fmjo {
34
+ .modal__sticky_1nmkm {
35
35
  background: var(--modal-footer-background);
36
36
  position: sticky;
37
37
  }
38
- .modal__highlighted_1fmjo {
38
+ .modal__highlighted_1nmkm {
39
39
  background: var(--modal-footer-highlight-background);
40
40
  box-shadow: var(--modal-footer-highlight-box-shadow);
41
41
  }
@@ -1,4 +1,4 @@
1
- /* hash: gzq7l */
1
+ /* hash: hkbzt */
2
2
  :root {
3
3
 
4
4
  /* Hard */
@@ -25,60 +25,60 @@
25
25
 
26
26
  /* mobile */
27
27
  }
28
- .modal__column_1aizv {
28
+ .modal__column_1ij0s {
29
29
  display: flex;
30
30
  flex-direction: column
31
31
  }
32
- .modal__column_1aizv > * {
32
+ .modal__column_1ij0s > * {
33
33
  margin-bottom: var(--modal-footer-default-gap);
34
34
  }
35
- .modal__column_1aizv > *:last-child,
36
- .modal__column_1aizv > *:only-child {
35
+ .modal__column_1ij0s > *:last-child,
36
+ .modal__column_1ij0s > *:only-child {
37
37
  margin-bottom: 0;
38
38
  }
39
- .modal__column_1aizv.modal__gap-16_1aizv > * {
39
+ .modal__column_1ij0s.modal__gap-16_1ij0s > * {
40
40
  margin-bottom: var(--gap-m);
41
41
  }
42
- .modal__column_1aizv.modal__gap-24_1aizv > * {
42
+ .modal__column_1ij0s.modal__gap-24_1ij0s > * {
43
43
  margin-bottom: var(--gap-xl);
44
44
  }
45
- .modal__column_1aizv.modal__gap-32_1aizv > * {
45
+ .modal__column_1ij0s.modal__gap-32_1ij0s > * {
46
46
  margin-bottom: var(--gap-2xl);
47
47
  }
48
- .modal__start_1aizv {
48
+ .modal__start_1ij0s {
49
49
  justify-content: flex-start;
50
50
  }
51
- .modal__center_1aizv {
51
+ .modal__center_1ij0s {
52
52
  justify-content: center;
53
53
  }
54
- .modal__space-between_1aizv {
54
+ .modal__space-between_1ij0s {
55
55
  justify-content: space-between
56
56
  }
57
- .modal__space-between_1aizv > * {
57
+ .modal__space-between_1ij0s > * {
58
58
  flex: 1;
59
59
  }
60
- .modal__start_1aizv,
61
- .modal__center_1aizv,
62
- .modal__space-between_1aizv {
60
+ .modal__start_1ij0s,
61
+ .modal__center_1ij0s,
62
+ .modal__space-between_1ij0s {
63
63
  display: flex
64
64
  }
65
- .modal__start_1aizv > *, .modal__center_1aizv > *, .modal__space-between_1aizv > * {
65
+ .modal__start_1ij0s > *, .modal__center_1ij0s > *, .modal__space-between_1ij0s > * {
66
66
  margin-right: var(--modal-footer-default-gap);
67
67
  }
68
- .modal__start_1aizv > *:last-child,
69
- .modal__start_1aizv > *:only-child,
70
- .modal__center_1aizv > *:last-child,
71
- .modal__center_1aizv > *:only-child,
72
- .modal__space-between_1aizv > *:last-child,
73
- .modal__space-between_1aizv > *:only-child {
68
+ .modal__start_1ij0s > *:last-child,
69
+ .modal__start_1ij0s > *:only-child,
70
+ .modal__center_1ij0s > *:last-child,
71
+ .modal__center_1ij0s > *:only-child,
72
+ .modal__space-between_1ij0s > *:last-child,
73
+ .modal__space-between_1ij0s > *:only-child {
74
74
  margin-right: 0;
75
75
  }
76
- .modal__start_1aizv.modal__gap-16_1aizv > *, .modal__center_1aizv.modal__gap-16_1aizv > *, .modal__space-between_1aizv.modal__gap-16_1aizv > * {
76
+ .modal__start_1ij0s.modal__gap-16_1ij0s > *, .modal__center_1ij0s.modal__gap-16_1ij0s > *, .modal__space-between_1ij0s.modal__gap-16_1ij0s > * {
77
77
  margin-right: var(--gap-m);
78
78
  }
79
- .modal__start_1aizv.modal__gap-24_1aizv > *, .modal__center_1aizv.modal__gap-24_1aizv > *, .modal__space-between_1aizv.modal__gap-24_1aizv > * {
79
+ .modal__start_1ij0s.modal__gap-24_1ij0s > *, .modal__center_1ij0s.modal__gap-24_1ij0s > *, .modal__space-between_1ij0s.modal__gap-24_1ij0s > * {
80
80
  margin-right: var(--gap-xl);
81
81
  }
82
- .modal__start_1aizv.modal__gap-32_1aizv > *, .modal__center_1aizv.modal__gap-32_1aizv > *, .modal__space-between_1aizv.modal__gap-32_1aizv > * {
82
+ .modal__start_1ij0s.modal__gap-32_1ij0s > *, .modal__center_1ij0s.modal__gap-32_1ij0s > *, .modal__space-between_1ij0s.modal__gap-32_1ij0s > * {
83
83
  margin-right: var(--gap-2xl);
84
84
  }
@@ -1,4 +1,4 @@
1
- /* hash: 12q0j */
1
+ /* hash: 1lggp */
2
2
  :root {
3
3
 
4
4
  /* Hard */
@@ -22,9 +22,9 @@
22
22
 
23
23
  /* mobile */
24
24
  }
25
- .modal__footer_p1y9m {
25
+ .modal__footer_q351w {
26
26
  padding: var(--gap-m);
27
27
  }
28
- .modal__sticky_p1y9m {
28
+ .modal__sticky_q351w {
29
29
  bottom: 0;
30
30
  }
@@ -0,0 +1,49 @@
1
+ import { FC, ReactNode } from 'react';
2
+ type HeaderProps = {
3
+ /**
4
+ * Контент шапки
5
+ */
6
+ children?: ReactNode;
7
+ /**
8
+ * Слот слева
9
+ */
10
+ leftAddons?: ReactNode;
11
+ /**
12
+ * Наличие компонента крестика
13
+ */
14
+ hasCloser?: ReactNode;
15
+ /**
16
+ * Дополнительный класс
17
+ */
18
+ className?: string;
19
+ /**
20
+ * Дополнительный класс для аддонов
21
+ */
22
+ addonClassName?: string;
23
+ /**
24
+ * Дополнительный класс для контента
25
+ */
26
+ contentClassName?: string;
27
+ /**
28
+ * Заголовок шапки
29
+ */
30
+ title?: string;
31
+ /**
32
+ * Выравнивание заголовка
33
+ */
34
+ align?: 'left' | 'center';
35
+ /**
36
+ * Обрезать ли заголовок
37
+ */
38
+ trim?: boolean;
39
+ /**
40
+ * Фиксирует шапку
41
+ */
42
+ sticky?: boolean;
43
+ /**
44
+ * Идентификатор для систем автоматизированного тестирования
45
+ */
46
+ dataTestId?: string;
47
+ };
48
+ declare const Header: FC<HeaderProps>;
49
+ export { HeaderProps, Header };
@@ -2,12 +2,64 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
- require('react');
6
- require('classnames');
5
+ require('../../tslib.es6-0c9325d7.js');
6
+ var React = require('react');
7
+ var cn = require('classnames');
8
+ require('@alfalab/core-components-icon-button');
9
+ require('@alfalab/icons-glyph/CrossHeavyMIcon');
7
10
  require('@alfalab/core-components-base-modal');
8
- require('../../Context.js');
9
- var components_header_Component = require('../../Component-cacd0e72.js');
11
+ var Context = require('../../Context.js');
12
+ var components_closer_Component = require('../closer/Component.js');
13
+ var ResponsiveContext = require('../../ResponsiveContext.js');
14
+ var CrossMIcon = require('@alfalab/icons-glyph/CrossMIcon');
10
15
 
16
+ function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
11
17
 
18
+ var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
19
+ var cn__default = /*#__PURE__*/_interopDefaultLegacy(cn);
12
20
 
13
- exports.Header = components_header_Component.Header;
21
+ var getDataTestId = function (dataTestId, element) {
22
+ var elementPart = element ? "-" + element.toLowerCase() : '';
23
+ return dataTestId ? "" + dataTestId + elementPart : undefined;
24
+ };
25
+
26
+ var desktopStyles = {"header":"modal__header_xgu5m","content":"modal__content_xgu5m","s":"modal__s_xgu5m","m":"modal__m_xgu5m","l":"modal__l_xgu5m","xl":"modal__xl_xgu5m","fullscreen":"modal__fullscreen_xgu5m","hasContent":"modal__hasContent_xgu5m","sticky":"modal__sticky_xgu5m"};
27
+ require('./desktop.css')
28
+
29
+ var styles = {"header":"modal__header_f5byq","hasContent":"modal__hasContent_f5byq","highlighted":"modal__highlighted_f5byq","sticky":"modal__sticky_f5byq","content":"modal__content_f5byq","title":"modal__title_f5byq","addon":"modal__addon_f5byq","closer":"modal__closer_f5byq","left":"modal__left_f5byq","center":"modal__center_f5byq","right":"modal__right_f5byq","trim":"modal__trim_f5byq"};
30
+ require('./index.css')
31
+
32
+ var mobileStyles = {"sticky":"modal__sticky_15fng","content":"modal__content_15fng"};
33
+ require('./mobile.css')
34
+
35
+ var Header = function (_a) {
36
+ var _b, _c;
37
+ var className = _a.className, addonClassName = _a.addonClassName, contentClassName = _a.contentClassName, leftAddons = _a.leftAddons, children = _a.children, _d = _a.align, align = _d === void 0 ? 'left' : _d, _e = _a.trim, trim = _e === void 0 ? true : _e, title = _a.title, _f = _a.hasCloser, hasCloser = _f === void 0 ? true : _f, sticky = _a.sticky, dataTestId = _a.dataTestId;
38
+ var _g = React.useContext(Context.ModalContext), headerHighlighted = _g.headerHighlighted, setHasHeader = _g.setHasHeader;
39
+ var _h = React.useContext(ResponsiveContext.ResponsiveContext), size = _h.size, view = _h.view;
40
+ var hasContent = title || Boolean(children);
41
+ React.useEffect(function () {
42
+ setHasHeader(true);
43
+ }, [setHasHeader]);
44
+ return (React__default['default'].createElement("div", { className: cn__default['default'](styles.header, className, (_b = {},
45
+ _b[styles.highlighted] = hasContent && sticky && headerHighlighted,
46
+ _b[styles.sticky] = sticky,
47
+ _b[styles.hasContent] = hasContent,
48
+ _b[desktopStyles.header] = view === 'desktop',
49
+ _b[desktopStyles.hasContent] = view === 'desktop' && hasContent,
50
+ _b[desktopStyles.sticky] = view === 'desktop' && sticky,
51
+ _b[desktopStyles[size]] = view === 'desktop',
52
+ _b[mobileStyles.sticky] = view === 'mobile' && sticky,
53
+ _b)), "data-test-id": getDataTestId(dataTestId) },
54
+ (leftAddons || view === 'desktop') && (React__default['default'].createElement("div", { className: cn__default['default'](styles.addon, addonClassName) }, leftAddons)),
55
+ hasContent && (React__default['default'].createElement("div", { className: cn__default['default'](styles.content, contentClassName, styles[align], (_c = {},
56
+ _c[styles.trim] = trim,
57
+ _c[desktopStyles.content] = view === 'desktop',
58
+ _c[mobileStyles.content] = view === 'mobile',
59
+ _c)) },
60
+ children,
61
+ title && (React__default['default'].createElement("div", { className: styles.title, "data-test-id": getDataTestId(dataTestId, 'title') }, title)))),
62
+ hasCloser && (React__default['default'].createElement("div", { className: cn__default['default'](styles.addon, styles.closer, addonClassName) }, view === 'desktop' ? (React__default['default'].createElement(components_closer_Component.Closer, { dataTestId: getDataTestId(dataTestId, 'closer') })) : (React__default['default'].createElement(components_closer_Component.Closer, { icon: CrossMIcon.CrossMIcon, size: 'xs', dataTestId: getDataTestId(dataTestId, 'closer') }))))));
63
+ };
64
+
65
+ exports.Header = Header;
@@ -1,4 +1,4 @@
1
- /* hash: 1kwlp */
1
+ /* hash: 18ti8 */
2
2
  :root {
3
3
 
4
4
  /* Hard */
@@ -43,45 +43,45 @@
43
43
 
44
44
  /* mobile */
45
45
  }
46
- .modal__header_13jb3 {
46
+ .modal__header_xgu5m {
47
47
  border-top-left-radius: var(--modal-border-radius);
48
48
  border-top-right-radius: var(--modal-border-radius);
49
49
  }
50
- .modal__content_13jb3 {
50
+ .modal__content_xgu5m {
51
51
  font-weight: var(--modal-header-desktop-font-weight);
52
52
  font-family: var(--modal-header-desktop-font-family);
53
53
  }
54
- .modal__s_13jb3 .modal__content_13jb3,
55
- .modal__m_13jb3 .modal__content_13jb3 {
54
+ .modal__s_xgu5m .modal__content_xgu5m,
55
+ .modal__m_xgu5m .modal__content_xgu5m {
56
56
  padding: var(--modal-s-header-desktop-content-paddings);
57
57
  font-size: var(--modal-s-header-desktop-font-size);
58
58
  line-height: var(--modal-s-header-desktop-line-height);
59
59
  }
60
- .modal__l_13jb3 .modal__content_13jb3,
61
- .modal__xl_13jb3 .modal__content_13jb3,
62
- .modal__fullscreen_13jb3 .modal__content_13jb3 {
60
+ .modal__l_xgu5m .modal__content_xgu5m,
61
+ .modal__xl_xgu5m .modal__content_xgu5m,
62
+ .modal__fullscreen_xgu5m .modal__content_xgu5m {
63
63
  padding: var(--modal-l-header-desktop-content-paddings);
64
64
  font-size: var(--modal-l-header-desktop-font-size);
65
65
  line-height: var(--modal-l-header-desktop-line-height);
66
66
  }
67
- .modal__s_13jb3,
68
- .modal__m_13jb3 {
67
+ .modal__s_xgu5m,
68
+ .modal__m_xgu5m {
69
69
  padding: var(--modal-s-header-paddings)
70
70
  }
71
- .modal__s_13jb3:not(.modal__hasContent_13jb3), .modal__m_13jb3:not(.modal__hasContent_13jb3) {
71
+ .modal__s_xgu5m:not(.modal__hasContent_xgu5m), .modal__m_xgu5m:not(.modal__hasContent_xgu5m) {
72
72
  padding-bottom: 0;
73
73
  }
74
- .modal__l_13jb3,
75
- .modal__xl_13jb3,
76
- .modal__fullscreen_13jb3 {
74
+ .modal__l_xgu5m,
75
+ .modal__xl_xgu5m,
76
+ .modal__fullscreen_xgu5m {
77
77
  padding: var(--gap-xl) var(--gap-xl) var(--gap-m)
78
78
  }
79
- .modal__l_13jb3:not(.modal__hasContent_13jb3), .modal__xl_13jb3:not(.modal__hasContent_13jb3), .modal__fullscreen_13jb3:not(.modal__hasContent_13jb3) {
79
+ .modal__l_xgu5m:not(.modal__hasContent_xgu5m), .modal__xl_xgu5m:not(.modal__hasContent_xgu5m), .modal__fullscreen_xgu5m:not(.modal__hasContent_xgu5m) {
80
80
  padding-bottom: var(--gap-m);
81
81
  }
82
- .modal__sticky_13jb3 {
82
+ .modal__sticky_xgu5m {
83
83
  top: calc(var(--modal-vertical-padding) * -1)
84
84
  }
85
- .modal__sticky_13jb3.modal__fullscreen_13jb3 {
85
+ .modal__sticky_xgu5m.modal__fullscreen_xgu5m {
86
86
  top: 0;
87
87
  }
@@ -1,4 +1,4 @@
1
- /* hash: 1ewvt */
1
+ /* hash: 1hn7b */
2
2
  :root {
3
3
  --color-light-bg-primary: #fff;
4
4
  }
@@ -25,7 +25,7 @@
25
25
 
26
26
  /* mobile */
27
27
  }
28
- .modal__header_l7swy {
28
+ .modal__header_f5byq {
29
29
  width: 100%;
30
30
  box-sizing: border-box;
31
31
  display: flex;
@@ -33,26 +33,26 @@
33
33
  justify-content: space-between;
34
34
  transition: box-shadow 0.2s ease, background 0.2s ease
35
35
  }
36
- .modal__header_l7swy:not(.modal__hasContent_l7swy) {
36
+ .modal__header_f5byq:not(.modal__hasContent_f5byq) {
37
37
  pointer-events: none;
38
38
  }
39
- .modal__highlighted_l7swy {
39
+ .modal__highlighted_f5byq {
40
40
  background: var(--modal-header-highlight-background);
41
41
  box-shadow: var(--modal-header-highlight-box-shadow);
42
42
  }
43
- .modal__sticky_l7swy {
43
+ .modal__sticky_f5byq {
44
44
  position: sticky
45
45
  }
46
- .modal__sticky_l7swy.modal__hasContent_l7swy {
46
+ .modal__sticky_f5byq.modal__hasContent_f5byq {
47
47
  background: var(--modal-header-background);
48
48
  }
49
- .modal__content_l7swy {
49
+ .modal__content_f5byq {
50
50
  flex-grow: 1;
51
51
  }
52
- .modal__title_l7swy {
52
+ .modal__title_f5byq {
53
53
  word-break: break-word;
54
54
  }
55
- .modal__addon_l7swy {
55
+ .modal__addon_f5byq {
56
56
  min-width: 48px;
57
57
  height: 48px;
58
58
  display: flex;
@@ -60,25 +60,25 @@
60
60
  align-items: center;
61
61
  pointer-events: all;
62
62
  }
63
- .modal__closer_l7swy {
63
+ .modal__closer_f5byq {
64
64
  margin-left: auto;
65
65
  }
66
- .modal__left_l7swy {
66
+ .modal__left_f5byq {
67
67
  justify-content: flex-start;
68
68
  text-align: left;
69
69
  }
70
- .modal__center_l7swy {
70
+ .modal__center_f5byq {
71
71
  justify-content: center;
72
72
  text-align: center;
73
73
  }
74
- .modal__right_l7swy {
74
+ .modal__right_f5byq {
75
75
  justify-content: flex-end;
76
76
  text-align: right;
77
77
  }
78
- .modal__trim_l7swy {
78
+ .modal__trim_f5byq {
79
79
  overflow: hidden
80
80
  }
81
- .modal__trim_l7swy .modal__title_l7swy {
81
+ .modal__trim_f5byq .modal__title_f5byq {
82
82
  overflow: hidden;
83
83
  white-space: nowrap;
84
84
  text-overflow: ellipsis;
@@ -1,4 +1,4 @@
1
- /* hash: 1k2gl */
1
+ /* hash: 1f6lr */
2
2
  :root {
3
3
 
4
4
  /* Hard */
@@ -33,10 +33,10 @@
33
33
  --modal-header-mobile-font-family: var(--font-family-system);
34
34
  --modal-header-mobile-font-weight: bold;
35
35
  }
36
- .modal__sticky_12vnx {
36
+ .modal__sticky_15fng {
37
37
  top: 0;
38
38
  }
39
- .modal__content_12vnx {
39
+ .modal__content_15fng {
40
40
  font-size: var(--modal-header-mobile-font-size);
41
41
  line-height: var(--modal-header-mobile-line-height);
42
42
  font-family: var(--modal-header-mobile-font-family);
@@ -0,0 +1,12 @@
1
+ /// <reference types="react" />
2
+ import React from 'react';
3
+ import { View } from "./typings";
4
+ declare const Modal: React.ForwardRefExoticComponent<import("@alfalab/core-components-base-modal").BaseModalProps & {
5
+ size?: "s" | "m" | "l" | "xl" | "fullscreen" | undefined;
6
+ fullscreen?: boolean | undefined;
7
+ fixedPosition?: boolean | undefined;
8
+ hasCloser?: boolean | undefined;
9
+ } & {
10
+ view: View;
11
+ } & React.RefAttributes<HTMLDivElement>>;
12
+ export { Modal };
@@ -1,53 +1,14 @@
1
1
  /// <reference types="react" />
2
2
  import React from 'react';
3
- import { BaseModalProps } from "@alfalab/core-components-base-modal";
4
- type ModalDesktopProps = BaseModalProps & {
5
- /**
6
- * Ширина модального окна
7
- * @default "m"
8
- */
9
- size?: 's' | 'm' | 'l' | 'xl' | 'fullscreen';
10
- /**
11
- * Растягивает модальное окно на весь экран
12
- * @deprecated Используйте размер fullscreen
13
- */
14
- fullscreen?: boolean;
15
- /**
16
- * Фиксирует позицию модального окна после открытия,
17
- * предотвращая скачки, если контент внутри будет меняться
18
- */
19
- fixedPosition?: boolean;
20
- /**
21
- * Управление наличием закрывающего крестика
22
- * @default false
23
- */
24
- hasCloser?: boolean;
25
- };
26
- declare const ModalDesktop: React.ForwardRefExoticComponent<BaseModalProps & {
27
- /**
28
- * Ширина модального окна
29
- * @default "m"
30
- */
3
+ declare const ModalDesktop: React.ForwardRefExoticComponent<import("packages/base-modal/src").BaseModalProps & {
31
4
  size?: "s" | "m" | "l" | "xl" | "fullscreen" | undefined;
32
- /**
33
- * Растягивает модальное окно на весь экран
34
- * @deprecated Используйте размер fullscreen
35
- */
36
5
  fullscreen?: boolean | undefined;
37
- /**
38
- * Фиксирует позицию модального окна после открытия,
39
- * предотвращая скачки, если контент внутри будет меняться
40
- */
41
6
  fixedPosition?: boolean | undefined;
42
- /**
43
- * Управление наличием закрывающего крестика
44
- * @default false
45
- */
46
7
  hasCloser?: boolean | undefined;
47
8
  } & React.RefAttributes<HTMLDivElement>> & {
48
- Content: React.FC<import("./components/content/Component.desktop").ContentDesktopProps>;
49
- Header: React.FC<import("./components/header/Component.desktop").HeaderDesktopProps>;
50
- Footer: React.FC<import("./components/footer/Component.desktop").FooterDesktopProps>;
9
+ Content: React.FC<import("./typings").ContentProps>;
10
+ Header: React.FC<import("./components/header/Component").HeaderProps>;
11
+ Footer: React.FC<import("./components/footer/Component").FooterProps>;
51
12
  Closer: React.FC<import("./components/closer/Component").CloserProps>;
52
13
  };
53
- export { ModalDesktopProps, ModalDesktop };
14
+ export { ModalDesktop };