@codecademy/gamut
72.2.272.2.3-alpha.83b0a8.0
dist/Form/SelectDropdown/hooks/useSelectHandlers.d.ts+
dist/Form/SelectDropdown/hooks/useSelectHandlers.d.tsNew file+22
Index: package/dist/Form/SelectDropdown/hooks/useSelectHandlers.d.ts
===================================================================
--- package/dist/Form/SelectDropdown/hooks/useSelectHandlers.d.ts
+++ package/dist/Form/SelectDropdown/hooks/useSelectHandlers.d.ts
@@ -0,0 +1,22 @@
+import { KeyboardEvent } from 'react';
+import * as React from 'react';
+import { ActionMeta, Options as OptionsType } from 'react-select';
+import { SelectOptionBase } from '../../utils';
+import { MultiSelectDropdownProps, OptionStrict, SelectDropdownGroup, SelectDropdownProps, SingleSelectDropdownProps } from '../types';
+interface UseSelectHandlersArgs {
+ onChange?: SingleSelectDropdownProps['onChange'] | MultiSelectDropdownProps['onChange'];
+ multiple?: boolean;
+ onCreateOption?: (inputValue: string) => void;
+ selectOptions: SelectOptionBase[] | SelectDropdownGroup[];
+ value?: SelectDropdownProps['value'];
+ currentFocusedValue: unknown;
+ removeAllButtonRef: React.MutableRefObject<HTMLDivElement | null>;
+}
+interface UseSelectHandlersReturn {
+ activated: boolean;
+ multiValues: OptionStrict[] | false;
+ changeHandler: (optionEvent: OptionStrict | OptionsType<OptionStrict>, actionMeta: ActionMeta<OptionStrict>) => void;
+ keyPressHandler: (e: KeyboardEvent<HTMLDivElement>) => void;
+}
+export declare const useSelectHandlers: ({ onChange, multiple, onCreateOption, selectOptions, value, currentFocusedValue, removeAllButtonRef, }: UseSelectHandlersArgs) => UseSelectHandlersReturn;
+export {};