@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.
Files changed (36) hide show
  1. package/CHANGELOG.md +11 -0
  2. package/README.md +22 -31
  3. package/dist/cjs/components/SectionAccordion/styles.module.css +1 -1
  4. package/dist/cjs/components/SectionBasic/styles.module.css +1 -3
  5. package/dist/cjs/components/SectionBenefits/SectionBenefits.js +1 -1
  6. package/dist/cjs/components/SectionCaseCarousel/SectionCaseCarousel.js +1 -1
  7. package/dist/cjs/components/SectionCatalog/SectionCatalog.js +1 -1
  8. package/dist/cjs/components/SectionClientsCarousel/SectionClientsCarousel.js +1 -1
  9. package/dist/cjs/components/SectionExpertsCarousel/SectionExpertsCarousel.js +1 -1
  10. package/dist/cjs/components/SectionLeading/SectionLeading.js +1 -1
  11. package/dist/cjs/components/SectionMarketplaceCarousel/SectionMarketplaceCarousel.js +1 -1
  12. package/dist/cjs/components/SectionPersonalManager/styles.module.css +3 -3
  13. package/dist/cjs/components/SectionPromoList/styles.module.css +1 -1
  14. package/dist/esm/components/SectionAccordion/styles.module.css +1 -1
  15. package/dist/esm/components/SectionBasic/styles.module.css +1 -3
  16. package/dist/esm/components/SectionBenefits/SectionBenefits.js +1 -1
  17. package/dist/esm/components/SectionCaseCarousel/SectionCaseCarousel.js +1 -1
  18. package/dist/esm/components/SectionCatalog/SectionCatalog.js +1 -1
  19. package/dist/esm/components/SectionClientsCarousel/SectionClientsCarousel.js +1 -1
  20. package/dist/esm/components/SectionExpertsCarousel/SectionExpertsCarousel.js +1 -1
  21. package/dist/esm/components/SectionLeading/SectionLeading.js +1 -1
  22. package/dist/esm/components/SectionMarketplaceCarousel/SectionMarketplaceCarousel.js +1 -1
  23. package/dist/esm/components/SectionPersonalManager/styles.module.css +3 -3
  24. package/dist/esm/components/SectionPromoList/styles.module.css +1 -1
  25. package/package.json +2 -2
  26. package/src/components/SectionAccordion/styles.module.scss +2 -1
  27. package/src/components/SectionBasic/styles.module.scss +1 -3
  28. package/src/components/SectionBenefits/SectionBenefits.tsx +1 -1
  29. package/src/components/SectionCaseCarousel/SectionCaseCarousel.tsx +1 -1
  30. package/src/components/SectionCatalog/SectionCatalog.tsx +1 -1
  31. package/src/components/SectionClientsCarousel/SectionClientsCarousel.tsx +1 -1
  32. package/src/components/SectionExpertsCarousel/SectionExpertsCarousel.tsx +1 -1
  33. package/src/components/SectionLeading/SectionLeading.tsx +1 -0
  34. package/src/components/SectionMarketplaceCarousel/SectionMarketplaceCarousel.tsx +1 -1
  35. package/src/components/SectionPersonalManager/styles.module.scss +3 -3
  36. 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* | `ColumnsConfig` | - | Конфигурация настройки колонок для разных layoutType |
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 | `ReactNode \| VideoPlayerProps` | - | |
158
- | onPlay | `() => void` | - | |
159
- | onError | `ReactEventHandler<HTMLVideoElement>` | - | |
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 | `ReactNode \| VideoPlayerProps` | - | |
175
- | onPlay | `() => void` | - | |
176
- | onError | `ReactEventHandler<HTMLVideoElement>` | - | |
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 | `ReactNode \| VideoPlayerProps` | - | |
256
- | onPlay | `() => void` | - | |
257
- | onError | `ReactEventHandler<HTMLVideoElement>` | - | |
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 | "s" \| "m" \| "l" \| "xs" | s | Размер отступов сетки |
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" \| "appearance" \| "href" \| "target" \| "textMode">` | - | Ссылка в названии |
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"` | - | Тег заголовка |
@@ -1,5 +1,5 @@
1
1
  .accordion{
2
- gap:1px;
2
+ gap:2px !important;
3
3
  }
