@alfalab/core-components-modal 5.2.7 → 5.4.0

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 (148) hide show
  1. package/Component-12cb5541.d.ts +50 -0
  2. package/Component-12cb5541.js +43 -0
  3. package/Component.desktop.js +4 -4
  4. package/Component.mobile.js +4 -4
  5. package/Component.responsive.d.ts +13 -1
  6. package/Component.responsive.js +6 -6
  7. package/components/closer/Component.d.ts +4 -0
  8. package/components/closer/Component.js +4 -4
  9. package/components/closer/index.css +4 -4
  10. package/components/content/Component.desktop.js +2 -2
  11. package/components/content/Component.js +1 -1
  12. package/components/content/Component.mobile.js +2 -2
  13. package/components/content/desktop.css +8 -8
  14. package/components/content/index.css +3 -3
  15. package/components/content/mobile.css +3 -3
  16. package/components/footer/Component.desktop.js +2 -2
  17. package/components/footer/Component.js +2 -2
  18. package/components/footer/Component.mobile.js +2 -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 +0 -45
  24. package/components/header/Component.desktop.d.ts +1 -1
  25. package/components/header/Component.desktop.js +5 -5
  26. package/components/header/Component.js +5 -32
  27. package/components/header/Component.mobile.d.ts +1 -1
  28. package/components/header/Component.mobile.js +5 -5
  29. package/components/header/desktop.css +17 -17
  30. package/components/header/index.css +15 -15
  31. package/components/header/mobile.css +3 -3
  32. package/cssm/Component-5fe52731.d.ts +50 -0
  33. package/cssm/Component-5fe52731.js +42 -0
  34. package/cssm/Component.desktop.js +1 -1
  35. package/cssm/Component.mobile.js +1 -1
  36. package/cssm/Component.responsive.d.ts +13 -1
  37. package/cssm/Component.responsive.js +4 -4
  38. package/cssm/components/closer/Component.d.ts +4 -0
  39. package/cssm/components/closer/Component.js +2 -2
  40. package/cssm/components/header/Component.d.ts +0 -45
  41. package/cssm/components/header/Component.desktop.d.ts +1 -1
  42. package/cssm/components/header/Component.desktop.js +3 -3
  43. package/cssm/components/header/Component.js +6 -31
  44. package/cssm/components/header/Component.mobile.d.ts +1 -1
  45. package/cssm/components/header/Component.mobile.js +3 -3
  46. package/cssm/desktop.js +1 -1
  47. package/cssm/getDataTestId-3fe0d3e6.d.ts +2 -0
  48. package/cssm/index.js +1 -1
  49. package/cssm/mobile.js +1 -1
  50. package/cssm/responsive.js +1 -1
  51. package/desktop.css +9 -9
  52. package/desktop.js +3 -3
  53. package/esm/Component-e546d8c5.d.ts +50 -0
  54. package/esm/Component-e546d8c5.js +35 -0
  55. package/esm/Component.desktop.js +4 -4
  56. package/esm/Component.mobile.js +4 -4
  57. package/esm/Component.responsive.d.ts +13 -1
  58. package/esm/Component.responsive.js +6 -6
  59. package/esm/components/closer/Component.d.ts +4 -0
  60. package/esm/components/closer/Component.js +4 -4
  61. package/esm/components/closer/index.css +4 -4
  62. package/esm/components/content/Component.desktop.js +2 -2
  63. package/esm/components/content/Component.js +1 -1
  64. package/esm/components/content/Component.mobile.js +2 -2
  65. package/esm/components/content/desktop.css +8 -8
  66. package/esm/components/content/index.css +3 -3
  67. package/esm/components/content/mobile.css +3 -3
  68. package/esm/components/footer/Component.desktop.js +2 -2
  69. package/esm/components/footer/Component.js +2 -2
  70. package/esm/components/footer/Component.mobile.js +2 -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 +0 -45
  76. package/esm/components/header/Component.desktop.d.ts +1 -1
  77. package/esm/components/header/Component.desktop.js +5 -5
  78. package/esm/components/header/Component.js +4 -30
  79. package/esm/components/header/Component.mobile.d.ts +1 -1
  80. package/esm/components/header/Component.mobile.js +5 -5
  81. package/esm/components/header/desktop.css +17 -17
  82. package/esm/components/header/index.css +15 -15
  83. package/esm/components/header/mobile.css +3 -3
  84. package/esm/desktop.css +9 -9
  85. package/esm/desktop.js +3 -3
  86. package/esm/getDataTestId-3fe0d3e6.d.ts +2 -0
  87. package/esm/index.js +3 -3
  88. package/esm/mobile.css +2 -2
  89. package/esm/mobile.js +3 -3
  90. package/esm/responsive.js +3 -3
  91. package/esm/transitions.css +8 -8
  92. package/esm/transitions.module-246cce05.js +4 -0
  93. package/esm/{tslib.es6-95d263a8.d.ts → tslib.es6-c7c6d75c.d.ts} +0 -0
  94. package/esm/{tslib.es6-95d263a8.js → tslib.es6-c7c6d75c.js} +0 -0
  95. package/getDataTestId-3fe0d3e6.d.ts +2 -0
  96. package/index.js +3 -3
  97. package/mobile.css +2 -2
  98. package/mobile.js +3 -3
  99. package/modern/Component-d3db43e2.d.ts +50 -0
  100. package/modern/Component-d3db43e2.js +33 -0
  101. package/modern/Component.desktop.js +3 -3
  102. package/modern/Component.mobile.js +3 -3
  103. package/modern/Component.responsive.d.ts +13 -1
  104. package/modern/Component.responsive.js +5 -5
  105. package/modern/components/closer/Component.d.ts +4 -0
  106. package/modern/components/closer/Component.js +4 -4
  107. package/modern/components/closer/index.css +4 -4
  108. package/modern/components/content/Component.desktop.js +1 -1
  109. package/modern/components/content/Component.js +1 -1
  110. package/modern/components/content/Component.mobile.js +1 -1
  111. package/modern/components/content/desktop.css +8 -8
  112. package/modern/components/content/index.css +3 -3
  113. package/modern/components/content/mobile.css +3 -3
  114. package/modern/components/footer/Component.desktop.js +1 -1
  115. package/modern/components/footer/Component.js +2 -2
  116. package/modern/components/footer/Component.mobile.js +1 -1
  117. package/modern/components/footer/desktop.css +9 -9
  118. package/modern/components/footer/index.css +4 -4
  119. package/modern/components/footer/layout.css +25 -25
  120. package/modern/components/footer/mobile.css +3 -3
  121. package/modern/components/header/Component.d.ts +0 -45
  122. package/modern/components/header/Component.desktop.d.ts +1 -1
  123. package/modern/components/header/Component.desktop.js +4 -4
  124. package/modern/components/header/Component.js +4 -28
  125. package/modern/components/header/Component.mobile.d.ts +1 -1
  126. package/modern/components/header/Component.mobile.js +4 -4
  127. package/modern/components/header/desktop.css +17 -17
  128. package/modern/components/header/index.css +15 -15
  129. package/modern/components/header/mobile.css +3 -3
  130. package/modern/desktop.css +9 -9
  131. package/modern/desktop.js +2 -2
  132. package/modern/getDataTestId-3fe0d3e6.d.ts +2 -0
  133. package/modern/index.js +2 -2
  134. package/modern/mobile.css +2 -2
  135. package/modern/mobile.js +2 -2
  136. package/modern/responsive.js +2 -2
  137. package/modern/transitions.css +8 -8
  138. package/modern/transitions.module-246cce05.js +4 -0
  139. package/package.json +6 -6
  140. package/responsive.js +3 -3
  141. package/transitions.css +8 -8
  142. package/transitions.module-e148225b.js +6 -0
  143. package/{tslib.es6-eacbc725.d.ts → tslib.es6-2d094523.d.ts} +0 -0
  144. package/{tslib.es6-eacbc725.js → tslib.es6-2d094523.js} +0 -0
  145. package/CHANGELOG.md +0 -643
  146. package/esm/transitions.module-1403a282.js +0 -4
  147. package/modern/transitions.module-1403a282.js +0 -4
  148. package/transitions.module-21cce0a0.js +0 -6
