@ihma-io/search
v0.2.1
Published
IHMA global search moduli (headless composables + UI, Form* decoupled registry).
Readme
@ihma-io/search
IHMA global qidiruv moduli: qidiruv holati va persistence composablelari, URL codec hamda tayyor Vue UI komponentlari.
import {
SearchModule,
useSearch,
type SearchFilterDefinition,
} from '@ihma-io/search'Qatlamlar
lib/search: filter tiplari, URL codec va adapter kontraktlari.- composables: search state, URL sync, recent searches, saved filters, persistence va highlight.
- UI: search module, advanced panel, filter chips va saved/recent views.
- registry: field komponentlarini consumer tomonidan almashtirish imkoniyati.
Registry UI implementationni almashtirishga imkon beradi, ammo hozirgi yagona
root entrypoint sabab @ihma-io/form, @ihma-io/ui va @ihma-io/types paketning runtime
dependencylari bo'lib qoladi. Ya'ni headless composable ishlatilganda ham ushbu
paketlar o'rnatiladi; to'liq decoupling uchun kelajakda alohida subpathlar kerak.
SearchFilterDefinition.permission ishlatilsa useSearch/SearchModulega can
resolver bering; resolver yo'q yoki exception qaytarsa permissionli filterlar
fail-closed tarzda yashiriladi. Bir browserdagi user/tenant ma'lumotlarini aralashtirmaslik
uchun storageScope bering. paginationMode page, offset, cursor yoki infinite
bo'lishi mumkin; faqat infinite keyingi cursor natijalarini mavjud ro'yxatga append qiladi.
UI ishlatilganda consumer CSS faylida tokenlar va form CSSni import qiling hamda Tailwind v4 source scanningga uchala distni kiriting:
@import 'tailwindcss';
@import '@ihma-io/tokens/tokens.css';
@import '@ihma-io/tokens/theme.css';
@import '@ihma-io/form/form.css';
@source '../node_modules/@ihma-io/ui/dist';
@source '../node_modules/@ihma-io/form/dist';
@source '../node_modules/@ihma-io/search/dist';Required peerlar: vue, vue-router, vue-i18n, @vueuse/core va
lucide-vue-next.
