diff --git a/apps/v4/components/app-sidebar.tsx b/apps/v4/components/app-sidebar.tsx index 0e08d4cc03..3054f115e5 100644 --- a/apps/v4/components/app-sidebar.tsx +++ b/apps/v4/components/app-sidebar.tsx @@ -151,9 +151,14 @@ const data = { ], }, ], - components: Object.values(Index).filter( - (item) => item.type === "registry:ui" - ), + components: Object.values(Index) + .filter((item) => item.type === "registry:ui") + .concat([ + { + name: "combobox", + }, + ]) + .sort((a, b) => a.name.localeCompare(b.name)), } export function AppSidebar({ ...props }: React.ComponentProps) { diff --git a/apps/v4/components/combobox-demo.tsx b/apps/v4/components/combobox-demo.tsx index 920e9ff51c..966b17ed5e 100644 --- a/apps/v4/components/combobox-demo.tsx +++ b/apps/v4/components/combobox-demo.tsx @@ -119,6 +119,7 @@ export function ComboboxDemo() { timezones={[...timezones]} selectedTimezone={timezones[0].timezones[0]} /> + ) } @@ -342,3 +343,63 @@ function TimezoneCombobox({ ) } + +function ComboboxWithCheckbox({ frameworks }: { frameworks: Framework[] }) { + const [open, setOpen] = React.useState(false) + const [selectedFrameworks, setSelectedFrameworks] = React.useState< + Framework[] + >([]) + + return ( + + + + + + + + + No framework found. + + {frameworks.map((framework) => ( + { + setSelectedFrameworks( + selectedFrameworks.some((f) => f.value === currentValue) + ? selectedFrameworks.filter( + (f) => f.value !== currentValue + ) + : [...selectedFrameworks, framework] + ) + }} + > +
f.value === framework.value + )} + > + +
+ {framework.label} +
+ ))} +
+
+
+
+
+ ) +}