@ariakit/react-core
Version:
Ariakit React core
44 lines (41 loc) • 1 kB
JavaScript
"use client";
import {
GroupLabelContext
} from "./7HVFURXT.js";
import {
createElement,
createHook,
forwardRef
} from "./ILRXHV7V.js";
import {
useId,
useSafeLayoutEffect
} from "./K2XTQB3X.js";
// src/group/group-label.tsx
import { removeUndefinedValues } from "@ariakit/core/utils/misc";
import { useContext } from "react";
var TagName = "div";
var useGroupLabel = createHook(
function useGroupLabel2(props) {
const setLabelId = useContext(GroupLabelContext);
const id = useId(props.id);
useSafeLayoutEffect(() => {
setLabelId == null ? void 0 : setLabelId(id);
return () => setLabelId == null ? void 0 : setLabelId(void 0);
}, [setLabelId, id]);
props = {
id,
"aria-hidden": true,
...props
};
return removeUndefinedValues(props);
}
);
var GroupLabel = forwardRef(function GroupLabel2(props) {
const htmlProps = useGroupLabel(props);
return createElement(TagName, htmlProps);
});
export {
useGroupLabel,
GroupLabel
};