@alfalab/core-components-side-panel 7.0.7 → 7.0.8-alfasans
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.
- package/components/content/desktop.css +2 -2
- package/components/content/desktop.module.css.js +1 -1
- package/components/content/index.css +3 -3
- package/components/content/index.module.css.js +1 -1
- package/components/content/mobile.css +6 -6
- package/components/content/mobile.module.css.js +1 -1
- package/components/content/mobile.module.css.js.map +1 -1
- package/components/controls/Component.js +7 -3
- package/components/controls/Component.js.map +1 -1
- package/components/controls/index.css +1 -1
- package/components/controls/index.module.css.js +1 -1
- package/components/controls/mobile.layout.css +13 -0
- package/components/controls/mobile.layout.module.css.js +8 -0
- package/components/controls/mobile.layout.module.css.js.map +1 -0
- package/components/footer/desktop.css +2 -2
- package/components/footer/desktop.module.css.js +1 -1
- package/components/footer/index.css +3 -3
- package/components/footer/index.module.css.js +1 -1
- package/components/footer/layout.css +16 -16
- package/components/footer/layout.module.css.js +1 -1
- package/components/footer/mobile.css +7 -7
- package/components/footer/mobile.module.css.js +1 -1
- package/components/footer/mobile.module.css.js.map +1 -1
- package/components/header/desktop.css +8 -6
- package/components/header/desktop.module.css.js +1 -1
- package/components/header/index.css +13 -13
- package/components/header/index.module.css.js +1 -1
- package/components/header/mobile.css +15 -10
- package/components/header/mobile.module.css.js +1 -1
- package/cssm/components/content/mobile.module.css +4 -4
- package/cssm/components/controls/Component.js +8 -3
- package/cssm/components/controls/Component.js.map +1 -1
- package/cssm/components/controls/mobile.layout.module.css +13 -0
- package/cssm/components/footer/mobile.module.css +4 -4
- package/cssm/components/header/desktop.module.css +5 -3
- package/cssm/components/header/mobile.module.css +11 -6
- package/desktop/desktop.css +2 -2
- package/desktop/desktop.module.css.js +1 -1
- package/desktop/transitions.desktop.css +6 -6
- package/desktop/transitions.desktop.module.css.js +1 -1
- package/esm/components/content/desktop.css +2 -2
- package/esm/components/content/desktop.module.css.js +1 -1
- package/esm/components/content/index.css +3 -3
- package/esm/components/content/index.module.css.js +1 -1
- package/esm/components/content/mobile.css +6 -6
- package/esm/components/content/mobile.module.css.js +1 -1
- package/esm/components/content/mobile.module.css.js.map +1 -1
- package/esm/components/controls/Component.js +7 -3
- package/esm/components/controls/Component.js.map +1 -1
- package/esm/components/controls/index.css +1 -1
- package/esm/components/controls/index.module.css.js +1 -1
- package/esm/components/controls/mobile.layout.css +13 -0
- package/esm/components/controls/mobile.layout.module.css.js +6 -0
- package/esm/components/controls/mobile.layout.module.css.js.map +1 -0
- package/esm/components/footer/desktop.css +2 -2
- package/esm/components/footer/desktop.module.css.js +1 -1
- package/esm/components/footer/index.css +3 -3
- package/esm/components/footer/index.module.css.js +1 -1
- package/esm/components/footer/layout.css +16 -16
- package/esm/components/footer/layout.module.css.js +1 -1
- package/esm/components/footer/mobile.css +7 -7
- package/esm/components/footer/mobile.module.css.js +1 -1
- package/esm/components/footer/mobile.module.css.js.map +1 -1
- package/esm/components/header/desktop.css +8 -6
- package/esm/components/header/desktop.module.css.js +1 -1
- package/esm/components/header/index.css +13 -13
- package/esm/components/header/index.module.css.js +1 -1
- package/esm/components/header/mobile.css +15 -10
- package/esm/components/header/mobile.module.css.js +1 -1
- package/esm/desktop/desktop.css +2 -2
- package/esm/desktop/desktop.module.css.js +1 -1
- package/esm/desktop/transitions.desktop.css +6 -6
- package/esm/desktop/transitions.desktop.module.css.js +1 -1
- package/esm/mobile/mobile.css +4 -4
- package/esm/mobile/mobile.module.css.js +1 -1
- package/esm/mobile/transitions.mobile.css +7 -7
- package/esm/mobile/transitions.mobile.module.css.js +1 -1
- package/mobile/mobile.css +4 -4
- package/mobile/mobile.module.css.js +1 -1
- package/mobile/transitions.mobile.css +7 -7
- package/mobile/transitions.mobile.module.css.js +1 -1
- package/modern/components/content/desktop.css +2 -2
- package/modern/components/content/desktop.module.css.js +1 -1
- package/modern/components/content/index.css +3 -3
- package/modern/components/content/index.module.css.js +1 -1
- package/modern/components/content/mobile.css +6 -6
- package/modern/components/content/mobile.module.css.js +1 -1
- package/modern/components/content/mobile.module.css.js.map +1 -1
- package/modern/components/controls/Component.js +4 -1
- package/modern/components/controls/Component.js.map +1 -1
- package/modern/components/controls/index.css +1 -1
- package/modern/components/controls/index.module.css.js +1 -1
- package/modern/components/controls/mobile.layout.css +13 -0
- package/modern/components/controls/mobile.layout.module.css.js +6 -0
- package/modern/components/controls/mobile.layout.module.css.js.map +1 -0
- package/modern/components/footer/desktop.css +2 -2
- package/modern/components/footer/desktop.module.css.js +1 -1
- package/modern/components/footer/index.css +3 -3
- package/modern/components/footer/index.module.css.js +1 -1
- package/modern/components/footer/layout.css +16 -16
- package/modern/components/footer/layout.module.css.js +1 -1
- package/modern/components/footer/mobile.css +7 -7
- package/modern/components/footer/mobile.module.css.js +1 -1
- package/modern/components/footer/mobile.module.css.js.map +1 -1
- package/modern/components/header/desktop.css +8 -6
- package/modern/components/header/desktop.module.css.js +1 -1
- package/modern/components/header/index.css +13 -13
- package/modern/components/header/index.module.css.js +1 -1
- package/modern/components/header/mobile.css +15 -10
- package/modern/components/header/mobile.module.css.js +1 -1
- package/modern/desktop/desktop.css +2 -2
- package/modern/desktop/desktop.module.css.js +1 -1
- package/modern/desktop/transitions.desktop.css +6 -6
- package/modern/desktop/transitions.desktop.module.css.js +1 -1
- package/modern/mobile/mobile.css +4 -4
- package/modern/mobile/mobile.module.css.js +1 -1
- package/modern/mobile/transitions.mobile.css +7 -7
- package/modern/mobile/transitions.mobile.module.css.js +1 -1
- package/moderncssm/components/content/mobile.module.css +2 -2
- package/moderncssm/components/controls/Component.js +4 -1
- package/moderncssm/components/controls/Component.js.map +1 -1
- package/moderncssm/components/controls/mobile.layout.module.css +13 -0
- package/moderncssm/components/footer/mobile.module.css +2 -2
- package/moderncssm/components/header/desktop.module.css +2 -1
- package/moderncssm/components/header/mobile.module.css +6 -4
- package/package.json +8 -8
- package/src/components/content/mobile.module.css +2 -2
- package/src/components/controls/Component.tsx +4 -0
- package/src/components/controls/mobile.layout.module.css +15 -0
- package/src/components/footer/mobile.module.css +2 -2
- package/src/vars.css +3 -2
|
@@ -8,9 +8,9 @@
|
|
|
8
8
|
:root {
|
|
9
9
|
--side-panel-s-content-paddings: var(--gap-40) var(--gap-40) var(--gap-0);
|
|
10
10
|
}
|
|
11
|
-
.side-panel__size-
|
|
11
|
+
.side-panel__size-500_11n0v {
|
|
12
12
|
padding: var(--side-panel-s-content-paddings);
|
|
13
13
|
}
|
|
14
|
-
.side-panel__size-
|
|
14
|
+
.side-panel__size-500_11n0v:last-child {
|
|
15
15
|
padding-bottom: var(--gap-32);
|
|
16
16
|
}
|
|
@@ -1,15 +1,15 @@
|
|
|
1
1
|
:root {
|
|
2
2
|
--gap-0: 0px;
|
|
3
3
|
}
|
|
4
|
-
.side-
|
|
4
|
+
.side-panel__content_9gsk8 {
|
|
5
5
|
position: relative;
|
|
6
6
|
box-sizing: border-box;
|
|
7
7
|
width: 100%;
|
|
8
8
|
z-index: 0;
|
|
9
9
|
}
|
|
10
|
-
.side-
|
|
10
|
+
.side-panel__content_9gsk8.side-panel__withHeader_9gsk8 {
|
|
11
11
|
padding-top: var(--gap-0);
|
|
12
12
|
}
|
|
13
|
-
.side-
|
|
13
|
+
.side-panel__flex_9gsk8 {
|
|
14
14
|
flex: 1 1 auto;
|
|
15
15
|
}
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
require('./index.css');
|
|
4
4
|
|
|
5
|
-
var styles = {"content":"side-
|
|
5
|
+
var styles = {"content":"side-panel__content_9gsk8","withHeader":"side-panel__withHeader_9gsk8","flex":"side-panel__flex_9gsk8"};
|
|
6
6
|
|
|
7
7
|
module.exports = styles;
|
|
8
8
|
//# sourceMappingURL=index.module.css.js.map
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
:root {
|
|
2
|
-
--gap-
|
|
2
|
+
--gap-l: 20px;
|
|
3
3
|
--gap-0: 0px;
|
|
4
|
-
--gap-
|
|
4
|
+
--gap-20: var(--gap-l);
|
|
5
5
|
}
|
|
6
|
-
.side-
|
|
7
|
-
padding: var(--gap-
|
|
6
|
+
.side-panel__content_cxjj3 {
|
|
7
|
+
padding: var(--gap-20) var(--gap-20) var(--gap-0);
|
|
8
8
|
}
|
|
9
|
-
.side-
|
|
10
|
-
padding-bottom: var(--gap-
|
|
9
|
+
.side-panel__content_cxjj3:last-child {
|
|
10
|
+
padding-bottom: var(--gap-20);
|
|
11
11
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mobile.module.css.js","sources":["../../src/components/content/mobile.module.css"],"sourcesContent":["@import '../../vars.css';\n\n.content {\n padding: var(--gap-
|
|
1
|
+
{"version":3,"file":"mobile.module.css.js","sources":["../../src/components/content/mobile.module.css"],"sourcesContent":["@import '../../vars.css';\n\n.content {\n padding: var(--gap-20) var(--gap-20) var(--gap-0);\n\n &:last-child {\n padding-bottom: var(--gap-20);\n }\n}\n"],"names":[],"mappings":";;;;AAEgB,aAAe,CAAC,SAAS,CAAC,2BAA2B,CAAC;;;;"}
|
|
@@ -8,6 +8,7 @@ var coreComponentsShared = require('@alfalab/core-components-shared');
|
|
|
8
8
|
var ResponsiveContext = require('../../ResponsiveContext.js');
|
|
9
9
|
var layout_module = require('../footer/layout.module.css.js');
|
|
10
10
|
var index_module = require('./index.module.css.js');
|
|
11
|
+
var mobile_layout_module = require('./mobile.layout.module.css.js');
|
|
11
12
|
|
|
12
13
|
function _interopDefaultCompat (e) { return e && typeof e === 'object' && 'default' in e ? e : { default: e }; }
|
|
13
14
|
|
|
@@ -15,12 +16,15 @@ var React__default = /*#__PURE__*/_interopDefaultCompat(React);
|
|
|
15
16
|
var cn__default = /*#__PURE__*/_interopDefaultCompat(cn);
|
|
16
17
|
|
|
17
18
|
var Controls = function (_a) {
|
|
18
|
-
var
|
|
19
|
+
var _b;
|
|
20
|
+
var primary = _a.primary, secondary = _a.secondary, gap = _a.gap, _c = _a.layout, layoutProp = _c === void 0 ? 'start' : _c, _d = _a.mobileLayout, mobileLayout = _d === void 0 ? layoutProp : _d;
|
|
19
21
|
var context = React.useContext(ResponsiveContext.ResponsiveContext);
|
|
20
|
-
var
|
|
22
|
+
var _e = context || {}, _f = _e.view, view = _f === void 0 ? 'desktop' : _f, dataTestId = _e.dataTestId;
|
|
21
23
|
var layout = view === 'mobile' ? mobileLayout : layoutProp;
|
|
22
24
|
var shouldReverse = view === 'mobile' && layout !== 'column';
|
|
23
|
-
return (React__default.default.createElement("div", { "data-test-id": coreComponentsShared.getDataTestId(dataTestId, 'controls'), className: cn__default.default(index_module.component, layout_module[layout], gap && layout_module["gap-".concat(gap)]
|
|
25
|
+
return (React__default.default.createElement("div", { "data-test-id": coreComponentsShared.getDataTestId(dataTestId, 'controls'), className: cn__default.default(index_module.component, layout_module[layout], gap && layout_module["gap-".concat(gap)], (_b = {},
|
|
26
|
+
_b[mobile_layout_module[layout]] = view === 'mobile',
|
|
27
|
+
_b)) }, shouldReverse ? (React__default.default.createElement(React__default.default.Fragment, null,
|
|
24
28
|
secondary,
|
|
25
29
|
primary)) : (React__default.default.createElement(React__default.default.Fragment, null,
|
|
26
30
|
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":["useContext","ResponsiveContext","React","getDataTestId","cn","styles","layoutStyles"],"mappings":"
|
|
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":["useContext","ResponsiveContext","React","getDataTestId","cn","styles","layoutStyles","mobileLayoutStyles"],"mappings":";;;;;;;;;;;;;;;;;AAwCO,IAAM,QAAQ,GAA4B,UAAC,EAMjD,EAAA;;QALG,OAAO,GAAA,EAAA,CAAA,OAAA,EACP,SAAS,GAAA,EAAA,CAAA,SAAA,EACT,GAAG,GAAA,EAAA,CAAA,GAAA,EACH,EAA4B,GAAA,EAAA,CAAA,MAAA,EAApB,UAAU,GAAG,EAAA,KAAA,MAAA,GAAA,OAAO,KAAA,EAC5B,EAAA,GAAA,EAAA,CAAA,YAAyB,EAAzB,YAAY,GAAA,EAAA,KAAA,MAAA,GAAG,UAAU,GAAA,EAAA;AAEzB,IAAA,IAAM,OAAO,GAAGA,gBAAU,CAACC,mCAAiB,CAAC;AACvC,IAAA,IAAA,EAAmC,GAAA,OAAO,IAAI,EAAE,EAA9C,EAAgB,GAAA,EAAA,CAAA,IAAA,EAAhB,IAAI,GAAA,EAAA,KAAA,MAAA,GAAG,SAAS,GAAA,EAAA,EAAE,UAAU,gBAAkB;AAEtD,IAAA,IAAM,MAAM,GAAG,IAAI,KAAK,QAAQ,GAAG,YAAY,GAAG,UAAU;IAE5D,IAAM,aAAa,GAAG,IAAI,KAAK,QAAQ,IAAI,MAAM,KAAK,QAAQ;AAE9D,IAAA,QACIC,sBAAA,CAAA,aAAA,CAAA,KAAA,EAAA,EAAA,cAAA,EACkBC,kCAAa,CAAC,UAAU,EAAE,UAAU,CAAC,EACnD,SAAS,EAAEC,mBAAE,CACTC,YAAM,CAAC,SAAS,EAChBC,aAAY,CAAC,MAAM,CAAC,EACpB,GAAG,IAAIA,aAAY,CAAC,MAAO,CAAA,MAAA,CAAA,GAAG,CAAE,CAAC,GAAA,EAAA,GAAA,EAAA;AAE7B,YAAA,EAAA,CAACC,oBAAkB,CAAC,MAAM,CAAC,CAAG,GAAA,IAAI,KAAK,QAAQ;gBAEtD,EAEA,EAAA,aAAa,IACVL,sBAAC,CAAA,aAAA,CAAAA,sBAAK,CAAC,QAAQ,EAAA,IAAA;QACV,SAAS;QACT,OAAO,CACK,KAEjBA,sBAAA,CAAA,aAAA,CAACA,sBAAK,CAAC,QAAQ,EAAA,IAAA;QACV,OAAO;AACP,QAAA,SAAS,CACG,CACpB,CACC;AAEd;;;;"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
:root {
|
|
2
|
+
--gap-xs: 8px;
|
|
3
|
+
--gap-8: var(--gap-xs);
|
|
4
|
+
}
|
|
5
|
+
:root {
|
|
6
|
+
--side-panel-footer-mobile-default-gap: var(--gap-8);
|
|
7
|
+
}
|
|
8
|
+
.side-panel__column_1grq1 > *:not(:last-child):not(:only-child) {
|
|
9
|
+
margin-bottom: var(--side-panel-footer-mobile-default-gap);
|
|
10
|
+
}
|
|
11
|
+
.side-panel__start_1grq1 > *:not(:last-child):not(:only-child), .side-panel__center_1grq1 > *:not(:last-child):not(:only-child), .side-panel__space-between_1grq1 > *:not(:last-child):not(:only-child) {
|
|
12
|
+
margin-right: var(--side-panel-footer-mobile-default-gap);
|
|
13
|
+
}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
require('./mobile.layout.css');
|
|
4
|
+
|
|
5
|
+
var mobileLayoutStyles = {"column":"side-panel__column_1grq1","start":"side-panel__start_1grq1","center":"side-panel__center_1grq1","space-between":"side-panel__space-between_1grq1"};
|
|
6
|
+
|
|
7
|
+
module.exports = mobileLayoutStyles;
|
|
8
|
+
//# sourceMappingURL=mobile.layout.module.css.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"mobile.layout.module.css.js","sources":["../../src/components/controls/mobile.layout.module.css"],"sourcesContent":["@import '../../vars.css';\n\n.column {\n & > *:not(:last-child):not(:only-child) {\n margin-bottom: var(--side-panel-footer-mobile-default-gap);\n }\n}\n\n.start,\n.center,\n.space-between {\n & > *:not(:last-child):not(:only-child) {\n margin-right: var(--side-panel-footer-mobile-default-gap);\n }\n}\n"],"names":[],"mappings":";;;;AAEgB,yBAAe,CAAC,QAAQ,CAAC,0BAA0B,CAAC,OAAO,CAAC,yBAAyB,CAAC,QAAQ,CAAC,0BAA0B,CAAC,eAAe,CAAC,iCAAiC,CAAC;;;;"}
|
|
@@ -8,9 +8,9 @@
|
|
|
8
8
|
:root {
|
|
9
9
|
--side-panel-s-footer-paddings: var(--gap-24) var(--gap-40) var(--gap-40);
|
|
10
10
|
}
|
|
11
|
-
.side-
|
|
11
|
+
.side-panel__sticky_1jl7o {
|
|
12
12
|
bottom: var(--gap-0);
|
|
13
13
|
}
|
|
14
|
-
.side-panel__size-
|
|
14
|
+
.side-panel__size-500_1jl7o {
|
|
15
15
|
padding: var(--side-panel-s-footer-paddings);
|
|
16
16
|
}
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
require('./desktop.css');
|
|
4
4
|
|
|
5
|
-
var styles = {"sticky":"side-
|
|
5
|
+
var styles = {"sticky":"side-panel__sticky_1jl7o","size-500":"side-panel__size-500_1jl7o"};
|
|
6
6
|
|
|
7
7
|
module.exports = styles;
|
|
8
8
|
//# sourceMappingURL=desktop.module.css.js.map
|
|
@@ -7,19 +7,19 @@
|
|
|
7
7
|
--side-panel-footer-highlight-background: var(--color-light-modal-bg-primary);
|
|
8
8
|
--side-panel-footer-highlight-box-shadow: 0 -1px 0 0 var(--color-light-neutral-300);
|
|
9
9
|
}
|
|
10
|
-
.side-
|
|
10
|
+
.side-panel__footer_tbogb {
|
|
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-
|
|
17
|
+
.side-panel__sticky_tbogb {
|
|
18
18
|
background: var(--side-panel-footer-background);
|
|
19
19
|
position: sticky;
|
|
20
20
|
z-index: 1;
|
|
21
21
|
}
|
|
22
|
-
.side-
|
|
22
|
+
.side-panel__highlighted_tbogb {
|
|
23
23
|
background: var(--side-panel-footer-highlight-background);
|
|
24
24
|
box-shadow: var(--side-panel-footer-highlight-box-shadow);
|
|
25
25
|
}
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
require('./index.css');
|
|
4
4
|
|
|
5
|
-
var styles = {"footer":"side-
|
|
5
|
+
var styles = {"footer":"side-panel__footer_tbogb","sticky":"side-panel__sticky_tbogb","highlighted":"side-panel__highlighted_tbogb"};
|
|
6
6
|
|
|
7
7
|
module.exports = styles;
|
|
8
8
|
//# sourceMappingURL=index.module.css.js.map
|
|
@@ -9,48 +9,48 @@
|
|
|
9
9
|
:root {
|
|
10
10
|
--side-panel-footer-default-gap: var(--gap-16);
|
|
11
11
|
}
|
|
12
|
-
.side-
|
|
12
|
+
.side-panel__column_1rlh8 {
|
|
13
13
|
display: flex;
|
|
14
14
|
flex-direction: column;
|
|
15
15
|
}
|
|
16
|
-
.side-
|
|
16
|
+
.side-panel__column_1rlh8 > *:not(:last-child):not(:only-child) {
|
|
17
17
|
margin-bottom: var(--side-panel-footer-default-gap);
|
|
18
18
|
}
|
|
19
|
-
.side-
|
|
19
|
+
.side-panel__column_1rlh8.side-panel__gap-16_1rlh8 > *:not(:last-child):not(:only-child) {
|
|
20
20
|
margin-bottom: var(--gap-16);
|
|
21
21
|
}
|
|
22
|
-
.side-
|
|
22
|
+
.side-panel__column_1rlh8.side-panel__gap-24_1rlh8 > *:not(:last-child):not(:only-child) {
|
|
23
23
|
margin-bottom: var(--gap-24);
|
|
24
24
|
}
|
|
25
|
-
.side-
|
|
25
|
+
.side-panel__column_1rlh8.side-panel__gap-32_1rlh8 > *:not(:last-child):not(:only-child) {
|
|
26
26
|
margin-bottom: var(--gap-32);
|
|
27
27
|
}
|
|
28
|
-
.side-
|
|
28
|
+
.side-panel__start_1rlh8 {
|
|
29
29
|
justify-content: flex-start;
|
|
30
30
|
}
|
|
31
|
-
.side-
|
|
31
|
+
.side-panel__center_1rlh8 {
|
|
32
32
|
justify-content: center;
|
|
33
33
|
}
|
|
34
|
-
.side-panel__space-
|
|
34
|
+
.side-panel__space-between_1rlh8 {
|
|
35
35
|
justify-content: space-between;
|
|
36
36
|
}
|
|
37
|
-
.side-panel__space-
|
|
37
|
+
.side-panel__space-between_1rlh8 > * {
|
|
38
38
|
flex: 1;
|
|
39
39
|
}
|
|
40
|
-
.side-
|
|
41
|
-
.side-
|
|
42
|
-
.side-panel__space-
|
|
40
|
+
.side-panel__start_1rlh8,
|
|
41
|
+
.side-panel__center_1rlh8,
|
|
42
|
+
.side-panel__space-between_1rlh8 {
|
|
43
43
|
display: flex;
|
|
44
44
|
}
|
|
45
|
-
.side-
|
|
45
|
+
.side-panel__start_1rlh8 > *:not(:last-child):not(:only-child), .side-panel__center_1rlh8 > *:not(:last-child):not(:only-child), .side-panel__space-between_1rlh8 > *:not(:last-child):not(:only-child) {
|
|
46
46
|
margin-right: var(--side-panel-footer-default-gap);
|
|
47
47
|
}
|
|
48
|
-
.side-
|
|
48
|
+
.side-panel__start_1rlh8.side-panel__gap-16_1rlh8 > *:not(:last-child):not(:only-child), .side-panel__center_1rlh8.side-panel__gap-16_1rlh8 > *:not(:last-child):not(:only-child), .side-panel__space-between_1rlh8.side-panel__gap-16_1rlh8 > *:not(:last-child):not(:only-child) {
|
|
49
49
|
margin-right: var(--gap-16);
|
|
50
50
|
}
|
|
51
|
-
.side-
|
|
51
|
+
.side-panel__start_1rlh8.side-panel__gap-24_1rlh8 > *:not(:last-child):not(:only-child), .side-panel__center_1rlh8.side-panel__gap-24_1rlh8 > *:not(:last-child):not(:only-child), .side-panel__space-between_1rlh8.side-panel__gap-24_1rlh8 > *:not(:last-child):not(:only-child) {
|
|
52
52
|
margin-right: var(--gap-24);
|
|
53
53
|
}
|
|
54
|
-
.side-
|
|
54
|
+
.side-panel__start_1rlh8.side-panel__gap-32_1rlh8 > *:not(:last-child):not(:only-child), .side-panel__center_1rlh8.side-panel__gap-32_1rlh8 > *:not(:last-child):not(:only-child), .side-panel__space-between_1rlh8.side-panel__gap-32_1rlh8 > *:not(:last-child):not(:only-child) {
|
|
55
55
|
margin-right: var(--gap-32);
|
|
56
56
|
}
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
require('./layout.css');
|
|
4
4
|
|
|
5
|
-
var layoutStyles = {"column":"side-
|
|
5
|
+
var layoutStyles = {"column":"side-panel__column_1rlh8","gap-16":"side-panel__gap-16_1rlh8","gap-24":"side-panel__gap-24_1rlh8","gap-32":"side-panel__gap-32_1rlh8","start":"side-panel__start_1rlh8","center":"side-panel__center_1rlh8","space-between":"side-panel__space-between_1rlh8"};
|
|
6
6
|
|
|
7
7
|
module.exports = layoutStyles;
|
|
8
8
|
//# sourceMappingURL=layout.module.css.js.map
|
|
@@ -2,18 +2,18 @@
|
|
|
2
2
|
--sab: env(safe-area-inset-bottom, var(--gap-0));
|
|
3
3
|
}
|
|
4
4
|
:root {
|
|
5
|
-
--gap-
|
|
5
|
+
--gap-l: 20px;
|
|
6
6
|
--gap-0: 0px;
|
|
7
|
-
--gap-
|
|
7
|
+
--gap-20: var(--gap-l);
|
|
8
8
|
}
|
|
9
|
-
.side-
|
|
10
|
-
padding: var(--gap-
|
|
9
|
+
.side-panel__footer_m5dev {
|
|
10
|
+
padding: var(--gap-20);
|
|
11
11
|
}
|
|
12
12
|
@media (display-mode: standalone) {
|
|
13
|
-
.side-
|
|
14
|
-
padding-bottom: calc(var(--sab) + var(--gap-
|
|
13
|
+
.side-panel__footer_m5dev {
|
|
14
|
+
padding-bottom: calc(var(--sab) + var(--gap-20));
|
|
15
15
|
}
|
|
16
16
|
}
|
|
17
|
-
.side-
|
|
17
|
+
.side-panel__sticky_m5dev {
|
|
18
18
|
bottom: var(--gap-0);
|
|
19
19
|
}
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
require('./mobile.css');
|
|
4
4
|
|
|
5
|
-
var styles = {"footer":"side-
|
|
5
|
+
var styles = {"footer":"side-panel__footer_m5dev","sticky":"side-panel__sticky_m5dev"};
|
|
6
6
|
|
|
7
7
|
module.exports = styles;
|
|
8
8
|
//# sourceMappingURL=mobile.module.css.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mobile.module.css.js","sources":["../../src/components/footer/mobile.module.css"],"sourcesContent":["@import '@alfalab/core-components-vars/src/safe-area.css';\n@import '../../vars.css';\n\n.footer {\n padding: var(--gap-
|
|
1
|
+
{"version":3,"file":"mobile.module.css.js","sources":["../../src/components/footer/mobile.module.css"],"sourcesContent":["@import '@alfalab/core-components-vars/src/safe-area.css';\n@import '../../vars.css';\n\n.footer {\n padding: var(--gap-20);\n\n @media (display-mode: standalone) {\n padding-bottom: calc(var(--sab) + var(--gap-20));\n }\n}\n\n.sticky {\n bottom: var(--gap-0);\n}\n"],"names":[],"mappings":";;;;AAEgB,aAAe,CAAC,QAAQ,CAAC,0BAA0B,CAAC,QAAQ,CAAC,0BAA0B,CAAC;;;;"}
|
|
@@ -7,23 +7,25 @@
|
|
|
7
7
|
--gap-16: var(--gap-m);
|
|
8
8
|
}
|
|
9
9
|
:root {
|
|
10
|
-
--font-family-
|
|
11
|
-
system-ui, -apple-system, 'Segoe UI', Roboto, 'Helvetica Neue',
|
|
10
|
+
--font-family-alfasans:
|
|
11
|
+
'Alfa Interface Sans', system-ui, -apple-system, 'Segoe UI', Roboto, 'Helvetica Neue',
|
|
12
|
+
Helvetica, sans-serif;
|
|
12
13
|
}
|
|
13
14
|
:root {
|
|
14
15
|
--side-panel-s-header-paddings: 28px 28px var(--gap-0);
|
|
15
16
|
--side-panel-s-header-desktop-content-paddings: var(--gap-6) var(--gap-12) var(--gap-16);
|
|
16
17
|
}
|
|
17
|
-
.side-panel__size-
|
|
18
|
+
.side-panel__size-500_1cmvm .side-panel__content_1cmvm {
|
|
18
19
|
padding: var(--side-panel-s-header-desktop-content-paddings);
|
|
19
20
|
font-size: 30px;
|
|
20
21
|
line-height: 36px;
|
|
21
22
|
font-weight: 700;
|
|
22
|
-
|
|
23
|
+
letter-spacing: 0.1px;
|
|
24
|
+
font-family: var(--font-family-alfasans);
|
|
23
25
|
}
|
|
24
|
-
.side-panel__size-
|
|
26
|
+
.side-panel__size-500_1cmvm {
|
|
25
27
|
padding: var(--side-panel-s-header-paddings);
|
|
26
28
|
}
|
|
27
|
-
.side-
|
|
29
|
+
.side-panel__sticky_1cmvm {
|
|
28
30
|
top: var(--gap-0);
|
|
29
31
|
}
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
require('./desktop.css');
|
|
4
4
|
|
|
5
|
-
var desktopStyles = {"size-500":"side-panel__size-
|
|
5
|
+
var desktopStyles = {"size-500":"side-panel__size-500_1cmvm","content":"side-panel__content_1cmvm","sticky":"side-panel__sticky_1cmvm"};
|
|
6
6
|
|
|
7
7
|
module.exports = desktopStyles;
|
|
8
8
|
//# sourceMappingURL=desktop.module.css.js.map
|
|
@@ -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-
|
|
10
|
+
.side-panel__header_rl5xm {
|
|
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-
|
|
17
|
+
.side-panel__header_rl5xm:not(.side-panel__hasContent_rl5xm) {
|
|
18
18
|
pointer-events: none;
|
|
19
19
|
}
|
|
20
|
-
.side-
|
|
20
|
+
.side-panel__highlighted_rl5xm {
|
|
21
21
|
background: var(--side-panel-header-highlight-background);
|
|
22
22
|
box-shadow: var(--side-panel-header-highlight-box-shadow);
|
|
23
23
|
}
|
|
24
|
-
.side-
|
|
24
|
+
.side-panel__sticky_rl5xm {
|
|
25
25
|
position: sticky;
|
|
26
26
|
z-index: 1;
|
|
27
27
|
}
|
|
28
|
-
.side-
|
|
28
|
+
.side-panel__sticky_rl5xm.side-panel__hasContent_rl5xm {
|
|
29
29
|
background: var(--side-panel-header-background);
|
|
30
30
|
}
|
|
31
|
-
.side-
|
|
31
|
+
.side-panel__header_rl5xm.side-panel__backgroundImage_rl5xm {
|
|
32
32
|
background: center no-repeat;
|
|
33
33
|
background-size: cover;
|
|
34
34
|
}
|
|
35
|
-
.side-
|
|
35
|
+
.side-panel__content_rl5xm {
|
|
36
36
|
flex-grow: 1;
|
|
37
37
|
}
|
|
38
|
-
.side-
|
|
38
|
+
.side-panel__title_rl5xm {
|
|
39
39
|
word-break: break-word;
|
|
40
40
|
}
|
|
41
|
-
.side-
|
|
41
|
+
.side-panel__addon_rl5xm {
|
|
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-
|
|
49
|
+
.side-panel__closer_rl5xm {
|
|
50
50
|
margin-left: auto;
|
|
51
51
|
}
|
|
52
|
-
.side-
|
|
52
|
+
.side-panel__right_rl5xm {
|
|
53
53
|
justify-content: flex-end;
|
|
54
54
|
text-align: right;
|
|
55
55
|
}
|
|
56
|
-
.side-
|
|
56
|
+
.side-panel__trim_rl5xm {
|
|
57
57
|
overflow: hidden;
|
|
58
58
|
}
|
|
59
|
-
.side-
|
|
59
|
+
.side-panel__trim_rl5xm .side-panel__title_rl5xm {
|
|
60
60
|
overflow: hidden;
|
|
61
61
|
white-space: nowrap;
|
|
62
62
|
text-overflow: ellipsis;
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
require('./index.css');
|
|
4
4
|
|
|
5
|
-
var styles = {"header":"side-
|
|
5
|
+
var styles = {"header":"side-panel__header_rl5xm","hasContent":"side-panel__hasContent_rl5xm","highlighted":"side-panel__highlighted_rl5xm","sticky":"side-panel__sticky_rl5xm"};
|
|
6
6
|
|
|
7
7
|
module.exports = styles;
|
|
8
8
|
//# sourceMappingURL=index.module.css.js.map
|
|
@@ -4,40 +4,45 @@
|
|
|
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
|
-
--font-family-
|
|
14
|
-
system-ui, -apple-system, 'Segoe UI', Roboto, 'Helvetica Neue',
|
|
15
|
+
--font-family-alfasans:
|
|
16
|
+
'Alfa Interface Sans', system-ui, -apple-system, 'Segoe UI', Roboto, 'Helvetica Neue',
|
|
17
|
+
Helvetica, sans-serif;
|
|
15
18
|
}
|
|
16
19
|
:root {
|
|
17
20
|
--side-panel-header-mobile-content-paddings: var(--gap-10) var(--gap-8);
|
|
18
21
|
--side-panel-header-mobile-top-padding: var(--gap-4);
|
|
19
|
-
--side-panel-header-mobile-paddings: var(--side-panel-header-mobile-top-padding) var(--gap-
|
|
20
|
-
var(--gap-4) var(--gap-
|
|
22
|
+
--side-panel-header-mobile-paddings: var(--side-panel-header-mobile-top-padding) var(--gap-12)
|
|
23
|
+
var(--gap-4) var(--gap-12);
|
|
21
24
|
}
|
|
22
|
-
.side-
|
|
25
|
+
.side-panel__header_1wifj {
|
|
23
26
|
padding: var(--side-panel-header-mobile-paddings);
|
|
24
27
|
}
|
|
25
28
|
@media (display-mode: standalone) {
|
|
26
|
-
.side-
|
|
29
|
+
.side-panel__header_1wifj {
|
|
27
30
|
padding-top: calc(var(--sat) + var(--side-panel-header-mobile-top-padding));
|
|
28
31
|
}
|
|
29
32
|
}
|
|
30
|
-
.side-
|
|
33
|
+
.side-panel__sticky_1wifj {
|
|
31
34
|
top: var(--gap-0);
|
|
32
35
|
}
|
|
33
|
-
.side-
|
|
36
|
+
.side-panel__content_1wifj {
|
|
34
37
|
padding: var(--side-panel-header-mobile-content-paddings);
|
|
35
38
|
|
|
36
39
|
font-size: 20px;
|
|
37
40
|
|
|
38
41
|
line-height: 28px;
|
|
39
42
|
|
|
40
|
-
font-weight:
|
|
43
|
+
font-weight: 500;
|
|
41
44
|
|
|
42
|
-
|
|
45
|
+
letter-spacing: -0.15px;
|
|
46
|
+
|
|
47
|
+
font-family: var(--font-family-alfasans);
|
|
43
48
|
}
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
require('./mobile.css');
|
|
4
4
|
|
|
5
|
-
var mobileStyles = {"header":"side-
|
|
5
|
+
var mobileStyles = {"header":"side-panel__header_1wifj","sticky":"side-panel__sticky_1wifj","content":"side-panel__content_1wifj"};
|
|
6
6
|
|
|
7
7
|
module.exports = mobileStyles;
|
|
8
8
|
//# sourceMappingURL=mobile.module.css.js.map
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
:root {
|
|
2
|
-
--gap-
|
|
2
|
+
--gap-l: 20px;
|
|
3
3
|
--gap-0: 0px;
|
|
4
|
-
--gap-
|
|
4
|
+
--gap-20: var(--gap-l);
|
|
5
5
|
}
|
|
6
6
|
.content {
|
|
7
|
-
padding: var(--gap-
|
|
7
|
+
padding: var(--gap-20) var(--gap-20) var(--gap-0);
|
|
8
8
|
}
|
|
9
9
|
.content:last-child {
|
|
10
|
-
padding-bottom: var(--gap-
|
|
10
|
+
padding-bottom: var(--gap-20);
|
|
11
11
|
}
|
|
@@ -8,6 +8,7 @@ var cssm = require('@alfalab/core-components-shared/cssm');
|
|
|
8
8
|
var ResponsiveContext = require('../../ResponsiveContext.js');
|
|
9
9
|
var layoutStyles = require('../footer/layout.module.css');
|
|
10
10
|
var styles = require('./index.module.css');
|
|
11
|
+
var mobileLayoutStyles = require('./mobile.layout.module.css');
|
|
11
12
|
|
|
12
13
|
function _interopDefaultCompat (e) { return e && typeof e === 'object' && 'default' in e ? e : { default: e }; }
|
|
13
14
|
|
|
@@ -15,14 +16,18 @@ var React__default = /*#__PURE__*/_interopDefaultCompat(React);
|
|
|
15
16
|
var cn__default = /*#__PURE__*/_interopDefaultCompat(cn);
|
|
16
17
|
var layoutStyles__default = /*#__PURE__*/_interopDefaultCompat(layoutStyles);
|
|
17
18
|
var styles__default = /*#__PURE__*/_interopDefaultCompat(styles);
|
|
19
|
+
var mobileLayoutStyles__default = /*#__PURE__*/_interopDefaultCompat(mobileLayoutStyles);
|
|
18
20
|
|
|
19
21
|
var Controls = function (_a) {
|
|
20
|
-
var
|
|
22
|
+
var _b;
|
|
23
|
+
var primary = _a.primary, secondary = _a.secondary, gap = _a.gap, _c = _a.layout, layoutProp = _c === void 0 ? 'start' : _c, _d = _a.mobileLayout, mobileLayout = _d === void 0 ? layoutProp : _d;
|
|
21
24
|
var context = React.useContext(ResponsiveContext.ResponsiveContext);
|
|
22
|
-
var
|
|
25
|
+
var _e = context || {}, _f = _e.view, view = _f === void 0 ? 'desktop' : _f, dataTestId = _e.dataTestId;
|
|
23
26
|
var layout = view === 'mobile' ? mobileLayout : layoutProp;
|
|
24
27
|
var shouldReverse = view === 'mobile' && layout !== 'column';
|
|
25
|
-
return (React__default.default.createElement("div", { "data-test-id": cssm.getDataTestId(dataTestId, 'controls'), className: cn__default.default(styles__default.default.component, layoutStyles__default.default[layout], gap && layoutStyles__default.default["gap-".concat(gap)]
|
|
28
|
+
return (React__default.default.createElement("div", { "data-test-id": cssm.getDataTestId(dataTestId, 'controls'), className: cn__default.default(styles__default.default.component, layoutStyles__default.default[layout], gap && layoutStyles__default.default["gap-".concat(gap)], (_b = {},
|
|
29
|
+
_b[mobileLayoutStyles__default.default[layout]] = view === 'mobile',
|
|
30
|
+
_b)) }, shouldReverse ? (React__default.default.createElement(React__default.default.Fragment, null,
|
|
26
31
|
secondary,
|
|
27
32
|
primary)) : (React__default.default.createElement(React__default.default.Fragment, null,
|
|
28
33
|
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":["useContext","ResponsiveContext","React","getDataTestId","cn","styles","layoutStyles"],"mappings":"
|
|
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":["useContext","ResponsiveContext","React","getDataTestId","cn","styles","layoutStyles","mobileLayoutStyles"],"mappings":";;;;;;;;;;;;;;;;;;;;AAwCO,IAAM,QAAQ,GAA4B,UAAC,EAMjD,EAAA;;QALG,OAAO,GAAA,EAAA,CAAA,OAAA,EACP,SAAS,GAAA,EAAA,CAAA,SAAA,EACT,GAAG,GAAA,EAAA,CAAA,GAAA,EACH,EAA4B,GAAA,EAAA,CAAA,MAAA,EAApB,UAAU,GAAG,EAAA,KAAA,MAAA,GAAA,OAAO,KAAA,EAC5B,EAAA,GAAA,EAAA,CAAA,YAAyB,EAAzB,YAAY,GAAA,EAAA,KAAA,MAAA,GAAG,UAAU,GAAA,EAAA;AAEzB,IAAA,IAAM,OAAO,GAAGA,gBAAU,CAACC,mCAAiB,CAAC;AACvC,IAAA,IAAA,EAAmC,GAAA,OAAO,IAAI,EAAE,EAA9C,EAAgB,GAAA,EAAA,CAAA,IAAA,EAAhB,IAAI,GAAA,EAAA,KAAA,MAAA,GAAG,SAAS,GAAA,EAAA,EAAE,UAAU,gBAAkB;AAEtD,IAAA,IAAM,MAAM,GAAG,IAAI,KAAK,QAAQ,GAAG,YAAY,GAAG,UAAU;IAE5D,IAAM,aAAa,GAAG,IAAI,KAAK,QAAQ,IAAI,MAAM,KAAK,QAAQ;AAE9D,IAAA,QACIC,sBAAA,CAAA,aAAA,CAAA,KAAA,EAAA,EAAA,cAAA,EACkBC,kBAAa,CAAC,UAAU,EAAE,UAAU,CAAC,EACnD,SAAS,EAAEC,mBAAE,CACTC,uBAAM,CAAC,SAAS,EAChBC,6BAAY,CAAC,MAAM,CAAC,EACpB,GAAG,IAAIA,6BAAY,CAAC,MAAO,CAAA,MAAA,CAAA,GAAG,CAAE,CAAC,GAAA,EAAA,GAAA,EAAA;AAE7B,YAAA,EAAA,CAACC,mCAAkB,CAAC,MAAM,CAAC,CAAG,GAAA,IAAI,KAAK,QAAQ;gBAEtD,EAEA,EAAA,aAAa,IACVL,sBAAC,CAAA,aAAA,CAAAA,sBAAK,CAAC,QAAQ,EAAA,IAAA;QACV,SAAS;QACT,OAAO,CACK,KAEjBA,sBAAA,CAAA,aAAA,CAACA,sBAAK,CAAC,QAAQ,EAAA,IAAA;QACV,OAAO;AACP,QAAA,SAAS,CACG,CACpB,CACC;AAEd;;;;"}
|