@taiga-ui/addon-commerce 4.19.0 → 4.20.0-canary.768f1ff

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -15,7 +15,6 @@ class TuiAmountPipe {
15
15
  }
16
16
  transform(value, currency = this.options.currency, currencyAlign = this.options.currencyAlign) {
17
17
  return this.format.pipe(map((format) => {
18
- const sign = tuiFormatSignSymbol(value, this.options.sign);
19
18
  const currencySymbol = tuiFormatCurrency(currency);
20
19
  const formatted = tuiFormatNumber(Math.abs(value), {
21
20
  ...format,
@@ -23,6 +22,9 @@ class TuiAmountPipe {
23
22
  ? DEFAULT_PRECISION
24
23
  : format.precision,
25
24
  });
25
+ const sign = formatted === '0'
26
+ ? ''
27
+ : tuiFormatSignSymbol(value, this.options.sign);
26
28
  const space = currencySymbol &&
27
29
  (currencySymbol?.length > 1 || currencyAlign === 'right')
28
30
  ? CHAR_NO_BREAK_SPACE
@@ -40,4 +42,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
40
42
  type: Pipe,
41
43
  args: [{ standalone: true, name: 'tuiAmount' }]
42
44
  }] });
43
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW1vdW50LnBpcGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hZGRvbi1jb21tZXJjZS9waXBlcy9hbW91bnQvYW1vdW50LnBpcGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFDLE1BQU0sRUFBRSxJQUFJLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFFM0MsT0FBTyxFQUFDLGlCQUFpQixFQUFDLE1BQU0sZ0NBQWdDLENBQUM7QUFDakUsT0FBTyxFQUFDLG1CQUFtQixFQUFDLE1BQU0seUJBQXlCLENBQUM7QUFDNUQsT0FBTyxFQUFDLGlCQUFpQixFQUFDLE1BQU0sdUJBQXVCLENBQUM7QUFFeEQsT0FBTyxFQUFDLGVBQWUsRUFBQyxNQUFNLDZCQUE2QixDQUFDO0FBRTVELE9BQU8sRUFBQyxHQUFHLEVBQUMsTUFBTSxNQUFNLENBQUM7QUFFekIsT0FBTyxFQUFDLGtCQUFrQixFQUFDLE1BQU0sa0JBQWtCLENBQUM7QUFDcEQsT0FBTyxFQUFDLG1CQUFtQixFQUFDLE1BQU0sZ0JBQWdCLENBQUM7O0FBRW5ELE1BQU0saUJBQWlCLEdBQUcsQ0FBQyxDQUFDO0FBRTVCLE1BQ2EsYUFBYTtJQUQxQjtRQUVxQixZQUFPLEdBQUcsTUFBTSxDQUFDLGtCQUFrQixDQUFDLENBQUM7UUFDckMsV0FBTSxHQUFHLE1BQU0sQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDO0tBNkJ2RDtJQTNCVSxTQUFTLENBQ1osS0FBYSxFQUNiLFdBQWdDLElBQUksQ0FBQyxPQUFPLENBQUMsUUFBUSxFQUNyRCxnQkFBd0MsSUFBSSxDQUFDLE9BQU8sQ0FBQyxhQUFhO1FBRWxFLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQ25CLEdBQUcsQ0FBQyxDQUFDLE1BQU0sRUFBRSxFQUFFO1lBQ1gsTUFBTSxJQUFJLEdBQUcsbUJBQW1CLENBQUMsS0FBSyxFQUFFLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUM7WUFDM0QsTUFBTSxjQUFjLEdBQUcsaUJBQWlCLENBQUMsUUFBUSxDQUFDLENBQUM7WUFDbkQsTUFBTSxTQUFTLEdBQUcsZUFBZSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLEVBQUU7Z0JBQy9DLEdBQUcsTUFBTTtnQkFDVCxTQUFTLEVBQUUsTUFBTSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDO29CQUNyQyxDQUFDLENBQUMsaUJBQWlCO29CQUNuQixDQUFDLENBQUMsTUFBTSxDQUFDLFNBQVM7YUFDekIsQ0FBQyxDQUFDO1lBQ0gsTUFBTSxLQUFLLEdBQ1AsY0FBYztnQkFDZCxDQUFDLGNBQWMsRUFBRSxNQUFNLEdBQUcsQ0FBQyxJQUFJLGFBQWEsS0FBSyxPQUFPLENBQUM7Z0JBQ3JELENBQUMsQ0FBQyxtQkFBbUI7Z0JBQ3JCLENBQUMsQ0FBQyxFQUFFLENBQUM7WUFFYixPQUFPLGFBQWEsS0FBSyxPQUFPO2dCQUM1QixDQUFDLENBQUMsR0FBRyxJQUFJLEdBQUcsU0FBUyxHQUFHLEtBQUssR0FBRyxjQUFjLEVBQUU7Z0JBQ2hELENBQUMsQ0FBQyxHQUFHLElBQUksR0FBRyxjQUFjLEdBQUcsS0FBSyxHQUFHLFNBQVMsRUFBRSxDQUFDO1FBQ3pELENBQUMsQ0FBQyxDQUNMLENBQUM7SUFDTixDQUFDOytHQTlCUSxhQUFhOzZHQUFiLGFBQWE7O1NBQWIsYUFBYTs0RkFBYixhQUFhO2tCQUR6QixJQUFJO21CQUFDLEVBQUMsVUFBVSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsV0FBVyxFQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUge1BpcGVUcmFuc2Zvcm19IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtpbmplY3QsIFBpcGV9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHR5cGUge1R1aUN1cnJlbmN5VmFyaWFudHN9IGZyb20gJ0B0YWlnYS11aS9hZGRvbi1jb21tZXJjZS90eXBlcyc7XG5pbXBvcnQge3R1aUZvcm1hdEN1cnJlbmN5fSBmcm9tICdAdGFpZ2EtdWkvYWRkb24tY29tbWVyY2UvdXRpbHMnO1xuaW1wb3J0IHtDSEFSX05PX0JSRUFLX1NQQUNFfSBmcm9tICdAdGFpZ2EtdWkvY2RrL2NvbnN0YW50cyc7XG5pbXBvcnQge1RVSV9OVU1CRVJfRk9STUFUfSBmcm9tICdAdGFpZ2EtdWkvY29yZS90b2tlbnMnO1xuaW1wb3J0IHR5cGUge1R1aUhvcml6b250YWxEaXJlY3Rpb259IGZyb20gJ0B0YWlnYS11aS9jb3JlL3R5cGVzJztcbmltcG9ydCB7dHVpRm9ybWF0TnVtYmVyfSBmcm9tICdAdGFpZ2EtdWkvY29yZS91dGlscy9mb3JtYXQnO1xuaW1wb3J0IHR5cGUge09ic2VydmFibGV9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHttYXB9IGZyb20gJ3J4anMnO1xuXG5pbXBvcnQge1RVSV9BTU9VTlRfT1BUSU9OU30gZnJvbSAnLi9hbW91bnQub3B0aW9ucyc7XG5pbXBvcnQge3R1aUZvcm1hdFNpZ25TeW1ib2x9IGZyb20gJy4vYW1vdW50LnV0aWxzJztcblxuY29uc3QgREVGQVVMVF9QUkVDSVNJT04gPSAyO1xuXG5AUGlwZSh7c3RhbmRhbG9uZTogdHJ1ZSwgbmFtZTogJ3R1aUFtb3VudCd9KVxuZXhwb3J0IGNsYXNzIFR1aUFtb3VudFBpcGUgaW1wbGVtZW50cyBQaXBlVHJhbnNmb3JtIHtcbiAgICBwcml2YXRlIHJlYWRvbmx5IG9wdGlvbnMgPSBpbmplY3QoVFVJX0FNT1VOVF9PUFRJT05TKTtcbiAgICBwcml2YXRlIHJlYWRvbmx5IGZvcm1hdCA9IGluamVjdChUVUlfTlVNQkVSX0ZPUk1BVCk7XG5cbiAgICBwdWJsaWMgdHJhbnNmb3JtKFxuICAgICAgICB2YWx1ZTogbnVtYmVyLFxuICAgICAgICBjdXJyZW5jeTogVHVpQ3VycmVuY3lWYXJpYW50cyA9IHRoaXMub3B0aW9ucy5jdXJyZW5jeSxcbiAgICAgICAgY3VycmVuY3lBbGlnbjogVHVpSG9yaXpvbnRhbERpcmVjdGlvbiA9IHRoaXMub3B0aW9ucy5jdXJyZW5jeUFsaWduLFxuICAgICk6IE9ic2VydmFibGU8c3RyaW5nPiB7XG4gICAgICAgIHJldHVybiB0aGlzLmZvcm1hdC5waXBlKFxuICAgICAgICAgICAgbWFwKChmb3JtYXQpID0+IHtcbiAgICAgICAgICAgICAgICBjb25zdCBzaWduID0gdHVpRm9ybWF0U2lnblN5bWJvbCh2YWx1ZSwgdGhpcy5vcHRpb25zLnNpZ24pO1xuICAgICAgICAgICAgICAgIGNvbnN0IGN1cnJlbmN5U3ltYm9sID0gdHVpRm9ybWF0Q3VycmVuY3koY3VycmVuY3kpO1xuICAgICAgICAgICAgICAgIGNvbnN0IGZvcm1hdHRlZCA9IHR1aUZvcm1hdE51bWJlcihNYXRoLmFicyh2YWx1ZSksIHtcbiAgICAgICAgICAgICAgICAgICAgLi4uZm9ybWF0LFxuICAgICAgICAgICAgICAgICAgICBwcmVjaXNpb246IE51bWJlci5pc05hTihmb3JtYXQucHJlY2lzaW9uKVxuICAgICAgICAgICAgICAgICAgICAgICAgPyBERUZBVUxUX1BSRUNJU0lPTlxuICAgICAgICAgICAgICAgICAgICAgICAgOiBmb3JtYXQucHJlY2lzaW9uLFxuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgIGNvbnN0IHNwYWNlID1cbiAgICAgICAgICAgICAgICAgICAgY3VycmVuY3lTeW1ib2wgJiZcbiAgICAgICAgICAgICAgICAgICAgKGN1cnJlbmN5U3ltYm9sPy5sZW5ndGggPiAxIHx8IGN1cnJlbmN5QWxpZ24gPT09ICdyaWdodCcpXG4gICAgICAgICAgICAgICAgICAgICAgICA/IENIQVJfTk9fQlJFQUtfU1BBQ0VcbiAgICAgICAgICAgICAgICAgICAgICAgIDogJyc7XG5cbiAgICAgICAgICAgICAgICByZXR1cm4gY3VycmVuY3lBbGlnbiA9PT0gJ3JpZ2h0J1xuICAgICAgICAgICAgICAgICAgICA/IGAke3NpZ259JHtmb3JtYXR0ZWR9JHtzcGFjZX0ke2N1cnJlbmN5U3ltYm9sfWBcbiAgICAgICAgICAgICAgICAgICAgOiBgJHtzaWdufSR7Y3VycmVuY3lTeW1ib2x9JHtzcGFjZX0ke2Zvcm1hdHRlZH1gO1xuICAgICAgICAgICAgfSksXG4gICAgICAgICk7XG4gICAgfVxufVxuIl19
45
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW1vdW50LnBpcGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hZGRvbi1jb21tZXJjZS9waXBlcy9hbW91bnQvYW1vdW50LnBpcGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFDLE1BQU0sRUFBRSxJQUFJLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFFM0MsT0FBTyxFQUFDLGlCQUFpQixFQUFDLE1BQU0sZ0NBQWdDLENBQUM7QUFDakUsT0FBTyxFQUFDLG1CQUFtQixFQUFDLE1BQU0seUJBQXlCLENBQUM7QUFDNUQsT0FBTyxFQUFDLGlCQUFpQixFQUFDLE1BQU0sdUJBQXVCLENBQUM7QUFFeEQsT0FBTyxFQUFDLGVBQWUsRUFBQyxNQUFNLDZCQUE2QixDQUFDO0FBRTVELE9BQU8sRUFBQyxHQUFHLEVBQUMsTUFBTSxNQUFNLENBQUM7QUFFekIsT0FBTyxFQUFDLGtCQUFrQixFQUFDLE1BQU0sa0JBQWtCLENBQUM7QUFDcEQsT0FBTyxFQUFDLG1CQUFtQixFQUFDLE1BQU0sZ0JBQWdCLENBQUM7O0FBRW5ELE1BQU0saUJBQWlCLEdBQUcsQ0FBQyxDQUFDO0FBRTVCLE1BQ2EsYUFBYTtJQUQxQjtRQUVxQixZQUFPLEdBQUcsTUFBTSxDQUFDLGtCQUFrQixDQUFDLENBQUM7UUFDckMsV0FBTSxHQUFHLE1BQU0sQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDO0tBZ0N2RDtJQTlCVSxTQUFTLENBQ1osS0FBYSxFQUNiLFdBQWdDLElBQUksQ0FBQyxPQUFPLENBQUMsUUFBUSxFQUNyRCxnQkFBd0MsSUFBSSxDQUFDLE9BQU8sQ0FBQyxhQUFhO1FBRWxFLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQ25CLEdBQUcsQ0FBQyxDQUFDLE1BQU0sRUFBRSxFQUFFO1lBQ1gsTUFBTSxjQUFjLEdBQUcsaUJBQWlCLENBQUMsUUFBUSxDQUFDLENBQUM7WUFDbkQsTUFBTSxTQUFTLEdBQUcsZUFBZSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLEVBQUU7Z0JBQy9DLEdBQUcsTUFBTTtnQkFDVCxTQUFTLEVBQUUsTUFBTSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDO29CQUNyQyxDQUFDLENBQUMsaUJBQWlCO29CQUNuQixDQUFDLENBQUMsTUFBTSxDQUFDLFNBQVM7YUFDekIsQ0FBQyxDQUFDO1lBQ0gsTUFBTSxJQUFJLEdBQ04sU0FBUyxLQUFLLEdBQUc7Z0JBQ2IsQ0FBQyxDQUFDLEVBQUU7Z0JBQ0osQ0FBQyxDQUFDLG1CQUFtQixDQUFDLEtBQUssRUFBRSxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDO1lBQ3hELE1BQU0sS0FBSyxHQUNQLGNBQWM7Z0JBQ2QsQ0FBQyxjQUFjLEVBQUUsTUFBTSxHQUFHLENBQUMsSUFBSSxhQUFhLEtBQUssT0FBTyxDQUFDO2dCQUNyRCxDQUFDLENBQUMsbUJBQW1CO2dCQUNyQixDQUFDLENBQUMsRUFBRSxDQUFDO1lBRWIsT0FBTyxhQUFhLEtBQUssT0FBTztnQkFDNUIsQ0FBQyxDQUFDLEdBQUcsSUFBSSxHQUFHLFNBQVMsR0FBRyxLQUFLLEdBQUcsY0FBYyxFQUFFO2dCQUNoRCxDQUFDLENBQUMsR0FBRyxJQUFJLEdBQUcsY0FBYyxHQUFHLEtBQUssR0FBRyxTQUFTLEVBQUUsQ0FBQztRQUN6RCxDQUFDLENBQUMsQ0FDTCxDQUFDO0lBQ04sQ0FBQzsrR0FqQ1EsYUFBYTs2R0FBYixhQUFhOztTQUFiLGFBQWE7NEZBQWIsYUFBYTtrQkFEekIsSUFBSTttQkFBQyxFQUFDLFVBQVUsRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLFdBQVcsRUFBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHtQaXBlVHJhbnNmb3JtfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7aW5qZWN0LCBQaXBlfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB0eXBlIHtUdWlDdXJyZW5jeVZhcmlhbnRzfSBmcm9tICdAdGFpZ2EtdWkvYWRkb24tY29tbWVyY2UvdHlwZXMnO1xuaW1wb3J0IHt0dWlGb3JtYXRDdXJyZW5jeX0gZnJvbSAnQHRhaWdhLXVpL2FkZG9uLWNvbW1lcmNlL3V0aWxzJztcbmltcG9ydCB7Q0hBUl9OT19CUkVBS19TUEFDRX0gZnJvbSAnQHRhaWdhLXVpL2Nkay9jb25zdGFudHMnO1xuaW1wb3J0IHtUVUlfTlVNQkVSX0ZPUk1BVH0gZnJvbSAnQHRhaWdhLXVpL2NvcmUvdG9rZW5zJztcbmltcG9ydCB0eXBlIHtUdWlIb3Jpem9udGFsRGlyZWN0aW9ufSBmcm9tICdAdGFpZ2EtdWkvY29yZS90eXBlcyc7XG5pbXBvcnQge3R1aUZvcm1hdE51bWJlcn0gZnJvbSAnQHRhaWdhLXVpL2NvcmUvdXRpbHMvZm9ybWF0JztcbmltcG9ydCB0eXBlIHtPYnNlcnZhYmxlfSBmcm9tICdyeGpzJztcbmltcG9ydCB7bWFwfSBmcm9tICdyeGpzJztcblxuaW1wb3J0IHtUVUlfQU1PVU5UX09QVElPTlN9IGZyb20gJy4vYW1vdW50Lm9wdGlvbnMnO1xuaW1wb3J0IHt0dWlGb3JtYXRTaWduU3ltYm9sfSBmcm9tICcuL2Ftb3VudC51dGlscyc7XG5cbmNvbnN0IERFRkFVTFRfUFJFQ0lTSU9OID0gMjtcblxuQFBpcGUoe3N0YW5kYWxvbmU6IHRydWUsIG5hbWU6ICd0dWlBbW91bnQnfSlcbmV4cG9ydCBjbGFzcyBUdWlBbW91bnRQaXBlIGltcGxlbWVudHMgUGlwZVRyYW5zZm9ybSB7XG4gICAgcHJpdmF0ZSByZWFkb25seSBvcHRpb25zID0gaW5qZWN0KFRVSV9BTU9VTlRfT1BUSU9OUyk7XG4gICAgcHJpdmF0ZSByZWFkb25seSBmb3JtYXQgPSBpbmplY3QoVFVJX05VTUJFUl9GT1JNQVQpO1xuXG4gICAgcHVibGljIHRyYW5zZm9ybShcbiAgICAgICAgdmFsdWU6IG51bWJlcixcbiAgICAgICAgY3VycmVuY3k6IFR1aUN1cnJlbmN5VmFyaWFudHMgPSB0aGlzLm9wdGlvbnMuY3VycmVuY3ksXG4gICAgICAgIGN1cnJlbmN5QWxpZ246IFR1aUhvcml6b250YWxEaXJlY3Rpb24gPSB0aGlzLm9wdGlvbnMuY3VycmVuY3lBbGlnbixcbiAgICApOiBPYnNlcnZhYmxlPHN0cmluZz4ge1xuICAgICAgICByZXR1cm4gdGhpcy5mb3JtYXQucGlwZShcbiAgICAgICAgICAgIG1hcCgoZm9ybWF0KSA9PiB7XG4gICAgICAgICAgICAgICAgY29uc3QgY3VycmVuY3lTeW1ib2wgPSB0dWlGb3JtYXRDdXJyZW5jeShjdXJyZW5jeSk7XG4gICAgICAgICAgICAgICAgY29uc3QgZm9ybWF0dGVkID0gdHVpRm9ybWF0TnVtYmVyKE1hdGguYWJzKHZhbHVlKSwge1xuICAgICAgICAgICAgICAgICAgICAuLi5mb3JtYXQsXG4gICAgICAgICAgICAgICAgICAgIHByZWNpc2lvbjogTnVtYmVyLmlzTmFOKGZvcm1hdC5wcmVjaXNpb24pXG4gICAgICAgICAgICAgICAgICAgICAgICA/IERFRkFVTFRfUFJFQ0lTSU9OXG4gICAgICAgICAgICAgICAgICAgICAgICA6IGZvcm1hdC5wcmVjaXNpb24sXG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgY29uc3Qgc2lnbiA9XG4gICAgICAgICAgICAgICAgICAgIGZvcm1hdHRlZCA9PT0gJzAnXG4gICAgICAgICAgICAgICAgICAgICAgICA/ICcnXG4gICAgICAgICAgICAgICAgICAgICAgICA6IHR1aUZvcm1hdFNpZ25TeW1ib2wodmFsdWUsIHRoaXMub3B0aW9ucy5zaWduKTtcbiAgICAgICAgICAgICAgICBjb25zdCBzcGFjZSA9XG4gICAgICAgICAgICAgICAgICAgIGN1cnJlbmN5U3ltYm9sICYmXG4gICAgICAgICAgICAgICAgICAgIChjdXJyZW5jeVN5bWJvbD8ubGVuZ3RoID4gMSB8fCBjdXJyZW5jeUFsaWduID09PSAncmlnaHQnKVxuICAgICAgICAgICAgICAgICAgICAgICAgPyBDSEFSX05PX0JSRUFLX1NQQUNFXG4gICAgICAgICAgICAgICAgICAgICAgICA6ICcnO1xuXG4gICAgICAgICAgICAgICAgcmV0dXJuIGN1cnJlbmN5QWxpZ24gPT09ICdyaWdodCdcbiAgICAgICAgICAgICAgICAgICAgPyBgJHtzaWdufSR7Zm9ybWF0dGVkfSR7c3BhY2V9JHtjdXJyZW5jeVN5bWJvbH1gXG4gICAgICAgICAgICAgICAgICAgIDogYCR7c2lnbn0ke2N1cnJlbmN5U3ltYm9sfSR7c3BhY2V9JHtmb3JtYXR0ZWR9YDtcbiAgICAgICAgICAgIH0pLFxuICAgICAgICApO1xuICAgIH1cbn1cbiJdfQ==
@@ -35,7 +35,6 @@ class TuiAmountPipe {
35
35
  }
36
36
  transform(value, currency = this.options.currency, currencyAlign = this.options.currencyAlign) {
37
37
  return this.format.pipe(map((format) => {
38
- const sign = tuiFormatSignSymbol(value, this.options.sign);
39
38
  const currencySymbol = tuiFormatCurrency(currency);
40
39
  const formatted = tuiFormatNumber(Math.abs(value), {
41
40
  ...format,
@@ -43,6 +42,9 @@ class TuiAmountPipe {
43
42
  ? DEFAULT_PRECISION
44
43
  : format.precision,
45
44
  });
45
+ const sign = formatted === '0'
46
+ ? ''
47
+ : tuiFormatSignSymbol(value, this.options.sign);
46
48
  const space = currencySymbol &&
47
49
  (currencySymbol?.length > 1 || currencyAlign === 'right')
48
50
  ? CHAR_NO_BREAK_SPACE
@@ -1 +1 @@
1
- {"version":3,"file":"taiga-ui-addon-commerce-pipes-amount.mjs","sources":["../../../projects/addon-commerce/pipes/amount/amount.options.ts","../../../projects/addon-commerce/pipes/amount/amount.utils.ts","../../../projects/addon-commerce/pipes/amount/amount.pipe.ts","../../../projects/addon-commerce/pipes/amount/taiga-ui-addon-commerce-pipes-amount.ts"],"sourcesContent":["import type {Provider} from '@angular/core';\nimport type {TuiCurrencyVariants} from '@taiga-ui/addon-commerce/types';\nimport {tuiCreateToken, tuiProvideOptions} from '@taiga-ui/cdk/utils/miscellaneous';\nimport type {TuiHorizontalDirection} from '@taiga-ui/core/types';\n\nimport type {TuiAmountSign} from './amount.types';\n\nexport interface TuiAmountOptions {\n readonly currency: TuiCurrencyVariants;\n readonly currencyAlign: TuiHorizontalDirection;\n readonly sign: TuiAmountSign;\n}\n\nexport const TUI_AMOUNT_DEFAULT_OPTIONS: TuiAmountOptions = {\n currency: null,\n currencyAlign: 'left',\n sign: 'negative-only',\n};\n\nexport const TUI_AMOUNT_OPTIONS = tuiCreateToken(TUI_AMOUNT_DEFAULT_OPTIONS);\n\nexport function tuiAmountOptionsProvider(options: Partial<TuiAmountOptions>): Provider {\n return tuiProvideOptions(TUI_AMOUNT_OPTIONS, options, TUI_AMOUNT_DEFAULT_OPTIONS);\n}\n","import {CHAR_MINUS, CHAR_PLUS} from '@taiga-ui/cdk/constants';\n\nimport type {TuiAmountSign, TuiAmountSignSymbol} from './amount.types';\n\nexport function tuiFormatSignSymbol(\n value: number,\n sign: TuiAmountSign,\n): TuiAmountSignSymbol {\n if (sign === 'never' || !value || (sign === 'negative-only' && value > 0)) {\n return '';\n }\n\n if (sign === 'force-negative' || (value < 0 && sign !== 'force-positive')) {\n return CHAR_MINUS;\n }\n\n return CHAR_PLUS;\n}\n","import type {PipeTransform} from '@angular/core';\nimport {inject, Pipe} from '@angular/core';\nimport type {TuiCurrencyVariants} from '@taiga-ui/addon-commerce/types';\nimport {tuiFormatCurrency} from '@taiga-ui/addon-commerce/utils';\nimport {CHAR_NO_BREAK_SPACE} from '@taiga-ui/cdk/constants';\nimport {TUI_NUMBER_FORMAT} from '@taiga-ui/core/tokens';\nimport type {TuiHorizontalDirection} from '@taiga-ui/core/types';\nimport {tuiFormatNumber} from '@taiga-ui/core/utils/format';\nimport type {Observable} from 'rxjs';\nimport {map} from 'rxjs';\n\nimport {TUI_AMOUNT_OPTIONS} from './amount.options';\nimport {tuiFormatSignSymbol} from './amount.utils';\n\nconst DEFAULT_PRECISION = 2;\n\n@Pipe({standalone: true, name: 'tuiAmount'})\nexport class TuiAmountPipe implements PipeTransform {\n private readonly options = inject(TUI_AMOUNT_OPTIONS);\n private readonly format = inject(TUI_NUMBER_FORMAT);\n\n public transform(\n value: number,\n currency: TuiCurrencyVariants = this.options.currency,\n currencyAlign: TuiHorizontalDirection = this.options.currencyAlign,\n ): Observable<string> {\n return this.format.pipe(\n map((format) => {\n const sign = tuiFormatSignSymbol(value, this.options.sign);\n const currencySymbol = tuiFormatCurrency(currency);\n const formatted = tuiFormatNumber(Math.abs(value), {\n ...format,\n precision: Number.isNaN(format.precision)\n ? DEFAULT_PRECISION\n : format.precision,\n });\n const space =\n currencySymbol &&\n (currencySymbol?.length > 1 || currencyAlign === 'right')\n ? CHAR_NO_BREAK_SPACE\n : '';\n\n return currencyAlign === 'right'\n ? `${sign}${formatted}${space}${currencySymbol}`\n : `${sign}${currencySymbol}${space}${formatted}`;\n }),\n );\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;;;;;AAaa,MAAA,0BAA0B,GAAqB;AACxD,IAAA,QAAQ,EAAE,IAAI;AACd,IAAA,aAAa,EAAE,MAAM;AACrB,IAAA,IAAI,EAAE,eAAe;EACvB;MAEW,kBAAkB,GAAG,cAAc,CAAC,0BAA0B,EAAE;AAEvE,SAAU,wBAAwB,CAAC,OAAkC,EAAA;IACvE,OAAO,iBAAiB,CAAC,kBAAkB,EAAE,OAAO,EAAE,0BAA0B,CAAC,CAAC;AACtF;;ACnBgB,SAAA,mBAAmB,CAC/B,KAAa,EACb,IAAmB,EAAA;AAEnB,IAAA,IAAI,IAAI,KAAK,OAAO,IAAI,CAAC,KAAK,KAAK,IAAI,KAAK,eAAe,IAAI,KAAK,GAAG,CAAC,CAAC,EAAE;AACvE,QAAA,OAAO,EAAE,CAAC;AACb,KAAA;AAED,IAAA,IAAI,IAAI,KAAK,gBAAgB,KAAK,KAAK,GAAG,CAAC,IAAI,IAAI,KAAK,gBAAgB,CAAC,EAAE;AACvE,QAAA,OAAO,UAAU,CAAC;AACrB,KAAA;AAED,IAAA,OAAO,SAAS,CAAC;AACrB;;ACHA,MAAM,iBAAiB,GAAG,CAAC,CAAC;AAE5B,MACa,aAAa,CAAA;AAD1B,IAAA,WAAA,GAAA;AAEqB,QAAA,IAAA,CAAA,OAAO,GAAG,MAAM,CAAC,kBAAkB,CAAC,CAAC;AACrC,QAAA,IAAA,CAAA,MAAM,GAAG,MAAM,CAAC,iBAAiB,CAAC,CAAC;AA6BvD,KAAA;AA3BU,IAAA,SAAS,CACZ,KAAa,EACb,QAAA,GAAgC,IAAI,CAAC,OAAO,CAAC,QAAQ,EACrD,aAAwC,GAAA,IAAI,CAAC,OAAO,CAAC,aAAa,EAAA;QAElE,OAAO,IAAI,CAAC,MAAM,CAAC,IAAI,CACnB,GAAG,CAAC,CAAC,MAAM,KAAI;AACX,YAAA,MAAM,IAAI,GAAG,mBAAmB,CAAC,KAAK,EAAE,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;AAC3D,YAAA,MAAM,cAAc,GAAG,iBAAiB,CAAC,QAAQ,CAAC,CAAC;YACnD,MAAM,SAAS,GAAG,eAAe,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE;AAC/C,gBAAA,GAAG,MAAM;gBACT,SAAS,EAAE,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,SAAS,CAAC;AACrC,sBAAE,iBAAiB;sBACjB,MAAM,CAAC,SAAS;AACzB,aAAA,CAAC,CAAC;YACH,MAAM,KAAK,GACP,cAAc;iBACb,cAAc,EAAE,MAAM,GAAG,CAAC,IAAI,aAAa,KAAK,OAAO,CAAC;AACrD,kBAAE,mBAAmB;kBACnB,EAAE,CAAC;YAEb,OAAO,aAAa,KAAK,OAAO;kBAC1B,GAAG,IAAI,CAAA,EAAG,SAAS,CAAG,EAAA,KAAK,CAAG,EAAA,cAAc,CAAE,CAAA;kBAC9C,CAAG,EAAA,IAAI,CAAG,EAAA,cAAc,GAAG,KAAK,CAAA,EAAG,SAAS,CAAA,CAAE,CAAC;SACxD,CAAC,CACL,CAAC;KACL;+GA9BQ,aAAa,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,IAAA,EAAA,CAAA,CAAA,EAAA;6GAAb,aAAa,EAAA,YAAA,EAAA,IAAA,EAAA,IAAA,EAAA,WAAA,EAAA,CAAA,CAAA,EAAA;;4FAAb,aAAa,EAAA,UAAA,EAAA,CAAA;kBADzB,IAAI;AAAC,YAAA,IAAA,EAAA,CAAA,EAAC,UAAU,EAAE,IAAI,EAAE,IAAI,EAAE,WAAW,EAAC,CAAA;;;AChB3C;;AAEG;;;;"}
1
+ {"version":3,"file":"taiga-ui-addon-commerce-pipes-amount.mjs","sources":["../../../projects/addon-commerce/pipes/amount/amount.options.ts","../../../projects/addon-commerce/pipes/amount/amount.utils.ts","../../../projects/addon-commerce/pipes/amount/amount.pipe.ts","../../../projects/addon-commerce/pipes/amount/taiga-ui-addon-commerce-pipes-amount.ts"],"sourcesContent":["import type {Provider} from '@angular/core';\nimport type {TuiCurrencyVariants} from '@taiga-ui/addon-commerce/types';\nimport {tuiCreateToken, tuiProvideOptions} from '@taiga-ui/cdk/utils/miscellaneous';\nimport type {TuiHorizontalDirection} from '@taiga-ui/core/types';\n\nimport type {TuiAmountSign} from './amount.types';\n\nexport interface TuiAmountOptions {\n readonly currency: TuiCurrencyVariants;\n readonly currencyAlign: TuiHorizontalDirection;\n readonly sign: TuiAmountSign;\n}\n\nexport const TUI_AMOUNT_DEFAULT_OPTIONS: TuiAmountOptions = {\n currency: null,\n currencyAlign: 'left',\n sign: 'negative-only',\n};\n\nexport const TUI_AMOUNT_OPTIONS = tuiCreateToken(TUI_AMOUNT_DEFAULT_OPTIONS);\n\nexport function tuiAmountOptionsProvider(options: Partial<TuiAmountOptions>): Provider {\n return tuiProvideOptions(TUI_AMOUNT_OPTIONS, options, TUI_AMOUNT_DEFAULT_OPTIONS);\n}\n","import {CHAR_MINUS, CHAR_PLUS} from '@taiga-ui/cdk/constants';\n\nimport type {TuiAmountSign, TuiAmountSignSymbol} from './amount.types';\n\nexport function tuiFormatSignSymbol(\n value: number,\n sign: TuiAmountSign,\n): TuiAmountSignSymbol {\n if (sign === 'never' || !value || (sign === 'negative-only' && value > 0)) {\n return '';\n }\n\n if (sign === 'force-negative' || (value < 0 && sign !== 'force-positive')) {\n return CHAR_MINUS;\n }\n\n return CHAR_PLUS;\n}\n","import type {PipeTransform} from '@angular/core';\nimport {inject, Pipe} from '@angular/core';\nimport type {TuiCurrencyVariants} from '@taiga-ui/addon-commerce/types';\nimport {tuiFormatCurrency} from '@taiga-ui/addon-commerce/utils';\nimport {CHAR_NO_BREAK_SPACE} from '@taiga-ui/cdk/constants';\nimport {TUI_NUMBER_FORMAT} from '@taiga-ui/core/tokens';\nimport type {TuiHorizontalDirection} from '@taiga-ui/core/types';\nimport {tuiFormatNumber} from '@taiga-ui/core/utils/format';\nimport type {Observable} from 'rxjs';\nimport {map} from 'rxjs';\n\nimport {TUI_AMOUNT_OPTIONS} from './amount.options';\nimport {tuiFormatSignSymbol} from './amount.utils';\n\nconst DEFAULT_PRECISION = 2;\n\n@Pipe({standalone: true, name: 'tuiAmount'})\nexport class TuiAmountPipe implements PipeTransform {\n private readonly options = inject(TUI_AMOUNT_OPTIONS);\n private readonly format = inject(TUI_NUMBER_FORMAT);\n\n public transform(\n value: number,\n currency: TuiCurrencyVariants = this.options.currency,\n currencyAlign: TuiHorizontalDirection = this.options.currencyAlign,\n ): Observable<string> {\n return this.format.pipe(\n map((format) => {\n const currencySymbol = tuiFormatCurrency(currency);\n const formatted = tuiFormatNumber(Math.abs(value), {\n ...format,\n precision: Number.isNaN(format.precision)\n ? DEFAULT_PRECISION\n : format.precision,\n });\n const sign =\n formatted === '0'\n ? ''\n : tuiFormatSignSymbol(value, this.options.sign);\n const space =\n currencySymbol &&\n (currencySymbol?.length > 1 || currencyAlign === 'right')\n ? CHAR_NO_BREAK_SPACE\n : '';\n\n return currencyAlign === 'right'\n ? `${sign}${formatted}${space}${currencySymbol}`\n : `${sign}${currencySymbol}${space}${formatted}`;\n }),\n );\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;;;;;AAaa,MAAA,0BAA0B,GAAqB;AACxD,IAAA,QAAQ,EAAE,IAAI;AACd,IAAA,aAAa,EAAE,MAAM;AACrB,IAAA,IAAI,EAAE,eAAe;EACvB;MAEW,kBAAkB,GAAG,cAAc,CAAC,0BAA0B,EAAE;AAEvE,SAAU,wBAAwB,CAAC,OAAkC,EAAA;IACvE,OAAO,iBAAiB,CAAC,kBAAkB,EAAE,OAAO,EAAE,0BAA0B,CAAC,CAAC;AACtF;;ACnBgB,SAAA,mBAAmB,CAC/B,KAAa,EACb,IAAmB,EAAA;AAEnB,IAAA,IAAI,IAAI,KAAK,OAAO,IAAI,CAAC,KAAK,KAAK,IAAI,KAAK,eAAe,IAAI,KAAK,GAAG,CAAC,CAAC,EAAE;AACvE,QAAA,OAAO,EAAE,CAAC;AACb,KAAA;AAED,IAAA,IAAI,IAAI,KAAK,gBAAgB,KAAK,KAAK,GAAG,CAAC,IAAI,IAAI,KAAK,gBAAgB,CAAC,EAAE;AACvE,QAAA,OAAO,UAAU,CAAC;AACrB,KAAA;AAED,IAAA,OAAO,SAAS,CAAC;AACrB;;ACHA,MAAM,iBAAiB,GAAG,CAAC,CAAC;AAE5B,MACa,aAAa,CAAA;AAD1B,IAAA,WAAA,GAAA;AAEqB,QAAA,IAAA,CAAA,OAAO,GAAG,MAAM,CAAC,kBAAkB,CAAC,CAAC;AACrC,QAAA,IAAA,CAAA,MAAM,GAAG,MAAM,CAAC,iBAAiB,CAAC,CAAC;AAgCvD,KAAA;AA9BU,IAAA,SAAS,CACZ,KAAa,EACb,QAAA,GAAgC,IAAI,CAAC,OAAO,CAAC,QAAQ,EACrD,aAAwC,GAAA,IAAI,CAAC,OAAO,CAAC,aAAa,EAAA;QAElE,OAAO,IAAI,CAAC,MAAM,CAAC,IAAI,CACnB,GAAG,CAAC,CAAC,MAAM,KAAI;AACX,YAAA,MAAM,cAAc,GAAG,iBAAiB,CAAC,QAAQ,CAAC,CAAC;YACnD,MAAM,SAAS,GAAG,eAAe,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE;AAC/C,gBAAA,GAAG,MAAM;gBACT,SAAS,EAAE,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,SAAS,CAAC;AACrC,sBAAE,iBAAiB;sBACjB,MAAM,CAAC,SAAS;AACzB,aAAA,CAAC,CAAC;AACH,YAAA,MAAM,IAAI,GACN,SAAS,KAAK,GAAG;AACb,kBAAE,EAAE;kBACF,mBAAmB,CAAC,KAAK,EAAE,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;YACxD,MAAM,KAAK,GACP,cAAc;iBACb,cAAc,EAAE,MAAM,GAAG,CAAC,IAAI,aAAa,KAAK,OAAO,CAAC;AACrD,kBAAE,mBAAmB;kBACnB,EAAE,CAAC;YAEb,OAAO,aAAa,KAAK,OAAO;kBAC1B,GAAG,IAAI,CAAA,EAAG,SAAS,CAAG,EAAA,KAAK,CAAG,EAAA,cAAc,CAAE,CAAA;kBAC9C,CAAG,EAAA,IAAI,CAAG,EAAA,cAAc,GAAG,KAAK,CAAA,EAAG,SAAS,CAAA,CAAE,CAAC;SACxD,CAAC,CACL,CAAC;KACL;+GAjCQ,aAAa,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,IAAA,EAAA,CAAA,CAAA,EAAA;6GAAb,aAAa,EAAA,YAAA,EAAA,IAAA,EAAA,IAAA,EAAA,WAAA,EAAA,CAAA,CAAA,EAAA;;4FAAb,aAAa,EAAA,UAAA,EAAA,CAAA;kBADzB,IAAI;AAAC,YAAA,IAAA,EAAA,CAAA,EAAC,UAAU,EAAE,IAAI,EAAE,IAAI,EAAE,WAAW,EAAC,CAAA;;;AChB3C;;AAEG;;;;"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@taiga-ui/addon-commerce",
3
- "version": "4.19.0",
3
+ "version": "4.20.0-canary.768f1ff",
4
4
  "description": "Extension package for Taiga UI related to commerce, payment systems, currencies etc.",
5
5
  "keywords": [
6
6
  "angular",
@@ -17,14 +17,14 @@
17
17
  "@angular/common": ">=16.0.0",
18
18
  "@angular/core": ">=16.0.0",
19
19
  "@angular/forms": ">=16.0.0",
20
- "@maskito/angular": "^3.2.0",
21
- "@maskito/core": "^3.2.0",
22
- "@maskito/kit": "^3.2.0",
20
+ "@maskito/angular": "^3.2.1",
21
+ "@maskito/core": "^3.2.1",
22
+ "@maskito/kit": "^3.2.1",
23
23
  "@ng-web-apis/common": "^4.11.1",
24
- "@taiga-ui/cdk": "^4.19.0",
25
- "@taiga-ui/core": "^4.19.0",
26
- "@taiga-ui/i18n": "^4.19.0",
27
- "@taiga-ui/kit": "^4.19.0",
24
+ "@taiga-ui/cdk": "^4.20.0",
25
+ "@taiga-ui/core": "^4.20.0",
26
+ "@taiga-ui/i18n": "^4.20.0",
27
+ "@taiga-ui/kit": "^4.20.0",
28
28
  "@taiga-ui/polymorpheus": "^4.7.4",
29
29
  "rxjs": ">=7.0.0"
30
30
  },