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

//#region ../react-intlayer/dist/esm/server/format/useDate.mjs
/**
* React client hook that provides a localized date/time formatter
* bound to the current application locale.
*
* @returns {(date: Date | string | number, options?: DateProps) => string}
* A function to format dates or timestamps into localized date/time strings.
*
* @example
* ```tsx
* const formatDate = useDate();
*
* formatDate(new Date("2025-01-01"));
* // "Jan 1, 2025"
*
* formatDate("2025-01-01T15:30:00Z", {
*   dateStyle: "full",
*   timeStyle: "short",
* });
* // "Wednesday, January 1, 2025 at 3:30 PM"
*
* formatDate(1735689600000, { locale: "fr-FR", dateStyle: "long" });
* // "1 janvier 2025"
* ```
*
* @see createDate
*/
const useDate = () => {
	const locale = getServerContext(IntlayerServerContext);
	return (...args) => date(args[0], {
		...args[1],
		locale: args[1]?.locale ?? locale
	});
};

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