@synerise/ds-item-picker 1.16.2 → 1.17.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.
Files changed (94) hide show
  1. package/CHANGELOG.md +14 -0
  2. package/README.md +2 -3
  3. package/dist/ItemPicker.d.ts +5 -5
  4. package/dist/ItemPicker.js +13 -17
  5. package/dist/ItemPicker.styles.d.ts +1 -1
  6. package/dist/ItemPicker.styles.js +6 -3
  7. package/dist/components/ItemPickerDropdown/ItemPickerDropdown.d.ts +2 -2
  8. package/dist/components/ItemPickerDropdown/ItemPickerDropdown.js +58 -99
  9. package/dist/components/ItemPickerDropdown/ItemPickerDropdown.style.d.ts +7 -7
  10. package/dist/components/ItemPickerDropdown/ItemPickerDropdown.style.js +22 -19
  11. package/dist/components/ItemPickerDropdown/ItemPickerDropdown.types.d.ts +4 -4
  12. package/dist/components/ItemPickerDropdown/ItemPickerDropdown.types.js +1 -1
  13. package/dist/components/ItemPickerLegacy/ItemPickerLegacy.d.ts +2 -2
  14. package/dist/components/ItemPickerLegacy/ItemPickerLegacy.js +89 -152
  15. package/dist/components/ItemPickerLegacy/ItemPickerLegacy.types.d.ts +8 -8
  16. package/dist/components/ItemPickerLegacy/ItemPickerLegacy.types.js +1 -1
  17. package/dist/components/ItemPickerList/ItemPickerList.d.ts +5 -5
  18. package/dist/components/ItemPickerList/ItemPickerList.js +199 -258
  19. package/dist/components/ItemPickerList/ItemPickerList.styles.d.ts +18 -18
  20. package/dist/components/ItemPickerList/ItemPickerList.styles.js +55 -64
  21. package/dist/components/ItemPickerList/ItemPickerList.types.d.ts +3 -3
  22. package/dist/components/ItemPickerList/ItemPickerList.types.js +1 -1
  23. package/dist/components/ItemPickerList/components/EmptyListMessage.d.ts +10 -5
  24. package/dist/components/ItemPickerList/components/EmptyListMessage.js +33 -29
  25. package/dist/components/ItemPickerList/components/ErrorItem.d.ts +1 -1
  26. package/dist/components/ItemPickerList/components/ErrorItem.js +10 -9
  27. package/dist/components/ItemPickerList/components/ErrorMessage.d.ts +2 -2
  28. package/dist/components/ItemPickerList/components/ErrorMessage.js +12 -15
  29. package/dist/components/ItemPickerList/components/InfiniteLoaderItem.d.ts +2 -2
  30. package/dist/components/ItemPickerList/components/InfiniteLoaderItem.js +19 -17
  31. package/dist/components/ItemPickerList/components/ItemPickerListFooter.d.ts +3 -3
  32. package/dist/components/ItemPickerList/components/ItemPickerListFooter.js +21 -20
  33. package/dist/components/ItemPickerList/components/ItemPickerListRow.d.ts +4 -4
  34. package/dist/components/ItemPickerList/components/ItemPickerListRow.js +42 -43
  35. package/dist/components/ItemPickerList/components/ItemPickerListSkeleton.d.ts +1 -1
  36. package/dist/components/ItemPickerList/components/ItemPickerListSkeleton.js +16 -23
  37. package/dist/components/ItemPickerList/components/ListSearchInput.d.ts +4 -4
  38. package/dist/components/ItemPickerList/components/ListSearchInput.js +36 -51
  39. package/dist/components/ItemPickerList/components/LoadingItem.d.ts +1 -1
  40. package/dist/components/ItemPickerList/components/LoadingItem.js +10 -9
  41. package/dist/components/ItemPickerList/components/NoMoreItem.d.ts +1 -1
  42. package/dist/components/ItemPickerList/components/NoMoreItem.js +10 -9
  43. package/dist/components/ItemPickerList/components/index.js +14 -6
  44. package/dist/components/ItemPickerList/constants.d.ts +2 -2
  45. package/dist/components/ItemPickerList/constants.js +47 -26
  46. package/dist/components/ItemPickerList/hooks/index.js +8 -3
  47. package/dist/components/ItemPickerList/hooks/useFlattenFolders.d.ts +2 -2
  48. package/dist/components/ItemPickerList/hooks/useFlattenFolders.js +40 -61
  49. package/dist/components/ItemPickerList/hooks/useItemsInSections.d.ts +7 -7
  50. package/dist/components/ItemPickerList/hooks/useItemsInSections.js +342 -443
  51. package/dist/components/ItemPickerList/hooks/useItemsInSections.utils.d.ts +5 -5
  52. package/dist/components/ItemPickerList/hooks/useItemsInSections.utils.js +77 -74
  53. package/dist/components/ItemPickerList/hooks/useListHeight.d.ts +2 -2
  54. package/dist/components/ItemPickerList/hooks/useListHeight.js +37 -41
  55. package/dist/components/ItemPickerList/types/renderMode.js +8 -5
  56. package/dist/components/ItemPickerList/utils/actionItemsUtils.d.ts +4 -4
  57. package/dist/components/ItemPickerList/utils/actionItemsUtils.js +92 -92
  58. package/dist/components/ItemPickerList/utils/createTitleFromTitlePath.d.ts +2 -2
  59. package/dist/components/ItemPickerList/utils/createTitleFromTitlePath.js +7 -4
  60. package/dist/components/ItemPickerList/utils/findSectionById.d.ts +1 -1
  61. package/dist/components/ItemPickerList/utils/findSectionById.js +10 -12
  62. package/dist/components/ItemPickerList/utils/getContextAwareActions.d.ts +1 -1
  63. package/dist/components/ItemPickerList/utils/getContextAwareActions.js +19 -15
  64. package/dist/components/ItemPickerList/utils/getSearchByActionItems.d.ts +2 -2
  65. package/dist/components/ItemPickerList/utils/getSearchByActionItems.js +28 -29
  66. package/dist/components/ItemPickerList/utils/index.js +16 -4
  67. package/dist/components/ItemPickerList/utils/isNavKey.d.ts +1 -1
  68. package/dist/components/ItemPickerList/utils/isNavKey.js +6 -3
  69. package/dist/components/ItemPickerList/utils/resolveSectionId.d.ts +2 -2
  70. package/dist/components/ItemPickerList/utils/resolveSectionId.js +15 -9
  71. package/dist/components/ItemPickerList/utils/typeguards.utils.d.ts +5 -5
  72. package/dist/components/ItemPickerList/utils/typeguards.utils.js +23 -14
  73. package/dist/components/ItemPickerNew/ItemPickerNew.d.ts +4 -4
  74. package/dist/components/ItemPickerNew/ItemPickerNew.js +59 -101
  75. package/dist/components/ItemPickerNew/ItemPickerNew.types.d.ts +18 -16
  76. package/dist/components/ItemPickerNew/ItemPickerNew.types.js +1 -1
  77. package/dist/components/ItemPickerNew/types/actions.types.d.ts +2 -2
  78. package/dist/components/ItemPickerNew/types/actions.types.js +10 -6
  79. package/dist/components/ItemPickerNew/types/baseItemSectionType.types.d.ts +3 -3
  80. package/dist/components/ItemPickerNew/types/baseItemSectionType.types.js +1 -1
  81. package/dist/components/ItemPickerNew/types/itemPickerListTexts.types.d.ts +2 -2
  82. package/dist/components/ItemPickerNew/types/itemPickerListTexts.types.js +1 -1
  83. package/dist/components/ItemPickerTrigger/Trigger.d.ts +5 -5
  84. package/dist/components/ItemPickerTrigger/Trigger.js +71 -111
  85. package/dist/components/ItemPickerTrigger/Trigger.styles.d.ts +12 -12
  86. package/dist/components/ItemPickerTrigger/Trigger.styles.js +70 -93
  87. package/dist/components/ItemPickerTrigger/Trigger.types.d.ts +3 -3
  88. package/dist/components/ItemPickerTrigger/Trigger.types.js +1 -1
  89. package/dist/hooks/useDefaultTexts.d.ts +1 -1
  90. package/dist/hooks/useDefaultTexts.js +116 -117
  91. package/dist/index.js +14 -6
  92. package/dist/modules.d.js +1 -1
  93. package/dist/modules.d.ts +0 -0
  94. package/package.json +25 -25
