@activecollab/components 1.0.395 → 1.0.397
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.
- package/dist/cjs/components/Input/InputCurrency.js +21 -0
- package/dist/cjs/components/Input/InputCurrency.js.map +1 -0
- package/dist/cjs/components/Input/InputNumber.js +169 -0
- package/dist/cjs/components/Input/InputNumber.js.map +1 -0
- package/dist/cjs/components/Input/Styles.js +1 -1
- package/dist/cjs/components/Input/Styles.js.map +1 -1
- package/dist/cjs/utils/currencyUtils.js +42 -0
- package/dist/cjs/utils/currencyUtils.js.map +1 -0
- package/dist/cjs/utils/currencyUtils.test.js +14 -0
- package/dist/cjs/utils/currencyUtils.test.js.map +1 -0
- package/dist/esm/components/Input/InputCurrency.d.ts +7 -0
- package/dist/esm/components/Input/InputCurrency.d.ts.map +1 -0
- package/dist/esm/components/Input/InputCurrency.js +11 -0
- package/dist/esm/components/Input/InputCurrency.js.map +1 -0
- package/dist/esm/components/Input/InputNumber.d.ts +13 -0
- package/dist/esm/components/Input/InputNumber.d.ts.map +1 -0
- package/dist/esm/components/Input/InputNumber.js +150 -0
- package/dist/esm/components/Input/InputNumber.js.map +1 -0
- package/dist/esm/components/Input/Styles.d.ts.map +1 -1
- package/dist/esm/components/Input/Styles.js +1 -1
- package/dist/esm/components/Input/Styles.js.map +1 -1
- package/dist/esm/utils/currencyUtils.d.ts +4 -0
- package/dist/esm/utils/currencyUtils.d.ts.map +1 -0
- package/dist/esm/utils/currencyUtils.js +38 -0
- package/dist/esm/utils/currencyUtils.js.map +1 -0
- package/dist/esm/utils/currencyUtils.test.d.ts +2 -0
- package/dist/esm/utils/currencyUtils.test.d.ts.map +1 -0
- package/dist/esm/utils/currencyUtils.test.js +12 -0
- package/dist/esm/utils/currencyUtils.test.js.map +1 -0
- package/dist/index.js +1 -1
- package/dist/index.js.map +1 -1
- package/dist/index.min.js +1 -1
- package/dist/index.min.js.map +1 -1
- package/package.json +1 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"currencyUtils.d.ts","sourceRoot":"","sources":["../../../src/utils/currencyUtils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,iCAAiC,CAAC;AAE7D,eAAO,MAAM,cAAc,MAAO,MAAM,mDA8BvC,CAAC;AAGF,eAAO,MAAM,mBAAmB,MAC3B,MAAM,GAAG,MAAM,qBACC,UAAU,sCAW9B,CAAC"}
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
export var formatCurrency = function formatCurrency(n, thousandSeparator) {
|
|
2
|
+
if (thousandSeparator === void 0) {
|
|
3
|
+
thousandSeparator = ",";
|
|
4
|
+
}
|
|
5
|
+
var number = parseFloat(String(n).replaceAll(thousandSeparator, ""));
|
|
6
|
+
if (isNaN(number)) {
|
|
7
|
+
return "";
|
|
8
|
+
}
|
|
9
|
+
if (number < 1000) {
|
|
10
|
+
return n;
|
|
11
|
+
} else if (number >= 1000 && number < 1000000) {
|
|
12
|
+
var formattedNum = (number / 1000).toFixed(1);
|
|
13
|
+
return formattedNum.endsWith(".0") ? (number / 1000).toFixed(0) + "K" : formattedNum + "K";
|
|
14
|
+
} else if (number >= 1000000 && number < 1000000000) {
|
|
15
|
+
var _formattedNum = (number / 1000000).toFixed(1);
|
|
16
|
+
return _formattedNum.endsWith(".0") ? (number / 1000000).toFixed(0) + "M" : _formattedNum + "M";
|
|
17
|
+
} else if (number >= 1000000000 && number < 1000000000000) {
|
|
18
|
+
var _formattedNum2 = (number / 1000000000).toFixed(1);
|
|
19
|
+
return _formattedNum2.endsWith(".0") ? (number / 1000000000).toFixed(0) + "B" : _formattedNum2 + "B";
|
|
20
|
+
} else if (number >= 1000000000000 && number < 1000000000000000) {
|
|
21
|
+
var _formattedNum3 = (number / 1000000000000).toFixed(1);
|
|
22
|
+
return _formattedNum3.endsWith(".0") ? (number / 1000000000000).toFixed(0) + "T" : _formattedNum3 + "T";
|
|
23
|
+
}
|
|
24
|
+
};
|
|
25
|
+
|
|
26
|
+
// @TODO: Test
|
|
27
|
+
export var numberWithSeparator = function numberWithSeparator(x, thousandSeparator, format) {
|
|
28
|
+
if (format === void 0) {
|
|
29
|
+
format = true;
|
|
30
|
+
}
|
|
31
|
+
if (!format) {
|
|
32
|
+
return x;
|
|
33
|
+
}
|
|
34
|
+
var parts = x.toString().split(".");
|
|
35
|
+
parts[0] = parts[0].replace(/\B(?=(\d{3})+(?!\d))/g, thousandSeparator);
|
|
36
|
+
return parts.join(".");
|
|
37
|
+
};
|
|
38
|
+
//# sourceMappingURL=currencyUtils.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"currencyUtils.js","names":["formatCurrency","n","thousandSeparator","number","parseFloat","String","replaceAll","isNaN","formattedNum","toFixed","endsWith","numberWithSeparator","x","format","parts","toString","split","replace","join"],"sources":["../../../src/utils/currencyUtils.ts"],"sourcesContent":["import { Separators } from \"../components/Input/InputNumber\";\n\nexport const formatCurrency = (n: string, thousandSeparator = \",\") => {\n const number = parseFloat(String(n).replaceAll(thousandSeparator, \"\"));\n\n if (isNaN(number)) {\n return \"\";\n }\n\n if (number < 1000) {\n return n;\n } else if (number >= 1000 && number < 1_000_000) {\n const formattedNum = (number / 1000).toFixed(1);\n return formattedNum.endsWith(\".0\")\n ? (number / 1000).toFixed(0) + \"K\"\n : formattedNum + \"K\";\n } else if (number >= 1_000_000 && number < 1_000_000_000) {\n const formattedNum = (number / 1_000_000).toFixed(1);\n return formattedNum.endsWith(\".0\")\n ? (number / 1_000_000).toFixed(0) + \"M\"\n : formattedNum + \"M\";\n } else if (number >= 1_000_000_000 && number < 1_000_000_000_000) {\n const formattedNum = (number / 1_000_000_000).toFixed(1);\n return formattedNum.endsWith(\".0\")\n ? (number / 1_000_000_000).toFixed(0) + \"B\"\n : formattedNum + \"B\";\n } else if (number >= 1_000_000_000_000 && number < 1_000_000_000_000_000) {\n const formattedNum = (number / 1_000_000_000_000).toFixed(1);\n return formattedNum.endsWith(\".0\")\n ? (number / 1_000_000_000_000).toFixed(0) + \"T\"\n : formattedNum + \"T\";\n }\n};\n\n// @TODO: Test\nexport const numberWithSeparator = (\n x: number | string,\n thousandSeparator: Separators,\n format = true\n) => {\n if (!format) {\n return x;\n }\n\n const parts = x.toString().split(\".\");\n parts[0] = parts[0].replace(/\\B(?=(\\d{3})+(?!\\d))/g, thousandSeparator);\n\n return parts.join(\".\");\n};\n"],"mappings":"AAEA,OAAO,IAAMA,cAAc,GAAG,SAAjBA,cAAc,CAAIC,CAAS,EAAEC,iBAAiB,EAAW;EAAA,IAA5BA,iBAAiB;IAAjBA,iBAAiB,GAAG,GAAG;EAAA;EAC/D,IAAMC,MAAM,GAAGC,UAAU,CAACC,MAAM,CAACJ,CAAC,CAAC,CAACK,UAAU,CAACJ,iBAAiB,EAAE,EAAE,CAAC,CAAC;EAEtE,IAAIK,KAAK,CAACJ,MAAM,CAAC,EAAE;IACjB,OAAO,EAAE;EACX;EAEA,IAAIA,MAAM,GAAG,IAAI,EAAE;IACjB,OAAOF,CAAC;EACV,CAAC,MAAM,IAAIE,MAAM,IAAI,IAAI,IAAIA,MAAM,GAAG,OAAS,EAAE;IAC/C,IAAMK,YAAY,GAAG,CAACL,MAAM,GAAG,IAAI,EAAEM,OAAO,CAAC,CAAC,CAAC;IAC/C,OAAOD,YAAY,CAACE,QAAQ,CAAC,IAAI,CAAC,GAC9B,CAACP,MAAM,GAAG,IAAI,EAAEM,OAAO,CAAC,CAAC,CAAC,GAAG,GAAG,GAChCD,YAAY,GAAG,GAAG;EACxB,CAAC,MAAM,IAAIL,MAAM,IAAI,OAAS,IAAIA,MAAM,GAAG,UAAa,EAAE;IACxD,IAAMK,aAAY,GAAG,CAACL,MAAM,GAAG,OAAS,EAAEM,OAAO,CAAC,CAAC,CAAC;IACpD,OAAOD,aAAY,CAACE,QAAQ,CAAC,IAAI,CAAC,GAC9B,CAACP,MAAM,GAAG,OAAS,EAAEM,OAAO,CAAC,CAAC,CAAC,GAAG,GAAG,GACrCD,aAAY,GAAG,GAAG;EACxB,CAAC,MAAM,IAAIL,MAAM,IAAI,UAAa,IAAIA,MAAM,GAAG,aAAiB,EAAE;IAChE,IAAMK,cAAY,GAAG,CAACL,MAAM,GAAG,UAAa,EAAEM,OAAO,CAAC,CAAC,CAAC;IACxD,OAAOD,cAAY,CAACE,QAAQ,CAAC,IAAI,CAAC,GAC9B,CAACP,MAAM,GAAG,UAAa,EAAEM,OAAO,CAAC,CAAC,CAAC,GAAG,GAAG,GACzCD,cAAY,GAAG,GAAG;EACxB,CAAC,MAAM,IAAIL,MAAM,IAAI,aAAiB,IAAIA,MAAM,GAAG,gBAAqB,EAAE;IACxE,IAAMK,cAAY,GAAG,CAACL,MAAM,GAAG,aAAiB,EAAEM,OAAO,CAAC,CAAC,CAAC;IAC5D,OAAOD,cAAY,CAACE,QAAQ,CAAC,IAAI,CAAC,GAC9B,CAACP,MAAM,GAAG,aAAiB,EAAEM,OAAO,CAAC,CAAC,CAAC,GAAG,GAAG,GAC7CD,cAAY,GAAG,GAAG;EACxB;AACF,CAAC;;AAED;AACA,OAAO,IAAMG,mBAAmB,GAAG,SAAtBA,mBAAmB,CAC9BC,CAAkB,EAClBV,iBAA6B,EAC7BW,MAAM,EACH;EAAA,IADHA,MAAM;IAANA,MAAM,GAAG,IAAI;EAAA;EAEb,IAAI,CAACA,MAAM,EAAE;IACX,OAAOD,CAAC;EACV;EAEA,IAAME,KAAK,GAAGF,CAAC,CAACG,QAAQ,EAAE,CAACC,KAAK,CAAC,GAAG,CAAC;EACrCF,KAAK,CAAC,CAAC,CAAC,GAAGA,KAAK,CAAC,CAAC,CAAC,CAACG,OAAO,CAAC,uBAAuB,EAAEf,iBAAiB,CAAC;EAEvE,OAAOY,KAAK,CAACI,IAAI,CAAC,GAAG,CAAC;AACxB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"currencyUtils.test.d.ts","sourceRoot":"","sources":["../../../src/utils/currencyUtils.test.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { formatCurrency } from "./currencyUtils";
|
|
2
|
+
describe("format currency with thousandseparator set to ',' and decimalSeparator to '.'", function () {
|
|
3
|
+
it.each([["", ""], ["10", "10"], ["1000", "1K"], ["1000.00", "1K"], ["1200.50", "1.2K"], ["1,200.00", "1.2K"], ["2,240.00", "2.2K"], ["22,240.00", "22.2K"], ["50,000,000.00", "50M"]])("should format currency", function (value, expected) {
|
|
4
|
+
expect(formatCurrency(value, ",")).toEqual(expected);
|
|
5
|
+
});
|
|
6
|
+
});
|
|
7
|
+
describe("format currency with thousandseparator set to '.' and decimalSeparator to ','", function () {
|
|
8
|
+
it.each([["", ""], ["10", "10"], ["1000", "1K"], ["1000,00", "1K"], ["1200,50", "1.2K"], ["1.200,00", "1.2K"], ["2.240,00", "2.2K"], ["22.240,00", "22.2K"], ["50.000.000,00", "50M"]])("should format currency", function (value, expected) {
|
|
9
|
+
expect(formatCurrency(value, ".")).toEqual(expected);
|
|
10
|
+
});
|
|
11
|
+
});
|
|
12
|
+
//# sourceMappingURL=currencyUtils.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"currencyUtils.test.js","names":["formatCurrency","describe","it","each","value","expected","expect","toEqual"],"sources":["../../../src/utils/currencyUtils.test.ts"],"sourcesContent":["import { formatCurrency } from \"./currencyUtils\";\n\ndescribe(\"format currency with thousandseparator set to ',' and decimalSeparator to '.'\", () => {\n it.each([\n [\"\", \"\"],\n [\"10\", \"10\"],\n [\"1000\", \"1K\"],\n [\"1000.00\", \"1K\"],\n [\"1200.50\", \"1.2K\"],\n [\"1,200.00\", \"1.2K\"],\n [\"2,240.00\", \"2.2K\"],\n [\"22,240.00\", \"22.2K\"],\n [\"50,000,000.00\", \"50M\"],\n ])(\"should format currency\", (value, expected) => {\n expect(formatCurrency(value, \",\")).toEqual(expected);\n });\n});\n\ndescribe(\"format currency with thousandseparator set to '.' and decimalSeparator to ','\", () => {\n it.each([\n [\"\", \"\"],\n [\"10\", \"10\"],\n [\"1000\", \"1K\"],\n [\"1000,00\", \"1K\"],\n [\"1200,50\", \"1.2K\"],\n [\"1.200,00\", \"1.2K\"],\n [\"2.240,00\", \"2.2K\"],\n [\"22.240,00\", \"22.2K\"],\n [\"50.000.000,00\", \"50M\"],\n ])(\"should format currency\", (value, expected) => {\n expect(formatCurrency(value, \".\")).toEqual(expected);\n });\n});\n"],"mappings":"AAAA,SAASA,cAAc,QAAQ,iBAAiB;AAEhDC,QAAQ,CAAC,+EAA+E,EAAE,YAAM;EAC9FC,EAAE,CAACC,IAAI,CAAC,CACN,CAAC,EAAE,EAAE,EAAE,CAAC,EACR,CAAC,IAAI,EAAE,IAAI,CAAC,EACZ,CAAC,MAAM,EAAE,IAAI,CAAC,EACd,CAAC,SAAS,EAAE,IAAI,CAAC,EACjB,CAAC,SAAS,EAAE,MAAM,CAAC,EACnB,CAAC,UAAU,EAAE,MAAM,CAAC,EACpB,CAAC,UAAU,EAAE,MAAM,CAAC,EACpB,CAAC,WAAW,EAAE,OAAO,CAAC,EACtB,CAAC,eAAe,EAAE,KAAK,CAAC,CACzB,CAAC,CAAC,wBAAwB,EAAE,UAACC,KAAK,EAAEC,QAAQ,EAAK;IAChDC,MAAM,CAACN,cAAc,CAACI,KAAK,EAAE,GAAG,CAAC,CAAC,CAACG,OAAO,CAACF,QAAQ,CAAC;EACtD,CAAC,CAAC;AACJ,CAAC,CAAC;AAEFJ,QAAQ,CAAC,+EAA+E,EAAE,YAAM;EAC9FC,EAAE,CAACC,IAAI,CAAC,CACN,CAAC,EAAE,EAAE,EAAE,CAAC,EACR,CAAC,IAAI,EAAE,IAAI,CAAC,EACZ,CAAC,MAAM,EAAE,IAAI,CAAC,EACd,CAAC,SAAS,EAAE,IAAI,CAAC,EACjB,CAAC,SAAS,EAAE,MAAM,CAAC,EACnB,CAAC,UAAU,EAAE,MAAM,CAAC,EACpB,CAAC,UAAU,EAAE,MAAM,CAAC,EACpB,CAAC,WAAW,EAAE,OAAO,CAAC,EACtB,CAAC,eAAe,EAAE,KAAK,CAAC,CACzB,CAAC,CAAC,wBAAwB,EAAE,UAACC,KAAK,EAAEC,QAAQ,EAAK;IAChDC,MAAM,CAACN,cAAc,CAACI,KAAK,EAAE,GAAG,CAAC,CAAC,CAACG,OAAO,CAACF,QAAQ,CAAC;EACtD,CAAC,CAAC;AACJ,CAAC,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -11494,7 +11494,7 @@
|
|
|
11494
11494
|
})(["background-color:var(--input-background-color);border:none;color:var(--color-theme-900);font-size:0.875rem;font-weight:400;letter-spacing:0.02em;margin-block:0;margin-inline:4px;outline:none;padding:0;width:100%;&::placeholder{color:var(--color-theme-transparent-500);}", " ", " ", " ", " ", ""], function (props) {
|
|
11495
11495
|
return props.$size === "big" && styled.css(["font-size:1rem;"]);
|
|
11496
11496
|
}, function (props) {
|
|
11497
|
-
return props.$size === "biggest" && styled.css(["font-size:1.25rem;font-weight:
|
|
11497
|
+
return props.$size === "biggest" && styled.css(["font-size:1.25rem;font-weight:700;"]);
|
|
11498
11498
|
}, function (props) {
|
|
11499
11499
|
return props.disabled && styled.css(["cursor:default;"]);
|
|
11500
11500
|
}, function (props) {
|