UNPKG

@1771technologies/lytenyte-pro

Version:

Blazingly fast headless React data grid with 100s of features.

18 lines (17 loc) 1.06 kB
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);