Skip to content

feat(apollo-vertex): add standalone FilterDropdown component#433

Open
creilly11235 wants to merge 1 commit intomainfrom
filter
Open

feat(apollo-vertex): add standalone FilterDropdown component#433
creilly11235 wants to merge 1 commit intomainfrom
filter

Conversation

@creilly11235
Copy link
Copy Markdown
Collaborator

Summary

  • Add a new standalone FilterDropdown registry component supporting multi-select, single-select, built-in search, and optional TanStack Table column integration
  • Replace the limited DataTableFacetedFilter with FilterDropdown in the data-table registry
  • Add documentation page under Vertex Components with live demos and full props reference

🤖 Generated with Claude Code

@creilly11235 creilly11235 requested a review from a team as a code owner April 1, 2026 03:02
@creilly11235 creilly11235 requested review from frankkluijtmans and ruudandriessen and removed request for a team April 1, 2026 03:02
@github-actions
Copy link
Copy Markdown

github-actions bot commented Apr 1, 2026

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Review Updated (PT)
apollo-canvas 🟢 Ready Preview, Logs Apr 01, 2026, 05:32:54 AM
apollo-landing 🟢 Ready Preview, Logs Apr 01, 2026, 05:30:24 AM
apollo-ui-react 🟢 Ready Preview, Logs Apr 01, 2026, 05:30:37 AM
apollo-vertex 🟢 Ready Preview, Logs Apr 01, 2026, 05:31:37 AM
apollo-wind 🟢 Ready Preview, Logs Apr 01, 2026, 05:30:20 AM

@KokoMilev KokoMilev enabled auto-merge (rebase) April 1, 2026 03:03
@github-actions github-actions bot added the size:XL 500-999 changed lines. label Apr 1, 2026
@github-actions
Copy link
Copy Markdown

github-actions bot commented Apr 1, 2026

Dependency License Review

  • 1924 package(s) scanned
  • ✅ No license issues found
  • ⚠️ 3 package(s) excluded (see details below)
License distribution
License Packages
MIT 1689
ISC 89
Apache-2.0 56
BSD-3-Clause 28
BSD-2-Clause 23
BlueOak-1.0.0 8
MPL-2.0 5
MIT OR Apache-2.0 3
MIT-0 3
CC0-1.0 3
LGPL-3.0-or-later 2
(MIT OR Apache-2.0) 2
Unlicense 2
Python-2.0 1
CC-BY-4.0 1
(MPL-2.0 OR Apache-2.0) 1
Unknown 1
Artistic-2.0 1
(WTFPL OR MIT) 1
(BSD-2-Clause OR MIT OR Apache-2.0) 1
CC-BY-3.0 1
0BSD 1
(MIT OR CC0-1.0) 1
MIT AND ISC 1
Excluded packages
Package Version License Reason
@img/sharp-libvips-linux-x64 1.2.4 LGPL-3.0-or-later LGPL pre-built binary, not linked
@img/sharp-libvips-linuxmusl-x64 1.2.4 LGPL-3.0-or-later LGPL pre-built binary, not linked
khroma 2.1.0 Unknown MIT per GitHub repo, missing license field in package.json

Copy link
Copy Markdown
Collaborator

@ruudandriessen ruudandriessen left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The dropdown shifts when values are selected - this is because it's centered at the "middle" of the dropdown at the moment, which means that when the content changes the dropdown also shifts.

Instead, I'd propose we anchor the dropdown differently (likely the "left" side should stick to the dropdown's left as well)

Replace the limited DataTableFacetedFilter with a versatile
FilterDropdown that supports multi-select, single-select, built-in
search, and works both standalone and with TanStack Table columns.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
align = "start",
popoverWidth = "w-[220px]",
}: FilterDropdownProps<TData, TValue>) {
"use no memo";
align = "start",
popoverWidth = "w-[220px]",
}: FilterDropdownProps<TData, TValue>) {
"use no memo";

Check warning

Code scanning / CodeQL

Unknown directive Warning

Unknown directive: 'use no memo'.

Copilot Autofix

AI about 2 hours ago

In general, to fix an “Unknown directive” problem, you either (1) correct the directive string to a valid, intended directive (e.g., "use strict"), or (2) remove the stray directive-like string if no directive is needed. Here, "use no memo" is not a recognized directive in JavaScript, React, or TypeScript, and there’s no indication that a real directive (like "use strict" or "use client") was intended inside this component.

The best fix without changing functionality is simply to delete the standalone "use no memo"; line. The component is a regular React function component, and removing this no-op string will not alter any runtime behavior because the string is neither read nor assigned. This change is limited to the body of FilterDropdown in apps/apollo-vertex/registry/filter-dropdown/filter-dropdown.tsx, specifically at line 78, between the function parameter destructuring and the comment // React Compiler compat: TanStack Table Column objects have stable references with mutable state. No new methods, imports, or definitions are required.

Suggested changeset 1
apps/apollo-vertex/registry/filter-dropdown/filter-dropdown.tsx

Autofix patch

Autofix patch
Run the following command in your local git repository to apply this patch
cat << 'EOF' | git apply
diff --git a/apps/apollo-vertex/registry/filter-dropdown/filter-dropdown.tsx b/apps/apollo-vertex/registry/filter-dropdown/filter-dropdown.tsx
--- a/apps/apollo-vertex/registry/filter-dropdown/filter-dropdown.tsx
+++ b/apps/apollo-vertex/registry/filter-dropdown/filter-dropdown.tsx
@@ -75,7 +75,6 @@
   align = "start",
   popoverWidth = "w-[220px]",
 }: FilterDropdownProps<TData, TValue>) {
-  "use no memo";
   // React Compiler compat: TanStack Table Column objects have stable references with mutable state.
   const [open, setOpen] = useState(false);
   const [searchQuery, setSearchQuery] = useState("");
EOF
@@ -75,7 +75,6 @@
align = "start",
popoverWidth = "w-[220px]",
}: FilterDropdownProps<TData, TValue>) {
"use no memo";
// React Compiler compat: TanStack Table Column objects have stable references with mutable state.
const [open, setOpen] = useState(false);
const [searchQuery, setSearchQuery] = useState("");
Copilot is powered by AI and may make mistakes. Always verify output.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

size:XL 500-999 changed lines.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants