@alfalab/core-components-modal 5.3.0 → 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 (91) hide show
  1. package/Component-12cb5541.d.ts +50 -0
  2. package/Component-12cb5541.js +43 -0
  3. package/Component.desktop.js +3 -3
  4. package/Component.mobile.js +3 -3
  5. package/Component.responsive.js +3 -3
  6. package/components/closer/Component.d.ts +4 -0
  7. package/components/closer/Component.js +3 -3
  8. package/components/content/Component.desktop.js +1 -1
  9. package/components/content/Component.mobile.js +1 -1
  10. package/components/footer/Component.desktop.js +1 -1
  11. package/components/footer/Component.mobile.js +1 -1
  12. package/components/header/Component.d.ts +0 -45
  13. package/components/header/Component.desktop.d.ts +1 -1
  14. package/components/header/Component.desktop.js +4 -4
  15. package/components/header/Component.js +5 -32
  16. package/components/header/Component.mobile.d.ts +1 -1
  17. package/components/header/Component.mobile.js +4 -4
  18. package/cssm/Component-5fe52731.d.ts +50 -0
  19. package/cssm/Component-5fe52731.js +42 -0
  20. package/cssm/Component.desktop.js +1 -1
  21. package/cssm/Component.mobile.js +1 -1
  22. package/cssm/Component.responsive.js +1 -1
  23. package/cssm/components/closer/Component.d.ts +4 -0
  24. package/cssm/components/closer/Component.js +2 -2
  25. package/cssm/components/header/Component.d.ts +0 -45
  26. package/cssm/components/header/Component.desktop.d.ts +1 -1
  27. package/cssm/components/header/Component.desktop.js +3 -3
  28. package/cssm/components/header/Component.js +6 -31
  29. package/cssm/components/header/Component.mobile.d.ts +1 -1
  30. package/cssm/components/header/Component.mobile.js +3 -3
  31. package/cssm/desktop.js +1 -1
  32. package/cssm/getDataTestId-3fe0d3e6.d.ts +2 -0
  33. package/cssm/index.js +1 -1
  34. package/cssm/mobile.js +1 -1
  35. package/cssm/responsive.js +1 -1
  36. package/desktop.js +3 -3
  37. package/esm/Component-e546d8c5.d.ts +50 -0
  38. package/esm/Component-e546d8c5.js +35 -0
  39. package/esm/Component.desktop.js +3 -3
  40. package/esm/Component.mobile.js +3 -3
  41. package/esm/Component.responsive.d.ts +1 -1
  42. package/esm/Component.responsive.js +3 -3
  43. package/esm/components/closer/Component.d.ts +4 -0
  44. package/esm/components/closer/Component.js +3 -3
  45. package/esm/components/content/Component.desktop.js +1 -1
  46. package/esm/components/content/Component.mobile.js +1 -1
  47. package/esm/components/footer/Component.desktop.js +1 -1
  48. package/esm/components/footer/Component.mobile.js +1 -1
  49. package/esm/components/header/Component.d.ts +0 -45
  50. package/esm/components/header/Component.desktop.d.ts +1 -1
  51. package/esm/components/header/Component.desktop.js +4 -4
  52. package/esm/components/header/Component.js +4 -30
  53. package/esm/components/header/Component.mobile.d.ts +1 -1
  54. package/esm/components/header/Component.mobile.js +4 -4
  55. package/esm/desktop.js +3 -3
  56. package/esm/getDataTestId-3fe0d3e6.d.ts +2 -0
  57. package/esm/index.js +3 -3
  58. package/esm/mobile.js +3 -3
  59. package/esm/responsive.js +3 -3
  60. package/esm/{transitions.module-48ce371b.js → transitions.module-246cce05.js} +0 -0
  61. package/esm/{tslib.es6-58151049.d.ts → tslib.es6-c7c6d75c.d.ts} +0 -0
  62. package/esm/{tslib.es6-58151049.js → tslib.es6-c7c6d75c.js} +0 -0
  63. package/getDataTestId-3fe0d3e6.d.ts +2 -0
  64. package/index.js +3 -3
  65. package/mobile.js +3 -3
  66. package/modern/Component-d3db43e2.d.ts +50 -0
  67. package/modern/Component-d3db43e2.js +33 -0
  68. package/modern/Component.desktop.js +2 -2
  69. package/modern/Component.mobile.js +2 -2
  70. package/modern/Component.responsive.d.ts +1 -1
  71. package/modern/Component.responsive.js +2 -2
  72. package/modern/components/closer/Component.d.ts +4 -0
  73. package/modern/components/closer/Component.js +2 -2
  74. package/modern/components/header/Component.d.ts +0 -45
  75. package/modern/components/header/Component.desktop.d.ts +1 -1
  76. package/modern/components/header/Component.desktop.js +3 -3
  77. package/modern/components/header/Component.js +4 -28
  78. package/modern/components/header/Component.mobile.d.ts +1 -1
  79. package/modern/components/header/Component.mobile.js +3 -3
  80. package/modern/desktop.js +2 -2
  81. package/modern/getDataTestId-3fe0d3e6.d.ts +2 -0
  82. package/modern/index.js +2 -2
  83. package/modern/mobile.js +2 -2
  84. package/modern/responsive.js +2 -2
  85. package/modern/{transitions.module-48ce371b.js → transitions.module-246cce05.js} +0 -0
  86. package/package.json +1 -1
  87. package/responsive.js +3 -3
  88. package/{transitions.module-599e6d7b.js → transitions.module-e148225b.js} +0 -0
  89. package/{tslib.es6-a88e5aa4.d.ts → tslib.es6-2d094523.d.ts} +0 -0
  90. package/{tslib.es6-a88e5aa4.js → tslib.es6-2d094523.js} +0 -0
  91. package/CHANGELOG.md +0 -663