@@ -1,4 +1,4 @@
1
- /* hash: 1pd1v */
1
+ /* hash: 1xx5y */
2
2
  :root {
3
3
 
4
4
  /* Hard */
@@ -22,9 +22,9 @@
22
22
 
23
23
  /* mobile */
24
24
  }
25
- .modal__footer_1xqlk {
25
+ .modal__footer_lu7nw {
26
26
  padding: var(--gap-m);
27
27
  }
28
- .modal__sticky_1xqlk {
28
+ .modal__sticky_lu7nw {
29
29
  bottom: 0;
30
30
  }
@@ -1,45 +0,0 @@
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
- closer?: 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
- declare const Header: FC<HeaderProps>;
45
- export { HeaderProps, Header };
@@ -1,5 +1,5 @@
1
1
  import { FC } from 'react';
2
- import { HeaderProps } from "./Component";
2
+ import { HeaderProps } from "../../Component-12cb5541";
3
3
  import { ModalDesktopProps } from "../../Component.desktop";
4
4
  type HeaderDesktopProps = Omit<HeaderProps, 'closer'> & {
5
5
  /**
@@ -2,12 +2,12 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
- var tslib_es6 = require('../../tslib.es6-eacbc725.js');
5
+ var tslib_es6 = require('../../tslib.es6-2d094523.js');
6
6
  var React = require('react');
7
7
  var cn = require('classnames');
8
8
  require('@alfalab/core-components-base-modal');
9
9
  require('../../Context.js');
10
- var components_header_Component = require('./Component.js');
10
+ var components_header_Component = require('../../Component-12cb5541.js');
11
11
  require('@alfalab/core-components-icon-button');
12
12
  require('@alfalab/icons-glyph/CrossHeavyMIcon');
13
13
  var components_closer_Component = require('../closer/Component.js');
@@ -17,17 +17,17 @@ function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'defau
17
17
  var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
18
18
  var cn__default = /*#__PURE__*/_interopDefaultLegacy(cn);
19
19
 
20
- var styles = {"header":"modal__header_z7dpb","content":"modal__content_z7dpb","s":"modal__s_z7dpb","m":"modal__m_z7dpb","l":"modal__l_z7dpb","xl":"modal__xl_z7dpb","fullscreen":"modal__fullscreen_z7dpb","hasContent":"modal__hasContent_z7dpb","sticky":"modal__sticky_z7dpb"};
20
+ var styles = {"header":"modal__header_sfnqs","content":"modal__content_sfnqs","s":"modal__s_sfnqs","m":"modal__m_sfnqs","l":"modal__l_sfnqs","xl":"modal__xl_sfnqs","fullscreen":"modal__fullscreen_sfnqs","hasContent":"modal__hasContent_sfnqs","sticky":"modal__sticky_sfnqs"};
21
21
  require('./desktop.css')
22
22
 
23
23
  var HeaderDesktop = function (_a) {
24
24
  var _b;
25
- 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"]);
25
+ 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, dataTestId = _a.dataTestId, restProps = tslib_es6.__rest(_a, ["size", "className", "contentClassName", "hasCloser", "sticky", "leftAddons", "title", "children", "dataTestId"]);
26
26
  var hasContent = title || Boolean(children);
27
27
  return (React__default['default'].createElement(components_header_Component.Header, tslib_es6.__assign({ className: cn__default['default'](className, styles.header, size && styles[size], (_b = {},
28
28
  _b[styles.sticky] = sticky,
29
29
  _b[styles.hasContent] = hasContent,
30
- _b)), contentClassName: cn__default['default'](styles.content, contentClassName), closer: hasCloser ? React__default['default'].createElement(components_closer_Component.Closer, null) : null, leftAddons: leftAddons, sticky: sticky, title: title }, restProps), children));
30
+ _b)), contentClassName: cn__default['default'](styles.content, contentClassName), closer: hasCloser ? React__default['default'].createElement(components_closer_Component.Closer, { dataTestId: components_header_Component.getDataTestId(dataTestId, 'closer') }) : null, leftAddons: leftAddons, sticky: sticky, title: title, dataTestId: dataTestId }, restProps), children));
31
31
  };
