@alfalab/core-components-modal 4.2.0 → 5.0.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (172) hide show
  1. package/CHANGELOG.md +29 -0
  2. package/dist/Component.desktop.d.ts +4 -2
  3. package/dist/Component.desktop.js +8 -8
  4. package/dist/Component.mobile.js +4 -13
  5. package/dist/Component.responsive.d.ts +4 -4
  6. package/dist/Component.responsive.js +5 -5
  7. package/dist/components/closer/Component.d.ts +7 -4
  8. package/dist/components/closer/Component.js +11 -4
  9. package/dist/components/closer/index.css +20 -14
  10. package/dist/components/content/Component.d.ts +1 -3
  11. package/dist/components/content/Component.desktop.d.ts +2 -5
  12. package/dist/components/content/Component.desktop.js +4 -4
  13. package/dist/components/content/Component.js +4 -1
  14. package/dist/components/content/Component.mobile.js +8 -4
  15. package/dist/components/content/desktop.css +17 -599
  16. package/dist/components/content/index.css +28 -0
  17. package/dist/components/content/mobile.css +8 -586
  18. package/dist/components/footer/Component.d.ts +1 -3
  19. package/dist/components/footer/Component.desktop.d.ts +2 -5
  20. package/dist/components/footer/Component.desktop.js +7 -4
  21. package/dist/components/footer/Component.js +5 -2
  22. package/dist/components/footer/Component.mobile.js +11 -4
  23. package/dist/components/footer/desktop.css +17 -605
  24. package/dist/components/footer/index.css +41 -0
  25. package/dist/components/footer/layout.css +27 -27
  26. package/dist/components/footer/mobile.css +6 -594
  27. package/dist/components/header/Component.d.ts +4 -1
  28. package/dist/components/header/Component.desktop.d.ts +2 -5
  29. package/dist/components/header/Component.desktop.js +6 -5
  30. package/dist/components/header/Component.js +2 -2
  31. package/dist/components/header/Component.mobile.js +3 -3
  32. package/dist/components/header/desktop.css +50 -36
  33. package/dist/components/header/index.css +25 -18
  34. package/dist/components/header/mobile.css +9 -10
  35. package/dist/cssm/Component.desktop.d.ts +4 -2
  36. package/dist/cssm/Component.desktop.js +7 -5
  37. package/dist/cssm/Component.mobile.js +3 -10
  38. package/dist/cssm/Component.responsive.d.ts +3 -3
  39. package/dist/cssm/Component.responsive.js +5 -3
  40. package/dist/cssm/components/closer/Component.d.ts +7 -4
  41. package/dist/cssm/components/closer/Component.js +9 -2
  42. package/dist/cssm/components/closer/index.module.css +18 -12
  43. package/dist/cssm/components/content/Component.d.ts +1 -3
  44. package/dist/cssm/components/content/Component.desktop.d.ts +2 -5
  45. package/dist/cssm/components/content/Component.desktop.js +3 -2
  46. package/dist/cssm/components/content/Component.js +5 -3
  47. package/dist/cssm/components/content/Component.mobile.js +7 -2
  48. package/dist/cssm/components/content/desktop.module.css +13 -20
  49. package/dist/cssm/components/content/index.module.css +3 -15
  50. package/dist/cssm/components/content/mobile.module.css +6 -8
  51. package/dist/cssm/components/footer/Component.d.ts +1 -3
  52. package/dist/cssm/components/footer/Component.desktop.d.ts +2 -5
  53. package/dist/cssm/components/footer/Component.desktop.js +6 -2
  54. package/dist/cssm/components/footer/Component.js +6 -4
  55. package/dist/cssm/components/footer/Component.mobile.js +10 -2
  56. package/dist/cssm/components/footer/desktop.module.css +14 -24
  57. package/dist/cssm/components/footer/index.module.css +6 -9
  58. package/dist/cssm/components/footer/layout.module.css +2 -2
  59. package/dist/cssm/components/footer/mobile.module.css +3 -11
  60. package/dist/cssm/components/header/Component.d.ts +4 -1
  61. package/dist/cssm/components/header/Component.desktop.d.ts +2 -5
  62. package/dist/cssm/components/header/Component.desktop.js +4 -3
  63. package/dist/cssm/components/header/Component.js +1 -1
  64. package/dist/cssm/components/header/Component.mobile.js +1 -1
  65. package/dist/cssm/components/header/desktop.module.css +44 -30
  66. package/dist/cssm/components/header/index.module.css +12 -5
  67. package/dist/cssm/components/header/mobile.module.css +6 -7
  68. package/dist/cssm/desktop.js +2 -0
  69. package/dist/cssm/desktop.module.css +9 -5
  70. package/dist/cssm/index.js +3 -1
  71. package/dist/cssm/mobile.js +2 -1
  72. package/dist/cssm/mobile.module.css +2 -2
  73. package/dist/cssm/responsive.js +3 -1
  74. package/dist/cssm/vars.css +2 -2
  75. package/dist/desktop.css +17 -13
  76. package/dist/desktop.js +2 -2
  77. package/dist/esm/Component.desktop.d.ts +4 -2
  78. package/dist/esm/Component.desktop.js +8 -8
  79. package/dist/esm/Component.mobile.js +5 -14
  80. package/dist/esm/Component.responsive.d.ts +3 -3
  81. package/dist/esm/Component.responsive.js +5 -5
  82. package/dist/esm/components/closer/Component.d.ts +7 -4
  83. package/dist/esm/components/closer/Component.js +11 -4
  84. package/dist/esm/components/closer/index.css +20 -14
  85. package/dist/esm/components/content/Component.d.ts +1 -3
  86. package/dist/esm/components/content/Component.desktop.d.ts +2 -5
  87. package/dist/esm/components/content/Component.desktop.js +4 -4
  88. package/dist/esm/components/content/Component.js +4 -1
  89. package/dist/esm/components/content/Component.mobile.js +7 -4
  90. package/dist/esm/components/content/desktop.css +17 -599
  91. package/dist/esm/components/content/index.css +28 -0
  92. package/dist/esm/components/content/mobile.css +8 -586
  93. package/dist/esm/components/footer/Component.d.ts +1 -3
  94. package/dist/esm/components/footer/Component.desktop.d.ts +2 -5
  95. package/dist/esm/components/footer/Component.desktop.js +7 -4
  96. package/dist/esm/components/footer/Component.js +5 -2
  97. package/dist/esm/components/footer/Component.mobile.js +10 -4
  98. package/dist/esm/components/footer/desktop.css +17 -605
  99. package/dist/esm/components/footer/index.css +41 -0
  100. package/dist/esm/components/footer/layout.css +27 -27
  101. package/dist/esm/components/footer/mobile.css +6 -594
  102. package/dist/esm/components/header/Component.d.ts +4 -1
  103. package/dist/esm/components/header/Component.desktop.d.ts +2 -5
  104. package/dist/esm/components/header/Component.desktop.js +6 -5
  105. package/dist/esm/components/header/Component.js +2 -2
  106. package/dist/esm/components/header/Component.mobile.js +3 -3
  107. package/dist/esm/components/header/desktop.css +50 -36
  108. package/dist/esm/components/header/index.css +25 -18
  109. package/dist/esm/components/header/mobile.css +9 -10
  110. package/dist/esm/desktop.css +17 -13
  111. package/dist/esm/desktop.js +2 -2
  112. package/dist/esm/index.js +3 -3
  113. package/dist/esm/mobile.css +4 -4
  114. package/dist/esm/mobile.js +2 -3
  115. package/dist/esm/responsive.js +3 -3
  116. package/dist/esm/transitions.css +8 -8
  117. package/dist/esm/transitions.module-c3e21445.js +4 -0
  118. package/dist/esm/{tslib.es6-38b70e5e.d.ts → tslib.es6-acfafc87.d.ts} +0 -0
  119. package/dist/esm/{tslib.es6-38b70e5e.js → tslib.es6-acfafc87.js} +0 -0
  120. package/dist/index.js +3 -3
  121. package/dist/mobile.css +4 -4
  122. package/dist/mobile.js +2 -3
  123. package/dist/modern/Component.desktop.d.ts +4 -2
  124. package/dist/modern/Component.desktop.js +8 -8
  125. package/dist/modern/Component.mobile.js +4 -14
  126. package/dist/modern/Component.responsive.d.ts +3 -3
  127. package/dist/modern/Component.responsive.js +4 -4
  128. package/dist/modern/components/closer/Component.d.ts +7 -4
  129. package/dist/modern/components/closer/Component.js +9 -3
  130. package/dist/modern/components/closer/index.css +20 -14
  131. package/dist/modern/components/content/Component.d.ts +1 -3
  132. package/dist/modern/components/content/Component.desktop.d.ts +2 -5
  133. package/dist/modern/components/content/Component.desktop.js +2 -2
  134. package/dist/modern/components/content/Component.js +4 -1
  135. package/dist/modern/components/content/Component.mobile.js +3 -3
  136. package/dist/modern/components/content/desktop.css +17 -599
  137. package/dist/modern/components/content/index.css +28 -0
  138. package/dist/modern/components/content/mobile.css +8 -586
  139. package/dist/modern/components/footer/Component.d.ts +1 -3
  140. package/dist/modern/components/footer/Component.desktop.d.ts +2 -5
  141. package/dist/modern/components/footer/Component.desktop.js +4 -2
  142. package/dist/modern/components/footer/Component.js +5 -2
  143. package/dist/modern/components/footer/Component.mobile.js +5 -3
  144. package/dist/modern/components/footer/desktop.css +17 -605
  145. package/dist/modern/components/footer/index.css +41 -0
  146. package/dist/modern/components/footer/layout.css +27 -27
  147. package/dist/modern/components/footer/mobile.css +6 -594
  148. package/dist/modern/components/header/Component.d.ts +4 -1
  149. package/dist/modern/components/header/Component.desktop.d.ts +2 -5
  150. package/dist/modern/components/header/Component.desktop.js +8 -5
  151. package/dist/modern/components/header/Component.js +2 -2
  152. package/dist/modern/components/header/Component.mobile.js +2 -2
  153. package/dist/modern/components/header/desktop.css +50 -36
  154. package/dist/modern/components/header/index.css +25 -18
  155. package/dist/modern/components/header/mobile.css +9 -10
  156. package/dist/modern/desktop.css +17 -13
  157. package/dist/modern/desktop.js +1 -1
  158. package/dist/modern/index.js +2 -2
  159. package/dist/modern/mobile.css +4 -4
  160. package/dist/modern/mobile.js +1 -2
  161. package/dist/modern/responsive.js +2 -2
  162. package/dist/modern/transitions.css +8 -8
  163. package/dist/modern/transitions.module-c3e21445.js +4 -0
  164. package/dist/responsive.js +3 -3
  165. package/dist/transitions.css +8 -8
  166. package/dist/transitions.module-ff9f50b2.js +6 -0
  167. package/dist/{tslib.es6-7f8fab53.d.ts → tslib.es6-aeaa6cae.d.ts} +0 -0
  168. package/dist/{tslib.es6-7f8fab53.js → tslib.es6-aeaa6cae.js} +0 -0
  169. package/package.json +7 -7
  170. package/dist/esm/transitions.module-04d7a935.js +0 -4
  171. package/dist/modern/transitions.module-04d7a935.js +0 -4
  172. package/dist/transitions.module-b2682a08.js +0 -6
