@synerise/ds-sidebar-object 1.0.43 → 1.1.1
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/Elements/Header/Header.js +14 -38
- package/dist/Elements/Header/Header.style.js +1 -1
- package/dist/Elements/Overview/Overview.js +57 -40
- package/package.json +13 -13
- package/dist/Elements/DropdownOverlay/DropdownOverlay.d.ts +0 -4
- package/dist/Elements/DropdownOverlay/DropdownOverlay.js +0 -80
- package/dist/Elements/DropdownOverlay/DropdownOverlay.styles.d.ts +0 -4
- package/dist/Elements/DropdownOverlay/DropdownOverlay.styles.js +0 -13
- package/dist/Elements/DropdownOverlay/DropdownOverlay.types.d.ts +0 -17
- package/dist/Elements/DropdownOverlay/DropdownOverlay.types.js +0 -1
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.1.1](https://github.com/Synerise/synerise-design/compare/@synerise/ds-sidebar-object@1.1.0...@synerise/ds-sidebar-object@1.1.1) (2025-11-13)
|
|
7
|
+
|
|
8
|
+
**Note:** Version bump only for package @synerise/ds-sidebar-object
|
|
9
|
+
|
|
10
|
+
|
|
11
|
+
|
|
12
|
+
|
|
13
|
+
|
|
14
|
+
# [1.1.0](https://github.com/Synerise/synerise-design/compare/@synerise/ds-sidebar-object@1.0.43...@synerise/ds-sidebar-object@1.1.0) (2025-11-06)
|
|
15
|
+
|
|
16
|
+
|
|
17
|
+
### Features
|
|
18
|
+
|
|
19
|
+
* **dropdown:** dropdownMenu component ([f0ec827](https://github.com/Synerise/synerise-design/commit/f0ec82792cdcb021fa9a454912f6e7a892e53895))
|
|
20
|
+
|
|
21
|
+
|
|
22
|
+
|
|
23
|
+
|
|
24
|
+
|
|
6
25
|
## [1.0.43](https://github.com/Synerise/synerise-design/compare/@synerise/ds-sidebar-object@1.0.42...@synerise/ds-sidebar-object@1.0.43) (2025-10-31)
|
|
7
26
|
|
|
8
27
|
**Note:** Version bump only for package @synerise/ds-sidebar-object
|
|
@@ -1,12 +1,10 @@
|
|
|
1
1
|
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); }
|
|
2
|
-
import React, { useMemo
|
|
2
|
+
import React, { useMemo } from 'react';
|
|
3
3
|
import Button from '@synerise/ds-button';
|
|
4
4
|
import Drawer from '@synerise/ds-drawer';
|
|
5
|
-
import
|
|
6
|
-
import Icon, { AngleDownM, AngleUpM, CloseM,
|
|
7
|
-
import Menu from '@synerise/ds-menu';
|
|
5
|
+
import { DropdownMenu } from '@synerise/ds-dropdown';
|
|
6
|
+
import Icon, { AngleDownM, AngleUpM, CloseM, DuplicateM, EditM, FolderM, OptionHorizontalM, TrashM } from '@synerise/ds-icon';
|
|
8
7
|
import Typography from '@synerise/ds-typography';
|
|
9
|
-
import { useOnClickOutside } from '@synerise/ds-utils';
|
|
10
8
|
import * as S from './Header.style';
|
|
11
9
|
import { ButtonVariant, HeaderType } from './Header.types';
|
|
12
10
|
var Header = function Header(_ref) {
|
|
@@ -36,13 +34,6 @@ var Header = function Header(_ref) {
|
|
|
36
34
|
typeButtons = _ref.typeButtons,
|
|
37
35
|
onCancelClick = _ref.onCancelClick,
|
|
38
36
|
onApplyClick = _ref.onApplyClick;
|
|
39
|
-
var _useState = useState(false),
|
|
40
|
-
dropdownVisible = _useState[0],
|
|
41
|
-
setDropdownVisible = _useState[1];
|
|
42
|
-
var ref = useRef(null);
|
|
43
|
-
useOnClickOutside(ref, function () {
|
|
44
|
-
setDropdownVisible(false);
|
|
45
|
-
});
|
|
46
37
|
var renderBackTitle = function renderBackTitle(titleType) {
|
|
47
38
|
if (titleType === HeaderType.EDITABLE) {
|
|
48
39
|
return /*#__PURE__*/React.createElement(S.StyledInlineEdit, {
|
|
@@ -66,7 +57,6 @@ var Header = function Header(_ref) {
|
|
|
66
57
|
var menuItems = [];
|
|
67
58
|
onEdit && menuItems.push({
|
|
68
59
|
onClick: function onClick() {
|
|
69
|
-
setDropdownVisible(!dropdownVisible);
|
|
70
60
|
onEdit(inputObject);
|
|
71
61
|
},
|
|
72
62
|
prefixel: /*#__PURE__*/React.createElement(Icon, {
|
|
@@ -76,7 +66,6 @@ var Header = function Header(_ref) {
|
|
|
76
66
|
});
|
|
77
67
|
onDuplicate && menuItems.push({
|
|
78
68
|
onClick: function onClick() {
|
|
79
|
-
setDropdownVisible(!dropdownVisible);
|
|
80
69
|
onDuplicate(inputObject);
|
|
81
70
|
},
|
|
82
71
|
prefixel: /*#__PURE__*/React.createElement(Icon, {
|
|
@@ -86,7 +75,6 @@ var Header = function Header(_ref) {
|
|
|
86
75
|
});
|
|
87
76
|
onMove && menuItems.push({
|
|
88
77
|
onClick: function onClick() {
|
|
89
|
-
setDropdownVisible(!dropdownVisible);
|
|
90
78
|
onMove(inputObject);
|
|
91
79
|
},
|
|
92
80
|
prefixel: /*#__PURE__*/React.createElement(Icon, {
|
|
@@ -96,7 +84,6 @@ var Header = function Header(_ref) {
|
|
|
96
84
|
});
|
|
97
85
|
onDelete && menuItems.push({
|
|
98
86
|
onClick: function onClick() {
|
|
99
|
-
setDropdownVisible(!dropdownVisible);
|
|
100
87
|
onDelete(inputObject);
|
|
101
88
|
},
|
|
102
89
|
type: 'danger',
|
|
@@ -110,19 +97,16 @@ var Header = function Header(_ref) {
|
|
|
110
97
|
});
|
|
111
98
|
onId && menuItems.push({
|
|
112
99
|
onClick: function onClick() {
|
|
113
|
-
setDropdownVisible(!dropdownVisible);
|
|
114
100
|
onId(inputObject);
|
|
115
101
|
},
|
|
116
|
-
|
|
117
|
-
|
|
102
|
+
copyable: {
|
|
103
|
+
copiedLabel: 'Copied!',
|
|
104
|
+
copyValue: "" + inputObject[inputObjectIdKey]
|
|
118
105
|
},
|
|
119
|
-
|
|
120
|
-
component: /*#__PURE__*/React.createElement(CopyClipboardM, null)
|
|
121
|
-
}),
|
|
122
|
-
text: "ID: " + inputObject[inputObjectIdKey]
|
|
106
|
+
text: "Copy ID"
|
|
123
107
|
});
|
|
124
108
|
return menuItems;
|
|
125
|
-
}, [
|
|
109
|
+
}, [inputObject, inputObjectIdKey, onDelete, onDuplicate, onEdit, onId, onMove, renderMenuDivider, texts.deleteIcon, texts.duplicateIcon, texts.editIcon, texts.moveIcon]);
|
|
126
110
|
var renderActionButtons = function renderActionButtons(typesOfButtons) {
|
|
127
111
|
if (typesOfButtons === ButtonVariant.WITH_NAVIGATION) {
|
|
128
112
|
return /*#__PURE__*/React.createElement(React.Fragment, null, onArrowUp && /*#__PURE__*/React.createElement(S.ButtonWrapper, null, /*#__PURE__*/React.createElement(Button, {
|
|
@@ -139,24 +123,16 @@ var Header = function Header(_ref) {
|
|
|
139
123
|
}, /*#__PURE__*/React.createElement(Icon, {
|
|
140
124
|
size: 20,
|
|
141
125
|
component: /*#__PURE__*/React.createElement(AngleDownM, null)
|
|
142
|
-
}))), renderMenu && /*#__PURE__*/React.createElement(
|
|
143
|
-
|
|
126
|
+
}))), renderMenu && /*#__PURE__*/React.createElement(DropdownMenu, {
|
|
127
|
+
dataSource: menuDataSource,
|
|
144
128
|
placement: "bottomLeft",
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
},
|
|
148
|
-
|
|
149
|
-
style: {
|
|
150
|
-
width: '100%'
|
|
151
|
-
},
|
|
152
|
-
dataSource: menuDataSource
|
|
153
|
-
}))
|
|
129
|
+
popoverProps: {
|
|
130
|
+
testId: 'sidebar-object-menu'
|
|
131
|
+
},
|
|
132
|
+
asChild: true
|
|
154
133
|
}, /*#__PURE__*/React.createElement(S.ButtonWrapper, {
|
|
155
134
|
"data-testid": "sidebar-object-dropdown-menu-trigger"
|
|
156
135
|
}, /*#__PURE__*/React.createElement(Button, {
|
|
157
|
-
onClick: function onClick() {
|
|
158
|
-
return setDropdownVisible(!dropdownVisible);
|
|
159
|
-
},
|
|
160
136
|
type: "ghost",
|
|
161
137
|
mode: "single-icon"
|
|
162
138
|
}, /*#__PURE__*/React.createElement(Icon, {
|
|
@@ -29,7 +29,7 @@ export var ButtonsWrapper = styled.div.withConfig({
|
|
|
29
29
|
export var DropdownWrapper = styled.div.withConfig({
|
|
30
30
|
displayName: "Headerstyle__DropdownWrapper",
|
|
31
31
|
componentId: "sc-16ox3vk-5"
|
|
32
|
-
})(["background:", ";
|
|
32
|
+
})(["background:", ";"], function (props) {
|
|
33
33
|
return props.theme.palette.white;
|
|
34
34
|
});
|
|
35
35
|
export var OverviewWrapper = styled.div.withConfig({
|
|
@@ -1,9 +1,10 @@
|
|
|
1
|
-
|
|
1
|
+
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); }
|
|
2
|
+
import React, { useMemo, useState } from 'react';
|
|
2
3
|
import Button from '@synerise/ds-button';
|
|
3
|
-
import
|
|
4
|
-
import
|
|
4
|
+
import { useTheme } from '@synerise/ds-core';
|
|
5
|
+
import { DropdownMenu } from '@synerise/ds-dropdown';
|
|
6
|
+
import Icon, { Add3M, AngleDownS, FolderM } from '@synerise/ds-icon';
|
|
5
7
|
import Content from '../Content/Content';
|
|
6
|
-
import DropdownOverlay from '../DropdownOverlay/DropdownOverlay';
|
|
7
8
|
import * as S from '../Header/Header.style';
|
|
8
9
|
import ObjectSummary from '../ObjectSummary/ObjectSummary';
|
|
9
10
|
var Overview = function Overview(_ref) {
|
|
@@ -19,54 +20,70 @@ var Overview = function Overview(_ref) {
|
|
|
19
20
|
parentFolder = _ref.parentFolder,
|
|
20
21
|
texts = _ref.texts,
|
|
21
22
|
textDescription = _ref.textDescription,
|
|
22
|
-
|
|
23
|
+
onFolderSelect = _ref.onFolderSelect,
|
|
23
24
|
onDescriptionChange = _ref.onDescriptionChange,
|
|
24
25
|
_ref$descriptionProps = _ref.descriptionProps,
|
|
25
26
|
descriptionProps = _ref$descriptionProps === void 0 ? {} : _ref$descriptionProps,
|
|
26
27
|
onAddFolderClick = _ref.onAddFolderClick;
|
|
27
|
-
var
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
};
|
|
28
|
+
var theme = useTheme();
|
|
29
|
+
var _useState = useState(''),
|
|
30
|
+
searchQuery = _useState[0],
|
|
31
|
+
setSearchQuery = _useState[1];
|
|
32
|
+
var filteredData = useMemo(function () {
|
|
33
|
+
return folders.filter(function (item) {
|
|
34
|
+
return typeof item[foldersFilterKey] === 'string' && item[foldersFilterKey].toLowerCase().includes(searchQuery.toLowerCase());
|
|
35
|
+
});
|
|
36
|
+
}, [folders, foldersFilterKey, searchQuery]);
|
|
37
|
+
var menuDataSource = useMemo(function () {
|
|
38
|
+
return filteredData.map(function (item) {
|
|
39
|
+
return _extends({
|
|
40
|
+
key: item[foldersIdKey] + "-" + item.id,
|
|
41
|
+
onClick: function onClick() {
|
|
42
|
+
return onFolderSelect(item);
|
|
43
|
+
},
|
|
44
|
+
checked: parentFolder[foldersIdKey] === item[foldersIdKey],
|
|
45
|
+
prefixel: /*#__PURE__*/React.createElement(Icon, {
|
|
46
|
+
component: /*#__PURE__*/React.createElement(FolderM, null)
|
|
47
|
+
}),
|
|
48
|
+
// highlight: value,
|
|
49
|
+
text: item[foldersDisplayKey]
|
|
50
|
+
}, item);
|
|
51
|
+
});
|
|
52
|
+
}, [filteredData, foldersDisplayKey, foldersIdKey, onFolderSelect, parentFolder]);
|
|
36
53
|
return /*#__PURE__*/React.createElement(S.OverviewWrapper, null, /*#__PURE__*/React.createElement(S.HeaderWrapper, {
|
|
37
|
-
dashed: !!
|
|
38
|
-
},
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
onClearInput: onClearInput,
|
|
48
|
-
searchValue: value,
|
|
49
|
-
onSearchChange: setValue,
|
|
50
|
-
onFolderSelect: function onFolderSelect(folder) {
|
|
51
|
-
_onFolderSelect && _onFolderSelect(folder);
|
|
52
|
-
setDropdownVisible(false);
|
|
53
|
-
},
|
|
54
|
-
foldersDisplayKey: foldersDisplayKey,
|
|
55
|
-
foldersFilterKey: foldersFilterKey,
|
|
56
|
-
foldersIdKey: foldersIdKey,
|
|
57
|
-
onAddFolderClick: onAddFolderClick
|
|
58
|
-
})
|
|
59
|
-
}, /*#__PURE__*/React.createElement(Button, {
|
|
60
|
-
onClick: function onClick() {
|
|
61
|
-
return setDropdownVisible(!dropdownVisible);
|
|
54
|
+
dashed: !!onFolderSelect
|
|
55
|
+
}, onFolderSelect && /*#__PURE__*/React.createElement(React.Fragment, null, texts == null ? void 0 : texts.folder, ":", ' ', /*#__PURE__*/React.createElement(DropdownMenu, {
|
|
56
|
+
withSearch: true,
|
|
57
|
+
popoverProps: {
|
|
58
|
+
testId: 'sidebar-object-folders'
|
|
59
|
+
},
|
|
60
|
+
asChild: true,
|
|
61
|
+
dataSource: menuDataSource,
|
|
62
|
+
itemMatchesSearchQuery: function itemMatchesSearchQuery() {
|
|
63
|
+
return true;
|
|
62
64
|
},
|
|
65
|
+
onSearchQueryChange: setSearchQuery,
|
|
66
|
+
footer: onAddFolderClick ? {
|
|
67
|
+
left: /*#__PURE__*/React.createElement(Button, {
|
|
68
|
+
type: "ghost",
|
|
69
|
+
mode: "icon-label",
|
|
70
|
+
onClick: function onClick() {
|
|
71
|
+
return onAddFolderClick(searchQuery);
|
|
72
|
+
}
|
|
73
|
+
}, /*#__PURE__*/React.createElement(Icon, {
|
|
74
|
+
component: /*#__PURE__*/React.createElement(Add3M, null),
|
|
75
|
+
size: 24,
|
|
76
|
+
color: theme.palette['grey-500']
|
|
77
|
+
}), /*#__PURE__*/React.createElement("div", null, texts.addFolder))
|
|
78
|
+
} : undefined
|
|
79
|
+
}, /*#__PURE__*/React.createElement(Button, {
|
|
63
80
|
mode: "label-icon",
|
|
64
81
|
type: "ghost"
|
|
65
82
|
}, parentFolder == null ? void 0 : parentFolder.name, /*#__PURE__*/React.createElement(Icon, {
|
|
66
83
|
component: /*#__PURE__*/React.createElement(AngleDownS, null)
|
|
67
84
|
}))))), /*#__PURE__*/React.createElement(Content, {
|
|
68
85
|
descriptionProps: descriptionProps,
|
|
69
|
-
onFolderSelect:
|
|
86
|
+
onFolderSelect: onFolderSelect,
|
|
70
87
|
texts: texts,
|
|
71
88
|
onDescriptionChange: onDescriptionChange,
|
|
72
89
|
textDescription: textDescription,
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@synerise/ds-sidebar-object",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.1.1",
|
|
4
4
|
"description": "SidebarObject UI Component for the Synerise Design System",
|
|
5
5
|
"license": "ISC",
|
|
6
6
|
"repository": "Synerise/synerise-design",
|
|
@@ -35,18 +35,18 @@
|
|
|
35
35
|
],
|
|
36
36
|
"types": "dist/index.d.ts",
|
|
37
37
|
"dependencies": {
|
|
38
|
-
"@synerise/ds-button": "^1.
|
|
39
|
-
"@synerise/ds-description": "^1.1.
|
|
38
|
+
"@synerise/ds-button": "^1.5.0",
|
|
39
|
+
"@synerise/ds-description": "^1.1.13",
|
|
40
40
|
"@synerise/ds-drawer": "^1.0.10",
|
|
41
|
-
"@synerise/ds-dropdown": "^1.
|
|
42
|
-
"@synerise/ds-icon": "^1.
|
|
43
|
-
"@synerise/ds-inline-edit": "^1.
|
|
44
|
-
"@synerise/ds-menu": "^1.
|
|
45
|
-
"@synerise/ds-result": "^1.0.
|
|
46
|
-
"@synerise/ds-scrollbar": "^1.
|
|
47
|
-
"@synerise/ds-subtle-form": "^1.1.
|
|
48
|
-
"@synerise/ds-tabs": "^1.
|
|
49
|
-
"@synerise/ds-typography": "^1.0.
|
|
41
|
+
"@synerise/ds-dropdown": "^1.1.1",
|
|
42
|
+
"@synerise/ds-icon": "^1.8.0",
|
|
43
|
+
"@synerise/ds-inline-edit": "^1.1.1",
|
|
44
|
+
"@synerise/ds-menu": "^1.2.0",
|
|
45
|
+
"@synerise/ds-result": "^1.0.30",
|
|
46
|
+
"@synerise/ds-scrollbar": "^1.2.0",
|
|
47
|
+
"@synerise/ds-subtle-form": "^1.1.36",
|
|
48
|
+
"@synerise/ds-tabs": "^1.1.1",
|
|
49
|
+
"@synerise/ds-typography": "^1.0.23",
|
|
50
50
|
"@synerise/ds-utils": "^1.5.0"
|
|
51
51
|
},
|
|
52
52
|
"peerDependencies": {
|
|
@@ -55,5 +55,5 @@
|
|
|
55
55
|
"react": ">=16.9.0 <= 18.3.1",
|
|
56
56
|
"styled-components": "^5.3.3"
|
|
57
57
|
},
|
|
58
|
-
"gitHead": "
|
|
58
|
+
"gitHead": "085189e79075b23a8fb86ce9b7d930f6ac7b3d23"
|
|
59
59
|
}
|
|
@@ -1,4 +0,0 @@
|
|
|
1
|
-
import React from 'react';
|
|
2
|
-
import { type Props } from './DropdownOverlay.types';
|
|
3
|
-
declare const DropdownOverlay: ({ texts, onClearInput, data, onAddFolderClick, parentFolder, onDropdownOutsideClick, onSearchChange, searchValue, onFolderSelect, foldersIdKey, foldersFilterKey, foldersDisplayKey, }: Props) => React.JSX.Element;
|
|
4
|
-
export default DropdownOverlay;
|
|
@@ -1,80 +0,0 @@
|
|
|
1
|
-
import React, { useMemo, useRef } from 'react';
|
|
2
|
-
import Button from '@synerise/ds-button';
|
|
3
|
-
import { theme } from '@synerise/ds-core';
|
|
4
|
-
import Dropdown from '@synerise/ds-dropdown';
|
|
5
|
-
import Icon, { Add3M, FolderM, SearchM } from '@synerise/ds-icon';
|
|
6
|
-
import Menu from '@synerise/ds-menu';
|
|
7
|
-
import Result from '@synerise/ds-result';
|
|
8
|
-
import { useOnClickOutside } from '@synerise/ds-utils';
|
|
9
|
-
import { DropdownWrapper, MenuWrapper } from './DropdownOverlay.styles';
|
|
10
|
-
var DropdownOverlay = function DropdownOverlay(_ref) {
|
|
11
|
-
var texts = _ref.texts,
|
|
12
|
-
onClearInput = _ref.onClearInput,
|
|
13
|
-
data = _ref.data,
|
|
14
|
-
onAddFolderClick = _ref.onAddFolderClick,
|
|
15
|
-
parentFolder = _ref.parentFolder,
|
|
16
|
-
onDropdownOutsideClick = _ref.onDropdownOutsideClick,
|
|
17
|
-
onSearchChange = _ref.onSearchChange,
|
|
18
|
-
searchValue = _ref.searchValue,
|
|
19
|
-
onFolderSelect = _ref.onFolderSelect,
|
|
20
|
-
foldersIdKey = _ref.foldersIdKey,
|
|
21
|
-
foldersFilterKey = _ref.foldersFilterKey,
|
|
22
|
-
foldersDisplayKey = _ref.foldersDisplayKey;
|
|
23
|
-
var ref = useRef(null);
|
|
24
|
-
var filteredData = data.filter(function (item) {
|
|
25
|
-
return typeof item[foldersFilterKey] === 'string' && item[foldersFilterKey].toLowerCase().includes(searchValue.toLowerCase());
|
|
26
|
-
});
|
|
27
|
-
useOnClickOutside(ref, function () {
|
|
28
|
-
onDropdownOutsideClick && onDropdownOutsideClick();
|
|
29
|
-
});
|
|
30
|
-
var menuDataSource = useMemo(function () {
|
|
31
|
-
return filteredData == null ? void 0 : filteredData.map(function (item) {
|
|
32
|
-
return {
|
|
33
|
-
key: item[foldersIdKey] + "-" + item.id,
|
|
34
|
-
onClick: function onClick() {
|
|
35
|
-
return onFolderSelect(item);
|
|
36
|
-
},
|
|
37
|
-
checked: parentFolder[foldersIdKey] === item[foldersIdKey],
|
|
38
|
-
prefixel: /*#__PURE__*/React.createElement(Icon, {
|
|
39
|
-
component: /*#__PURE__*/React.createElement(FolderM, null)
|
|
40
|
-
}),
|
|
41
|
-
highlight: searchValue,
|
|
42
|
-
text: item[foldersDisplayKey]
|
|
43
|
-
};
|
|
44
|
-
});
|
|
45
|
-
}, [filteredData, foldersDisplayKey, foldersIdKey, onFolderSelect, parentFolder, searchValue]);
|
|
46
|
-
return /*#__PURE__*/React.createElement(DropdownWrapper, {
|
|
47
|
-
ref: ref
|
|
48
|
-
}, /*#__PURE__*/React.createElement(Dropdown.SearchInput, {
|
|
49
|
-
onSearchChange: onSearchChange,
|
|
50
|
-
onClearInput: onClearInput,
|
|
51
|
-
placeholder: (texts == null ? void 0 : texts.search) || '',
|
|
52
|
-
value: searchValue,
|
|
53
|
-
iconLeft: /*#__PURE__*/React.createElement(Icon, {
|
|
54
|
-
component: /*#__PURE__*/React.createElement(SearchM, null),
|
|
55
|
-
color: theme.palette['grey-600']
|
|
56
|
-
}),
|
|
57
|
-
autofocus: true
|
|
58
|
-
}), /*#__PURE__*/React.createElement(MenuWrapper, {
|
|
59
|
-
withBottomAction: !!onAddFolderClick
|
|
60
|
-
}, (filteredData == null ? void 0 : filteredData.length) > 0 ? /*#__PURE__*/React.createElement(Menu, {
|
|
61
|
-
dataSource: menuDataSource
|
|
62
|
-
}) : /*#__PURE__*/React.createElement(Result, {
|
|
63
|
-
type: "no-results"
|
|
64
|
-
})), onAddFolderClick && /*#__PURE__*/React.createElement(Dropdown.BottomAction, {
|
|
65
|
-
onClickAction: function onClickAction() {
|
|
66
|
-
return onAddFolderClick(searchValue);
|
|
67
|
-
},
|
|
68
|
-
style: {
|
|
69
|
-
padding: '8px'
|
|
70
|
-
}
|
|
71
|
-
}, /*#__PURE__*/React.createElement(Button, {
|
|
72
|
-
type: "ghost",
|
|
73
|
-
mode: "icon-label"
|
|
74
|
-
}, /*#__PURE__*/React.createElement(Icon, {
|
|
75
|
-
component: /*#__PURE__*/React.createElement(Add3M, null),
|
|
76
|
-
size: 24,
|
|
77
|
-
color: theme.palette['grey-500']
|
|
78
|
-
}), /*#__PURE__*/React.createElement("div", null, texts.addFolder))));
|
|
79
|
-
};
|
|
80
|
-
export default DropdownOverlay;
|
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
import styled from 'styled-components';
|
|
2
|
-
export var DropdownWrapper = styled.div.withConfig({
|
|
3
|
-
displayName: "DropdownOverlaystyles__DropdownWrapper",
|
|
4
|
-
componentId: "sc-7p7t3l-0"
|
|
5
|
-
})(["background:", ";width:220px;border-radius:3px;"], function (props) {
|
|
6
|
-
return props.theme.palette.white;
|
|
7
|
-
});
|
|
8
|
-
export var MenuWrapper = styled.div.withConfig({
|
|
9
|
-
displayName: "DropdownOverlaystyles__MenuWrapper",
|
|
10
|
-
componentId: "sc-7p7t3l-1"
|
|
11
|
-
})(["padding:8px;", ""], function (props) {
|
|
12
|
-
return props.withBottomAction && "padding-bottom: 0;";
|
|
13
|
-
});
|
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
import { type FolderItem } from '../../SidebarObject.types';
|
|
2
|
-
import { type HeaderTexts } from '../Header/Header.types';
|
|
3
|
-
import { type OverviewTexts } from '../Overview/Overview.types';
|
|
4
|
-
export interface Props {
|
|
5
|
-
data: FolderItem[];
|
|
6
|
-
onAddFolderClick?: (folderName: string) => void;
|
|
7
|
-
onClearInput?: () => void;
|
|
8
|
-
parentFolder: FolderItem;
|
|
9
|
-
texts: OverviewTexts & HeaderTexts;
|
|
10
|
-
onDropdownOutsideClick: () => void;
|
|
11
|
-
onSearchChange: (value: string) => void;
|
|
12
|
-
searchValue: string;
|
|
13
|
-
onFolderSelect: (item: FolderItem) => void;
|
|
14
|
-
foldersFilterKey: keyof FolderItem;
|
|
15
|
-
foldersDisplayKey: keyof FolderItem;
|
|
16
|
-
foldersIdKey: keyof FolderItem;
|
|
17
|
-
}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export {};
|