32
32
 
33
33
  exports.HeaderDesktop = HeaderDesktop;
@@ -2,39 +2,12 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
- var React = require('react');
6
- var cn = require('classnames');
5
+ require('react');
6
+ require('classnames');
7
7
  require('@alfalab/core-components-base-modal');
8
- var Context = require('../../Context.js');
8
+ require('../../Context.js');
9
+ var components_header_Component = require('../../Component-12cb5541.js');
9
10
 
10
- function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
11
11
 
12
- var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
13
- var cn__default = /*#__PURE__*/_interopDefaultLegacy(cn);
14
12
 
15
- var styles = {"header":"modal__header_puwvl","hasContent":"modal__hasContent_puwvl","highlighted":"modal__highlighted_puwvl","sticky":"modal__sticky_puwvl","content":"modal__content_puwvl","title":"modal__title_puwvl","addon":"modal__addon_puwvl","closer":"modal__closer_puwvl","left":"modal__left_puwvl","center":"modal__center_puwvl","right":"modal__right_puwvl","trim":"modal__trim_puwvl"};
16
- require('./index.css')
17
-
18
- var Header = function (_a) {
19
- var _b, _c;
20
- 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, closer = _a.closer, sticky = _a.sticky;
21
- var _f = React.useContext(Context.ModalContext), headerHighlighted = _f.headerHighlighted, setHasHeader = _f.setHasHeader;
22
- var hasContent = title || Boolean(children);
23
- React.useEffect(function () {
24
- setHasHeader(true);
25
- }, [setHasHeader]);
26
- return (React__default['default'].createElement("div", { className: cn__default['default'](styles.header, className, (_b = {},
27
- _b[styles.highlighted] = hasContent && sticky && headerHighlighted,
28
- _b[styles.sticky] = sticky,
29
- _b[styles.hasContent] = hasContent,
30
- _b)) },
31
- leftAddons && React__default['default'].createElement("div", { className: cn__default['default'](styles.addon, addonClassName) }, leftAddons),
32
- hasContent && (React__default['default'].createElement("div", { className: cn__default['default'](styles.content, contentClassName, styles[align], (_c = {},
33
- _c[styles.trim] = trim,
34
- _c)) },
35
- children,
36
- title && React__default['default'].createElement("div", { className: styles.title }, title))),
37
- closer && (React__default['default'].createElement("div", { className: cn__default['default'](styles.addon, styles.closer, addonClassName) }, closer))));
38
- };
39
-
40
- exports.Header = Header;
13
+ exports.Header = components_header_Component.Header;
@@ -1,5 +1,5 @@
1
1
  import { FC } from 'react';
