@alfalab/core-components-side-panel 2.5.6 → 3.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 (177) hide show
  1. package/Component.desktop.d.ts +1 -1
  2. package/Component.desktop.js +14 -12
  3. package/Component.mobile.d.ts +1 -1
  4. package/Component.mobile.js +13 -11
  5. package/Component.responsive.d.ts +1 -2
  6. package/Component.responsive.js +11 -20
  7. package/ResponsiveContext.d.ts +5 -0
  8. package/ResponsiveContext.js +11 -0
  9. package/components/content/Component.desktop.js +4 -4
  10. package/components/content/Component.js +6 -3
  11. package/components/content/Component.mobile.js +4 -4
  12. package/components/content/desktop.css +7 -4
  13. package/components/content/index.css +8 -4
  14. package/components/content/mobile.css +6 -4
  15. package/components/footer/Component.desktop.js +4 -4
  16. package/components/footer/Component.js +2 -2
  17. package/components/footer/Component.mobile.js +4 -4
  18. package/components/footer/desktop.css +7 -5
  19. package/components/footer/index.css +8 -6
  20. package/components/footer/layout.css +27 -25
  21. package/components/footer/mobile.css +5 -3
  22. package/components/header/Component.d.ts +3 -51
  23. package/components/header/Component.js +23 -15
  24. package/components/header/desktop.css +11 -13
  25. package/components/header/index.css +18 -24
  26. package/components/header/mobile.css +10 -6
  27. package/cssm/Component.desktop.d.ts +1 -1
  28. package/cssm/Component.desktop.js +14 -12
  29. package/cssm/Component.mobile.d.ts +1 -1
  30. package/cssm/Component.mobile.js +12 -10
  31. package/cssm/Component.responsive.d.ts +1 -2
  32. package/cssm/Component.responsive.js +14 -24
  33. package/cssm/ResponsiveContext.d.ts +5 -0
  34. package/cssm/ResponsiveContext.js +11 -0
  35. package/cssm/components/content/Component.desktop.js +3 -3
  36. package/cssm/components/content/Component.js +5 -2
  37. package/cssm/components/content/Component.mobile.js +3 -3
  38. package/cssm/components/content/desktop.module.css +4 -1
  39. package/cssm/components/content/index.module.css +6 -2
  40. package/cssm/components/content/mobile.module.css +3 -1
  41. package/cssm/components/footer/Component.desktop.js +3 -3
  42. package/cssm/components/footer/Component.mobile.js +3 -3
  43. package/cssm/components/footer/desktop.module.css +4 -2
  44. package/cssm/components/footer/index.module.css +4 -2
  45. package/cssm/components/footer/layout.module.css +2 -0
  46. package/cssm/components/footer/mobile.module.css +2 -0
  47. package/cssm/components/header/Component.d.ts +3 -51
  48. package/cssm/components/header/Component.js +20 -14
  49. package/cssm/components/header/desktop.module.css +7 -9
  50. package/cssm/components/header/index.module.css +4 -10
  51. package/cssm/components/header/mobile.module.css +7 -3
  52. package/cssm/desktop.js +5 -7
  53. package/cssm/desktop.module.css +2 -0
  54. package/cssm/index.js +7 -12
  55. package/cssm/mobile.js +4 -6
  56. package/cssm/mobile.module.css +2 -0
  57. package/cssm/responsive.js +7 -12
  58. package/cssm/typings.d.ts +7 -0
  59. package/cssm/typings.js +2 -0
  60. package/cssm/vars.css +2 -0
  61. package/desktop.css +5 -3
  62. package/desktop.js +3 -5
  63. package/esm/Component.desktop.d.ts +1 -1
  64. package/esm/Component.desktop.js +14 -12
  65. package/esm/Component.mobile.d.ts +1 -1
  66. package/esm/Component.mobile.js +13 -11
  67. package/esm/Component.responsive.d.ts +1 -2
  68. package/esm/Component.responsive.js +9 -18
  69. package/esm/ResponsiveContext.d.ts +5 -0
  70. package/esm/ResponsiveContext.js +5 -0
  71. package/esm/components/content/Component.desktop.js +2 -2
  72. package/esm/components/content/Component.js +6 -3
  73. package/esm/components/content/Component.mobile.js +2 -2
  74. package/esm/components/content/desktop.css +7 -4
  75. package/esm/components/content/index.css +8 -4
  76. package/esm/components/content/mobile.css +6 -4
  77. package/esm/components/footer/Component.desktop.js +2 -2
  78. package/esm/components/footer/Component.js +2 -2
  79. package/esm/components/footer/Component.mobile.js +2 -2
  80. package/esm/components/footer/desktop.css +7 -5
  81. package/esm/components/footer/index.css +8 -6
  82. package/esm/components/footer/layout.css +27 -25
  83. package/esm/components/footer/mobile.css +5 -3
  84. package/esm/components/header/Component.d.ts +3 -51
  85. package/esm/components/header/Component.js +23 -15
  86. package/esm/components/header/desktop.css +11 -13
  87. package/esm/components/header/index.css +18 -24
  88. package/esm/components/header/mobile.css +10 -6
  89. package/esm/desktop.css +5 -3
  90. package/esm/desktop.js +3 -5
  91. package/esm/index.js +4 -8
  92. package/esm/mobile.css +4 -2
  93. package/esm/mobile.js +3 -5
  94. package/esm/responsive.js +4 -8
  95. package/esm/transitions.desktop.css +7 -7
  96. package/esm/transitions.mobile.css +8 -8
  97. package/esm/typings.d.ts +7 -0
  98. package/esm/typings.js +1 -0
  99. package/index.js +4 -8
  100. package/mobile.css +4 -2
  101. package/mobile.js +3 -5
  102. package/modern/Component.desktop.d.ts +1 -1
  103. package/modern/Component.desktop.js +12 -10
  104. package/modern/Component.mobile.d.ts +1 -1
  105. package/modern/Component.mobile.js +17 -13
  106. package/modern/Component.responsive.d.ts +1 -2
  107. package/modern/Component.responsive.js +8 -17
  108. package/modern/ResponsiveContext.d.ts +5 -0
  109. package/modern/ResponsiveContext.js +5 -0
  110. package/modern/components/content/Component.desktop.js +1 -1
  111. package/modern/components/content/Component.js +5 -3
  112. package/modern/components/content/Component.mobile.js +1 -1
  113. package/modern/components/content/desktop.css +7 -4
  114. package/modern/components/content/index.css +8 -4
  115. package/modern/components/content/mobile.css +6 -4
  116. package/modern/components/footer/Component.desktop.js +1 -1
  117. package/modern/components/footer/Component.js +2 -2
  118. package/modern/components/footer/Component.mobile.js +1 -1
  119. package/modern/components/footer/desktop.css +7 -5
  120. package/modern/components/footer/index.css +8 -6
  121. package/modern/components/footer/layout.css +27 -25
  122. package/modern/components/footer/mobile.css +5 -3
  123. package/modern/components/header/Component.d.ts +3 -51
  124. package/modern/components/header/Component.js +22 -16
  125. package/modern/components/header/desktop.css +11 -13
  126. package/modern/components/header/index.css +18 -24
  127. package/modern/components/header/mobile.css +10 -6
  128. package/modern/desktop.css +5 -3
  129. package/modern/desktop.js +2 -4
  130. package/modern/index.js +3 -7
  131. package/modern/mobile.css +4 -2
  132. package/modern/mobile.js +2 -4
  133. package/modern/responsive.js +3 -7
  134. package/modern/transitions.desktop.css +7 -7
  135. package/modern/transitions.mobile.css +8 -8
  136. package/modern/typings.d.ts +7 -0
  137. package/modern/typings.js +1 -0
  138. package/package.json +9 -7
  139. package/responsive.js +4 -8
  140. package/transitions.desktop.css +7 -7
  141. package/transitions.mobile.css +8 -8
  142. package/typings.d.ts +7 -0
  143. package/typings.js +2 -0
  144. package/components/closer/Component.d.ts +0 -29
  145. package/components/closer/Component.js +0 -34
  146. package/components/closer/index.css +0 -47
  147. package/components/header/Component.desktop.d.ts +0 -18
  148. package/components/header/Component.desktop.js +0 -31
  149. package/components/header/Component.mobile.d.ts +0 -14
  150. package/components/header/Component.mobile.js +0 -30
  151. package/cssm/components/closer/Component.d.ts +0 -29
  152. package/cssm/components/closer/Component.js +0 -33
  153. package/cssm/components/closer/index.module.css +0 -46
  154. package/cssm/components/header/Component.desktop.d.ts +0 -18
  155. package/cssm/components/header/Component.desktop.js +0 -32
  156. package/cssm/components/header/Component.mobile.d.ts +0 -14
  157. package/cssm/components/header/Component.mobile.js +0 -31
  158. package/cssm/tslib.es6-bbd6cd2a.d.ts +0 -36
  159. package/cssm/tslib.es6-bbd6cd2a.js +0 -42
  160. package/esm/components/closer/Component.d.ts +0 -29
  161. package/esm/components/closer/Component.js +0 -27
  162. package/esm/components/closer/index.css +0 -47
  163. package/esm/components/header/Component.desktop.d.ts +0 -18
  164. package/esm/components/header/Component.desktop.js +0 -24
  165. package/esm/components/header/Component.mobile.d.ts +0 -14
  166. package/esm/components/header/Component.mobile.js +0 -22
  167. package/esm/tslib.es6-c804285b.d.ts +0 -36
  168. package/esm/tslib.es6-c804285b.js +0 -40
  169. package/modern/components/closer/Component.d.ts +0 -29
  170. package/modern/components/closer/Component.js +0 -24
  171. package/modern/components/closer/index.css +0 -47
  172. package/modern/components/header/Component.desktop.d.ts +0 -18
  173. package/modern/components/header/Component.desktop.js +0 -21
  174. package/modern/components/header/Component.mobile.d.ts +0 -14
  175. package/modern/components/header/Component.mobile.js +0 -17
  176. package/tslib.es6-31bf2e33.d.ts +0 -36
  177. package/tslib.es6-31bf2e33.js +0 -42
