@alfalab/core-components-modal 4.1.0 → 5.0.1

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 (180) hide show
  1. package/CHANGELOG.md +40 -0
  2. package/dist/Component.desktop.d.ts +4 -2
  3. package/dist/Component.desktop.js +11 -10
  4. package/dist/Component.mobile.d.ts +1 -1
  5. package/dist/Component.mobile.js +8 -15
  6. package/dist/Component.responsive.d.ts +4 -4
  7. package/dist/Component.responsive.js +9 -7
  8. package/dist/components/closer/Component.d.ts +15 -3
  9. package/dist/components/closer/Component.js +13 -5
  10. package/dist/components/closer/index.css +24 -26
  11. package/dist/components/content/Component.d.ts +1 -3
  12. package/dist/components/content/Component.desktop.d.ts +2 -5
  13. package/dist/components/content/Component.desktop.js +4 -4
  14. package/dist/components/content/Component.js +4 -1
  15. package/dist/components/content/Component.mobile.js +8 -4
  16. package/dist/components/content/desktop.css +18 -597
  17. package/dist/components/content/index.css +28 -0
  18. package/dist/components/content/mobile.css +9 -584
  19. package/dist/components/footer/Component.d.ts +1 -3
  20. package/dist/components/footer/Component.desktop.d.ts +2 -5
  21. package/dist/components/footer/Component.desktop.js +7 -4
  22. package/dist/components/footer/Component.js +5 -2
  23. package/dist/components/footer/Component.mobile.js +11 -4
  24. package/dist/components/footer/desktop.css +18 -604
  25. package/dist/components/footer/index.css +41 -0
  26. package/dist/components/footer/layout.css +28 -28
  27. package/dist/components/footer/mobile.css +7 -593
  28. package/dist/components/header/Component.d.ts +23 -5
  29. package/dist/components/header/Component.desktop.d.ts +5 -4
  30. package/dist/components/header/Component.desktop.js +12 -6
  31. package/dist/components/header/Component.js +13 -9
  32. package/dist/components/header/Component.mobile.d.ts +6 -1
  33. package/dist/components/header/Component.mobile.js +16 -6
  34. package/dist/components/header/desktop.css +53 -624
  35. package/dist/components/header/index.css +85 -0
  36. package/dist/components/header/mobile.css +17 -607
  37. package/dist/cssm/Component.desktop.d.ts +4 -2
  38. package/dist/cssm/Component.desktop.js +11 -7
  39. package/dist/cssm/Component.mobile.d.ts +1 -1
  40. package/dist/cssm/Component.mobile.js +8 -12
  41. package/dist/cssm/Component.responsive.d.ts +4 -4
  42. package/dist/cssm/Component.responsive.js +10 -5
  43. package/dist/cssm/components/closer/Component.d.ts +15 -3
  44. package/dist/cssm/components/closer/Component.js +11 -3
  45. package/dist/cssm/components/closer/index.module.css +22 -24
  46. package/dist/cssm/components/content/Component.d.ts +1 -3
  47. package/dist/cssm/components/content/Component.desktop.d.ts +2 -5
  48. package/dist/cssm/components/content/Component.desktop.js +3 -2
  49. package/dist/cssm/components/content/Component.js +5 -3
  50. package/dist/cssm/components/content/Component.mobile.js +7 -2
  51. package/dist/cssm/components/content/desktop.module.css +14 -21
  52. package/dist/cssm/components/content/index.module.css +4 -16
  53. package/dist/cssm/components/content/mobile.module.css +7 -9
  54. package/dist/cssm/components/footer/Component.d.ts +1 -3
  55. package/dist/cssm/components/footer/Component.desktop.d.ts +2 -5
  56. package/dist/cssm/components/footer/Component.desktop.js +6 -2
  57. package/dist/cssm/components/footer/Component.js +6 -4
  58. package/dist/cssm/components/footer/Component.mobile.js +10 -2
  59. package/dist/cssm/components/footer/desktop.module.css +15 -25
  60. package/dist/cssm/components/footer/index.module.css +8 -12
  61. package/dist/cssm/components/footer/layout.module.css +3 -3
  62. package/dist/cssm/components/footer/mobile.module.css +4 -12
  63. package/dist/cssm/components/header/Component.d.ts +23 -5
  64. package/dist/cssm/components/header/Component.desktop.d.ts +5 -4
  65. package/dist/cssm/components/header/Component.desktop.js +12 -5
  66. package/dist/cssm/components/header/Component.js +15 -13
  67. package/dist/cssm/components/header/Component.mobile.d.ts +6 -1
  68. package/dist/cssm/components/header/Component.mobile.js +16 -5
  69. package/dist/cssm/components/header/desktop.module.css +51 -35
  70. package/dist/cssm/components/header/index.module.css +45 -24
  71. package/dist/cssm/components/header/mobile.module.css +21 -22
  72. package/dist/cssm/desktop.js +6 -2
  73. package/dist/cssm/desktop.module.css +10 -6
  74. package/dist/cssm/index.js +8 -3
  75. package/dist/cssm/mobile.js +7 -3
  76. package/dist/cssm/mobile.module.css +3 -3
  77. package/dist/cssm/responsive.js +8 -3
  78. package/dist/cssm/vars.css +3 -3
  79. package/dist/desktop.css +18 -14
  80. package/dist/desktop.js +5 -4
  81. package/dist/esm/Component.desktop.d.ts +4 -2
  82. package/dist/esm/Component.desktop.js +11 -10
  83. package/dist/esm/Component.mobile.d.ts +1 -1
  84. package/dist/esm/Component.mobile.js +9 -16
  85. package/dist/esm/Component.responsive.d.ts +4 -4
  86. package/dist/esm/Component.responsive.js +9 -7
  87. package/dist/esm/components/closer/Component.d.ts +15 -3
  88. package/dist/esm/components/closer/Component.js +13 -5
  89. package/dist/esm/components/closer/index.css +24 -26
  90. package/dist/esm/components/content/Component.d.ts +1 -3
  91. package/dist/esm/components/content/Component.desktop.d.ts +2 -5
  92. package/dist/esm/components/content/Component.desktop.js +4 -4
  93. package/dist/esm/components/content/Component.js +4 -1
  94. package/dist/esm/components/content/Component.mobile.js +7 -4
  95. package/dist/esm/components/content/desktop.css +18 -597
  96. package/dist/esm/components/content/index.css +28 -0
  97. package/dist/esm/components/content/mobile.css +9 -584
  98. package/dist/esm/components/footer/Component.d.ts +1 -3
  99. package/dist/esm/components/footer/Component.desktop.d.ts +2 -5
  100. package/dist/esm/components/footer/Component.desktop.js +7 -4
  101. package/dist/esm/components/footer/Component.js +5 -2
  102. package/dist/esm/components/footer/Component.mobile.js +10 -4
  103. package/dist/esm/components/footer/desktop.css +18 -604
  104. package/dist/esm/components/footer/index.css +41 -0
  105. package/dist/esm/components/footer/layout.css +28 -28
  106. package/dist/esm/components/footer/mobile.css +7 -593
  107. package/dist/esm/components/header/Component.d.ts +23 -5
  108. package/dist/esm/components/header/Component.desktop.d.ts +5 -4
  109. package/dist/esm/components/header/Component.desktop.js +12 -6
  110. package/dist/esm/components/header/Component.js +13 -9
  111. package/dist/esm/components/header/Component.mobile.d.ts +6 -1
  112. package/dist/esm/components/header/Component.mobile.js +14 -6
  113. package/dist/esm/components/header/desktop.css +53 -624
  114. package/dist/esm/components/header/index.css +85 -0
  115. package/dist/esm/components/header/mobile.css +17 -607
  116. package/dist/esm/desktop.css +18 -14
  117. package/dist/esm/desktop.js +5 -4
  118. package/dist/esm/index.js +7 -5
  119. package/dist/esm/mobile.css +5 -5
  120. package/dist/esm/mobile.js +6 -5
  121. package/dist/esm/responsive.js +7 -5
  122. package/dist/esm/transitions.css +8 -8
  123. package/dist/esm/transitions.module-386b448e.js +4 -0
  124. package/dist/esm/{tslib.es6-75e2f0f0.d.ts → tslib.es6-242320f2.d.ts} +0 -0
  125. package/dist/esm/{tslib.es6-75e2f0f0.js → tslib.es6-242320f2.js} +0 -0
  126. package/dist/index.js +7 -5
  127. package/dist/mobile.css +5 -5
  128. package/dist/mobile.js +6 -5
  129. package/dist/modern/Component.desktop.d.ts +4 -2
  130. package/dist/modern/Component.desktop.js +11 -10
  131. package/dist/modern/Component.mobile.d.ts +1 -1
  132. package/dist/modern/Component.mobile.js +8 -16
  133. package/dist/modern/Component.responsive.d.ts +4 -4
  134. package/dist/modern/Component.responsive.js +8 -6
  135. package/dist/modern/components/closer/Component.d.ts +15 -3
  136. package/dist/modern/components/closer/Component.js +11 -4
  137. package/dist/modern/components/closer/index.css +24 -26
  138. package/dist/modern/components/content/Component.d.ts +1 -3
  139. package/dist/modern/components/content/Component.desktop.d.ts +2 -5
  140. package/dist/modern/components/content/Component.desktop.js +2 -2
  141. package/dist/modern/components/content/Component.js +4 -1
  142. package/dist/modern/components/content/Component.mobile.js +3 -3
  143. package/dist/modern/components/content/desktop.css +18 -597
  144. package/dist/modern/components/content/index.css +28 -0
  145. package/dist/modern/components/content/mobile.css +9 -584
  146. package/dist/modern/components/footer/Component.d.ts +1 -3
  147. package/dist/modern/components/footer/Component.desktop.d.ts +2 -5
  148. package/dist/modern/components/footer/Component.desktop.js +4 -2
  149. package/dist/modern/components/footer/Component.js +5 -2
  150. package/dist/modern/components/footer/Component.mobile.js +5 -3
  151. package/dist/modern/components/footer/desktop.css +18 -604
  152. package/dist/modern/components/footer/index.css +41 -0
  153. package/dist/modern/components/footer/layout.css +28 -28
  154. package/dist/modern/components/footer/mobile.css +7 -593
  155. package/dist/modern/components/header/Component.d.ts +23 -5
  156. package/dist/modern/components/header/Component.desktop.d.ts +5 -4
  157. package/dist/modern/components/header/Component.desktop.js +11 -4
  158. package/dist/modern/components/header/Component.js +11 -6
  159. package/dist/modern/components/header/Component.mobile.d.ts +6 -1
  160. package/dist/modern/components/header/Component.mobile.js +9 -5
  161. package/dist/modern/components/header/desktop.css +53 -624
  162. package/dist/modern/components/header/index.css +85 -0
  163. package/dist/modern/components/header/mobile.css +17 -607
  164. package/dist/modern/desktop.css +18 -14
  165. package/dist/modern/desktop.js +4 -3
  166. package/dist/modern/index.js +6 -4
  167. package/dist/modern/mobile.css +5 -5
  168. package/dist/modern/mobile.js +5 -4
  169. package/dist/modern/responsive.js +6 -4
  170. package/dist/modern/transitions.css +8 -8
  171. package/dist/modern/transitions.module-386b448e.js +4 -0
  172. package/dist/responsive.js +7 -5
  173. package/dist/transitions.css +8 -8
  174. package/dist/transitions.module-27d19713.js +6 -0
  175. package/dist/{tslib.es6-ae9d9dce.d.ts → tslib.es6-4834d51a.d.ts} +0 -0
  176. package/dist/{tslib.es6-ae9d9dce.js → tslib.es6-4834d51a.js} +0 -0
  177. package/package.json +4 -3
  178. package/dist/esm/transitions.module-602ea4ef.js +0 -4
  179. package/dist/modern/transitions.module-602ea4ef.js +0 -4
  180. package/dist/transitions.module-336e79fe.js +0 -6
