facilis-formats
v0.1.0
Published
First-party format definitions for the Facilis input formatting library.
Maintainers
Readme
facilis-formats
First-party format definitions for Facilis.
currency
Create a currency formatter with comma-separated thousands, a configurable currency symbol, and optional cents.
import { bindFormat } from 'facilis-dom';
import { currency } from 'facilis-formats';
bindFormat(input, currency());
bindFormat(input, currency({ symbol: '€' }));
bindFormat(input, currency({ symbol: '', includeCents: false }));percent
Create a percent formatter with optional decimal places, range limits, and an optional percent symbol.
import { bindFormat } from 'facilis-dom';
import { percent } from 'facilis-formats';
bindFormat(input, percent());
bindFormat(input, percent({ decimalPlaces: 2, padDecimalPlaces: 2 }));
bindFormat(input, percent({ includeSymbol: false }));pattern
Create a format from either a pattern string with preset tokens or an explicit pattern object with custom tokens.
import { bindFormat } from 'facilis-dom';
import { pattern } from 'facilis-formats';
bindFormat(input, pattern('(###) ###-####'));
bindFormat(input, pattern('aa-####'));
bindFormat(
input,
pattern({
pattern: 'LL-####',
tokens: {
L: { matches: /[A-Z]/ },
'#': { matches: /\d/ },
},
})
);The preset string form includes:
#for digitsafor ASCII letters*for any character
Use the object form whenever you need custom tokens.
text
Create a text format that keeps only the characters matched by a regular expression.
import { bindFormat } from 'facilis-dom';
import { text } from 'facilis-formats';
bindFormat(
input,
text({
matches: /[a-z]/i,
})
);
bindFormat(
input,
text({
matches: /\d/,
})
);