@alfalab/core-components-side-panel 7.0.7 → 7.0.8

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 (129) hide show
  1. package/components/content/desktop.css +2 -2
  2. package/components/content/desktop.module.css.js +1 -1
  3. package/components/content/index.css +3 -3
  4. package/components/content/index.module.css.js +1 -1
  5. package/components/content/mobile.css +6 -6
  6. package/components/content/mobile.module.css.js +1 -1
  7. package/components/content/mobile.module.css.js.map +1 -1
  8. package/components/controls/Component.js +7 -3
  9. package/components/controls/Component.js.map +1 -1
  10. package/components/controls/index.css +1 -1
  11. package/components/controls/index.module.css.js +1 -1
  12. package/components/controls/mobile.layout.css +13 -0
  13. package/components/controls/mobile.layout.module.css.js +8 -0
  14. package/components/controls/mobile.layout.module.css.js.map +1 -0
  15. package/components/footer/desktop.css +2 -2
  16. package/components/footer/desktop.module.css.js +1 -1
  17. package/components/footer/index.css +3 -3
  18. package/components/footer/index.module.css.js +1 -1
  19. package/components/footer/layout.css +16 -16
  20. package/components/footer/layout.module.css.js +1 -1
  21. package/components/footer/mobile.css +7 -7
  22. package/components/footer/mobile.module.css.js +1 -1
  23. package/components/footer/mobile.module.css.js.map +1 -1
  24. package/components/header/desktop.css +3 -3
  25. package/components/header/desktop.module.css.js +1 -1
  26. package/components/header/index.css +13 -13
  27. package/components/header/index.module.css.js +1 -1
  28. package/components/header/mobile.css +8 -6
  29. package/components/header/mobile.module.css.js +1 -1
  30. package/cssm/components/content/mobile.module.css +4 -4
  31. package/cssm/components/controls/Component.js +8 -3
  32. package/cssm/components/controls/Component.js.map +1 -1
  33. package/cssm/components/controls/mobile.layout.module.css +13 -0
  34. package/cssm/components/footer/mobile.module.css +4 -4
  35. package/cssm/components/header/mobile.module.css +4 -2
  36. package/desktop/desktop.css +2 -2
  37. package/desktop/desktop.module.css.js +1 -1
  38. package/desktop/transitions.desktop.css +6 -6
  39. package/desktop/transitions.desktop.module.css.js +1 -1
  40. package/esm/components/content/desktop.css +2 -2
  41. package/esm/components/content/desktop.module.css.js +1 -1
  42. package/esm/components/content/index.css +3 -3
  43. package/esm/components/content/index.module.css.js +1 -1
  44. package/esm/components/content/mobile.css +6 -6
  45. package/esm/components/content/mobile.module.css.js +1 -1
  46. package/esm/components/content/mobile.module.css.js.map +1 -1
  47. package/esm/components/controls/Component.js +7 -3
  48. package/esm/components/controls/Component.js.map +1 -1
  49. package/esm/components/controls/index.css +1 -1
  50. package/esm/components/controls/index.module.css.js +1 -1
  51. package/esm/components/controls/mobile.layout.css +13 -0
  52. package/esm/components/controls/mobile.layout.module.css.js +6 -0
  53. package/esm/components/controls/mobile.layout.module.css.js.map +1 -0
  54. package/esm/components/footer/desktop.css +2 -2
  55. package/esm/components/footer/desktop.module.css.js +1 -1
  56. package/esm/components/footer/index.css +3 -3
  57. package/esm/components/footer/index.module.css.js +1 -1
  58. package/esm/components/footer/layout.css +16 -16
  59. package/esm/components/footer/layout.module.css.js +1 -1
  60. package/esm/components/footer/mobile.css +7 -7
  61. package/esm/components/footer/mobile.module.css.js +1 -1
  62. package/esm/components/footer/mobile.module.css.js.map +1 -1
  63. package/esm/components/header/desktop.css +3 -3
  64. package/esm/components/header/desktop.module.css.js +1 -1
  65. package/esm/components/header/index.css +13 -13
  66. package/esm/components/header/index.module.css.js +1 -1
  67. package/esm/components/header/mobile.css +8 -6
  68. package/esm/components/header/mobile.module.css.js +1 -1
  69. package/esm/desktop/desktop.css +2 -2
  70. package/esm/desktop/desktop.module.css.js +1 -1
  71. package/esm/desktop/transitions.desktop.css +6 -6
  72. package/esm/desktop/transitions.desktop.module.css.js +1 -1
  73. package/esm/mobile/mobile.css +4 -4
  74. package/esm/mobile/mobile.module.css.js +1 -1
  75. package/esm/mobile/transitions.mobile.css +7 -7
  76. package/esm/mobile/transitions.mobile.module.css.js +1 -1
  77. package/mobile/mobile.css +4 -4
  78. package/mobile/mobile.module.css.js +1 -1
  79. package/mobile/transitions.mobile.css +7 -7
  80. package/mobile/transitions.mobile.module.css.js +1 -1
  81. package/modern/components/content/desktop.css +2 -2
  82. package/modern/components/content/desktop.module.css.js +1 -1
  83. package/modern/components/content/index.css +3 -3
  84. package/modern/components/content/index.module.css.js +1 -1
  85. package/modern/components/content/mobile.css +6 -6
  86. package/modern/components/content/mobile.module.css.js +1 -1
  87. package/modern/components/content/mobile.module.css.js.map +1 -1
  88. package/modern/components/controls/Component.js +4 -1
  89. package/modern/components/controls/Component.js.map +1 -1
  90. package/modern/components/controls/index.css +1 -1
  91. package/modern/components/controls/index.module.css.js +1 -1
  92. package/modern/components/controls/mobile.layout.css +13 -0
  93. package/modern/components/controls/mobile.layout.module.css.js +6 -0
  94. package/modern/components/controls/mobile.layout.module.css.js.map +1 -0
  95. package/modern/components/footer/desktop.css +2 -2
  96. package/modern/components/footer/desktop.module.css.js +1 -1
  97. package/modern/components/footer/index.css +3 -3
  98. package/modern/components/footer/index.module.css.js +1 -1
  99. package/modern/components/footer/layout.css +16 -16
  100. package/modern/components/footer/layout.module.css.js +1 -1
  101. package/modern/components/footer/mobile.css +7 -7
  102. package/modern/components/footer/mobile.module.css.js +1 -1
  103. package/modern/components/footer/mobile.module.css.js.map +1 -1
  104. package/modern/components/header/desktop.css +3 -3
  105. package/modern/components/header/desktop.module.css.js +1 -1
  106. package/modern/components/header/index.css +13 -13
  107. package/modern/components/header/index.module.css.js +1 -1
  108. package/modern/components/header/mobile.css +8 -6
  109. package/modern/components/header/mobile.module.css.js +1 -1
  110. package/modern/desktop/desktop.css +2 -2
  111. package/modern/desktop/desktop.module.css.js +1 -1
  112. package/modern/desktop/transitions.desktop.css +6 -6
  113. package/modern/desktop/transitions.desktop.module.css.js +1 -1
  114. package/modern/mobile/mobile.css +4 -4
  115. package/modern/mobile/mobile.module.css.js +1 -1
  116. package/modern/mobile/transitions.mobile.css +7 -7
  117. package/modern/mobile/transitions.mobile.module.css.js +1 -1
  118. package/moderncssm/components/content/mobile.module.css +2 -2
  119. package/moderncssm/components/controls/Component.js +4 -1
  120. package/moderncssm/components/controls/Component.js.map +1 -1
  121. package/moderncssm/components/controls/mobile.layout.module.css +13 -0
  122. package/moderncssm/components/footer/mobile.module.css +2 -2
  123. package/moderncssm/components/header/mobile.module.css +2 -2
  124. package/package.json +4 -4
  125. package/src/components/content/mobile.module.css +2 -2
  126. package/src/components/controls/Component.tsx +4 -0
  127. package/src/components/controls/mobile.layout.module.css +15 -0
  128. package/src/components/footer/mobile.module.css +2 -2
  129. package/src/vars.css +3 -2
