add hw2
This commit is contained in:
170
node_modules/@headlessui/react/dist/components/combobox/combobox-machine.d.ts
generated
vendored
Normal file
170
node_modules/@headlessui/react/dist/components/combobox/combobox-machine.d.ts
generated
vendored
Normal file
@@ -0,0 +1,170 @@
|
||||
import { Machine } from '../../machine.js';
|
||||
import type { EnsureArray } from '../../types.js';
|
||||
import { Focus } from '../../utils/calculate-active-index.js';
|
||||
import { ElementPositionState } from '../../utils/element-movement.js';
|
||||
interface MutableRefObject<T> {
|
||||
current: T;
|
||||
}
|
||||
export declare enum ComboboxState {
|
||||
Open = 0,
|
||||
Closed = 1
|
||||
}
|
||||
export declare enum ValueMode {
|
||||
Single = 0,
|
||||
Multi = 1
|
||||
}
|
||||
export declare enum ActivationTrigger {
|
||||
Pointer = 0,
|
||||
Focus = 1,
|
||||
Other = 2
|
||||
}
|
||||
export type ComboboxOptionDataRef<T> = MutableRefObject<{
|
||||
disabled: boolean;
|
||||
value: T;
|
||||
domRef: MutableRefObject<HTMLElement | null>;
|
||||
order: number | null;
|
||||
}>;
|
||||
export interface State<T> {
|
||||
id: string;
|
||||
dataRef: MutableRefObject<{
|
||||
value: unknown;
|
||||
defaultValue: unknown;
|
||||
disabled: boolean;
|
||||
invalid: boolean;
|
||||
mode: ValueMode;
|
||||
immediate: boolean;
|
||||
onChange: (value: T) => void;
|
||||
onClose?: () => void;
|
||||
compare(a: unknown, z: unknown): boolean;
|
||||
isSelected(value: unknown): boolean;
|
||||
virtual: {
|
||||
options: T[];
|
||||
disabled: (value: T) => boolean;
|
||||
} | null;
|
||||
calculateIndex(value: unknown): number;
|
||||
__demoMode: boolean;
|
||||
optionsPropsRef: MutableRefObject<{
|
||||
static: boolean;
|
||||
hold: boolean;
|
||||
}>;
|
||||
}>;
|
||||
virtual: {
|
||||
options: T[];
|
||||
disabled: (value: unknown) => boolean;
|
||||
} | null;
|
||||
comboboxState: ComboboxState;
|
||||
defaultToFirstOption: boolean;
|
||||
options: {
|
||||
id: string;
|
||||
dataRef: ComboboxOptionDataRef<T>;
|
||||
}[];
|
||||
activeOptionIndex: number | null;
|
||||
activationTrigger: ActivationTrigger;
|
||||
isTyping: boolean;
|
||||
inputElement: HTMLInputElement | null;
|
||||
buttonElement: HTMLButtonElement | null;
|
||||
optionsElement: HTMLElement | null;
|
||||
inputPositionState: ElementPositionState;
|
||||
__demoMode: boolean;
|
||||
}
|
||||
export declare enum ActionTypes {
|
||||
OpenCombobox = 0,
|
||||
CloseCombobox = 1,
|
||||
GoToOption = 2,
|
||||
SetTyping = 3,
|
||||
RegisterOption = 4,
|
||||
UnregisterOption = 5,
|
||||
DefaultToFirstOption = 6,
|
||||
SetActivationTrigger = 7,
|
||||
UpdateVirtualConfiguration = 8,
|
||||
SetInputElement = 9,
|
||||
SetButtonElement = 10,
|
||||
SetOptionsElement = 11,
|
||||
MarkInputAsMoved = 12
|
||||
}
|
||||
type Actions<T> = {
|
||||
type: ActionTypes.CloseCombobox;
|
||||
} | {
|
||||
type: ActionTypes.OpenCombobox;
|
||||
} | {
|
||||
type: ActionTypes.GoToOption;
|
||||
focus: Focus.Specific;
|
||||
idx: number;
|
||||
trigger?: ActivationTrigger;
|
||||
} | {
|
||||
type: ActionTypes.SetTyping;
|
||||
isTyping: boolean;
|
||||
} | {
|
||||
type: ActionTypes.GoToOption;
|
||||
focus: Exclude<Focus, Focus.Specific>;
|
||||
trigger?: ActivationTrigger;
|
||||
} | {
|
||||
type: ActionTypes.RegisterOption;
|
||||
payload: {
|
||||
id: string;
|
||||
dataRef: ComboboxOptionDataRef<T>;
|
||||
};
|
||||
} | {
|
||||
type: ActionTypes.UnregisterOption;
|
||||
id: string;
|
||||
} | {
|
||||
type: ActionTypes.DefaultToFirstOption;
|
||||
value: boolean;
|
||||
} | {
|
||||
type: ActionTypes.SetActivationTrigger;
|
||||
trigger: ActivationTrigger;
|
||||
} | {
|
||||
type: ActionTypes.UpdateVirtualConfiguration;
|
||||
options: T[];
|
||||
disabled: ((value: any) => boolean) | null;
|
||||
} | {
|
||||
type: ActionTypes.SetInputElement;
|
||||
element: HTMLInputElement | null;
|
||||
} | {
|
||||
type: ActionTypes.SetButtonElement;
|
||||
element: HTMLButtonElement | null;
|
||||
} | {
|
||||
type: ActionTypes.SetOptionsElement;
|
||||
element: HTMLElement | null;
|
||||
} | {
|
||||
type: ActionTypes.MarkInputAsMoved;
|
||||
};
|
||||
export declare class ComboboxMachine<T> extends Machine<State<T>, Actions<T>> {
|
||||
static new<T, TMultiple extends boolean | undefined>({ id, virtual, __demoMode, }: {
|
||||
id: string;
|
||||
virtual?: {
|
||||
options: TMultiple extends true ? EnsureArray<NoInfer<T>> : NoInfer<T>[];
|
||||
disabled?: (value: TMultiple extends true ? EnsureArray<NoInfer<T>>[number] : NoInfer<T>) => boolean;
|
||||
} | null;
|
||||
__demoMode?: boolean;
|
||||
}): ComboboxMachine<any>;
|
||||
constructor(initialState: State<T>);
|
||||
actions: {
|
||||
onChange: (newValue: T) => void;
|
||||
registerOption: (id: string, dataRef: ComboboxOptionDataRef<T>) => () => void;
|
||||
goToOption: (focus: {
|
||||
focus: Focus.Specific;
|
||||
idx: number;
|
||||
} | {
|
||||
focus: Exclude<Focus, Focus.Specific>;
|
||||
}, trigger?: ActivationTrigger) => void;
|
||||
setIsTyping: (isTyping: boolean) => void;
|
||||
closeCombobox: () => void;
|
||||
openCombobox: () => void;
|
||||
setActivationTrigger: (trigger: ActivationTrigger) => void;
|
||||
selectActiveOption: () => void;
|
||||
setInputElement: (element: HTMLInputElement | null) => void;
|
||||
setButtonElement: (element: HTMLButtonElement | null) => void;
|
||||
setOptionsElement: (element: HTMLElement | null) => void;
|
||||
};
|
||||
selectors: {
|
||||
activeDescendantId: (state: State<T>) => string | undefined;
|
||||
activeOptionIndex: (state: State<T>) => number | null;
|
||||
activeOption: (state: State<T>) => T | null;
|
||||
isActive: (state: State<T>, value: T, id: string) => boolean;
|
||||
shouldScrollIntoView: (state: State<T>, value: T, id: string) => boolean;
|
||||
didInputMove(state: State<T>): boolean;
|
||||
};
|
||||
reduce(state: Readonly<State<T>>, action: Actions<T>): State<T>;
|
||||
}
|
||||
export {};
|
||||
Reference in New Issue
Block a user