@synerise/ds-factors 0.25.4 → 0.25.6

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
+ ## [0.25.6](https://github.com/Synerise/synerise-design/compare/@synerise/ds-factors@0.25.5...@synerise/ds-factors@0.25.6) (2024-09-26)
7
+
8
+
9
+ ### Bug Fixes
10
+
11
+ * adds missing hooks dependencies ([3e52cee](https://github.com/Synerise/synerise-design/commit/3e52cee92b57a6fc91d5ba2514a10d3d7e1f6f41))
12
+
13
+
14
+
15
+
16
+
17
+ ## [0.25.5](https://github.com/Synerise/synerise-design/compare/@synerise/ds-factors@0.25.4...@synerise/ds-factors@0.25.5) (2024-09-26)
18
+
19
+ **Note:** Version bump only for package @synerise/ds-factors
20
+
21
+
22
+
23
+
24
+
6
25
  ## [0.25.4](https://github.com/Synerise/synerise-design/compare/@synerise/ds-factors@0.25.3...@synerise/ds-factors@0.25.4) (2024-09-18)
7
26
 
8
27
  **Note:** Version bump only for package @synerise/ds-factors
@@ -1,4 +1,4 @@
1
1
  import React from 'react';
2
2
  import { ParameterDropdownProps } from '../../Factors.types';
3
- declare const ParameterDropdown: ({ setSelected, texts, groups, items, setDropdownVisible, loading, onFetchData, hasMoreItems, outerHeight, value, renderEmptyGroups, maxSearchResultsInGroup, }: ParameterDropdownProps) => React.JSX.Element;
3
+ declare const ParameterDropdown: ({ setSelected, texts, groups, items, recentItems, setDropdownVisible, loading, onFetchData, hasMoreItems, outerHeight, value, renderEmptyGroups, maxSearchResultsInGroup, }: ParameterDropdownProps) => React.JSX.Element;
4
4
  export default ParameterDropdown;
@@ -1,5 +1,11 @@
1
1
  function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
2
2
 
3
+ function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }
4
+
5
+ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
6
+
7
+ function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
8
+
3
9
  import React, { useRef, useState, useMemo, useCallback, useEffect } from 'react';
4
10
  import { v4 as uuid } from 'uuid';
5
11
  import Dropdown from '@synerise/ds-dropdown';
@@ -24,6 +30,7 @@ var ParameterDropdown = function ParameterDropdown(_ref) {
24
30
  texts = _ref.texts,
25
31
  groups = _ref.groups,
26
32
  items = _ref.items,
33
+ recentItems = _ref.recentItems,
27
34
  setDropdownVisible = _ref.setDropdownVisible,
28
35
  loading = _ref.loading,
29
36
  onFetchData = _ref.onFetchData,
@@ -193,6 +200,21 @@ var ParameterDropdown = function ParameterDropdown(_ref) {
193
200
  });
194
201
  }
195
202
 
203
+ if ((recentItems || []).length > 0) {
204
+ var recentItemsWithGroup = (recentItems || []).map(function (item) {
205
+ return _objectSpread({}, item, {
206
+ groupName: texts.parameter.recentItemsGroupName
207
+ });
208
+ });
209
+ var itemsWithAllGroup = (items || []).map(function (item) {
210
+ return _objectSpread({}, item, {
211
+ groupName: texts.parameter.allItemsGroupName
212
+ });
213
+ });
214
+ var result = groupByGroupName(recentItemsWithGroup.concat(itemsWithAllGroup));
215
+ return result;
216
+ }
217
+
196
218
  return items == null ? void 0 : items.map(function (item) {
197
219
  return {
198
220
  className: classNames,
@@ -202,7 +224,7 @@ var ParameterDropdown = function ParameterDropdown(_ref) {
202
224
  select: setSelected
203
225
  };
204
226
  });
205
- }, [searchQuery, currentTabItems, activeGroup, visibleGroups, items, searchResults, classNames, hideDropdown, setSelected, activeTab]);
227
+ }, [searchQuery, currentTabItems, activeGroup, visibleGroups, items, searchResults, classNames, hideDropdown, setSelected, activeTab, groupByGroupName, recentItems, texts.parameter.allItemsGroupName, texts.parameter.recentItemsGroupName]);
206
228
  var handleSearch = useCallback(function (newSearchQuery) {
207
229
  setSearchQuery(newSearchQuery);
208
230
  }, [setSearchQuery]);
package/dist/Factors.js CHANGED
@@ -375,6 +375,14 @@ var Factors = function Factors(_ref) {
375
375
  showMore: formatMessage({
376
376
  id: 'DS.FACTORS.PARAMETER.SHOW_MORE',
377
377
  defaultMessage: 'Show more'
378
+ }),
379
+ recentItemsGroupName: formatMessage({
380
+ id: 'DS.FACTORS.PARAMETER.RECENT',
381
+ defaultMessage: 'Recent'
382
+ }),
383
+ allItemsGroupName: formatMessage({
384
+ id: 'DS.FACTORS.PARAMETER.ALL',
385
+ defaultMessage: 'All'
378
386
  })
379
387
  },
