/** @license MIT | @cube-dev/ui-kit v0.135.1 | Cube Dev Team */
//#region src/utils/warnings.ts
const SUGGESTED_PROP_MAP = {
	disabled: "isDisabled",
	loading: "isLoading",
	selected: "isSelected"
};
const PREFIX = "CubeUIKit";
function propDeprecationWarning(name, props, propList) {
	propList.forEach((prop) => {
		if (prop in props) {
			const suggestion = SUGGESTED_PROP_MAP[prop];
			warn(`"${prop}" property of "${name}" component is deprecated.${suggestion ? ` Use "${suggestion}" property instead.` : ""}`);
		}
	});
}
function warn(...args) {
	console.warn(`${PREFIX}:`, ...args);
}
function deprecationWarning(condition, { property, name, betterAlternative, reason }) {
	if (condition) return;
	console.group(`⚠️ ${PREFIX}: Deprecation in ${name}`);
	warn(`"${property}" is deprecated, consider better alternative: ${typeof betterAlternative === "function" ? betterAlternative() : betterAlternative}`);
	reason && warn(`Reason: ${typeof reason === "function" ? reason() : reason}`);
	console.groupEnd();
}

//#endregion
export { deprecationWarning, propDeprecationWarning, warn };
//# sourceMappingURL=warnings.js.map