@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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibnVtYmVyLWZvcm1hdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL2NvcmUvdG9rZW5zL251bWJlci1mb3JtYXQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLGNBQWMsRUFBRSxRQUFRLEVBQWlCLFFBQVEsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUNoRixPQUFPLEVBQUMsbUJBQW1CLEVBQUMsTUFBTSx5QkFBeUIsQ0FBQztBQUU1RCxPQUFPLEVBQUMsR0FBRyxFQUFtQixFQUFFLEVBQUMsTUFBTSxNQUFNLENBQUM7QUFrQzlDLE1BQU0sQ0FBQyxNQUFNLHlCQUF5QixHQUE0QjtJQUM5RCxTQUFTLEVBQUUsR0FBRztJQUNkLGdCQUFnQixFQUFFLEdBQUc7SUFDckIsaUJBQWlCLEVBQUUsbUJBQW1CO0lBQ3RDLFFBQVEsRUFBRSxVQUFVO0lBQ3BCLFdBQVcsRUFBRSxLQUFLO0NBQ3JCLENBQUM7QUFFRjs7R0FFRztBQUNILE1BQU0sQ0FBQyxNQUFNLGlCQUFpQixHQUFHLElBQUksY0FBYyxDQUMvQyxTQUFTLENBQUMsQ0FBQyxDQUFDLG1CQUFtQixDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQ3BDO0lBQ0ksT0FBTyxFQUFFLEdBQUcsRUFBRSxDQUFDLEVBQUUsQ0FBQyx5QkFBeUIsQ0FBQztDQUMvQyxDQUNKLENBQUM7QUFFRixNQUFNLFVBQVUsdUJBQXVCLENBQ25DLE9BQXlDO0lBRXpDLE9BQU87UUFDSCxPQUFPLEVBQUUsaUJBQWlCO1FBQzFCLElBQUksRUFBRSxDQUFDLENBQUMsSUFBSSxRQUFRLEVBQUUsRUFBRSxJQUFJLFFBQVEsRUFBRSxFQUFFLGlCQUFpQixDQUFDLENBQUM7UUFDM0QsVUFBVSxFQUFFLENBQ1IsTUFBa0QsRUFDZixFQUFFLENBQ3JDLENBQUMsTUFBTSxJQUFJLEVBQUUsQ0FBQyx5QkFBeUIsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUMxQyxHQUFHLENBQUMsQ0FBQyxNQUFNLEVBQUUsRUFBRSxDQUFDLENBQUMsRUFBQyxHQUFHLE1BQU0sRUFBRSxHQUFHLE9BQU8sRUFBQyxDQUFDLENBQUMsQ0FDN0M7S0FDUixDQUFDO0FBQ04sQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7SW5qZWN0aW9uVG9rZW4sIE9wdGlvbmFsLCB0eXBlIFByb3ZpZGVyLCBTa2lwU2VsZn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge0NIQVJfTk9fQlJFQUtfU1BBQ0V9IGZyb20gJ0B0YWlnYS11aS9jZGsvY29uc3RhbnRzJztcbmltcG9ydCB7dHlwZSBUdWlSb3VuZGluZ30gZnJvbSAnQHRhaWdhLXVpL2Nkay90eXBlcyc7XG5pbXBvcnQge21hcCwgdHlwZSBPYnNlcnZhYmxlLCBvZn0gZnJvbSAncnhqcyc7XG5cbmV4cG9ydCB0eXBlIFR1aURlY2ltYWxNb2RlID0gJ2Fsd2F5cycgfCAnbm90LXplcm8nIHwgJ3BhZCc7XG5leHBvcnQgdHlwZSBUdWlEZWNpbWFsU3ltYm9sID0gJywnIHwgJy4nO1xuXG4vKipcbiAqIEZvcm1hdHRpbmcgY29uZmlndXJhdGlvbiBmb3IgZGlzcGxheWVkIG51bWJlcnNcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBUdWlOdW1iZXJGb3JtYXRTZXR0aW5ncyB7XG4gICAgLyoqXG4gICAgICogTnVtYmVyIG9mIGRpZ2l0cyBvZiBkZWNpbWFsIHBhcnQuXG4gICAgICogQG5vdGUgVXNlIGBJbmZpbml0eWAgdG8ga2VlcCB1bnRvdWNoZWQuXG4gICAgICovXG4gICAgcmVhZG9ubHkgcHJlY2lzaW9uOiBudW1iZXI7XG4gICAgLyoqXG4gICAgICogU2VwYXJhdG9yIGJldHdlZW4gdGhlIGludGVnZXIgYW5kIHRoZSBkZWNpbWFsIHBhcnQuXG4gICAgICogQGV4YW1wbGUgMCw0MiAoJywnIGJ5IGRlZmF1bHQpXG4gICAgICovXG4gICAgcmVhZG9ubHkgZGVjaW1hbFNlcGFyYXRvcjogVHVpRGVjaW1hbFN5bWJvbDtcbiAgICAvKipcbiAgICAgKiBSb3VuZGluZyBtZXRob2QuXG4gICAgICovXG4gICAgcmVhZG9ubHkgcm91bmRpbmc6IFR1aVJvdW5kaW5nO1xuICAgIC8qKlxuICAgICAqIFNlcGFyYXRvciBiZXR3ZWVuIHRob3VzYW5kcy5cbiAgICAgKiBAZXhhbXBsZSAzNjAgMDAwICgnICcgYnkgZGVmYXVsdClcbiAgICAgKi9cbiAgICByZWFkb25seSB0aG91c2FuZFNlcGFyYXRvcjogc3RyaW5nO1xuICAgIC8qKlxuICAgICAqIERlY2ltYWwgcGFydCBkaXNwbGF5IG1vZGUuICgnbm90LXplcm8nIGJ5IGRlZmF1bHQpXG4gICAgICovXG4gICAgcmVhZG9ubHkgZGVjaW1hbE1vZGU6IFR1aURlY2ltYWxNb2RlO1xufVxuXG5leHBvcnQgY29uc3QgVFVJX0RFRkFVTFRfTlVNQkVSX0ZPUk1BVDogVHVpTnVtYmVyRm9ybWF0U2V0dGluZ3MgPSB7XG4gICAgcHJlY2lzaW9uOiBOYU4sXG4gICAgZGVjaW1hbFNlcGFyYXRvcjogJy4nLFxuICAgIHRob3VzYW5kU2VwYXJhdG9yOiBDSEFSX05PX0JSRUFLX1NQQUNFLFxuICAgIHJvdW5kaW5nOiAndHJ1bmNhdGUnLFxuICAgIGRlY2ltYWxNb2RlOiAncGFkJyxcbn07XG5cbi8qKlxuICogRm9ybWF0dGluZyBjb25maWd1cmF0aW9uIGZvciBkaXNwbGF5ZWQgbnVtYmVyc1xuICovXG5leHBvcnQgY29uc3QgVFVJX05VTUJFUl9GT1JNQVQgPSBuZXcgSW5qZWN0aW9uVG9rZW48T2JzZXJ2YWJsZTxUdWlOdW1iZXJGb3JtYXRTZXR0aW5ncz4+KFxuICAgIG5nRGV2TW9kZSA/ICdUVUlfTlVNQkVSX0ZPUk1BVCcgOiAnJyxcbiAgICB7XG4gICAgICAgIGZhY3Rvcnk6ICgpID0+IG9mKFRVSV9ERUZBVUxUX05VTUJFUl9GT1JNQVQpLFxuICAgIH0sXG4pO1xuXG5leHBvcnQgZnVuY3Rpb24gdHVpTnVtYmVyRm9ybWF0UHJvdmlkZXIoXG4gICAgb3B0aW9uczogUGFydGlhbDxUdWlOdW1iZXJGb3JtYXRTZXR0aW5ncz4sXG4pOiBQcm92aWRlciB7XG4gICAgcmV0dXJuIHtcbiAgICAgICAgcHJvdmlkZTogVFVJX05VTUJFUl9GT1JNQVQsXG4gICAgICAgIGRlcHM6IFtbbmV3IE9wdGlvbmFsKCksIG5ldyBTa2lwU2VsZigpLCBUVUlfTlVNQkVSX0ZPUk1BVF1dLFxuICAgICAgICB1c2VGYWN0b3J5OiAoXG4gICAgICAgICAgICBwYXJlbnQ6IE9ic2VydmFibGU8VHVpTnVtYmVyRm9ybWF0U2V0dGluZ3M+IHwgbnVsbCxcbiAgICAgICAgKTogT2JzZXJ2YWJsZTxUdWlOdW1iZXJGb3JtYXRTZXR0aW5ncz4gPT5cbiAgICAgICAgICAgIChwYXJlbnQgfHwgb2YoVFVJX0RFRkFVTFRfTlVNQkVSX0ZPUk1BVCkpLnBpcGUoXG4gICAgICAgICAgICAgICAgbWFwKChmb3JtYXQpID0+ICh7Li4uZm9ybWF0LCAuLi5vcHRpb25zfSkpLFxuICAgICAgICAgICAgKSxcbiAgICB9O1xufVxuIl19