@cloud-ru/ds-list 2.0.5-preview-12daa8f6.0 → 2.0.5-preview-2eb4a9ee.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/dist/cjs/helperComponents/MobileDroplist/MobileDroplist.js +1 -1
- package/dist/cjs/helperComponents/MobileDroplist/utils.d.ts +2 -2
- package/dist/esm/helperComponents/MobileDroplist/MobileDroplist.js +1 -1
- package/dist/esm/helperComponents/MobileDroplist/utils.d.ts +2 -2
- package/dist/tsconfig.cjs.tsbuildinfo +1 -1
- package/dist/tsconfig.esm.tsbuildinfo +1 -1
- package/package.json +7 -7
- package/src/helperComponents/MobileDroplist/MobileDroplist.tsx +2 -2
- package/src/helperComponents/MobileDroplist/utils.tsx +8 -5
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@cloud-ru/ds-list",
|
|
3
|
-
"version": "2.0.5-preview-
|
|
3
|
+
"version": "2.0.5-preview-2eb4a9ee.0",
|
|
4
4
|
"description": "Списочный UI — компонент List для плоских/вложенных списков с выбором, группами и поиском и Droplist — тот же список в поповере.",
|
|
5
5
|
"repository": {
|
|
6
6
|
"type": "git",
|
|
@@ -48,19 +48,19 @@
|
|
|
48
48
|
"@tanstack/react-virtual": "^3.14.8",
|
|
49
49
|
"classnames": "^2.5.1",
|
|
50
50
|
"merge-refs": "^2.0.0",
|
|
51
|
+
"@cloud-ru/ds-bottom-sheet": "1.0.6-preview-2eb4a9ee.0",
|
|
51
52
|
"@cloud-ru/ds-adaptive": "1.0.1",
|
|
53
|
+
"@cloud-ru/ds-drag-and-drop": "1.1.1",
|
|
52
54
|
"@cloud-ru/ds-button": "1.0.1",
|
|
53
|
-
"@cloud-ru/ds-bottom-sheet": "1.0.6-preview-12daa8f6.0",
|
|
54
55
|
"@cloud-ru/ds-divider": "1.0.1",
|
|
55
|
-
"@cloud-ru/ds-
|
|
56
|
+
"@cloud-ru/ds-dropdown": "1.0.7-preview-2eb4a9ee.0",
|
|
57
|
+
"@cloud-ru/ds-info-block": "1.0.1",
|
|
56
58
|
"@cloud-ru/ds-icons": "1.1.0",
|
|
57
59
|
"@cloud-ru/ds-loader": "1.0.1",
|
|
58
|
-
"@cloud-ru/ds-info-block": "1.0.1",
|
|
59
|
-
"@cloud-ru/ds-materials": "1.0.1",
|
|
60
|
-
"@cloud-ru/ds-scroll": "1.0.2",
|
|
61
60
|
"@cloud-ru/ds-portal-context": "1.0.1",
|
|
62
|
-
"@cloud-ru/ds-
|
|
61
|
+
"@cloud-ru/ds-materials": "1.0.1",
|
|
63
62
|
"@cloud-ru/ds-search-private": "1.0.5",
|
|
63
|
+
"@cloud-ru/ds-scroll": "1.0.2",
|
|
64
64
|
"@cloud-ru/ds-toggles": "1.1.3",
|
|
65
65
|
"@cloud-ru/ds-truncate-string": "1.0.4",
|
|
66
66
|
"@cloud-ru/ds-utils": "1.1.0"
|
|
@@ -139,9 +139,9 @@ export function MobileDroplist({
|
|
|
139
139
|
// поверх предыдущего (свой backdrop), а не заменяет его содержимое. Назад — закрывает верхний.
|
|
140
140
|
const sheets = [{ source: items, title: label, item: undefined as NextListItem | undefined }].concat(
|
|
141
141
|
path.map(indexPath => {
|
|
142
|
-
const item = resolveItemByPath(items
|
|
142
|
+
const item = resolveItemByPath(items, indexPath);
|
|
143
143
|
|
|
144
|
-
return { source:
|
|
144
|
+
return { source: item?.items ?? [], title: nextListOption(item), item };
|
|
145
145
|
}),
|
|
146
146
|
);
|
|
147
147
|
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { ChevronRightSVG } from '@cloud-ru/ds-icons/interface/system';
|
|
2
2
|
import { MouseEvent } from 'react';
|
|
3
3
|
|
|
4
|
-
import { BaseItemProps, Item, NextListItem } from '../../components/Items';
|
|
4
|
+
import { BaseItemProps, Item, NextListItem, ReorderItem } from '../../components/Items';
|
|
5
5
|
import { ITEM_TYPE } from '../../constants';
|
|
6
6
|
|
|
7
7
|
/**
|
|
@@ -9,9 +9,12 @@ import { ITEM_TYPE } from '../../constants';
|
|
|
9
9
|
* `items`: иначе открытый sheet сохранял бы копию айтема, полученную при заходе во вложенный
|
|
10
10
|
* список, и не отражал бы её последующие изменения (например, смену выбранной строки).
|
|
11
11
|
*/
|
|
12
|
-
export function resolveItemByPath
|
|
13
|
-
|
|
14
|
-
|
|
12
|
+
export function resolveItemByPath<T extends Item | ReorderItem>(
|
|
13
|
+
items: T[],
|
|
14
|
+
indexPath: number[],
|
|
15
|
+
): NextListItem | undefined {
|
|
16
|
+
let source: T[] | undefined = items;
|
|
17
|
+
let node: T | undefined;
|
|
15
18
|
|
|
16
19
|
for (const index of indexPath) {
|
|
17
20
|
node = source?.[index];
|
|
@@ -21,7 +24,7 @@ export function resolveItemByPath(items: Item[], indexPath: number[]): NextListI
|
|
|
21
24
|
continue;
|
|
22
25
|
}
|
|
23
26
|
|
|
24
|
-
source = node.items as
|
|
27
|
+
source = node.items as T[];
|
|
25
28
|
}
|
|
26
29
|
|
|
27
30
|
return node as NextListItem | undefined;
|