"use client"; import * as React from "react"; import { Search, X } from "@/components/icons"; import { cn } from "@/lib/utils"; import { useMediaQuery } from "@/hooks/use-media-query"; import { Input } from "@/components/ui/input"; import { IconButton, type IconButtonProps } from "@/components/ui/icon-button"; import { TOUCH_HIT_AREA } from "@/components/ui/button"; // One look for the header rows of Mail, Calendar, Contacts and Files: 32px // controls, muted icon buttons, one tint for a toggle that is on, and one // search field. /** A toggle, panel or menu that is on. */ export const TOOLBAR_ACTIVE = "bg-primary/10 text-primary hover:bg-primary/15 hover:text-primary"; export interface ToolbarButtonProps extends IconButtonProps { /** The toggle is on, or its panel or menu is open. */ active?: boolean; } /** An icon button in a header row: muted until hovered, tinted while active. */ export const ToolbarButton = React.forwardRef( ({ active, className, ...props }, ref) => ( ), ); ToolbarButton.displayName = "ToolbarButton"; /** A small button inside the search field, after the text (the filter toggle). */ export const ToolbarSearchAction = React.forwardRef & { active?: boolean }>( ({ active, className, type = "button", ...props }, ref) => ( )} {trailing} )} ); }, ); ToolbarSearch.displayName = "ToolbarSearch";