@synerise/ds-manageable-list 0.26.72 → 0.28.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 +22 -0
- package/dist/ManageableList.d.ts +1 -1
- package/dist/ManageableList.js +11 -7
- package/dist/ManageableList.types.d.ts +9 -2
- package/package.json +17 -17
package/CHANGELOG.md
CHANGED
|
@@ -3,6 +3,28 @@
|
|
|
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.28.0](https://github.com/Synerise/synerise-design/compare/@synerise/ds-manageable-list@0.27.0...@synerise/ds-manageable-list@0.28.0) (2024-10-01)
|
|
7
|
+
|
|
8
|
+
|
|
9
|
+
### Features
|
|
10
|
+
|
|
11
|
+
* **menu:** maxToShowItems props ([982d12c](https://github.com/Synerise/synerise-design/commit/982d12cf00dfd271bd75e3228e0e231ab26dc7f1))
|
|
12
|
+
|
|
13
|
+
|
|
14
|
+
|
|
15
|
+
|
|
16
|
+
|
|
17
|
+
# [0.27.0](https://github.com/Synerise/synerise-design/compare/@synerise/ds-manageable-list@0.26.72...@synerise/ds-manageable-list@0.27.0) (2024-09-26)
|
|
18
|
+
|
|
19
|
+
|
|
20
|
+
### Features
|
|
21
|
+
|
|
22
|
+
* **manageable-list:** customisable toggle button ([7e0a2e5](https://github.com/Synerise/synerise-design/commit/7e0a2e550885ed581b2c4ec90319432c543b24c7))
|
|
23
|
+
|
|
24
|
+
|
|
25
|
+
|
|
26
|
+
|
|
27
|
+
|
|
6
28
|
## [0.26.72](https://github.com/Synerise/synerise-design/compare/@synerise/ds-manageable-list@0.26.71...@synerise/ds-manageable-list@0.26.72) (2024-09-26)
|
|
7
29
|
|
|
8
30
|
**Note:** Version bump only for package @synerise/ds-manageable-list
|
package/dist/ManageableList.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
2
|
import { ManageableListProps } from './ManageableList.types';
|
|
3
|
-
declare const ManageableList: (<T extends object>({ className, onItemAdd, onItemSelect, onItemDuplicate, onItemRemove, onItemEdit, onChangeOrder, items, maxToShowItems, loading, type, addButtonDisabled, changeOrderDisabled, greyBackground, placeholder, selectedItemId, searchQuery, expanderDisabled, onExpand, expandedIds, texts, changeOrderByButtons, additionalActions, style, renderCustomToggleButton, }: ManageableListProps<T>) => React.JSX.Element) & {
|
|
3
|
+
declare const ManageableList: (<T extends object>({ className, onItemAdd, onItemSelect, onItemDuplicate, onItemRemove, onItemEdit, onChangeOrder, items, maxToShowItems, visibleItemsLimit, loading, type, addButtonDisabled, changeOrderDisabled, greyBackground, placeholder, selectedItemId, searchQuery, expanderDisabled, onExpand, expandedIds, texts, changeOrderByButtons, additionalActions, style, renderCustomToggleButton, }: ManageableListProps<T>) => React.JSX.Element) & {
|
|
4
4
|
ManageableListContainer: import("styled-components").StyledComponent<"div", any, {
|
|
5
5
|
listType: string;
|
|
6
6
|
greyBackground: boolean;
|
package/dist/ManageableList.js
CHANGED
|
@@ -23,6 +23,7 @@ var SORTABLE_CONFIG = {
|
|
|
23
23
|
group: 'column-manager',
|
|
24
24
|
forceFallback: true
|
|
25
25
|
};
|
|
26
|
+
var INITIALLY_VISIBLE_COUNT = 5;
|
|
26
27
|
|
|
27
28
|
var ManageableListComponent = function ManageableListComponent(_ref) {
|
|
28
29
|
var className = _ref.className,
|
|
@@ -34,7 +35,9 @@ var ManageableListComponent = function ManageableListComponent(_ref) {
|
|
|
34
35
|
onChangeOrder = _ref.onChangeOrder,
|
|
35
36
|
items = _ref.items,
|
|
36
37
|
_ref$maxToShowItems = _ref.maxToShowItems,
|
|
37
|
-
maxToShowItems = _ref$maxToShowItems === void 0 ?
|
|
38
|
+
maxToShowItems = _ref$maxToShowItems === void 0 ? INITIALLY_VISIBLE_COUNT : _ref$maxToShowItems,
|
|
39
|
+
_ref$visibleItemsLimi = _ref.visibleItemsLimit,
|
|
40
|
+
visibleItemsLimit = _ref$visibleItemsLimi === void 0 ? INITIALLY_VISIBLE_COUNT : _ref$visibleItemsLimi,
|
|
38
41
|
loading = _ref.loading,
|
|
39
42
|
_ref$type = _ref.type,
|
|
40
43
|
type = _ref$type === void 0 ? ListType.DEFAULT : _ref$type,
|
|
@@ -61,6 +64,7 @@ var ManageableListComponent = function ManageableListComponent(_ref) {
|
|
|
61
64
|
allItemsVisible = _useState[0],
|
|
62
65
|
setAllItemsVisible = _useState[1];
|
|
63
66
|
|
|
67
|
+
var visibleLimit = visibleItemsLimit || maxToShowItems;
|
|
64
68
|
var getExpandedIds = useCallback(function () {
|
|
65
69
|
return expandedIds !== undefined ? expandedIds : items.filter(function (item) {
|
|
66
70
|
return item.expanded;
|
|
@@ -161,11 +165,11 @@ var ManageableListComponent = function ManageableListComponent(_ref) {
|
|
|
161
165
|
}, texts);
|
|
162
166
|
}, [texts]);
|
|
163
167
|
var getItemsOverLimit = useMemo(function () {
|
|
164
|
-
return items.length -
|
|
165
|
-
}, [items,
|
|
168
|
+
return items.length - visibleLimit;
|
|
169
|
+
}, [items, visibleLimit]);
|
|
166
170
|
var visibleItems = useMemo(function () {
|
|
167
|
-
return allItemsVisible ? items : items.slice(0,
|
|
168
|
-
}, [allItemsVisible,
|
|
171
|
+
return allItemsVisible ? items : items.slice(0, visibleLimit);
|
|
172
|
+
}, [allItemsVisible, visibleLimit, items]);
|
|
169
173
|
var buttonLabel = useMemo(function () {
|
|
170
174
|
return allItemsVisible ? itemTexts.showLessLabel : itemTexts.showMoreLabel;
|
|
171
175
|
}, [allItemsVisible, itemTexts.showLessLabel, itemTexts.showMoreLabel]);
|
|
@@ -215,11 +219,11 @@ var ManageableListComponent = function ManageableListComponent(_ref) {
|
|
|
215
219
|
additionalActions: additionalActions
|
|
216
220
|
});
|
|
217
221
|
}, [items.length, type, onItemSelect, onItemEdit, onItemRemove, onItemDuplicate, onExpand, changeOrderByButtons, onMoveTop, onMoveBottom, onChangeOrder, changeOrderDisabled, greyBackground, selectedItemId, itemTexts, searchQuery, expanderDisabled, allExpandedIds, additionalActions]);
|
|
218
|
-
var toggleMoreItemsButton = items.length >
|
|
222
|
+
var toggleMoreItemsButton = items.length > visibleLimit ? renderCustomToggleButton && renderCustomToggleButton({
|
|
219
223
|
onClick: toggleAllItems,
|
|
220
224
|
allItemsVisible: allItemsVisible,
|
|
221
225
|
total: items.length,
|
|
222
|
-
limit:
|
|
226
|
+
limit: visibleLimit
|
|
223
227
|
}) || /*#__PURE__*/React.createElement(S.ShowMoreButton, {
|
|
224
228
|
onClick: toggleAllItems,
|
|
225
229
|
"data-testid": "show-more-button"
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import type { CSSProperties, ReactNode, ReactText } from 'react';
|
|
2
|
+
import type { ExactlyOne } from '@synerise/ds-utils';
|
|
2
3
|
import type { ItemProps } from './Item/Item.types';
|
|
3
4
|
export declare enum ExpansionBehaviour {
|
|
4
5
|
DEFAULT = "default",
|
|
@@ -18,7 +19,6 @@ export type AdditionalAction = {
|
|
|
18
19
|
};
|
|
19
20
|
export type ManageableListProps<T extends object> = {
|
|
20
21
|
className?: string;
|
|
21
|
-
maxToShowItems: number;
|
|
22
22
|
onItemAdd?: (addParams?: {
|
|
23
23
|
name: string;
|
|
24
24
|
}) => void;
|
|
@@ -59,7 +59,14 @@ export type ManageableListProps<T extends object> = {
|
|
|
59
59
|
limit: number;
|
|
60
60
|
allItemsVisible: boolean;
|
|
61
61
|
}) => ReactNode;
|
|
62
|
-
}
|
|
62
|
+
} & ExactlyOne<{
|
|
63
|
+
/**
|
|
64
|
+
* @deprecated - use visibleItemsLimit prop instead
|
|
65
|
+
*/
|
|
66
|
+
maxToShowItems: number;
|
|
67
|
+
}, {
|
|
68
|
+
visibleItemsLimit: number;
|
|
69
|
+
}>;
|
|
63
70
|
export type Texts = {
|
|
64
71
|
addItemLabel?: ReactNode;
|
|
65
72
|
showMoreLabel?: ReactNode;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@synerise/ds-manageable-list",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.28.0",
|
|
4
4
|
"description": "ManageableList UI Component for the Synerise Design System",
|
|
5
5
|
"license": "ISC",
|
|
6
6
|
"repository": "Synerise/synerise-design",
|
|
@@ -34,21 +34,21 @@
|
|
|
34
34
|
],
|
|
35
35
|
"types": "dist/index.d.ts",
|
|
36
36
|
"dependencies": {
|
|
37
|
-
"@synerise/ds-avatar": "^0.17.
|
|
38
|
-
"@synerise/ds-button": "^0.21.
|
|
39
|
-
"@synerise/ds-dropdown": "^0.18.
|
|
40
|
-
"@synerise/ds-icon": "^0.65.
|
|
41
|
-
"@synerise/ds-inline-edit": "^0.8.
|
|
42
|
-
"@synerise/ds-input": "^0.24.
|
|
43
|
-
"@synerise/ds-list": "^0.6.
|
|
44
|
-
"@synerise/ds-menu": "^0.
|
|
45
|
-
"@synerise/ds-modal": "^0.17.
|
|
46
|
-
"@synerise/ds-popconfirm": "^0.10.
|
|
47
|
-
"@synerise/ds-result": "^0.7.
|
|
48
|
-
"@synerise/ds-tags": "^0.10.
|
|
49
|
-
"@synerise/ds-tooltip": "^0.14.
|
|
50
|
-
"@synerise/ds-typography": "^0.15.
|
|
51
|
-
"@synerise/ds-utils": "^0.
|
|
37
|
+
"@synerise/ds-avatar": "^0.17.14",
|
|
38
|
+
"@synerise/ds-button": "^0.21.13",
|
|
39
|
+
"@synerise/ds-dropdown": "^0.18.17",
|
|
40
|
+
"@synerise/ds-icon": "^0.65.8",
|
|
41
|
+
"@synerise/ds-inline-edit": "^0.8.13",
|
|
42
|
+
"@synerise/ds-input": "^0.24.7",
|
|
43
|
+
"@synerise/ds-list": "^0.6.87",
|
|
44
|
+
"@synerise/ds-menu": "^0.20.0",
|
|
45
|
+
"@synerise/ds-modal": "^0.17.44",
|
|
46
|
+
"@synerise/ds-popconfirm": "^0.10.54",
|
|
47
|
+
"@synerise/ds-result": "^0.7.7",
|
|
48
|
+
"@synerise/ds-tags": "^0.10.11",
|
|
49
|
+
"@synerise/ds-tooltip": "^0.14.43",
|
|
50
|
+
"@synerise/ds-typography": "^0.15.4",
|
|
51
|
+
"@synerise/ds-utils": "^0.30.0",
|
|
52
52
|
"moment": "^2.30.1",
|
|
53
53
|
"react-animate-height": "^2.0.23",
|
|
54
54
|
"react-intl": "3.12.0",
|
|
@@ -61,5 +61,5 @@
|
|
|
61
61
|
"react": ">=16.9.0 <= 17.0.2",
|
|
62
62
|
"styled-components": "^5.0.1"
|
|
63
63
|
},
|
|
64
|
-
"gitHead": "
|
|
64
|
+
"gitHead": "2389b995aa44e42ec1dd9a177c7ab1f1a0001a70"
|
|
65
65
|
}
|