@@ -7,8 +7,8 @@ var React = require('react');
7
7
  var cn = require('classnames');
8
8
  require('@alfalab/core-components-base-modal/cssm');
9
9
  require('../../Context.js');
10
+ var components_header_Component = require('../../Component-5fe52731.js');
10
11
  require('./index.module.css');
11
- var components_header_Component = require('./Component.js');
12
12
  require('@alfalab/core-components-icon-button/cssm');
13
13
  require('@alfalab/icons-glyph/CrossHeavyMIcon');
14
14
  require('../closer/index.module.css');
@@ -23,12 +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, _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"]);
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, dataTestId = _a.dataTestId, restProps = tslib_es6.__rest(_a, ["size", "className", "contentClassName", "hasCloser", "sticky", "leftAddons", "title", "children", "dataTestId"]);
27
27
  var hasContent = title || Boolean(children);
28
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 = {},
29
29
  _b[styles__default['default'].sticky] = sticky,
30
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
+ _b)), contentClassName: cn__default['default'](styles__default['default'].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));
32
32
  };
33
33
 
34
34
  exports.HeaderDesktop = HeaderDesktop;
@@ -2,38 +2,13 @@
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/cssm');
8
- var Context = require('../../Context.js');
9
- var styles = require('./index.module.css');
8
+ require('../../Context.js');
9
+ var components_header_Component = require('../../Component-5fe52731.js');
10
+ require('./index.module.css');
10
11
 
11
- function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
12
12
 
13
- var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
14
- var cn__default = /*#__PURE__*/_interopDefaultLegacy(cn);
15
- var styles__default = /*#__PURE__*/_interopDefaultLegacy(styles);
16
13
 
