From fe6cae56127753057e110eb4726279d233e83441 Mon Sep 17 00:00:00 2001 From: John Kapantzakis Date: Wed, 21 Jan 2026 17:25:15 +0200 Subject: [PATCH 1/3] Render select-all component in dropdown --- src/components/drops/menu/dropdown.js | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/src/components/drops/menu/dropdown.js b/src/components/drops/menu/dropdown.js index cb7ed6d87..d0ee79b88 100644 --- a/src/components/drops/menu/dropdown.js +++ b/src/components/drops/menu/dropdown.js @@ -26,6 +26,7 @@ const Dropdown = ({ Footer, value, hasSearch, + renderSelectAll, searchMargin = [4], gap = 0, estimateSize = defaultEstimateSize, @@ -41,7 +42,9 @@ const Dropdown = ({ const searchLowerCase = searchValue.toLowerCase() - return items.filter(({ label, value: val }) => { + return items.filter(({ label, value: val, customFiltering }) => { + if (typeof customFiltering === "function") + return customFiltering({ searchValue, label, value: val }) if (typeof label === "string" && label.toLowerCase().includes(searchLowerCase)) return true if (!label && typeof val === "string" && val.toLowerCase().includes(searchLowerCase)) return true @@ -80,6 +83,7 @@ const Dropdown = ({ )} + {typeof renderSelectAll === "function" && renderSelectAll({ searchValue, filteredItems })}
Date: Wed, 21 Jan 2026 18:20:36 +0200 Subject: [PATCH 2/3] Minor fix --- src/components/drops/menu/dropdown.js | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/src/components/drops/menu/dropdown.js b/src/components/drops/menu/dropdown.js index d0ee79b88..b5e16c87f 100644 --- a/src/components/drops/menu/dropdown.js +++ b/src/components/drops/menu/dropdown.js @@ -2,6 +2,7 @@ import React, { useMemo, useState, useRef } from "react" import styled from "styled-components" import { useVirtualizer } from "@tanstack/react-virtual" import Flex from "@/components/templates/flex" +import { Text } from "@/components/typography" import Search from "@/components/search" import Box from "@/components/templates/box" import { mergeRefs } from "@/utils" @@ -15,6 +16,14 @@ const Container = styled(Flex)` const defaultEstimateSize = () => 28 +const DefaultNoSearchResultsComponent = () => { + return ( + + No results were found + + ) +} + const Dropdown = ({ hideShadow, itemProps, @@ -33,6 +42,8 @@ const Dropdown = ({ close, containerRef, ref: forwardedRef, + showNoSearchResults = true, + NoSearchResultsComponent = DefaultNoSearchResultsComponent, ...rest }) => { const [searchValue, setSearchValue] = useState("") @@ -84,6 +95,9 @@ const Dropdown = ({ )} {typeof renderSelectAll === "function" && renderSelectAll({ searchValue, filteredItems })} + {showNoSearchResults && filteredItems.length === 0 && searchValue ? ( + + ) : null}
Date: Thu, 22 Jan 2026 08:50:04 +0200 Subject: [PATCH 3/3] Change render prop name --- src/components/drops/menu/dropdown.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/components/drops/menu/dropdown.js b/src/components/drops/menu/dropdown.js index b5e16c87f..88474a3eb 100644 --- a/src/components/drops/menu/dropdown.js +++ b/src/components/drops/menu/dropdown.js @@ -35,7 +35,7 @@ const Dropdown = ({ Footer, value, hasSearch, - renderSelectAll, + renderComponent, searchMargin = [4], gap = 0, estimateSize = defaultEstimateSize, @@ -94,7 +94,7 @@ const Dropdown = ({ )} - {typeof renderSelectAll === "function" && renderSelectAll({ searchValue, filteredItems })} + {typeof renderComponent === "function" && renderComponent({ searchValue, filteredItems })} {showNoSearchResults && filteredItems.length === 0 && searchValue ? ( ) : null}