@cloud-ru/uikit-product-site-section 0.25.5 → 0.26.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.
- package/CHANGELOG.md +11 -0
- package/README.md +22 -31
- package/dist/cjs/components/SectionAccordion/styles.module.css +1 -1
- package/dist/cjs/components/SectionBasic/styles.module.css +1 -3
- package/dist/cjs/components/SectionBenefits/SectionBenefits.js +1 -1
- package/dist/cjs/components/SectionCaseCarousel/SectionCaseCarousel.js +1 -1
- package/dist/cjs/components/SectionCatalog/SectionCatalog.js +1 -1
- package/dist/cjs/components/SectionClientsCarousel/SectionClientsCarousel.js +1 -1
- package/dist/cjs/components/SectionExpertsCarousel/SectionExpertsCarousel.js +1 -1
- package/dist/cjs/components/SectionLeading/SectionLeading.js +1 -1
- package/dist/cjs/components/SectionMarketplaceCarousel/SectionMarketplaceCarousel.js +1 -1
- package/dist/cjs/components/SectionPersonalManager/styles.module.css +3 -3
- package/dist/cjs/components/SectionPromoList/styles.module.css +1 -1
- package/dist/esm/components/SectionAccordion/styles.module.css +1 -1
- package/dist/esm/components/SectionBasic/styles.module.css +1 -3
- package/dist/esm/components/SectionBenefits/SectionBenefits.js +1 -1
- package/dist/esm/components/SectionCaseCarousel/SectionCaseCarousel.js +1 -1
- package/dist/esm/components/SectionCatalog/SectionCatalog.js +1 -1
- package/dist/esm/components/SectionClientsCarousel/SectionClientsCarousel.js +1 -1
- package/dist/esm/components/SectionExpertsCarousel/SectionExpertsCarousel.js +1 -1
- package/dist/esm/components/SectionLeading/SectionLeading.js +1 -1
- package/dist/esm/components/SectionMarketplaceCarousel/SectionMarketplaceCarousel.js +1 -1
- package/dist/esm/components/SectionPersonalManager/styles.module.css +3 -3
- package/dist/esm/components/SectionPromoList/styles.module.css +1 -1
- package/package.json +2 -2
- package/src/components/SectionAccordion/styles.module.scss +2 -1
- package/src/components/SectionBasic/styles.module.scss +1 -3
- package/src/components/SectionBenefits/SectionBenefits.tsx +1 -1
- package/src/components/SectionCaseCarousel/SectionCaseCarousel.tsx +1 -1
- package/src/components/SectionCatalog/SectionCatalog.tsx +1 -1
- package/src/components/SectionClientsCarousel/SectionClientsCarousel.tsx +1 -1
- package/src/components/SectionExpertsCarousel/SectionExpertsCarousel.tsx +1 -1
- package/src/components/SectionLeading/SectionLeading.tsx +1 -0
- package/src/components/SectionMarketplaceCarousel/SectionMarketplaceCarousel.tsx +1 -1
- package/src/components/SectionPersonalManager/styles.module.scss +3 -3
- package/src/components/SectionPromoList/styles.module.scss +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -3,6 +3,17 @@
|
|
|
3
3
|
All notable changes to this project will be documented in this file.
|
|
4
4
|
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
|
|
5
5
|
|
|
6
|
+
# 0.26.0 (2025-12-18)
|
|
7
|
+
|
|
8
|
+
|
|
9
|
+
### Features
|
|
10
|
+
|
|
11
|
+
* **SITE-10338:** update gap site components ([9afded2](https://gitverse.ru/cloud-ru-tech/uikit-product/commits/9afded24fb470672c8f92be51ecb3fa147ba7bf1))
|
|
12
|
+
|
|
13
|
+
|
|
14
|
+
|
|
15
|
+
|
|
16
|
+
|
|
6
17
|
## 0.25.5 (2025-12-17)
|
|
7
18
|
|
|
8
19
|
### Only dependencies have been changed
|
package/README.md
CHANGED
|
@@ -46,7 +46,7 @@
|
|
|
46
46
|
| content* | `ContentBasicTab[] \| CardBasicArray \| ContentInfoTab[] \| CardInfoArray \| ContentNumericTab[] \| CardNumericArray \| ContentProductTab[] \| CardProductArray` | - | |
|
|
47
47
|
| type* | "basic" \| "info" \| "numeric" \| "product" | - | |
|
|
48
48
|
| layoutType* | enum LayoutType: `"mobile"`, `"tablet"`, `"desktop"`, `"desktopSmall"` | - | |
|
|
49
|
-
| columnsConfig* | `
|
|
49
|
+
| columnsConfig* | `GridProps` | - | Конфигурация настройки колонок для разных layoutType |
|
|
50
50
|
| id | `string` | - | id секции |
|
|
51
51
|
| title | `string` | - | Название секции |
|
|
52
52
|
| subtitle | `string` | - | Название подзаголовка секции |
|
|
@@ -78,8 +78,8 @@
|
|
|
78
78
|
### Props
|
|
79
79
|
| name | type | default value | description |
|
|
80
80
|
|------|------|---------------|-------------|
|
|
81
|
-
| layoutType* | enum LayoutType: `"mobile"`, `"tablet"`, `"desktop"`, `"desktopSmall"` | - | |
|
|
82
81
|
| items* | `BlogCarouselItem[]` | - | Массив айтемов |
|
|
82
|
+
| layoutType* | enum LayoutType: `"mobile"`, `"tablet"`, `"desktop"`, `"desktopSmall"` | - | |
|
|
83
83
|
| title | `string` | - | Название секции |
|
|
84
84
|
| subtitle | `string` | - | Подзаголовок секции |
|
|
85
85
|
| description | `string` | - | Описание секции |
|
|
@@ -88,8 +88,8 @@
|
|
|
88
88
|
| subtitleTag | enum SectionTag: `"h2"`, `"h3"`, `"h4"` | - | Тег подзаголовка |
|
|
89
89
|
| titleAlign | "left" \| "center" | - | Выравнивание текста |
|
|
90
90
|
| id | `string` | - | id секции |
|
|
91
|
-
| className | `string` | - | CSS - класснейм |
|
|
92
91
|
| backgroundColor | enum SectionColor: `"neutral-background1-level"`, `"neutral-background"` | - | Цвет фона |
|
|
92
|
+
| className | `string` | - | CSS - класснейм |
|
|
93
93
|
| moreButton | `{ label?: string; href?: string; onClick: MouseEventHandler<HTMLElement>; 'data-test-id'?: string; }` | - | Кнопка внизу секции |
|
|
94
94
|
| autoSwipe | `number` | 9 | Автоматическое переключение слайдов в секундах |
|
|
95
95
|
| infiniteScroll | `boolean` | false | Цикличная прокрутка |
|
|
@@ -97,8 +97,8 @@
|
|
|
97
97
|
### Props
|
|
98
98
|
| name | type | default value | description |
|
|
99
99
|
|------|------|---------------|-------------|
|
|
100
|
-
| layoutType* | enum LayoutType: `"mobile"`, `"tablet"`, `"desktop"`, `"desktopSmall"` | - | |
|
|
101
100
|
| items* | `CaseItem[]` | - | Массив айтемов |
|
|
101
|
+
| layoutType* | enum LayoutType: `"mobile"`, `"tablet"`, `"desktop"`, `"desktopSmall"` | - | |
|
|
102
102
|
| title | `string` | - | Название секции |
|
|
103
103
|
| subtitle | `string` | - | Подзаголовок секции |
|
|
104
104
|
| titleSectionSize | enum Size: `"s"`, `"m"`, `"l"` | - | Размер шрифтов заголовка и подзаголовка |
|
|
@@ -106,8 +106,8 @@
|
|
|
106
106
|
| subtitleTag | enum SectionTag: `"h2"`, `"h3"`, `"h4"` | - | Тег подзаголовка |
|
|
107
107
|
| titleAlign | "left" \| "center" | - | Выравнивание текста |
|
|
108
108
|
| id | `string` | - | id секции |
|
|
109
|
-
| className | `string` | - | CSS - класснейм |
|
|
110
109
|
| backgroundColor | enum SectionColor: `"neutral-background1-level"`, `"neutral-background"` | - | Цвет фона |
|
|
110
|
+
| className | `string` | - | CSS - класснейм |
|
|
111
111
|
| moreButton | `{ label?: string; href?: string; onClick: MouseEventHandler<HTMLElement>; 'data-test-id'?: string; }` | - | Кнопка внизу секции |
|
|
112
112
|
| autoSwipe | `number` | 9 | Автоматическое переключение слайдов в секундах |
|
|
113
113
|
| infiniteScroll | `boolean` | false | Цикличная прокрутка |
|
|
@@ -128,8 +128,8 @@
|
|
|
128
128
|
### Props
|
|
129
129
|
| name | type | default value | description |
|
|
130
130
|
|------|------|---------------|-------------|
|
|
131
|
-
| layoutType* | enum LayoutType: `"mobile"`, `"tablet"`, `"desktop"`, `"desktopSmall"` | - | |
|
|
132
131
|
| items* | `CardClientProps[]` | - | Массив айтемов |
|
|
132
|
+
| layoutType* | enum LayoutType: `"mobile"`, `"tablet"`, `"desktop"`, `"desktopSmall"` | - | |
|
|
133
133
|
| title | `string` | - | Название секции |
|
|
134
134
|
| subtitle | `string` | - | Подзаголовок секции |
|
|
135
135
|
| titleSectionSize | enum Size: `"s"`, `"m"`, `"l"` | - | Размер шрифтов заголовка и подзаголовка |
|
|
@@ -137,8 +137,8 @@
|
|
|
137
137
|
| subtitleTag | enum SectionTag: `"h2"`, `"h3"`, `"h4"` | - | Тег подзаголовка |
|
|
138
138
|
| titleAlign | "left" \| "center" | - | Выравнивание текста |
|
|
139
139
|
| id | `string` | - | id секции |
|
|
140
|
-
| className | `string` | - | CSS - класснейм |
|
|
141
140
|
| backgroundColor | enum SectionColor: `"neutral-background1-level"`, `"neutral-background"` | - | Цвет фона |
|
|
141
|
+
| className | `string` | - | CSS - класснейм |
|
|
142
142
|
| moreButton | `{ label?: string; href?: string; onClick: MouseEventHandler<HTMLElement>; 'data-test-id'?: string; }` | - | Кнопка внизу секции |
|
|
143
143
|
| autoSwipe | `number` | 9 | Автоматическое переключение слайдов в секундах |
|
|
144
144
|
| infiniteScroll | `boolean` | false | Цикличная прокрутка |
|
|
@@ -154,9 +154,9 @@
|
|
|
154
154
|
| button | `Omit<ButtonFilledProps, "size" \| "fullWidth">` | - | Кнопка действия |
|
|
155
155
|
| backgroundColor | enum SectionColor: `"neutral-background1-level"`, `"neutral-background"` | neutral-background1-level | Цвет фона |
|
|
156
156
|
| contentPosition | "left" \| "right" | left | Местоположение контента в секции |
|
|
157
|
-
| video | `
|
|
158
|
-
| onPlay | `
|
|
159
|
-
| onError | `
|
|
157
|
+
| video | `any` | - | |
|
|
158
|
+
| onPlay | `any` | - | |
|
|
159
|
+
| onError | `any` | - | |
|
|
160
160
|
| image | `{ src: string; alt?: string; }` | - | Ссылка на изображение |
|
|
161
161
|
| titleTag | enum SectionTag: `"h2"`, `"h3"`, `"h4"` | - | Тег заголовка |
|
|
162
162
|
## SectionContentList
|
|
@@ -171,9 +171,9 @@
|
|
|
171
171
|
| items | `Item[]` | - | Список элементов |
|
|
172
172
|
| backgroundColor | enum SectionColor: `"neutral-background1-level"`, `"neutral-background"` | - | Цвет фона |
|
|
173
173
|
| contentPosition | "left" \| "right" | left | Местоположение контента в секции |
|
|
174
|
-
| video | `
|
|
175
|
-
| onPlay | `
|
|
176
|
-
| onError | `
|
|
174
|
+
| video | `any` | - | |
|
|
175
|
+
| onPlay | `any` | - | |
|
|
176
|
+
| onError | `any` | - | |
|
|
177
177
|
| image | `{ src: string; alt?: string; }` | - | Ссылка на изображение |
|
|
178
178
|
| titleTag | enum SectionTag: `"h2"`, `"h3"`, `"h4"` | - | Тег заголовка |
|
|
179
179
|
## SectionContentTabs
|
|
@@ -194,8 +194,8 @@
|
|
|
194
194
|
### Props
|
|
195
195
|
| name | type | default value | description |
|
|
196
196
|
|------|------|---------------|-------------|
|
|
197
|
-
| layoutType* | enum LayoutType: `"mobile"`, `"tablet"`, `"desktop"`, `"desktopSmall"` | - | |
|
|
198
197
|
| items* | `ExpertDetails[]` | - | Массив айтемов |
|
|
198
|
+
| layoutType* | enum LayoutType: `"mobile"`, `"tablet"`, `"desktop"`, `"desktopSmall"` | - | |
|
|
199
199
|
| title | `string` | - | Название секции |
|
|
200
200
|
| subtitle | `string` | - | Подзаголовок секции |
|
|
201
201
|
| titleSectionSize | enum Size: `"s"`, `"m"`, `"l"` | - | Размер шрифтов заголовка и подзаголовка |
|
|
@@ -203,8 +203,8 @@
|
|
|
203
203
|
| subtitleTag | enum SectionTag: `"h2"`, `"h3"`, `"h4"` | - | Тег подзаголовка |
|
|
204
204
|
| titleAlign | "left" \| "center" | - | Выравнивание текста |
|
|
205
205
|
| id | `string` | - | id секции |
|
|
206
|
-
| className | `string` | - | CSS - класснейм |
|
|
207
206
|
| backgroundColor | enum SectionColor: `"neutral-background1-level"`, `"neutral-background"` | - | Цвет фона |
|
|
207
|
+
| className | `string` | - | CSS - класснейм |
|
|
208
208
|
| moreButton | `{ label?: string; href?: string; onClick: MouseEventHandler<HTMLElement>; 'data-test-id'?: string; }` | - | Кнопка внизу секции |
|
|
209
209
|
| autoSwipe | `number` | 9 | Автоматическое переключение слайдов в секундах |
|
|
210
210
|
| infiniteScroll | `boolean` | false | Цикличная прокрутка |
|
|
@@ -227,8 +227,8 @@
|
|
|
227
227
|
### Props
|
|
228
228
|
| name | type | default value | description |
|
|
229
229
|
|------|------|---------------|-------------|
|
|
230
|
-
| layoutType* | enum LayoutType: `"mobile"`, `"tablet"`, `"desktop"`, `"desktopSmall"` | - | |
|
|
231
230
|
| items* | `CardMarketplaceProps[]` | - | Массив айтемов |
|
|
231
|
+
| layoutType* | enum LayoutType: `"mobile"`, `"tablet"`, `"desktop"`, `"desktopSmall"` | - | |
|
|
232
232
|
| title | `string` | - | Название секции |
|
|
233
233
|
| subtitle | `string` | - | Подзаголовок секции |
|
|
234
234
|
| description | `string` | - | Описание секции |
|
|
@@ -237,8 +237,8 @@
|
|
|
237
237
|
| subtitleTag | enum SectionTag: `"h2"`, `"h3"`, `"h4"` | - | Тег подзаголовка |
|
|
238
238
|
| titleAlign | "left" \| "center" | - | Выравнивание текста |
|
|
239
239
|
| id | `string` | - | id секции |
|
|
240
|
-
| className | `string` | - | CSS - класснейм |
|
|
241
240
|
| backgroundColor | enum SectionColor: `"neutral-background1-level"`, `"neutral-background"` | - | Цвет фона |
|
|
241
|
+
| className | `string` | - | CSS - класснейм |
|
|
242
242
|
| moreButton | `{ label?: string; href?: string; onClick: MouseEventHandler<HTMLElement>; 'data-test-id'?: string; }` | - | Кнопка внизу секции |
|
|
243
243
|
| autoSwipe | `number` | 9 | Автоматическое переключение слайдов в секундах |
|
|
244
244
|
| infiniteScroll | `boolean` | false | Цикличная прокрутка |
|
|
@@ -252,9 +252,9 @@
|
|
|
252
252
|
| titleTag | enum SectionTag: `"h2"`, `"h3"`, `"h4"` | - | Тег заголовка |
|
|
253
253
|
| id | `string` | - | id секции |
|
|
254
254
|
| backgroundColor | enum SectionColor: `"neutral-background1-level"`, `"neutral-background"` | - | Цвет фона |
|
|
255
|
-
| video | `
|
|
256
|
-
| onPlay | `
|
|
257
|
-
| onError | `
|
|
255
|
+
| video | `any` | - | |
|
|
256
|
+
| onPlay | `any` | - | |
|
|
257
|
+
| onError | `any` | - | |
|
|
258
258
|
| image | `{ src: string; alt?: string; }` | - | Ссылка на изображение |
|
|
259
259
|
## SectionPersonalManager
|
|
260
260
|
### Props
|
|
@@ -294,20 +294,11 @@
|
|
|
294
294
|
| id | `string` | - | id секции |
|
|
295
295
|
| className | `string` | - | CSS-класс |
|
|
296
296
|
| backgroundColor | enum SectionColor: `"neutral-background1-level"`, `"neutral-background"` | - | Цвет фона |
|
|
297
|
-
| gap |
|
|
297
|
+
| gap | `GridProps` | s | Размер отступов сетки |
|
|
298
298
|
## SectionTable
|
|
299
299
|
### Props
|
|
300
300
|
| name | type | default value | description |
|
|
301
301
|
|------|------|---------------|-------------|
|
|
302
|
-
| layoutType* | enum LayoutType: `"mobile"`, `"tablet"`, `"desktop"`, `"desktopSmall"` | - | |
|
|
303
|
-
| rows* | `Cell[][]` | - | |
|
|
304
|
-
| id | `string` | - | id секции |
|
|
305
|
-
| className | `string` | - | CSS-класс |
|
|
306
|
-
| title | `string` | - | Заголовок |
|
|
307
|
-
| subtitle | `string` | - | Подзаголовок |
|
|
308
|
-
| description | `string` | - | Описание |
|
|
309
|
-
| backgroundColor | enum SectionColor: `"neutral-background1-level"`, `"neutral-background"` | - | Фон подложки |
|
|
310
|
-
| withHeader | `boolean` | - | |
|
|
311
302
|
## SectionCarousel
|
|
312
303
|
### Props
|
|
313
304
|
| name | type | default value | description |
|
|
@@ -318,7 +309,7 @@
|
|
|
318
309
|
| layoutType* | enum LayoutType: `"mobile"`, `"tablet"`, `"desktop"`, `"desktopSmall"` | - | |
|
|
319
310
|
| title | `string` | - | Название секции |
|
|
320
311
|
| subtitle | `string` | - | Подзаголовок секции |
|
|
321
|
-
| titleLink | `PickLinkProps<(<T extends ElementType = "a">({ text, className, textMode, size, purpose, appearance, insideText, truncateVariant, as, ...rest }: LinkProps<T>) => Element), "onClick" \| "
|
|
312
|
+
| titleLink | `PickLinkProps<(<T extends ElementType = "a">({ text, className, textMode, size, purpose, appearance, insideText, truncateVariant, as, ...rest }: LinkProps<T>) => Element), "onClick" \| "href" \| "target" \| "appearance" \| "textMode">` | - | Ссылка в названии |
|
|
322
313
|
| description | `string` | - | Описание секции |
|
|
323
314
|
| titleSectionSize | enum Size: `"s"`, `"m"`, `"l"` | - | Размер шрифтов заголовка и подзаголовка |
|
|
324
315
|
| titleTag | enum SectionTag: `"h2"`, `"h3"`, `"h4"` | - | Тег заголовка |
|
|
@@ -44,15 +44,13 @@
|
|
|
44
44
|
.sectionFilters{
|
|
45
45
|
display:grid;
|
|
46
46
|
grid-template-columns:repeat(3, 1fr);
|
|
47
|
-
gap:var(--dimension-
|
|
47
|
+
gap:var(--dimension-1m, 8px);
|
|
48
48
|
}
|
|
49
49
|
.sectionFilters[data-layout-type=tablet]{
|
|
50
50
|
grid-template-columns:repeat(2, 1fr);
|
|
51
|
-
gap:var(--dimension-2m, 16px);
|
|
52
51
|
}
|
|
53
52
|
.sectionFilters[data-layout-type=mobile]{
|
|
54
53
|
grid-template-columns:repeat(1, 1fr);
|
|
55
|
-
gap:var(--dimension-3m, 24px);
|
|
56
54
|
}
|
|
57
55
|
|
|
58
56
|
.footer{
|
|
@@ -34,7 +34,7 @@ function SectionBenefits(_a) {
|
|
|
34
34
|
(_a = tab.onClick) === null || _a === void 0 ? void 0 : _a.call(tab, e);
|
|
35
35
|
} }))), [tabBarItems]);
|
|
36
36
|
const outline = rest.outline;
|
|
37
|
-
const gap = type === 'basic' ? 'l' : '
|
|
37
|
+
const gap = type === 'basic' ? 'l' : 'xs';
|
|
38
38
|
const backgroundColorSection = type === 'basic' || outline ? 'neutral-background1-level' : 'neutral-background';
|
|
39
39
|
return ((0, jsx_runtime_1.jsxs)(SectionBasic_1.SectionBasic, Object.assign({ id: id, title: title, titleTag: titleTag, subtitle: subtitle, subtitleTag: subtitleTag, description: description, layoutType: layoutType, backgroundColor: backgroundColor || backgroundColorSection, tabBarItems: tabs }, (0, uikit_product_utils_1.extractSupportProps)(rest), { children: [!tabBarItems && ((0, jsx_runtime_1.jsxs)(uikit_product_site_grid_1.Grid, { layoutType: layoutType, columnsConfig: columnsConfig, gap: gap, children: [type === 'info' &&
|
|
40
40
|
content.map((item, index) => (0, jsx_runtime_1.jsx)(uikit_product_site_cards_1.CardInfo, Object.assign({}, item, { outline: outline, layoutType: layoutType }), index)), type === 'numeric' &&
|
|
@@ -20,5 +20,5 @@ const utils_1 = require("./utils");
|
|
|
20
20
|
function SectionCaseCarousel(_a) {
|
|
21
21
|
var { items, layoutType } = _a, props = __rest(_a, ["items", "layoutType"]);
|
|
22
22
|
const carouselProps = (0, react_1.useMemo)(() => (0, utils_1.getCarouselProps)(layoutType), [layoutType]);
|
|
23
|
-
return ((0, jsx_runtime_1.jsx)(helperComponents_1.SectionCarousel, Object.assign({}, props, carouselProps, { layoutType: layoutType, children: items.map(item => ((0, jsx_runtime_1.jsx)(uikit_product_site_case_card_1.CaseCard, Object.assign({}, item, { layoutType: layoutType }), item.description))) })));
|
|
23
|
+
return ((0, jsx_runtime_1.jsx)(helperComponents_1.SectionCarousel, Object.assign({}, props, carouselProps, { layoutType: layoutType, gap: '2px', children: items.map(item => ((0, jsx_runtime_1.jsx)(uikit_product_site_case_card_1.CaseCard, Object.assign({}, item, { layoutType: layoutType }), item.description))) })));
|
|
24
24
|
}
|
|
@@ -31,5 +31,5 @@ function SectionCatalog(_a) {
|
|
|
31
31
|
const [selectedCategory, setSelectedCategory] = (0, uncontrollable_1.useUncontrolledProp)(selectedCategoryProp, categories[0].id, onCategorySelect);
|
|
32
32
|
const isDesktop = ['desktop', 'desktopSmall'].includes(layoutType);
|
|
33
33
|
const isOutlineCard = backgroundColor === 'neutral-background1-level';
|
|
34
|
-
return ((0, jsx_runtime_1.jsx)(SectionBasic_1.SectionBasic, Object.assign({ id: id, title: title, backgroundColor: backgroundColor, layoutType: layoutType, className: (0, classnames_1.default)(className, styles_module_scss_1.default.sectionCatalog) }, (0, uikit_product_utils_1.extractSupportProps)(rest), { children: (0, jsx_runtime_1.jsxs)("div", { className: styles_module_scss_1.default.body, children: [(0, jsx_runtime_1.jsxs)(tabs_1.Tabs, { value: selectedCategory, onChange: setSelectedCategory, children: [(0, jsx_runtime_1.jsxs)("div", { className: (0, classnames_1.default)(styles_module_scss_1.default.categoryList, { [styles_module_scss_1.default.desktopCategoryList]: isDesktop }), children: [(0, jsx_runtime_1.jsx)(tabs_1.Tabs.TabBar, { type: 'primary', orientation: isDesktop ? 'vertical' : 'horizontal', markerPosition: isDesktop ? 'before' : 'after', className: (0, classnames_1.default)({ [styles_module_scss_1.default.desktopTabs]: isDesktop }), children: categories.map(({ id, label }) => ((0, jsx_runtime_1.jsx)(tabs_1.Tabs.Tab, { value: id, label: label }, id))) }), footer && isDesktop && (0, jsx_runtime_1.jsx)(helperComponents_1.SectionCatalogFooter, { items: footer, layoutType: layoutType })] }), categories.map(({ id, items }) => ((0, jsx_runtime_1.jsx)(tabs_1.Tabs.TabContent, { value: id, className: styles_module_scss_1.default.tabContent, children: (0, jsx_runtime_1.jsx)(uikit_product_site_grid_1.Grid, { columnsConfig: constants_1.GRID_CONFIG, gap: '
|
|
34
|
+
return ((0, jsx_runtime_1.jsx)(SectionBasic_1.SectionBasic, Object.assign({ id: id, title: title, backgroundColor: backgroundColor, layoutType: layoutType, className: (0, classnames_1.default)(className, styles_module_scss_1.default.sectionCatalog) }, (0, uikit_product_utils_1.extractSupportProps)(rest), { children: (0, jsx_runtime_1.jsxs)("div", { className: styles_module_scss_1.default.body, children: [(0, jsx_runtime_1.jsxs)(tabs_1.Tabs, { value: selectedCategory, onChange: setSelectedCategory, children: [(0, jsx_runtime_1.jsxs)("div", { className: (0, classnames_1.default)(styles_module_scss_1.default.categoryList, { [styles_module_scss_1.default.desktopCategoryList]: isDesktop }), children: [(0, jsx_runtime_1.jsx)(tabs_1.Tabs.TabBar, { type: 'primary', orientation: isDesktop ? 'vertical' : 'horizontal', markerPosition: isDesktop ? 'before' : 'after', className: (0, classnames_1.default)({ [styles_module_scss_1.default.desktopTabs]: isDesktop }), children: categories.map(({ id, label }) => ((0, jsx_runtime_1.jsx)(tabs_1.Tabs.Tab, { value: id, label: label }, id))) }), footer && isDesktop && (0, jsx_runtime_1.jsx)(helperComponents_1.SectionCatalogFooter, { items: footer, layoutType: layoutType })] }), categories.map(({ id, items }) => ((0, jsx_runtime_1.jsx)(tabs_1.Tabs.TabContent, { value: id, className: styles_module_scss_1.default.tabContent, children: (0, jsx_runtime_1.jsx)(uikit_product_site_grid_1.Grid, { columnsConfig: constants_1.GRID_CONFIG, gap: 'xs', layoutType: layoutType, children: items.map(item => ((0, jsx_runtime_1.jsx)(uikit_product_site_cards_1.CardProduct, Object.assign({ layoutType: layoutType, outline: isOutlineCard }, item), item.title))) }) }, id)))] }), footer && !isDesktop && (0, jsx_runtime_1.jsx)(helperComponents_1.SectionCatalogFooter, { items: footer, layoutType: layoutType })] }) })));
|
|
35
35
|
}
|
|
@@ -20,5 +20,5 @@ const utils_1 = require("./utils");
|
|
|
20
20
|
function SectionClientsCarousel(_a) {
|
|
21
21
|
var { items } = _a, props = __rest(_a, ["items"]);
|
|
22
22
|
const carouselProps = (0, react_1.useMemo)(() => (0, utils_1.getCarouselProps)(props.layoutType), [props.layoutType]);
|
|
23
|
-
return ((0, jsx_runtime_1.jsx)(helperComponents_1.SectionCarousel, Object.assign({ autoSwipe: 0 }, props, carouselProps, { gap: figma_tokens_1.themeVars.dimension['
|
|
23
|
+
return ((0, jsx_runtime_1.jsx)(helperComponents_1.SectionCarousel, Object.assign({ autoSwipe: 0 }, props, carouselProps, { gap: figma_tokens_1.themeVars.dimension['025m'], children: items.map(item => ((0, jsx_runtime_1.jsx)(helperComponents_1.CardClient, Object.assign({}, item), item.alt))) })));
|
|
24
24
|
}
|
|
@@ -17,5 +17,5 @@ const helperComponents_1 = require("../../helperComponents");
|
|
|
17
17
|
const constants_1 = require("./constants");
|
|
18
18
|
function SectionExpertsCarousel(_a) {
|
|
19
19
|
var { items } = _a, props = __rest(_a, ["items"]);
|
|
20
|
-
return ((0, jsx_runtime_1.jsx)(helperComponents_1.SectionCarousel, Object.assign({}, props, { itemMinWidth: constants_1.EXPERT_MINIMAL_WIDTH, maxItemsPerPage: constants_1.MAX_PER_PAGE, children: items.map(item => ((0, jsx_runtime_1.jsx)(helperComponents_1.Expert, Object.assign({}, item), item.name))) })));
|
|
20
|
+
return ((0, jsx_runtime_1.jsx)(helperComponents_1.SectionCarousel, Object.assign({}, props, { itemMinWidth: constants_1.EXPERT_MINIMAL_WIDTH, maxItemsPerPage: constants_1.MAX_PER_PAGE, gap: '2px', children: items.map(item => ((0, jsx_runtime_1.jsx)(helperComponents_1.Expert, Object.assign({}, item), item.name))) })));
|
|
21
21
|
}
|
|
@@ -53,5 +53,5 @@ function SectionLeading(_a) {
|
|
|
53
53
|
}
|
|
54
54
|
return items.length > itemsPerPageAmount;
|
|
55
55
|
}, [items.length, itemsPerPageAmount, layoutType]);
|
|
56
|
-
return ((0, jsx_runtime_1.jsx)(SectionBasic_1.SectionBasic, Object.assign({ id: id, layoutType: layoutType, className: className, backgroundColor: backgroundColor, title: title, description: description, titleSectionSize: titleSectionSize, titleTag: titleTag }, (0, uikit_product_utils_1.extractSupportProps)(rest), { children: (0, jsx_runtime_1.jsxs)("div", { ref: wrapperRef, className: styles_module_scss_1.default.leadingSection, "data-layout-type": layoutType, children: [itemsPerPageAmount > 0 && ((0, jsx_runtime_1.jsx)(carousel_1.Carousel, { state: { page: currentPage, onChange: setCurrentPage }, arrows: showArrows, controlsVisibility: 'always', showItems: itemsPerPageAmount, pagination: items.length > itemsPerPageAmount, swipe: items.length > itemsPerPageAmount, autoSwipe: autoSwipe, infiniteScroll: true, children: items.map(item => ((0, jsx_runtime_1.jsx)(helperComponents_1.CardLeading, Object.assign({}, item, { layoutType: layoutType, "data-test-id": item['data-test-id'] }), item.label))) })), footerDescription && ((0, jsx_runtime_1.jsx)("div", { className: styles_module_scss_1.default.footerDescription, "data-layout-type": layoutType, children: (0, jsx_runtime_1.jsx)(typography_1.Typography.SansBodyL, { className: styles_module_scss_1.default.footerDescriptionText, children: footerDescription }) }))] }) })));
|
|
56
|
+
return ((0, jsx_runtime_1.jsx)(SectionBasic_1.SectionBasic, Object.assign({ id: id, layoutType: layoutType, className: className, backgroundColor: backgroundColor, title: title, description: description, titleSectionSize: titleSectionSize, titleTag: titleTag }, (0, uikit_product_utils_1.extractSupportProps)(rest), { children: (0, jsx_runtime_1.jsxs)("div", { ref: wrapperRef, className: styles_module_scss_1.default.leadingSection, "data-layout-type": layoutType, children: [itemsPerPageAmount > 0 && ((0, jsx_runtime_1.jsx)(carousel_1.Carousel, { state: { page: currentPage, onChange: setCurrentPage }, arrows: showArrows, controlsVisibility: 'always', showItems: itemsPerPageAmount, pagination: items.length > itemsPerPageAmount, swipe: items.length > itemsPerPageAmount, autoSwipe: autoSwipe, infiniteScroll: true, gap: '2px', children: items.map(item => ((0, jsx_runtime_1.jsx)(helperComponents_1.CardLeading, Object.assign({}, item, { layoutType: layoutType, "data-test-id": item['data-test-id'] }), item.label))) })), footerDescription && ((0, jsx_runtime_1.jsx)("div", { className: styles_module_scss_1.default.footerDescription, "data-layout-type": layoutType, children: (0, jsx_runtime_1.jsx)(typography_1.Typography.SansBodyL, { className: styles_module_scss_1.default.footerDescriptionText, children: footerDescription }) }))] }) })));
|
|
57
57
|
}
|
|
@@ -20,5 +20,5 @@ const utils_1 = require("./utils");
|
|
|
20
20
|
function SectionMarketplaceCarousel(_a) {
|
|
21
21
|
var { items } = _a, props = __rest(_a, ["items"]);
|
|
22
22
|
const carouselProps = (0, react_1.useMemo)(() => (0, utils_1.getCarouselProps)(props.layoutType), [props]);
|
|
23
|
-
return ((0, jsx_runtime_1.jsx)(helperComponents_1.SectionCarousel, Object.assign({}, props, carouselProps, { children: items.map(item => ((0, jsx_runtime_1.jsx)(uikit_product_site_cards_1.CardMarketplace, Object.assign({}, item), item.title))) })));
|
|
23
|
+
return ((0, jsx_runtime_1.jsx)(helperComponents_1.SectionCarousel, Object.assign({}, props, carouselProps, { gap: '2px', children: items.map(item => ((0, jsx_runtime_1.jsx)(uikit_product_site_cards_1.CardMarketplace, Object.assign({}, item), item.title))) })));
|
|
24
24
|
}
|
|
@@ -7,15 +7,15 @@
|
|
|
7
7
|
display:flex;
|
|
8
8
|
box-sizing:border-box;
|
|
9
9
|
flex-direction:row;
|
|
10
|
-
gap:var(--dimension-
|
|
10
|
+
gap:var(--dimension-025m, 2px);
|
|
11
11
|
}
|
|
12
12
|
.content[data-layout-type=tablet]{
|
|
13
13
|
flex-direction:column;
|
|
14
|
-
gap:var(--dimension-
|
|
14
|
+
gap:var(--dimension-025m, 2px);
|
|
15
15
|
}
|
|
16
16
|
.content[data-layout-type=mobile]{
|
|
17
17
|
flex-direction:column;
|
|
18
|
-
gap:var(--dimension-
|
|
18
|
+
gap:var(--dimension-025m, 2px);
|
|
19
19
|
}
|
|
20
20
|
|
|
21
21
|
.card{
|
|
@@ -44,15 +44,13 @@
|
|
|
44
44
|
.sectionFilters{
|
|
45
45
|
display:grid;
|
|
46
46
|
grid-template-columns:repeat(3, 1fr);
|
|
47
|
-
gap:var(--dimension-
|
|
47
|
+
gap:var(--dimension-1m, 8px);
|
|
48
48
|
}
|
|
49
49
|
.sectionFilters[data-layout-type=tablet]{
|
|
50
50
|
grid-template-columns:repeat(2, 1fr);
|
|
51
|
-
gap:var(--dimension-2m, 16px);
|
|
52
51
|
}
|
|
53
52
|
.sectionFilters[data-layout-type=mobile]{
|
|
54
53
|
grid-template-columns:repeat(1, 1fr);
|
|
55
|
-
gap:var(--dimension-3m, 24px);
|
|
56
54
|
}
|
|
57
55
|
|
|
58
56
|
.footer{
|
|
@@ -28,7 +28,7 @@ export function SectionBenefits(_a) {
|
|
|
28
28
|
(_a = tab.onClick) === null || _a === void 0 ? void 0 : _a.call(tab, e);
|
|
29
29
|
} }))), [tabBarItems]);
|
|
30
30
|
const outline = rest.outline;
|
|
31
|
-
const gap = type === 'basic' ? 'l' : '
|
|
31
|
+
const gap = type === 'basic' ? 'l' : 'xs';
|
|
32
32
|
const backgroundColorSection = type === 'basic' || outline ? 'neutral-background1-level' : 'neutral-background';
|
|
33
33
|
return (_jsxs(SectionBasic, Object.assign({ id: id, title: title, titleTag: titleTag, subtitle: subtitle, subtitleTag: subtitleTag, description: description, layoutType: layoutType, backgroundColor: backgroundColor || backgroundColorSection, tabBarItems: tabs }, extractSupportProps(rest), { children: [!tabBarItems && (_jsxs(Grid, { layoutType: layoutType, columnsConfig: columnsConfig, gap: gap, children: [type === 'info' &&
|
|
34
34
|
content.map((item, index) => _jsx(CardInfo, Object.assign({}, item, { outline: outline, layoutType: layoutType }), index)), type === 'numeric' &&
|
|
@@ -17,5 +17,5 @@ import { getCarouselProps } from './utils';
|
|
|
17
17
|
export function SectionCaseCarousel(_a) {
|
|
18
18
|
var { items, layoutType } = _a, props = __rest(_a, ["items", "layoutType"]);
|
|
19
19
|
const carouselProps = useMemo(() => getCarouselProps(layoutType), [layoutType]);
|
|
20
|
-
return (_jsx(SectionCarousel, Object.assign({}, props, carouselProps, { layoutType: layoutType, children: items.map(item => (_jsx(CaseCard, Object.assign({}, item, { layoutType: layoutType }), item.description))) })));
|
|
20
|
+
return (_jsx(SectionCarousel, Object.assign({}, props, carouselProps, { layoutType: layoutType, gap: '2px', children: items.map(item => (_jsx(CaseCard, Object.assign({}, item, { layoutType: layoutType }), item.description))) })));
|
|
21
21
|
}
|
|
@@ -25,5 +25,5 @@ export function SectionCatalog(_a) {
|
|
|
25
25
|
const [selectedCategory, setSelectedCategory] = useUncontrolledProp(selectedCategoryProp, categories[0].id, onCategorySelect);
|
|
26
26
|
const isDesktop = ['desktop', 'desktopSmall'].includes(layoutType);
|
|
27
27
|
const isOutlineCard = backgroundColor === 'neutral-background1-level';
|
|
28
|
-
return (_jsx(SectionBasic, Object.assign({ id: id, title: title, backgroundColor: backgroundColor, layoutType: layoutType, className: cn(className, styles.sectionCatalog) }, extractSupportProps(rest), { children: _jsxs("div", { className: styles.body, children: [_jsxs(Tabs, { value: selectedCategory, onChange: setSelectedCategory, children: [_jsxs("div", { className: cn(styles.categoryList, { [styles.desktopCategoryList]: isDesktop }), children: [_jsx(Tabs.TabBar, { type: 'primary', orientation: isDesktop ? 'vertical' : 'horizontal', markerPosition: isDesktop ? 'before' : 'after', className: cn({ [styles.desktopTabs]: isDesktop }), children: categories.map(({ id, label }) => (_jsx(Tabs.Tab, { value: id, label: label }, id))) }), footer && isDesktop && _jsx(SectionCatalogFooter, { items: footer, layoutType: layoutType })] }), categories.map(({ id, items }) => (_jsx(Tabs.TabContent, { value: id, className: styles.tabContent, children: _jsx(Grid, { columnsConfig: GRID_CONFIG, gap: '
|
|
28
|
+
return (_jsx(SectionBasic, Object.assign({ id: id, title: title, backgroundColor: backgroundColor, layoutType: layoutType, className: cn(className, styles.sectionCatalog) }, extractSupportProps(rest), { children: _jsxs("div", { className: styles.body, children: [_jsxs(Tabs, { value: selectedCategory, onChange: setSelectedCategory, children: [_jsxs("div", { className: cn(styles.categoryList, { [styles.desktopCategoryList]: isDesktop }), children: [_jsx(Tabs.TabBar, { type: 'primary', orientation: isDesktop ? 'vertical' : 'horizontal', markerPosition: isDesktop ? 'before' : 'after', className: cn({ [styles.desktopTabs]: isDesktop }), children: categories.map(({ id, label }) => (_jsx(Tabs.Tab, { value: id, label: label }, id))) }), footer && isDesktop && _jsx(SectionCatalogFooter, { items: footer, layoutType: layoutType })] }), categories.map(({ id, items }) => (_jsx(Tabs.TabContent, { value: id, className: styles.tabContent, children: _jsx(Grid, { columnsConfig: GRID_CONFIG, gap: 'xs', layoutType: layoutType, children: items.map(item => (_jsx(CardProduct, Object.assign({ layoutType: layoutType, outline: isOutlineCard }, item), item.title))) }) }, id)))] }), footer && !isDesktop && _jsx(SectionCatalogFooter, { items: footer, layoutType: layoutType })] }) })));
|
|
29
29
|
}
|
|
@@ -17,5 +17,5 @@ import { getCarouselProps } from './utils';
|
|
|
17
17
|
export function SectionClientsCarousel(_a) {
|
|
18
18
|
var { items } = _a, props = __rest(_a, ["items"]);
|
|
19
19
|
const carouselProps = useMemo(() => getCarouselProps(props.layoutType), [props.layoutType]);
|
|
20
|
-
return (_jsx(SectionCarousel, Object.assign({ autoSwipe: 0 }, props, carouselProps, { gap: themeVars.dimension['
|
|
20
|
+
return (_jsx(SectionCarousel, Object.assign({ autoSwipe: 0 }, props, carouselProps, { gap: themeVars.dimension['025m'], children: items.map(item => (_jsx(CardClient, Object.assign({}, item), item.alt))) })));
|
|
21
21
|
}
|
|
@@ -14,5 +14,5 @@ import { Expert, SectionCarousel } from '../../helperComponents';
|
|
|
14
14
|
import { EXPERT_MINIMAL_WIDTH, MAX_PER_PAGE } from './constants';
|
|
15
15
|
export function SectionExpertsCarousel(_a) {
|
|
16
16
|
var { items } = _a, props = __rest(_a, ["items"]);
|
|
17
|
-
return (_jsx(SectionCarousel, Object.assign({}, props, { itemMinWidth: EXPERT_MINIMAL_WIDTH, maxItemsPerPage: MAX_PER_PAGE, children: items.map(item => (_jsx(Expert, Object.assign({}, item), item.name))) })));
|
|
17
|
+
return (_jsx(SectionCarousel, Object.assign({}, props, { itemMinWidth: EXPERT_MINIMAL_WIDTH, maxItemsPerPage: MAX_PER_PAGE, gap: '2px', children: items.map(item => (_jsx(Expert, Object.assign({}, item), item.name))) })));
|
|
18
18
|
}
|
|
@@ -47,5 +47,5 @@ export function SectionLeading(_a) {
|
|
|
47
47
|
}
|
|
48
48
|
return items.length > itemsPerPageAmount;
|
|
49
49
|
}, [items.length, itemsPerPageAmount, layoutType]);
|
|
50
|
-
return (_jsx(SectionBasic, Object.assign({ id: id, layoutType: layoutType, className: className, backgroundColor: backgroundColor, title: title, description: description, titleSectionSize: titleSectionSize, titleTag: titleTag }, extractSupportProps(rest), { children: _jsxs("div", { ref: wrapperRef, className: styles.leadingSection, "data-layout-type": layoutType, children: [itemsPerPageAmount > 0 && (_jsx(Carousel, { state: { page: currentPage, onChange: setCurrentPage }, arrows: showArrows, controlsVisibility: 'always', showItems: itemsPerPageAmount, pagination: items.length > itemsPerPageAmount, swipe: items.length > itemsPerPageAmount, autoSwipe: autoSwipe, infiniteScroll: true, children: items.map(item => (_jsx(CardLeading, Object.assign({}, item, { layoutType: layoutType, "data-test-id": item['data-test-id'] }), item.label))) })), footerDescription && (_jsx("div", { className: styles.footerDescription, "data-layout-type": layoutType, children: _jsx(Typography.SansBodyL, { className: styles.footerDescriptionText, children: footerDescription }) }))] }) })));
|
|
50
|
+
return (_jsx(SectionBasic, Object.assign({ id: id, layoutType: layoutType, className: className, backgroundColor: backgroundColor, title: title, description: description, titleSectionSize: titleSectionSize, titleTag: titleTag }, extractSupportProps(rest), { children: _jsxs("div", { ref: wrapperRef, className: styles.leadingSection, "data-layout-type": layoutType, children: [itemsPerPageAmount > 0 && (_jsx(Carousel, { state: { page: currentPage, onChange: setCurrentPage }, arrows: showArrows, controlsVisibility: 'always', showItems: itemsPerPageAmount, pagination: items.length > itemsPerPageAmount, swipe: items.length > itemsPerPageAmount, autoSwipe: autoSwipe, infiniteScroll: true, gap: '2px', children: items.map(item => (_jsx(CardLeading, Object.assign({}, item, { layoutType: layoutType, "data-test-id": item['data-test-id'] }), item.label))) })), footerDescription && (_jsx("div", { className: styles.footerDescription, "data-layout-type": layoutType, children: _jsx(Typography.SansBodyL, { className: styles.footerDescriptionText, children: footerDescription }) }))] }) })));
|
|
51
51
|
}
|
|
@@ -17,5 +17,5 @@ import { getCarouselProps } from './utils';
|
|
|
17
17
|
export function SectionMarketplaceCarousel(_a) {
|
|
18
18
|
var { items } = _a, props = __rest(_a, ["items"]);
|
|
19
19
|
const carouselProps = useMemo(() => getCarouselProps(props.layoutType), [props]);
|
|
20
|
-
return (_jsx(SectionCarousel, Object.assign({}, props, carouselProps, { children: items.map(item => (_jsx(CardMarketplace, Object.assign({}, item), item.title))) })));
|
|
20
|
+
return (_jsx(SectionCarousel, Object.assign({}, props, carouselProps, { gap: '2px', children: items.map(item => (_jsx(CardMarketplace, Object.assign({}, item), item.title))) })));
|
|
21
21
|
}
|
|
@@ -7,15 +7,15 @@
|
|
|
7
7
|
display:flex;
|
|
8
8
|
box-sizing:border-box;
|
|
9
9
|
flex-direction:row;
|
|
10
|
-
gap:var(--dimension-
|
|
10
|
+
gap:var(--dimension-025m, 2px);
|
|
11
11
|
}
|
|
12
12
|
.content[data-layout-type=tablet]{
|
|
13
13
|
flex-direction:column;
|
|
14
|
-
gap:var(--dimension-
|
|
14
|
+
gap:var(--dimension-025m, 2px);
|
|
15
15
|
}
|
|
16
16
|
.content[data-layout-type=mobile]{
|
|
17
17
|
flex-direction:column;
|
|
18
|
-
gap:var(--dimension-
|
|
18
|
+
gap:var(--dimension-025m, 2px);
|
|
19
19
|
}
|
|
20
20
|
|
|
21
21
|
.card{
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@cloud-ru/uikit-product-site-section",
|
|
3
3
|
"title": "Site Section",
|
|
4
|
-
"version": "0.
|
|
4
|
+
"version": "0.26.0",
|
|
5
5
|
"sideEffects": [
|
|
6
6
|
"*.css",
|
|
7
7
|
"*.woff",
|
|
@@ -67,5 +67,5 @@
|
|
|
67
67
|
"@cloud-ru/uikit-product-locale": "*",
|
|
68
68
|
"@snack-uikit/figma-tokens": "*"
|
|
69
69
|
},
|
|
70
|
-
"gitHead": "
|
|
70
|
+
"gitHead": "340f8e4151c606c0bd1d8b3053a2bda085b2861b"
|
|
71
71
|
}
|
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
@use '@sbercloud/figma-tokens-cloud-platform/build/scss/components/styles-tokens-element' as ste;
|
|
2
2
|
|
|
3
3
|
.accordion {
|
|
4
|
-
|
|
4
|
+
// Important нужен из-за перезаписи типа
|
|
5
|
+
gap: 2px !important; /* stylelint-disable-line declaration-no-important */
|
|
5
6
|
}
|
|
6
7
|
|
|
7
8
|
.description {
|
|
@@ -52,16 +52,14 @@
|
|
|
52
52
|
.sectionFilters {
|
|
53
53
|
display: grid;
|
|
54
54
|
grid-template-columns: repeat(3, 1fr);
|
|
55
|
-
gap: var.$dimension-
|
|
55
|
+
gap: var.$dimension-1m;
|
|
56
56
|
|
|
57
57
|
&[data-layout-type='tablet'] {
|
|
58
58
|
grid-template-columns: repeat(2, 1fr);
|
|
59
|
-
gap: var.$dimension-2m;
|
|
60
59
|
}
|
|
61
60
|
|
|
62
61
|
&[data-layout-type='mobile'] {
|
|
63
62
|
grid-template-columns: repeat(1, 1fr);
|
|
64
|
-
gap: var.$dimension-3m;
|
|
65
63
|
}
|
|
66
64
|
}
|
|
67
65
|
|
|
@@ -77,7 +77,7 @@ export function SectionBenefits({
|
|
|
77
77
|
);
|
|
78
78
|
|
|
79
79
|
const outline = (rest as ContentInfo).outline;
|
|
80
|
-
const gap = type === 'basic' ? 'l' : '
|
|
80
|
+
const gap = type === 'basic' ? 'l' : 'xs';
|
|
81
81
|
const backgroundColorSection = type === 'basic' || outline ? 'neutral-background1-level' : 'neutral-background';
|
|
82
82
|
|
|
83
83
|
return (
|
|
@@ -13,7 +13,7 @@ export function SectionCaseCarousel({ items, layoutType, ...props }: SectionCase
|
|
|
13
13
|
const carouselProps = useMemo(() => getCarouselProps(layoutType), [layoutType]);
|
|
14
14
|
|
|
15
15
|
return (
|
|
16
|
-
<SectionCarousel {...props} {...carouselProps} layoutType={layoutType}>
|
|
16
|
+
<SectionCarousel {...props} {...carouselProps} layoutType={layoutType} gap='2px'>
|
|
17
17
|
{items.map(item => (
|
|
18
18
|
<CaseCard key={item.description} {...item} layoutType={layoutType} />
|
|
19
19
|
))}
|
|
@@ -89,7 +89,7 @@ export function SectionCatalog({
|
|
|
89
89
|
|
|
90
90
|
{categories.map(({ id, items }) => (
|
|
91
91
|
<Tabs.TabContent key={id} value={id} className={styles.tabContent}>
|
|
92
|
-
<Grid columnsConfig={GRID_CONFIG} gap='
|
|
92
|
+
<Grid columnsConfig={GRID_CONFIG} gap='xs' layoutType={layoutType}>
|
|
93
93
|
{items.map(item => (
|
|
94
94
|
<CardProduct key={item.title} layoutType={layoutType} outline={isOutlineCard} {...item} />
|
|
95
95
|
))}
|
|
@@ -14,7 +14,7 @@ export function SectionClientsCarousel({ items, ...props }: SectionClientsCarous
|
|
|
14
14
|
const carouselProps = useMemo(() => getCarouselProps(props.layoutType), [props.layoutType]);
|
|
15
15
|
|
|
16
16
|
return (
|
|
17
|
-
<SectionCarousel autoSwipe={0} {...props} {...carouselProps} gap={themeVars.dimension['
|
|
17
|
+
<SectionCarousel autoSwipe={0} {...props} {...carouselProps} gap={themeVars.dimension['025m']}>
|
|
18
18
|
{items.map(item => (
|
|
19
19
|
<CardClient key={item.alt} {...item} />
|
|
20
20
|
))}
|
|
@@ -9,7 +9,7 @@ export type SectionExpertsCarouselProps = Omit<
|
|
|
9
9
|
|
|
10
10
|
export function SectionExpertsCarousel({ items, ...props }: SectionExpertsCarouselProps) {
|
|
11
11
|
return (
|
|
12
|
-
<SectionCarousel {...props} itemMinWidth={EXPERT_MINIMAL_WIDTH} maxItemsPerPage={MAX_PER_PAGE}>
|
|
12
|
+
<SectionCarousel {...props} itemMinWidth={EXPERT_MINIMAL_WIDTH} maxItemsPerPage={MAX_PER_PAGE} gap='2px'>
|
|
13
13
|
{items.map(item => (
|
|
14
14
|
<Expert key={item.name} {...item} />
|
|
15
15
|
))}
|
|
@@ -98,6 +98,7 @@ export function SectionLeading({
|
|
|
98
98
|
swipe={items.length > itemsPerPageAmount}
|
|
99
99
|
autoSwipe={autoSwipe}
|
|
100
100
|
infiniteScroll
|
|
101
|
+
gap='2px'
|
|
101
102
|
>
|
|
102
103
|
{items.map(item => (
|
|
103
104
|
<CardLeading key={item.label} {...item} layoutType={layoutType} data-test-id={item['data-test-id']} />
|
|
@@ -14,7 +14,7 @@ export function SectionMarketplaceCarousel({ items, ...props }: SectionMarketpla
|
|
|
14
14
|
const carouselProps = useMemo(() => getCarouselProps(props.layoutType), [props]);
|
|
15
15
|
|
|
16
16
|
return (
|
|
17
|
-
<SectionCarousel {...props} {...carouselProps}>
|
|
17
|
+
<SectionCarousel {...props} {...carouselProps} gap='2px'>
|
|
18
18
|
{items.map(item => (
|
|
19
19
|
<CardMarketplace key={item.title} {...item} />
|
|
20
20
|
))}
|
|
@@ -10,16 +10,16 @@
|
|
|
10
10
|
box-sizing: border-box;
|
|
11
11
|
|
|
12
12
|
flex-direction: row;
|
|
13
|
-
gap: var.$dimension-
|
|
13
|
+
gap: var.$dimension-025m;
|
|
14
14
|
|
|
15
15
|
&[data-layout-type='tablet'] {
|
|
16
16
|
flex-direction: column;
|
|
17
|
-
gap: var.$dimension-
|
|
17
|
+
gap: var.$dimension-025m;
|
|
18
18
|
}
|
|
19
19
|
|
|
20
20
|
&[data-layout-type='mobile'] {
|
|
21
21
|
flex-direction: column;
|
|
22
|
-
gap: var.$dimension-
|
|
22
|
+
gap: var.$dimension-025m;
|
|
23
23
|
}
|
|
24
24
|
}
|
|
25
25
|
|