@alfalab/core-components-side-panel 2.1.5 → 2.3.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 (139) hide show
  1. package/Component.desktop.d.ts +3 -12
  2. package/Component.desktop.js +29 -12
  3. package/Component.mobile.js +8 -9
  4. package/Component.responsive.d.ts +3 -12
  5. package/Component.responsive.js +10 -9
  6. package/components/closer/Component.d.ts +1 -1
  7. package/components/closer/Component.js +3 -4
  8. package/components/closer/index.css +4 -4
  9. package/components/content/Component.desktop.js +2 -2
  10. package/components/content/Component.js +1 -1
  11. package/components/content/Component.mobile.js +2 -2
  12. package/components/content/desktop.css +3 -3
  13. package/components/content/index.css +3 -3
  14. package/components/content/mobile.css +3 -3
  15. package/components/footer/Component.desktop.js +2 -2
  16. package/components/footer/Component.js +2 -2
  17. package/components/footer/Component.mobile.js +2 -2
  18. package/components/footer/desktop.css +3 -3
  19. package/components/footer/index.css +4 -4
  20. package/components/footer/layout.css +25 -25
  21. package/components/footer/mobile.css +3 -3
  22. package/components/header/Component.desktop.d.ts +5 -1
  23. package/components/header/Component.desktop.js +6 -6
  24. package/components/header/Component.js +2 -2
  25. package/components/header/Component.mobile.d.ts +5 -1
  26. package/components/header/Component.mobile.js +5 -6
  27. package/components/header/desktop.css +6 -6
  28. package/components/header/index.css +16 -16
  29. package/components/header/mobile.css +3 -3
  30. package/cssm/Component.desktop.d.ts +3 -12
  31. package/cssm/Component.desktop.js +30 -13
  32. package/cssm/Component.mobile.js +9 -10
  33. package/cssm/Component.responsive.d.ts +4 -13
  34. package/cssm/Component.responsive.js +14 -13
  35. package/cssm/components/closer/Component.d.ts +1 -1
  36. package/cssm/components/closer/Component.js +2 -3
  37. package/cssm/components/content/Component.desktop.js +1 -1
  38. package/cssm/components/content/Component.mobile.js +1 -1
  39. package/cssm/components/footer/Component.desktop.js +1 -1
  40. package/cssm/components/footer/Component.mobile.js +1 -1
  41. package/cssm/components/header/Component.desktop.d.ts +5 -1
  42. package/cssm/components/header/Component.desktop.js +6 -6
  43. package/cssm/components/header/Component.js +1 -1
  44. package/cssm/components/header/Component.mobile.d.ts +5 -1
  45. package/cssm/components/header/Component.mobile.js +5 -6
  46. package/cssm/desktop.js +10 -10
  47. package/cssm/index.js +13 -13
  48. package/cssm/mobile.js +9 -10
  49. package/cssm/responsive.js +13 -13
  50. package/cssm/transitions.desktop.module.css +13 -5
  51. package/cssm/{tslib.es6-ce870b46.d.ts → tslib.es6-9682e485.d.ts} +8 -4
  52. package/{tslib.es6-8f8531e8.js → cssm/tslib.es6-9682e485.js} +1 -1
  53. package/desktop.css +3 -3
  54. package/desktop.js +7 -7
  55. package/esm/Component.desktop.d.ts +3 -12
  56. package/esm/Component.desktop.js +28 -11
  57. package/esm/Component.mobile.js +8 -9
  58. package/esm/Component.responsive.d.ts +4 -13
  59. package/esm/Component.responsive.js +10 -9
  60. package/esm/components/closer/Component.d.ts +1 -1
  61. package/esm/components/closer/Component.js +3 -4
  62. package/esm/components/closer/index.css +4 -4
  63. package/esm/components/content/Component.desktop.js +2 -2
  64. package/esm/components/content/Component.js +1 -1
  65. package/esm/components/content/Component.mobile.js +2 -2
  66. package/esm/components/content/desktop.css +3 -3
  67. package/esm/components/content/index.css +3 -3
  68. package/esm/components/content/mobile.css +3 -3
  69. package/esm/components/footer/Component.desktop.js +2 -2
  70. package/esm/components/footer/Component.js +2 -2
  71. package/esm/components/footer/Component.mobile.js +2 -2
  72. package/esm/components/footer/desktop.css +3 -3
  73. package/esm/components/footer/index.css +4 -4
  74. package/esm/components/footer/layout.css +25 -25
  75. package/esm/components/footer/mobile.css +3 -3
  76. package/esm/components/header/Component.desktop.d.ts +5 -1
  77. package/esm/components/header/Component.desktop.js +6 -6
  78. package/esm/components/header/Component.js +2 -2
  79. package/esm/components/header/Component.mobile.d.ts +5 -1
  80. package/esm/components/header/Component.mobile.js +5 -6
  81. package/esm/components/header/desktop.css +6 -6
  82. package/esm/components/header/index.css +16 -16
  83. package/esm/components/header/mobile.css +3 -3
  84. package/esm/desktop.css +3 -3
  85. package/esm/desktop.js +7 -7
  86. package/esm/index.js +9 -9
  87. package/esm/mobile.css +2 -2
  88. package/esm/mobile.js +6 -7
  89. package/esm/responsive.js +9 -9
  90. package/esm/transitions.desktop.css +16 -8
  91. package/esm/transitions.mobile.css +8 -8
  92. package/{tslib.es6-8f8531e8.d.ts → esm/tslib.es6-36dadca7.d.ts} +8 -4
  93. package/esm/{tslib.es6-ae0d0472.js → tslib.es6-36dadca7.js} +1 -1
  94. package/index.js +9 -9
  95. package/mobile.css +2 -2
  96. package/mobile.js +6 -7
  97. package/modern/Component.desktop.d.ts +3 -12
  98. package/modern/Component.desktop.js +28 -12
  99. package/modern/Component.mobile.js +11 -14
  100. package/modern/Component.responsive.d.ts +3 -12
  101. package/modern/Component.responsive.js +11 -10
  102. package/modern/components/closer/Component.d.ts +1 -1
  103. package/modern/components/closer/Component.js +3 -4
  104. package/modern/components/closer/index.css +4 -4
  105. package/modern/components/content/Component.desktop.js +2 -2
  106. package/modern/components/content/Component.js +1 -1
  107. package/modern/components/content/Component.mobile.js +2 -2
  108. package/modern/components/content/desktop.css +3 -3
  109. package/modern/components/content/index.css +3 -3
  110. package/modern/components/content/mobile.css +3 -3
  111. package/modern/components/footer/Component.desktop.js +3 -3
  112. package/modern/components/footer/Component.js +2 -2
  113. package/modern/components/footer/Component.mobile.js +3 -3
  114. package/modern/components/footer/desktop.css +3 -3
  115. package/modern/components/footer/index.css +4 -4
  116. package/modern/components/footer/layout.css +25 -25
  117. package/modern/components/footer/mobile.css +3 -3
  118. package/modern/components/header/Component.desktop.d.ts +5 -1
  119. package/modern/components/header/Component.desktop.js +6 -6
  120. package/modern/components/header/Component.js +1 -1
  121. package/modern/components/header/Component.mobile.d.ts +5 -1
  122. package/modern/components/header/Component.mobile.js +4 -5
  123. package/modern/components/header/desktop.css +6 -6
  124. package/modern/components/header/index.css +16 -16
  125. package/modern/components/header/mobile.css +3 -3
  126. package/modern/desktop.css +3 -3
  127. package/modern/desktop.js +6 -6
  128. package/modern/index.js +8 -8
  129. package/modern/mobile.css +2 -2
  130. package/modern/mobile.js +5 -6
  131. package/modern/responsive.js +8 -8
  132. package/modern/transitions.desktop.css +16 -8
  133. package/modern/transitions.mobile.css +8 -8
  134. package/package.json +5 -5
  135. package/responsive.js +9 -9
  136. package/transitions.desktop.css +16 -8
  137. package/transitions.mobile.css +8 -8
  138. package/{esm/tslib.es6-ae0d0472.d.ts → tslib.es6-d84e0616.d.ts} +8 -4
  139. package/{cssm/tslib.es6-ce870b46.js → tslib.es6-d84e0616.js} +1 -1