2
- import { HeaderProps } from "./Component";
2
+ import { HeaderProps } from "../../Component-12cb5541";
3
3
  type HeaderMobileProps = Omit<HeaderProps, 'closer'> & {
4
4
  /**
5
5
  * Наличие крестика
@@ -2,12 +2,12 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
- var tslib_es6 = require('../../tslib.es6-eacbc725.js');
5
+ var tslib_es6 = require('../../tslib.es6-2d094523.js');
6
6
  var React = require('react');
7
7
  var cn = require('classnames');
8
8
  require('@alfalab/core-components-base-modal');
9
9
  require('../../Context.js');
10
- var components_header_Component = require('./Component.js');
10
+ var components_header_Component = require('../../Component-12cb5541.js');
11
11
  require('@alfalab/core-components-icon-button');
12
12
  require('@alfalab/icons-glyph/CrossHeavyMIcon');
13
13
  var components_closer_Component = require('../closer/Component.js');
@@ -19,15 +19,15 @@ var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
19
19
  var cn__default = /*#__PURE__*/_interopDefaultLegacy(cn);
20
20
  var CrossMIcon__default = /*#__PURE__*/_interopDefaultLegacy(CrossMIcon);
21
21
 
22
- var styles = {"sticky":"modal__sticky_13ljz","content":"modal__content_13ljz"};
22
+ var styles = {"sticky":"modal__sticky_2q2gr","content":"modal__content_2q2gr"};
23
23
  require('./mobile.css')
24
24
 
25
25
  var HeaderMobile = function (_a) {
26
26
  var _b;
27
- 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"]);
27
+ var className = _a.className, contentClassName = _a.contentClassName, _c = _a.hasCloser, hasCloser = _c === void 0 ? true : _c, sticky = _a.sticky, dataTestId = _a.dataTestId, restProps = tslib_es6.__rest(_a, ["className", "contentClassName", "hasCloser", "sticky", "dataTestId"]);
28
28
  return (React__default['default'].createElement(components_header_Component.Header, tslib_es6.__assign({ className: cn__default['default'](className, (_b = {},
29
29
  _b[styles.sticky] = sticky,
30
- _b)), contentClassName: cn__default['default'](styles.content, contentClassName), closer: hasCloser ? React__default['default'].createElement(components_closer_Component.Closer, { icon: CrossMIcon__default['default'], size: 'xs' }) : null, sticky: sticky }, restProps)));
30
+ _b)), contentClassName: cn__default['default'](styles.content, contentClassName), closer: hasCloser ? (React__default['default'].createElement(components_closer_Component.Closer, { icon: CrossMIcon__default['default'], size: 'xs', dataTestId: components_header_Component.getDataTestId(dataTestId, 'closer') })) : null, sticky: sticky, dataTestId: dataTestId }, restProps)));
31
31
  };
