جست‌وجو

search-inputکامپوننت

فیلد جست‌وجو با ذره‌بین، دکمه‌ی پاک کردن، حالت بارگذاری و تأخیر کوتاه قبل از جست‌وجو تا با هر حرف درخواست نفرستید.

نصب

  1. با CLI

    اگر هنوز init نکردید، اول از راهنمای نصب پروژه را آماده کنید. بعد این دستور کامپوننت و وابستگی‌هاش را می‌نویسه.

    $ npx vibefarsi add search-input
  2. نصب دستی

    محتوای تب «کد» را در components/ui/search-input.tsx بگذارید.

    $ npm i lucide-react
    کپی کل فایلregistry json

استفاده

usage.tsx
1import { SearchInput } from "@/components/ui/search-input"23<SearchInput placeholder="نام محصول…" loading={isPending} onSearch={(q) => search(q)} shortcut="⌘K" />

پراپ‌ها

پراپنوعپیش‌فرضتوضیح
onSearch(value: string) => void-بعد از مکث تایپ، با Enter و وقتی فیلد پاک میشه صدا زده میشه.
debouncenumber300مکث تایپ به میلی‌ثانیه قبل از onSearch.
loadingboolean-به جای ذره‌بین یک چرخنده نشان میده.
shortcutstringراهنمای میانبر در انتهای فیلد، مثل «⌘K»، که با تایپ پنهان میشه.
size"sm" | "md""md"ارتفاع ۳۲ یا ۴۰ پیکسل.

نکته‌های راست‌چین

  • Escape متن را پاک می‌کنه و Enter بدون منتظر ماندن جست‌وجو می‌کنه.
  • type="search" هست تا کیبورد موبایل دکمه‌ی جست‌وجو نشان بده، ولی ضربدر بومی مرورگر پنهان شده و دکمه‌ی خودمان جای آن نشسته.