@snack-uikit/list 0.11.4-preview-7afaf1cf.0 → 0.11.5-preview-e82f86de.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 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.11.4 (2024-04-27)
7
+
8
+
9
+ ### Bug Fixes
10
+
11
+ * **PDS-00:** fix disabled items selection by group ([9ab4c61](https://github.com/cloud-ru-tech/snack-uikit/commit/9ab4c615e4b6c09278414765af8c675aaeac0aff))
12
+
13
+
14
+
15
+
16
+
6
17
  ## 0.11.3 (2024-04-27)
7
18
 
8
19
 
@@ -35,6 +35,8 @@ export type BaseItem = WithSupportProps<{
35
35
  id?: ItemId;
36
36
  /** Флаг неактивности элемента */
37
37
  disabled?: boolean;
38
+ /** Флаг присутствия элемента */
39
+ hidden?: boolean;
38
40
  itemRef?: RefObject<HTMLElement>;
39
41
  className?: string;
40
42
  /**
@@ -70,6 +72,7 @@ type CommonGroupItem = {
70
72
  variant?: TruncateStringProps['variant'];
71
73
  };
72
74
  mode?: 'primary' | 'secondary';
75
+ hidden?: boolean;
73
76
  divider?: boolean;
74
77
  };
75
78
  export type GroupItem = CommonGroupItem & {
@@ -59,9 +59,10 @@ export function kindFlattenItems({ items, prefix, parentId }) {
59
59
  const autoChildIds = [];
60
60
  const { items } = item, rest = __rest(item, ["items"]);
61
61
  const childActiveParent = isGroupItem(item) ? parentId !== null && parentId !== void 0 ? parentId : '~main' : autoId;
62
- for (let idx = 0; idx < items.length; idx++) {
62
+ const filteredItems = items.filter(item => !item.hidden);
63
+ for (let idx = 0; idx < filteredItems.length; idx++) {
63
64
  const { id, children, autoId, focusChildren } = flatten({
64
- item: items[idx],
65
+ item: filteredItems[idx],
65
66
  idx,
66
67
  prefix: itemId,
67
68
  parentId: childActiveParent,
@@ -90,8 +91,9 @@ export function kindFlattenItems({ items, prefix, parentId }) {
90
91
  const closeChildIds = [];
91
92
  const autoChildIds = [];
92
93
  let allChildIds = [];
93
- for (let idx = 0; idx < items.length; idx++) {
94
- const { id, children, autoId } = flatten({ item: items[idx], idx, prefix, parentId });
94
+ const filteredItems = items.filter(item => !item.hidden);
95
+ for (let idx = 0; idx < filteredItems.length; idx++) {
96
+ const { id, children, autoId } = flatten({ item: filteredItems[idx], idx, prefix, parentId });
95
97
  autoChildIds.push(autoId);
96
98
  closeChildIds.push(id);
97
99
  allChildIds.push(id);
package/package.json CHANGED
@@ -4,7 +4,7 @@
4
4
  "access": "public"
5
5
  },
6
6
  "title": "List",
7
- "version": "0.11.4-preview-7afaf1cf.0",
7
+ "version": "0.11.5-preview-e82f86de.0",
8
8
  "sideEffects": [
9
9
  "*.css",
10
10
  "*.woff",
@@ -49,5 +49,5 @@
49
49
  "peerDependencies": {
50
50
  "@snack-uikit/locale": "*"
51
51
  },
52
- "gitHead": "8558e521d80e9ac37ea81152a6ca736713c41c26"
52
+ "gitHead": "31a8e5230a8829ad3222c4bb9acb9b20e5345f4d"
53
53
  }
@@ -42,6 +42,8 @@ export type BaseItem = WithSupportProps<{
42
42
  id?: ItemId;
43
43
  /** Флаг неактивности элемента */
44
44
  disabled?: boolean;
45
+ /** Флаг присутствия элемента */
46
+ hidden?: boolean;
45
47
 
46
48
  itemRef?: RefObject<HTMLElement>;
47
49
 
@@ -90,6 +92,7 @@ type CommonGroupItem = {
90
92
  variant?: TruncateStringProps['variant'];
91
93
  };
92
94
  mode?: 'primary' | 'secondary';
95
+ hidden?: boolean;
93
96
  divider?: boolean;
94
97
  };
95
98
 
@@ -94,9 +94,11 @@ export function kindFlattenItems({ items, prefix, parentId }: KindFlattenItemsPr
94
94
  const { items, ...rest } = item;
95
95
  const childActiveParent = isGroupItem(item) ? parentId ?? '~main' : autoId;
96
96
 
97
- for (let idx = 0; idx < items.length; idx++) {
97
+ const filteredItems = items.filter(item => !item.hidden);
98
+
99
+ for (let idx = 0; idx < filteredItems.length; idx++) {
98
100
  const { id, children, autoId, focusChildren } = flatten({
99
- item: items[idx],
101
+ item: filteredItems[idx],
100
102
  idx,
101
103
  prefix: itemId,
102
104
  parentId: childActiveParent,
@@ -137,8 +139,10 @@ export function kindFlattenItems({ items, prefix, parentId }: KindFlattenItemsPr
137
139
  const autoChildIds: ItemId[] = [];
138
140
  let allChildIds: ItemId[] = [];
139
141
 
140
- for (let idx = 0; idx < items.length; idx++) {
141
- const { id, children, autoId } = flatten({ item: items[idx], idx, prefix, parentId });
142
+ const filteredItems = items.filter(item => !item.hidden);
143
+
144
+ for (let idx = 0; idx < filteredItems.length; idx++) {
145
+ const { id, children, autoId } = flatten({ item: filteredItems[idx], idx, prefix, parentId });
142
146
 
143
147
  autoChildIds.push(autoId);
144
148
  closeChildIds.push(id);