UNPKG

@dcodegroup-au/dsg-vue

Version:

Front-end Vue/Tailwind DSG for UntitledUI.

32 lines (31 loc) 1.09 kB
/** * -------------------------------------------------------------------------- * DSG Vue - Table Composables / Helpers * -------------------------------------------------------------------------- */ export interface ScoreSortRefine { label: string; selected: boolean; visible: boolean; searchScore?: number; [key: string]: unknown; } export interface ScoreSortOptions { moveSelectedToTop?: boolean; limit?: number; } /** * Score-based filter+sort for non-API facet search. * * Scoring: * - 1000 exact label match * - 500 label contains the full search term * - 1-100 share of space-delimited parts matched (rounded percent) * * Ordering: score desc, label asc as tie-break. When `moveSelectedToTop` is on * and visible results exceed `limit`, selected refines are pinned above the rest * (each group is still ordered by score → label). * * Mutates `visible` and `searchScore` on the input refines. */ export declare const scoreSortRefines: <T extends ScoreSortRefine>(refines: T[], searchTerm: string, options?: ScoreSortOptions) => T[];