17
- var Header = function (_a) {
18
- var _b, _c;
19
- 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;
20
- var _f = React.useContext(Context.ModalContext), headerHighlighted = _f.headerHighlighted, setHasHeader = _f.setHasHeader;
21
- var hasContent = title || Boolean(children);
22
- React.useEffect(function () {
23
- setHasHeader(true);
24
- }, [setHasHeader]);
25
- return (React__default['default'].createElement("div", { className: cn__default['default'](styles__default['default'].header, className, (_b = {},
26
- _b[styles__default['default'].highlighted] = hasContent && sticky && headerHighlighted,
27
- _b[styles__default['default'].sticky] = sticky,
28
- _b[styles__default['default'].hasContent] = hasContent,
29
- _b)) },
30
- leftAddons && React__default['default'].createElement("div", { className: cn__default['default'](styles__default['default'].addon, addonClassName) }, leftAddons),
31
- hasContent && (React__default['default'].createElement("div", { className: cn__default['default'](styles__default['default'].content, contentClassName, styles__default['default'][align], (_c = {},
32
- _c[styles__default['default'].trim] = trim,
33
- _c)) },
34
- children,
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, styles__default['default'].closer, addonClassName) }, closer))));
37
- };
38
-
39
- exports.Header = Header;
14
+ 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-5fe52731";
3
3
  type HeaderMobileProps = Omit<HeaderProps, 'closer'> & {
4
4
  /**
5
5
  * Наличие крестика
@@ -7,8 +7,8 @@ var React = require('react');
7
7
  var cn = require('classnames');
8
8
  require('@alfalab/core-components-base-modal/cssm');
9
9
  require('../../Context.js');
10
+ var components_header_Component = require('../../Component-5fe52731.js');
10
11
  require('./index.module.css');
11
- var components_header_Component = require('./Component.js');
12
12
  require('@alfalab/core-components-icon-button/cssm');
13
13
  require('@alfalab/icons-glyph/CrossHeavyMIcon');
14
14
  require('../closer/index.module.css');
@@ -25,10 +25,10 @@ var styles__default = /*#__PURE__*/_interopDefaultLegacy(styles);
25
25
 
26
26
  var HeaderMobile = function (_a) {
27
27
  var _b;
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"]);
28
+ 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"]);
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
- _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)));
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', dataTestId: components_header_Component.getDataTestId(dataTestId, 'closer') })) : null, sticky: sticky, dataTestId: dataTestId }, restProps)));
32
32
  };
33
33
 
34
34
  exports.HeaderMobile = HeaderMobile;
package/cssm/desktop.js CHANGED
@@ -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');
@@ -0,0 +1,2 @@
1
+ declare const getDataTestId: (dataTestId?: string | undefined, element?: string | undefined) => string | undefined;
2
+ export { getDataTestId };
package/cssm/index.js CHANGED
@@ -8,8 +8,8 @@ require('classnames');
8
8
  require('@alfalab/core-components-base-modal/cssm');
9
9
  require('react-merge-refs');
10
10
  var Context = 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');
package/cssm/mobile.js CHANGED
@@ -7,8 +7,8 @@ require('react');
7
7
  require('classnames');
8
8
  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');
@@ -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');
package/desktop.js CHANGED
@@ -2,13 +2,13 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
- require('./tslib.es6-a88e5aa4.js');
5
+ require('./tslib.es6-2d094523.js');
6
6
  require('react');
7
7
  require('classnames');
8
8
  require('@alfalab/core-components-base-modal');
9
9
  require('react-merge-refs');
10
10
  require('./Context.js');
11
- require('./components/header/Component.js');
11
+ require('./Component-12cb5541.js');
12
12
  require('@alfalab/core-components-icon-button');
13
13
  require('@alfalab/icons-glyph/CrossHeavyMIcon');
14
14
  require('./components/closer/Component.js');
@@ -18,7 +18,7 @@ require('./components/content/Component.desktop.js');
18
18
  require('./components/footer/Component.js');
19
19
  require('./components/footer/Component.desktop.js');
20
20
  var Component_desktop = require('./Component.desktop.js');
21
- require('./transitions.module-599e6d7b.js');
21
+ require('./transitions.module-e148225b.js');
22
22
 
23
23
 
24
24
 