@@ -1,33 +1,41 @@
1
- import { a as __assign } from '../../tslib.es6-c804285b.js';
1
+ import { __rest, __assign } from 'tslib';
2
2
  import React, { useContext, useEffect } from 'react';
3
3
  import cn from 'classnames';
4
+ import { NavigationBar } from '@alfalab/core-components-navigation-bar/esm';
4
5
  import { ModalContext } from '../../Context.js';
6
+ import { ResponsiveContext } from '../../ResponsiveContext.js';
5
7
  import '@alfalab/core-components-base-modal/esm';
6
8
 
7
- var styles = {"header":"side-panel__header_xjakq","hasContent":"side-panel__hasContent_xjakq","highlighted":"side-panel__highlighted_xjakq","sticky":"side-panel__sticky_xjakq","backgroundImage":"side-panel__backgroundImage_xjakq","content":"side-panel__content_xjakq","title":"side-panel__title_xjakq","addon":"side-panel__addon_xjakq","closer":"side-panel__closer_xjakq","left":"side-panel__left_xjakq","center":"side-panel__center_xjakq","right":"side-panel__right_xjakq","trim":"side-panel__trim_xjakq"};
9
+ var desktopStyles = {"content":"side-panel__content_z686w","s":"side-panel__s_z686w","sticky":"side-panel__sticky_z686w"};
10
+ require('./desktop.css')
11
+
12
+ var styles = {"header":"side-panel__header_be2k8","hasContent":"side-panel__hasContent_be2k8","highlighted":"side-panel__highlighted_be2k8","sticky":"side-panel__sticky_be2k8","backgroundImage":"side-panel__backgroundImage_be2k8","content":"side-panel__content_be2k8","title":"side-panel__title_be2k8","addon":"side-panel__addon_be2k8","closer":"side-panel__closer_be2k8","right":"side-panel__right_be2k8","trim":"side-panel__trim_be2k8"};
8
13
  require('./index.css')
