@tekus/kiosks-design-system 2.21.0 → 2.22.0

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.
@@ -3,13 +3,22 @@ import numeral from 'numeral';
3
3
  import * as i0 from "@angular/core";
4
4
  export class CustomCurrencyPipe {
5
5
  constructor() { }
6
- transform(price, decimal = false) {
6
+ transform(price, decimal = true) {
7
+ // Format the integer part of the price
7
8
  let strPrice = numeral(parseInt(price)).format('$0,0');
9
+ // Handle large numbers by replacing the first comma with an apostrophe
8
10
  if (parseInt(price) > 999999) {
9
11
  strPrice =
10
12
  strPrice.slice(0, strPrice.indexOf(',')) +
11
13
  "'" +
12
- strPrice.slice(strPrice.indexOf(',') + 1, strPrice.length);
14
+ strPrice.slice(strPrice.indexOf(',') + 1);
15
+ }
16
+ // Add decimal part if applicable
17
+ if (decimal) {
18
+ const decimalValue = parseFloat((parseFloat(price) % 1).toFixed(2)); // Properly round and keep as a number
19
+ if (decimalValue >= 0.01) {
20
+ strPrice += numeral(decimalValue).format('.00'); // Append formatted decimal part
21
+ }
13
22
  }
14
23
  return strPrice;
15
24
  }
@@ -23,4 +32,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.3", ngImpor
23
32
  standalone: true,
24
33
  }]
25
34
  }], ctorParameters: () => [] });
