/*! © 2026 Yahoo, Inc. UDS v0.0.0-development */
"use client";
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
const require_runtime = require("../../../_virtual/_rolldown/runtime.cjs");
const require_components_client_Chip_ChipButton = require("./ChipButton.cjs");
const require_components_client_Chip_ChipDismissible = require("./ChipDismissible.cjs");
const require_components_client_Chip_ChipLink = require("./ChipLink.cjs");
const require_components_client_Chip_ChipToggle = require("./ChipToggle.cjs");
let react = require("react");
react = require_runtime.__toESM(react);
let react_jsx_runtime = require("react/jsx-runtime");
//#region src/components/client/Chip/Chip.tsx
/**
* **⚙️️ A chip.
*
* @componentType Client component
*
* @description
* Chips help people make selections, filter content, link out to other spaces or trigger actions. These actions are contextually driven and are not persistent across the product experiences differing them from buttons.
*
* @see
* Check out the {@link https://uds.build/docs/components/chip Chip Docs} for more info
*
* @example
* ```tsx
* 'use client';
* import { Chip } from "@yahoo/uds";
*
* <Chip>Label</Chip>
*```
*
* @related [Badge](https://uds.build/docs/components/badge), [Link](https://uds.build/docs/components/link).
**/
const Chip = (0, react.forwardRef)(function Chip({ onClick, href, linkProps, onDismiss, onToggle, isToggled, slotProps, ...rest }, ref) {
	const { anchor: anchorProps, ...restSlotProps } = slotProps ?? {};
	if (onDismiss) return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_components_client_Chip_ChipDismissible.ChipDismissible, {
		ref,
		onDismiss,
		slotProps: restSlotProps,
		...rest
	});
	if (onToggle) return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_components_client_Chip_ChipToggle.ChipToggle, {
		ref,
		onToggle,
		isToggled,
		slotProps: restSlotProps,
		...rest
	});
	if (href) return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_components_client_Chip_ChipLink.ChipLink, {
		ref,
		href,
		slotProps: restSlotProps,
		...rest,
		...linkProps,
		...anchorProps
	});
	return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_components_client_Chip_ChipButton.ChipButton, {
		ref,
		onClick,
		slotProps: restSlotProps,
		...rest
	});
});
Chip.displayName = "Chip";
//#endregion
exports.Chip = Chip;
