@dnb/eufemia
Version:
DNB Eufemia Design System UI Library
27 lines (26 loc) • 1.19 kB
TypeScript
import type { NumberFormatOptionParams, NumberFormatReturnValue, NumberFormatValue } from './NumberUtils';
/**
* Shape of a variant formatter (`formatPhoneNumber`, `formatCurrency`,
* `formatPercent`, `formatNumber`, …).
*/
export type NumberFormatter = {
(value: NumberFormatValue | null, options: NumberFormatOptionParams & {
returnAria: true;
}): NumberFormatReturnValue;
(value: NumberFormatValue | null, options?: NumberFormatOptionParams): string;
};
/**
* Format a value with an explicit formatter, picking up `locale` and
* `NumberFormat` defaults from the Eufemia `Provider`.
*
* `formatter` is optional and defaults to `formatNumber` for
* backwards compatibility with plain numeric values.
*
* Pass the variant formatter you need, e.g.
* `useNumberFormat(value, formatCurrency, { decimals: 2 })`.
*/
declare function useNumberFormat(value: NumberFormatValue, formatter: NumberFormatter, options: NumberFormatOptionParams & {
returnAria: true;
}): NumberFormatReturnValue;
declare function useNumberFormat(value: NumberFormatValue, formatter?: NumberFormatter, options?: NumberFormatOptionParams): string;
export default useNumberFormat;