UNPKG

@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
/** * @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;