@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 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 (!item.disableExpanding && !editMode && !item.disableHeaderClick) {
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;
@@ -96,7 +96,7 @@ var FilterItemComponent = function FilterItemComponent(_ref) {
96
96
  okType: "primary",
97
97
  placement: "top",
98
98
  onConfirm: function onConfirm() {
99
- return onSelect({
99
+ return onSelect == null ? void 0 : onSelect({
100
100
  id: item.id
101
101
  });
102
102
  },
@@ -13,7 +13,7 @@ export type FilterItemProps = {
13
13
  id: React.ReactText;
14
14
  name: string;
15
15
  }) => void;
16
- onSelect: (selectParams: {
16
+ onSelect?: (selectParams: {
17
17
  id: React.ReactText;
18
18
  }) => void;
19
19
  selected: 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);
@@ -5,7 +5,7 @@ export type Props = {
5
5
  onRemove?: (removeParams: {
6
6
  id: ReactText;
7
7
  }) => void;
8
- onSelect: (selectParams: {
8
+ onSelect?: (selectParams: {
9
9
  id: ReactText;
10
10
  }) => void;
11
11
  onUpdate?: (updateParams: {
@@ -31,7 +31,7 @@ export type ManageableListProps<T extends object> = {
31
31
  id: ReactText;
32
32
  name: string;
33
33
  }) => void;
34
- onItemSelect: (selectParams: {
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: (selectParams: {
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.23",
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.22",
39
- "@synerise/ds-button": "^1.4.11",
40
- "@synerise/ds-divider": "^1.0.21",
41
- "@synerise/ds-dropdown": "^1.0.23",
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.27",
44
- "@synerise/ds-input": "^1.3.10",
45
- "@synerise/ds-list": "^1.0.22",
46
- "@synerise/ds-menu": "^1.0.23",
47
- "@synerise/ds-modal": "^1.2.11",
48
- "@synerise/ds-popconfirm": "^1.0.23",
49
- "@synerise/ds-result": "^1.0.24",
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.2.0",
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": "5029af8713235b315d36bb3c73363f2feca86da0"
65
+ "gitHead": "6a2e6e20a480aafe5d67748d04fbe3d4ce91a544"
66
66
  }