@synerise/ds-manageable-list 1.3.23 → 1.4.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 +19 -0
- package/dist/Item/ContentItem/ContentItem.d.ts +2 -1
- package/dist/Item/ContentItem/ContentItem.js +5 -1
- package/dist/Item/ContentItem/ContentItem.styles.d.ts +1 -0
- package/dist/Item/ContentItem/ContentItem.styles.js +3 -1
- package/dist/Item/ContentItem/ContentItem.types.d.ts +4 -0
- package/dist/Item/ContentItem/ContentItemHeader.d.ts +1 -1
- package/dist/Item/ContentItem/ContentItemHeader.js +6 -1
- package/dist/Item/FilterItem/FilterItem.d.ts +1 -0
- package/dist/Item/FilterItem/FilterItem.js +1 -1
- package/dist/Item/FilterItem/FilterItem.types.d.ts +1 -1
- package/dist/Item/Item.js +2 -0
- package/dist/Item/SimpleItem/SimpleItem.js +2 -2
- package/dist/Item/SimpleItem/SimpleItem.types.d.ts +1 -1
- package/dist/ManageableList.types.d.ts +3 -2
- package/package.json +14 -14
package/CHANGELOG.md
CHANGED
|
@@ -3,6 +3,25 @@
|
|
|
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
|
+
# [1.4.0](https://github.com/Synerise/synerise-design/compare/@synerise/ds-manageable-list@1.3.24...@synerise/ds-manageable-list@1.4.0) (2025-09-25)
|
|
7
|
+
|
|
8
|
+
|
|
9
|
+
### Features
|
|
10
|
+
|
|
11
|
+
* **manageable-list:** enable selecting content items ([5fb2491](https://github.com/Synerise/synerise-design/commit/5fb249199343ad9bc31a3a853a57e48b1fa95ddb))
|
|
12
|
+
|
|
13
|
+
|
|
14
|
+
|
|
15
|
+
|
|
16
|
+
|
|
17
|
+
## [1.3.24](https://github.com/Synerise/synerise-design/compare/@synerise/ds-manageable-list@1.3.23...@synerise/ds-manageable-list@1.3.24) (2025-09-23)
|
|
18
|
+
|
|
19
|
+
**Note:** Version bump only for package @synerise/ds-manageable-list
|
|
20
|
+
|
|
21
|
+
|
|
22
|
+
|
|
23
|
+
|
|
24
|
+
|
|
6
25
|
## [1.3.23](https://github.com/Synerise/synerise-design/compare/@synerise/ds-manageable-list@1.3.22...@synerise/ds-manageable-list@1.3.23) (2025-09-19)
|
|
7
26
|
|
|
8
27
|
**Note:** Version bump only for package @synerise/ds-manageable-list
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
2
|
import { type ContentItemProps } from './ContentItem.types';
|
|
3
|
-
declare const ContentItem: (({ onRemove, onUpdate, onDuplicate, draggable, dashed, item, greyBackground, changeOrderDisabled, texts, hideExpander, expanded, onExpand, headerSuffix, headerPrefix, contentWithoutPadding, onMoveTop, onMoveBottom, isFirst, isLast, size, dragHandleProps, isDragPlaceholder, isDragOverlay, ...rest }: ContentItemProps) => React.JSX.Element) & {
|
|
3
|
+
declare const ContentItem: (({ onRemove, onUpdate, onDuplicate, draggable, dashed, item, greyBackground, changeOrderDisabled, texts, hideExpander, expanded, onExpand, selected, onSelect, headerSuffix, headerPrefix, contentWithoutPadding, onMoveTop, onMoveBottom, isFirst, isLast, size, dragHandleProps, isDragPlaceholder, isDragOverlay, ...rest }: ContentItemProps) => React.JSX.Element) & {
|
|
4
4
|
AdditionalSuffix: import("styled-components").StyledComponent<"div", any, {}, never>;
|
|
5
5
|
ContentWrapper: import("styled-components").StyledComponent<"div", any, {
|
|
6
6
|
withoutPadding: boolean;
|
|
@@ -14,6 +14,7 @@ declare const ContentItem: (({ onRemove, onUpdate, onDuplicate, draggable, dashe
|
|
|
14
14
|
IconWrapper: import("styled-components").StyledComponent<"div", any, {}, never>;
|
|
15
15
|
ItemContainer: import("styled-components").StyledComponent<"div", any, {
|
|
16
16
|
opened: boolean;
|
|
17
|
+
selected?: boolean;
|
|
17
18
|
greyBackground: boolean | undefined;
|
|
18
19
|
size?: "default" | "large";
|
|
19
20
|
dashed?: boolean;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
var _excluded = ["onRemove", "onUpdate", "onDuplicate", "draggable", "dashed", "item", "greyBackground", "changeOrderDisabled", "texts", "hideExpander", "expanded", "onExpand", "headerSuffix", "headerPrefix", "contentWithoutPadding", "onMoveTop", "onMoveBottom", "isFirst", "isLast", "size", "dragHandleProps", "isDragPlaceholder", "isDragOverlay"];
|
|
1
|
+
var _excluded = ["onRemove", "onUpdate", "onDuplicate", "draggable", "dashed", "item", "greyBackground", "changeOrderDisabled", "texts", "hideExpander", "expanded", "onExpand", "selected", "onSelect", "headerSuffix", "headerPrefix", "contentWithoutPadding", "onMoveTop", "onMoveBottom", "isFirst", "isLast", "size", "dragHandleProps", "isDragPlaceholder", "isDragOverlay"];
|
|
2
2
|
function _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }
|
|
3
3
|
function _objectWithoutPropertiesLoose(r, e) { if (null == r) return {}; var t = {}; for (var n in r) if ({}.hasOwnProperty.call(r, n)) { if (-1 !== e.indexOf(n)) continue; t[n] = r[n]; } return t; }
|
|
4
4
|
import React, { useEffect, useState } from 'react';
|
|
@@ -20,6 +20,8 @@ var ContentItemComponent = function ContentItemComponent(_ref) {
|
|
|
20
20
|
hideExpander = _ref.hideExpander,
|
|
21
21
|
expanded = _ref.expanded,
|
|
22
22
|
onExpand = _ref.onExpand,
|
|
23
|
+
selected = _ref.selected,
|
|
24
|
+
onSelect = _ref.onSelect,
|
|
23
25
|
headerSuffix = _ref.headerSuffix,
|
|
24
26
|
headerPrefix = _ref.headerPrefix,
|
|
25
27
|
contentWithoutPadding = _ref.contentWithoutPadding,
|
|
@@ -45,6 +47,7 @@ var ContentItemComponent = function ContentItemComponent(_ref) {
|
|
|
45
47
|
}, [expanded]);
|
|
46
48
|
return /*#__PURE__*/React.createElement(S.ItemContainer, _extends({
|
|
47
49
|
opened: !!isExpanded,
|
|
50
|
+
selected: !!selected,
|
|
48
51
|
greyBackground: greyBackground,
|
|
49
52
|
key: item.id,
|
|
50
53
|
"data-testid": "item-with-content",
|
|
@@ -67,6 +70,7 @@ var ContentItemComponent = function ContentItemComponent(_ref) {
|
|
|
67
70
|
texts: allTexts,
|
|
68
71
|
hideExpander: hideExpander,
|
|
69
72
|
onExpand: onExpand,
|
|
73
|
+
onSelect: onSelect,
|
|
70
74
|
headerSuffix: headerSuffix,
|
|
71
75
|
headerPrefix: headerPrefix,
|
|
72
76
|
onMoveTop: onMoveTop,
|
|
@@ -17,6 +17,7 @@ export declare const ContentWrapper: import("styled-components").StyledComponent
|
|
|
17
17
|
}, never>;
|
|
18
18
|
export declare const ItemContainer: import("styled-components").StyledComponent<"div", any, {
|
|
19
19
|
opened: boolean;
|
|
20
|
+
selected?: boolean;
|
|
20
21
|
greyBackground: boolean | undefined;
|
|
21
22
|
size?: "default" | "large";
|
|
22
23
|
dashed?: boolean;
|
|
@@ -82,7 +82,9 @@ var standardShadow = function standardShadow(_ref8) {
|
|
|
82
82
|
export var ItemContainer = styled.div.withConfig({
|
|
83
83
|
displayName: "ContentItemstyles__ItemContainer",
|
|
84
84
|
componentId: "sc-13pyu4r-8"
|
|
85
|
-
})(["width:100%;display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-start;margin-bottom:16px;border-radius:3px;position:relative;", " ", " ", " ", " && .item-content-animation{width:100%;}", " ", ""], function (props) {
|
|
85
|
+
})(["width:100%;display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-start;margin-bottom:16px;border-radius:3px;position:relative;", " ", " ", " ", " ", " && .item-content-animation{width:100%;}", " ", ""], function (props) {
|
|
86
|
+
return props.selected && "\n outline: 2px solid " + props.theme.palette['blue-600'] + " !important;\n ";
|
|
87
|
+
}, function (props) {
|
|
86
88
|
return props.isDragOverlay ? "box-shadow: " + standardShadow(props) + ", 0px 16px 32px 0px " + props.theme.palette['grey-200'] + ";\n" : css(["box-shadow:", ";"], standardShadow(props));
|
|
87
89
|
}, function (props) {
|
|
88
90
|
return props.isDragPlaceholder ? css(["background-color:", ";outline:1px dashed ", " !important;box-shadow:0;box-sizing:border-box;border-radius:3px;", "{visibility:hidden;opacity:0;}", "{display:none;}"], props.theme.palette['blue-050'], props.theme.palette['blue-300'], ItemHeader, ContentWrapper) : css(["background-color:", ";"], props.theme.palette.white);
|
|
@@ -4,6 +4,7 @@ import { type ItemProps, type Texts } from '../../ManageableList.types';
|
|
|
4
4
|
type BaseContentItemProps = Omit<ContentItemHeaderProps, 'texts' | 'isExpanded' | 'setIsExpanded'> & {
|
|
5
5
|
dashed?: boolean;
|
|
6
6
|
expanded?: boolean;
|
|
7
|
+
selected?: boolean;
|
|
7
8
|
greyBackground?: boolean;
|
|
8
9
|
contentWithoutPadding?: boolean;
|
|
9
10
|
texts?: ContentItemHeaderProps['texts'] | undefined;
|
|
@@ -23,6 +24,9 @@ export type ContentItemHeaderProps = {
|
|
|
23
24
|
id: ReactText;
|
|
24
25
|
}) => void;
|
|
25
26
|
onExpand?: (id: ReactText, isExpanded: boolean) => void;
|
|
27
|
+
onSelect?: (selectParams: {
|
|
28
|
+
id: ReactText;
|
|
29
|
+
}) => void;
|
|
26
30
|
onRemove?: (removeParams: {
|
|
27
31
|
id: ReactText;
|
|
28
32
|
}) => void;
|
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
2
|
import type { ContentItemHeaderProps } from './ContentItem.types';
|
|
3
|
-
export declare const ContentItemHeader: ({ onRemove, onUpdate, onDuplicate, draggable, item, changeOrderDisabled, texts, hideExpander, onExpand, headerSuffix, headerPrefix, onMoveTop, onMoveBottom, isFirst, isLast, isExpanded, dragHandleProps, isDragOverlay, setIsExpanded, size, }: ContentItemHeaderProps) => React.JSX.Element;
|
|
3
|
+
export declare const ContentItemHeader: ({ onRemove, onUpdate, onDuplicate, draggable, item, changeOrderDisabled, texts, hideExpander, onExpand, onSelect, headerSuffix, headerPrefix, onMoveTop, onMoveBottom, isFirst, isLast, isExpanded, dragHandleProps, isDragOverlay, setIsExpanded, size, }: ContentItemHeaderProps) => React.JSX.Element;
|
|
@@ -20,6 +20,7 @@ export var ContentItemHeader = function ContentItemHeader(_ref) {
|
|
|
20
20
|
texts = _ref.texts,
|
|
21
21
|
hideExpander = _ref.hideExpander,
|
|
22
22
|
onExpand = _ref.onExpand,
|
|
23
|
+
onSelect = _ref.onSelect,
|
|
23
24
|
headerSuffix = _ref.headerSuffix,
|
|
24
25
|
headerPrefix = _ref.headerPrefix,
|
|
25
26
|
onMoveTop = _ref.onMoveTop,
|
|
@@ -82,7 +83,11 @@ export var ContentItemHeader = function ContentItemHeader(_ref) {
|
|
|
82
83
|
hasPrefix: hasPrefix,
|
|
83
84
|
hasDescription: !!item.description,
|
|
84
85
|
onClick: function onClick() {
|
|
85
|
-
if (
|
|
86
|
+
if (onSelect && !editMode) {
|
|
87
|
+
onSelect({
|
|
88
|
+
id: item.id
|
|
89
|
+
});
|
|
90
|
+
} else if (!item.disableExpanding && !editMode && !item.disableHeaderClick) {
|
|
86
91
|
setIsExpanded(!isExpanded);
|
|
87
92
|
onExpand && onExpand(item.id, !isExpanded);
|
|
88
93
|
}
|
|
@@ -15,6 +15,7 @@ declare const FilterItem: (({ item, selected, greyBackground, onDuplicate, onRem
|
|
|
15
15
|
IconWrapper: import("styled-components").StyledComponent<"div", any, {}, never>;
|
|
16
16
|
ItemContainer: import("styled-components").StyledComponent<"div", any, {
|
|
17
17
|
opened: boolean;
|
|
18
|
+
selected?: boolean;
|
|
18
19
|
greyBackground: boolean | undefined;
|
|
19
20
|
size?: "default" | "large";
|
|
20
21
|
dashed?: boolean;
|
package/dist/Item/Item.js
CHANGED
|
@@ -45,7 +45,9 @@ var Item = function Item(_ref) {
|
|
|
45
45
|
hideExpander: hideExpander,
|
|
46
46
|
texts: texts,
|
|
47
47
|
expanded: expanded,
|
|
48
|
+
selected: selected,
|
|
48
49
|
onExpand: onExpand,
|
|
50
|
+
onSelect: onSelect,
|
|
49
51
|
onMoveTop: onMoveTop,
|
|
50
52
|
onMoveBottom: onMoveBottom,
|
|
51
53
|
isFirst: Boolean(isFirst),
|
|
@@ -22,9 +22,9 @@ var SimpleItemComponent = function SimpleItemComponent(_ref) {
|
|
|
22
22
|
onUpdate && onUpdate(updateParams);
|
|
23
23
|
}, [onUpdate]);
|
|
24
24
|
var handleSelect = useCallback(function () {
|
|
25
|
-
!editMode && onSelect({
|
|
25
|
+
!editMode && (onSelect == null ? void 0 : onSelect({
|
|
26
26
|
id: item.id
|
|
27
|
-
});
|
|
27
|
+
}));
|
|
28
28
|
}, [onSelect, item.id, editMode]);
|
|
29
29
|
var enterEditMode = useCallback(function () {
|
|
30
30
|
setEditMode(true);
|
|
@@ -31,7 +31,7 @@ export type ManageableListProps<T extends object> = {
|
|
|
31
31
|
id: ReactText;
|
|
32
32
|
name: string;
|
|
33
33
|
}) => void;
|
|
34
|
-
onItemSelect
|
|
34
|
+
onItemSelect?: (selectParams: {
|
|
35
35
|
id: ReactText;
|
|
36
36
|
}) => void;
|
|
37
37
|
onItemDuplicate?: (duplicateParams: {
|
|
@@ -102,7 +102,7 @@ export type ManageableListItemProps = {
|
|
|
102
102
|
onRemove?: (removeParams: {
|
|
103
103
|
id: ReactText;
|
|
104
104
|
}) => void;
|
|
105
|
-
onSelect
|
|
105
|
+
onSelect?: (selectParams: {
|
|
106
106
|
id: ReactText;
|
|
107
107
|
}) => void;
|
|
108
108
|
onUpdate?: (updateParams: {
|
|
@@ -171,6 +171,7 @@ export type ItemProps<T extends object = object> = T & {
|
|
|
171
171
|
*/
|
|
172
172
|
disableHeaderClick?: boolean;
|
|
173
173
|
expanded?: boolean;
|
|
174
|
+
selected?: boolean;
|
|
174
175
|
disabled?: boolean;
|
|
175
176
|
headerSuffix?: ReactNode;
|
|
176
177
|
hideHeaderSuffixOnHover?: boolean;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@synerise/ds-manageable-list",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.4.0",
|
|
4
4
|
"description": "ManageableList UI Component for the Synerise Design System",
|
|
5
5
|
"license": "ISC",
|
|
6
6
|
"repository": "Synerise/synerise-design",
|
|
@@ -35,20 +35,20 @@
|
|
|
35
35
|
],
|
|
36
36
|
"types": "dist/index.d.ts",
|
|
37
37
|
"dependencies": {
|
|
38
|
-
"@synerise/ds-avatar": "^1.0.
|
|
39
|
-
"@synerise/ds-button": "^1.4.
|
|
40
|
-
"@synerise/ds-divider": "^1.0
|
|
41
|
-
"@synerise/ds-dropdown": "^1.0.
|
|
38
|
+
"@synerise/ds-avatar": "^1.0.23",
|
|
39
|
+
"@synerise/ds-button": "^1.4.12",
|
|
40
|
+
"@synerise/ds-divider": "^1.1.0",
|
|
41
|
+
"@synerise/ds-dropdown": "^1.0.25",
|
|
42
42
|
"@synerise/ds-icon": "^1.7.2",
|
|
43
|
-
"@synerise/ds-inline-edit": "^1.0.
|
|
44
|
-
"@synerise/ds-input": "^1.3.
|
|
45
|
-
"@synerise/ds-list": "^1.0
|
|
46
|
-
"@synerise/ds-menu": "^1.0.
|
|
47
|
-
"@synerise/ds-modal": "^1.2.
|
|
48
|
-
"@synerise/ds-popconfirm": "^1.0.
|
|
49
|
-
"@synerise/ds-result": "^1.0.
|
|
43
|
+
"@synerise/ds-inline-edit": "^1.0.29",
|
|
44
|
+
"@synerise/ds-input": "^1.3.12",
|
|
45
|
+
"@synerise/ds-list": "^1.1.0",
|
|
46
|
+
"@synerise/ds-menu": "^1.0.24",
|
|
47
|
+
"@synerise/ds-modal": "^1.2.12",
|
|
48
|
+
"@synerise/ds-popconfirm": "^1.0.24",
|
|
49
|
+
"@synerise/ds-result": "^1.0.25",
|
|
50
50
|
"@synerise/ds-sortable": "^1.3.5",
|
|
51
|
-
"@synerise/ds-tag": "^1.
|
|
51
|
+
"@synerise/ds-tag": "^1.3.0",
|
|
52
52
|
"@synerise/ds-tooltip": "^1.2.0",
|
|
53
53
|
"@synerise/ds-typography": "^1.0.21",
|
|
54
54
|
"@synerise/ds-utils": "^1.4.2",
|
|
@@ -62,5 +62,5 @@
|
|
|
62
62
|
"react-intl": ">=3.12.0 <= 6.8",
|
|
63
63
|
"styled-components": "^5.3.3"
|
|
64
64
|
},
|
|
65
|
-
"gitHead": "
|
|
65
|
+
"gitHead": "6a2e6e20a480aafe5d67748d04fbe3d4ce91a544"
|
|
66
66
|
}
|