@synerise/ds-manageable-list 0.29.3 → 0.29.5

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,22 @@
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.29.5](https://github.com/Synerise/synerise-design/compare/@synerise/ds-manageable-list@0.29.4...@synerise/ds-manageable-list@0.29.5) (2024-11-29)
7
+
8
+ **Note:** Version bump only for package @synerise/ds-manageable-list
9
+
10
+
11
+
12
+
13
+
14
+ ## [0.29.4](https://github.com/Synerise/synerise-design/compare/@synerise/ds-manageable-list@0.29.3...@synerise/ds-manageable-list@0.29.4) (2024-11-28)
15
+
16
+ **Note:** Version bump only for package @synerise/ds-manageable-list
17
+
18
+
19
+
20
+
21
+
6
22
  ## [0.29.3](https://github.com/Synerise/synerise-design/compare/@synerise/ds-manageable-list@0.29.2...@synerise/ds-manageable-list@0.29.3) (2024-11-22)
7
23
 
8
24
  **Note:** Version bump only for package @synerise/ds-manageable-list
@@ -1,4 +1,4 @@
1
- import React, { useState, useCallback } from 'react';
1
+ import React, { useState, useCallback, useMemo } from 'react';
2
2
  import { withTheme } from 'styled-components';
3
3
  import Icon, { CheckS, CircleShapeM, OptionHorizontalM, WarningFillM, EditM, DuplicateM, TrashM } from '@synerise/ds-icon';
4
4
  import Popconfirm from '@synerise/ds-popconfirm';
@@ -6,8 +6,7 @@ import ModalProxy from '@synerise/ds-modal';
6
6
  import Result from '@synerise/ds-result';
7
7
  import Button from '@synerise/ds-button';
8
8
  import Dropdown from '@synerise/ds-dropdown';
9
- import { ItemType } from '@synerise/ds-menu/dist/Elements/Item/MenuItem.types';
10
- import Menu from '@synerise/ds-menu';
9
+ import { ItemType } from '@synerise/ds-menu';
11
10
  import ItemName from '../ItemName/ItemName';
12
11
  import ItemMeta from '../ItemMeta/ItemMeta';
13
12
  import * as S from '../ContentItem/ContentItem.styles';
@@ -45,6 +44,40 @@ var FilterItemComponent = function FilterItemComponent(_ref) {
45
44
  id: item.id
46
45
  });
47
46
  }, [item.id, onDuplicate]);
