react-intlayer
Version:
Easily internationalize i18n your React applications with type-safe multilingual content management.
41 lines (38 loc) • 1.25 kB
JavaScript
'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