UNPKG

@1771technologies/lytenyte-pro

Version:

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

19 lines (18 loc) 1.02 kB
import { jsx as _jsx } from "react/jsx-runtime"; import { forwardRef } from "react"; import { useSmartSelect } from "../context.js"; import { mergeProps } from "../../../hooks/use-slot/merge-props.js"; import { useCombinedRefs } from "@1771technologies/lytenyte-core/internal"; import { useSelectControls } from "./use-trigger-controls.js"; const noop = () => { }; function BasicSelectTriggerBase(props, ref) { const { kindAndValue, setTrigger, inputRef, open } = useSmartSelect(); if (kindAndValue.kind !== "basic") { throw new Error(`Cannot use BasicSelectTrigger when SmartSelect kind is not "basic". Found: ${kindAndValue.kind}`); } const triggerControls = useSelectControls(false, noop); const p = mergeProps(props, triggerControls); const combined = useCombinedRefs(setTrigger, ref, inputRef); return _jsx("button", { ...p, ref: combined, "data-ln-smart-select-trigger": true, "data-ln-open": open }); } export const BasicSelectTrigger = forwardRef(BasicSelectTriggerBase);