UNPKG

react-intlayer

Version:

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

41 lines (38 loc) 1.25 kB
'use client'; const require_rolldown_runtime = require('../../_virtual/rolldown_runtime.cjs'); const require_client_IntlayerProvider = require('../IntlayerProvider.cjs'); let react = require("react"); let _intlayer_core = require("@intlayer/core"); //#region src/client/format/useNumber.ts /** * React client hook that provides a localized number formatter. * * Uses the current locale from {@link useLocaleBase} and returns * a function that can be used to format numbers consistently * according to the user's locale. * * @example * ```tsx * const formatNumber = useNumber(); * * formatNumber(12345); * // e.g. "12,345" (en-US) * // e.g. "12 345" (fr-FR) * * formatNumber(0.75, { style: "percent" }); * // e.g. "75%" * ``` * * @returns {(value: string | number, options?: import("../createNumber").NumberProps) => string} * A number formatting function bound to the active locale. */ const useNumber = () => { const { locale } = (0, react.useContext)(require_client_IntlayerProvider.IntlayerClientContext); return (0, react.useCallback)((...args) => (0, _intlayer_core.number)(args[0], { ...args[1], locale: args[1]?.locale ?? locale }), [locale]); }; //#endregion exports.useNumber = useNumber; //# sourceMappingURL=useNumber.cjs.map