@@ -8,15 +8,19 @@ var cn = require('classnames');
8
8
  var coreComponentsBaseModal = require('@alfalab/core-components-base-modal/dist/cssm');
9
9
  var mergeRefs = require('react-merge-refs');
10
10
  require('./Context.js');
11
- require('@alfalab/core-components-button/dist/cssm');
11
+ require('./components/header/index.module.css');
12
+ require('./components/header/Component.js');
13
+ require('@alfalab/core-components-icon-button/dist/cssm');
14
+ require('@alfalab/icons-glyph/CrossHeavyMIcon');
12
15
  require('./components/closer/index.module.css');
13
16
  var components_closer_Component = require('./components/closer/Component.js');
14
- require('./components/header/Component.js');
15
17
  require('./components/header/desktop.module.css');
16
18
  var components_header_Component_desktop = require('./components/header/Component.desktop.js');
19
+ require('./components/content/index.module.css');
17
20
  require('./components/content/Component.js');
18
21
  require('./components/content/desktop.module.css');
19
22
  var components_content_Component_desktop = require('./components/content/Component.desktop.js');
23
+ require('./components/footer/index.module.css');
20
24
  require('./components/footer/layout.module.css');
21
25
  require('./components/footer/Component.js');
22
26
  require('./components/footer/desktop.module.css');
