@alfalab/core-components-side-panel 4.1.3 → 5.0.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 (138) hide show
  1. package/Component.responsive.d.ts +1 -0
  2. package/Component.responsive.js +3 -0
  3. package/components/content/Component.desktop.js +1 -1
  4. package/components/content/Component.js +1 -1
  5. package/components/content/Component.mobile.js +1 -1
  6. package/components/content/desktop.css +3 -3
  7. package/components/content/index.css +4 -4
  8. package/components/content/mobile.css +3 -3
  9. package/components/controls/Component.d.ts +29 -0
  10. package/components/controls/Component.js +31 -0
  11. package/components/controls/index.css +4 -0
  12. package/components/controls/index.d.ts +1 -0
  13. package/components/controls/index.js +13 -0
  14. package/components/footer/Component.desktop.js +2 -1
  15. package/components/footer/Component.js +3 -5
  16. package/components/footer/Component.mobile.js +3 -2
  17. package/components/footer/desktop.css +3 -3
  18. package/components/footer/index.css +9 -9
  19. package/components/footer/layout.css +17 -27
  20. package/components/footer/mobile.css +4 -13
  21. package/components/header/Component.js +3 -3
  22. package/components/header/desktop.css +5 -5
  23. package/components/header/index.css +19 -19
  24. package/components/header/mobile.css +4 -4
  25. package/cssm/Component.responsive.d.ts +1 -0
  26. package/cssm/Component.responsive.js +4 -1
  27. package/cssm/components/controls/Component.d.ts +29 -0
  28. package/cssm/components/controls/Component.js +31 -0
  29. package/cssm/components/controls/index.d.ts +1 -0
  30. package/cssm/components/controls/index.js +14 -0
  31. package/cssm/components/controls/index.module.css +3 -0
  32. package/cssm/components/footer/Component.mobile.js +1 -1
  33. package/cssm/components/footer/index.module.css +5 -5
  34. package/cssm/components/footer/layout.module.css +8 -18
  35. package/cssm/components/footer/mobile.module.css +1 -10
  36. package/cssm/components/header/index.module.css +5 -5
  37. package/cssm/desktop/Component.desktop.d.ts +4 -1
  38. package/cssm/desktop/Component.desktop.js +4 -1
  39. package/cssm/desktop/index.js +4 -2
  40. package/cssm/index.js +5 -3
  41. package/cssm/mobile/Component.mobile.d.ts +2 -0
  42. package/cssm/mobile/Component.mobile.js +4 -1
  43. package/cssm/mobile/index.js +4 -2
  44. package/desktop/Component.desktop.d.ts +4 -1
  45. package/desktop/Component.desktop.js +5 -2
  46. package/desktop/desktop.css +3 -3
  47. package/desktop/index.js +3 -1
  48. package/desktop/transitions.desktop.css +7 -7
  49. package/esm/Component.responsive.d.ts +1 -0
  50. package/esm/Component.responsive.js +3 -0
  51. package/esm/components/content/Component.desktop.js +1 -1
  52. package/esm/components/content/Component.js +1 -1
  53. package/esm/components/content/Component.mobile.js +1 -1
  54. package/esm/components/content/desktop.css +3 -3
  55. package/esm/components/content/index.css +4 -4
  56. package/esm/components/content/mobile.css +3 -3
  57. package/esm/components/controls/Component.d.ts +29 -0
  58. package/esm/components/controls/Component.js +22 -0
  59. package/esm/components/controls/index.css +4 -0
  60. package/esm/components/controls/index.d.ts +1 -0
  61. package/esm/components/controls/index.js +5 -0
  62. package/esm/components/footer/Component.desktop.js +2 -1
  63. package/esm/components/footer/Component.js +2 -4
  64. package/esm/components/footer/Component.mobile.js +3 -2
  65. package/esm/components/footer/desktop.css +3 -3
  66. package/esm/components/footer/index.css +9 -9
  67. package/esm/components/footer/layout.css +17 -27
  68. package/esm/components/footer/mobile.css +4 -13
  69. package/esm/components/header/Component.js +3 -3
  70. package/esm/components/header/desktop.css +5 -5
  71. package/esm/components/header/index.css +19 -19
  72. package/esm/components/header/mobile.css +4 -4
  73. package/esm/desktop/Component.desktop.d.ts +4 -1
  74. package/esm/desktop/Component.desktop.js +5 -2
  75. package/esm/desktop/desktop.css +3 -3
  76. package/esm/desktop/index.js +3 -1
  77. package/esm/desktop/transitions.desktop.css +7 -7
  78. package/esm/index.js +4 -2
  79. package/esm/layout.module-39750ede.js +4 -0
  80. package/esm/mobile/Component.mobile.d.ts +2 -0
  81. package/esm/mobile/Component.mobile.js +5 -2
  82. package/esm/mobile/index.js +3 -1
  83. package/esm/mobile/mobile.css +4 -4
  84. package/esm/mobile/transitions.mobile.css +8 -8
  85. package/index.js +4 -2
  86. package/layout.module-9de5161f.js +6 -0
  87. package/mobile/Component.mobile.d.ts +2 -0
  88. package/mobile/Component.mobile.js +5 -2
  89. package/mobile/index.js +3 -1
  90. package/mobile/mobile.css +4 -4
  91. package/mobile/transitions.mobile.css +8 -8
  92. package/modern/Component.responsive.d.ts +1 -0
  93. package/modern/Component.responsive.js +3 -0
  94. package/modern/components/content/Component.desktop.js +1 -1
  95. package/modern/components/content/Component.js +1 -1
  96. package/modern/components/content/Component.mobile.js +1 -1
  97. package/modern/components/content/desktop.css +3 -3
  98. package/modern/components/content/index.css +4 -4
  99. package/modern/components/content/mobile.css +3 -3
  100. package/modern/components/controls/Component.d.ts +29 -0
  101. package/modern/components/controls/Component.js +21 -0
  102. package/modern/components/controls/index.css +4 -0
  103. package/modern/components/controls/index.d.ts +1 -0
  104. package/modern/components/controls/index.js +5 -0
  105. package/modern/components/footer/Component.desktop.js +2 -1
  106. package/modern/components/footer/Component.js +2 -4
  107. package/modern/components/footer/Component.mobile.js +3 -2
  108. package/modern/components/footer/desktop.css +3 -3
  109. package/modern/components/footer/index.css +9 -9
  110. package/modern/components/footer/layout.css +17 -27
  111. package/modern/components/footer/mobile.css +4 -13
  112. package/modern/components/header/Component.js +3 -3
  113. package/modern/components/header/desktop.css +5 -5
  114. package/modern/components/header/index.css +19 -19
  115. package/modern/components/header/mobile.css +4 -4
  116. package/modern/desktop/Component.desktop.d.ts +4 -1
  117. package/modern/desktop/Component.desktop.js +6 -3
  118. package/modern/desktop/desktop.css +3 -3
  119. package/modern/desktop/index.js +3 -1
  120. package/modern/desktop/transitions.desktop.css +7 -7
  121. package/modern/index.js +4 -2
  122. package/modern/layout.module-36042bae.js +4 -0
  123. package/modern/mobile/Component.mobile.d.ts +2 -0
  124. package/modern/mobile/Component.mobile.js +5 -2
  125. package/modern/mobile/index.js +3 -1
  126. package/modern/mobile/mobile.css +4 -4
  127. package/modern/mobile/transitions.mobile.css +8 -8
  128. package/package.json +4 -4
  129. package/src/Component.responsive.tsx +2 -0
  130. package/src/components/controls/Component.tsx +73 -0
  131. package/src/components/controls/index.module.css +3 -0
  132. package/src/components/controls/index.ts +1 -0
  133. package/src/components/footer/Component.mobile.tsx +1 -1
  134. package/src/components/footer/layout.module.css +8 -18
  135. package/src/components/footer/mobile.module.css +0 -16
  136. package/src/desktop/Component.desktop.tsx +4 -2
  137. package/src/mobile/Component.mobile.tsx +2 -0
  138. package/src/vars.css +6 -6