9
14
 
15
+ var mobileStyles = {"header":"side-panel__header_1c37u","sticky":"side-panel__sticky_1c37u","content":"side-panel__content_1c37u"};
16
+ require('./mobile.css')
17
+
10
18
  var Header = function (_a) {
11
19
  var _b, _c;
12
- var className = _a.className, addonClassName = _a.addonClassName, contentClassName = _a.contentClassName, leftAddons = _a.leftAddons, children = _a.children, _d = _a.align, align = _d === void 0 ? 'left' : _d, _e = _a.trim, trim = _e === void 0 ? true : _e, title = _a.title, closer = _a.closer, sticky = _a.sticky, imageUrl = _a.imageUrl, dataTestId = _a.dataTestId;
13
- var _f = useContext(ModalContext), headerHighlighted = _f.headerHighlighted, setHasHeader = _f.setHasHeader;
14
- var hasContent = Boolean(title || children);
20
+ var className = _a.className, children = _a.children, contentClassName = _a.contentClassName, title = _a.title, sticky = _a.sticky, _d = _a.hasCloser, hasCloser = _d === void 0 ? true : _d, restProps = __rest(_a, ["className", "children", "contentClassName", "title", "sticky", "hasCloser"]);
21
+ var _e = useContext(ModalContext), setHasHeader = _e.setHasHeader, headerHighlighted = _e.headerHighlighted, parentRef = _e.parentRef, onClose = _e.onClose;
22
+ var _f = useContext(ResponsiveContext) || {}, _g = _f.size, size = _g === void 0 ? 's' : _g, _h = _f.view, view = _h === void 0 ? 'desktop' : _h;
15
23
  useEffect(function () {
16
24
  setHasHeader(true);
17
25
  }, [setHasHeader]);
18
- return (React.createElement("div", { className: cn(styles.header, className, (_b = {},
19
- _b[styles.backgroundImage] = imageUrl,
26
+ var hasContent = Boolean(title || children);
27
+ return (React.createElement(NavigationBar, __assign({}, restProps, { parentRef: parentRef, view: view, sticky: sticky, title: title, hasCloser: hasCloser, onClose: onClose, className: cn(styles.header, className, (_b = {},
20
28
  _b[styles.highlighted] = hasContent && sticky && headerHighlighted,
21
29
  _b[styles.sticky] = sticky,
22
30
  _b[styles.hasContent] = hasContent,
23
- _b)), "data-test-id": dataTestId, style: __assign({}, (imageUrl && { backgroundImage: "url(".concat(imageUrl, ")") })) },
24
- leftAddons && React.createElement("div", { className: cn(styles.addon, addonClassName) }, leftAddons),
25
- hasContent && (React.createElement("div", { className: cn(styles.content, contentClassName, styles[align], (_c = {},
26
- _c[styles.trim] = trim,
27
- _c)) },
28
- children,
29
- title && React.createElement("div", { className: styles.title }, title))),
30
- closer && (React.createElement("div", { className: cn(styles.addon, styles.closer, addonClassName) }, closer))));
31
+ _b[desktopStyles.sticky] = view === 'desktop' && sticky,
32
+ _b[desktopStyles[size]] = view === 'desktop',
33
+ _b[mobileStyles.sticky] = view === 'mobile' && sticky,
34
+ _b[mobileStyles.header] = view === 'mobile',
35
+ _b)), contentClassName: cn(contentClassName, (_c = {},
36
+ _c[desktopStyles.content] = view === 'desktop',
37
+ _c[mobileStyles.content] = view === 'mobile',
38
+ _c)) }), children));
31
39
  };