@@ -6,18 +6,20 @@ var React = require('react');
6
6
  var cn = require('classnames');
7
7
  require('@alfalab/core-components-base-modal/dist/cssm');
8
8
  var Context = require('../../Context.js');
9
+ var styles = require('./index.module.css');
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);
15
+ var styles__default = /*#__PURE__*/_interopDefaultLegacy(styles);
14
16
 
15
17
  var Content = function (_a) {
16
18
  var _b;
17
- var children = _a.children, flex = _a.flex, className = _a.className, styles = _a.styles;
19
+ var children = _a.children, flex = _a.flex, className = _a.className;
18
20
  var contentRef = React.useContext(Context.ModalContext).contentRef;
19
- return (React__default['default'].createElement("div", { className: cn__default['default'](styles.content, className, (_b = {},
20
- _b[styles.flex] = flex,
21
+ return (React__default['default'].createElement("div", { className: cn__default['default'](styles__default['default'].content, className, (_b = {},
22
+ _b[styles__default['default'].flex] = flex,
21
23
  _b)), ref: contentRef }, children));
22
24
  };
23
25
 
@@ -4,17 +4,22 @@ Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
5
  var tslib_es6 = require('../../tslib.es6-ce870b46.js');
6
6
  var React = require('react');
7
- require('classnames');
7
+ var cn = require('classnames');
8
8
  require('@alfalab/core-components-base-modal/dist/cssm');
9
9
  require('../../Context.js');
10
+ require('./index.module.css');
10
11
  var components_content_Component = require('./Component.js');
11
12
  var styles = require('./mobile.module.css');
12
13
 
13
14
  function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
14
15
 
15
16
  var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
17
+ var cn__default = /*#__PURE__*/_interopDefaultLegacy(cn);
16
18
  var styles__default = /*#__PURE__*/_interopDefaultLegacy(styles);
17
19
 
18
- var ContentMobile = function (props) { return (React__default['default'].createElement(components_content_Component.Content, tslib_es6.__assign({ styles: styles__default['default'] }, props))); };
20
+ var ContentMobile = function (_a) {
21
+ var className = _a.className, restProps = tslib_es6.__rest(_a, ["className"]);
22
+ return (React__default['default'].createElement(components_content_Component.Content, tslib_es6.__assign({ className: cn__default['default'](className, styles__default['default'].content) }, restProps)));
23
+ };
19
24
 
20
25
  exports.ContentMobile = ContentMobile;
@@ -7,7 +7,6 @@
7
7
  /* Hard up */
8
8
  }
9
9
  :root {
10
- --gap-4xl: 48px;
11
10
  --gap-6xl: 72px;
12
11
  }
13
12
  :root {
@@ -15,33 +14,27 @@
15
14
  /* sizes */
16
15
 
17
16
  /* paddings */
18
- --modal-s-content-paddings: 0 var(--gap-4xl) 0;
19
- --modal-m-content-paddings: 0 var(--gap-4xl) 0;
20
- --modal-l-content-paddings: 0 var(--gap-6xl) 0;
21
- --modal-l-content-no-footer-bottom-padding: var(--gap-6xl);
22
-
23
- /* sticky */
17
+ --modal-s-content-paddings: 0 56px;
18
+ --modal-s-content-only-bottom-padding: 56px;
24
19
 
25
20
  /* scroll */
26
21
 
22
+ /* desktop */
23
+
27
24
  /* mobile */
28
25
  }
29
- .content {
30
- composes: content from 'index.module.css';
31
- }
32
- .flex {
33
- composes: flex from 'index.module.css';
34
- }
35
- .s {
36
- padding: var(--modal-s-content-paddings);
37
- }
26
+ .s,
38
27
  .m {
39
- padding: var(--modal-m-content-paddings);
28
+ padding: var(--modal-s-content-paddings)
40
29
  }
30
+ .s:last-child, .m:last-child {
31
+ padding-bottom: var(--modal-s-content-only-bottom-padding);
32
+ }
41
33
  .l,
34
+ .xl,
42
35
  .fullscreen {
43
- padding: var(--modal-l-content-paddings)
36
+ padding: 0 var(--gap-6xl)
44
37
  }
45
- .l:last-child, .fullscreen:last-child {
46
- padding-bottom: var(--modal-l-content-no-footer-bottom-padding);
38
+ .l:last-child, .xl:last-child, .fullscreen:last-child {
39
+ padding-bottom: var(--gap-6xl);
47
40
  }
@@ -6,34 +6,22 @@
6
6
 
7
7
  /* Hard up */
8
8
  }
9
- :root {
10
- --gap-2xl: 32px;
11
- --gap-4xl: 48px;
12
- }
13
9
  :root {
14
10
 
15
11
  /* sizes */
16
12
 
17
13
  /* paddings */
18
- --modal-content-no-footer-bottom-padding: var(--gap-4xl);
19
- --modal-content-no-header-top-padding: var(--gap-2xl);
20
-
21
- /* sticky */
22
14
 
23
15
  /* scroll */
24
16
 
17
+ /* desktop */
18
+
25
19
  /* mobile */
26
20
  }
27
21
  .content {
28
22
  box-sizing: border-box;
29
- width: 100%
23
+ width: 100%;
30
24
  }
31
- .content:first-child {
32
- padding-top: var(--modal-content-no-header-top-padding);
33
- }
34
- .content:last-child {
35
- padding-bottom: var(--modal-content-no-footer-bottom-padding);
36
- }
37
25
  .flex {
38
26
  flex: 1 1 auto;
39
27
  }
@@ -15,17 +15,15 @@
15
15
 
16
16
  /* paddings */
17
17
 
18
- /* sticky */
19
-
20
18
  /* scroll */
21
19
 
20
+ /* desktop */
21
+
22
22
  /* mobile */
23
23
  }
24
24
  .content {
25
- composes: content from 'index.module.css';
26
-
27
- padding: 0 var(--gap-m) 0;
28
- }
29
- .flex {
30
- composes: flex from 'index.module.css';
25
+ padding: 0 var(--gap-m)
31
26
  }
27
+ .content:last-child {
28
+ padding-bottom: var(--gap-m);
29
+ }
@@ -21,7 +21,5 @@ type FooterProps = {
21
21
  */
22
22
  gap?: 16 | 24 | 32;
23
23
  };
24
- declare const Footer: FC<FooterProps & {
25
- styles: Record<string, string>;
26
- }>;
24
+ declare const Footer: FC<FooterProps>;
27
25
  export { FooterProps, Footer };
@@ -1,14 +1,11 @@
1
1
  import { FC } from 'react';
2
2
  import { FooterProps } from "./Component";
3
+ import { ModalDesktopProps } from "../../Component.desktop";
3
4
  type FooterDesktopProps = FooterProps & {
4
5
  /**
5
6
  * Размер
6
7
  */
7
- size?: 's' | 'm' | 'l';
8
- /**
9
- * Флаг, что модальное окно открыто на весь экран
10
- */
11
- fullscreen?: boolean;
8
+ size?: ModalDesktopProps['size'];
12
9
  };
13
10
  declare const FooterDesktop: FC<FooterDesktopProps>;
14
11
  export { FooterDesktopProps, FooterDesktop };
@@ -7,6 +7,7 @@ var React = require('react');
7
7
  var cn = require('classnames');
8
8
  require('@alfalab/core-components-base-modal/dist/cssm');
9
9
  require('../../Context.js');
10
+ require('./index.module.css');
10
11
  require('./layout.module.css');
11
12
  var components_footer_Component = require('./Component.js');
12
13
  var styles = require('./desktop.module.css');
@@ -18,8 +19,11 @@ var cn__default = /*#__PURE__*/_interopDefaultLegacy(cn);
18
19
  var styles__default = /*#__PURE__*/_interopDefaultLegacy(styles);
19
20
 
20
21
  var FooterDesktop = function (_a) {
21
- var size = _a.size, className = _a.className, fullscreen = _a.fullscreen, restProps = tslib_es6.__rest(_a, ["size", "className", "fullscreen"]);
22
- return (React__default['default'].createElement(components_footer_Component.Footer, tslib_es6.__assign({ className: cn__default['default'](className, size && styles__default['default'][size], fullscreen && styles__default['default'].fullscreen), styles: styles__default['default'] }, restProps)));
22
+ var _b;
23
+ var size = _a.size, className = _a.className, sticky = _a.sticky, restProps = tslib_es6.__rest(_a, ["size", "className", "sticky"]);
24
+ return (React__default['default'].createElement(components_footer_Component.Footer, tslib_es6.__assign({ className: cn__default['default'](className, styles__default['default'].footer, size && styles__default['default'][size], (_b = {},
25
+ _b[styles__default['default'].sticky] = sticky,
26
+ _b)), sticky: sticky }, restProps)));
23
27
  };
24
28
 
25
29
  exports.FooterDesktop = FooterDesktop;
@@ -6,24 +6,26 @@ var React = require('react');
6
6
  var cn = require('classnames');
7
7
  require('@alfalab/core-components-base-modal/dist/cssm');
8
8
  var Context = require('../../Context.js');
9
+ var styles = require('./index.module.css');
9
10
  var layoutStyles = require('./layout.module.css');
10
11
 
11
12
  function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
12
13
 
13
14
  var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
14
15
  var cn__default = /*#__PURE__*/_interopDefaultLegacy(cn);
16
+ var styles__default = /*#__PURE__*/_interopDefaultLegacy(styles);
15
17
  var layoutStyles__default = /*#__PURE__*/_interopDefaultLegacy(layoutStyles);
16
18
 
17
19
  var Footer = function (_a) {
18
20
  var _b;
19
- var children = _a.children, className = _a.className, sticky = _a.sticky, _c = _a.layout, layout = _c === void 0 ? 'start' : _c, gap = _a.gap, styles = _a.styles;
21
+ var children = _a.children, className = _a.className, sticky = _a.sticky, _c = _a.layout, layout = _c === void 0 ? 'start' : _c, gap = _a.gap;
20
22
  var _d = React.useContext(Context.ModalContext), footerHighlighted = _d.footerHighlighted, setHasFooter = _d.setHasFooter;
21
23
  React.useEffect(function () {
22
24
  setHasFooter(true);
23
25
  }, [setHasFooter]);
24
- return (React__default['default'].createElement("div", { className: cn__default['default'](styles.footer, className, layoutStyles__default['default'][layout], gap && layoutStyles__default['default']["gap-" + gap], (_b = {},
25
- _b[styles.highlighted] = sticky && footerHighlighted,
26
- _b[styles.sticky] = sticky,
26
+ return (React__default['default'].createElement("div", { className: cn__default['default'](styles__default['default'].footer, className, layoutStyles__default['default'][layout], gap && layoutStyles__default['default']["gap-" + gap], (_b = {},
27
+ _b[styles__default['default'].highlighted] = sticky && footerHighlighted,
28
+ _b[styles__default['default'].sticky] = sticky,
27
29
  _b)) }, children));
28
30
  };
29
31
 
@@ -4,9 +4,10 @@ Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
5
  var tslib_es6 = require('../../tslib.es6-ce870b46.js');
6
6
  var React = require('react');
7
- require('classnames');
7
+ var cn = require('classnames');
8
8
  require('@alfalab/core-components-base-modal/dist/cssm');
9
9
  require('../../Context.js');
10
+ require('./index.module.css');
10
11
  require('./layout.module.css');
11
12
  var components_footer_Component = require('./Component.js');
12
13
  var styles = require('./mobile.module.css');
@@ -14,8 +15,15 @@ var styles = require('./mobile.module.css');
14
15
  function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
15
16
 
16
17
  var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
18
+ var cn__default = /*#__PURE__*/_interopDefaultLegacy(cn);
17
19
  var styles__default = /*#__PURE__*/_interopDefaultLegacy(styles);
18
20
 
19
- var FooterMobile = function (props) { return React__default['default'].createElement(components_footer_Component.Footer, tslib_es6.__assign({ styles: styles__default['default'] }, props)); };
21
+ var FooterMobile = function (_a) {
22
+ var _b;
23
+ var className = _a.className, sticky = _a.sticky, restProps = tslib_es6.__rest(_a, ["className", "sticky"]);
24
+ return (React__default['default'].createElement(components_footer_Component.Footer, tslib_es6.__assign({ className: cn__default['default'](className, styles__default['default'].footer, (_b = {},
25
+ _b[styles__default['default'].sticky] = sticky,
26
+ _b)), sticky: sticky }, restProps)));
27
+ };
20
28
 
21
29
  exports.FooterMobile = FooterMobile;
@@ -8,54 +8,44 @@
8
8
  }
9
9
  :root {
10
10
  --gap-xl: 24px;
11
+ --gap-2xl: 32px;
11
12
  --gap-3xl: 40px;
12
- --gap-4xl: 48px;
13
13
  --gap-6xl: 72px;
14
14
  }
15
15
  :root {
16
- --border-radius-m: 8px;
16
+ --border-radius-l: 12px;
17
17
  }
18
18
  :root {
19
- --modal-border-radius: var(--border-radius-m);
19
+ --modal-border-radius: var(--border-radius-l);
20
20
  --modal-vertical-padding: var(--gap-3xl);
21
21
 
22
22
  /* sizes */
23
23
 
24
24
  /* paddings */
25
- --modal-s-footer-paddings: var(--gap-xl) var(--gap-4xl) var(--gap-4xl);
26
- --modal-m-footer-paddings: var(--gap-xl) var(--gap-4xl) var(--gap-4xl);
27
- --modal-l-footer-paddings: var(--gap-xl) var(--gap-6xl) var(--gap-6xl);
28
-
29
- /* sticky */
25
+ --modal-s-footer-paddings: var(--gap-xl) 56px 56px;
30
26
 
31
27
  /* scroll */
32
28
 
29
+ /* desktop */
30
+
33
31
  /* mobile */
34
32
  }
35
33
  .footer {
36
- composes: footer from 'index.module.css';
37
-
38
34
  border-bottom-left-radius: var(--modal-border-radius);
39
35
  border-bottom-right-radius: var(--modal-border-radius);
40
36
  }
41
- .highlighted {
42
- composes: highlighted from 'index.module.css';
43
- }
44
37
  .sticky {
45
- composes: sticky from 'index.module.css';
46
-
47
- bottom: calc(var(--modal-vertical-padding) * -1);
48
- }
49
- .fullscreen {
50
- bottom: 0;
51
- }
52
- .s {
53
- padding: var(--modal-s-footer-paddings);
38
+ bottom: calc(var(--modal-vertical-padding) * -1)
54
39
  }
40
+ .sticky.fullscreen {
41
+ bottom: 0;
42
+ }
43
+ .s,
55
44
  .m {
56
- padding: var(--modal-m-footer-paddings);
45
+ padding: var(--modal-s-footer-paddings);
57
46
  }
58
47
  .l,
48
+ .xl,
59
49
  .fullscreen {
60
- padding: var(--modal-l-footer-paddings);
50
+ padding: var(--gap-2xl) var(--gap-6xl) var(--gap-6xl);
61
51
  }
@@ -1,5 +1,6 @@
1
1
  :root {
2
2
  --color-light-bg-primary: #fff;
3
+ --color-light-border-primary: #dbdee1;
3
4
  }
4
5
  :root {
5
6
 
@@ -10,19 +11,17 @@
10
11
  /* Hard up */
11
12
  }
12
13
  :root {
13
- --modal-header-background: var(--color-light-bg-primary);
14
+ --modal-footer-background: var(--color-light-bg-primary);
14
15
 
15
16
  /* sizes */
16
17
 
17
18
  /* paddings */
18
19
 
19
- /* sticky */
20
- --modal-footer-sticky-box-shadow: none;
21
- --modal-footer-sticky-background: var(--modal-header-background);
22
-
23
20
  /* scroll */
24
- --modal-footer-highlight-box-shadow: none;
25
21
  --modal-footer-highlight-background: var(--color-light-bg-primary);
22
+ --modal-footer-highlight-box-shadow: 0 -1px 0 0 var(--color-light-border-primary);
23
+
24
+ /* desktop */
26
25
 
27
26
  /* mobile */
28
27
  }
@@ -30,11 +29,9 @@
30
29
  width: 100%;
31
30
  box-sizing: border-box;
32
31
  transition: box-shadow 0.2s ease, background 0.2s ease;
33
- background: var(--modal-header-background);
34
32
  }
35
33
  .sticky {
36
- background: var(--modal-footer-sticky-background);
37
- box-shadow: var(--modal-footer-sticky-box-shadow);
34
+ background: var(--modal-footer-background);
38
35
  position: sticky;
39
36
  }
40
37
  .highlighted {
@@ -18,10 +18,10 @@
18
18
 
19
19
  /* paddings */
20
20
 
21
- /* sticky */
22
-
23
21
  /* scroll */
24
22
 
23
+ /* desktop */
24
+
25
25
  /* mobile */
26
26
  }
27
27
  .column {
@@ -8,7 +8,6 @@
8
8
  }
9
9
  :root {
10
10
  --gap-m: 16px;
11
- --gap-xl: 24px;
12
11
  }
13
12
  :root {
14
13
 
@@ -16,22 +15,15 @@
16
15
 
17
16
  /* paddings */
18
17
 
19
- /* sticky */
20
-
21
18
  /* scroll */
22
19
 
20
+ /* desktop */
21
+
23
22
  /* mobile */
24
23
  }
25
24
  .footer {
26
- composes: footer from 'index.module.css';
27
-
28
- padding: var(--gap-xl) var(--gap-m);
29
- }
30
- .highlighted {
31
- composes: highlighted from 'index.module.css';
25
+ padding: var(--gap-m);
32
26
  }
33
27
  .sticky {
34
- composes: sticky from 'index.module.css';
35
-
36
28
  bottom: 0;
37
29
  }
@@ -31,7 +31,10 @@ type HeaderProps = {
31
31
  /**
32
32
  * Выравнивание заголовка
33
33
  */
34
- align?: 'left' | 'right' | 'center';
34
+ align?: 'left' | 'center';
35
+ /**
36
+ * Обрезать ли заголовок
37
+ */
35
38
  trim?: boolean;
36
39
  /**
37
40
  * Фиксирует шапку
@@ -1,14 +1,11 @@
1
1
  import { FC } from 'react';
2
2
  import { HeaderProps } from "./Component";
3
+ import { ModalDesktopProps } from "../../Component.desktop";
3
4
  type HeaderDesktopProps = Omit<HeaderProps, 'closer'> & {
4
5
  /**
5
6
  * Размер
6
7
  */
7
- size?: 's' | 'm' | 'l';
8
- /**
9
- * Флаг, что модальное окно открыто на весь экран
10
- */
11
- fullscreen?: boolean;
8
+ size?: ModalDesktopProps['size'];
12
9
  /**
13
10
  * Наличие крестика
14
11
  */
@@ -23,11 +23,12 @@ var styles__default = /*#__PURE__*/_interopDefaultLegacy(styles);
23
23
 
24
24
  var HeaderDesktop = function (_a) {
25
25
  var _b;
26
- var size = _a.size, className = _a.className, contentClassName = _a.contentClassName, fullscreen = _a.fullscreen, hasCloser = _a.hasCloser, sticky = _a.sticky, restProps = tslib_es6.__rest(_a, ["size", "className", "contentClassName", "fullscreen", "hasCloser", "sticky"]);
26
+ var size = _a.size, className = _a.className, contentClassName = _a.contentClassName, _c = _a.hasCloser, hasCloser = _c === void 0 ? true : _c, sticky = _a.sticky, _d = _a.leftAddons, leftAddons = _d === void 0 ? React__default['default'].createElement("span", null) : _d, title = _a.title, children = _a.children, restProps = tslib_es6.__rest(_a, ["size", "className", "contentClassName", "hasCloser", "sticky", "leftAddons", "title", "children"]);
27
+ var hasContent = title || Boolean(children);
27
28
  return (React__default['default'].createElement(components_header_Component.Header, tslib_es6.__assign({ className: cn__default['default'](className, styles__default['default'].header, size && styles__default['default'][size], (_b = {},
28
- _b[styles__default['default'].fullscreen] = fullscreen,
29
29
  _b[styles__default['default'].sticky] = sticky,
30
- _b)), contentClassName: cn__default['default'](styles__default['default'].content, contentClassName), closer: hasCloser ? React__default['default'].createElement(components_closer_Component.Closer, null) : null, sticky: sticky }, restProps)));
30
+ _b[styles__default['default'].hasContent] = hasContent,
31
+ _b)), contentClassName: cn__default['default'](styles__default['default'].content, contentClassName), closer: hasCloser ? React__default['default'].createElement(components_closer_Component.Closer, null) : null, leftAddons: leftAddons, sticky: sticky, title: title }, restProps), children));
31
32
  };
32
33
 
33
34
  exports.HeaderDesktop = HeaderDesktop;
@@ -33,7 +33,7 @@ var Header = function (_a) {
33
33
  _c)) },