26
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3VzdG9tLWN1cnJlbmN5LnBpcGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90ay1raW9zay1kcy9zcmMvbGliL3BpcGVzL2N1c3RvbS1jdXJyZW5jeS5waXBlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxJQUFJLEVBQWlCLE1BQU0sZUFBZSxDQUFDO0FBQ3BELE9BQU8sT0FBTyxNQUFNLFNBQVMsQ0FBQzs7QUFNOUIsTUFBTSxPQUFPLGtCQUFrQjtJQUM3QixnQkFBZSxDQUFDO0lBRWhCLFNBQVMsQ0FBQyxLQUFVLEVBQUUsVUFBbUIsS0FBSztRQUM1QyxJQUFJLFFBQVEsR0FBRyxPQUFPLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQ3ZELElBQUksUUFBUSxDQUFDLEtBQUssQ0FBQyxHQUFHLE1BQU0sRUFBRTtZQUM1QixRQUFRO2dCQUNOLFFBQVEsQ0FBQyxLQUFLLENBQUMsQ0FBQyxFQUFFLFFBQVEsQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLENBQUM7b0JBQ3hDLEdBQUc7b0JBQ0gsUUFBUSxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsRUFBRSxRQUFRLENBQUMsTUFBTSxDQUFDLENBQUM7U0FDOUQ7UUFDRCxPQUFPLFFBQVEsQ0FBQztJQUNsQixDQUFDOzhHQVpVLGtCQUFrQjs0R0FBbEIsa0JBQWtCOzsyRkFBbEIsa0JBQWtCO2tCQUo5QixJQUFJO21CQUFDO29CQUNKLElBQUksRUFBRSxnQkFBZ0I7b0JBQ3RCLFVBQVUsRUFBRSxJQUFJO2lCQUNqQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFBpcGUsIFBpcGVUcmFuc2Zvcm0gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCBudW1lcmFsIGZyb20gJ251bWVyYWwnO1xuXG5AUGlwZSh7XG4gIG5hbWU6ICdjdXN0b21DdXJyZW5jeScsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG59KVxuZXhwb3J0IGNsYXNzIEN1c3RvbUN1cnJlbmN5UGlwZSBpbXBsZW1lbnRzIFBpcGVUcmFuc2Zvcm0ge1xuICBjb25zdHJ1Y3RvcigpIHt9XG5cbiAgdHJhbnNmb3JtKHByaWNlOiBhbnksIGRlY2ltYWw6IGJvb2xlYW4gPSBmYWxzZSk6IGFueSB7XG4gICAgbGV0IHN0clByaWNlID0gbnVtZXJhbChwYXJzZUludChwcmljZSkpLmZvcm1hdCgnJDAsMCcpO1xuICAgIGlmIChwYXJzZUludChwcmljZSkgPiA5OTk5OTkpIHtcbiAgICAgIHN0clByaWNlID1cbiAgICAgICAgc3RyUHJpY2Uuc2xpY2UoMCwgc3RyUHJpY2UuaW5kZXhPZignLCcpKSArXG4gICAgICAgIFwiJ1wiICtcbiAgICAgICAgc3RyUHJpY2Uuc2xpY2Uoc3RyUHJpY2UuaW5kZXhPZignLCcpICsgMSwgc3RyUHJpY2UubGVuZ3RoKTtcbiAgICB9XG4gICAgcmV0dXJuIHN0clByaWNlO1xuICB9XG59XG4iXX0=
35
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3VzdG9tLWN1cnJlbmN5LnBpcGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90ay1raW9zay1kcy9zcmMvbGliL3BpcGVzL2N1c3RvbS1jdXJyZW5jeS5waXBlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxJQUFJLEVBQWlCLE1BQU0sZUFBZSxDQUFDO0FBQ3BELE9BQU8sT0FBTyxNQUFNLFNBQVMsQ0FBQzs7QUFNOUIsTUFBTSxPQUFPLGtCQUFrQjtJQUM3QixnQkFBZSxDQUFDO0lBRWhCLFNBQVMsQ0FBQyxLQUFVLEVBQUUsVUFBbUIsSUFBSTtRQUMzQyx1Q0FBdUM7UUFDdkMsSUFBSSxRQUFRLEdBQUcsT0FBTyxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUV2RCx1RUFBdUU7UUFDdkUsSUFBSSxRQUFRLENBQUMsS0FBSyxDQUFDLEdBQUcsTUFBTSxFQUFFO1lBQzVCLFFBQVE7Z0JBQ04sUUFBUSxDQUFDLEtBQUssQ0FBQyxDQUFDLEVBQUUsUUFBUSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQztvQkFDeEMsR0FBRztvQkFDSCxRQUFRLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUM7U0FDN0M7UUFFRCxpQ0FBaUM7UUFDakMsSUFBSSxPQUFPLEVBQUU7WUFDWCxNQUFNLFlBQVksR0FBRyxVQUFVLENBQUMsQ0FBQyxVQUFVLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxzQ0FBc0M7WUFDM0csSUFBSSxZQUFZLElBQUksSUFBSSxFQUFFO2dCQUN4QixRQUFRLElBQUksT0FBTyxDQUFDLFlBQVksQ0FBQyxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLGdDQUFnQzthQUNsRjtTQUNGO1FBRUQsT0FBTyxRQUFRLENBQUM7SUFDbEIsQ0FBQzs4R0F4QlUsa0JBQWtCOzRHQUFsQixrQkFBa0I7OzJGQUFsQixrQkFBa0I7a0JBSjlCLElBQUk7bUJBQUM7b0JBQ0osSUFBSSxFQUFFLGdCQUFnQjtvQkFDdEIsVUFBVSxFQUFFLElBQUk7aUJBQ2pCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgUGlwZSwgUGlwZVRyYW5zZm9ybSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IG51bWVyYWwgZnJvbSAnbnVtZXJhbCc7XG5cbkBQaXBlKHtcbiAgbmFtZTogJ2N1c3RvbUN1cnJlbmN5JyxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbn0pXG5leHBvcnQgY2xhc3MgQ3VzdG9tQ3VycmVuY3lQaXBlIGltcGxlbWVudHMgUGlwZVRyYW5zZm9ybSB7XG4gIGNvbnN0cnVjdG9yKCkge31cblxuICB0cmFuc2Zvcm0ocHJpY2U6IGFueSwgZGVjaW1hbDogYm9vbGVhbiA9IHRydWUpOiBhbnkge1xuICAgIC8vIEZvcm1hdCB0aGUgaW50ZWdlciBwYXJ0IG9mIHRoZSBwcmljZVxuICAgIGxldCBzdHJQcmljZSA9IG51bWVyYWwocGFyc2VJbnQocHJpY2UpKS5mb3JtYXQoJyQwLDAnKTtcblxuICAgIC8vIEhhbmRsZSBsYXJnZSBudW1iZXJzIGJ5IHJlcGxhY2luZyB0aGUgZmlyc3QgY29tbWEgd2l0aCBhbiBhcG9zdHJvcGhlXG4gICAgaWYgKHBhcnNlSW50KHByaWNlKSA+IDk5OTk5OSkge1xuICAgICAgc3RyUHJpY2UgPVxuICAgICAgICBzdHJQcmljZS5zbGljZSgwLCBzdHJQcmljZS5pbmRleE9mKCcsJykpICtcbiAgICAgICAgXCInXCIgK1xuICAgICAgICBzdHJQcmljZS5zbGljZShzdHJQcmljZS5pbmRleE9mKCcsJykgKyAxKTtcbiAgICB9XG5cbiAgICAvLyBBZGQgZGVjaW1hbCBwYXJ0IGlmIGFwcGxpY2FibGVcbiAgICBpZiAoZGVjaW1hbCkge1xuICAgICAgY29uc3QgZGVjaW1hbFZhbHVlID0gcGFyc2VGbG9hdCgocGFyc2VGbG9hdChwcmljZSkgJSAxKS50b0ZpeGVkKDIpKTsgLy8gUHJvcGVybHkgcm91bmQgYW5kIGtlZXAgYXMgYSBudW1iZXJcbiAgICAgIGlmIChkZWNpbWFsVmFsdWUgPj0gMC4wMSkge1xuICAgICAgICBzdHJQcmljZSArPSBudW1lcmFsKGRlY2ltYWxWYWx1ZSkuZm9ybWF0KCcuMDAnKTsgLy8gQXBwZW5kIGZvcm1hdHRlZCBkZWNpbWFsIHBhcnRcbiAgICAgIH1cbiAgICB9XG5cbiAgICByZXR1cm4gc3RyUHJpY2U7XG4gIH1cbn1cbiJdfQ==
@@ -1216,13 +1216,22 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.3", ngImpor
1216
1216
 
1217
1217
  class CustomCurrencyPipe {
1218
1218
  constructor() { }
1219
- transform(price, decimal = false) {
1219
+ transform(price, decimal = true) {
1220
+ // Format the integer part of the price
1220
1221
  let strPrice = numeral(parseInt(price)).format('$0,0');
1222
+ // Handle large numbers by replacing the first comma with an apostrophe
1221
1223
  if (parseInt(price) > 999999) {
1222
1224
  strPrice =
1223
1225
  strPrice.slice(0, strPrice.indexOf(',')) +
1224
1226
  "'" +
1225
- strPrice.slice(strPrice.indexOf(',') + 1, strPrice.length);
1227
+ strPrice.slice(strPrice.indexOf(',') + 1);
1228
+ }
1229
+ // Add decimal part if applicable
1230
+ if (decimal) {
1231
+ const decimalValue = parseFloat((parseFloat(price) % 1).toFixed(2)); // Properly round and keep as a number
1232
+ if (decimalValue >= 0.01) {
1233
+ strPrice += numeral(decimalValue).format('.00'); // Append formatted decimal part
1234
+ }
1226
1235
  }
1227
1236
  return strPrice;
1228
1237
  }