@progress/kendo-react-grid
Version:
React Data Grid (Table) provides 100+ ready-to-use data grid features. KendoReact Grid package
116 lines (115 loc) • 4.58 kB
TypeScript
/**
* @license
*-------------------------------------------------------------------------------------------
* Copyright © 2026 Progress Software Corporation. All rights reserved.
* Licensed under commercial license. See LICENSE.md in the package root for more information
*-------------------------------------------------------------------------------------------
*/
import { SpeechToTextButtonProps } from '@progress/kendo-react-buttons';
import { GridSmartBoxSearchProps, GridSmartBoxSemanticSearchConfigProps, GridSmartBoxAIAssistantConfigProps, SmartBoxMode } from '../interfaces/index.js';
import { GridSmartBoxHistoryProps } from '../interfaces/utilTypes.js';
import * as React from 'react';
/**
* Represents the props for the useSmartBoxModes hook.
*
* @hidden
*/
export interface UseSmartBoxModesProps {
/**
* The search mode configuration prop from the component.
* Can be a boolean to enable/disable or an object with detailed settings.
*/
searchConfigProp: boolean | GridSmartBoxSearchProps | undefined;
/**
* The semantic search mode configuration prop from the component.
* Can be a boolean to enable/disable or an object with detailed settings.
*/
semanticSearchConfigProp: boolean | GridSmartBoxSemanticSearchConfigProps | undefined;
/**
* The AI assistant mode configuration prop from the component.
* Can be a boolean to enable/disable or an object with detailed settings.
*/
aiAssistantConfigProp: boolean | GridSmartBoxAIAssistantConfigProps | undefined;
/**
* The active mode prop from the component.
* Used to control which mode is initially selected.
*/
activeModeProp: SmartBoxMode | undefined;
/**
* The shared history settings prop from the component.
* When set, overrides individual mode history settings.
*/
sharedHistory: boolean | GridSmartBoxHistoryProps | undefined;
}
/**
* Represents the return value of the useSmartBoxModes hook.
*
* @hidden
*/
export interface UseSmartBoxModesReturn {
/**
* The normalized search mode configuration or null if disabled.
*/
searchMode: GridSmartBoxSearchProps | null;
/**
* The normalized semantic search mode configuration or null if disabled.
*/
semanticSearchMode: GridSmartBoxSemanticSearchConfigProps | null;
/**
* The normalized AI assistant mode configuration or null if disabled.
*/
aiAssistantMode: GridSmartBoxAIAssistantConfigProps | null;
/**
* The currently selected view mode based on activeMode prop and enabled modes.
*/
selectedView: SmartBoxMode | null;
/**
* The internal state for the selected view.
*/
selectedViewState: SmartBoxMode | null;
/**
* State setter function for the selected view.
*/
setSelectedViewState: React.Dispatch<React.SetStateAction<SmartBoxMode | null>>;
/**
* The last selected search mode ('search' or 'semanticSearch').
* Used to restore the previous search mode when switching back from AI Assistant.
*/
lastSearchMode: 'search' | 'semanticSearch' | null;
/**
* State setter function for the last search mode.
*/
setLastSearchMode: React.Dispatch<React.SetStateAction<'search' | 'semanticSearch' | null>>;
/**
* The normalized history settings for search mode.
*/
searchHistorySettings: GridSmartBoxHistoryProps | null;
/**
* The normalized history settings for semantic search mode.
*/
semanticSearchHistorySettings: GridSmartBoxHistoryProps | null;
/**
* The normalized history settings for AI assistant mode.
*/
aiAssistantHistorySettings: GridSmartBoxHistoryProps | null;
/**
* The normalized speech-to-text button settings or null if disabled.
*/
speechToTextButtonSettings: SpeechToTextButtonProps | null;
/**
* The current search delay in milliseconds based on the selected mode.
*/
currentSearchDelay: number;
}
/**
* Hook to manage SmartBox mode configurations.
*
* This hook normalizes the mode configuration props, manages the selected view state,
* and computes derived values like history settings and speech-to-text button settings.
*
* @param props - The hook properties.
* @returns An object containing normalized mode configurations and state management functions.
*
* @hidden
*/
export declare function useSmartBoxModes({ searchConfigProp, semanticSearchConfigProp, aiAssistantConfigProp, activeModeProp, sharedHistory }: UseSmartBoxModesProps): UseSmartBoxModesReturn;