@@ -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,35 @@
1
+ import React, { useContext, useEffect } from 'react';
2
+ import cn from 'classnames';
3
+ import { ModalContext } from './Context.js';
4
+
5
+ var getDataTestId = function (dataTestId, element) {
6
+ var elementPart = element ? "-" + element.toLowerCase() : '';
7
+ return dataTestId ? "" + dataTestId + elementPart : undefined;
8
+ };
9
+
10
+ var styles = {"header":"modal__header_1f3yh","hasContent":"modal__hasContent_1f3yh","highlighted":"modal__highlighted_1f3yh","sticky":"modal__sticky_1f3yh","content":"modal__content_1f3yh","title":"modal__title_1f3yh","addon":"modal__addon_1f3yh","closer":"modal__closer_1f3yh","left":"modal__left_1f3yh","center":"modal__center_1f3yh","right":"modal__right_1f3yh","trim":"modal__trim_1f3yh"};
11
+ require('./components/header/index.css')
12
+
13
+ var Header = function (_a) {
14
+ var _b, _c;
15
+ 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;
16
+ var _f = useContext(ModalContext), headerHighlighted = _f.headerHighlighted, setHasHeader = _f.setHasHeader;
17
+ var hasContent = title || Boolean(children);
18
+ useEffect(function () {
19
+ setHasHeader(true);
20
+ }, [setHasHeader]);
21
+ return (React.createElement("div", { className: cn(styles.header, className, (_b = {},
22
+ _b[styles.highlighted] = hasContent && sticky && headerHighlighted,
23
+ _b[styles.sticky] = sticky,
24
+ _b[styles.hasContent] = hasContent,
25
+ _b)), "data-test-id": getDataTestId(dataTestId) },
26
+ leftAddons && React.createElement("div", { className: cn(styles.addon, addonClassName) }, leftAddons),
27
+ hasContent && (React.createElement("div", { className: cn(styles.content, contentClassName, styles[align], (_c = {},
28
+ _c[styles.trim] = trim,
29
+ _c)) },
30
+ children,
31
+ title && (React.createElement("div", { className: styles.title, "data-test-id": getDataTestId(dataTestId, 'title') }, title)))),
32
+ closer && (React.createElement("div", { className: cn(styles.addon, styles.closer, addonClassName) }, closer))));
33
+ };
34
+
35
+ export { Header as H, getDataTestId as g };
@@ -1,10 +1,10 @@
1
- import { _ as __rest, a as __assign } from './tslib.es6-58151049.js';
1
+ import { _ as __rest, a as __assign } from './tslib.es6-c7c6d75c.js';
2
2
  import React, { forwardRef, useRef, useCallback, isValidElement, cloneElement } from 'react';
3
3
  import cn from 'classnames';
4
4
  import { BaseModal } from '@alfalab/core-components-base-modal/esm';
5
5
  import mergeRefs from 'react-merge-refs';
6
6
  import './Context.js';
7
- import './components/header/Component.js';
7
+ import './Component-e546d8c5.js';
8
8
  import '@alfalab/core-components-icon-button/esm';
9
9
  import '@alfalab/icons-glyph/CrossHeavyMIcon';
10
10
  import { Closer } from './components/closer/Component.js';
@@ -13,7 +13,7 @@ import './components/content/Component.js';
13
13
  import { ContentDesktop } from './components/content/Component.desktop.js';
14
14
  import './components/footer/Component.js';
15
15
  import { FooterDesktop } from './components/footer/Component.desktop.js';
16
- import { t as transitions } from './transitions.module-48ce371b.js';
16
+ import { t as transitions } from './transitions.module-246cce05.js';
17
17
 
18
18
  var styles = {"wrapper":"modal__wrapper_1k6jx","component":"modal__component_1k6jx","fullscreen":"modal__fullscreen_1k6jx","s":"modal__s_1k6jx","m":"modal__m_1k6jx","l":"modal__l_1k6jx","xl":"modal__xl_1k6jx"};
19
19
  require('./desktop.css')
@@ -1,15 +1,15 @@
1
- import { _ as __rest, a as __assign } from './tslib.es6-58151049.js';
1
+ import { _ as __rest, a as __assign } from './tslib.es6-c7c6d75c.js';
2
2
  import React, { forwardRef } from 'react';
3
3
  import cn from 'classnames';
4
4
  import { BaseModal } from '@alfalab/core-components-base-modal/esm';
5
5
  import './Context.js';