34
34
  children,
35
35
  title && React__default['default'].createElement("div", { className: styles__default['default'].title }, title))),
36
- closer && React__default['default'].createElement("div", { className: cn__default['default'](styles__default['default'].addon, addonClassName) }, closer)));
36
+ closer && (React__default['default'].createElement("div", { className: cn__default['default'](styles__default['default'].addon, styles__default['default'].closer, addonClassName) }, closer))));
37
37
  };
38
38
 
39
39
  exports.Header = Header;
@@ -25,7 +25,7 @@ var styles__default = /*#__PURE__*/_interopDefaultLegacy(styles);
25
25
 
26
26
  var HeaderMobile = function (_a) {
27
27
  var _b;
28
- var className = _a.className, hasCloser = _a.hasCloser, sticky = _a.sticky, contentClassName = _a.contentClassName, restProps = tslib_es6.__rest(_a, ["className", "hasCloser", "sticky", "contentClassName"]);
28
+ var className = _a.className, contentClassName = _a.contentClassName, _c = _a.hasCloser, hasCloser = _c === void 0 ? true : _c, sticky = _a.sticky, restProps = tslib_es6.__rest(_a, ["className", "contentClassName", "hasCloser", "sticky"]);
29
29
  return (React__default['default'].createElement(components_header_Component.Header, tslib_es6.__assign({ className: cn__default['default'](className, (_b = {},
30
30
  _b[styles__default['default'].sticky] = sticky,
31
31
  _b)), contentClassName: cn__default['default'](styles__default['default'].content, contentClassName), closer: hasCloser ? React__default['default'].createElement(components_closer_Component.Closer, { icon: CrossMIcon__default['default'], size: 'xs' }) : null, sticky: sticky }, restProps)));
@@ -9,64 +9,78 @@
9
9
  :root {
10
10
  --gap-xs: 8px;
11
11
  --gap-m: 16px;
12
+ --gap-xl: 24px;
12
13
  --gap-3xl: 40px;
13
- --gap-4xl: 48px;
14
- --gap-6xl: 72px;
15
14
  }
16
15
  :root {
17
- --font-family-styrene: 'Styrene UI', system-ui, -apple-system, 'Segoe UI', Roboto,
18
- 'Helvetica Neue', Helvetica, sans-serif;
16
+ --font-family-system: system-ui, -apple-system, 'Segoe UI', Roboto, 'Helvetica Neue', Helvetica,
17
+ sans-serif;
19
18
  }
20
19
  :root {
21
- --border-radius-m: 8px;
20
+ --border-radius-l: 12px;
22
21
  }
23
22
  :root {
24
- --modal-border-radius: var(--border-radius-m);
23
+ --modal-border-radius: var(--border-radius-l);
25
24
  --modal-vertical-padding: var(--gap-3xl);
26
25
 
27
26
  /* sizes */
28
- --modal-header-min-height: 48px;
29
- --modal-header-l-min-height: 72px;
30
27
 
31
28
  /* paddings */
32
- --modal-s-header-paddings: 0 0 0 var(--gap-4xl);
33
- --modal-m-header-paddings: 0 0 0 var(--gap-4xl);
34
- --modal-l-header-paddings: 0 0 0 var(--gap-6xl);
35
-
36
- /* sticky */
29
+ --modal-s-header-paddings: var(--gap-xs) var(--gap-xs) var(--gap-m);
37
30
 
38
31
  /* scroll */
39
32
 
33
+ /* desktop */
34
+ --modal-s-header-desktop-content-paddings: var(--gap-3xl) var(--gap-m) 0 0;
35
+ --modal-s-header-desktop-font-size: 22px;
36
+ --modal-s-header-desktop-line-height: 26px;
37
+ --modal-l-header-desktop-content-paddings: var(--gap-3xl) var(--gap-m) 0 0;
38
+ --modal-l-header-desktop-font-size: 30px;
39
+ --modal-l-header-desktop-line-height: 36px;
40
+ --modal-header-desktop-font-weight: bold;
41
+ --modal-header-desktop-font-family: var(--font-family-system);
42
+
40
43
  /* mobile */
41
44
  }
42
45
  .header {
43
- min-height: var(--modal-header-min-height);
44
46
  border-top-left-radius: var(--modal-border-radius);
45
47
  border-top-right-radius: var(--modal-border-radius);
46
48
  }
47
49
  .content {
48
- font-size: 24px;
49
- line-height: 32px;
50
- font-weight: 500;
51
- font-feature-settings: 'ss01';
52
- font-family: var(--font-family-styrene);
53
-
54
- margin: var(--gap-xs) var(--gap-m) var(--gap-xs) 0;
50
+ font-weight: var(--modal-header-desktop-font-weight);
51
+ font-family: var(--modal-header-desktop-font-family);
55
52
  }
56
- .s {
57
- padding: var(--modal-s-header-paddings);
53
+ .s .content,
54
+ .m .content {
55
+ padding: var(--modal-s-header-desktop-content-paddings);
56
+ font-size: var(--modal-s-header-desktop-font-size);
57
+ line-height: var(--modal-s-header-desktop-line-height);
58
58
  }
59
+ .l .content,
60
+ .xl .content,
61
+ .fullscreen .content {
62
+ padding: var(--modal-l-header-desktop-content-paddings);
63
+ font-size: var(--modal-l-header-desktop-font-size);
64
+ line-height: var(--modal-l-header-desktop-line-height);
65
+ }
66
+ .s,
59
67
  .m {
60
- padding: var(--modal-m-header-paddings);
68
+ padding: var(--modal-s-header-paddings)
61
69
  }
70
+ .s:not(.hasContent), .m:not(.hasContent) {
71
+ padding-bottom: 0;
72
+ }
62
73
  .l,
74
+ .xl,
63
75
  .fullscreen {
64
- min-height: var(--modal-header-l-min-height);
65
- padding: var(--modal-l-header-paddings);
76
+ padding: var(--gap-xl) var(--gap-xl) var(--gap-m)
66
77
  }
78
+ .l:not(.hasContent), .xl:not(.hasContent), .fullscreen:not(.hasContent) {
79
+ padding-bottom: var(--gap-m);
80
+ }
67
81
  .sticky {
68
- top: calc(var(--modal-vertical-padding) * -1);
69
- }
70
- .fullscreen {
71
- top: 0;
82
+ top: calc(var(--modal-vertical-padding) * -1)
72
83
  }
84
+ .sticky.fullscreen {
85
+ top: 0;
86
+ }
@@ -16,11 +16,11 @@
16
16
 
17
17
  /* paddings */
18
18
 
19
- /* sticky */
20
-
21
19
  /* scroll */
22
- --modal-header-highlight-box-shadow: none;
23
20
  --modal-header-highlight-background: var(--color-light-bg-primary);
21
+ --modal-header-highlight-box-shadow: none;
22
+
23
+ /* desktop */
24
24
 
25
25
  /* mobile */
26
26
  }
@@ -29,9 +29,12 @@
29
29
  box-sizing: border-box;
30
30
  display: flex;
31
31
  align-items: stretch;
32
- justify-content: flex-end;
33
- transition: box-shadow 0.2s ease, background 0.2s ease;
32
+ justify-content: space-between;
33
+ transition: box-shadow 0.2s ease, background 0.2s ease
34
34
  }
35
+ .header:not(.hasContent) {
36
+ pointer-events: none;
37
+ }
35
38
  .highlighted {
36
39
  background: var(--modal-header-highlight-background);
37
40
  box-shadow: var(--modal-header-highlight-box-shadow);
@@ -54,6 +57,10 @@
54
57
  display: flex;
55
58
  justify-content: center;
56
59
  align-items: center;
60
+ pointer-events: all;
61
+ }
62
+ .closer {
63
+ margin-left: auto;
57
64
  }
58
65
  .left {
59
66
  justify-content: flex-start;