@@ -35,6 +39,8 @@ var transitions__default = /*#__PURE__*/_interopDefaultLegacy(transitions);
35
39
  var ModalDesktopComponent = React.forwardRef(function (_a, ref) {
36
40
  var _b;
37
41
  var _c = _a.size, size = _c === void 0 ? 's' : _c, fixedPosition = _a.fixedPosition, fullscreen = _a.fullscreen, children = _a.children, className = _a.className, wrapperClassName = _a.wrapperClassName, _d = _a.transitionProps, transitionProps = _d === void 0 ? {} : _d, restProps = tslib_es6.__rest(_a, ["size", "fixedPosition", "fullscreen", "children", "className", "wrapperClassName", "transitionProps"]);
42
+ // TODO: удалить, после удаления пропсы fullscreen
43
+ var componentSize = fullscreen ? 'fullscreen' : size;
38
44
  var modalRef = React.useRef(null);
39
45
  var handleEntered = React.useCallback(function (node, isAppearing) {
40
46
  if (fixedPosition && modalRef.current) {
@@ -49,11 +55,9 @@ var ModalDesktopComponent = React.forwardRef(function (_a, ref) {
49
55
  }
50
56
  }, [fixedPosition, transitionProps]);
51
57
  return (React__default['default'].createElement(coreComponentsBaseModal.BaseModal, tslib_es6.__assign({}, restProps, { ref: mergeRefs__default['default']([ref, modalRef]), wrapperClassName: cn__default['default'](styles__default['default'].wrapper, wrapperClassName, (_b = {},
52
- _b[styles__default['default'].fullscreen] = fullscreen,
53
- _b)), className: cn__default['default'](styles__default['default'].component, className, !fullscreen && styles__default['default'][size]), backdropProps: tslib_es6.__assign(tslib_es6.__assign({}, restProps.backdropProps), { invisible: fullscreen }), transitionProps: tslib_es6.__assign(tslib_es6.__assign({ classNames: transitions__default['default'] }, transitionProps), { onEntered: handleEntered }) }), React__default['default'].Children.map(children, function (child) {
54
- return React.isValidElement(child)
55
- ? React.cloneElement(child, { size: child.props.size || size, fullscreen: fullscreen })
56
- : child;
58
+ _b[styles__default['default'].fullscreen] = componentSize === 'fullscreen',
59
+ _b)), className: cn__default['default'](styles__default['default'].component, className, styles__default['default'][componentSize]), backdropProps: tslib_es6.__assign(tslib_es6.__assign({}, restProps.backdropProps), { invisible: componentSize === 'fullscreen' }), transitionProps: tslib_es6.__assign(tslib_es6.__assign({ classNames: transitions__default['default'] }, transitionProps), { onEntered: handleEntered }) }), React__default['default'].Children.map(children, function (child) {
60
+ return React.isValidElement(child) ? React.cloneElement(child, { size: componentSize }) : child;
57
61
  })));
58
62
  });