4
4
 
5
5
  .description{
@@ -44,15 +44,13 @@
44
44
  .sectionFilters{
45
45
  display:grid;
46
46
  grid-template-columns:repeat(3, 1fr);
47
- gap:var(--dimension-4m, 32px);
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' : 's';
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: 's', 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 })] }) })));
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['1m'], children: items.map(item => ((0, jsx_runtime_1.jsx)(helperComponents_1.CardClient, Object.assign({}, item), item.alt))) })));
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-4m, 32px);
10
+ gap:var(--dimension-025m, 2px);
11
11
  }
12
12
  .content[data-layout-type=tablet]{
13
13
  flex-direction:column;
14
- gap:var(--dimension-2m, 16px);
14
+ gap:var(--dimension-025m, 2px);
15
15
  }
16
16
  .content[data-layout-type=mobile]{
17
17
  flex-direction:column;
18
- gap:var(--dimension-2m, 16px);
18
+ gap:var(--dimension-025m, 2px);
19
19
  }
20
20
 
21
21
  .card{
@@ -5,7 +5,7 @@
5
5
 
6
6
  .cards{
7
7
  display:flex;
8
- gap:8px;
8
+ gap:2px;
9
9
  }
10
10
  .cards[data-layout-type=tablet], .cards[data-layout-type=mobile]{
11
11
  flex-direction:column;
@@ -1,5 +1,5 @@
1
1
  .accordion{
2
- gap:1px;
2
+ gap:2px !important;
3
3
  }
4
4
 
5
5
  .description{
@@ -44,15 +44,13 @@
44
44
  .sectionFilters{
45
45
  display:grid;
46
46
  grid-template-columns:repeat(3, 1fr);
47
- gap:var(--dimension-4m, 32px);
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' : 's';
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: 's', 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 })] }) })));
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['1m'], children: items.map(item => (_jsx(CardClient, Object.assign({}, item), item.alt))) })));
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-4m, 32px);
10
+ gap:var(--dimension-025m, 2px);
11
11
  }
12
12
  .content[data-layout-type=tablet]{
13
13
  flex-direction:column;
14
- gap:var(--dimension-2m, 16px);
14
+ gap:var(--dimension-025m, 2px);
15
15
  }
16
16
  .content[data-layout-type=mobile]{
17
17
  flex-direction:column;
18
- gap:var(--dimension-2m, 16px);
18
+ gap:var(--dimension-025m, 2px);
19
19
  }
20
20
 
21
21
  .card{
@@ -5,7 +5,7 @@
5
5
 
6
6
  .cards{
7
7
  display:flex;
8
- gap:8px;
8
+ gap:2px;
9
9
  }
10
10
  .cards[data-layout-type=tablet], .cards[data-layout-type=mobile]{
11
11
  flex-direction:column;
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.25.5",
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": "1a98d6d9bff32edcbb3f9b0be0a14dce3f2abe5d"
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
- gap: 1px;
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-4m;
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' : 's';
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='s' layoutType={layoutType}>
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['1m']}>
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-4m;
13
+ gap: var.$dimension-025m;
14
14
 
15
15
  &[data-layout-type='tablet'] {
16
16
  flex-direction: column;
17
- gap: var.$dimension-2m;
17
+ gap: var.$dimension-025m;
18
18
  }
19
19
 
20
20
  &[data-layout-type='mobile'] {
21
21
  flex-direction: column;
22
- gap: var.$dimension-2m;
22
+ gap: var.$dimension-025m;
23
23
  }
24
24
  }
25
25
 
@@ -7,7 +7,7 @@
7
7
 
8
8
  .cards {
9
9
  display: flex;
10
- gap: 8px;
10
+ gap: 2px;
11
11
 
12
12
  &[data-layout-type='tablet'],
13
13
  &[data-layout-type='mobile'] {