@@ -1,4 +1,4 @@
1
- /* hash: 1h4pj */
1
+ /* hash: 1thkt */
2
2
  :root {
3
3
  } /* deprecated */ :root { /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */
4
4
  } :root { /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */
@@ -28,8 +28,8 @@
28
28
  /* mobile */
29
29
 
30
30
  /* paddings */
31
- } .side-panel__s_8mm6i.side-panel__s_8mm6i {
31
+ } .side-panel__s_7ub5v.side-panel__s_7ub5v {
32
32
  width: var(--side-panel-s-width);
33
- } .side-panel__hidden_8mm6i {
33
+ } .side-panel__hidden_7ub5v {
34
34
  overflow-x: hidden;
35
35
  }
@@ -8,8 +8,10 @@ import '../components/content/Component.desktop.js';
8
8
  import '../components/content/Component.js';
9
9
  import '../Context.js';
10
10
  import '@alfalab/core-components-base-modal/esm';
11
+ import '../components/controls/Component.js';
12
+ import '../ResponsiveContext.js';
13
+ import '../layout.module-39750ede.js';
11
14
  import '../components/footer/Component.desktop.js';
12
15
  import '../components/footer/Component.js';
13
16
  import '../components/header/Component.js';
14
17
  import '@alfalab/core-components-navigation-bar/esm';
