import type { JSX, ValidComponent } from "@solidjs/web"; import { dynamic } from "@solidjs/web"; import { createMemo, omit, untrack } from "solid-js"; import { createChangeEventDetails, REASONS, } from "../../internals/change-event-details"; import { composeRefs, userRef } from "../../internals/compose-refs"; import { useTypeahead } from "../../internals/floating-ui/hooks/use-typeahead"; import { mergeRootProps } from "../../internals/merge-root-props"; import { resolveClassStyle } from "../../internals/resolve-class-style"; import type { BaseUIComponentProps, NativeButtonProps, } from "../../internals/types"; import { useButton } from "../../internals/use-button/use-button"; import type { ComboboxSide } from "../positioner/positioner-context"; import { type ComboboxRootChangeEventDetails, useComboboxRootContext, } from "../root/combobox-root-context"; export interface ComboboxTriggerState { open: boolean; disabled: boolean; readOnly: boolean; required: boolean; popupSide: ComboboxSide | null; listEmpty: boolean; placeholder: boolean; } export interface ComboboxTriggerProps extends NativeButtonProps, BaseUIComponentProps<"button", ComboboxTriggerState> { as?: ValidComponent; disabled?: boolean | undefined; } /** * A button that opens the popup. Renders a `