/** @license MIT | @cube-dev/ui-kit v0.0.0-canary-29d58ba | Cube Dev Team */
//#region src/utils/react/resolveIcon.ts
/**
* Resolves a dynamic icon prop to its content and slot state.
* - If `true`: empty slot (hasSlot=true, content=null)
* - If function: call with mods, then process result
* - Otherwise: use as-is
*/
function resolveIcon(icon, mods) {
	if (icon === void 0 || icon === null || icon === false) return {
		content: null,
		hasSlot: false
	};
	if (icon === true) return {
		content: null,
		hasSlot: true
	};
	if (typeof icon === "function") {
		const result = icon(mods);
		if (result === true) return {
			content: null,
			hasSlot: true
		};
		if (result === void 0 || result === null || result === false) return {
			content: null,
			hasSlot: false
		};
		return {
			content: result,
			hasSlot: true
		};
	}
	return {
		content: icon,
		hasSlot: true
	};
}

//#endregion
export { resolveIcon };
//# sourceMappingURL=resolveIcon.js.map