15
- import '../ResponsiveContext.js';
@@ -1,32 +1,32 @@
1
- /* hash: tpnr3 */
2
- .side-panel__enterRight_z3wyj {
1
+ /* hash: 1lsy6 */
2
+ .side-panel__enterRight_boza3 {
3
3
  opacity: 0;
4
4
  transform: translateX(15px);
5
5
  }
6
6
 
7
- .side-panel__enterLeft_z3wyj {
7
+ .side-panel__enterLeft_boza3 {
8
8
  opacity: 0;
9
9
  transform: translateX(-15px);
10
10
  }
11
11
 
12
- .side-panel__enterActive_z3wyj {
12
+ .side-panel__enterActive_boza3 {
13
13
  opacity: 1;
14
14
  transform: translateX(0);
15
15
  transition: opacity 200ms ease-in, transform 200ms ease-in;
16
16
  }
17
17
 
18
- .side-panel__exit_z3wyj {
18
+ .side-panel__exit_boza3 {
19
19
  opacity: 1;
20
20
  transform: translateX(0);
21
21
  }
22
22
 
23
- .side-panel__exitActiveRight_z3wyj {
23
+ .side-panel__exitActiveRight_boza3 {
24
24
  opacity: 0;
25
25
  transition: opacity 200ms ease-out, transform 200ms ease-out;
26
26
  transform: translateX(15px);
27
27
  }
28
28
 
29
- .side-panel__exitActiveLeft_z3wyj {
29
+ .side-panel__exitActiveLeft_boza3 {
30
30
  opacity: 0;
31
31
  transition: opacity 200ms ease-out, transform 200ms ease-out;
32
32
  transform: translateX(-15px);
package/esm/index.js CHANGED
@@ -3,12 +3,14 @@ import 'tslib';
3
3
  import 'react';
4
4
  import '@alfalab/core-components-mq/esm';
5
5
  import '@alfalab/core-components-shared/esm';
6
- import './components/header/Component.js';
6
+ import './components/controls/Component.js';
7
7
  import 'classnames';
8
+ import './ResponsiveContext.js';
9
+ import './layout.module-39750ede.js';
10
+ import './components/header/Component.js';
8
11
  import '@alfalab/core-components-navigation-bar/esm';
9
12
  import './Context.js';
10
13
  import '@alfalab/core-components-base-modal/esm';
11
- import './ResponsiveContext.js';
12
14
  import './desktop/Component.desktop.js';
13
15
  import 'react-merge-refs';
14
16
  import '@alfalab/core-components-drawer/esm';
@@ -0,0 +1,4 @@
1
+ var layoutStyles = {"column":"side-panel__column_1465d","gap-16":"side-panel__gap-16_1465d","gap-24":"side-panel__gap-24_1465d","gap-32":"side-panel__gap-32_1465d","start":"side-panel__start_1465d","center":"side-panel__center_1465d","space-between":"side-panel__space-between_1465d"};
2
+ require('./components/footer/layout.css')
3
+
4
+ export { layoutStyles as l };
@@ -1,6 +1,7 @@
1
1
  /// <reference types="react" />
2
2
  import React from 'react';
3
3
  import { BaseModalProps } from "@alfalab/core-components-base-modal";
4
+ import { ControlsProps } from "../components/controls/index";
4
5
  type SidePanelMobileProps = BaseModalProps & {
5
6
  /**
6
7
  * Управление наличием закрывающего крестика
@@ -18,5 +19,6 @@ declare const SidePanelMobile: React.ForwardRefExoticComponent<BaseModalProps &
18
19
  Content: React.FC<import("../components/content/Component").ContentProps>;
19
20
  Header: React.FC<import("../components/header/Component").HeaderProps>;
20
21
  Footer: React.FC<import("../components/footer/Component").FooterProps>;
22
+ Controls: React.FC<Omit<ControlsProps, "mobileLayout">>;
21
23
  };
22
24
  export { SidePanelMobileProps, SidePanelMobile };
@@ -3,18 +3,20 @@ import React, { forwardRef, useContext } from 'react';
3
3
  import cn from 'classnames';
4
4
  import { BaseModal } from '@alfalab/core-components-base-modal/esm';
5
5
  import { ContentMobile } from '../components/content/Component.mobile.js';
6
+ import { Controls } from '../components/controls/Component.js';
6
7
  import { FooterMobile } from '../components/footer/Component.mobile.js';
7
8
  import { Header } from '../components/header/Component.js';
8
9
  import { ResponsiveContext } from '../ResponsiveContext.js';
9
10
  import '../components/content/Component.js';
10
11
  import '../Context.js';
12
+ import '../layout.module-39750ede.js';
11
13
  import '../components/footer/Component.js';
12
14
  import '@alfalab/core-components-navigation-bar/esm';
13
15
 
14
- var styles = {"component":"side-panel__component_19cvm","mobileContent":"side-panel__mobileContent_19cvm"};
16
+ var styles = {"component":"side-panel__component_19aqa","mobileContent":"side-panel__mobileContent_19aqa"};
15
17
  require('./mobile.css')
16
18
 
17
- var transitions = {"appear":"side-panel__appear_48wvn","enter":"side-panel__enter_48wvn","appearActive":"side-panel__appearActive_48wvn","enterActive":"side-panel__enterActive_48wvn","exit":"side-panel__exit_48wvn","exitActive":"side-panel__exitActive_48wvn","exitDone":"side-panel__exitDone_48wvn"};
19
+ var transitions = {"appear":"side-panel__appear_8jtdc","enter":"side-panel__enter_8jtdc","appearActive":"side-panel__appearActive_8jtdc","enterActive":"side-panel__enterActive_8jtdc","exit":"side-panel__exit_8jtdc","exitActive":"side-panel__exitActive_8jtdc","exitDone":"side-panel__exitDone_8jtdc"};
18
20
  require('./transitions.mobile.css')
19
21
 
20
22
  var contextValue = { size: 's', view: 'mobile' };
@@ -30,6 +32,7 @@ var SidePanelMobile = Object.assign(SidePanelMobileComponent, {
30
32
  Content: ContentMobile,
31
33
  Header: Header,
32
34
  Footer: FooterMobile,
35
+ Controls: Controls,
33
36
  });
34
37
 
35
38
  export { SidePanelMobile };
@@ -6,8 +6,10 @@ import '@alfalab/core-components-base-modal/esm';
6
6
  import '../components/content/Component.mobile.js';
7
7
  import '../components/content/Component.js';
8
8
  import '../Context.js';
9
+ import '../components/controls/Component.js';
10
+ import '../ResponsiveContext.js';
11
+ import '../layout.module-39750ede.js';
9
12
  import '../components/footer/Component.mobile.js';
10
13
  import '../components/footer/Component.js';
11
14
  import '../components/header/Component.js';
12
15
  import '@alfalab/core-components-navigation-bar/esm';
13
- import '../ResponsiveContext.js';
@@ -1,4 +1,4 @@
1
- /* hash: 7ui7p */
1
+ /* hash: 1sy9t */
2
2
  :root {
3
3
  } /* deprecated */ :root { /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */
4
4
  } :root { /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */
@@ -27,17 +27,17 @@
27
27
  /* mobile */
28
28
 
29
29
  /* paddings */
30
- } .side-panel__component_19cvm {
30
+ } .side-panel__component_19aqa {
31
31
  top: 0;
32
32
  height: 100%;
33
33
  width: 100%;
34
34
  overflow-x: hidden;
35
35
  overflow-y: auto;
36
36
  max-width: 600px;
37
- } .side-panel__component_19cvm.side-panel__component_19cvm {
37
+ } .side-panel__component_19aqa.side-panel__component_19aqa {
38
38
  position: fixed;
39
39
  flex: 1;
40
- } .side-panel__mobileContent_19cvm {
40
+ } .side-panel__mobileContent_19aqa {
41
41
  display: flex;
42
42
  flex-direction: column;
43
43
  width: 100%;
@@ -1,24 +1,24 @@
1
- /* hash: mn72t */
2
- .side-panel__appear_48wvn,
3
- .side-panel__enter_48wvn {
1
+ /* hash: 1m2o8 */
2
+ .side-panel__appear_8jtdc,
3
+ .side-panel__enter_8jtdc {
4
4
  opacity: 0;
5
5
  transform: translateY(15px);
6
6
  }
7
7
 
8
- .side-panel__appearActive_48wvn,
9
- .side-panel__enterActive_48wvn {
8
+ .side-panel__appearActive_8jtdc,
9
+ .side-panel__enterActive_8jtdc {
10
10
  opacity: 1;
11
11
  transform: translateY(0);
12
12
  transition: opacity 200ms ease-in, transform 200ms ease-in;
13
13
  }
14
14
 
15
- .side-panel__exit_48wvn {
15
+ .side-panel__exit_8jtdc {
16
16
  opacity: 1;
17
17
  transform: translateY(0);
18
18
  }
19
19
 
20
- .side-panel__exitActive_48wvn,
21
- .side-panel__exitDone_48wvn {
20
+ .side-panel__exitActive_8jtdc,
21
+ .side-panel__exitDone_8jtdc {
22
22
  opacity: 0;
23
23
  transform: translateY(15px);
24
24
  transition: opacity 200ms ease-out, transform 200ms ease-out;
package/index.js CHANGED
@@ -7,12 +7,14 @@ require('tslib');
7
7
  require('react');
8
8
  require('@alfalab/core-components-mq');
9
9
  require('@alfalab/core-components-shared');
10
- require('./components/header/Component.js');
10
+ require('./components/controls/Component.js');
11
11
  require('classnames');
12
+ require('./ResponsiveContext.js');
13
+ require('./layout.module-9de5161f.js');
14
+ require('./components/header/Component.js');
12
15
  require('@alfalab/core-components-navigation-bar');
13
16
  require('./Context.js');
14
17
  require('@alfalab/core-components-base-modal');
15
- require('./ResponsiveContext.js');
16
18
  require('./desktop/Component.desktop.js');
17
19
  require('react-merge-refs');
18
20
  require('@alfalab/core-components-drawer');
@@ -0,0 +1,6 @@
1
+ 'use strict';
2
+
3
+ var layoutStyles = {"column":"side-panel__column_1465d","gap-16":"side-panel__gap-16_1465d","gap-24":"side-panel__gap-24_1465d","gap-32":"side-panel__gap-32_1465d","start":"side-panel__start_1465d","center":"side-panel__center_1465d","space-between":"side-panel__space-between_1465d"};
4
+ require('./components/footer/layout.css')
5
+
6
+ exports.layoutStyles = layoutStyles;
@@ -1,6 +1,7 @@
1
1
  /// <reference types="react" />
2
2
  import React from 'react';
3
3
  import { BaseModalProps } from "@alfalab/core-components-base-modal";
4
+ import { ControlsProps } from "../components/controls/index";
4
5
  type SidePanelMobileProps = BaseModalProps & {
5
6
  /**
6
7
  * Управление наличием закрывающего крестика
@@ -18,5 +19,6 @@ declare const SidePanelMobile: React.ForwardRefExoticComponent<BaseModalProps &
18
19
  Content: React.FC<import("../components/content/Component").ContentProps>;
19
20
  Header: React.FC<import("../components/header/Component").HeaderProps>;
20
21
  Footer: React.FC<import("../components/footer/Component").FooterProps>;
22
+ Controls: React.FC<Omit<ControlsProps, "mobileLayout">>;
21
23
  };
22
24
  export { SidePanelMobileProps, SidePanelMobile };
@@ -7,11 +7,13 @@ var React = require('react');
7
7
  var cn = require('classnames');
8
8
  var coreComponentsBaseModal = require('@alfalab/core-components-base-modal');
9
9
  var components_content_Component_mobile = require('../components/content/Component.mobile.js');
10
+ var components_controls_Component = require('../components/controls/Component.js');
10
11
  var components_footer_Component_mobile = require('../components/footer/Component.mobile.js');
11
12
  var components_header_Component = require('../components/header/Component.js');
12
13
  var ResponsiveContext = require('../ResponsiveContext.js');
13
14
  require('../components/content/Component.js');
14
15
  require('../Context.js');
16
+ require('../layout.module-9de5161f.js');
15
17
  require('../components/footer/Component.js');
16
18
  require('@alfalab/core-components-navigation-bar');
17
19
 
@@ -20,10 +22,10 @@ function _interopDefaultCompat (e) { return e && typeof e === 'object' && 'defau
20
22
  var React__default = /*#__PURE__*/_interopDefaultCompat(React);
21
23
  var cn__default = /*#__PURE__*/_interopDefaultCompat(cn);
22
24
 
23
- var styles = {"component":"side-panel__component_19cvm","mobileContent":"side-panel__mobileContent_19cvm"};
25
+ var styles = {"component":"side-panel__component_19aqa","mobileContent":"side-panel__mobileContent_19aqa"};
24
26
  require('./mobile.css')
25
27
 
26
- var transitions = {"appear":"side-panel__appear_48wvn","enter":"side-panel__enter_48wvn","appearActive":"side-panel__appearActive_48wvn","enterActive":"side-panel__enterActive_48wvn","exit":"side-panel__exit_48wvn","exitActive":"side-panel__exitActive_48wvn","exitDone":"side-panel__exitDone_48wvn"};
28
+ var transitions = {"appear":"side-panel__appear_8jtdc","enter":"side-panel__enter_8jtdc","appearActive":"side-panel__appearActive_8jtdc","enterActive":"side-panel__enterActive_8jtdc","exit":"side-panel__exit_8jtdc","exitActive":"side-panel__exitActive_8jtdc","exitDone":"side-panel__exitDone_8jtdc"};
27
29
  require('./transitions.mobile.css')
28
30
 
29
31
  var contextValue = { size: 's', view: 'mobile' };
@@ -39,6 +41,7 @@ var SidePanelMobile = Object.assign(SidePanelMobileComponent, {
39
41
  Content: components_content_Component_mobile.ContentMobile,
40
42
  Header: components_header_Component.Header,
41
43
  Footer: components_footer_Component_mobile.FooterMobile,
44
+ Controls: components_controls_Component.Controls,
42
45
  });
43
46
 
44
47
  exports.SidePanelMobile = SidePanelMobile;
package/mobile/index.js CHANGED
@@ -10,11 +10,13 @@ require('@alfalab/core-components-base-modal');
10
10
  require('../components/content/Component.mobile.js');
11
11
  require('../components/content/Component.js');
12
12
  require('../Context.js');
13
+ require('../components/controls/Component.js');
14
+ require('../ResponsiveContext.js');
15
+ require('../layout.module-9de5161f.js');
13
16
  require('../components/footer/Component.mobile.js');
14
17
  require('../components/footer/Component.js');
15
18
  require('../components/header/Component.js');
16
19
  require('@alfalab/core-components-navigation-bar');
17
- require('../ResponsiveContext.js');
18
20
 
19
21
 
20
22
 
package/mobile/mobile.css CHANGED
@@ -1,4 +1,4 @@
1
- /* hash: 7ui7p */
1
+ /* hash: 1sy9t */
2
2
  :root {
3
3
  } /* deprecated */ :root { /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */
4
4
  } :root { /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */
@@ -27,17 +27,17 @@
27
27
  /* mobile */
28
28
 
29
29
  /* paddings */
30
- } .side-panel__component_19cvm {
30
+ } .side-panel__component_19aqa {
31
31
  top: 0;
32
32
  height: 100%;
33
33
  width: 100%;
34
34
  overflow-x: hidden;
35
35
  overflow-y: auto;
36
36
  max-width: 600px;
37
- } .side-panel__component_19cvm.side-panel__component_19cvm {
37
+ } .side-panel__component_19aqa.side-panel__component_19aqa {
38
38
  position: fixed;
39
39
  flex: 1;
40
- } .side-panel__mobileContent_19cvm {
40
+ } .side-panel__mobileContent_19aqa {
41
41
  display: flex;
42
42
  flex-direction: column;
43
43
  width: 100%;
@@ -1,24 +1,24 @@
1
- /* hash: mn72t */
2
- .side-panel__appear_48wvn,
3
- .side-panel__enter_48wvn {
1
+ /* hash: 1m2o8 */
2
+ .side-panel__appear_8jtdc,
3
+ .side-panel__enter_8jtdc {
4
4
  opacity: 0;
5
5
  transform: translateY(15px);
6
6
  }
7
7
 
8
- .side-panel__appearActive_48wvn,
9
- .side-panel__enterActive_48wvn {
8
+ .side-panel__appearActive_8jtdc,
9
+ .side-panel__enterActive_8jtdc {
10
10
  opacity: 1;
11
11
  transform: translateY(0);
12
12
  transition: opacity 200ms ease-in, transform 200ms ease-in;
13
13
  }
14
14
 
15
- .side-panel__exit_48wvn {
15
+ .side-panel__exit_8jtdc {
16
16
  opacity: 1;
17
17
  transform: translateY(0);
18
18
  }
19
19
 
20
- .side-panel__exitActive_48wvn,
21
- .side-panel__exitDone_48wvn {
20
+ .side-panel__exitActive_8jtdc,
21
+ .side-panel__exitDone_8jtdc {
22
22
  opacity: 0;
23
23
  transform: translateY(15px);
24
24
  transition: opacity 200ms ease-out, transform 200ms ease-out;
@@ -45,6 +45,7 @@ declare const SidePanelResponsive: React.ForwardRefExoticComponent<BaseModalProp
45
45
  defaultMatchMediaValue?: boolean | (() => boolean) | undefined;
46
46
  } & React.RefAttributes<HTMLDivElement>> & {
47
47
  Header: React.FC<import("./components/header/Component").HeaderProps>;
48
+ Controls: React.FC<import("./components/controls/index").ControlsProps>;
48
49
  Content: React.FC<import("./components/content/Component").ContentProps> | React.FC<import("./components/content/Component.desktop").ContentDesktopProps>;
49
50
  Footer: React.FC<import("./components/footer/Component").FooterProps> | React.FC<import("./components/footer/Component.desktop").FooterDesktopProps>;
50
51
  };
@@ -1,11 +1,13 @@
1
1
  import React, { forwardRef, useMemo, useContext } from 'react';
2
2
  import { useMatchMedia } from '@alfalab/core-components-mq/modern';
3
3
  import { isClient } from '@alfalab/core-components-shared/modern';
4
+ import { Controls } from './components/controls/Component.js';
4
5
  import { Header } from './components/header/Component.js';
5
6
  import { SidePanelDesktop } from './desktop/Component.desktop.js';
6
7
  import { SidePanelMobile } from './mobile/Component.mobile.js';
7
8
  import { ResponsiveContext } from './ResponsiveContext.js';
8
9
  import 'classnames';
10
+ import './layout.module-36042bae.js';
9
11
  import '@alfalab/core-components-navigation-bar/modern';
10
12
  import './Context.js';
11
13
  import '@alfalab/core-components-base-modal/modern';
@@ -39,6 +41,7 @@ const SidePanelResponsiveComponent = forwardRef(({ children, breakpoint = 1024,
39
41
  });
40
42
  const SidePanelResponsive = Object.assign(SidePanelResponsiveComponent, {
41
43
  Header,
44
+ Controls,
42
45
  Content: createResponsive(SidePanelDesktop.Content, SidePanelMobile.Content),
43
46
  Footer: createResponsive(SidePanelDesktop.Footer, SidePanelMobile.Footer),
44
47
  });
@@ -4,7 +4,7 @@ import { Content } from './Component.js';
4
4
  import '../../Context.js';
5
5
  import '@alfalab/core-components-base-modal/modern';
6
6
 
7
- const styles = {"s":"side-panel__s_cqees"};
7
+ const styles = {"s":"side-panel__s_13nxk"};
8
8
  require('./desktop.css')
9
9
 
10
10
  const ContentDesktop = ({ size = 's', className, ...restProps }) => React.createElement(Content, { className: cn(className, size && styles[size]), ...restProps });
@@ -3,7 +3,7 @@ import cn from 'classnames';
3
3
  import { ModalContext } from '../../Context.js';
4
4
  import '@alfalab/core-components-base-modal/modern';
5
5
 
6
- const styles = {"content":"side-panel__content_12bco","withHeader":"side-panel__withHeader_12bco","flex":"side-panel__flex_12bco"};
6
+ const styles = {"content":"side-panel__content_1t8vu","withHeader":"side-panel__withHeader_1t8vu","flex":"side-panel__flex_1t8vu"};
7
7
  require('./index.css')
8
8
 
9
9
  const Content = ({ children, className, dataTestId }) => {
@@ -4,7 +4,7 @@ import { Content } from './Component.js';
4
4
  import '../../Context.js';
5
5
  import '@alfalab/core-components-base-modal/modern';
6
6
 
7
- const styles = {"content":"side-panel__content_15i3m"};
7
+ const styles = {"content":"side-panel__content_i35yj"};
8
8
  require('./mobile.css')
9
9
 
10
10
  const ContentMobile = ({ className, ...restProps }) => (React.createElement(Content, { className: cn(className, styles.content), ...restProps }));
@@ -1,4 +1,4 @@
1
- /* hash: 1cfr7 */
1
+ /* hash: 1w4t7 */
2
2
  :root {
3
3
  } /* deprecated */ :root { /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */
4
4
  } :root { /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */
@@ -30,8 +30,8 @@
30
30
  /* mobile */
31
31
 
32
32
  /* paddings */
33
- } .side-panel__s_cqees {
33
+ } .side-panel__s_13nxk {
34
34
  padding: var(--side-panel-s-content-paddings)
35
- } .side-panel__s_cqees:last-child {
35
+ } .side-panel__s_13nxk:last-child {
36
36
  padding-bottom: var(--gap-2xl);
37
37
  }
@@ -1,4 +1,4 @@
1
- /* hash: 1y9mj */
1
+ /* hash: ixkh4 */
2
2
  :root {
3
3
  } /* deprecated */ :root { /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */
4
4
  } :root { /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */
@@ -27,13 +27,13 @@
27
27
  /* mobile */
28
28
 
29
29
  /* paddings */
30
- } .side-panel__content_12bco {
30
+ } .side-panel__content_1t8vu {
31
31
  position: relative;
32
32
  box-sizing: border-box;
33
33
  width: 100%;
34
34
  z-index: 0
35
- } .side-panel__content_12bco.side-panel__withHeader_12bco {
35
+ } .side-panel__content_1t8vu.side-panel__withHeader_1t8vu {
36
36
  padding-top: 0;
37
- } .side-panel__flex_12bco {
37
+ } .side-panel__flex_1t8vu {
38
38
  flex: 1 1 auto;
39
39
  }
@@ -1,4 +1,4 @@
1
- /* hash: shnyn */
1
+ /* hash: 14uj8 */
2
2
  :root {
3
3
  } /* deprecated */ :root { /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */
4
4
  } :root { /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */
@@ -28,8 +28,8 @@
28
28
  /* mobile */
29
29
 
30
30
  /* paddings */
31
- } .side-panel__content_15i3m {
31
+ } .side-panel__content_i35yj {
32
32
  padding: var(--gap-m) var(--gap-m) 0
33
- } .side-panel__content_15i3m:last-child {
33
+ } .side-panel__content_i35yj:last-child {
34
34
  padding-bottom: var(--gap-m);
35
35
  }
@@ -0,0 +1,29 @@
1
+ /// <reference types="react" />
2
+ import React from 'react';
3
+ import { ReactNode } from "react";
4
+ interface ControlsProps {
5
+ /**
6
+ * Основной слот
7
+ */
8
+ primary?: ReactNode;
9
+ /**
10
+ * Дополнительный слот
11
+ */
12
+ secondary?: ReactNode;
13
+ /**
14
+ * Выравнивание элементов футера
15
+ * @default start
16
+ */
17
+ layout?: 'start' | 'center' | 'space-between' | 'column';
18
+ /**
19
+ * Выравнивание элементов футера (мобильный view)
20
+ * @default start
21
+ */
22
+ mobileLayout?: 'start' | 'center' | 'space-between' | 'column';
23
+ /**
24
+ * Отступы между элементами футера
25
+ */
26
+ gap?: 16 | 24 | 32;
27
+ }
28
+ declare const Controls: React.FC<ControlsProps>;
29
+ export { ControlsProps, Controls };
@@ -0,0 +1,21 @@
1
+ import React, { useContext } from 'react';
2
+ import cn from 'classnames';
3
+ import { ResponsiveContext } from '../../ResponsiveContext.js';
4
+ import { l as layoutStyles } from '../../layout.module-36042bae.js';
5
+
6
+ const styles = {"component":"side-panel__component_v0caq"};
7
+ require('./index.css')
8
+
9
+ const Controls = ({ primary, secondary, gap = 16, layout: layoutProp = 'start', mobileLayout = layoutProp, }) => {
10
+ const context = useContext(ResponsiveContext);
11
+ const { view = 'desktop' } = context || {};
12
+ const layout = view === 'mobile' ? mobileLayout : layoutProp;
13
+ const shouldReverse = view === 'mobile' && layout !== 'column';
14
+ return (React.createElement("div", { className: cn(styles.component, layoutStyles[layout], gap && layoutStyles[`gap-${gap}`]) }, shouldReverse ? (React.createElement(React.Fragment, null,
15
+ secondary,
16
+ primary)) : (React.createElement(React.Fragment, null,
17
+ primary,
18
+ secondary))));
19
+ };
20
+
21
+ export { Controls };
@@ -0,0 +1,4 @@
1
+ /* hash: psnyi */
2
+ .side-panel__component_v0caq {
3
+ width: 100%;
4
+ }
@@ -0,0 +1 @@
1
+ export * from "./Component";
@@ -0,0 +1,5 @@
1
+ export { Controls } from './Component.js';
2
+ import 'react';
3
+ import 'classnames';
4
+ import '../../ResponsiveContext.js';
5
+ import '../../layout.module-36042bae.js';
@@ -3,8 +3,9 @@ import cn from 'classnames';
3
3
  import { Footer } from './Component.js';
4
4
  import '../../Context.js';
5
5
  import '@alfalab/core-components-base-modal/modern';
6
+ import '../../layout.module-36042bae.js';
6
7
 
7
- const styles = {"sticky":"side-panel__sticky_1bvwv","s":"side-panel__s_1bvwv"};
8
+ const styles = {"sticky":"side-panel__sticky_3sbyj","s":"side-panel__s_3sbyj"};
8
9
  require('./desktop.css')
9
10
 
10
11
  const FooterDesktop = ({ size = 's', className, sticky, ...restProps }) => (React.createElement(Footer, { className: cn(className, size && styles[size], {
@@ -1,14 +1,12 @@
1
1
  import React, { useContext, useEffect } from 'react';
2
2
  import cn from 'classnames';
3
3
  import { ModalContext } from '../../Context.js';
4
+ import { l as layoutStyles } from '../../layout.module-36042bae.js';
4
5
  import '@alfalab/core-components-base-modal/modern';
5
6
 
6
- const styles = {"footer":"side-panel__footer_cr8pp","sticky":"side-panel__sticky_cr8pp","highlighted":"side-panel__highlighted_cr8pp"};
7
+ const styles = {"footer":"side-panel__footer_13orv","sticky":"side-panel__sticky_13orv","highlighted":"side-panel__highlighted_13orv"};
7
8
  require('./index.css')
8
9
 
9
- const layoutStyles = {"column":"side-panel__column_d8m7q","gap-16":"side-panel__gap-16_d8m7q","gap-24":"side-panel__gap-24_d8m7q","gap-32":"side-panel__gap-32_d8m7q","start":"side-panel__start_d8m7q","center":"side-panel__center_d8m7q","space-between":"side-panel__space-between_d8m7q"};
10
- require('./layout.css')
11
-
12
10
  const Footer = ({ children, className, sticky, layout = 'start', gap, dataTestId, }) => {
13
11
  const { footerHighlighted, setHasFooter } = useContext(ModalContext);
14
12
  useEffect(() => {
@@ -3,11 +3,12 @@ import cn from 'classnames';
3
3
  import { Footer } from './Component.js';
4
4
  import '../../Context.js';
5
5
  import '@alfalab/core-components-base-modal/modern';
6
+ import '../../layout.module-36042bae.js';
6
7
 
7
- const styles = {"footer":"side-panel__footer_13o6w","sticky":"side-panel__sticky_13o6w","column":"side-panel__column_13o6w"};
8
+ const styles = {"footer":"side-panel__footer_g9984","sticky":"side-panel__sticky_g9984"};
8
9
  require('./mobile.css')
9
10
 
10
- const FooterMobile = ({ className, sticky, layout = 'start', ...restProps }) => (React.createElement(Footer, { className: cn(className, styles.footer, styles[layout], {
11
+ const FooterMobile = ({ className, sticky, layout = 'start', ...restProps }) => (React.createElement(Footer, { className: cn(className, styles.footer, {
11
12
  [styles.sticky]: sticky,
12
13
  }), sticky: sticky, layout: layout, ...restProps }));
13
14