package/CHANGELOG.md CHANGED
@@ -3,6 +3,20 @@
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.17.1](https://github.com/Synerise/synerise-design/compare/@synerise/ds-item-picker@1.17.0...@synerise/ds-item-picker@1.17.1) (2026-03-24)
7
+
8
+ **Note:** Version bump only for package @synerise/ds-item-picker
9
+
10
+ # [1.17.0](https://github.com/Synerise/synerise-design/compare/@synerise/ds-item-picker@1.16.2...@synerise/ds-item-picker@1.17.0) (2026-03-20)
11
+
12
+ ### Bug Fixes
13
+
14
+ - **item-picker:** close dropdown when selectedItem is set via prop ([5c491ce](https://github.com/Synerise/synerise-design/commit/5c491ce56e8d0e75c37b745d3a6987ffa1903044))
15
+
16
+ ### Features
17
+
18
+ - **item-picker:** empty state default and custom ([a3b9af1](https://github.com/Synerise/synerise-design/commit/a3b9af1c0fc1e4a626da266199c456ef0aad67b1))
19
+
6
20
  ## [1.16.2](https://github.com/Synerise/synerise-design/compare/@synerise/ds-item-picker@1.16.1...@synerise/ds-item-picker@1.16.2) (2026-03-10)
7
21
 
8
22
  ### Bug Fixes
package/README.md CHANGED
@@ -35,7 +35,6 @@ import ItemPicker from '@synerise/ds-item-picker'
35
35
  errorMessage={''}
36
36
  size={'small'}
37
37
  changeButtonLabel={'Change'}
38
- onChangeButtonClick={() => {}}
39
38
  />
40
39
 
41
40
  ```
@@ -55,7 +54,7 @@ import ItemPicker from '@synerise/ds-item-picker'
55
54
  | dropdownBottomAction? | Dropdown bottom action | React.ReactNode | - |
56
55
  | closeOnBottomAction? | Close dropdown when bottom action has been clicked | boolean | false |
57
56
  | placeholder | Placeholder text | string, React.ReactNode | - |
58
- | clear | Clear button tooltip | string, React.ReactNode | 'Remove' |
57
+ | clear | Clear button tooltip | string, React.ReactNode | 'Clear' |
59
58
  | searchPlaceholder | Placeholder of SearchBar in dropdown | string | 'Search' |
60
59
  | onClear | Callback executed when clear icon is clicked | () => void | - |
61
60
  | onChange | Callback executed when item from dropdown is clicked | (item: [MenuItemProps](https://design.synerise.com/docs/components/menu#menuitemprops)) => void | - |
@@ -72,7 +71,7 @@ import ItemPicker from '@synerise/ds-item-picker'
72
71
  | disabled? | Whether the component is disabled | boolean | - |
73
72
  | changeButtonLabel? | Label of change button, available only when size='large' | string, React.ReactNode | 'Change' |
74
73
  | withClearConfirmation | Shows Popconfirm on the clear icon click | boolean | - |
75
- | clearConfirmTitle | Title of Popconfirm | string | 'Are you sure to remove this selection?' |
74
+ | clearConfirmTitle | Title of Popconfirm | string | 'Please confirm' |
76
75
  | yesText | Label of confirm button | string | 'Yes' |
77
76
  | noText | Label of cancel button | string | 'No' |
78
77
  | noResults | No search results info | string | 'No results' |
@@ -1,8 +1,8 @@
1
- import React from 'react';
2
- import { type ItemPickerProps } from './components/ItemPickerLegacy/ItemPickerLegacy.types';
3
- import { type ItemPickerListRef } from './components/ItemPickerList/ItemPickerList.types';
4
- import type { ItemPickerProps as ItemPickerPropsNew } from './components/ItemPickerNew/ItemPickerNew.types';
5
- import type { BaseItemType, BaseSectionType } from './components/ItemPickerNew/types/baseItemSectionType.types';
1
+ import { default as React } from 'react';
2
+ import { ItemPickerProps } from './components/ItemPickerLegacy/ItemPickerLegacy.types';
3
+ import { ItemPickerListRef } from './components/ItemPickerList/ItemPickerList.types';
4
+ import { ItemPickerProps as ItemPickerPropsNew } from './components/ItemPickerNew/ItemPickerNew.types';
5
+ import { BaseItemType, BaseSectionType } from './components/ItemPickerNew/types/baseItemSectionType.types';
6
6
  declare const ItemPickerInner: <ItemType extends BaseItemType, SectionType extends BaseSectionType | undefined>(props: ItemPickerProps | ItemPickerPropsNew<ItemType, SectionType>, forwardedRef: ItemPickerListRef) => React.JSX.Element;
7
7
  type ItemPickerType = <ItemType extends BaseItemType, SectionType extends BaseSectionType>(p: ItemPickerProps | (ItemPickerPropsNew<ItemType, SectionType> & {
8
8
  ref?: ItemPickerListRef;
@@ -1,21 +1,17 @@
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, { forwardRef } from 'react';
3
- import ItemPickerLegacy from './components/ItemPickerLegacy/ItemPickerLegacy';
4
- import { ItemPickerNew } from './components/ItemPickerNew/ItemPickerNew';
5
- var isNewItemPicker = function isNewItemPicker(props) {
6
- return 'isNewVersion' in props && props.isNewVersion;
1
+ import { jsx } from "react/jsx-runtime";
2
+ import { forwardRef } from "react";
3
+ import ItemPickerLegacy from "./components/ItemPickerLegacy/ItemPickerLegacy.js";
4
+ import { ItemPickerNew } from "./components/ItemPickerNew/ItemPickerNew.js";
5
+ const isNewItemPicker = (props) => {
6
+ return "isNewVersion" in props && props.isNewVersion;
7
7
  };
8
- var ItemPickerInner = function ItemPickerInner(props, forwardedRef) {
8
+ const ItemPickerInner = (props, forwardedRef) => {
9
9
  if (isNewItemPicker(props)) {
10
- return /*#__PURE__*/React.createElement(ItemPickerNew, _extends({
11
- key: "ds-item-picker"
12
- }, props, {
13
- ref: forwardedRef
14
- }));
10
+ return /* @__PURE__ */ jsx(ItemPickerNew, { ...props, ref: forwardedRef }, "ds-item-picker");
15
11
  }
16
- return /*#__PURE__*/React.createElement(ItemPickerLegacy, _extends({
17
- key: "ds-item-picker-legacy"
18
- }, props));
12
+ return /* @__PURE__ */ jsx(ItemPickerLegacy, { ...props }, "ds-item-picker-legacy");
13
+ };
14
+ const ItemPicker = forwardRef(ItemPickerInner);
15
+ export {
16
+ ItemPicker as default
19
17
  };
20
- var ItemPicker = /*#__PURE__*/forwardRef(ItemPickerInner);
21
- export default ItemPicker;
@@ -1,3 +1,3 @@
1
- export declare const ItemPickerWrapper: import("styled-components").StyledComponent<"div", any, {
1
+ export declare const ItemPickerWrapper: import('styled-components').StyledComponent<"div", any, {
2
2
  disabled?: boolean;
3
3
  }, never>;
@@ -1,5 +1,8 @@
1
- import styled from 'styled-components';
2
- export var ItemPickerWrapper = styled.div.withConfig({
1
+ import styled from "styled-components";
2
+ const ItemPickerWrapper = /* @__PURE__ */ styled.div.withConfig({
3
3
  displayName: "ItemPickerstyles__ItemPickerWrapper",
4
4
  componentId: "sc-1dxa5ip-0"
5
- })(["position:relative;"]);
5
+ })(["position:relative;"]);
6
+ export {
7
+ ItemPickerWrapper
8
+ };
@@ -1,4 +1,4 @@
1
- import React from 'react';
2
- import type { ItemPickerDropdownProps } from './ItemPickerDropdown.types';
1
+ import { default as React } from 'react';
2
+ import { ItemPickerDropdownProps } from './ItemPickerDropdown.types';
3
3
  declare const ItemPickerDropdown: ({ onChange, placeholder, dataSource, closeDropdown, noResults, dropdownVisibleRows, dropdownRowHeight, dropdownBottomAction, closeOnBottomAction, isDropdownOpened, searchBarProps, hideSearchBar, scrollbarProps, clearSearchQuery, }: ItemPickerDropdownProps) => React.JSX.Element;
4
4
  export default ItemPickerDropdown;
@@ -1,47 +1,42 @@
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, { useEffect, useMemo, useRef, useState } from 'react';
3
- import Icon, { SearchM } from '@synerise/ds-icon';
4
- import Result from '@synerise/ds-result';
5
- import SearchBar from '@synerise/ds-search-bar';
6
- import { SearchItems } from '@synerise/ds-search/dist/Elements';
7
- import { useKeyboardShortcuts } from '@synerise/ds-utils';
8
- import * as S from './ItemPickerDropdown.style';
9
- var DEFAULT_ROW_HEIGHT = 32;
10
- var DEFAULT_VISIBLE_ROWS = 10;
11
- var ItemPickerDropdown = function ItemPickerDropdown(_ref) {
12
- var _searchBarProps$value;
13
- var onChange = _ref.onChange,
14
- placeholder = _ref.placeholder,
15
- dataSource = _ref.dataSource,
16
- closeDropdown = _ref.closeDropdown,
17
- noResults = _ref.noResults,
18
- dropdownVisibleRows = _ref.dropdownVisibleRows,
19
- dropdownRowHeight = _ref.dropdownRowHeight,
20
- dropdownBottomAction = _ref.dropdownBottomAction,
21
- closeOnBottomAction = _ref.closeOnBottomAction,
22
- isDropdownOpened = _ref.isDropdownOpened,
23
- searchBarProps = _ref.searchBarProps,
24
- hideSearchBar = _ref.hideSearchBar,
25
- scrollbarProps = _ref.scrollbarProps,
26
- clearSearchQuery = _ref.clearSearchQuery;
27
- var rowCount = dropdownVisibleRows || DEFAULT_VISIBLE_ROWS;
28
- var rowHeight = dropdownRowHeight || DEFAULT_ROW_HEIGHT;
29
- var _useState = useState(''),
30
- searchQuery = _useState[0],
31
- setSearchQuery = _useState[1];
32
- var _useState2 = useState(0),
33
- scrollTop = _useState2[0],
34
- setScrollTop = _useState2[1];
35
- var containerRef = useRef(null);
36
- useEffect(function () {
1
+ import { jsxs, jsx } from "react/jsx-runtime";
2
+ import { useState, useRef, useEffect, useMemo } from "react";
3
+ import Icon, { SearchM } from "@synerise/ds-icon";
4
+ import Result from "@synerise/ds-result";
5
+ import SearchBar from "@synerise/ds-search-bar";
6
+ import { SearchItems } from "@synerise/ds-search/dist/Elements";
7
+ import { useKeyboardShortcuts } from "@synerise/ds-utils";
8
+ import { DropdownWrapper, ListWrapper, StyledScrollbar, ListItem, DropdownFooter, BottomActionWrapper } from "./ItemPickerDropdown.style.js";
9
+ const DEFAULT_ROW_HEIGHT = 32;
10
+ const DEFAULT_VISIBLE_ROWS = 10;
11
+ const ItemPickerDropdown = ({
12
+ onChange,
13
+ placeholder,
14
+ dataSource,
15
+ closeDropdown,
16
+ noResults,
17
+ dropdownVisibleRows,
18
+ dropdownRowHeight,
19
+ dropdownBottomAction,
20
+ closeOnBottomAction,
21
+ isDropdownOpened,
22
+ searchBarProps,
23
+ hideSearchBar,
24
+ scrollbarProps,
25
+ clearSearchQuery
26
+ }) => {
27
+ const rowCount = dropdownVisibleRows || DEFAULT_VISIBLE_ROWS;
28
+ const rowHeight = dropdownRowHeight || DEFAULT_ROW_HEIGHT;
29
+ const [searchQuery, setSearchQuery] = useState("");
30
+ const [scrollTop, setScrollTop] = useState(0);
31
+ const containerRef = useRef(null);
32
+ useEffect(() => {
37
33
  if (clearSearchQuery && clearSearchQuery > 0) {
38
- setSearchQuery('');
34
+ setSearchQuery("");
39
35
  }
40
36
  }, [clearSearchQuery]);
41
37
  useKeyboardShortcuts({
42
- Escape: function Escape(event) {
43
- var _containerRef$current;
44
- if (!((_containerRef$current = containerRef.current) != null && _containerRef$current.offsetParent)) {
38
+ Escape: (event) => {
39
+ if (!containerRef.current?.offsetParent) {
45
40
  return;
46
41
  }
47
42
  if (!searchQuery) {
@@ -51,70 +46,34 @@ var ItemPickerDropdown = function ItemPickerDropdown(_ref) {
51
46
  }
52
47
  }
53
48
  });
54
- var handleClose = function handleClose() {
55
- setSearchQuery('');
49
+ const handleClose = () => {
50
+ setSearchQuery("");
56
51
  closeDropdown();
57
52
  };
58
- var handleChange = function handleChange(item) {
53
+ const handleChange = (item) => {
59
54
  handleClose();
60
55
  onChange(item);
61
56
  };
62
- var filteredDataSource = useMemo(function () {
63
- return searchQuery ? dataSource.filter(function (item) {
64
- return item.text && String(item.text).toLowerCase().includes(searchQuery.toLowerCase());
65
- }) : dataSource;
57
+ const filteredDataSource = useMemo(() => {
58
+ return searchQuery ? dataSource.filter((item) => item.text && String(item.text).toLowerCase().includes(searchQuery.toLowerCase())) : dataSource;
66
59
  }, [searchQuery, dataSource]);
67
- var renderBottomAction = function renderBottomAction() {
68
- var bottomAction = !closeOnBottomAction ? dropdownBottomAction : /*#__PURE__*/React.createElement(S.BottomActionWrapper, {
69
- onClick: handleClose
70
- }, dropdownBottomAction);
71
- return dropdownBottomAction && /*#__PURE__*/React.createElement(S.DropdownFooter, null, bottomAction);
60
+ const renderBottomAction = () => {
61
+ const bottomAction = !closeOnBottomAction ? dropdownBottomAction : /* @__PURE__ */ jsx(BottomActionWrapper, { onClick: handleClose, children: dropdownBottomAction });
62
+ return dropdownBottomAction && /* @__PURE__ */ jsx(DropdownFooter, { children: bottomAction });
72
63
  };
73
- return /*#__PURE__*/React.createElement(S.DropdownWrapper, {
74
- ref: containerRef,
75
- "data-testid": "ds-item-picker-dropdown"
76
- }, hideSearchBar !== true && /*#__PURE__*/React.createElement(SearchBar, _extends({
77
- iconLeft: /*#__PURE__*/React.createElement(Icon, {
78
- component: /*#__PURE__*/React.createElement(SearchM, null)
79
- }),
80
- onSearchChange: setSearchQuery,
81
- placeholder: placeholder,
82
- value: searchQuery,
83
- onClearInput: function onClearInput() {
84
- return setSearchQuery('');
85
- },
86
- autofocus: isDropdownOpened
87
- }, searchBarProps)), /*#__PURE__*/React.createElement(S.ListWrapper, null, (filteredDataSource == null ? void 0 : filteredDataSource.length) === 0 && /*#__PURE__*/React.createElement(Result, {
88
- type: "no-results",
89
- description: noResults
90
- }), /*#__PURE__*/React.createElement(S.StyledScrollbar, _extends({
91
- maxHeight: rowCount * rowHeight,
92
- absolute: true,
93
- onScroll: function onScroll(event) {
94
- return setScrollTop(event.currentTarget.scrollTop);
95
- },
96
- style: {
97
- paddingRight: '8px'
98
- }
99
- }, scrollbarProps), /*#__PURE__*/React.createElement(SearchItems, {
100
- data: filteredDataSource,
101
- highlight: (_searchBarProps$value = searchBarProps == null ? void 0 : searchBarProps.value) != null ? _searchBarProps$value : searchQuery,
102
- itemRender: function itemRender(item) {
103
- return /*#__PURE__*/React.createElement(S.ListItem, _extends({
104
- key: item == null ? void 0 : item.text
105
- }, item));
106
- },
107
- onItemClick: function onItemClick(i) {
108
- return handleChange(i);
109
- },
110
- rowHeight: rowHeight,
111
- height: rowCount * rowHeight,
112
- visibleRows: rowCount,
113
- listProps: {
114
- scrollTop: scrollTop
115
- },
116
- width: "100%",
117
- renderInMenu: false
118
- }))), renderBottomAction());
64
+ return /* @__PURE__ */ jsxs(DropdownWrapper, { ref: containerRef, "data-testid": "ds-item-picker-dropdown", children: [
65
+ hideSearchBar !== true && /* @__PURE__ */ jsx(SearchBar, { iconLeft: /* @__PURE__ */ jsx(Icon, { component: /* @__PURE__ */ jsx(SearchM, {}) }), onSearchChange: setSearchQuery, placeholder, value: searchQuery, onClearInput: () => setSearchQuery(""), autofocus: isDropdownOpened, ...searchBarProps }),
66
+ /* @__PURE__ */ jsxs(ListWrapper, { children: [
67
+ filteredDataSource?.length === 0 && /* @__PURE__ */ jsx(Result, { type: "no-results", description: noResults }),
68
+ /* @__PURE__ */ jsx(StyledScrollbar, { maxHeight: rowCount * rowHeight, absolute: true, onScroll: (event) => setScrollTop(event.currentTarget.scrollTop), style: {
69
+ paddingRight: "8px"
70
+ }, ...scrollbarProps, children: /* @__PURE__ */ jsx(SearchItems, { data: filteredDataSource, highlight: searchBarProps?.value ?? searchQuery, itemRender: (item) => /* @__PURE__ */ jsx(ListItem, { ...item }, item?.text), onItemClick: (i) => handleChange(i), rowHeight, height: rowCount * rowHeight, visibleRows: rowCount, listProps: {
71
+ scrollTop
72
+ }, width: "100%", renderInMenu: false }) })
73
+ ] }),
74
+ renderBottomAction()
75
+ ] });
76
+ };
77
+ export {
78
+ ItemPickerDropdown as default
119
79
  };
120
- export default ItemPickerDropdown;
@@ -1,8 +1,8 @@
1
- import { type StyledListItem } from '@synerise/ds-list-item';
2
- import { type ScrollbarProps } from '@synerise/ds-scrollbar';
3
- export declare const DropdownWrapper: import("styled-components").StyledComponent<"div", any, {}, never>;
1
+ import { StyledListItem } from '@synerise/ds-list-item';
2
+ import { ScrollbarProps } from '@synerise/ds-scrollbar';
3
+ export declare const DropdownWrapper: import('styled-components').StyledComponent<"div", any, {}, never>;
4
4
  export declare const ListItem: StyledListItem;
5
- export declare const ListWrapper: import("styled-components").StyledComponent<"div", any, {}, never>;
6
- export declare const StyledScrollbar: import("styled-components").StyledComponent<import("react").ForwardRefExoticComponent<(ScrollbarProps | import("@synerise/ds-scrollbar").VirtualScrollbarProps) & import("react").RefAttributes<HTMLElement>>, any, ScrollbarProps, never>;
7
- export declare const DropdownFooter: import("styled-components").StyledComponent<"div", any, {}, never>;
8
- export declare const BottomActionWrapper: import("styled-components").StyledComponent<"div", any, {}, never>;
5
+ export declare const ListWrapper: import('styled-components').StyledComponent<"div", any, {}, never>;
6
+ export declare const StyledScrollbar: import('styled-components').StyledComponent<import('react').ForwardRefExoticComponent<(ScrollbarProps | import('@synerise/ds-scrollbar').VirtualScrollbarProps) & import('react').RefAttributes<HTMLElement>>, any, ScrollbarProps, never>;
7
+ export declare const DropdownFooter: import('styled-components').StyledComponent<"div", any, {}, never>;
8
+ export declare const BottomActionWrapper: import('styled-components').StyledComponent<"div", any, {}, never>;
@@ -1,34 +1,37 @@
1
- import styled from 'styled-components';
2
- import DSListItem from '@synerise/ds-list-item';
3
- import Scrollbar from '@synerise/ds-scrollbar';
4
- export var DropdownWrapper = styled.div.withConfig({
1
+ import styled from "styled-components";
2
+ import DSListItem from "@synerise/ds-list-item";
3
+ import Scrollbar from "@synerise/ds-scrollbar";
4
+ const DropdownWrapper = /* @__PURE__ */ styled.div.withConfig({
5
5
  displayName: "ItemPickerDropdownstyle__DropdownWrapper",
6
6
  componentId: "sc-1y4j72s-0"
7
7
  })(["display:flex;flex-direction:column;align-items:stretch;justify-content:flex-start;width:100%;"]);
8
- export var ListItem = styled(DSListItem).withConfig({
8
+ const ListItem = /* @__PURE__ */ styled(DSListItem).withConfig({
9
9
  displayName: "ItemPickerDropdownstyle__ListItem",
10
10
  componentId: "sc-1y4j72s-1"
11
11
  })(["min-width:auto;"]);
12
- export var ListWrapper = styled.div.withConfig({
12
+ const ListWrapper = /* @__PURE__ */ styled.div.withConfig({
13
13
  displayName: "ItemPickerDropdownstyle__ListWrapper",
14
14
  componentId: "sc-1y4j72s-2"
15
- })(["display:flex;flex-direction:column;align-items:stretch;justify-content:flex-start;padding:8px 0 8px 8px;background:", ";"], function (_ref) {
16
- var theme = _ref.theme;
17
- return theme.palette.white;
18
- });
19
- export var StyledScrollbar = styled(Scrollbar).withConfig({
15
+ })(["display:flex;flex-direction:column;align-items:stretch;justify-content:flex-start;padding:8px 0 8px 8px;background:", ";"], ({
16
+ theme
17
+ }) => theme.palette.white);
18
+ const StyledScrollbar = /* @__PURE__ */ styled(Scrollbar).withConfig({
20
19
  displayName: "ItemPickerDropdownstyle__StyledScrollbar",
21
20
  componentId: "sc-1y4j72s-3"
22
21
  })(["&&{.scrollbar-container{padding-right:8px;}}"]);
23
- export var DropdownFooter = styled.div.withConfig({
22
+ const DropdownFooter = /* @__PURE__ */ styled.div.withConfig({
24
23
  displayName: "ItemPickerDropdownstyle__DropdownFooter",
25
24
  componentId: "sc-1y4j72s-4"
26
- })(["background-color:", ";height:52px;display:flex;align-items:center;border-top:1px solid ", ";cursor:default;margin:0;padding:0 8px;"], function (props) {
27
- return props.theme.palette['grey-050'];
28
- }, function (props) {
29
- return props.theme.palette['grey-100'];
30
- });
31
- export var BottomActionWrapper = styled.div.withConfig({
25
+ })(["background-color:", ";height:52px;display:flex;align-items:center;border-top:1px solid ", ";cursor:default;margin:0;padding:0 8px;"], (props) => props.theme.palette["grey-050"], (props) => props.theme.palette["grey-100"]);
26
+ const BottomActionWrapper = /* @__PURE__ */ styled.div.withConfig({
32
27
  displayName: "ItemPickerDropdownstyle__BottomActionWrapper",
33
28
  componentId: "sc-1y4j72s-5"
34
- })([""]);
29
+ })([""]);
30
+ export {
31
+ BottomActionWrapper,
32
+ DropdownFooter,
33
+ DropdownWrapper,
34
+ ListItem,
35
+ ListWrapper,
36
+ StyledScrollbar
37
+ };
@@ -1,7 +1,7 @@
1
- import { type ReactNode } from 'react';
2
- import { type ListItemProps } from '@synerise/ds-list-item';
3
- import { type ScrollbarAdditionalProps } from '@synerise/ds-scrollbar';
4
- import { type SearchBarProps } from '@synerise/ds-search-bar/dist/SearchBar.types';
1
+ import { ReactNode } from 'react';
2
+ import { ListItemProps } from '@synerise/ds-list-item';
3
+ import { ScrollbarAdditionalProps } from '@synerise/ds-scrollbar';
4
+ import { SearchBarProps } from '@synerise/ds-search-bar/dist/SearchBar.types';
5
5
  export type ItemPickerDropdownProps = {
6
6
  onChange: (item: ListItemProps) => void;
7
7
  placeholder: string;
@@ -1 +1 @@
1
- export {};
1
+
@@ -1,5 +1,5 @@
1
- import React from 'react';
2
- import { type ItemPickerProps } from './ItemPickerLegacy.types';
1
+ import { default as React } from 'react';
2
+ import { ItemPickerProps } from './ItemPickerLegacy.types';
3
3
  /**
4
4
  * @deprecated - use new ItemPicker
5
5
  */