import { getServerContext } from "../serverContext.mjs";
import { IntlayerServerContext } from "../IntlayerServerProvider.mjs";
import { relativeTime } from "../../@intlayer/core/dist/esm/formatters/relativeTime.mjs";

//#region ../react-intlayer/dist/esm/server/format/useRelativeTime.mjs
/**
* Client-side React hook for accessing a localized relative time formatter.
*
* This hook:
* - Reads the current locale from {@link useLocaleBase}.
* - Creates a new relative time formatter with {@link createRelativeTime}.
* - Returns a function that can format time differences into localized strings.
*
* Example:
* ```tsx
* const relativeTime = useRelativeTime();
* const formatted = relativeTime(new Date("2024-08-01"), new Date());
* // e.g., "2 weeks ago"
* ```
*
* @returns {ReturnType<typeof createRelativeTime>} A relative time formatting function
*          bound to the current client locale.
*/
const useRelativeTime = () => {
	const locale = getServerContext(IntlayerServerContext);
	return (...args) => relativeTime(args[0], args[1] ?? /* @__PURE__ */ new Date(), {
		...args[2],
		locale: args[2]?.locale ?? locale
	});
};

//#endregion
export { useRelativeTime };
//# sourceMappingURL=useRelativeTime.mjs.map