UNPKG

react-intlayer

Version:

Easily internationalize i18n your React applications with type-safe multilingual content management.

38 lines (35 loc) 1.41 kB
'use client'; Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' }); const require_runtime = require('../../_virtual/_rolldown/runtime.cjs'); const require_client_IntlayerProvider = require('../IntlayerProvider.cjs'); let react = require("react"); let _intlayer_core_formatters = require("@intlayer/core/formatters"); //#region src/client/format/useRelativeTime.ts /** * 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 } = (0, react.useContext)(require_client_IntlayerProvider.IntlayerClientContext) ?? {}; return (0, react.useCallback)((...args) => (0, _intlayer_core_formatters.relativeTime)(args[0], args[1], { ...args[2], locale: args[2]?.locale ?? locale }), [locale]); }; //#endregion exports.useRelativeTime = useRelativeTime; //# sourceMappingURL=useRelativeTime.cjs.map