47
+ var dropdownMenuDataSource = useMemo(function () {
48
+ var menuItems = [];
49
+ if (item.canUpdate) {
50
+ menuItems.push({
51
+ onClick: enterEditMode,
52
+ prefixel: /*#__PURE__*/React.createElement(Icon, {
53
+ component: /*#__PURE__*/React.createElement(EditM, null),
54
+ color: theme.palette['grey-600']
55
+ }),
56
+ text: texts.itemActionRename
57
+ });
58
+ }
59
+ if (item.canDuplicate) {
60
+ menuItems.push({
61
+ onClick: handleDuplicate,
62
+ prefixel: /*#__PURE__*/React.createElement(Icon, {
63
+ component: /*#__PURE__*/React.createElement(DuplicateM, null),
64
+ color: theme.palette['grey-600']
65
+ }),
66
+ text: texts.itemActionDuplicate
67
+ });
68
+ }
69
+ if (item.canDelete) {
70
+ menuItems.push({
71
+ type: ItemType.DANGER,
72
+ onClick: handleRemove,
73
+ prefixel: /*#__PURE__*/React.createElement(Icon, {
74
+ component: /*#__PURE__*/React.createElement(TrashM, null)
75
+ }),
76
+ text: texts.itemActionDelete
77
+ });
78
+ }
79
+ return menuItems;
80
+ }, [enterEditMode, handleDuplicate, handleRemove, item.canDelete, item.canDuplicate, item.canUpdate, texts.itemActionDelete, texts.itemActionDuplicate, texts.itemActionRename, theme.palette]);
48
81
  return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(S.ItemContainer, {
49
82
  opened: false,
50
83
  greyBackground: greyBackground,
@@ -89,26 +122,9 @@ var FilterItemComponent = function FilterItemComponent(_ref) {
89
122
  }), /*#__PURE__*/React.createElement(Dropdown, {
90
123
  trigger: ['click'],
91
124
  placement: "bottomRight",
92
- overlay: /*#__PURE__*/React.createElement(DropdownMenu, null, item.canUpdate && /*#__PURE__*/React.createElement(Menu.Item, {
93
- onClick: enterEditMode,
94
- prefixel: /*#__PURE__*/React.createElement(Icon, {
95
- component: /*#__PURE__*/React.createElement(EditM, null),
96
- color: theme.palette['grey-600']
97
- })
98
- }, texts.itemActionRename), item.canDuplicate && /*#__PURE__*/React.createElement(Menu.Item, {
99
- onClick: handleDuplicate,
100
- prefixel: /*#__PURE__*/React.createElement(Icon, {
101
- component: /*#__PURE__*/React.createElement(DuplicateM, null),
102
- color: theme.palette['grey-600']
103
- })
104
- }, texts.itemActionDuplicate), item.canDelete && /*#__PURE__*/React.createElement(Menu.Item, {
105
- type: ItemType.DANGER,
106
- danger: true,
107
- onClick: handleRemove,
108
- prefixel: /*#__PURE__*/React.createElement(Icon, {
109
- component: /*#__PURE__*/React.createElement(TrashM, null)
110
- })
111
- }, texts.itemActionDelete))
125
+ overlay: /*#__PURE__*/React.createElement(DropdownMenu, {
126
+ dataSource: dropdownMenuDataSource
127
+ })
112
128
  }, /*#__PURE__*/React.createElement(S.FilterDropdownTrigger, {
113
129
  className: "ds-dropdown-trigger",
114
130
  mode: "single-icon",
@@ -1,9 +1,7 @@
1
1
  import Menu from '@synerise/ds-menu';
2
- import React from 'react';
3
2
  export declare const SelectFilterItem: import("styled-components").StyledComponent<"div", any, {}, never>;
4
3
  export declare const MenuItem: import("styled-components").StyledComponent<"div", any, {
5
4
  danger?: boolean | undefined;
6
5
  }, never>;
7
6
  export declare const ItemHeader: import("styled-components").StyledComponent<"div", any, {}, never>;
8
7
  export declare const DropdownMenu: import("styled-components").StyledComponent<typeof Menu, any, {}, never>;
9
- export declare const DropdownMenuItem: import("styled-components").StyledComponent<({ children, ...rest }: any) => React.JSX.Element, any, {}, never>;
@@ -1,9 +1,6 @@
1
- var _excluded = ["children"];
2
- function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }
3
1
  import styled from 'styled-components';
4
2
  import { IconContainer } from '@synerise/ds-icon';
5
3
  import Menu from '@synerise/ds-menu';
6
- import React from 'react';
7
4
  import { ItemLabel } from '../SimpleItem/SimpleItem.styles';
8
5
  import { ItemMeta } from '../ItemMeta/ItemMeta.styles';
9
6
 
@@ -40,16 +37,4 @@ export var ItemHeader = styled.div.withConfig({
40
37
  export var DropdownMenu = styled(Menu).withConfig({
41
38
  displayName: "FilterItemstyles__DropdownMenu",
42
39
  componentId: "omg0gg-3"
43
- })(["padding:8px;"]);
44
- export var DropdownMenuItem = styled(function (_ref2) {
45
- var children = _ref2.children,
46
- rest = _objectWithoutPropertiesLoose(_ref2, _excluded);
47
- return (
48
- /*#__PURE__*/
49
- // eslint-disable-next-line react/jsx-props-no-spreading
50
- React.createElement(Menu.Item, rest, children)
51
- );
52
- }).withConfig({
53
- displayName: "FilterItemstyles__DropdownMenuItem",
54
- componentId: "omg0gg-4"
55
- })(["&&&{height:32px;}"]);
40
+ })(["padding:8px;"]);
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@synerise/ds-manageable-list",
3
- "version": "0.29.3",
3
+ "version": "0.29.5",
4
4
  "description": "ManageableList UI Component for the Synerise Design System",
5
5
  "license": "ISC",
6
6
  "repository": "Synerise/synerise-design",
@@ -34,20 +34,20 @@
34
34
  ],
35
35
  "types": "dist/index.d.ts",
36
36
  "dependencies": {
37
- "@synerise/ds-avatar": "^0.17.21",
38
- "@synerise/ds-button": "^0.21.19",
39
- "@synerise/ds-dropdown": "^0.18.24",
40
- "@synerise/ds-icon": "^0.67.0",
41
- "@synerise/ds-inline-edit": "^0.9.1",
42
- "@synerise/ds-input": "^0.24.14",
43
- "@synerise/ds-list": "^0.7.6",
44
- "@synerise/ds-menu": "^0.20.6",
45
- "@synerise/ds-modal": "^0.17.51",
46
- "@synerise/ds-popconfirm": "^0.10.61",
47
- "@synerise/ds-result": "^0.7.14",
48
- "@synerise/ds-tags": "^0.10.18",
49
- "@synerise/ds-tooltip": "^0.14.49",
50
- "@synerise/ds-typography": "^0.16.6",
37
+ "@synerise/ds-avatar": "^0.17.23",
38
+ "@synerise/ds-button": "^0.21.21",
39
+ "@synerise/ds-dropdown": "^0.18.26",
40
+ "@synerise/ds-icon": "^0.68.0",
41
+ "@synerise/ds-inline-edit": "^0.9.3",
42
+ "@synerise/ds-input": "^0.24.16",
43
+ "@synerise/ds-list": "^0.7.8",
44
+ "@synerise/ds-menu": "^0.20.8",
45
+ "@synerise/ds-modal": "^0.17.53",
46
+ "@synerise/ds-popconfirm": "^0.10.63",
47
+ "@synerise/ds-result": "^0.7.16",
48
+ "@synerise/ds-tags": "^0.10.20",
49
+ "@synerise/ds-tooltip": "^0.14.51",
50
+ "@synerise/ds-typography": "^0.16.8",
51
51
  "@synerise/ds-utils": "^0.31.2",
52
52
  "moment": "^2.30.1",
53
53
  "react-animate-height": "^2.0.23",
@@ -61,5 +61,5 @@
61
61
  "react-intl": ">=3.12.0 <= 6.8",
62
62
  "styled-components": "^5.0.1"
63
63
  },
64
- "gitHead": "e9897e5ecb13a9c022f5ed002db76e4ab78318c5"
64
+ "gitHead": "9ebd107163650754a5f55680d62d30812d740084"
65
65
  }