@snack-uikit/list 0.21.11-preview-e8062bb7.0 → 0.21.11
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 +12 -0
- package/README.md +0 -2
- package/dist/cjs/components/Items/AccordionItem/AccordionItem.js +1 -1
- package/dist/cjs/components/Items/BaseItem/styles.module.css +3 -3
- package/dist/cjs/components/Lists/List/List.d.ts +0 -1
- package/dist/cjs/components/Lists/ListPrivate/ListPrivate.js +3 -4
- package/dist/cjs/components/Lists/types.d.ts +0 -2
- package/dist/cjs/helperComponents/Separator/styles.module.css +3 -3
- package/dist/esm/components/Items/AccordionItem/AccordionItem.js +1 -1
- package/dist/esm/components/Items/BaseItem/styles.module.css +3 -3
- package/dist/esm/components/Lists/List/List.d.ts +0 -1
- package/dist/esm/components/Lists/ListPrivate/ListPrivate.js +2 -2
- package/dist/esm/components/Lists/types.d.ts +0 -2
- package/dist/esm/helperComponents/Separator/styles.module.css +3 -3
- package/package.json +6 -6
- package/src/components/Items/AccordionItem/AccordionItem.tsx +1 -1
- package/src/components/Items/BaseItem/styles.module.scss +2 -38
- package/src/components/Lists/ListPrivate/ListPrivate.tsx +5 -9
- package/src/components/Lists/types.ts +0 -2
package/CHANGELOG.md
CHANGED
|
@@ -3,6 +3,18 @@
|
|
|
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.21.11 (2024-12-17)
|
|
7
|
+
|
|
8
|
+
### Only dependencies have been changed
|
|
9
|
+
* [@snack-uikit/button@0.19.5](https://github.com/cloud-ru-tech/snack-uikit/blob/master/packages/button/CHANGELOG.md)
|
|
10
|
+
* [@snack-uikit/info-block@0.6.6](https://github.com/cloud-ru-tech/snack-uikit/blob/master/packages/info-block/CHANGELOG.md)
|
|
11
|
+
* [@snack-uikit/loaders@0.9.0](https://github.com/cloud-ru-tech/snack-uikit/blob/master/packages/loaders/CHANGELOG.md)
|
|
12
|
+
* [@snack-uikit/search-private@0.4.7](https://github.com/cloud-ru-tech/snack-uikit/blob/master/packages/search-private/CHANGELOG.md)
|
|
13
|
+
|
|
14
|
+
|
|
15
|
+
|
|
16
|
+
|
|
17
|
+
|
|
6
18
|
## 0.21.10 (2024-12-12)
|
|
7
19
|
|
|
8
20
|
### Only dependencies have been changed
|
package/README.md
CHANGED
|
@@ -75,7 +75,6 @@
|
|
|
75
75
|
| collapse | `CollapseState` | {} | Настройки раскрытия элементов |
|
|
76
76
|
| loading | `boolean` | - | Флаг, отвещающий за состояние загрузки списка |
|
|
77
77
|
| scrollToSelectedItem | `boolean` | - | Флаг, отвещающий за прокручивание до выбранного элемента |
|
|
78
|
-
| scrollContainerClassName | `string` | - | CSS-класс для scroll обертки основного списка айтемов |
|
|
79
78
|
| selection | `SelectionSingleState \| SelectionMultipleState` | - | |
|
|
80
79
|
| size | "s" \| "m" \| "l" | s | Размер списка |
|
|
81
80
|
| marker | `boolean` | true | Отображать ли маркер у выбранного жлемента списка |
|
|
@@ -108,7 +107,6 @@
|
|
|
108
107
|
| onKeyDown | `(e: KeyboardEvent<HTMLElement>) => void` | - | Обработчик события по нажатию клавиш |
|
|
109
108
|
| hasListInFocusChain | `boolean` | true | Флаг, отвещающий за включение самого родительского контейнера листа в цепочку фокусирующихся элементов |
|
|
110
109
|
| scrollToSelectedItem | `boolean` | - | Флаг, отвещающий за прокручивание до выбранного элемента |
|
|
111
|
-
| scrollContainerClassName | `string` | - | CSS-класс для scroll обертки основного списка айтемов |
|
|
112
110
|
| selection | `SelectionSingleState \| SelectionMultipleState` | - | |
|
|
113
111
|
| size | "s" \| "m" \| "l" | s | Размер списка |
|
|
114
112
|
| marker | `boolean` | true | Отображать ли маркер у выбранного жлемента списка |
|
|
@@ -53,21 +53,21 @@
|
|
|
53
53
|
width:100%;
|
|
54
54
|
}
|
|
55
55
|
.droplistItem[data-size=s]{
|
|
56
|
-
padding-left:calc(var(--
|
|
56
|
+
padding-left:calc(var(--level, 0) * var(--dimension-050m, 4px) + var(--space-drop-list-item-s-container-horizontal-padding, 8px));
|
|
57
57
|
}
|
|
58
58
|
.droplistItem[data-size=s] .headline{
|
|
59
59
|
gap:var(--space-drop-list-item-s-container-headline-gap, 8px);
|
|
60
60
|
min-height:var(--size-drop-list-item-headline, 24px);
|
|
61
61
|
}
|
|
62
62
|
.droplistItem[data-size=m]{
|
|
63
|
-
padding-left:calc(var(--
|
|
63
|
+
padding-left:calc(var(--level, 0) * var(--dimension-050m, 4px) + var(--space-drop-list-item-m-container-horizontal-padding, 10px));
|
|
64
64
|
}
|
|
65
65
|
.droplistItem[data-size=m] .headline{
|
|
66
66
|
gap:var(--space-drop-list-item-m-container-headline-gap, 8px);
|
|
67
67
|
min-height:var(--size-drop-list-item-headline, 24px);
|
|
68
68
|
}
|
|
69
69
|
.droplistItem[data-size=l]{
|
|
70
|
-
padding-left:calc(var(--
|
|
70
|
+
padding-left:calc(var(--level, 0) * var(--dimension-050m, 4px) + var(--space-drop-list-item-l-container-horizontal-padding, 12px));
|
|
71
71
|
}
|
|
72
72
|
.droplistItem[data-size=l] .headline{
|
|
73
73
|
gap:var(--space-drop-list-item-l-container-headline-gap, 8px);
|
|
@@ -19,5 +19,4 @@ export declare const List: import("react").ForwardRefExoticComponent<{
|
|
|
19
19
|
onKeyDown?(e: KeyboardEvent<HTMLElement>): void;
|
|
20
20
|
hasListInFocusChain?: boolean;
|
|
21
21
|
scrollToSelectedItem?: boolean;
|
|
22
|
-
scrollContainerClassName?: string;
|
|
23
22
|
} & import("../contexts").SelectionState & import("../contexts").PublicListContextType & import("../../../types").ScrollProps & import("../types").EmptyState & import("react").RefAttributes<HTMLElement>>;
|
|
@@ -55,10 +55,9 @@ exports.ListPrivate = (0, react_1.forwardRef)((_a, ref) => {
|
|
|
55
55
|
errorDataState,
|
|
56
56
|
dataError,
|
|
57
57
|
dataFiltered,
|
|
58
|
-
scrollToSelectedItem = false
|
|
59
|
-
scrollContainerClassName
|
|
58
|
+
scrollToSelectedItem = false
|
|
60
59
|
} = _a,
|
|
61
|
-
props = __rest(_a, ["items", "pinTop", "pinBottom", "onKeyDown", "onBlur", "onFocus", "tabIndex", "active", "scroll", "nested", "search", "searchItem", "scrollRef", "scrollContainerRef", "onScroll", "footer", "loading", "limitedScrollHeight", "untouchableScrollbars", "className", "noDataState", "noResultsState", "errorDataState", "dataError", "dataFiltered", "scrollToSelectedItem"
|
|
60
|
+
props = __rest(_a, ["items", "pinTop", "pinBottom", "onKeyDown", "onBlur", "onFocus", "tabIndex", "active", "scroll", "nested", "search", "searchItem", "scrollRef", "scrollContainerRef", "onScroll", "footer", "loading", "limitedScrollHeight", "untouchableScrollbars", "className", "noDataState", "noResultsState", "errorDataState", "dataError", "dataFiltered", "scrollToSelectedItem"]);
|
|
62
61
|
const {
|
|
63
62
|
size = 's',
|
|
64
63
|
flattenItems,
|
|
@@ -133,7 +132,7 @@ exports.ListPrivate = (0, react_1.forwardRef)((_a, ref) => {
|
|
|
133
132
|
[styles_module_scss_1.default.scrollContainerS]: scroll && limitedScrollHeight && size === 's',
|
|
134
133
|
[styles_module_scss_1.default.scrollContainerM]: scroll && limitedScrollHeight && size === 'm',
|
|
135
134
|
[styles_module_scss_1.default.scrollContainerL]: scroll && limitedScrollHeight && size === 'l'
|
|
136
|
-
}
|
|
135
|
+
}),
|
|
137
136
|
barHideStrategy: 'never',
|
|
138
137
|
size: size === 's' ? 's' : 'm',
|
|
139
138
|
ref: scrollContainerRef,
|
|
@@ -49,8 +49,6 @@ export type ListProps = WithSupportProps<{
|
|
|
49
49
|
hasListInFocusChain?: boolean;
|
|
50
50
|
/** Флаг, отвещающий за прокручивание до выбранного элемента */
|
|
51
51
|
scrollToSelectedItem?: boolean;
|
|
52
|
-
/** CSS-класс для scroll обертки основного списка айтемов */
|
|
53
|
-
scrollContainerClassName?: string;
|
|
54
52
|
} & SelectionState & PublicListContextType & ScrollProps & EmptyState>;
|
|
55
53
|
export type DroplistProps = {
|
|
56
54
|
/** Ссылка на элемент-триггер для дроплиста */
|
|
@@ -12,7 +12,7 @@
|
|
|
12
12
|
padding-left:var(--space-drop-list-item-s-container-horizontal-padding, 8px);
|
|
13
13
|
padding-right:var(--space-drop-list-item-s-container-horizontal-padding, 8px);
|
|
14
14
|
gap:var(--space-drop-list-item-s-container-gap, 8px);
|
|
15
|
-
height:var(--size-drop-list-item-container-separator-subheader-height
|
|
15
|
+
height:var(--size-drop-list-item-s-container-separator-subheader-height, 32px);
|
|
16
16
|
}
|
|
17
17
|
.separatorWithLabel[data-size=s] .label[data-mode=primary]{
|
|
18
18
|
font-family:var(--sans-label-m-font-family, SB Sans Interface);
|
|
@@ -36,7 +36,7 @@
|
|
|
36
36
|
padding-left:var(--space-drop-list-item-m-container-horizontal-padding, 10px);
|
|
37
37
|
padding-right:var(--space-drop-list-item-m-container-horizontal-padding, 10px);
|
|
38
38
|
gap:var(--space-drop-list-item-m-container-gap, 8px);
|
|
39
|
-
height:var(--size-drop-list-item-container-separator-subheader-height
|
|
39
|
+
height:var(--size-drop-list-item-m-container-separator-subheader-height, 40px);
|
|
40
40
|
}
|
|
41
41
|
.separatorWithLabel[data-size=m] .label[data-mode=primary]{
|
|
42
42
|
font-family:var(--sans-label-l-font-family, SB Sans Interface);
|
|
@@ -60,7 +60,7 @@
|
|
|
60
60
|
padding-left:var(--space-drop-list-item-l-container-horizontal-padding, 12px);
|
|
61
61
|
padding-right:var(--space-drop-list-item-l-container-horizontal-padding, 12px);
|
|
62
62
|
gap:var(--space-drop-list-item-l-container-gap, 8px);
|
|
63
|
-
height:var(--size-drop-list-item-container-separator-subheader-height
|
|
63
|
+
height:var(--size-drop-list-item-l-container-separator-subheader-height, 48px);
|
|
64
64
|
}
|
|
65
65
|
.separatorWithLabel[data-size=l] .label[data-mode=primary]{
|
|
66
66
|
font-family:var(--sans-title-m-font-family, SB Sans Interface);
|
|
@@ -18,7 +18,7 @@ import { BaseItem } from '../BaseItem';
|
|
|
18
18
|
import { useGroupItemSelection, useRenderItems } from '../hooks';
|
|
19
19
|
export function AccordionItem(_a) {
|
|
20
20
|
var { id, disabled, allChildIds, items } = _a, option = __rest(_a, ["id", "disabled", "allChildIds", "items"]);
|
|
21
|
-
const { level =
|
|
21
|
+
const { level = 1 } = useCollapseLevelContext();
|
|
22
22
|
const { openCollapseItems = [], toggleOpenCollapseItem } = useCollapseContext();
|
|
23
23
|
const { indeterminate, checked, handleOnSelect } = useGroupItemSelection({
|
|
24
24
|
items,
|
|
@@ -53,21 +53,21 @@
|
|
|
53
53
|
width:100%;
|
|
54
54
|
}
|
|
55
55
|
.droplistItem[data-size=s]{
|
|
56
|
-
padding-left:calc(var(--
|
|
56
|
+
padding-left:calc(var(--level, 0) * var(--dimension-050m, 4px) + var(--space-drop-list-item-s-container-horizontal-padding, 8px));
|
|
57
57
|
}
|
|
58
58
|
.droplistItem[data-size=s] .headline{
|
|
59
59
|
gap:var(--space-drop-list-item-s-container-headline-gap, 8px);
|
|
60
60
|
min-height:var(--size-drop-list-item-headline, 24px);
|
|
61
61
|
}
|
|
62
62
|
.droplistItem[data-size=m]{
|
|
63
|
-
padding-left:calc(var(--
|
|
63
|
+
padding-left:calc(var(--level, 0) * var(--dimension-050m, 4px) + var(--space-drop-list-item-m-container-horizontal-padding, 10px));
|
|
64
64
|
}
|
|
65
65
|
.droplistItem[data-size=m] .headline{
|
|
66
66
|
gap:var(--space-drop-list-item-m-container-headline-gap, 8px);
|
|
67
67
|
min-height:var(--size-drop-list-item-headline, 24px);
|
|
68
68
|
}
|
|
69
69
|
.droplistItem[data-size=l]{
|
|
70
|
-
padding-left:calc(var(--
|
|
70
|
+
padding-left:calc(var(--level, 0) * var(--dimension-050m, 4px) + var(--space-drop-list-item-l-container-horizontal-padding, 12px));
|
|
71
71
|
}
|
|
72
72
|
.droplistItem[data-size=l] .headline{
|
|
73
73
|
gap:var(--space-drop-list-item-l-container-headline-gap, 8px);
|
|
@@ -19,5 +19,4 @@ export declare const List: import("react").ForwardRefExoticComponent<{
|
|
|
19
19
|
onKeyDown?(e: KeyboardEvent<HTMLElement>): void;
|
|
20
20
|
hasListInFocusChain?: boolean;
|
|
21
21
|
scrollToSelectedItem?: boolean;
|
|
22
|
-
scrollContainerClassName?: string;
|
|
23
22
|
} & import("../contexts").SelectionState & import("../contexts").PublicListContextType & import("../../../types").ScrollProps & import("../types").EmptyState & import("react").RefAttributes<HTMLElement>>;
|
|
@@ -21,7 +21,7 @@ import { useNewListContext, useSelectionContext } from '../contexts';
|
|
|
21
21
|
import commonStyles from '../styles.module.css';
|
|
22
22
|
import styles from './styles.module.css';
|
|
23
23
|
export const ListPrivate = forwardRef((_a, ref) => {
|
|
24
|
-
var { items, pinTop, pinBottom, onKeyDown, onBlur, onFocus, tabIndex, active, scroll, nested, search, searchItem, scrollRef, scrollContainerRef, onScroll, footer, loading, limitedScrollHeight, untouchableScrollbars, className, noDataState, noResultsState, errorDataState, dataError, dataFiltered, scrollToSelectedItem = false
|
|
24
|
+
var { items, pinTop, pinBottom, onKeyDown, onBlur, onFocus, tabIndex, active, scroll, nested, search, searchItem, scrollRef, scrollContainerRef, onScroll, footer, loading, limitedScrollHeight, untouchableScrollbars, className, noDataState, noResultsState, errorDataState, dataError, dataFiltered, scrollToSelectedItem = false } = _a, props = __rest(_a, ["items", "pinTop", "pinBottom", "onKeyDown", "onBlur", "onFocus", "tabIndex", "active", "scroll", "nested", "search", "searchItem", "scrollRef", "scrollContainerRef", "onScroll", "footer", "loading", "limitedScrollHeight", "untouchableScrollbars", "className", "noDataState", "noResultsState", "errorDataState", "dataError", "dataFiltered", "scrollToSelectedItem"]);
|
|
25
25
|
const { size = 's', flattenItems, focusFlattenItems } = useNewListContext();
|
|
26
26
|
const { value, isSelectionSingle } = useSelectionContext();
|
|
27
27
|
const itemsJSX = useRenderItems(items);
|
|
@@ -49,7 +49,7 @@ export const ListPrivate = forwardRef((_a, ref) => {
|
|
|
49
49
|
[commonStyles.scrollContainerS]: scroll && limitedScrollHeight && size === 's',
|
|
50
50
|
[commonStyles.scrollContainerM]: scroll && limitedScrollHeight && size === 'm',
|
|
51
51
|
[commonStyles.scrollContainerL]: scroll && limitedScrollHeight && size === 'l',
|
|
52
|
-
}
|
|
52
|
+
}), barHideStrategy: 'never', size: size === 's' ? 's' : 'm', ref: scrollContainerRef, untouchableScrollbars: untouchableScrollbars, onScroll: onScroll, onInitialized: onScrollInitialized, children: [content, _jsx("div", { className: styles.scrollStub, ref: scrollRef })] })) : (_jsx(_Fragment, { children: content })), Number(pinBottom === null || pinBottom === void 0 ? void 0 : pinBottom.length) > 0 && _jsx(PinBottomGroupItem, { children: itemsPinBottomJSX }), footer && (_jsx("div", { className: styles.footer, onFocus: e => e.stopPropagation(), children: footer }))] })));
|
|
53
53
|
if (!nested) {
|
|
54
54
|
return listJSX;
|
|
55
55
|
}
|
|
@@ -49,8 +49,6 @@ export type ListProps = WithSupportProps<{
|
|
|
49
49
|
hasListInFocusChain?: boolean;
|
|
50
50
|
/** Флаг, отвещающий за прокручивание до выбранного элемента */
|
|
51
51
|
scrollToSelectedItem?: boolean;
|
|
52
|
-
/** CSS-класс для scroll обертки основного списка айтемов */
|
|
53
|
-
scrollContainerClassName?: string;
|
|
54
52
|
} & SelectionState & PublicListContextType & ScrollProps & EmptyState>;
|
|
55
53
|
export type DroplistProps = {
|
|
56
54
|
/** Ссылка на элемент-триггер для дроплиста */
|
|
@@ -12,7 +12,7 @@
|
|
|
12
12
|
padding-left:var(--space-drop-list-item-s-container-horizontal-padding, 8px);
|
|
13
13
|
padding-right:var(--space-drop-list-item-s-container-horizontal-padding, 8px);
|
|
14
14
|
gap:var(--space-drop-list-item-s-container-gap, 8px);
|
|
15
|
-
height:var(--size-drop-list-item-container-separator-subheader-height
|
|
15
|
+
height:var(--size-drop-list-item-s-container-separator-subheader-height, 32px);
|
|
16
16
|
}
|
|
17
17
|
.separatorWithLabel[data-size=s] .label[data-mode=primary]{
|
|
18
18
|
font-family:var(--sans-label-m-font-family, SB Sans Interface);
|
|
@@ -36,7 +36,7 @@
|
|
|
36
36
|
padding-left:var(--space-drop-list-item-m-container-horizontal-padding, 10px);
|
|
37
37
|
padding-right:var(--space-drop-list-item-m-container-horizontal-padding, 10px);
|
|
38
38
|
gap:var(--space-drop-list-item-m-container-gap, 8px);
|
|
39
|
-
height:var(--size-drop-list-item-container-separator-subheader-height
|
|
39
|
+
height:var(--size-drop-list-item-m-container-separator-subheader-height, 40px);
|
|
40
40
|
}
|
|
41
41
|
.separatorWithLabel[data-size=m] .label[data-mode=primary]{
|
|
42
42
|
font-family:var(--sans-label-l-font-family, SB Sans Interface);
|
|
@@ -60,7 +60,7 @@
|
|
|
60
60
|
padding-left:var(--space-drop-list-item-l-container-horizontal-padding, 12px);
|
|
61
61
|
padding-right:var(--space-drop-list-item-l-container-horizontal-padding, 12px);
|
|
62
62
|
gap:var(--space-drop-list-item-l-container-gap, 8px);
|
|
63
|
-
height:var(--size-drop-list-item-container-separator-subheader-height
|
|
63
|
+
height:var(--size-drop-list-item-l-container-separator-subheader-height, 48px);
|
|
64
64
|
}
|
|
65
65
|
.separatorWithLabel[data-size=l] .label[data-mode=primary]{
|
|
66
66
|
font-family:var(--sans-title-m-font-family, SB Sans Interface);
|
package/package.json
CHANGED
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
"access": "public"
|
|
5
5
|
},
|
|
6
6
|
"title": "List",
|
|
7
|
-
"version": "0.21.11
|
|
7
|
+
"version": "0.21.11",
|
|
8
8
|
"sideEffects": [
|
|
9
9
|
"*.css",
|
|
10
10
|
"*.woff",
|
|
@@ -36,14 +36,14 @@
|
|
|
36
36
|
"license": "Apache-2.0",
|
|
37
37
|
"scripts": {},
|
|
38
38
|
"dependencies": {
|
|
39
|
-
"@snack-uikit/button": "0.19.
|
|
39
|
+
"@snack-uikit/button": "0.19.5",
|
|
40
40
|
"@snack-uikit/divider": "3.2.2",
|
|
41
41
|
"@snack-uikit/dropdown": "0.4.2",
|
|
42
42
|
"@snack-uikit/icons": "0.24.1",
|
|
43
|
-
"@snack-uikit/info-block": "0.6.
|
|
44
|
-
"@snack-uikit/loaders": "0.
|
|
43
|
+
"@snack-uikit/info-block": "0.6.6",
|
|
44
|
+
"@snack-uikit/loaders": "0.9.0",
|
|
45
45
|
"@snack-uikit/scroll": "0.9.2",
|
|
46
|
-
"@snack-uikit/search-private": "0.4.
|
|
46
|
+
"@snack-uikit/search-private": "0.4.7",
|
|
47
47
|
"@snack-uikit/toggles": "0.13.2",
|
|
48
48
|
"@snack-uikit/truncate-string": "0.6.2",
|
|
49
49
|
"@snack-uikit/utils": "3.6.0",
|
|
@@ -53,5 +53,5 @@
|
|
|
53
53
|
"peerDependencies": {
|
|
54
54
|
"@snack-uikit/locale": "*"
|
|
55
55
|
},
|
|
56
|
-
"gitHead": "
|
|
56
|
+
"gitHead": "33a6d8bc270bd11dec3e4834f2ba8e97c57d5c15"
|
|
57
57
|
}
|
|
@@ -11,7 +11,7 @@ import { CommonFlattenProps, FlattenAccordionItem } from '../types';
|
|
|
11
11
|
type AccordionItemProps = Omit<FlattenAccordionItem, 'type>'> & CommonFlattenProps;
|
|
12
12
|
|
|
13
13
|
export function AccordionItem({ id, disabled, allChildIds, items, ...option }: AccordionItemProps) {
|
|
14
|
-
const { level =
|
|
14
|
+
const { level = 1 } = useCollapseLevelContext();
|
|
15
15
|
const { openCollapseItems = [], toggleOpenCollapseItem } = useCollapseContext();
|
|
16
16
|
|
|
17
17
|
const { indeterminate, checked, handleOnSelect } = useGroupItemSelection({
|
|
@@ -1,6 +1,3 @@
|
|
|
1
|
-
/* stylelint-disable at-rule-empty-line-before */
|
|
2
|
-
/* stylelint-disable scss/operator-no-newline-after */
|
|
3
|
-
|
|
4
1
|
@use '@snack-uikit/figma-tokens/build/scss/components/styles-tokens-dropList';
|
|
5
2
|
@use '@snack-uikit/figma-tokens/build/scss/components/styles-tokens-element';
|
|
6
3
|
|
|
@@ -62,48 +59,15 @@ $sizes: 's', 'm', 'l';
|
|
|
62
59
|
height: 100%;
|
|
63
60
|
}
|
|
64
61
|
}
|
|
65
|
-
|
|
66
|
-
$level: var(--level, 0);
|
|
67
|
-
|
|
68
62
|
.droplistItem {
|
|
69
63
|
width: 100%;
|
|
70
64
|
|
|
71
65
|
@each $size in $sizes {
|
|
72
66
|
&[data-size='#{$size}'] {
|
|
73
|
-
|
|
74
|
-
styles-tokens-dropList.$drop-list,
|
|
75
|
-
'item',
|
|
76
|
-
$size,
|
|
77
|
-
'nesting-level-offset',
|
|
78
|
-
'width'
|
|
79
|
-
);
|
|
80
|
-
|
|
81
|
-
$nestingLevelGapCompensator: styles-tokens-dropList.simple-var(
|
|
82
|
-
styles-tokens-dropList.$drop-list,
|
|
83
|
-
'item',
|
|
84
|
-
$size,
|
|
85
|
-
'nesting-level-gap-compensator',
|
|
86
|
-
'width'
|
|
67
|
+
padding-left: calc(
|
|
68
|
+
var(--level, 0) * styles-tokens-dropList.$dimension-050m + styles-tokens-dropList.simple-var(styles-tokens-dropList.$drop-list, 'item', $size, 'container', 'padding-left')
|
|
87
69
|
);
|
|
88
70
|
|
|
89
|
-
$itemPaddingLeft: styles-tokens-dropList.simple-var(
|
|
90
|
-
styles-tokens-dropList.$drop-list,
|
|
91
|
-
'item',
|
|
92
|
-
$size,
|
|
93
|
-
'container',
|
|
94
|
-
'padding-left'
|
|
95
|
-
);
|
|
96
|
-
|
|
97
|
-
@if $level == 0 {
|
|
98
|
-
padding-left: $itemPaddingLeft;
|
|
99
|
-
} @else {
|
|
100
|
-
@if $level == 1 {
|
|
101
|
-
padding-left: calc($itemPaddingLeft + $nestingLevelOffset + $nestingLevelGapCompensator);
|
|
102
|
-
} @else {
|
|
103
|
-
padding-left: calc($itemPaddingLeft + $nestingLevelOffset + ($level - 1) * $nestingLevelGapCompensator);
|
|
104
|
-
}
|
|
105
|
-
}
|
|
106
|
-
|
|
107
71
|
.headline {
|
|
108
72
|
@include styles-tokens-dropList.composite-var(styles-tokens-dropList.$drop-list, 'item', $size, 'headline');
|
|
109
73
|
}
|
|
@@ -41,7 +41,6 @@ export const ListPrivate = forwardRef(
|
|
|
41
41
|
dataError,
|
|
42
42
|
dataFiltered,
|
|
43
43
|
scrollToSelectedItem = false,
|
|
44
|
-
scrollContainerClassName,
|
|
45
44
|
...props
|
|
46
45
|
}: ListPrivateProps,
|
|
47
46
|
ref: ForwardedRef<HTMLElement>,
|
|
@@ -130,14 +129,11 @@ export const ListPrivate = forwardRef(
|
|
|
130
129
|
|
|
131
130
|
{scroll ? (
|
|
132
131
|
<Scroll
|
|
133
|
-
className={cn(
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
},
|
|
139
|
-
scrollContainerClassName,
|
|
140
|
-
)}
|
|
132
|
+
className={cn({
|
|
133
|
+
[commonStyles.scrollContainerS]: scroll && limitedScrollHeight && size === 's',
|
|
134
|
+
[commonStyles.scrollContainerM]: scroll && limitedScrollHeight && size === 'm',
|
|
135
|
+
[commonStyles.scrollContainerL]: scroll && limitedScrollHeight && size === 'l',
|
|
136
|
+
})}
|
|
141
137
|
barHideStrategy='never'
|
|
142
138
|
size={size === 's' ? 's' : 'm'}
|
|
143
139
|
ref={scrollContainerRef}
|
|
@@ -55,8 +55,6 @@ export type ListProps = WithSupportProps<
|
|
|
55
55
|
hasListInFocusChain?: boolean;
|
|
56
56
|
/** Флаг, отвещающий за прокручивание до выбранного элемента */
|
|
57
57
|
scrollToSelectedItem?: boolean;
|
|
58
|
-
/** CSS-класс для scroll обертки основного списка айтемов */
|
|
59
|
-
scrollContainerClassName?: string;
|
|
60
58
|
} & SelectionState &
|
|
61
59
|
PublicListContextType &
|
|
62
60
|
ScrollProps &
|