/**----------------------------------------------------------------------------------------- * Copyright © 2025 Progress Software Corporation. All rights reserved. * Licensed under commercial license. See LICENSE.md in the project root for more information *-------------------------------------------------------------------------------------------*/ /** * Represents the filter settings for the TreeView component. */ export interface TreeViewFilterSettings { /** * Sets the filter operator for comparing values. * * You can use a string operator or a custom matcher function. * */ operator?: 'contains' | 'doesnotcontain' | 'startswith' | 'doesnotstartwith' | 'endswith' | 'doesnotendwith' | MatcherFunction; /** * Specifies if the string comparison ignores case. * * @default true */ ignoreCase?: boolean; /** * Sets the filtering mode. In `"strict"` mode, the TreeView shows only matching nodes without any child nodes. In `"lenient"` mode, the TreeView includes all child nodes of each filter match. * * @default "lenient" */ mode?: "strict" | "lenient"; } /** * Represents a function that checks if a match is valid based on a source text and a term. * * @example * ```typescript * const matcher: MatcherFunction = (dataItem: object, searchTerm: string) => dataItem.firstName.indexOf(searchTerm) >= 0; * ``` */ export type MatcherFunction = (dataItem: any, term: string, ignoreCase?: boolean) => boolean; /** * @hidden */ export declare const DEFAULT_FILTER_SETTINGS: TreeViewFilterSettings;