32
40
 
33
41
  export { Header };
@@ -1,4 +1,4 @@
1
- /* hash: 1414x */
1
+ /* hash: 1jtf5 */
2
2
  :root {
3
3
  } /* deprecated */ :root {
4
4
  } :root {
@@ -12,9 +12,7 @@
12
12
  /* Hard up */
13
13
  } :root {
14
14
  } :root {
15
- --gap-xs: 8px;
16
15
  --gap-s: 12px;
17
- --gap-m: 16px;
18
16
  } :root {
19
17
  --font-family-system: system-ui, -apple-system, 'Segoe UI', Roboto, 'Helvetica Neue', Helvetica,
20
18
  sans-serif;
@@ -24,29 +22,29 @@
24
22
  /* sizes */
25
23
 
26
24
  /* paddings */
27
- --side-panel-s-header-paddings: var(--gap-xs) var(--gap-xs) var(--gap-m);
25
+ --side-panel-s-header-paddings: 28px 28px 0;
28
26
 
29
27
  /* scroll */
30
28
 
31
29
  /* desktop */
32
- --side-panel-s-header-desktop-content-paddings: var(--gap-s) var(--gap-m) 0 0;
33
- --side-panel-s-header-desktop-font-size: 22px;
30
+ --side-panel-s-header-desktop-content-paddings: var(--gap-s);
31
+ --side-panel-s-header-desktop-font-size: 20px;
34
32
  --side-panel-s-header-desktop-line-height: 26px;
35
33
  --side-panel-header-desktop-font-weight: bold;
36
34
  --side-panel-header-desktop-font-family: var(--font-family-system);
37
35
 
38
36
  /* mobile */
39
- } .side-panel__content_d106e {
37
+
38
+ /* paddings */
39
+ } .side-panel__content_z686w {
40
40
  font-weight: var(--side-panel-header-desktop-font-weight);
41
41
  font-family: var(--side-panel-header-desktop-font-family);
42
- } .side-panel__s_d106e .side-panel__content_d106e {
42
+ } .side-panel__s_z686w .side-panel__content_z686w {
43
43
  padding: var(--side-panel-s-header-desktop-content-paddings);
44
44
  font-size: var(--side-panel-s-header-desktop-font-size);
45
45
  line-height: var(--side-panel-s-header-desktop-line-height);
46
- } .side-panel__s_d106e {
47
- padding: var(--side-panel-s-header-paddings)
48
- } .side-panel__s_d106e:not(.side-panel__hasContent_d106e) {
49
- padding-bottom: 0;
50
- } .side-panel__sticky_d106e {
46
+ } .side-panel__s_z686w {
47
+ padding: var(--side-panel-s-header-paddings);
48
+ } .side-panel__sticky_z686w {
51
49
  top: 0;
52
50
  }