380
388
  valuePlaceholder: formatMessage({
@@ -67,6 +67,8 @@ export type FactorsTexts = {
67
67
  noResults: string;
68
68
  loadingParameter: string;
69
69
  showMore: string;
70
+ recentItemsGroupName: string;
71
+ allItemsGroupName: string;
70
72
  };
71
73
  valuePlaceholder: string;
72
74
  modalApply: string;
@@ -102,6 +104,7 @@ export type FactorsProps = {
102
104
  selectedButtonColored?: boolean;
103
105
  groups?: ParameterGroup[];
104
106
  items: ParameterItem[];
107
+ recentItems?: ParameterItem[];
105
108
  renderEmptyGroups?: boolean;
106
109
  showAllGroup?: boolean;
107
110
  dropdownDimensionsConfig?: {
@@ -153,6 +156,7 @@ export type ParameterDropdownProps = {
153
156
  setSelected: (val: ParameterItem) => void;
154
157
  groups?: ParameterGroup[];
155
158
  items?: ParameterItem[];
159
+ recentItems?: ParameterItem[];
156
160
  value?: ParameterValueType;
157
161
  texts: FactorsTexts;
158
162
  loading?: boolean;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@synerise/ds-factors",
3
- "version": "0.25.4",
3
+ "version": "0.25.6",
4
4
  "description": "Factors UI Component for the Synerise Design System",
5
5
  "license": "ISC",
6
6
  "repository": "Synerise/synerise-design",
@@ -25,7 +25,8 @@
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
31
  "sideEffects": [
31
32
  "dist/style/*",
@@ -33,26 +34,26 @@
33
34
  ],
34
35
  "types": "dist/index.d.ts",
35
36
  "dependencies": {
36
- "@synerise/ds-autocomplete": "^0.8.19",
37
- "@synerise/ds-badge": "^0.8.10",
38
- "@synerise/ds-button": "^0.21.11",
39
- "@synerise/ds-date-picker": "^0.11.17",
40
- "@synerise/ds-date-range-picker": "^0.29.13",
41
- "@synerise/ds-dropdown": "^0.18.15",
42
- "@synerise/ds-icon": "^0.65.6",
43
- "@synerise/ds-information-card": "^0.5.10",
44
- "@synerise/ds-inline-edit": "^0.8.11",
45
- "@synerise/ds-input": "^0.24.5",
46
- "@synerise/ds-input-number": "^0.10.6",
47
- "@synerise/ds-list-item": "^0.4.11",
48
- "@synerise/ds-menu": "^0.19.15",
49
- "@synerise/ds-modal": "^0.17.42",
50
- "@synerise/ds-result": "^0.7.5",
51
- "@synerise/ds-scrollbar": "^0.11.11",
52
- "@synerise/ds-skeleton": "^0.6.9",
53
- "@synerise/ds-tabs": "^0.16.1",
54
- "@synerise/ds-tooltip": "^0.14.41",
55
- "@synerise/ds-utils": "^0.29.3",
37
+ "@synerise/ds-autocomplete": "^0.8.20",
38
+ "@synerise/ds-badge": "^0.8.11",
39
+ "@synerise/ds-button": "^0.21.12",
40
+ "@synerise/ds-date-picker": "^0.11.18",
41
+ "@synerise/ds-date-range-picker": "^0.29.15",
42
+ "@synerise/ds-dropdown": "^0.18.16",
43
+ "@synerise/ds-icon": "^0.65.7",
44
+ "@synerise/ds-information-card": "^0.5.11",
45
+ "@synerise/ds-inline-edit": "^0.8.12",
46
+ "@synerise/ds-input": "^0.24.6",
47
+ "@synerise/ds-input-number": "^0.10.7",
48
+ "@synerise/ds-list-item": "^0.4.12",
49
+ "@synerise/ds-menu": "^0.19.16",
50
+ "@synerise/ds-modal": "^0.17.43",
51
+ "@synerise/ds-result": "^0.7.6",
52
+ "@synerise/ds-scrollbar": "^0.11.12",
53
+ "@synerise/ds-skeleton": "^0.6.10",
54
+ "@synerise/ds-tabs": "^0.16.2",
55
+ "@synerise/ds-tooltip": "^0.14.42",
56
+ "@synerise/ds-utils": "^0.29.4",
56
57
  "lodash": "^4.17.21",
57
58
  "react-intl": "3.12.0",
58
59
  "react-window": "1.8.5",
@@ -64,5 +65,5 @@
64
65
  "react": ">=16.9.0 <= 17.0.2",
65
66
  "styled-components": "5.0.1"
66
67
  },
67
- "gitHead": "a2c7baeed8b391294c9a24866cd4c9dfd4646fa9"
68
+ "gitHead": "acdd4818052c9778885a68b8faaf7b109ba618d4"
68
69
  }