num-beauty
Version:
An ultra lightweight module for formatting numbers into human-friendly strings
32 lines (31 loc) • 1.44 kB
TypeScript
import React from 'react';
import { type SupportedLocale } from '../locales';
import { type RoundingMode } from '../services/rounding.service';
import { type NumBeautyOptions } from '../index';
import { type NumberPart, type BeautifyToPartsOptions } from '../services/parts.service';
export interface UseNumBeautyOptions extends BeautifyToPartsOptions {
}
export interface UseNumBeautyResult {
formatted: string;
parts: NumberPart[];
}
export declare function useNumBeauty(value: number, options?: UseNumBeautyOptions): UseNumBeautyResult;
export interface NumDisplayProps extends UseNumBeautyOptions {
value: number;
className?: string;
style?: React.CSSProperties;
styled?: boolean;
renderPart?: (part: NumberPart, index: number) => React.ReactNode;
ariaLabel?: string;
as?: React.ElementType;
}
export declare function NumDisplay({ value, className, style, styled, renderPart, ariaLabel, as: Component, ...options }: NumDisplayProps): React.ReactElement;
export interface NumPartsProps extends UseNumBeautyOptions {
value: number;
children: (part: NumberPart, index: number) => React.ReactNode;
className?: string;
style?: React.CSSProperties;
as?: React.ElementType;
}
export declare function NumParts({ value, children, className, style, as: Component, ...options }: NumPartsProps): React.ReactElement;
export type { NumberPart, NumBeautyOptions, SupportedLocale, RoundingMode };