@1771technologies/lytenyte-pro
Version:
Blazingly fast headless React data grid with 100s of features.
18 lines (17 loc) • 1.06 kB
JavaScript
import { jsx as _jsx } from "react/jsx-runtime";
import { forwardRef } from "react";
import { useSmartSelect } from "../context.js";
import { useCombinedRefs } from "@1771technologies/lytenyte-core/internal";
import { mergeProps } from "../../../hooks/use-slot/merge-props.js";
import { useComboControls } from "./use-combo-controls.js";
const noop = () => { };
function ComboTriggerBase(props, ref) {
const { kindAndValue, setTrigger, inputRef, open, comboState } = useSmartSelect();
if (kindAndValue.kind !== "combo") {
throw new Error(`Cannot use BasicSelectTrigger when SmartSelect kind is not "combo". Found: ${kindAndValue.kind}`);
}
const combined = useCombinedRefs(setTrigger, ref, inputRef);
const p = mergeProps(props, useComboControls(noop, false));
return (_jsx("input", { ...p, ref: combined, "data-ln-smart-select-trigger": true, "data-ln-open": open, "data-ln-smart-select-loading": comboState.loading, "data-ln-smart-select-error": !!comboState.error }));
}
export const ComboTrigger = forwardRef(ComboTriggerBase);