package/esm/mobile.js CHANGED
@@ -1,16 +1,15 @@
1
- import './tslib.es6-ae0d0472.js';
1
+ import './tslib.es6-36dadca7.js';
2
2
  import 'react';
3
3
  import 'classnames';
4
4
  import '@alfalab/core-components-base-modal/esm';
5
5
  import './Context.js';
6
- import './components/header/Component.js';
7
- import '@alfalab/core-components-icon-button/esm';
8
- import '@alfalab/icons-glyph/CrossHeavyMIcon';
9
- import './components/closer/Component.js';
10
6
  import './components/content/Component.js';
11
7
  import './components/footer/Component.js';
12
- import '@alfalab/icons-glyph/CrossMIcon';
13
- import './components/header/Component.mobile.js';
8
+ import '@alfalab/core-components-icon-button/esm';
9
+ import './components/closer/Component.js';
10
+ import './components/header/Component.js';
14
11
  import './components/content/Component.mobile.js';
15
12
  import './components/footer/Component.mobile.js';
13
+ import '@alfalab/icons-glyph/CrossMIcon';
14
+ import './components/header/Component.mobile.js';
16
15
  export { SidePanelMobile } from './Component.mobile.js';
package/esm/responsive.js CHANGED
@@ -1,24 +1,24 @@
1
- import './tslib.es6-ae0d0472.js';
1
+ import './tslib.es6-36dadca7.js';
2
2
  import 'react';
3
+ import 'react-merge-refs';
3
4
  import 'classnames';
4
5
  import '@alfalab/core-components-drawer/esm';
5
- import 'react-merge-refs';
6
6
  import '@alfalab/core-components-base-modal/esm';
7
7
  import './Context.js';
8
- import './components/header/Component.js';
9
- import '@alfalab/core-components-icon-button/esm';
10
- import '@alfalab/icons-glyph/CrossHeavyMIcon';
11
- import './components/closer/Component.js';
12
- import './components/header/Component.desktop.js';
13
8
  import './components/content/Component.js';
14
9
  import './components/content/Component.desktop.js';
