//#region src/notification/util.ts
/**
* Mirror ant-design 6.4.0 getPlacementOffsetStyle: surface positioning via
* the --notification-top / --notification-bottom CSS variables that the
* new placement.ts style file consumes. Setting inline `top: Npx` would
* defeat the holder's `inset` calc and force the holder to occupy the
* full --notification-margin-edge gap, which manifests as a tall empty
* strip at the top of the page when scrolled.
*/
function getPlacementOffsetStyle(top, bottom) {
	const result = {};
	if (top !== void 0 && top !== null) result["--notification-top"] = typeof top === "number" ? `${top}px` : top;
	if (bottom !== void 0 && bottom !== null) result["--notification-bottom"] = typeof bottom === "number" ? `${bottom}px` : bottom;
	return result;
}
/** @deprecated kept for the message wrapper; routes through getPlacementOffsetStyle. */
function getPlacementStyle(_placement, top, bottom) {
	return getPlacementOffsetStyle(top, bottom);
}
function getMotion(prefixCls) {
	return { name: `${prefixCls}-fade` };
}
function getCloseIconConfig(closeIcon, notificationConfig, notification) {
	if (typeof closeIcon !== "undefined") return closeIcon;
	if (typeof notificationConfig?.closeIcon !== "undefined") return notificationConfig.closeIcon;
	return notification?.closeIcon;
}

//#endregion
export { getCloseIconConfig, getMotion, getPlacementOffsetStyle, getPlacementStyle };