@@ -1,7 +1,8 @@
1
- /* hash: 1ljfb */
1
+ /* hash: 2algu */
2
2
  :root {
3
3
  } /* deprecated */ :root {
4
4
  --color-light-bg-primary: #fff;
5
+ --color-light-border-secondary: #e7e9eb;
5
6
  } :root {
6
7
  } :root {
7
8
  } :root {
@@ -24,56 +25,49 @@
24
25
 
25
26
  /* scroll */
26
27
  --side-panel-header-highlight-background: var(--color-light-bg-primary);
27
- --side-panel-header-highlight-box-shadow: none;
28
+ --side-panel-header-highlight-box-shadow: 0 1px 0 0 var(--color-light-border-secondary);
28
29
 
29
30
  /* desktop */
30
31
 
31
32
  /* mobile */
32
- } .side-panel__header_xjakq {
33
+
34
+ /* paddings */
35
+ } .side-panel__header_be2k8 {
33
36
  width: 100%;
34
37
  box-sizing: border-box;
35
- display: flex;
36
- align-items: stretch;
37
- justify-content: space-between;
38
38
  transition: box-shadow 0.2s ease, background 0.2s ease
39
- } .side-panel__header_xjakq:not(.side-panel__hasContent_xjakq) {
39
+ } .side-panel__header_be2k8:not(.side-panel__hasContent_be2k8) {
40
40
  pointer-events: none;
41
- } .side-panel__highlighted_xjakq {
41
+ } .side-panel__highlighted_be2k8 {
42
42
  background: var(--side-panel-header-highlight-background);
43
43
  box-shadow: var(--side-panel-header-highlight-box-shadow);
44
- } .side-panel__sticky_xjakq {
44
+ } .side-panel__sticky_be2k8 {
45
45
  position: sticky;
46
46
  z-index: 1
47
- } .side-panel__sticky_xjakq.side-panel__hasContent_xjakq {
47
+ } .side-panel__sticky_be2k8.side-panel__hasContent_be2k8 {
48
48
  background: var(--side-panel-header-background);
49
- } .side-panel__header_xjakq.side-panel__backgroundImage_xjakq {
49
+ } .side-panel__header_be2k8.side-panel__backgroundImage_be2k8 {
50
50
  background: center no-repeat;
51
51
  background-size: cover;
52
- } .side-panel__content_xjakq {
52
+ } .side-panel__content_be2k8 {
53
53
  flex-grow: 1;
54
- } .side-panel__title_xjakq {
54
+ } .side-panel__title_be2k8 {
55
55
  word-break: break-word;
56
- } .side-panel__addon_xjakq {
56
+ } .side-panel__addon_be2k8 {
57
57
  min-width: 48px;
58
58
  height: 48px;
59
59
  display: flex;
60
60
  justify-content: center;
61
61
  align-items: center;
62
62
  pointer-events: all;
63
- } .side-panel__closer_xjakq {
63
+ } .side-panel__closer_be2k8 {
64
64
  margin-left: auto;
65
- } .side-panel__left_xjakq {
66
- justify-content: flex-start;
67
- text-align: left;
68
- } .side-panel__center_xjakq {
69
- justify-content: center;
70
- text-align: center;
71
- } .side-panel__right_xjakq {
65
+ } .side-panel__right_be2k8 {
72
66
  justify-content: flex-end;
73
67
  text-align: right;
74
- } .side-panel__trim_xjakq {
68
+ } .side-panel__trim_be2k8 {
75
69
  overflow: hidden
76
- } .side-panel__trim_xjakq .side-panel__title_xjakq {
70
+ } .side-panel__trim_be2k8 .side-panel__title_be2k8 {
77
71
  overflow: hidden;
78
72
  white-space: nowrap;
79
73
  text-overflow: ellipsis;
@@ -1,4 +1,4 @@
1
- /* hash: 1823m */
1
+ /* hash: 9dj43 */
2
2
  :root {
3
3
  } /* deprecated */ :root {
4
4
  } :root {
@@ -12,9 +12,9 @@
12
12
  /* Hard up */
13
13
  } :root {
14
14
  } :root {
15
+ --gap-2xs: 4px;
15
16
  --gap-xs: 8px;
16
17
  --gap-s: 12px;
17
- --gap-m: 16px;
18
18
  } :root {
19
19
  --font-family-system: system-ui, -apple-system, 'Segoe UI', Roboto, 'Helvetica Neue', Helvetica,
20
20
  sans-serif;
@@ -30,15 +30,19 @@
30
30
  /* desktop */
31
31
 
32
32
  /* mobile */
33
- --side-panel-header-mobile-content-paddings: var(--gap-s) var(--gap-xs) var(--gap-s)
34
- var(--gap-m);
33
+ --side-panel-header-mobile-content-paddings: var(--gap-s) var(--gap-xs);
35
34
  --side-panel-header-mobile-font-size: 18px;
36
35
  --side-panel-header-mobile-line-height: 24px;
37
36
  --side-panel-header-mobile-font-family: var(--font-family-system);
38
37
  --side-panel-header-mobile-font-weight: bold;
39
- } .side-panel__sticky_pxztx {
38
+
39
+ /* paddings */
40
+ --side-panel-header-mobile-paddings: var(--gap-2xs) var(--gap-xs);
41
+ } .side-panel__header_1c37u {
42
+ padding: var(--side-panel-header-mobile-paddings);
43
+ } .side-panel__sticky_1c37u {
40
44
  top: 0;
41
- } .side-panel__content_pxztx {
45
+ } .side-panel__content_1c37u {
42
46
  font-size: var(--side-panel-header-mobile-font-size);
43
47
  line-height: var(--side-panel-header-mobile-line-height);
44
48
  font-family: var(--side-panel-header-mobile-font-family);
package/esm/desktop.css CHANGED
@@ -1,4 +1,4 @@
1
- /* hash: 1dzt0 */
1
+ /* hash: fb8hr */
2
2
  :root {
3
3
  } /* deprecated */ :root {
4
4
  } :root {
@@ -26,8 +26,10 @@
26
26
  /* desktop */
27
27
 
28
28
  /* mobile */
29
- } .side-panel__s_14xg8 {
29
+
30
+ /* paddings */
31
+ } .side-panel__s_1r2o9 {
30
32
  width: var(--side-panel-s-width);
31
- } .side-panel__hidden_14xg8 {
33
+ } .side-panel__hidden_1r2o9 {
32
34
  overflow-x: hidden;
33
35
  }
package/esm/desktop.js CHANGED
@@ -1,5 +1,5 @@
1
1
  export { SidePanelDesktop } from './Component.desktop.js';
2
- import './tslib.es6-c804285b.js';
2
+ import 'tslib';
3
3
  import 'react';
4
4
  import 'react-merge-refs';
5
5
  import 'classnames';
@@ -10,8 +10,6 @@ import './Context.js';
10
10
  import '@alfalab/core-components-base-modal/esm';
11
11
  import './components/footer/Component.desktop.js';
12
12
  import './components/footer/Component.js';
13
- import './components/header/Component.desktop.js';
14
- import '@alfalab/icons-glyph/CrossHeavyMIcon';
15
- import './components/closer/Component.js';
16
- import '@alfalab/core-components-icon-button/esm';
17
13
  import './components/header/Component.js';
14
+ import '@alfalab/core-components-navigation-bar/esm';
15
+ import './ResponsiveContext.js';
package/esm/index.js CHANGED
@@ -1,11 +1,12 @@
1
1
  export { SidePanelResponsive } from './Component.responsive.js';
2
2
  export { ModalContext } from './Context.js';
3
- import './tslib.es6-c804285b.js';
3
+ import 'tslib';
4
4
  import 'react';
5
5
  import '@alfalab/core-components-mq/esm';
6
- import './components/closer/Component.js';
6
+ import './components/header/Component.js';
7
7
  import 'classnames';
8
- import '@alfalab/core-components-icon-button/esm';
8
+ import '@alfalab/core-components-navigation-bar/esm';
9
+ import './ResponsiveContext.js';
9
10
  import '@alfalab/core-components-base-modal/esm';
10
11
  import './Component.desktop.js';
11
12
  import 'react-merge-refs';
@@ -14,11 +15,6 @@ import './components/content/Component.desktop.js';
14
15
  import './components/content/Component.js';
15
16
  import './components/footer/Component.desktop.js';
16
17
  import './components/footer/Component.js';
17
- import './components/header/Component.desktop.js';
18
- import '@alfalab/icons-glyph/CrossHeavyMIcon';
19
- import './components/header/Component.js';
20
18
  import './Component.mobile.js';
21
19
  import './components/content/Component.mobile.js';
22
20
  import './components/footer/Component.mobile.js';
23
- import './components/header/Component.mobile.js';
24
- import '@alfalab/icons-glyph/CrossMIcon';
package/esm/mobile.css CHANGED
@@ -1,4 +1,4 @@
1
- /* hash: ovqjb */
1
+ /* hash: 14o0q */
2
2
  :root {
3
3
  } /* deprecated */ :root {
4
4
  } :root {
@@ -25,7 +25,9 @@
25
25
  /* desktop */
26
26
 
27
27
  /* mobile */
28
- } .side-panel__component_1b9se {
28
+
29
+ /* paddings */
30
+ } .side-panel__component_1xf0f {
29
31
  flex: 1;
30
32
  width: 100%;
31
33
  }
package/esm/mobile.js CHANGED
@@ -1,5 +1,5 @@
1
1
  export { SidePanelMobile } from './Component.mobile.js';
2
- import './tslib.es6-c804285b.js';
2
+ import 'tslib';
3
3
  import 'react';
4
4
  import 'classnames';
5
5
  import '@alfalab/core-components-base-modal/esm';
@@ -8,8 +8,6 @@ import './components/content/Component.js';
8
8
  import './Context.js';
9
9
  import './components/footer/Component.mobile.js';
10
10
  import './components/footer/Component.js';
11
- import './components/header/Component.mobile.js';
12
- import '@alfalab/icons-glyph/CrossMIcon';
13
- import './components/closer/Component.js';
14
- import '@alfalab/core-components-icon-button/esm';
15
11
  import './components/header/Component.js';
12
+ import '@alfalab/core-components-navigation-bar/esm';
13
+ import './ResponsiveContext.js';
package/esm/responsive.js CHANGED
@@ -1,12 +1,13 @@
1
1
  export { SidePanelResponsive } from './Component.responsive.js';
2
- import './tslib.es6-c804285b.js';
2
+ import 'tslib';
3
3
  import 'react';
4
4
  import '@alfalab/core-components-mq/esm';
5
- import './components/closer/Component.js';
5
+ import './components/header/Component.js';
6
6
  import 'classnames';
7
- import '@alfalab/core-components-icon-button/esm';
7
+ import '@alfalab/core-components-navigation-bar/esm';
8
8
  import './Context.js';
9
9
  import '@alfalab/core-components-base-modal/esm';
10
+ import './ResponsiveContext.js';
10
11
  import './Component.desktop.js';
11
12
  import 'react-merge-refs';
12
13
  import '@alfalab/core-components-drawer/esm';
@@ -14,11 +15,6 @@ import './components/content/Component.desktop.js';
14
15
  import './components/content/Component.js';
15
16
  import './components/footer/Component.desktop.js';
16
17
  import './components/footer/Component.js';
17
- import './components/header/Component.desktop.js';
18
- import '@alfalab/icons-glyph/CrossHeavyMIcon';
19
- import './components/header/Component.js';
20
18
  import './Component.mobile.js';
21
19
  import './components/content/Component.mobile.js';
22
20
  import './components/footer/Component.mobile.js';
23
- import './components/header/Component.mobile.js';
24
- import '@alfalab/icons-glyph/CrossMIcon';
@@ -1,32 +1,32 @@
1
- /* hash: 1ulq9 */
2
- .side-panel__enterRight_1o6qb {
1
+ /* hash: 15tfp */
2
+ .side-panel__enterRight_bau9w {
3
3
  opacity: 0;
4
4
  transform: translateX(15px);
5
5
  }
6
6
 
7
- .side-panel__enterLeft_1o6qb {
7
+ .side-panel__enterLeft_bau9w {
8
8
  opacity: 0;
9
9
  transform: translateX(-15px);
10
10
  }
11
11
 
12
- .side-panel__enterActive_1o6qb {
12
+ .side-panel__enterActive_bau9w {
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_1o6qb {
18
+ .side-panel__exit_bau9w {
19
19
  opacity: 1;
20
20
  transform: translateX(0);
21
21
  }
22
22
 
23
- .side-panel__exitActiveRight_1o6qb {
23
+ .side-panel__exitActiveRight_bau9w {
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_1o6qb {
29
+ .side-panel__exitActiveLeft_bau9w {
30
30
  opacity: 0;
31
31
  transition: opacity 200ms ease-out, transform 200ms ease-out;
32
32
  transform: translateX(-15px);
@@ -1,24 +1,24 @@
1
- /* hash: 1d14v */
2
- .side-panel__appear_1dyz5,
3
- .side-panel__enter_1dyz5 {
1
+ /* hash: 1ix53 */
2
+ .side-panel__appear_1334h,
3
+ .side-panel__enter_1334h {
4
4
  opacity: 0;
5
5
  transform: translateY(15px);
6
6
  }
7
7
 
8
- .side-panel__appearActive_1dyz5,
9
- .side-panel__enterActive_1dyz5 {
8
+ .side-panel__appearActive_1334h,
9
+ .side-panel__enterActive_1334h {
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_1dyz5 {
15
+ .side-panel__exit_1334h {
16
16
  opacity: 1;
17
17
  transform: translateY(0);
18
18
  }
19
19
 
20
- .side-panel__exitActive_1dyz5,
21
- .side-panel__exitDone_1dyz5 {
20
+ .side-panel__exitActive_1334h,
21
+ .side-panel__exitDone_1334h {
22
22
  opacity: 0;
23
23
  transform: translateY(15px);
24
24
  transition: opacity 200ms ease-out, transform 200ms ease-out;
@@ -0,0 +1,7 @@
1
+ import { SidePanelResponsiveProps } from "./index";
2
+ type View = 'desktop' | 'mobile';
3
+ type TResponsiveModalContext = {
4
+ view: View;
5
+ size: NonNullable<SidePanelResponsiveProps['size']>;
6
+ } | null;
7
+ export { View, TResponsiveModalContext };
package/esm/typings.js ADDED
@@ -0,0 +1 @@
1
+
package/index.js CHANGED
@@ -2,12 +2,13 @@
2
2
 
3
3
  var Component_responsive = require('./Component.responsive.js');
4
4
  var Context = require('./Context.js');
5
- require('./tslib.es6-31bf2e33.js');
5
+ require('tslib');
6
6
  require('react');
7
7
  require('@alfalab/core-components-mq');
8
- require('./components/closer/Component.js');
8
+ require('./components/header/Component.js');
9
9
  require('classnames');
10
- require('@alfalab/core-components-icon-button');
10
+ require('@alfalab/core-components-navigation-bar');
11
+ require('./ResponsiveContext.js');
11
12
  require('@alfalab/core-components-base-modal');
12
13
  require('./Component.desktop.js');
13
14
  require('react-merge-refs');
@@ -16,14 +17,9 @@ require('./components/content/Component.desktop.js');
16
17
  require('./components/content/Component.js');
17
18
  require('./components/footer/Component.desktop.js');
18
19
  require('./components/footer/Component.js');
19
- require('./components/header/Component.desktop.js');
20
- require('@alfalab/icons-glyph/CrossHeavyMIcon');
21
- require('./components/header/Component.js');
22
20
  require('./Component.mobile.js');
23
21
  require('./components/content/Component.mobile.js');
24
22
  require('./components/footer/Component.mobile.js');
25
- require('./components/header/Component.mobile.js');
26
- require('@alfalab/icons-glyph/CrossMIcon');
27
23
 
28
24
 
29
25
 
package/mobile.css CHANGED
@@ -1,4 +1,4 @@
1
- /* hash: ovqjb */
1
+ /* hash: 14o0q */
2
2
  :root {
3
3
  } /* deprecated */ :root {
4
4
  } :root {
@@ -25,7 +25,9 @@
25
25
  /* desktop */
26
26
 
27
27
  /* mobile */
28
- } .side-panel__component_1b9se {
28
+
29
+ /* paddings */
30
+ } .side-panel__component_1xf0f {
29
31
  flex: 1;
30
32
  width: 100%;
31
33
  }
package/mobile.js CHANGED
@@ -1,7 +1,7 @@
1
1
  'use strict';
2
2
 
3
3
  var Component_mobile = require('./Component.mobile.js');
4
- require('./tslib.es6-31bf2e33.js');
4
+ require('tslib');
5
5
  require('react');
6
6
  require('classnames');
7
7
  require('@alfalab/core-components-base-modal');
@@ -10,11 +10,9 @@ require('./components/content/Component.js');
10
10
  require('./Context.js');
11
11
  require('./components/footer/Component.mobile.js');
12
12
  require('./components/footer/Component.js');
13
- require('./components/header/Component.mobile.js');
14
- require('@alfalab/icons-glyph/CrossMIcon');
15
- require('./components/closer/Component.js');
16
- require('@alfalab/core-components-icon-button');
17
13
  require('./components/header/Component.js');
14
+ require('@alfalab/core-components-navigation-bar');
15
+ require('./ResponsiveContext.js');
18
16
 
19
17
 
20
18
 
@@ -27,7 +27,7 @@ declare const SidePanelDesktop: React.ForwardRefExoticComponent<BaseModalProps &
27
27
  hasCloser?: boolean | undefined;
28
28
  } & React.RefAttributes<HTMLDivElement>> & {
29
29
  Content: React.FC<import("./components/content/Component.desktop").ContentDesktopProps>;
30
- Header: React.FC<import("./components/header/Component.desktop").HeaderDesktopProps>;
30
+ Header: React.FC<import("./components/header/Component").HeaderProps>;
31
31
  Footer: React.FC<import("./components/footer/Component.desktop").FooterDesktopProps>;
32
32
  };
33
33
  export { SidePanelDesktopProps, SidePanelDesktop };
@@ -1,26 +1,25 @@
1
- import React, { forwardRef, useRef, isValidElement, cloneElement } from 'react';
1
+ import React, { forwardRef, useContext, useRef, isValidElement, cloneElement } from 'react';
2
2
  import mergeRefs from 'react-merge-refs';
3
3
  import cn from 'classnames';
4
4
  import { Drawer } from '@alfalab/core-components-drawer/modern';
5
5
  import { ContentDesktop } from './components/content/Component.desktop.js';
6
6
  import { FooterDesktop } from './components/footer/Component.desktop.js';
7
- import { HeaderDesktop } from './components/header/Component.desktop.js';
7
+ import { Header } from './components/header/Component.js';
8
+ import { ResponsiveContext } from './ResponsiveContext.js';
8
9
  import './components/content/Component.js';
9
10
  import './Context.js';
10
11
  import '@alfalab/core-components-base-modal/modern';
11
12
  import './components/footer/Component.js';
12
- import '@alfalab/icons-glyph/CrossHeavyMIcon';
13
- import './components/closer/Component.js';
14
- import '@alfalab/core-components-icon-button/modern';
15
- import './components/header/Component.js';
13
+ import '@alfalab/core-components-navigation-bar/modern';
16
14
 
17
- const styles = {"s":"side-panel__s_14xg8","hidden":"side-panel__hidden_14xg8"};
15
+ const styles = {"s":"side-panel__s_1r2o9","hidden":"side-panel__hidden_1r2o9"};
18
16
  require('./desktop.css')
19
17
 
20
- const transitions = {"enterRight":"side-panel__enterRight_1o6qb","enterLeft":"side-panel__enterLeft_1o6qb","enterActive":"side-panel__enterActive_1o6qb","exit":"side-panel__exit_1o6qb","exitActiveRight":"side-panel__exitActiveRight_1o6qb","exitActiveLeft":"side-panel__exitActiveLeft_1o6qb"};
18
+ const transitions = {"enterRight":"side-panel__enterRight_bau9w","enterLeft":"side-panel__enterLeft_bau9w","enterActive":"side-panel__enterActive_bau9w","exit":"side-panel__exit_bau9w","exitActiveRight":"side-panel__exitActiveRight_bau9w","exitActiveLeft":"side-panel__exitActiveLeft_bau9w"};
21
19
  require('./transitions.desktop.css')
22
20
 
23
21
  const SidePanelDesktopComponent = forwardRef(({ size = 's', children, className, wrapperClassName, contentTransitionProps = {}, backdropProps, placement = 'right', ...restProps }, ref) => {
22
+ const responsiveContext = useContext(ResponsiveContext);
24
23
  const modalRef = useRef(null);
25
24
  const enterCn = cn({
26
25
  [transitions.appearRight]: placement === 'right',
@@ -30,7 +29,8 @@ const SidePanelDesktopComponent = forwardRef(({ size = 's', children, className,
30
29
  [transitions.exitActiveRight]: placement === 'right',
31
30
  [transitions.exitActiveLeft]: placement === 'left',
32
31
  });
33
- return (React.createElement(Drawer, { ...restProps, ref: mergeRefs([ref, modalRef]), placement: placement, wrapperClassName: wrapperClassName, className: cn(className, styles[size], styles.hidden), backdropProps: backdropProps, contentTransitionProps: {
32
+ const contextValue = React.useMemo(() => ({ size, view: 'desktop' }), [size]);
33
+ const renderContent = () => (React.createElement(Drawer, { ...restProps, ref: mergeRefs([ref, modalRef]), placement: placement, wrapperClassName: wrapperClassName, className: cn(className, styles[size], styles.hidden), backdropProps: backdropProps, contentTransitionProps: {
34
34
  classNames: {
35
35
  appear: enterCn,
36
36
  enter: enterCn,
@@ -42,10 +42,12 @@ const SidePanelDesktopComponent = forwardRef(({ size = 's', children, className,
42
42
  },
43
43
  ...contentTransitionProps,
44
44
  } }, React.Children.map(children, (child) => isValidElement(child) ? cloneElement(child, { size }) : child)));
45
+ const renderWithContext = () => (React.createElement(ResponsiveContext.Provider, { value: contextValue }, renderContent()));
46
+ return responsiveContext ? renderContent() : renderWithContext();
45
47
  });
46
48
  const SidePanelDesktop = Object.assign(SidePanelDesktopComponent, {
47
49
  Content: ContentDesktop,
48
- Header: HeaderDesktop,
50
+ Header,
49
51
  Footer: FooterDesktop,
50
52
  });
51
53
 
@@ -16,7 +16,7 @@ declare const SidePanelMobile: 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.mobile").HeaderMobileProps>;
19
+ Header: React.FC<import("./components/header/Component").HeaderProps>;
20
20
  Footer: React.FC<import("./components/footer/Component").FooterProps>;
21
21
  };
22
22
  export { SidePanelMobileProps, SidePanelMobile };