6
- import './components/header/Component.js';
6
+ import './Component-e546d8c5.js';
7
7
  import '@alfalab/core-components-icon-button/esm';
8
8
  import '@alfalab/icons-glyph/CrossHeavyMIcon';
9
9
  import { Closer } from './components/closer/Component.js';
10
10
  import './components/content/Component.js';
11
11
  import './components/footer/Component.js';
12
- import { t as transitions } from './transitions.module-48ce371b.js';
12
+ import { t as transitions } from './transitions.module-246cce05.js';
13
13
  import '@alfalab/icons-glyph/CrossMIcon';
14
14
  import { HeaderMobile } from './components/header/Component.mobile.js';
15
15
  import { ContentMobile } from './components/content/Component.mobile.js';
@@ -23,7 +23,7 @@ declare const ModalResponsive: React.ForwardRefExoticComponent<import("packages/
23
23
  */
24
24
  breakpoint?: number | undefined;
25
25
  } & React.RefAttributes<HTMLDivElement>> & {
26
- Header: React.FC<import("./components/header/Component.mobile").HeaderMobileProps> | React.FC<import("./components/header/Component.desktop").HeaderDesktopProps>;
26
+ Header: React.FC<import("./components/header/Component.desktop").HeaderDesktopProps> | React.FC<import("./components/header/Component.mobile").HeaderMobileProps>;
27
27
  Content: React.FC<import("./components/content/Component").ContentProps> | React.FC<import("./components/content/Component.desktop").ContentDesktopProps>;
28
28
  Footer: React.FC<import("./components/footer/Component").FooterProps> | React.FC<import("./components/footer/Component.desktop").FooterDesktopProps>;
29
29
  Closer: React.FC<import("./components/closer/Component").CloserProps>;
@@ -1,10 +1,10 @@
1
- import { _ as __rest, a as __assign } from './tslib.es6-58151049.js';
1
+ import { _ as __rest, a as __assign } from './tslib.es6-c7c6d75c.js';
2
2
  import React, { forwardRef, useMemo, useContext } from 'react';
3
3
  import 'classnames';
4
4
  import '@alfalab/core-components-base-modal/esm';
5
5
  import 'react-merge-refs';
6
6
  import './Context.js';
7
- import './components/header/Component.js';
7
+ import './Component-e546d8c5.js';
8
8
  import '@alfalab/core-components-icon-button/esm';
9
9
  import '@alfalab/icons-glyph/CrossHeavyMIcon';
10
10
  import { Closer } from './components/closer/Component.js';
@@ -14,7 +14,7 @@ import './components/content/Component.desktop.js';
14
14
  import './components/footer/Component.js';
15
15
  import './components/footer/Component.desktop.js';
16
16
  import { ModalDesktop } from './Component.desktop.js';
17
- import './transitions.module-48ce371b.js';
17
+ import './transitions.module-246cce05.js';
18
18
  import '@alfalab/icons-glyph/CrossMIcon';
19
19
  import './components/header/Component.mobile.js';
20
20
  import './components/content/Component.mobile.js';
@@ -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 />
@@ -1,4 +1,4 @@
1
- import { _ as __rest, a as __assign } from '../../tslib.es6-58151049.js';
1
+ import { _ as __rest, a as __assign } from '../../tslib.es6-c7c6d75c.js';
2
2
  import React, { useContext, useCallback } from 'react';
3
3
  import cn from 'classnames';
4
4
  import '@alfalab/core-components-base-modal/esm';
@@ -14,7 +14,7 @@ require('./index.css')
14
14
  */
15
15
  var Closer = function (_a) {
16
16
  var _b;
17
- var className = _a.className, _c = _a.size, size = _c === void 0 ? 's' : _c, sticky = _a.sticky, _d = _a.icon, icon = _d === void 0 ? CrossHeavyMIcon : _d, restProps = __rest(_a, ["className", "size", "sticky", "icon"]);
17
+ var className = _a.className, _c = _a.size, size = _c === void 0 ? 's' : _c, sticky = _a.sticky, _d = _a.icon, icon = _d === void 0 ? CrossHeavyMIcon : _d, dataTestId = _a.dataTestId, restProps = __rest(_a, ["className", "size", "sticky", "icon", "dataTestId"]);
18
18
  var onClose = useContext(ModalContext).onClose;
19
19
  var handleClick = useCallback(function (event) {
20
20
  onClose(event, 'closerClick');
@@ -22,7 +22,7 @@ var Closer = function (_a) {
22
22
  return (React.createElement("div", { className: cn(styles.closer, className, (_b = {},
23
23
  _b[styles.sticky] = sticky,
24
24
  _b)) },
25
- React.createElement(IconButton, __assign({ size: size, className: styles.button, "aria-label": '\u0437\u0430\u043A\u0440\u044B\u0442\u044C', onClick: handleClick, icon: icon }, restProps))));
25
+ React.createElement(IconButton, __assign({ size: size, className: styles.button, "aria-label": '\u0437\u0430\u043A\u0440\u044B\u0442\u044C', onClick: handleClick, icon: icon, dataTestId: dataTestId }, restProps))));
26
26
  };
27
27
 
28
28
  export { Closer };
@@ -1,4 +1,4 @@
1
- import { _ as __rest, a as __assign } from '../../tslib.es6-58151049.js';
1
+ import { _ as __rest, a as __assign } from '../../tslib.es6-c7c6d75c.js';
2
2
  import React from 'react';
3
3
  import cn from 'classnames';
4
4
  import '@alfalab/core-components-base-modal/esm';
@@ -1,4 +1,4 @@
1
- import { _ as __rest, a as __assign } from '../../tslib.es6-58151049.js';
1
+ import { _ as __rest, a as __assign } from '../../tslib.es6-c7c6d75c.js';
2
2
  import React from 'react';
3
3
  import cn from 'classnames';
4
4
  import '@alfalab/core-components-base-modal/esm';
@@ -1,4 +1,4 @@
1
- import { _ as __rest, a as __assign } from '../../tslib.es6-58151049.js';
1
+ import { _ as __rest, a as __assign } from '../../tslib.es6-c7c6d75c.js';
2
2
  import React from 'react';
3
3
  import cn from 'classnames';
4
4
  import '@alfalab/core-components-base-modal/esm';
@@ -1,4 +1,4 @@
1
- import { _ as __rest, a as __assign } from '../../tslib.es6-58151049.js';
1
+ import { _ as __rest, a as __assign } from '../../tslib.es6-c7c6d75c.js';
2
2
  import React from 'react';
3
3
  import cn from 'classnames';
4
4
  import '@alfalab/core-components-base-modal/esm';
@@ -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-e546d8c5";
3
3
  import { ModalDesktopProps } from "../../Component.desktop";
4
4
  type HeaderDesktopProps = Omit<HeaderProps, 'closer'> & {
5
5
  /**
@@ -1,9 +1,9 @@
1
- import { _ as __rest, a as __assign } from '../../tslib.es6-58151049.js';
1
+ import { _ as __rest, a as __assign } from '../../tslib.es6-c7c6d75c.js';
2
2
  import React from 'react';
3
3
  import cn from 'classnames';
4
4
  import '@alfalab/core-components-base-modal/esm';
5
5
  import '../../Context.js';
6
- import { Header } from './Component.js';
6
+ import { H as Header, g as getDataTestId } from '../../Component-e546d8c5.js';
7
7
  import '@alfalab/core-components-icon-button/esm';
8
8
  import '@alfalab/icons-glyph/CrossHeavyMIcon';
9
9
  import { Closer } from '../closer/Component.js';
@@ -13,12 +13,12 @@ require('./desktop.css')
13
13
 
14
14
  var HeaderDesktop = function (_a) {
15
15
  var _b;
16
- 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.createElement("span", null) : _d, title = _a.title, children = _a.children, restProps = __rest(_a, ["size", "className", "contentClassName", "hasCloser", "sticky", "leftAddons", "title", "children"]);
16
+ 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.createElement("span", null) : _d, title = _a.title, children = _a.children, dataTestId = _a.dataTestId, restProps = __rest(_a, ["size", "className", "contentClassName", "hasCloser", "sticky", "leftAddons", "title", "children", "dataTestId"]);
17
17
  var hasContent = title || Boolean(children);
18
18
  return (React.createElement(Header, __assign({ className: cn(className, styles.header, size && styles[size], (_b = {},
19
19
  _b[styles.sticky] = sticky,
20
20
  _b[styles.hasContent] = hasContent,
21
- _b)), contentClassName: cn(styles.content, contentClassName), closer: hasCloser ? React.createElement(Closer, null) : null, leftAddons: leftAddons, sticky: sticky, title: title }, restProps), children));
21
+ _b)), contentClassName: cn(styles.content, contentClassName), closer: hasCloser ? React.createElement(Closer, { dataTestId: getDataTestId(dataTestId, 'closer') }) : null, leftAddons: leftAddons, sticky: sticky, title: title, dataTestId: dataTestId }, restProps), children));
22
22
  };
23
23
 
24
24
  export { HeaderDesktop };
@@ -1,31 +1,5 @@
1
- import React, { useContext, useEffect } from 'react';
2
- import cn from 'classnames';
1
+ import 'react';
2
+ import 'classnames';
3
3
  import '@alfalab/core-components-base-modal/esm';
4
- import { ModalContext } from '../../Context.js';
5
-
6
- var styles = {"header":"modal__header_1f3yh","hasContent":"modal__hasContent_1f3yh","highlighted":"modal__highlighted_1f3yh","sticky":"modal__sticky_1f3yh","content":"modal__content_1f3yh","title":"modal__title_1f3yh","addon":"modal__addon_1f3yh","closer":"modal__closer_1f3yh","left":"modal__left_1f3yh","center":"modal__center_1f3yh","right":"modal__right_1f3yh","trim":"modal__trim_1f3yh"};
7
- require('./index.css')
8
-
9
- var Header = function (_a) {
10
- var _b, _c;
11
- 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;
12
- var _f = useContext(ModalContext), headerHighlighted = _f.headerHighlighted, setHasHeader = _f.setHasHeader;
13
- var hasContent = title || Boolean(children);
14
- useEffect(function () {
15
- setHasHeader(true);
16
- }, [setHasHeader]);
17
- return (React.createElement("div", { className: cn(styles.header, className, (_b = {},
18
- _b[styles.highlighted] = hasContent && sticky && headerHighlighted,
19
- _b[styles.sticky] = sticky,
20
- _b[styles.hasContent] = hasContent,
21
- _b)) },
22
- leftAddons && React.createElement("div", { className: cn(styles.addon, addonClassName) }, leftAddons),
23
- hasContent && (React.createElement("div", { className: cn(styles.content, contentClassName, styles[align], (_c = {},
24
- _c[styles.trim] = trim,
25
- _c)) },
26
- children,
27
- title && React.createElement("div", { className: styles.title }, title))),
28
- closer && (React.createElement("div", { className: cn(styles.addon, styles.closer, addonClassName) }, closer))));
29
- };
30
-
31
- export { Header };
4
+ import '../../Context.js';
5
+ export { H as Header } from '../../Component-e546d8c5.js';
@@ -1,5 +1,5 @@
1
1
  import { FC } from 'react';
2
- import { HeaderProps } from "./Component";
2
+ import { HeaderProps } from "../../Component-e546d8c5";
3
3
  type HeaderMobileProps = Omit<HeaderProps, 'closer'> & {
4
4
  /**
5
5
  * Наличие крестика
@@ -1,9 +1,9 @@
1
- import { _ as __rest, a as __assign } from '../../tslib.es6-58151049.js';
1
+ import { _ as __rest, a as __assign } from '../../tslib.es6-c7c6d75c.js';
2
2
  import React from 'react';
3
3
  import cn from 'classnames';
4
4
  import '@alfalab/core-components-base-modal/esm';
5
5
  import '../../Context.js';
6
- import { Header } from './Component.js';
6
+ import { H as Header, g as getDataTestId } from '../../Component-e546d8c5.js';
7
7
  import '@alfalab/core-components-icon-button/esm';
8
8
  import '@alfalab/icons-glyph/CrossHeavyMIcon';
9
9
  import { Closer } from '../closer/Component.js';
@@ -14,10 +14,10 @@ require('./mobile.css')
14
14
 
15
15
  var HeaderMobile = function (_a) {
16
16
  var _b;
17
- var className = _a.className, contentClassName = _a.contentClassName, _c = _a.hasCloser, hasCloser = _c === void 0 ? true : _c, sticky = _a.sticky, restProps = __rest(_a, ["className", "contentClassName", "hasCloser", "sticky"]);
17
+ var className = _a.className, contentClassName = _a.contentClassName, _c = _a.hasCloser, hasCloser = _c === void 0 ? true : _c, sticky = _a.sticky, dataTestId = _a.dataTestId, restProps = __rest(_a, ["className", "contentClassName", "hasCloser", "sticky", "dataTestId"]);
18
18
  return (React.createElement(Header, __assign({ className: cn(className, (_b = {},
19
19
  _b[styles.sticky] = sticky,
20
- _b)), contentClassName: cn(styles.content, contentClassName), closer: hasCloser ? React.createElement(Closer, { icon: CrossMIcon, size: 'xs' }) : null, sticky: sticky }, restProps)));
20
+ _b)), contentClassName: cn(styles.content, contentClassName), closer: hasCloser ? (React.createElement(Closer, { icon: CrossMIcon, size: 'xs', dataTestId: getDataTestId(dataTestId, 'closer') })) : null, sticky: sticky, dataTestId: dataTestId }, restProps)));
21
21
  };
22
22
 
23
23
  export { HeaderMobile };
package/esm/desktop.js CHANGED
@@ -1,10 +1,10 @@
1
- import './tslib.es6-58151049.js';
1
+ import './tslib.es6-c7c6d75c.js';
2
2
  import 'react';
3
3
  import 'classnames';
4
4
  import '@alfalab/core-components-base-modal/esm';
5
5
  import 'react-merge-refs';
6
6
  import './Context.js';
7
- import './components/header/Component.js';
7
+ import './Component-e546d8c5.js';
8
8
  import '@alfalab/core-components-icon-button/esm';
9
9
  import '@alfalab/icons-glyph/CrossHeavyMIcon';
10
10
  import './components/closer/Component.js';
@@ -14,4 +14,4 @@ import './components/content/Component.desktop.js';
14
14
  import './components/footer/Component.js';
15
15
  import './components/footer/Component.desktop.js';
16
16
  export { ModalDesktop } from './Component.desktop.js';
17
- import './transitions.module-48ce371b.js';
17
+ import './transitions.module-246cce05.js';
@@ -0,0 +1,2 @@
1
+ declare const getDataTestId: (dataTestId?: string | undefined, element?: string | undefined) => string | undefined;
2
+ export { getDataTestId };
package/esm/index.js CHANGED
@@ -1,10 +1,10 @@
1
- import './tslib.es6-58151049.js';
1
+ import './tslib.es6-c7c6d75c.js';
2
2
  import 'react';
3
3
  import 'classnames';
4
4
  import '@alfalab/core-components-base-modal/esm';
5
5
  import 'react-merge-refs';
6
6
  export { ModalContext } from './Context.js';
7
- import './components/header/Component.js';
7
+ import './Component-e546d8c5.js';
8
8
  import '@alfalab/core-components-icon-button/esm';
9
9
  import '@alfalab/icons-glyph/CrossHeavyMIcon';
10
10
  import './components/closer/Component.js';
@@ -14,7 +14,7 @@ import './components/content/Component.desktop.js';
14
14
  import './components/footer/Component.js';
15
15
  import './components/footer/Component.desktop.js';
16
16
  import './Component.desktop.js';
17
- import './transitions.module-48ce371b.js';
17
+ import './transitions.module-246cce05.js';
18
18
  import '@alfalab/icons-glyph/CrossMIcon';
19
19
  import './components/header/Component.mobile.js';
20
20
  import './components/content/Component.mobile.js';