@@ -7,38 +7,38 @@
7
7
  --side-panel-header-highlight-background: var(--color-light-modal-bg-primary);
8
8
  --side-panel-header-highlight-box-shadow: 0 1px 0 0 var(--color-light-neutral-300);
9
9
  }
10
- .side-panel__header_7avit {
10
+ .side-panel__header_54qsv {
11
11
  width: 100%;
12
12
  box-sizing: border-box;
13
13
  transition:
14
14
  box-shadow 0.2s ease,
15
15
  background 0.2s ease;
16
16
  }
17
- .side-panel__header_7avit:not(.side-panel__hasContent_7avit) {
17
+ .side-panel__header_54qsv:not(.side-panel__hasContent_54qsv) {
18
18
  pointer-events: none;
19
19
  }
20
- .side-panel__highlighted_7avit {
20
+ .side-panel__highlighted_54qsv {
21
21
  background: var(--side-panel-header-highlight-background);
22
22
  box-shadow: var(--side-panel-header-highlight-box-shadow);
23
23
  }
24
- .side-panel__sticky_7avit {
24
+ .side-panel__sticky_54qsv {
25
25
  position: sticky;
26
26
  z-index: 1;
27
27
  }
28
- .side-panel__sticky_7avit.side-panel__hasContent_7avit {
28
+ .side-panel__sticky_54qsv.side-panel__hasContent_54qsv {
29
29
  background: var(--side-panel-header-background);
30
30
  }
31
- .side-panel__header_7avit.side-panel__backgroundImage_7avit {
31
+ .side-panel__header_54qsv.side-panel__backgroundImage_54qsv {
32
32
  background: center no-repeat;
33
33
  background-size: cover;
34
34
  }
35
- .side-panel__content_7avit {
35
+ .side-panel__content_54qsv {
36
36
  flex-grow: 1;
37
37
  }
38
- .side-panel__title_7avit {
38
+ .side-panel__title_54qsv {
39
39
  word-break: break-word;
40
40
  }
41
- .side-panel__addon_7avit {
41
+ .side-panel__addon_54qsv {
42
42
  min-width: 48px;
43
43
  height: 48px;
44
44
  display: flex;
@@ -46,17 +46,17 @@
46
46
  align-items: center;
47
47
  pointer-events: all;
48
48
  }
49
- .side-panel__closer_7avit {
49
+ .side-panel__closer_54qsv {
50
50
  margin-left: auto;
51
51
  }
52
- .side-panel__right_7avit {
52
+ .side-panel__right_54qsv {
53
53
  justify-content: flex-end;
54
54
  text-align: right;
55
55
  }
56
- .side-panel__trim_7avit {
56
+ .side-panel__trim_54qsv {
57
57
  overflow: hidden;
58
58
  }
59
- .side-panel__trim_7avit .side-panel__title_7avit {
59
+ .side-panel__trim_54qsv .side-panel__title_54qsv {
60
60
  overflow: hidden;
61
61
  white-space: nowrap;
62
62
  text-overflow: ellipsis;
@@ -1,6 +1,6 @@
1
1
  import './index.css';
2
2
 
3
- const styles = {"header":"side-panel__header_7avit","hasContent":"side-panel__hasContent_7avit","highlighted":"side-panel__highlighted_7avit","sticky":"side-panel__sticky_7avit"};
3
+ const styles = {"header":"side-panel__header_54qsv","hasContent":"side-panel__hasContent_54qsv","highlighted":"side-panel__highlighted_54qsv","sticky":"side-panel__sticky_54qsv"};
4
4
 
5
5
  export { styles as default };
6
6
  //# sourceMappingURL=index.module.css.js.map
@@ -4,10 +4,12 @@
4
4
  :root {
5
5
  --gap-2xs: 4px;
6
6
  --gap-xs: 8px;
7
+ --gap-s: 12px;
7
8
  --gap-0: 0px;
8
9
  --gap-4: var(--gap-2xs);
9
10
  --gap-8: var(--gap-xs);
10
11
  --gap-10: 10px;
12
+ --gap-12: var(--gap-s);
11
13
  }
12
14
  :root {
13
15
  --font-family-system:
@@ -16,21 +18,21 @@
16
18
  :root {
17
19
  --side-panel-header-mobile-content-paddings: var(--gap-10) var(--gap-8);
18
20
  --side-panel-header-mobile-top-padding: var(--gap-4);
19
- --side-panel-header-mobile-paddings: var(--side-panel-header-mobile-top-padding) var(--gap-8)
20
- var(--gap-4) var(--gap-8);
21
+ --side-panel-header-mobile-paddings: var(--side-panel-header-mobile-top-padding) var(--gap-12)
22
+ var(--gap-4) var(--gap-12);
21
23
  }
22
- .side-panel__header_el1tg {
24
+ .side-panel__header_mq7sk {
23
25
  padding: var(--side-panel-header-mobile-paddings);
24
26
  }
25
27
  @media (display-mode: standalone) {
26
- .side-panel__header_el1tg {
28
+ .side-panel__header_mq7sk {
27
29
  padding-top: calc(var(--sat) + var(--side-panel-header-mobile-top-padding));
28
30
  }
29
31
  }
30
- .side-panel__sticky_el1tg {
32
+ .side-panel__sticky_mq7sk {
31
33
  top: var(--gap-0);
32
34
  }
33
- .side-panel__content_el1tg {
35
+ .side-panel__content_mq7sk {
34
36
  padding: var(--side-panel-header-mobile-content-paddings);
35
37
 
36
38
  font-size: 20px;
@@ -1,6 +1,6 @@
1
1
  import './mobile.css';
2
2
 
3
- const mobileStyles = {"header":"side-panel__header_el1tg","sticky":"side-panel__sticky_el1tg","content":"side-panel__content_el1tg"};
3
+ const mobileStyles = {"header":"side-panel__header_mq7sk","sticky":"side-panel__sticky_mq7sk","content":"side-panel__content_mq7sk"};
4
4
 
5
5
  export { mobileStyles as default };
6
6
  //# sourceMappingURL=mobile.module.css.js.map
@@ -1,9 +1,9 @@
1
1
  :root {
2
2
  --side-panel-s-width: 500px;
3
3
  }
4
- .side-panel__size-500_1l05f.side-panel__size-500_1l05f {
4
+ .side-panel__size-500_1yys0.side-panel__size-500_1yys0 {
5
5
  width: var(--side-panel-s-width);
6
6
  }
7
- .side-panel__hidden_1l05f {
7
+ .side-panel__hidden_1yys0 {
8
8
  overflow-x: hidden;
9
9
  }
@@ -1,6 +1,6 @@
1
1
  import './desktop.css';
2
2
 
3
- const styles = {"size-500":"side-panel__size-500_1l05f","hidden":"side-panel__hidden_1l05f"};
3
+ const styles = {"size-500":"side-panel__size-500_1yys0","hidden":"side-panel__hidden_1yys0"};
4
4
 
5
5
  export { styles as default };
6
6
  //# sourceMappingURL=desktop.module.css.js.map
@@ -1,14 +1,14 @@
1
- .side-panel__enterRight_imsjc {
1
+ .side-panel__enterRight_6ypzi {
2
2
  opacity: 0;
3
3
  transform: translateX(15px);
4
4
  }
5
5
 
6
- .side-panel__enterLeft_imsjc {
6
+ .side-panel__enterLeft_6ypzi {
7
7
  opacity: 0;
8
8
  transform: translateX(-15px);
9
9
  }
10
10
 
11
- .side-panel__enterActive_imsjc {
11
+ .side-panel__enterActive_6ypzi {
12
12
  opacity: 1;
13
13
  transform: translateX(0);
14
14
  transition:
@@ -16,12 +16,12 @@
16
16
  transform 200ms ease-in;
17
17
  }
18
18
 
19
- .side-panel__exit_imsjc {
19
+ .side-panel__exit_6ypzi {
20
20
  opacity: 1;
21
21
  transform: translateX(0);
22
22
  }
23
23
 
24
- .side-panel__exitActiveRight_imsjc {
24
+ .side-panel__exitActiveRight_6ypzi {
25
25
  opacity: 0;
26
26
  transition:
27
27
  opacity 200ms ease-out,
@@ -29,7 +29,7 @@
29
29
  transform: translateX(15px);
30
30
  }
31
31
 
32
- .side-panel__exitActiveLeft_imsjc {
32
+ .side-panel__exitActiveLeft_6ypzi {
33
33
  opacity: 0;
34
34
  transition:
35
35
  opacity 200ms ease-out,
@@ -1,6 +1,6 @@
1
1
  import './transitions.desktop.css';
2
2
 
3
- const transitions = {"enterActive":"side-panel__enterActive_imsjc","exit":"side-panel__exit_imsjc","exitActiveRight":"side-panel__exitActiveRight_imsjc","exitActiveLeft":"side-panel__exitActiveLeft_imsjc"};
3
+ const transitions = {"enterActive":"side-panel__enterActive_6ypzi","exit":"side-panel__exit_6ypzi","exitActiveRight":"side-panel__exitActiveRight_6ypzi","exitActiveLeft":"side-panel__exitActiveLeft_6ypzi"};
4
4
 
5
5
  export { transitions as default };
6
6
  //# sourceMappingURL=transitions.desktop.module.css.js.map
@@ -5,7 +5,7 @@
5
5
  :root {
6
6
  --gap-0: 0px;
7
7
  }
8
- .side-panel__component_1gfwk {
8
+ .side-panel__component_1o61u {
9
9
  top: var(--gap-0);
10
10
  height: 100%;
11
11
  width: 100%;
@@ -13,17 +13,17 @@
13
13
  overflow-y: auto;
14
14
  max-width: 600px;
15
15
  }
16
- .side-panel__component_1gfwk.side-panel__component_1gfwk {
16
+ .side-panel__component_1o61u.side-panel__component_1o61u {
17
17
  position: fixed;
18
18
  flex: 1;
19
19
  }
20
20
  @media (display-mode: standalone) {
21
- .side-panel__content_1gfwk {
21
+ .side-panel__content_1o61u {
22
22
  padding-top: var(--sat);
23
23
  padding-bottom: var(--sab);
24
24
  }
25
25
  }
26
- .side-panel__mobileContent_1gfwk {
26
+ .side-panel__mobileContent_1o61u {
27
27
  display: flex;
28
28
  flex-direction: column;
29
29
  width: 100%;
@@ -1,6 +1,6 @@
1
1
  import './mobile.css';
2
2
 
3
- const styles = {"component":"side-panel__component_1gfwk","content":"side-panel__content_1gfwk","mobileContent":"side-panel__mobileContent_1gfwk"};
3
+ const styles = {"component":"side-panel__component_1o61u","content":"side-panel__content_1o61u","mobileContent":"side-panel__mobileContent_1o61u"};
4
4
 
5
5
  export { styles as default };
6
6
  //# sourceMappingURL=mobile.module.css.js.map
@@ -1,11 +1,11 @@
1
- .side-panel__appear_10jv6,
2
- .side-panel__enter_10jv6 {
1
+ .side-panel__appear_ydqgt,
2
+ .side-panel__enter_ydqgt {
3
3
  opacity: 0;
4
4
  transform: translateY(15px);
5
5
  }
6
6
 
7
- .side-panel__appearActive_10jv6,
8
- .side-panel__enterActive_10jv6 {
7
+ .side-panel__appearActive_ydqgt,
8
+ .side-panel__enterActive_ydqgt {
9
9
  opacity: 1;
10
10
  transform: translateY(0);
11
11
  transition:
@@ -13,13 +13,13 @@
13
13
  transform 200ms ease-in;
14
14
  }
15
15
 
16
- .side-panel__exit_10jv6 {
16
+ .side-panel__exit_ydqgt {
17
17
  opacity: 1;
18
18
  transform: translateY(0);
19
19
  }
20
20
 
21
- .side-panel__exitActive_10jv6,
22
- .side-panel__exitDone_10jv6 {
21
+ .side-panel__exitActive_ydqgt,
22
+ .side-panel__exitDone_ydqgt {
23
23
  opacity: 0;
24
24
  transform: translateY(15px);
25
25
  transition:
@@ -1,6 +1,6 @@
1
1
  import './transitions.mobile.css';
2
2
 
3
- const transitions = {"appear":"side-panel__appear_10jv6","enter":"side-panel__enter_10jv6","appearActive":"side-panel__appearActive_10jv6","enterActive":"side-panel__enterActive_10jv6","exit":"side-panel__exit_10jv6","exitActive":"side-panel__exitActive_10jv6","exitDone":"side-panel__exitDone_10jv6"};
3
+ const transitions = {"appear":"side-panel__appear_ydqgt","enter":"side-panel__enter_ydqgt","appearActive":"side-panel__appearActive_ydqgt","enterActive":"side-panel__enterActive_ydqgt","exit":"side-panel__exit_ydqgt","exitActive":"side-panel__exitActive_ydqgt","exitDone":"side-panel__exitDone_ydqgt"};
4
4
 
5
5
  export { transitions as default };
6
6
  //# sourceMappingURL=transitions.mobile.module.css.js.map
@@ -1,9 +1,9 @@
1
1
 
2
2
 
3
3
  .content {
4
- padding: var(--gap-16) var(--gap-16) var(--gap-0);
4
+ padding: var(--gap-20) var(--gap-20) var(--gap-0);
5
5
  }
6
6
 
7
7
  .content:last-child {
8
- padding-bottom: var(--gap-16);
8
+ padding-bottom: var(--gap-20);
9
9
  }
@@ -4,13 +4,16 @@ import { getDataTestId } from '@alfalab/core-components-shared/moderncssm';
4
4
  import { ResponsiveContext } from '../../ResponsiveContext.js';
5
5
  import layoutStyles from '../footer/layout.module.css';
6
6
  import styles from './index.module.css';
7
+ import mobileLayoutStyles from './mobile.layout.module.css';
7
8
 
8
9
  const Controls = ({ primary, secondary, gap, layout: layoutProp = 'start', mobileLayout = layoutProp, }) => {
9
10
  const context = useContext(ResponsiveContext);
10
11
  const { view = 'desktop', dataTestId } = context || {};
11
12
  const layout = view === 'mobile' ? mobileLayout : layoutProp;
12
13
  const shouldReverse = view === 'mobile' && layout !== 'column';
13
- return (React.createElement("div", { "data-test-id": getDataTestId(dataTestId, 'controls'), className: cn(styles.component, layoutStyles[layout], gap && layoutStyles[`gap-${gap}`]) }, shouldReverse ? (React.createElement(React.Fragment, null,
14
+ return (React.createElement("div", { "data-test-id": getDataTestId(dataTestId, 'controls'), className: cn(styles.component, layoutStyles[layout], gap && layoutStyles[`gap-${gap}`], {
15
+ [mobileLayoutStyles[layout]]: view === 'mobile',
16
+ }) }, shouldReverse ? (React.createElement(React.Fragment, null,
14
17
  secondary,
15
18
  primary)) : (React.createElement(React.Fragment, null,
16
19
  primary,
@@ -1 +1 @@
1
- {"version":3,"file":"Component.js","sources":["../../../src/components/controls/Component.tsx"],"sourcesContent":["import React, { type ReactNode, useContext } from 'react';\nimport cn from 'classnames';\n\nimport { getDataTestId } from '@alfalab/core-components-shared';\n\nimport { ResponsiveContext } from '../../ResponsiveContext';\n\nimport layoutStyles from '../footer/layout.module.css';\nimport styles from './index.module.css';\n\nexport interface ControlsProps {\n /**\n * Основной слот\n */\n primary?: ReactNode;\n\n /**\n * Дополнительный слот\n */\n secondary?: ReactNode;\n\n /**\n * Выравнивание элементов футера\n * @default start\n */\n layout?: 'start' | 'center' | 'space-between' | 'column';\n\n /**\n * Выравнивание элементов футера (мобильный view)\n * @default start\n */\n mobileLayout?: 'start' | 'center' | 'space-between' | 'column';\n\n /**\n * Отступы между элементами футера\n */\n gap?: 16 | 24 | 32;\n}\n\nexport const Controls: React.FC<ControlsProps> = ({\n primary,\n secondary,\n gap,\n layout: layoutProp = 'start',\n mobileLayout = layoutProp,\n}) => {\n const context = useContext(ResponsiveContext);\n const { view = 'desktop', dataTestId } = context || {};\n\n const layout = view === 'mobile' ? mobileLayout : layoutProp;\n\n const shouldReverse = view === 'mobile' && layout !== 'column';\n\n return (\n <div\n data-test-id={getDataTestId(dataTestId, 'controls')}\n className={cn(\n styles.component,\n layoutStyles[layout],\n gap && layoutStyles[`gap-${gap}`],\n )}\n >\n {shouldReverse ? (\n <React.Fragment>\n {secondary}\n {primary}\n </React.Fragment>\n ) : (\n <React.Fragment>\n {primary}\n {secondary}\n </React.Fragment>\n )}\n </div>\n );\n};\n"],"names":[],"mappings":";;;;;;;MAuCa,QAAQ,GAA4B,CAAC,EAC9C,OAAO,EACP,SAAS,EACT,GAAG,EACH,MAAM,EAAE,UAAU,GAAG,OAAO,EAC5B,YAAY,GAAG,UAAU,GAC5B,KAAI;AACD,IAAA,MAAM,OAAO,GAAG,UAAU,CAAC,iBAAiB,CAAC;IAC7C,MAAM,EAAE,IAAI,GAAG,SAAS,EAAE,UAAU,EAAE,GAAG,OAAO,IAAI,EAAE;AAEtD,IAAA,MAAM,MAAM,GAAG,IAAI,KAAK,QAAQ,GAAG,YAAY,GAAG,UAAU;IAE5D,MAAM,aAAa,GAAG,IAAI,KAAK,QAAQ,IAAI,MAAM,KAAK,QAAQ;AAE9D,IAAA,QACI,KACkB,CAAA,aAAA,CAAA,KAAA,EAAA,EAAA,cAAA,EAAA,aAAa,CAAC,UAAU,EAAE,UAAU,CAAC,EACnD,SAAS,EAAE,EAAE,CACT,MAAM,CAAC,SAAS,EAChB,YAAY,CAAC,MAAM,CAAC,EACpB,GAAG,IAAI,YAAY,CAAC,CAAO,IAAA,EAAA,GAAG,EAAE,CAAC,CACpC,EAEA,EAAA,aAAa,IACV,KAAC,CAAA,aAAA,CAAA,KAAK,CAAC,QAAQ,EAAA,IAAA;QACV,SAAS;QACT,OAAO,CACK,KAEjB,KAAA,CAAA,aAAA,CAAC,KAAK,CAAC,QAAQ,EAAA,IAAA;QACV,OAAO;AACP,QAAA,SAAS,CACG,CACpB,CACC;AAEd;;;;"}
1
+ {"version":3,"file":"Component.js","sources":["../../../src/components/controls/Component.tsx"],"sourcesContent":["import React, { type ReactNode, useContext } from 'react';\nimport cn from 'classnames';\n\nimport { getDataTestId } from '@alfalab/core-components-shared';\n\nimport { ResponsiveContext } from '../../ResponsiveContext';\n\nimport layoutStyles from '../footer/layout.module.css';\nimport styles from './index.module.css';\nimport mobileLayoutStyles from './mobile.layout.module.css';\n\nexport interface ControlsProps {\n /**\n * Основной слот\n */\n primary?: ReactNode;\n\n /**\n * Дополнительный слот\n */\n secondary?: ReactNode;\n\n /**\n * Выравнивание элементов футера\n * @default start\n */\n layout?: 'start' | 'center' | 'space-between' | 'column';\n\n /**\n * Выравнивание элементов футера (мобильный view)\n * @default start\n */\n mobileLayout?: 'start' | 'center' | 'space-between' | 'column';\n\n /**\n * Отступы между элементами футера\n */\n gap?: 16 | 24 | 32;\n}\n\nexport const Controls: React.FC<ControlsProps> = ({\n primary,\n secondary,\n gap,\n layout: layoutProp = 'start',\n mobileLayout = layoutProp,\n}) => {\n const context = useContext(ResponsiveContext);\n const { view = 'desktop', dataTestId } = context || {};\n\n const layout = view === 'mobile' ? mobileLayout : layoutProp;\n\n const shouldReverse = view === 'mobile' && layout !== 'column';\n\n return (\n <div\n data-test-id={getDataTestId(dataTestId, 'controls')}\n className={cn(\n styles.component,\n layoutStyles[layout],\n gap && layoutStyles[`gap-${gap}`],\n {\n [mobileLayoutStyles[layout]]: view === 'mobile',\n },\n )}\n >\n {shouldReverse ? (\n <React.Fragment>\n {secondary}\n {primary}\n </React.Fragment>\n ) : (\n <React.Fragment>\n {primary}\n {secondary}\n </React.Fragment>\n )}\n </div>\n );\n};\n"],"names":[],"mappings":";;;;;;;;MAwCa,QAAQ,GAA4B,CAAC,EAC9C,OAAO,EACP,SAAS,EACT,GAAG,EACH,MAAM,EAAE,UAAU,GAAG,OAAO,EAC5B,YAAY,GAAG,UAAU,GAC5B,KAAI;AACD,IAAA,MAAM,OAAO,GAAG,UAAU,CAAC,iBAAiB,CAAC;IAC7C,MAAM,EAAE,IAAI,GAAG,SAAS,EAAE,UAAU,EAAE,GAAG,OAAO,IAAI,EAAE;AAEtD,IAAA,MAAM,MAAM,GAAG,IAAI,KAAK,QAAQ,GAAG,YAAY,GAAG,UAAU;IAE5D,MAAM,aAAa,GAAG,IAAI,KAAK,QAAQ,IAAI,MAAM,KAAK,QAAQ;AAE9D,IAAA,QACI,KAAA,CAAA,aAAA,CAAA,KAAA,EAAA,EAAA,cAAA,EACkB,aAAa,CAAC,UAAU,EAAE,UAAU,CAAC,EACnD,SAAS,EAAE,EAAE,CACT,MAAM,CAAC,SAAS,EAChB,YAAY,CAAC,MAAM,CAAC,EACpB,GAAG,IAAI,YAAY,CAAC,CAAA,IAAA,EAAO,GAAG,CAAA,CAAE,CAAC,EACjC;YACI,CAAC,kBAAkB,CAAC,MAAM,CAAC,GAAG,IAAI,KAAK,QAAQ;SAClD,CACJ,EAAA,EAEA,aAAa,IACV,KAAA,CAAA,aAAA,CAAC,KAAK,CAAC,QAAQ,EAAA,IAAA;QACV,SAAS;QACT,OAAO,CACK,KAEjB,KAAA,CAAA,aAAA,CAAC,KAAK,CAAC,QAAQ,EAAA,IAAA;QACV,OAAO;AACP,QAAA,SAAS,CACG,CACpB,CACC;AAEd;;;;"}
@@ -0,0 +1,13 @@
1
+
2
+
3
+ :root {
4
+ --side-panel-footer-mobile-default-gap: var(--gap-8);
5
+ }
6
+
7
+ .column > *:not(:last-child):not(:only-child) {
8
+ margin-bottom: var(--side-panel-footer-mobile-default-gap);
9
+ }
10
+
11
+ .start > *:not(:last-child):not(:only-child), .center > *:not(:last-child):not(:only-child), .space-between > *:not(:last-child):not(:only-child) {
12
+ margin-right: var(--side-panel-footer-mobile-default-gap);
13
+ }
@@ -2,11 +2,11 @@
2
2
  --sab: env(safe-area-inset-bottom, var(--gap-0));
3
3
  }
4
4
  .footer {
5
- padding: var(--gap-16);
5
+ padding: var(--gap-20);
6
6
  }
7
7
  @media (display-mode: standalone) {
8
8
  .footer {
9
- padding-bottom: calc(var(--sab) + var(--gap-16));
9
+ padding-bottom: calc(var(--sab) + var(--gap-20));
10
10
  }
11
11
  }
12
12
  .sticky {
@@ -4,8 +4,8 @@
4
4
  :root {
5
5
  --side-panel-header-mobile-content-paddings: var(--gap-10) var(--gap-8);
6
6
  --side-panel-header-mobile-top-padding: var(--gap-4);
7
- --side-panel-header-mobile-paddings: var(--side-panel-header-mobile-top-padding) var(--gap-8)
8
- var(--gap-4) var(--gap-8);
7
+ --side-panel-header-mobile-paddings: var(--side-panel-header-mobile-top-padding) var(--gap-12)
8
+ var(--gap-4) var(--gap-12);
9
9
  }
10
10
  .header {
11
11
  padding: var(--side-panel-header-mobile-paddings);
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@alfalab/core-components-side-panel",
3
- "version": "7.0.7",
3
+ "version": "7.0.8",
4
4
  "description": "SidePanel component",
5
5
  "keywords": [],
6
6
  "license": "MIT",
@@ -10,8 +10,8 @@
10
10
  "main": "index.js",
11
11
  "module": "./esm/index.js",
12
12
  "dependencies": {
13
- "@alfalab/core-components-base-modal": "^7.1.3",
14
- "@alfalab/core-components-drawer": "^7.0.5",
13
+ "@alfalab/core-components-base-modal": "^7.1.4",
14
+ "@alfalab/core-components-drawer": "^7.0.6",
15
15
  "@alfalab/core-components-mq": "^6.0.3",
16
16
  "@alfalab/core-components-navigation-bar-private": "^2.0.6",
17
17
  "@alfalab/core-components-shared": "^2.1.1",
@@ -27,6 +27,6 @@
27
27
  "access": "public",
28
28
  "directory": "dist"
29
29
  },
30
- "themesVersion": "15.0.3",
30
+ "themesVersion": "15.0.4",
31
31
  "varsVersion": "11.0.2"
32
32
  }
@@ -1,9 +1,9 @@
1
1
  @import '../../vars.css';
2
2
 
3
3
  .content {
4
- padding: var(--gap-16) var(--gap-16) var(--gap-0);
4
+ padding: var(--gap-20) var(--gap-20) var(--gap-0);
5
5
 
6
6
  &:last-child {
7
- padding-bottom: var(--gap-16);
7
+ padding-bottom: var(--gap-20);
8
8
  }
9
9
  }
@@ -7,6 +7,7 @@ import { ResponsiveContext } from '../../ResponsiveContext';
7
7
 
8
8
  import layoutStyles from '../footer/layout.module.css';
9
9
  import styles from './index.module.css';
10
+ import mobileLayoutStyles from './mobile.layout.module.css';
10
11
 
11
12
  export interface ControlsProps {
12
13
  /**
@@ -58,6 +59,9 @@ export const Controls: React.FC<ControlsProps> = ({
58
59
  styles.component,
59
60
  layoutStyles[layout],
60
61
  gap && layoutStyles[`gap-${gap}`],
62
+ {
63
+ [mobileLayoutStyles[layout]]: view === 'mobile',
64
+ },
61
65
  )}
62
66
  >
63
67
  {shouldReverse ? (
@@ -0,0 +1,15 @@
1
+ @import '../../vars.css';
2
+
3
+ .column {
4
+ & > *:not(:last-child):not(:only-child) {
5
+ margin-bottom: var(--side-panel-footer-mobile-default-gap);
6
+ }
7
+ }
8
+
9
+ .start,
10
+ .center,
11
+ .space-between {
12
+ & > *:not(:last-child):not(:only-child) {
13
+ margin-right: var(--side-panel-footer-mobile-default-gap);
14
+ }
15
+ }
@@ -2,10 +2,10 @@
2
2
  @import '../../vars.css';
3
3
 
4
4
  .footer {
5
- padding: var(--gap-16);
5
+ padding: var(--gap-20);
6
6
 
7
7
  @media (display-mode: standalone) {
8
- padding-bottom: calc(var(--sab) + var(--gap-16));
8
+ padding-bottom: calc(var(--sab) + var(--gap-20));
9
9
  }
10
10
  }
11
11
 
package/src/vars.css CHANGED
@@ -6,6 +6,7 @@
6
6
  --side-panel-header-background: var(--color-light-modal-bg-primary);
7
7
  --side-panel-footer-background: var(--color-light-modal-bg-primary);
8
8
  --side-panel-footer-default-gap: var(--gap-16);
9
+ --side-panel-footer-mobile-default-gap: var(--gap-8);
9
10
 
10
11
  /* sizes */
11
12
  --side-panel-s-width: 500px;
@@ -29,6 +30,6 @@
29
30
 
30
31
  /* paddings */
31
32
  --side-panel-header-mobile-top-padding: var(--gap-4);
32
- --side-panel-header-mobile-paddings: var(--side-panel-header-mobile-top-padding) var(--gap-8)
33
- var(--gap-4) var(--gap-8);
33
+ --side-panel-header-mobile-paddings: var(--side-panel-header-mobile-top-padding) var(--gap-12)
34
+ var(--gap-4) var(--gap-12);
34
35
  }