32
32
 
33
33
  exports.HeaderMobile = HeaderMobile;
@@ -1,4 +1,4 @@
1
- /* hash: 18ady */
1
+ /* hash: 1dzxy */
2
2
  :root {
3
3
 
4
4
  /* Hard */
@@ -43,45 +43,45 @@
43
43
 
44
44
  /* mobile */
45
45
  }
46
- .modal__header_z7dpb {
46
+ .modal__header_sfnqs {
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_z7dpb {
50
+ .modal__content_sfnqs {
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_z7dpb .modal__content_z7dpb,
55
- .modal__m_z7dpb .modal__content_z7dpb {
54
+ .modal__s_sfnqs .modal__content_sfnqs,
55
+ .modal__m_sfnqs .modal__content_sfnqs {
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_z7dpb .modal__content_z7dpb,
61
- .modal__xl_z7dpb .modal__content_z7dpb,
62
- .modal__fullscreen_z7dpb .modal__content_z7dpb {
60
+ .modal__l_sfnqs .modal__content_sfnqs,
61
+ .modal__xl_sfnqs .modal__content_sfnqs,
62
+ .modal__fullscreen_sfnqs .modal__content_sfnqs {
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_z7dpb,
68
- .modal__m_z7dpb {
67
+ .modal__s_sfnqs,
68
+ .modal__m_sfnqs {
69
69
  padding: var(--modal-s-header-paddings)
70
70
  }
71
- .modal__s_z7dpb:not(.modal__hasContent_z7dpb), .modal__m_z7dpb:not(.modal__hasContent_z7dpb) {
71
+ .modal__s_sfnqs:not(.modal__hasContent_sfnqs), .modal__m_sfnqs:not(.modal__hasContent_sfnqs) {
72
72
  padding-bottom: 0;
73
73
  }
74
- .modal__l_z7dpb,
75
- .modal__xl_z7dpb,
76
- .modal__fullscreen_z7dpb {
74
+ .modal__l_sfnqs,
75
+ .modal__xl_sfnqs,
76
+ .modal__fullscreen_sfnqs {
77
77
  padding: var(--gap-xl) var(--gap-xl) var(--gap-m)
78
78
  }
79
- .modal__l_z7dpb:not(.modal__hasContent_z7dpb), .modal__xl_z7dpb:not(.modal__hasContent_z7dpb), .modal__fullscreen_z7dpb:not(.modal__hasContent_z7dpb) {
79
+ .modal__l_sfnqs:not(.modal__hasContent_sfnqs), .modal__xl_sfnqs:not(.modal__hasContent_sfnqs), .modal__fullscreen_sfnqs:not(.modal__hasContent_sfnqs) {
80
80
  padding-bottom: var(--gap-m);
81
81
  }
82
- .modal__sticky_z7dpb {
82
+ .modal__sticky_sfnqs {
83
83
  top: calc(var(--modal-vertical-padding) * -1)
84
84
  }
85
- .modal__sticky_z7dpb.modal__fullscreen_z7dpb {
85
+ .modal__sticky_sfnqs.modal__fullscreen_sfnqs {
86
86
  top: 0;
87
87
  }
@@ -1,4 +1,4 @@
1
- /* hash: 1qi8w */
1
+ /* hash: 6qcm7 */
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_puwvl {
28
+ .modal__header_1f3yh {
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_puwvl:not(.modal__hasContent_puwvl) {
36
+ .modal__header_1f3yh:not(.modal__hasContent_1f3yh) {
37
37
  pointer-events: none;
38
38
  }
39
- .modal__highlighted_puwvl {
39
+ .modal__highlighted_1f3yh {
40
40
  background: var(--modal-header-highlight-background);
41
41
  box-shadow: var(--modal-header-highlight-box-shadow);
42
42
  }
43
- .modal__sticky_puwvl {
43
+ .modal__sticky_1f3yh {
44
44
  position: sticky
45
45
  }
46
- .modal__sticky_puwvl.modal__hasContent_puwvl {
46
+ .modal__sticky_1f3yh.modal__hasContent_1f3yh {
47
47
  background: var(--modal-header-background);
48
48
  }
49
- .modal__content_puwvl {
49
+ .modal__content_1f3yh {
50
50
  flex-grow: 1;
51
51
  }
52
- .modal__title_puwvl {
52
+ .modal__title_1f3yh {
53
53
  word-break: break-word;
54
54
  }
55
- .modal__addon_puwvl {
55
+ .modal__addon_1f3yh {
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_puwvl {
63
+ .modal__closer_1f3yh {
64
64
  margin-left: auto;
65
65
  }
66
- .modal__left_puwvl {
66
+ .modal__left_1f3yh {
67
67
  justify-content: flex-start;
68
68
  text-align: left;
69
69
  }
70
- .modal__center_puwvl {
70
+ .modal__center_1f3yh {
71
71
  justify-content: center;
72
72
  text-align: center;
73
73
  }
74
- .modal__right_puwvl {
74
+ .modal__right_1f3yh {
75
75
  justify-content: flex-end;
76
76
  text-align: right;
77
77
  }
78
- .modal__trim_puwvl {
78
+ .modal__trim_1f3yh {
79
79
  overflow: hidden
80
80
  }
81
- .modal__trim_puwvl .modal__title_puwvl {
81
+ .modal__trim_1f3yh .modal__title_1f3yh {
82
82
  overflow: hidden;
83
83
  white-space: nowrap;
84
84
  text-overflow: ellipsis;
@@ -1,4 +1,4 @@
1
- /* hash: iq1ld */
1
+ /* hash: 1c3il */
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_13ljz {
36
+ .modal__sticky_2q2gr {
37
37
  top: 0;
38
38
  }
39
- .modal__content_13ljz {
39
+ .modal__content_2q2gr {
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,50 @@
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
+ closer?: 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 * from "./getDataTestId-3fe0d3e6";
50
+ export { HeaderProps, Header };
@@ -0,0 +1,42 @@
1
+ 'use strict';
2
+
3
+ var React = require('react');
4
+ var cn = require('classnames');
5
+ var Context = require('./Context.js');
6
+ var styles = require('./components/header/index.module.css');
7
+
8
+ function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
9
+
10
+ var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
11
+ var cn__default = /*#__PURE__*/_interopDefaultLegacy(cn);
12
+ var styles__default = /*#__PURE__*/_interopDefaultLegacy(styles);
13
+
14
+ var getDataTestId = function (dataTestId, element) {
15
+ var elementPart = element ? "-" + element.toLowerCase() : '';
16
+ return dataTestId ? "" + dataTestId + elementPart : undefined;
17
+ };
18
+
19
+ var Header = function (_a) {
20
+ var _b, _c;
21
+ 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, closer = _a.closer, sticky = _a.sticky, dataTestId = _a.dataTestId;
22
+ var _f = React.useContext(Context.ModalContext), headerHighlighted = _f.headerHighlighted, setHasHeader = _f.setHasHeader;
23
+ var hasContent = title || Boolean(children);
24
+ React.useEffect(function () {
25
+ setHasHeader(true);
26
+ }, [setHasHeader]);
27
+ return (React__default['default'].createElement("div", { className: cn__default['default'](styles__default['default'].header, className, (_b = {},
28
+ _b[styles__default['default'].highlighted] = hasContent && sticky && headerHighlighted,
29
+ _b[styles__default['default'].sticky] = sticky,
30
+ _b[styles__default['default'].hasContent] = hasContent,
31
+ _b)), "data-test-id": getDataTestId(dataTestId) },
32
+ leftAddons && React__default['default'].createElement("div", { className: cn__default['default'](styles__default['default'].addon, addonClassName) }, leftAddons),
33
+ hasContent && (React__default['default'].createElement("div", { className: cn__default['default'](styles__default['default'].content, contentClassName, styles__default['default'][align], (_c = {},
34
+ _c[styles__default['default'].trim] = trim,
35
+ _c)) },
36
+ children,
37
+ title && (React__default['default'].createElement("div", { className: styles__default['default'].title, "data-test-id": getDataTestId(dataTestId, 'title') }, title)))),
38
+ closer && (React__default['default'].createElement("div", { className: cn__default['default'](styles__default['default'].addon, styles__default['default'].closer, addonClassName) }, closer))));
39
+ };
40
+
41
+ exports.Header = Header;
42
+ exports.getDataTestId = getDataTestId;
@@ -8,8 +8,8 @@ var cn = require('classnames');
8
8
  var coreComponentsBaseModal = require('@alfalab/core-components-base-modal/cssm');
9
9
  var mergeRefs = require('react-merge-refs');
10
10
  require('./Context.js');
11
+ require('./Component-5fe52731.js');
11
12
  require('./components/header/index.module.css');
12
- require('./components/header/Component.js');
13
13
  require('@alfalab/core-components-icon-button/cssm');
14
14
  require('@alfalab/icons-glyph/CrossHeavyMIcon');
15
15
  require('./components/closer/index.module.css');
@@ -7,8 +7,8 @@ var React = require('react');
7
7
  var cn = require('classnames');
8
8
  var coreComponentsBaseModal = require('@alfalab/core-components-base-modal/cssm');
9
9
  require('./Context.js');
10
+ require('./Component-5fe52731.js');
10
11
  require('./components/header/index.module.css');
11
- require('./components/header/Component.js');
12
12
  require('@alfalab/core-components-icon-button/cssm');
13
13
  require('@alfalab/icons-glyph/CrossHeavyMIcon');
14
14
  require('./components/closer/index.module.css');
@@ -2,7 +2,13 @@
2
2
  import React from 'react';
3
3
  import { ModalDesktopProps } from "./Component.desktop";
4
4
  import { ModalMobileProps } from "./Component.mobile";
5
- type ModalResponsiveProps = ModalMobileProps & ModalDesktopProps;
5
+ type ModalResponsiveProps = ModalMobileProps & ModalDesktopProps & {
6
+ /**
7
+ * Контрольная точка, с нее начинается desktop версия
8
+ * @default 1024
9
+ */
10
+ breakpoint?: number;
11
+ };
6
12
  declare const ModalResponsive: React.ForwardRefExoticComponent<import("packages/base-modal/src").BaseModalProps & {
7
13
  hasCloser?: boolean | undefined;
8
14
  } & {
@@ -10,6 +16,12 @@ declare const ModalResponsive: React.ForwardRefExoticComponent<import("packages/
10
16
  fullscreen?: boolean | undefined;
11
17
  fixedPosition?: boolean | undefined;
12
18
  hasCloser?: boolean | undefined;
19
+ } & {
20
+ /**
21
+ * Контрольная точка, с нее начинается desktop версия
22
+ * @default 1024
23
+ */
24
+ breakpoint?: number | undefined;
13
25
  } & React.RefAttributes<HTMLDivElement>> & {
14
26
  Header: React.FC<import("./components/header/Component.desktop").HeaderDesktopProps> | React.FC<import("./components/header/Component.mobile").HeaderMobileProps>;
15
27
  Content: React.FC<import("./components/content/Component").ContentProps> | React.FC<import("./components/content/Component.desktop").ContentDesktopProps>;
@@ -8,8 +8,8 @@ require('classnames');
8
8
  require('@alfalab/core-components-base-modal/cssm');
9
9
  require('react-merge-refs');
10
10
  require('./Context.js');
11
+ require('./Component-5fe52731.js');
11
12
  require('./components/header/index.module.css');
12
- require('./components/header/Component.js');
13
13
  require('@alfalab/core-components-icon-button/cssm');
14
14
  require('@alfalab/icons-glyph/CrossHeavyMIcon');
15
15
  require('./components/closer/index.module.css');
@@ -55,10 +55,10 @@ function createResponsive(desktop, mobile) {
55
55
  return ResponsiveChild;
56
56
  }
57
57
  var ModalResponsiveComponent = React.forwardRef(function (_a, ref) {
58
- var children = _a.children, restProps = tslib_es6.__rest(_a, ["children"]);
58
+ var children = _a.children, _b = _a.breakpoint, breakpoint = _b === void 0 ? 1024 : _b, restProps = tslib_es6.__rest(_a, ["children", "breakpoint"]);
59
59
  var view = hooks.useMedia([
60
- ['mobile', '(max-width: 1023px)'],
61
- ['desktop', '(min-width: 1024px)'],
60
+ ['mobile', "(max-width: " + (breakpoint - 1) + "px)"],
61
+ ['desktop', "(min-width: " + breakpoint + "px)"],
62
62
  ], 'desktop')[0];
63
63
  var contextValue = React.useMemo(function () { return ({ view: view }); }, [view]);
64
64
  var Component = view === 'desktop' ? Component_desktop.ModalDesktop : Component_mobile.ModalMobile;
@@ -21,6 +21,10 @@ type CloserProps = ButtonHTMLAttributes<HTMLButtonElement> & {
21
21
  * Иконка
22
22
  */
23
23
  icon?: ElementType;
24
+ /**
25
+ * Идентификатор для систем автоматизированного тестирования
26
+ */
27
+ dataTestId?: string;
24
28
  };
25
29
  /**
26
30
  * @deprecated Компонент только для внутреннего использования. Используйте <Header />
@@ -22,7 +22,7 @@ var styles__default = /*#__PURE__*/_interopDefaultLegacy(styles);
22
22
  */
23
23
  var Closer = function (_a) {
24
24
  var _b;
25
- var className = _a.className, _c = _a.size, size = _c === void 0 ? 's' : _c, sticky = _a.sticky, _d = _a.icon, icon = _d === void 0 ? CrossHeavyMIcon.CrossHeavyMIcon : _d, restProps = tslib_es6.__rest(_a, ["className", "size", "sticky", "icon"]);
25
+ var className = _a.className, _c = _a.size, size = _c === void 0 ? 's' : _c, sticky = _a.sticky, _d = _a.icon, icon = _d === void 0 ? CrossHeavyMIcon.CrossHeavyMIcon : _d, dataTestId = _a.dataTestId, restProps = tslib_es6.__rest(_a, ["className", "size", "sticky", "icon", "dataTestId"]);
26
26
  var onClose = React.useContext(Context.ModalContext).onClose;
27
27
  var handleClick = React.useCallback(function (event) {
28
28
  onClose(event, 'closerClick');
@@ -30,7 +30,7 @@ var Closer = function (_a) {
30
30
  return (React__default['default'].createElement("div", { className: cn__default['default'](styles__default['default'].closer, className, (_b = {},
31
31
  _b[styles__default['default'].sticky] = sticky,
32
32
  _b)) },
33
- React__default['default'].createElement(coreComponentsIconButton.IconButton, tslib_es6.__assign({ size: size, className: styles__default['default'].button, "aria-label": '\u0437\u0430\u043A\u0440\u044B\u0442\u044C', onClick: handleClick, icon: icon }, restProps))));
33
+ React__default['default'].createElement(coreComponentsIconButton.IconButton, tslib_es6.__assign({ size: size, className: styles__default['default'].button, "aria-label": '\u0437\u0430\u043A\u0440\u044B\u0442\u044C', onClick: handleClick, icon: icon, dataTestId: dataTestId }, restProps))));
34
34
  };
35
35
 
36
36
  exports.Closer = Closer;
@@ -1,45 +0,0 @@
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
- closer?: 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
- declare const Header: FC<HeaderProps>;
45
- export { HeaderProps, Header };
@@ -1,5 +1,5 @@
1
1
  import { FC } from 'react';
2
- import { HeaderProps } from "./Component";
2
+ import { HeaderProps } from "../../Component-5fe52731";
3
3
  import { ModalDesktopProps } from "../../Component.desktop";
4
4
  type HeaderDesktopProps = Omit<HeaderProps, 'closer'> & {
5
5
  /**