59
63
  var ModalDesktop = Object.assign(ModalDesktopComponent, {
@@ -16,7 +16,7 @@ declare const ModalMobile: React.ForwardRefExoticComponent<BaseModalProps & {
16
16
  hasCloser?: boolean | undefined;
17
17
  } & React.RefAttributes<HTMLDivElement>> & {
18
18
  Content: React.FC<import("./components/content/Component").ContentProps>;
19
- Header: React.FC<import("./components/header/Component").HeaderProps>;
19
+ Header: React.FC<import("./components/header/Component.mobile").HeaderMobileProps>;
20
20
  Footer: React.FC<import("./components/footer/Component").FooterProps>;
21
21
  Closer: React.FC<import("./components/closer/Component").CloserProps>;
22
22
  };
@@ -7,15 +7,19 @@ var React = require('react');
7
7
  var cn = require('classnames');
8
8
  var coreComponentsBaseModal = require('@alfalab/core-components-base-modal/dist/cssm');
9
9
  require('./Context.js');
10
- require('@alfalab/core-components-button/dist/cssm');
10
+ require('./components/header/index.module.css');
11
+ require('./components/header/Component.js');
12
+ require('@alfalab/core-components-icon-button/dist/cssm');
13
+ require('@alfalab/icons-glyph/CrossHeavyMIcon');
11
14
  require('./components/closer/index.module.css');
12
15
  var components_closer_Component = require('./components/closer/Component.js');
13
- require('./components/header/Component.js');
16
+ require('./components/content/index.module.css');
14
17
  require('./components/content/Component.js');
18
+ require('./components/footer/index.module.css');
15
19
  require('./components/footer/layout.module.css');
16
20
  require('./components/footer/Component.js');
17
21
  var transitions = require('./transitions.module.css');
18
- var hooks = require('@alfalab/hooks');
22
+ require('@alfalab/icons-glyph/CrossMIcon');
19
23
  require('./components/header/mobile.module.css');
20
24
  var components_header_Component_mobile = require('./components/header/Component.mobile.js');
21
25
  require('./components/content/mobile.module.css');
@@ -33,15 +37,7 @@ var styles__default = /*#__PURE__*/_interopDefaultLegacy(styles);
33
37
 
34
38
  var ModalMobileComponent = React.forwardRef(function (_a, ref) {
35
39
  var children = _a.children, className = _a.className, restProps = tslib_es6.__rest(_a, ["children", "className"]);
36
- var size = hooks.useMedia([
37
- ['s', '(max-width: 375px)'],
38
- ['m', '(min-width: 376px)'],
39
- ], 's')[0];
40
- return (React__default['default'].createElement(coreComponentsBaseModal.BaseModal, tslib_es6.__assign({}, restProps, { ref: ref, transitionProps: tslib_es6.__assign({ classNames: transitions__default['default'] }, restProps.transitionProps), className: cn__default['default'](className, styles__default['default'].component), backdropProps: tslib_es6.__assign(tslib_es6.__assign({}, restProps.backdropProps), { invisible: true }) }), React__default['default'].Children.map(children, function (child) {
41
- return React.isValidElement(child)
42
- ? React.cloneElement(child, { size: child.props.size || size, fullscreen: true })
43
- : child;
44
- })));
40
+ return (React__default['default'].createElement(coreComponentsBaseModal.BaseModal, tslib_es6.__assign({}, restProps, { ref: ref, transitionProps: tslib_es6.__assign({ classNames: transitions__default['default'] }, restProps.transitionProps), className: cn__default['default'](className, styles__default['default'].component) }), children));
45
41
  });
46
42
  var ModalMobile = Object.assign(ModalMobileComponent, {
47
43
  Content: components_content_Component_mobile.ContentMobile,
@@ -6,14 +6,14 @@ type ModalResponsiveProps = ModalMobileProps & ModalDesktopProps;
6
6
  declare const ModalResponsive: React.ForwardRefExoticComponent<import("packages/base-modal/src").BaseModalProps & {
7
7
  hasCloser?: boolean | undefined;
8
8
  } & {
9
- size?: "s" | "m" | "l" | undefined;
9
+ size?: "s" | "m" | "l" | "xl" | "fullscreen" | undefined;
10
10
  fullscreen?: boolean | undefined;
11
11
  fixedPosition?: boolean | undefined;
12
12
  hasCloser?: boolean | undefined;
13
13
  } & React.RefAttributes<HTMLDivElement>> & {
14
- Header: React.FC<import("./components/header/Component.desktop").HeaderDesktopProps> | React.FC<import("./components/header/Component").HeaderProps>;
15
- Content: React.FC<import("./components/content/Component.desktop").ContentDesktopProps> | React.FC<import("./components/content/Component").ContentProps>;
16
- Footer: React.FC<import("./components/footer/Component.desktop").FooterDesktopProps> | React.FC<import("./components/footer/Component").FooterProps>;
14
+ Header: React.FC<import("./components/header/Component.desktop").HeaderDesktopProps> | React.FC<import("./components/header/Component.mobile").HeaderMobileProps>;
15
+ Content: React.FC<import("./components/content/Component").ContentProps> | React.FC<import("./components/content/Component.desktop").ContentDesktopProps>;
16
+ Footer: React.FC<import("./components/footer/Component").FooterProps> | React.FC<import("./components/footer/Component.desktop").FooterDesktopProps>;
17
17
  Closer: React.FC<import("./components/closer/Component").CloserProps>;
18
18
  };
19
19
  export { ModalResponsiveProps, ModalResponsive };
@@ -8,15 +8,19 @@ require('classnames');
8
8
  require('@alfalab/core-components-base-modal/dist/cssm');
9
9
  require('react-merge-refs');
10
10
  require('./Context.js');
11
- require('@alfalab/core-components-button/dist/cssm');
11
+ require('./components/header/index.module.css');
12
+ require('./components/header/Component.js');
13
+ require('@alfalab/core-components-icon-button/dist/cssm');
14
+ require('@alfalab/icons-glyph/CrossHeavyMIcon');
12
15
  require('./components/closer/index.module.css');
13
16
  var components_closer_Component = require('./components/closer/Component.js');
14
- require('./components/header/Component.js');
15
17
  require('./components/header/desktop.module.css');
16
18
  require('./components/header/Component.desktop.js');
19
+ require('./components/content/index.module.css');
17
20
  require('./components/content/Component.js');
18
21
  require('./components/content/desktop.module.css');
19
22
  require('./components/content/Component.desktop.js');
23
+ require('./components/footer/index.module.css');
20
24
  require('./components/footer/layout.module.css');
21
25
  require('./components/footer/Component.js');
22
26
  require('./components/footer/desktop.module.css');
@@ -24,7 +28,7 @@ require('./components/footer/Component.desktop.js');
24
28
  require('./desktop.module.css');
25
29
  require('./transitions.module.css');
26
30
  var Component_desktop = require('./Component.desktop.js');
27
- var hooks = require('@alfalab/hooks');
31
+ require('@alfalab/icons-glyph/CrossMIcon');
28
32
  require('./components/header/mobile.module.css');
29
33
  require('./components/header/Component.mobile.js');
30
34
  require('./components/content/mobile.module.css');
@@ -33,6 +37,7 @@ require('./components/footer/mobile.module.css');
33
37
  require('./components/footer/Component.mobile.js');
34
38
  require('./mobile.module.css');
35
39
  var Component_mobile = require('./Component.mobile.js');
40
+ var hooks = require('@alfalab/hooks');
36
41
 
37
42
  function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
38
43
 
@@ -52,8 +57,8 @@ function createResponsive(desktop, mobile) {
52
57
  var ModalResponsiveComponent = React.forwardRef(function (_a, ref) {
53
58
  var children = _a.children, restProps = tslib_es6.__rest(_a, ["children"]);
54
59
  var view = hooks.useMedia([
55
- ['mobile', '(max-width: 767px)'],
56
- ['desktop', '(min-width: 768px)'],
60
+ ['mobile', '(max-width: 1023px)'],
61
+ ['desktop', '(min-width: 1024px)'],
57
62
  ], 'desktop')[0];
58
63
  var contextValue = React.useMemo(function () { return ({ view: view }); }, [view]);
59
64
  var Component = view === 'desktop' ? Component_desktop.ModalDesktop : Component_mobile.ModalMobile;
@@ -1,4 +1,5 @@
1
- import { ButtonHTMLAttributes, FC } from 'react';
1
+ import { ButtonHTMLAttributes, ElementType, FC } from 'react';
2
+ import { IconButtonProps } from "@alfalab/core-components-icon-button";
2
3
  type CloserProps = ButtonHTMLAttributes<HTMLButtonElement> & {
3
4
  /**
4
5
  * Дополнительный класс
@@ -9,9 +10,20 @@ type CloserProps = ButtonHTMLAttributes<HTMLButtonElement> & {
9
10
  */
10
11
  align?: 'left' | 'right';
11
12
  /**
12
- * Флаг, что модальное окно открыто на весь экран
13
+ * Размер кнопки
13
14
  */
14
- fullscreen?: boolean;
15
+ size?: IconButtonProps['size'];
16
+ /**
17
+ * Фиксирует крестик
18
+ */
19
+ sticky?: boolean;
20
+ /**
21
+ * Иконка
22
+ */
23
+ icon?: ElementType;
15
24
  };
25
+ /**
26
+ * @deprecated Компонент только для внутреннего использования. Используйте <Header />
27
+ */
16
28
  declare const Closer: FC<CloserProps>;
17
29
  export { CloserProps, Closer };
@@ -7,7 +7,8 @@ var React = require('react');
7
7
  var cn = require('classnames');
8
8
  require('@alfalab/core-components-base-modal/dist/cssm');
9
9
  var Context = require('../../Context.js');
10
- var coreComponentsButton = require('@alfalab/core-components-button/dist/cssm');
10
+ var coreComponentsIconButton = require('@alfalab/core-components-icon-button/dist/cssm');
11
+ var CrossHeavyMIcon = require('@alfalab/icons-glyph/CrossHeavyMIcon');
11
12
  var styles = require('./index.module.css');
12
13
 
13
14
  function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
@@ -16,13 +17,20 @@ var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
16
17
  var cn__default = /*#__PURE__*/_interopDefaultLegacy(cn);
17
18
  var styles__default = /*#__PURE__*/_interopDefaultLegacy(styles);
18
19
 
20
+ /**
21
+ * @deprecated Компонент только для внутреннего использования. Используйте <Header />
22
+ */
19
23
  var Closer = function (_a) {
20
- var className = _a.className, fullscreen = _a.fullscreen, align = _a.align, restProps = tslib_es6.__rest(_a, ["className", "fullscreen", "align"]);
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"]);
21
26
  var onClose = React.useContext(Context.ModalContext).onClose;
22
27
  var handleClick = React.useCallback(function (event) {
23
28
  onClose(event, 'closerClick');
24
29
  }, [onClose]);
25
- return (React__default['default'].createElement(coreComponentsButton.Button, tslib_es6.__assign({ type: 'button', view: 'ghost', className: cn__default['default'](styles__default['default'].closer, className, fullscreen && styles__default['default'].fullscreen, align && styles__default['default'][align]), "aria-label": '\u0437\u0430\u043A\u0440\u044B\u0442\u044C', onClick: handleClick }, restProps)));
30
+ return (React__default['default'].createElement("div", { className: cn__default['default'](styles__default['default'].closer, className, (_b = {},
31
+ _b[styles__default['default'].sticky] = sticky,
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))));
26
34
  };
27
35
 
28
36
  exports.Closer = Closer;
@@ -1,3 +1,6 @@
1
+ :root {
2
+ --color-light-bg-primary-alpha-40: rgba(255, 255, 255, 0.4);
3
+ }
1
4
  :root {
2
5
 
3
6
  /* Hard */
@@ -16,36 +19,31 @@
16
19
 
17
20
  /* paddings */
18
21
 
19
- /* closer */
20
- --modal-closer-icon: url('https://alfabank.gcdn.co/icons/glyph_cross_m.svg');
22
+ /* scroll */
21
23
 
22
- /* sticky */
24
+ /* desktop */
23
25
 
24
- /* scroll */
26
+ /* mobile */
27
+ }
28
+ :root {
29
+ --modal-closer-bg-color: var(--color-light-bg-primary-alpha-40);
25
30
  }
26
31
  .closer {
32
+ flex-shrink: 0;
27
33
  width: 48px;
28
34
  height: 48px;
29
- background-image: var(--modal-closer-icon);
30
- background-position: center;
31
- background-repeat: no-repeat;
32
- flex-shrink: 0;
33
- transition: opacity 0.2s ease-out
34
- }
35
- .closer:hover {
36
- opacity: 0.7;
37
- }
38
- .closer:active {
39
- opacity: 0.5;
40
- }
41
- .left,
42
- .right {
43
- position: sticky;
44
- top: calc(var(--modal-vertical-padding) * -1);
45
- }
46
- .right {
47
35
  margin-left: auto;
36
+ display: flex;
37
+ align-items: center;
38
+ justify-content: center;
48
39
  }
49
- .fullscreen {
50
- top: 0;
40
+ .button {
41
+ background: var(--modal-closer-bg-color);
42
+ -webkit-backdrop-filter: blur(10px);
43
+ backdrop-filter: blur(10px);
44
+ border-radius: 50px;
45
+ }
46
+ .sticky {
47
+ position: sticky;
48
+ top: calc(var(--modal-vertical-padding) * -1);
51
49
  }
@@ -13,7 +13,5 @@ type ContentProps = {
13
13
  */
14
14
  flex?: boolean;
15
15
  };
16
- declare const Content: FC<ContentProps & {
17
- styles: Record<string, string>;
18
- }>;
16
+ declare const Content: FC<ContentProps>;
19
17
  export { ContentProps, Content };
@@ -1,14 +1,11 @@
1
1
  import { FC } from 'react';
2
2
  import { ContentProps } from "./Component";
3
+ import { ModalDesktopProps } from "../../Component.desktop";
3
4
  type ContentDesktopProps = ContentProps & {
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 ContentDesktop: FC<ContentDesktopProps>;
14
11
  export { ContentDesktopProps, ContentDesktop };
@@ -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
  var components_content_Component = require('./Component.js');
11
12
  var styles = require('./desktop.module.css');
12
13
 
@@ -17,8 +18,8 @@ var cn__default = /*#__PURE__*/_interopDefaultLegacy(cn);
17
18
  var styles__default = /*#__PURE__*/_interopDefaultLegacy(styles);
18
19
 
19
20
  var ContentDesktop = function (_a) {
20
- var size = _a.size, className = _a.className, fullscreen = _a.fullscreen, restProps = tslib_es6.__rest(_a, ["size", "className", "fullscreen"]);
21
- return (React__default['default'].createElement(components_content_Component.Content, tslib_es6.__assign({ className: cn__default['default'](className, size && styles__default['default'][size], fullscreen && styles__default['default'].fullscreen), styles: styles__default['default'] }, restProps)));
21
+ var size = _a.size, className = _a.className, restProps = tslib_es6.__rest(_a, ["size", "className"]);
22
+ return (React__default['default'].createElement(components_content_Component.Content, tslib_es6.__assign({ className: cn__default['default'](className, size && styles__default['default'][size]) }, restProps)));
22
23
  };
23
24
 
24
25
  exports.ContentDesktop = ContentDesktop;
@@ -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);
17
+ --modal-s-content-paddings: 0 56px;
18
+ --modal-s-content-only-bottom-padding: 56px;
22
19
 
23
- /* closer */
20
+ /* scroll */
24
21
 
25
- /* sticky */
22
+ /* desktop */
26
23
 
27
- /* scroll */
28
- }
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);
24
+ /* mobile */
37
25
  }
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
14
 
21
- /* closer */
15
+ /* scroll */
22
16
 
23
- /* sticky */
17
+ /* desktop */
24
18
 
25
- /* scroll */
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
- /* closer */
18
+ /* scroll */
19
19
 
20
- /* sticky */
20
+ /* desktop */
21
21
 
22
- /* scroll */
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;