@synerise/ds-context-selector 0.25.2 → 0.25.3

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,14 @@
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.25.3](https://github.com/Synerise/synerise-design/compare/@synerise/ds-context-selector@0.25.2...@synerise/ds-context-selector@0.25.3) (2024-09-26)
7
+
8
+ **Note:** Version bump only for package @synerise/ds-context-selector
9
+
10
+
11
+
12
+
13
+
6
14
  ## [0.25.2](https://github.com/Synerise/synerise-design/compare/@synerise/ds-context-selector@0.25.1...@synerise/ds-context-selector@0.25.2) (2024-09-18)
7
15
 
8
16
  **Note:** Version bump only for package @synerise/ds-context-selector
@@ -1,4 +1,4 @@
1
1
  import React from 'react';
2
2
  import { ContextProps } from './ContextSelector.types';
3
- declare const ContextSelector: ({ defaultDropdownVisibility, selectedItem, onSelectItem, onSetGroup, groups, items, texts, opened, addMode, loading, customTriggerComponent, trigger, menuItemHeight, dropdownWrapperStyles, onClickOutsideEvents, onClickOutside, onSearch, hideSearchField, hasMoreItems, onFetchData, onActivate, onDeactivate, onOpen, getPopupContainerOverride, type, dropdownProps, disabled, errorText, readOnly, getMenuEntryProps, dropdownDimensionsConfig, }: ContextProps) => React.JSX.Element;
3
+ declare const ContextSelector: ({ defaultDropdownVisibility, selectedItem, onSelectItem, onSetGroup, groups, items, recentItems, texts, opened, addMode, loading, customTriggerComponent, trigger, menuItemHeight, dropdownWrapperStyles, onClickOutsideEvents, onClickOutside, onSearch, hideSearchField, hasMoreItems, onFetchData, onActivate, onDeactivate, onOpen, getPopupContainerOverride, type, dropdownProps, disabled, errorText, readOnly, getMenuEntryProps, dropdownDimensionsConfig, }: ContextProps) => React.JSX.Element;
4
4
  export default ContextSelector;
@@ -24,6 +24,7 @@ var ContextSelector = function ContextSelector(_ref) {
24
24
  onSetGroup = _ref.onSetGroup,
25
25
  groups = _ref.groups,
26
26
  items = _ref.items,
27
+ recentItems = _ref.recentItems,
27
28
  texts = _ref.texts,
28
29
  opened = _ref.opened,
29
30
  addMode = _ref.addMode,
@@ -182,6 +183,7 @@ var ContextSelector = function ContextSelector(_ref) {
182
183
  onSetGroup: handleOnSetGroup,
183
184
  groups: groups,
184
185
  items: items,
186
+ recentItems: recentItems,
185
187
  texts: texts,
186
188
  visible: dropdownVisible,
187
189
  loading: loading,
@@ -10,6 +10,8 @@ export type ContextTexts = {
10
10
  loadingResults: string;
11
11
  noResults: string;
12
12
  showMore: string;
13
+ recentItemsGroupName: string;
14
+ allItemsGroupName: string;
13
15
  };
14
16
  export type ContextItem = Pick<ListItemProps, 'renderHoverTooltip' | 'hoverTooltipProps' | 'disabled'> & {
15
17
  id: ReactText | null;
@@ -50,6 +52,7 @@ export type ContextProps = {
50
52
  onSelectItem: (item: ContextItem | ContextGroup | undefined) => void;
51
53
  groups: ContextGroup[];
52
54
  items: ContextItem[];
55
+ recentItems?: ContextItem[];
53
56
  texts: ContextTexts;
54
57
  getPopupContainerOverride?: (trigger: HTMLElement | null) => HTMLElement;
55
58
  onSetGroup?: (item: ContextItem | ContextGroup | undefined) => void;
@@ -82,6 +85,7 @@ export type ContextDropdownProps = {
82
85
  setSelected: (val: ContextItem | ContextGroup) => void;
83
86
  groups: ContextGroup[];
84
87
  items: ContextItem[];
88
+ recentItems?: ContextItem[];
85
89
  texts: ContextTexts;
86
90
  value: ContextItem | undefined;
87
91
  onSetGroup?: (val: ContextItem | ContextGroup) => void;
@@ -1,4 +1,4 @@
1
1
  import React from 'react';
2
2
  import { ContextDropdownProps } from '../ContextSelector.types';
3
- declare const ContextSelectorDropdown: ({ texts, setSelected, onSetGroup, groups, items, setDropdownVisible, value, visible, hideSearchField, loading, menuItemHeight, dropdownWrapperStyles, onClickOutsideEvents, onClickOutside, onSearch, onFetchData, hasMoreItems, outerHeight, maxSearchResultsInGroup, }: ContextDropdownProps) => React.JSX.Element;
3
+ declare const ContextSelectorDropdown: ({ texts, setSelected, onSetGroup, groups, items, recentItems, setDropdownVisible, value, visible, hideSearchField, loading, menuItemHeight, dropdownWrapperStyles, onClickOutsideEvents, onClickOutside, onSearch, onFetchData, hasMoreItems, outerHeight, maxSearchResultsInGroup, }: ContextDropdownProps) => React.JSX.Element;
4
4
  export default ContextSelectorDropdown;
@@ -28,6 +28,7 @@ var ContextSelectorDropdown = function ContextSelectorDropdown(_ref) {
28
28
  onSetGroup = _ref.onSetGroup,
29
29
  groups = _ref.groups,
30
30
  items = _ref.items,
31
+ recentItems = _ref.recentItems,
31
32
  setDropdownVisible = _ref.setDropdownVisible,
32
33
  value = _ref.value,
33
34
  visible = _ref.visible,
@@ -213,8 +214,23 @@ var ContextSelectorDropdown = function ContextSelectorDropdown(_ref) {
213
214
  }));
214
215
  }
215
216
 
217
+ if ((recentItems || []).length > 0) {
218
+ var recentItemsWithGroup = (recentItems || []).map(function (item) {
219
+ return _objectSpread({}, item, {
220
+ groupName: texts.recentItemsGroupName
221
+ });
222
+ });
223
+ var itemsWithAllGroup = (items || []).map(function (item) {
224
+ return _objectSpread({}, item, {
225
+ groupName: texts.allItemsGroupName
226
+ });
227
+ });
228
+ var result = groupByGroupName(recentItemsWithGroup.concat(itemsWithAllGroup));
229
+ return result;
230
+ }
231
+
216
232
  return groupByGroupName(items);
217
- }, [onSearch, searchQuery, hasSubgroups, activeGroup, activeTab, groups, groupByGroupName, items, searchResults, currentTabItems == null ? void 0 : currentTabItems.subGroups, currentTabItems == null ? void 0 : currentTabItems.id]);
233
+ }, [onSearch, searchQuery, hasSubgroups, activeGroup, activeTab, groups, groupByGroupName, items, searchResults, currentTabItems == null ? void 0 : currentTabItems.subGroups, currentTabItems == null ? void 0 : currentTabItems.id, recentItems, texts.recentItemsGroupName, texts.allItemsGroupName]);
218
234
  useEffect(function () {
219
235
  var _listRef$current;
220
236
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@synerise/ds-context-selector",
3
- "version": "0.25.2",
3
+ "version": "0.25.3",
4
4
  "description": "ContextSelector UI Component for the Synerise Design System",
5
5
  "license": "ISC",
6
6
  "repository": "Synerise/synerise-design",
@@ -25,27 +25,28 @@
25
25
  "prepublish": "npm run build",
26
26
  "test": "jest",
27
27
  "test:watch": "npm run test -- --watchAll",
28
- "types": "tsc --noEmit"
28
+ "types": "tsc --noEmit",
29
+ "upgrade:ds": "ncu -f \"@synerise/ds-*\" -u"
29
30
  },
30
- "gitHead": "a2c7baeed8b391294c9a24866cd4c9dfd4646fa9",
31
+ "gitHead": "fc06bd0f13401a57329fb92985b735de33108dbc",
31
32
  "sideEffects": [
32
33
  "dist/style/*",
33
34
  "*.less"
34
35
  ],
35
36
  "types": "dist/index.d.ts",
36
37
  "dependencies": {
37
- "@synerise/ds-button": "^0.21.11",
38
- "@synerise/ds-dropdown": "^0.18.15",
39
- "@synerise/ds-factors": "^0.25.4",
40
- "@synerise/ds-icon": "^0.65.6",
41
- "@synerise/ds-information-card": "^0.5.10",
42
- "@synerise/ds-list-item": "^0.4.11",
43
- "@synerise/ds-menu": "^0.19.15",
44
- "@synerise/ds-result": "^0.7.5",
45
- "@synerise/ds-scrollbar": "^0.11.11",
46
- "@synerise/ds-skeleton": "^0.6.9",
47
- "@synerise/ds-tabs": "^0.16.1",
48
- "@synerise/ds-utils": "^0.29.3",
38
+ "@synerise/ds-button": "^0.21.12",
39
+ "@synerise/ds-dropdown": "^0.18.16",
40
+ "@synerise/ds-factors": "^0.25.5",
41
+ "@synerise/ds-icon": "^0.65.7",
42
+ "@synerise/ds-information-card": "^0.5.11",
43
+ "@synerise/ds-list-item": "^0.4.12",
44
+ "@synerise/ds-menu": "^0.19.16",
45
+ "@synerise/ds-result": "^0.7.6",
46
+ "@synerise/ds-scrollbar": "^0.11.12",
47
+ "@synerise/ds-skeleton": "^0.6.10",
48
+ "@synerise/ds-tabs": "^0.16.2",
49
+ "@synerise/ds-utils": "^0.29.4",
49
50
  "react-window": "1.8.5",
50
51
  "uuid": "^8.3.2"
51
52
  },