import { dynamic } from "@solidjs/web";
import { createSignal, omit } from "solid-js";
import { composeRefs, userRef } from "../../internals/compose-refs.jsx";
import { mergeRootProps } from "../../internals/merge-root-props.jsx";
import { resolveClassStyle } from "../../internals/resolve-class-style.jsx";
import { ComboboxGroupContext } from "./group-context.jsx";
const EMPTY_STATE = {};

/**
 * Groups related items with the corresponding label. Renders a `<div>`.
 */
export function ComboboxGroup(props) {
  const [labelId, setLabelId] = createSignal(undefined, {
    ownedWrite: true
  });
  const internal = {
    role: "group",
    get "aria-labelledby"() {
      return labelId() ?? "";
    }
  };
  const userClassStyle = resolveClassStyle(props, () => EMPTY_STATE);
  const userProps = omit(props, "as", "class", "style", "attrs");
  let merged = mergeRootProps(internal, userClassStyle);
  merged = mergeRootProps(merged, userProps);
  const Tag = dynamic(() => props.as ?? "div");
  return <ComboboxGroupContext value={{
    labelId,
    setLabelId
  }}>
			<Tag {...merged} ref={composeRefs(userRef(props))} />
		</ComboboxGroupContext>;
}
//# sourceMappingURL=combobox-group.jsx.map
