@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 =
|
|
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
|
|
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,
|
|
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 =
|
|
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
|
|
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
|
}
|