15
10
  import './components/footer/Component.js';
16
11
  import './components/footer/Component.desktop.js';
12
+ import '@alfalab/icons-glyph/CrossHeavyMIcon';
13
+ import '@alfalab/core-components-icon-button/esm';
14
+ import './components/closer/Component.js';
15
+ import './components/header/Component.js';
16
+ import './components/header/Component.desktop.js';
17
17
  import './Component.desktop.js';
18
- import '@alfalab/icons-glyph/CrossMIcon';
19
- import './components/header/Component.mobile.js';
20
18
  import './components/content/Component.mobile.js';
21
19
  import './components/footer/Component.mobile.js';
20
+ import '@alfalab/icons-glyph/CrossMIcon';
21
+ import './components/header/Component.mobile.js';
22
22
  import './Component.mobile.js';
23
23
  import '@alfalab/hooks';
24
24
  export { SidePanelResponsive } from './Component.responsive.js';
@@ -1,25 +1,33 @@
1
- /* hash: qhmi3 */
2
- .side-panel__appear_k7osg,
3
- .side-panel__enter_k7osg {
1
+ /* hash: 1k80y */
2
+ .side-panel__enterRight_1z00n {
4
3
  opacity: 0;
5
4
  transform: translateX(15px);
6
5
  }
7
6
 
8
- .side-panel__appearActive_k7osg,
9
- .side-panel__enterActive_k7osg {
7
+ .side-panel__enterLeft_1z00n {
8
+ opacity: 0;
9
+ transform: translateX(-15px);
10
+ }
11
+
12
+ .side-panel__enterActive_1z00n {
10
13
  opacity: 1;
11
14
  transform: translateX(0);
12
15
  transition: opacity 200ms ease-in, transform 200ms ease-in;
13
16
  }
14
17
 
15
- .side-panel__exit_k7osg {
18
+ .side-panel__exit_1z00n {
16
19
  opacity: 1;
17
20
  transform: translateX(0);
18
21
  }
19
22
 
20
- .side-panel__exitActive_k7osg,
21
- .side-panel__exitDone_k7osg {
23
+ .side-panel__exitActiveRight_1z00n {
22
24
  opacity: 0;
23
25
  transition: opacity 200ms ease-out, transform 200ms ease-out;
24
26
  transform: translateX(15px);
25
27
  }
28
+
29
+ .side-panel__exitActiveLeft_1z00n {
30
+ opacity: 0;
31
+ transition: opacity 200ms ease-out, transform 200ms ease-out;
32
+ transform: translateX(-15px);
33
+ }
@@ -1,24 +1,24 @@
1
- /* hash: 1hnxg */
2
- .side-panel__appear_1016p,
3
- .side-panel__enter_1016p {
1
+ /* hash: 156ty */
2
+ .side-panel__appear_1os9i,
3
+ .side-panel__enter_1os9i {
4
4
  opacity: 0;
5
5
  transform: translateY(15px);
6
6
  }
7
7
 
8
- .side-panel__appearActive_1016p,
9
- .side-panel__enterActive_1016p {
8
+ .side-panel__appearActive_1os9i,
9
+ .side-panel__enterActive_1os9i {
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_1016p {
15
+ .side-panel__exit_1os9i {
16
16
  opacity: 1;
17
17
  transform: translateY(0);
18
18
  }
19
19
 
20
- .side-panel__exitActive_1016p,
21
- .side-panel__exitDone_1016p {
20
+ .side-panel__exitActive_1os9i,
21
+ .side-panel__exitDone_1os9i {
22
22
  opacity: 0;
23
23
  transform: translateY(15px);
24
24
  transition: opacity 200ms ease-out, transform 200ms ease-out;
@@ -12,9 +12,12 @@ declare function __generator(thisArg: any, body: any): {
12
12
  declare function __exportStar(m: any, o: any): void;
13
13
  declare function __values(o: any): any;
14
14
  declare function __read(o: any, n: any): any;
15
+ /** @deprecated */
15
16
  declare function __spread(...args: any[]): any[];
17
+ /** @deprecated */
16
18
  declare function __spreadArrays(...args: any[]): any[];
17
- declare function __await(v: any): any;
19
+ declare function __spreadArray(to: any, from: any, pack: any, ...args: any[]): any;
20
+ declare function __await(v: any): __await;
18
21
  declare class __await {
19
22
  constructor(v: any);
20
23
  v: any;
@@ -25,8 +28,9 @@ declare function __asyncValues(o: any): any;
25
28
  declare function __makeTemplateObject(cooked: any, raw: any): any;
26
29
  declare function __importStar(mod: any): any;
27
30
  declare function __importDefault(mod: any): any;
28
- declare function __classPrivateFieldGet(receiver: any, privateMap: any): any;
29
- declare function __classPrivateFieldSet(receiver: any, privateMap: any, value: any): any;
31
+ declare function __classPrivateFieldGet(receiver: any, state: any, kind: any, f: any): any;
32
+ declare function __classPrivateFieldSet(receiver: any, state: any, value: any, kind: any, f: any): any;
33
+ declare function __classPrivateFieldIn(state: any, receiver: any): any;
30
34
  declare function __assign(...args: any[]): any;
31
35
  declare function __createBinding(o: any, m: any, k: any, k2: any): void;
32
- export { __extends, __rest, __decorate, __param, __metadata, __awaiter, __generator, __exportStar, __values, __read, __spread, __spreadArrays, __await, __asyncGenerator, __asyncDelegator, __asyncValues, __makeTemplateObject, __importStar, __importDefault, __classPrivateFieldGet, __classPrivateFieldSet, __assign, __createBinding };
36
+ export { __extends, __rest, __decorate, __param, __metadata, __awaiter, __generator, __exportStar, __values, __read, __spread, __spreadArrays, __spreadArray, __await, __asyncGenerator, __asyncDelegator, __asyncValues, __makeTemplateObject, __importStar, __importDefault, __classPrivateFieldGet, __classPrivateFieldSet, __classPrivateFieldIn, __assign, __createBinding };
@@ -1,4 +1,4 @@
1
- /*! *****************************************************************************
1
+ /******************************************************************************
2
2
  Copyright (c) Microsoft Corporation.
3
3
 
4
4
  Permission to use, copy, modify, and/or distribute this software for any
package/index.js CHANGED
@@ -2,27 +2,27 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
- require('./tslib.es6-8f8531e8.js');
5
+ require('./tslib.es6-d84e0616.js');
6
6
  require('react');
7
+ require('react-merge-refs');
7
8
  require('classnames');
8
9
  require('@alfalab/core-components-drawer');
9
- require('react-merge-refs');
10
10
  require('@alfalab/core-components-base-modal');
11
11
  var Context = require('./Context.js');
12
- require('./components/header/Component.js');
13
- require('@alfalab/core-components-icon-button');
14
- require('@alfalab/icons-glyph/CrossHeavyMIcon');
15
- require('./components/closer/Component.js');
16
- require('./components/header/Component.desktop.js');
17
12
  require('./components/content/Component.js');
18
13
  require('./components/content/Component.desktop.js');
19
14
  require('./components/footer/Component.js');
20
15
  require('./components/footer/Component.desktop.js');
16
+ require('@alfalab/icons-glyph/CrossHeavyMIcon');
17
+ require('@alfalab/core-components-icon-button');
18
+ require('./components/closer/Component.js');
19
+ require('./components/header/Component.js');
20
+ require('./components/header/Component.desktop.js');
21
21
  require('./Component.desktop.js');
22
- require('@alfalab/icons-glyph/CrossMIcon');
23
- require('./components/header/Component.mobile.js');
24
22
  require('./components/content/Component.mobile.js');
25
23
  require('./components/footer/Component.mobile.js');
24
+ require('@alfalab/icons-glyph/CrossMIcon');
25
+ require('./components/header/Component.mobile.js');
26
26
  require('./Component.mobile.js');
27
27
  require('@alfalab/hooks');
28
28
  var Component_responsive = require('./Component.responsive.js');
package/mobile.css CHANGED
@@ -1,4 +1,4 @@
1
- /* hash: ds3ya */
1
+ /* hash: 4q55c */
2
2
  :root {
3
3
 
4
4
  /* Hard */
@@ -19,7 +19,7 @@
19
19
 
20
20
  /* mobile */
21
21
  }
22
- .side-panel__component_r3t2b {
22
+ .side-panel__component_1m32q {
23
23
  flex: 1;
24
24
  width: 100%;
25
25
  }
package/mobile.js CHANGED
@@ -2,21 +2,20 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
- require('./tslib.es6-8f8531e8.js');
5
+ require('./tslib.es6-d84e0616.js');
6
6
  require('react');
7
7
  require('classnames');
8
8
  require('@alfalab/core-components-base-modal');
9
9
  require('./Context.js');
10
- require('./components/header/Component.js');
11
- require('@alfalab/core-components-icon-button');
12
- require('@alfalab/icons-glyph/CrossHeavyMIcon');
13
- require('./components/closer/Component.js');
14
10
  require('./components/content/Component.js');
15
11
  require('./components/footer/Component.js');
16
- require('@alfalab/icons-glyph/CrossMIcon');
17
- require('./components/header/Component.mobile.js');
12
+ require('@alfalab/core-components-icon-button');
13
+ require('./components/closer/Component.js');
14
+ require('./components/header/Component.js');
18
15
  require('./components/content/Component.mobile.js');
19
16
  require('./components/footer/Component.mobile.js');
17
+ require('@alfalab/icons-glyph/CrossMIcon');
18
+ require('./components/header/Component.mobile.js');
20
19
  var Component_mobile = require('./Component.mobile.js');
21
20
 
22
21
 
@@ -1,13 +1,8 @@
1
- /// <reference types="react-transition-group" />
2
1
  /// <reference types="react" />
3
2
  import React from 'react';
4
3
  import { BaseModalProps } from "@alfalab/core-components-base-modal";
5
- import { TransitionProps } from 'react-transition-group/Transition';
6
- type SidePanelDesktopProps = BaseModalProps & {
7
- /**
8
- * Пропсы для анимации контента (CSSTransition)
9
- */
10
- contentTransitionProps?: Partial<TransitionProps>;
4
+ import { DrawerProps } from "@alfalab/core-components-drawer";
5
+ type SidePanelDesktopProps = BaseModalProps & Pick<DrawerProps, 'placement' | 'nativeScrollbar' | 'contentTransitionProps'> & {
11
6
  /**
12
7
  * Ширина модального окна
13
8
  * @default "s"
@@ -19,11 +14,7 @@ type SidePanelDesktopProps = BaseModalProps & {
19
14
  */
20
15
  hasCloser?: boolean;
21
16
  };
22
- declare const SidePanelDesktop: React.ForwardRefExoticComponent<BaseModalProps & {
23
- /**
24
- * Пропсы для анимации контента (CSSTransition)
25
- */
26
- contentTransitionProps?: Partial<TimeoutProps<undefined>> | Partial<EndListenerProps<undefined>> | undefined;
17
+ declare const SidePanelDesktop: React.ForwardRefExoticComponent<BaseModalProps & Pick<DrawerProps, "contentTransitionProps" | "nativeScrollbar" | "placement"> & {
27
18
  /**
28
19
  * Ширина модального окна
29
20
  * @default "s"
@@ -1,31 +1,47 @@
1
1
  import React, { forwardRef, useRef, isValidElement, cloneElement } from 'react';
2
+ import mergeRefs from 'react-merge-refs';
2
3
  import cn from 'classnames';
3
4
  import { Drawer } from '@alfalab/core-components-drawer/modern';
4
- import mergeRefs from 'react-merge-refs';
5
5
  import '@alfalab/core-components-base-modal/modern';
6
6
  import './Context.js';
7
- import './components/header/Component.js';
8
- import '@alfalab/core-components-icon-button/modern';
9
- import '@alfalab/icons-glyph/CrossHeavyMIcon';
10
- import './components/closer/Component.js';
11
- import { HeaderDesktop } from './components/header/Component.desktop.js';
12
7
  import './components/content/Component.js';
13
8
  import { ContentDesktop } from './components/content/Component.desktop.js';
14
9
  import './components/footer/Component.js';
15
10
  import { FooterDesktop } from './components/footer/Component.desktop.js';
11
+ import '@alfalab/icons-glyph/CrossHeavyMIcon';
12
+ import '@alfalab/core-components-icon-button/modern';
13
+ import './components/closer/Component.js';
14
+ import './components/header/Component.js';
15
+ import { HeaderDesktop } from './components/header/Component.desktop.js';
16
16
 
17
- var styles = {"s":"side-panel__s_han1q","hidden":"side-panel__hidden_han1q"};
17
+ var styles = {"s":"side-panel__s_1fqqk","hidden":"side-panel__hidden_1fqqk"};
18
18
  require('./desktop.css')
19
19
 
20
- var transitions = {"appear":"side-panel__appear_k7osg","enter":"side-panel__enter_k7osg","appearActive":"side-panel__appearActive_k7osg","enterActive":"side-panel__enterActive_k7osg","exit":"side-panel__exit_k7osg","exitActive":"side-panel__exitActive_k7osg","exitDone":"side-panel__exitDone_k7osg"};
20
+ var transitions = {"enterRight":"side-panel__enterRight_1z00n","enterLeft":"side-panel__enterLeft_1z00n","enterActive":"side-panel__enterActive_1z00n","exit":"side-panel__exit_1z00n","exitActiveRight":"side-panel__exitActiveRight_1z00n","exitActiveLeft":"side-panel__exitActiveLeft_1z00n"};
21
21
  require('./transitions.desktop.css')
22
22
 
23
- const SidePanelDesktopComponent = forwardRef(({ size = 's', children, className, wrapperClassName, contentTransitionProps = {}, backdropProps, ...restProps }, ref) => {
23
+ const SidePanelDesktopComponent = forwardRef(({ size = 's', children, className, wrapperClassName, contentTransitionProps = {}, backdropProps, placement = 'right', ...restProps }, ref) => {
24
24
  const modalRef = useRef(null);
25
- return (React.createElement(Drawer, Object.assign({}, restProps, { ref: mergeRefs([ref, modalRef]), wrapperClassName: wrapperClassName, className: cn(className, styles[size], styles.hidden), backdropProps: backdropProps, contentTransitionProps: {
26
- classNames: transitions,
25
+ const enterCn = cn({
26
+ [transitions.appearRight]: placement === 'right',
27
+ [transitions.appearLeft]: placement === 'left',
28
+ });
29
+ const exitCn = cn({
30
+ [transitions.exitActiveRight]: placement === 'right',
31
+ [transitions.exitActiveLeft]: placement === 'left',
32
+ });
33
+ return (React.createElement(Drawer, { ...restProps, ref: mergeRefs([ref, modalRef]), placement: placement, wrapperClassName: wrapperClassName, className: cn(className, styles[size], styles.hidden), backdropProps: backdropProps, contentTransitionProps: {
34
+ classNames: {
35
+ appear: enterCn,
36
+ enter: enterCn,
37
+ appearActive: transitions.enterActive,
38
+ enterActive: transitions.enterActive,
39
+ exit: transitions.exit,
40
+ exitActive: exitCn,
41
+ exitDone: exitCn,
42
+ },
27
43
  ...contentTransitionProps,
28
- } }), React.Children.map(children, child => isValidElement(child) ? cloneElement(child, { size }) : child)));
44
+ } }, React.Children.map(children, child => isValidElement(child) ? cloneElement(child, { size }) : child)));
29
45
  });
30
46
  const SidePanelDesktop = Object.assign(SidePanelDesktopComponent, {
31
47
  Content: ContentDesktop,
@@ -2,29 +2,26 @@ import React, { forwardRef } from 'react';
2
2
  import cn from 'classnames';
3
3
  import { BaseModal } from '@alfalab/core-components-base-modal/modern';
4
4
  import './Context.js';
5
- import './components/header/Component.js';
6
- import '@alfalab/core-components-icon-button/modern';
7
- import '@alfalab/icons-glyph/CrossHeavyMIcon';
8
- import './components/closer/Component.js';
9
5
  import './components/content/Component.js';
10
6
  import './components/footer/Component.js';
11
- import '@alfalab/icons-glyph/CrossMIcon';
12
- import { HeaderMobile } from './components/header/Component.mobile.js';
7
+ import '@alfalab/core-components-icon-button/modern';
8
+ import './components/closer/Component.js';
9
+ import './components/header/Component.js';
13
10
  import { ContentMobile } from './components/content/Component.mobile.js';
14
11
  import { FooterMobile } from './components/footer/Component.mobile.js';
12
+ import '@alfalab/icons-glyph/CrossMIcon';
13
+ import { HeaderMobile } from './components/header/Component.mobile.js';
15
14
 
16
- var styles = {"component":"side-panel__component_r3t2b"};
15
+ var styles = {"component":"side-panel__component_1m32q"};
17
16
  require('./mobile.css')
18
17
 
19
- var transitions = {"appear":"side-panel__appear_1016p","enter":"side-panel__enter_1016p","appearActive":"side-panel__appearActive_1016p","enterActive":"side-panel__enterActive_1016p","exit":"side-panel__exit_1016p","exitActive":"side-panel__exitActive_1016p","exitDone":"side-panel__exitDone_1016p"};
18
+ var transitions = {"appear":"side-panel__appear_1os9i","enter":"side-panel__enter_1os9i","appearActive":"side-panel__appearActive_1os9i","enterActive":"side-panel__enterActive_1os9i","exit":"side-panel__exit_1os9i","exitActive":"side-panel__exitActive_1os9i","exitDone":"side-panel__exitDone_1os9i"};
20
19
  require('./transitions.mobile.css')
21
20
 
22
- const SidePanelMobileComponent = forwardRef(({ children, className, transitionProps, ...restProps }, ref) => {
23
- return (React.createElement(BaseModal, Object.assign({}, restProps, { ref: ref, transitionProps: {
24
- classNames: transitions,
25
- ...transitionProps,
26
- }, className: cn(className, styles.component) }), children));
27
- });
21
+ const SidePanelMobileComponent = forwardRef(({ children, className, transitionProps, ...restProps }, ref) => (React.createElement(BaseModal, { ...restProps, ref: ref, transitionProps: {
22
+ classNames: transitions,
23
+ ...transitionProps,
24
+ }, className: cn(className, styles.component) }, children)));
28
25
  const SidePanelMobile = Object.assign(SidePanelMobileComponent, {
29
26
  Content: ContentMobile,
30
27
  Header: HeaderMobile,
@@ -1,13 +1,8 @@
1
- /// <reference types="react-transition-group" />
2
1
  /// <reference types="react" />
3
2
  import React from 'react';
4
- import { TransitionProps } from 'react-transition-group/Transition';
5
3
  import { BaseModalProps } from "@alfalab/core-components-base-modal";
6
- type SidePanelResponsiveProps = BaseModalProps & {
7
- /**
8
- * Пропсы для анимации контента (CSSTransition)
9
- */
10
- contentTransitionProps?: Partial<TransitionProps>;
4
+ import { DrawerProps } from "@alfalab/core-components-drawer";
5
+ type SidePanelResponsiveProps = BaseModalProps & Pick<DrawerProps, 'contentTransitionProps' | 'placement' | 'nativeScrollbar'> & {
11
6
  /**
12
7
  * Ширина модального окна
13
8
  * @default "s"
@@ -19,11 +14,7 @@ type SidePanelResponsiveProps = BaseModalProps & {
19
14
  */
20
15
  hasCloser?: boolean;
21
16
  };
22
- declare const SidePanelResponsive: React.ForwardRefExoticComponent<BaseModalProps & {
23
- /**
24
- * Пропсы для анимации контента (CSSTransition)
25
- */
26
- contentTransitionProps?: Partial<TimeoutProps<undefined>> | Partial<EndListenerProps<undefined>> | undefined;
17
+ declare const SidePanelResponsive: React.ForwardRefExoticComponent<BaseModalProps & Pick<DrawerProps, "contentTransitionProps" | "nativeScrollbar" | "placement"> & {
27
18
  /**
28
19
  * Ширина модального окна
29
20
  * @default "s"
@@ -1,26 +1,27 @@
1
1
  import React, { forwardRef, useMemo, useContext } from 'react';
2
+ import 'react-merge-refs';
2
3
  import 'classnames';
3
4
  import '@alfalab/core-components-drawer/modern';
4
- import 'react-merge-refs';
5
5
  import '@alfalab/core-components-base-modal/modern';
6
6
  import './Context.js';
7
- import './components/header/Component.js';
8
- import '@alfalab/core-components-icon-button/modern';
9
- import '@alfalab/icons-glyph/CrossHeavyMIcon';
10
- import { Closer } from './components/closer/Component.js';
11
- import './components/header/Component.desktop.js';
12
7
  import './components/content/Component.js';
13
8
  import './components/content/Component.desktop.js';
14
9
  import './components/footer/Component.js';
15
10
  import './components/footer/Component.desktop.js';
11
+ import '@alfalab/icons-glyph/CrossHeavyMIcon';
12
+ import '@alfalab/core-components-icon-button/modern';
13
+ import { Closer } from './components/closer/Component.js';
14
+ import './components/header/Component.js';
15
+ import './components/header/Component.desktop.js';
16
16
  import { SidePanelDesktop } from './Component.desktop.js';
17
- import '@alfalab/icons-glyph/CrossMIcon';
18
- import './components/header/Component.mobile.js';
19
17
  import './components/content/Component.mobile.js';
20
18
  import './components/footer/Component.mobile.js';
19
+ import '@alfalab/icons-glyph/CrossMIcon';
20
+ import './components/header/Component.mobile.js';
21
21
  import { SidePanelMobile } from './Component.mobile.js';
22
22
  import { useMedia } from '@alfalab/hooks';
23
23
 
24
+ // eslint-disable-next-line @typescript-eslint/no-redeclare
24
25
  const ResponsiveContext = React.createContext({
25
26
  view: 'desktop',
26
27
  });
@@ -28,7 +29,7 @@ function createResponsive(desktop, mobile) {
28
29
  function ResponsiveChild(props) {
29
30
  const { view } = useContext(ResponsiveContext);
30
31
  const Child = view === 'desktop' ? desktop : mobile;
31
- return React.createElement(Child, Object.assign({}, props));
32
+ return React.createElement(Child, { ...props });
32
33
  }
33
34
  return ResponsiveChild;
34
35
  }
@@ -40,7 +41,7 @@ const SidePanelResponsiveComponent = forwardRef(({ children, ...restProps }, ref
40
41
  const contextValue = useMemo(() => ({ view }), [view]);
41
42
  const Component = view === 'desktop' ? SidePanelDesktop : SidePanelMobile;
42
43
  return (React.createElement(ResponsiveContext.Provider, { value: contextValue },
43
- React.createElement(Component, Object.assign({ ref: ref }, restProps), children)));
44
+ React.createElement(Component, { ref: ref, ...restProps }, children)));
44
45
  });
45
46
  const SidePanelResponsive = Object.assign(SidePanelResponsiveComponent, {
46
47
  Header: createResponsive(SidePanelDesktop.Header, SidePanelMobile.Header),
@@ -20,7 +20,7 @@ type CloserProps = ButtonHTMLAttributes<HTMLButtonElement> & {
20
20
  /**
21
21
  * Иконка
22
22
  */
23
- icon?: ElementType;
23
+ icon: ElementType;
24
24
  };
25
25
  /**
26
26
  * @deprecated Компонент только для внутреннего использования. Используйте <Header />
@@ -3,15 +3,14 @@ import cn from 'classnames';
3
3
  import '@alfalab/core-components-base-modal/modern';
4
4
  import { ModalContext } from '../../Context.js';
5
5
  import { IconButton } from '@alfalab/core-components-icon-button/modern';
6
- import { CrossHeavyMIcon } from '@alfalab/icons-glyph/CrossHeavyMIcon';
7
6
 
8
- var styles = {"closer":"side-panel__closer_v7eww","button":"side-panel__button_v7eww","sticky":"side-panel__sticky_v7eww"};
7
+ var styles = {"closer":"side-panel__closer_qh2mv","button":"side-panel__button_qh2mv","sticky":"side-panel__sticky_qh2mv"};
9
8
  require('./index.css')
10
9
 
11
10
  /**
12
11
  * @deprecated Компонент только для внутреннего использования. Используйте <Header />
13
12
  */
14
- const Closer = ({ className, size = 's', sticky, icon = CrossHeavyMIcon, ...restProps }) => {
13
+ const Closer = ({ className, size = 's', sticky, icon, ...restProps }) => {
15
14
  const { onClose } = useContext(ModalContext);
16
15
  const handleClick = useCallback((event) => {
17
16
  onClose(event, 'closerClick');
@@ -19,7 +18,7 @@ const Closer = ({ className, size = 's', sticky, icon = CrossHeavyMIcon, ...rest
19
18
  return (React.createElement("div", { className: cn(styles.closer, className, {
20
19
  [styles.sticky]: sticky,
21
20
  }) },
22
- React.createElement(IconButton, Object.assign({ size: size, className: styles.button, "aria-label": '\u0437\u0430\u043A\u0440\u044B\u0442\u044C', onClick: handleClick, icon: icon }, restProps))));
21
+ React.createElement(IconButton, { size: size, className: styles.button, "aria-label": '\u0437\u0430\u043A\u0440\u044B\u0442\u044C', onClick: handleClick, icon: icon, ...restProps })));
23
22
  };
24
23
 
25
24
  export { Closer };
@@ -1,4 +1,4 @@
1
- /* hash: epoa2 */
1
+ /* hash: 1fj8z */
2
2
  :root {
3
3
  --color-light-bg-primary-alpha-40: rgba(255, 255, 255, 0.4);
4
4
  }
@@ -25,7 +25,7 @@
25
25
  :root {
26
26
  --side-panel-closer-bg-color: var(--color-light-bg-primary-alpha-40);
27
27
  }
28
- .side-panel__closer_v7eww {
28
+ .side-panel__closer_qh2mv {
29
29
  flex-shrink: 0;
30
30
  width: 48px;
31
31
  height: 48px;
@@ -34,13 +34,13 @@
34
34
  align-items: center;
35
35
  justify-content: center;
36
36
  }
37
- .side-panel__button_v7eww {
37
+ .side-panel__button_qh2mv {
38
38
  background: var(--side-panel-closer-bg-color);
39
39
  -webkit-backdrop-filter: blur(10px);
40
40
  backdrop-filter: blur(10px);
41
41
  border-radius: 50px;
42
42
  }
43
- .side-panel__sticky_v7eww {
43
+ .side-panel__sticky_qh2mv {
44
44
  position: sticky;
45
45
  top: 0;
46
46
  }
@@ -4,9 +4,9 @@ import '@alfalab/core-components-base-modal/modern';
4
4
  import '../../Context.js';
5
5
  import { Content } from './Component.js';
6
6
 
7
- var styles = {"s":"side-panel__s_wjsvi"};
7
+ var styles = {"s":"side-panel__s_1kj75"};
8
8
  require('./desktop.css')
9
9
 
10
- const ContentDesktop = ({ size = 's', className, ...restProps }) => React.createElement(Content, Object.assign({ className: cn(className, size && styles[size]) }, restProps));
10
+ const ContentDesktop = ({ size = 's', className, ...restProps }) => React.createElement(Content, { className: cn(className, size && styles[size]), ...restProps });
11
11
 
12
12
  export { ContentDesktop };
@@ -3,7 +3,7 @@ import cn from 'classnames';
3
3
  import '@alfalab/core-components-base-modal/modern';
4
4
  import { ModalContext } from '../../Context.js';
5
5
 
6
- var styles = {"content":"side-panel__content_1lrcn","flex":"side-panel__flex_1lrcn"};
6
+ var styles = {"content":"side-panel__content_1tyir","flex":"side-panel__flex_1tyir"};
7
7
  require('./index.css')
8
8
 
9
9
  const Content = ({ children, className, dataTestId }) => {
@@ -4,9 +4,9 @@ import '@alfalab/core-components-base-modal/modern';
4
4
  import '../../Context.js';
5
5
  import { Content } from './Component.js';
6
6
 
7
- var styles = {"content":"side-panel__content_80w0y"};
7
+ var styles = {"content":"side-panel__content_41bsu"};
8
8
  require('./mobile.css')
9
9
 
10
- const ContentMobile = ({ className, ...restProps }) => (React.createElement(Content, Object.assign({ className: cn(className, styles.content) }, restProps)));
10
+ const ContentMobile = ({ className, ...restProps }) => (React.createElement(Content, { className: cn(className, styles.content), ...restProps }));
11
11
 
12
12
  export { ContentMobile };
@@ -1,4 +1,4 @@
1
- /* hash: s592v */
1
+ /* hash: 1177v */
2
2
  :root {
3
3
 
4
4
  /* Hard */
@@ -23,9 +23,9 @@
23
23
 
24
24
  /* mobile */
25
25
  }
26
- .side-panel__s_wjsvi {
26
+ .side-panel__s_1kj75 {
27
27
  padding: var(--side-panel-s-content-paddings)
28
28
  }
29
- .side-panel__s_wjsvi:last-child {
29
+ .side-panel__s_1kj75:last-child {
30
30
  padding-bottom: var(--gap-2xl);
31
31
  }
@@ -1,4 +1,4 @@
1
- /* hash: 1o40t */
1
+ /* hash: 1mnop */
2
2
  :root {
3
3
 
4
4
  /* Hard */
@@ -19,10 +19,10 @@
19
19
 
20
20
  /* mobile */
21
21
  }
22
- .side-panel__content_1lrcn {
22
+ .side-panel__content_1tyir {
23
23
  box-sizing: border-box;
24
24
  width: 100%;
25
25
  }
26
- .side-panel__flex_1lrcn {
26
+ .side-panel__flex_1tyir {
27
27
  flex: 1 1 auto;
28
28
  }
@@ -1,4 +1,4 @@
1
- /* hash: 12n9n */
1
+ /* hash: 85tpv */
2
2
  :root {
3
3
 
4
4
  /* Hard */
@@ -22,9 +22,9 @@
22
22
 
23
23
  /* mobile */
24
24
  }
25
- .side-panel__content_80w0y {
25
+ .side-panel__content_41bsu {
26
26
  padding: 0 var(--gap-m)
27
27
  }
28
- .side-panel__content_80w0y:last-child {
28
+ .side-panel__content_41bsu:last-child {
29
29
  padding-bottom: var(--gap-m);
30
30
  }