@taiga-ui/core
Version:
Core library for creating Angular components and applications using Taiga UI
24 lines • 5.09 kB
JavaScript
import { InjectionToken, Optional, SkipSelf } from '@angular/core';
import { CHAR_NO_BREAK_SPACE } from '@taiga-ui/cdk/constants';
import { map, of } from 'rxjs';
export const TUI_DEFAULT_NUMBER_FORMAT = {
precision: NaN,
decimalSeparator: '.',
thousandSeparator: CHAR_NO_BREAK_SPACE,
rounding: 'truncate',
decimalMode: 'pad',
};
/**
* Formatting configuration for displayed numbers
*/
export const TUI_NUMBER_FORMAT = new InjectionToken(ngDevMode ? 'TUI_NUMBER_FORMAT' : '', {
factory: () => of(TUI_DEFAULT_NUMBER_FORMAT),
});
export function tuiNumberFormatProvider(options) {
return {
provide: TUI_NUMBER_FORMAT,
deps: [[new Optional(), new SkipSelf(), TUI_NUMBER_FORMAT]],
useFactory: (parent) => (parent || of(TUI_DEFAULT_NUMBER_FORMAT)).pipe(map((format) => ({ ...format, ...options }))),
};
}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibnVtYmVyLWZvcm1hdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL2NvcmUvdG9rZW5zL251bWJlci1mb3JtYXQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLGNBQWMsRUFBRSxRQUFRLEVBQWlCLFFBQVEsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUNoRixPQUFPLEVBQUMsbUJBQW1CLEVBQUMsTUFBTSx5QkFBeUIsQ0FBQztBQUU1RCxPQUFPLEVBQUMsR0FBRyxFQUFtQixFQUFFLEVBQUMsTUFBTSxNQUFNLENBQUM7QUFrQzlDLE1BQU0sQ0FBQyxNQUFNLHlCQUF5QixHQUE0QjtJQUM5RCxTQUFTLEVBQUUsR0FBRztJQUNkLGdCQUFnQixFQUFFLEdBQUc7SUFDckIsaUJBQWlCLEVBQUUsbUJBQW1CO0lBQ3RDLFFBQVEsRUFBRSxVQUFVO0lBQ3BCLFdBQVcsRUFBRSxLQUFLO0NBQ3JCLENBQUM7QUFFRjs7R0FFRztBQUNILE1BQU0sQ0FBQyxNQUFNLGlCQUFpQixHQUFHLElBQUksY0FBYyxDQUMvQyxTQUFTLENBQUMsQ0FBQyxDQUFDLG1CQUFtQixDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQ3BDO0lBQ0ksT0FBTyxFQUFFLEdBQUcsRUFBRSxDQUFDLEVBQUUsQ0FBQyx5QkFBeUIsQ0FBQztDQUMvQyxDQUNKLENBQUM7QUFFRixNQUFNLFVBQVUsdUJBQXVCLENBQ25DLE9BQXlDO0lBRXpDLE9BQU87UUFDSCxPQUFPLEVBQUUsaUJBQWlCO1FBQzFCLElBQUksRUFBRSxDQUFDLENBQUMsSUFBSSxRQUFRLEVBQUUsRUFBRSxJQUFJLFFBQVEsRUFBRSxFQUFFLGlCQUFpQixDQUFDLENBQUM7UUFDM0QsVUFBVSxFQUFFLENBQ1IsTUFBa0QsRUFDZixFQUFFLENBQ3JDLENBQUMsTUFBTSxJQUFJLEVBQUUsQ0FBQyx5QkFBeUIsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUMxQyxHQUFHLENBQUMsQ0FBQyxNQUFNLEVBQUUsRUFBRSxDQUFDLENBQUMsRUFBQyxHQUFHLE1BQU0sRUFBRSxHQUFHLE9BQU8sRUFBQyxDQUFDLENBQUMsQ0FDN0M7S0FDUixDQUFDO0FBQ04sQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7SW5qZWN0aW9uVG9rZW4sIE9wdGlvbmFsLCB0eXBlIFByb3ZpZGVyLCBTa2lwU2VsZn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge0NIQVJfTk9fQlJFQUtfU1BBQ0V9IGZyb20gJ0B0YWlnYS11aS9jZGsvY29uc3RhbnRzJztcbmltcG9ydCB7dHlwZSBUdWlSb3VuZGluZ30gZnJvbSAnQHRhaWdhLXVpL2Nkay90eXBlcyc7XG5pbXBvcnQge21hcCwgdHlwZSBPYnNlcnZhYmxlLCBvZn0gZnJvbSAncnhqcyc7XG5cbmV4cG9ydCB0eXBlIFR1aURlY2ltYWxNb2RlID0gJ2Fsd2F5cycgfCAnbm90LXplcm8nIHwgJ3BhZCc7XG5leHBvcnQgdHlwZSBUdWlEZWNpbWFsU3ltYm9sID0gJywnIHwgJy4nO1xuXG4vKipcbiAqIEZvcm1hdHRpbmcgY29uZmlndXJhdGlvbiBmb3IgZGlzcGxheWVkIG51bWJlcnNcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBUdWlOdW1iZXJGb3JtYXRTZXR0aW5ncyB7XG4gICAgLyoqXG4gICAgICogTnVtYmVyIG9mIGRpZ2l0cyBvZiBkZWNpbWFsIHBhcnQuXG4gICAgICogQG5vdGUgVXNlIGBJbmZpbml0eWAgdG8ga2VlcCB1bnRvdWNoZWQuXG4gICAgICovXG4gICAgcmVhZG9ubHkgcHJlY2lzaW9uOiBudW1iZXI7XG4gICAgLyoqXG4gICAgICogU2VwYXJhdG9yIGJldHdlZW4gdGhlIGludGVnZXIgYW5kIHRoZSBkZWNpbWFsIHBhcnQuXG4gICAgICogQGV4YW1wbGUgMCw0MiAoJywnIGJ5IGRlZmF1bHQpXG4gICAgICovXG4gICAgcmVhZG9ubHkgZGVjaW1hbFNlcGFyYXRvcjogVHVpRGVjaW1hbFN5bWJvbDtcbiAgICAvKipcbiAgICAgKiBSb3VuZGluZyBtZXRob2QuXG4gICAgICovXG4gICAgcmVhZG9ubHkgcm91bmRpbmc6IFR1aVJvdW5kaW5nO1xuICAgIC8qKlxuICAgICAqIFNlcGFyYXRvciBiZXR3ZWVuIHRob3VzYW5kcy5cbiAgICAgKiBAZXhhbXBsZSAzNjAgMDAwICgnICcgYnkgZGVmYXVsdClcbiAgICAgKi9cbiAgICByZWFkb25seSB0aG91c2FuZFNlcGFyYXRvcjogc3RyaW5nO1xuICAgIC8qKlxuICAgICAqIERlY2ltYWwgcGFydCBkaXNwbGF5IG1vZGUuICgncGFkJyBieSBkZWZhdWx0KVxuICAgICAqL1xuICAgIHJlYWRvbmx5IGRlY2ltYWxNb2RlOiBUdWlEZWNpbWFsTW9kZTtcbn1cblxuZXhwb3J0IGNvbnN0IFRVSV9ERUZBVUxUX05VTUJFUl9GT1JNQVQ6IFR1aU51bWJlckZvcm1hdFNldHRpbmdzID0ge1xuICAgIHByZWNpc2lvbjogTmFOLFxuICAgIGRlY2ltYWxTZXBhcmF0b3I6ICcuJyxcbiAgICB0aG91c2FuZFNlcGFyYXRvcjogQ0hBUl9OT19CUkVBS19TUEFDRSxcbiAgICByb3VuZGluZzogJ3RydW5jYXRlJyxcbiAgICBkZWNpbWFsTW9kZTogJ3BhZCcsXG59O1xuXG4vKipcbiAqIEZvcm1hdHRpbmcgY29uZmlndXJhdGlvbiBmb3IgZGlzcGxheWVkIG51bWJlcnNcbiAqL1xuZXhwb3J0IGNvbnN0IFRVSV9OVU1CRVJfRk9STUFUID0gbmV3IEluamVjdGlvblRva2VuPE9ic2VydmFibGU8VHVpTnVtYmVyRm9ybWF0U2V0dGluZ3M+PihcbiAgICBuZ0Rldk1vZGUgPyAnVFVJX05VTUJFUl9GT1JNQVQnIDogJycsXG4gICAge1xuICAgICAgICBmYWN0b3J5OiAoKSA9PiBvZihUVUlfREVGQVVMVF9OVU1CRVJfRk9STUFUKSxcbiAgICB9LFxuKTtcblxuZXhwb3J0IGZ1bmN0aW9uIHR1aU51bWJlckZvcm1hdFByb3ZpZGVyKFxuICAgIG9wdGlvbnM6IFBhcnRpYWw8VHVpTnVtYmVyRm9ybWF0U2V0dGluZ3M+LFxuKTogUHJvdmlkZXIge1xuICAgIHJldHVybiB7XG4gICAgICAgIHByb3ZpZGU6IFRVSV9OVU1CRVJfRk9STUFULFxuICAgICAgICBkZXBzOiBbW25ldyBPcHRpb25hbCgpLCBuZXcgU2tpcFNlbGYoKSwgVFVJX05VTUJFUl9GT1JNQVRdXSxcbiAgICAgICAgdXNlRmFjdG9yeTogKFxuICAgICAgICAgICAgcGFyZW50OiBPYnNlcnZhYmxlPFR1aU51bWJlckZvcm1hdFNldHRpbmdzPiB8IG51bGwsXG4gICAgICAgICk6IE9ic2VydmFibGU8VHVpTnVtYmVyRm9ybWF0U2V0dGluZ3M+ID0+XG4gICAgICAgICAgICAocGFyZW50IHx8IG9mKFRVSV9ERUZBVUxUX05VTUJFUl9GT1JNQVQpKS5waXBlKFxuICAgICAgICAgICAgICAgIG1hcCgoZm9ybWF0KSA9PiAoey4uLmZvcm1hdCwgLi4ub3B0aW9uc30pKSxcbiAgICAgICAgICAgICksXG4gICAgfTtcbn1cbiJdfQ==