@activecollab/components 2.0.196 → 2.0.198
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/Display/DisplayHours.js +9 -8
- package/dist/cjs/components/Display/DisplayHours.js.map +1 -1
- package/dist/cjs/components/Display/types.js.map +1 -1
- package/dist/cjs/components/Input/InputNumber.js +5 -2
- package/dist/cjs/components/Input/InputNumber.js.map +1 -1
- package/dist/cjs/hooks/useInputNumber.js +8 -7
- package/dist/cjs/hooks/useInputNumber.js.map +1 -1
- package/dist/cjs/utils/currencyUtils.js +20 -1
- package/dist/cjs/utils/currencyUtils.js.map +1 -1
- package/dist/cjs/utils/currencyUtils.test.js +5 -0
- package/dist/cjs/utils/currencyUtils.test.js.map +1 -1
- package/dist/cjs/utils/timeUtils.js +28 -9
- package/dist/cjs/utils/timeUtils.js.map +1 -1
- package/dist/cjs/utils/timeUtils.test.js +3 -2
- package/dist/cjs/utils/timeUtils.test.js.map +1 -1
- package/dist/cjs/utils/types.js.map +1 -1
- package/dist/esm/components/Display/DisplayHours.d.ts.map +1 -1
- package/dist/esm/components/Display/DisplayHours.js +9 -8
- package/dist/esm/components/Display/DisplayHours.js.map +1 -1
- package/dist/esm/components/Display/types.d.ts +3 -2
- package/dist/esm/components/Display/types.d.ts.map +1 -1
- package/dist/esm/components/Display/types.js.map +1 -1
- package/dist/esm/components/Input/InputNumber.d.ts.map +1 -1
- package/dist/esm/components/Input/InputNumber.js +3 -1
- package/dist/esm/components/Input/InputNumber.js.map +1 -1
- package/dist/esm/hooks/useInputNumber.d.ts +2 -1
- package/dist/esm/hooks/useInputNumber.d.ts.map +1 -1
- package/dist/esm/hooks/useInputNumber.js +5 -4
- package/dist/esm/hooks/useInputNumber.js.map +1 -1
- package/dist/esm/utils/currencyUtils.d.ts +1 -0
- package/dist/esm/utils/currencyUtils.d.ts.map +1 -1
- package/dist/esm/utils/currencyUtils.js +10 -0
- package/dist/esm/utils/currencyUtils.js.map +1 -1
- package/dist/esm/utils/currencyUtils.test.js +6 -1
- package/dist/esm/utils/currencyUtils.test.js.map +1 -1
- package/dist/esm/utils/timeUtils.d.ts +11 -7
- package/dist/esm/utils/timeUtils.d.ts.map +1 -1
- package/dist/esm/utils/timeUtils.js +31 -10
- package/dist/esm/utils/timeUtils.js.map +1 -1
- package/dist/esm/utils/timeUtils.test.js +5 -2
- package/dist/esm/utils/timeUtils.test.js.map +1 -1
- package/dist/esm/utils/types.d.ts +2 -1
- package/dist/esm/utils/types.d.ts.map +1 -1
- package/dist/esm/utils/types.js.map +1 -1
- package/dist/index.js +61 -26
- 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
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"currencyUtils.test.js","names":["_currencyUtils","require","describe","it","each","value","thousandSeparator","decimalSeparator","trimDecimals","decimalSpaces","format","params","expected","expect","formatNumber","toEqual","number","fixedDecimalSpaces","toBe","result","numberWithSeparator","toFixed","getNumberFromString","currencyCode","currencyCodePosition","args","formatCurrency"],"sources":["../../../src/utils/currencyUtils.test.ts"],"sourcesContent":["import {\n formatNumber,\n getNumberFromString,\n numberWithSeparator,\n fixedDecimalSpaces,\n formatCurrency,\n} from \"./currencyUtils\";\nimport { FormatCurrencyArgs, FormatNumberArgs } from \"./types\";\n\ndescribe(\"format currency with thousandseparator set to ',' and decimalSeparator to '.'\", () => {\n // please try to leave unformatted - ignore works for this block only\n // prettier-ignore\n it.each<[FormatNumberArgs, string]>([\n [{ value: \"\" }, \"\"],\n [{ value: \"10\" }, \"10\"],\n [{ value: \"1000\" }, \"1,000\"],\n [{ value: \"1000.00\" }, \"1,000\"],\n [{ value: \"1200.50\" }, \"1,200.5\"],\n [{ value: \"1,200.00\" }, \"1,200\"],\n [{ value: \"2,240.00\" }, \"2,240\"],\n [{ value: \"22,240.00\" }, \"22,240\"],\n [{ value: \"50,000,000.00\" }, \"50,000,000\"],\n [{ value: \"-50,000.00\" }, \"-50,000\"],\n [{ value: \"-1,200\" }, \"-1,200\"],\n [{ value: \"-90,000,000.00\" }, \"-90,000,000\"],\n [{ value: \"900.25\" }, \"900.25\"],\n [{ value: 900.25, thousandSeparator: \".\", decimalSeparator: \",\" }, \"900,25\"],\n [{ value: \"900,25\", thousandSeparator: \".\", decimalSeparator: \",\" }, \"900,25\"],\n [{ value: 900.255556, thousandSeparator: \".\", decimalSeparator: \",\" }, \"900,25\"],\n [{ value: \"900,255556\", thousandSeparator: \".\", decimalSeparator: \",\" }, \"900,25\"],\n [{ value: 900.255556, thousandSeparator: \".\", decimalSeparator: \",\", trimDecimals: false, decimalSpaces: 6 }, \"900,255556\"],\n [{ value: \"900,255556\", thousandSeparator: \".\", decimalSeparator: \",\", trimDecimals: false }, \"900,25\"],\n [{ value: 900.25, thousandSeparator: \".\", decimalSeparator: \",\", trimDecimals: false, decimalSpaces: 3 }, \"900,250\"],\n [{ value: 900.25, thousandSeparator: \".\", decimalSeparator: \",\", trimDecimals: false, decimalSpaces: 3, format: \"long\" }, \"900,250\" ],\n [{ value: 1150.6666667, thousandSeparator: \",\", decimalSeparator: \".\", trimDecimals: true, decimalSpaces: 2, format: \"long\" }, \"1,150.66\" ],\n [{ value: \"1150.6666667\", thousandSeparator: \",\", decimalSeparator: \".\", trimDecimals: true, decimalSpaces: 2, format: \"long\" }, \"1,150.66\" ],\n [{ value: 1150.6666667, thousandSeparator: \",\", decimalSeparator: \".\", trimDecimals: true, decimalSpaces: 2, format: \"short\" }, \"1.2K\" ],\n [{ value: \"1150.6666667\", thousandSeparator: \",\", decimalSeparator: \".\", trimDecimals: true, decimalSpaces: 2, format: \"short\" }, \"1.2K\" ],\n [{ value: 1150.0, thousandSeparator: \",\", decimalSeparator: \".\", trimDecimals: true, decimalSpaces: 2, format: \"short\" }, \"1.1K\" ],\n [{ value: \"1150.00000\", thousandSeparator: \",\", decimalSeparator: \".\", trimDecimals: true, decimalSpaces: 2, format: \"short\" }, \"1.1K\" ],\n [{ value: 1150.6, thousandSeparator: \",\", decimalSeparator: \".\", trimDecimals: true, decimalSpaces: 2, format: \"long\" }, \"1,150.6\" ],\n [{ value: \"1150.60\", thousandSeparator: \",\", decimalSeparator: \".\", trimDecimals: true, decimalSpaces: 2, format: \"long\" }, \"1,150.6\"],\n [{ value: 1150.0, thousandSeparator: \",\", decimalSeparator: \".\", trimDecimals: true, decimalSpaces: 2, format: \"long\" }, \"1,150\" ],\n [{ value: \"1150.00\", thousandSeparator: \",\", decimalSeparator: \".\", trimDecimals: true, decimalSpaces: 2, format: \"long\" }, \"1,150\"],\n [{ value: 110.155557, thousandSeparator: \",\", decimalSeparator: \".\", trimDecimals: true, decimalSpaces: 2, format: \"long\" }, \"110.15\" ],\n [{ value: \"110.155557\", thousandSeparator: \",\", decimalSeparator: \".\", trimDecimals: true, decimalSpaces: 2, format: \"long\" }, \"110.15\" ],\n [{ value: 110.155557, thousandSeparator: \",\", decimalSeparator: \".\", trimDecimals: true, decimalSpaces: 2, format: \"short\" }, \"110.15\" ],\n [{ value: \"110.155557\", thousandSeparator: \",\", decimalSeparator: \".\", trimDecimals: true, decimalSpaces: 2, format: \"short\" }, \"110.15\" ],\n [{ value: 1501000.155557, thousandSeparator: \",\", decimalSeparator: \".\", trimDecimals: true, decimalSpaces: 2, format: \"long\" }, \"1,501,000.15\" ],\n [{ value: \"1501000.155557\", thousandSeparator: \",\", decimalSeparator: \".\", trimDecimals: true, decimalSpaces: 2, format: \"long\" }, \"1,501,000.15\" ],\n [{ value: 1501000.155557, thousandSeparator: \",\", decimalSeparator: \".\", trimDecimals: true, decimalSpaces: 2, format: \"short\" }, \"1.5M\"],\n [{ value: \"1501000.155557\", thousandSeparator: \",\", decimalSeparator: \".\", trimDecimals: true, decimalSpaces: 2, format: \"short\" }, \"1.5M\" ],\n [{ value: \"1501000.155557\", thousandSeparator: \".\", decimalSeparator: \",\", trimDecimals: true, decimalSpaces: 2, format: \"short\" }, \"1,5M\" ],\n [{ value: \"1579.50\", thousandSeparator: \".\", decimalSeparator: \",\", trimDecimals: true, decimalSpaces: 2, format: \"short\" }, \"1,6K\" ],\n [{ value: \"1579,50\", thousandSeparator: \".\", decimalSeparator: \",\", trimDecimals: true, decimalSpaces: 2, format: \"short\" }, \"1,6K\" ],\n [{ value: \"1579.50\", thousandSeparator: \".\", decimalSeparator: \",\", trimDecimals: false, decimalSpaces: 2, format: \"long\" }, \"1.579,50\" ],\n ])(\"should format currency advanced\", (params, expected) => {\n const {\n value,\n thousandSeparator,\n decimalSeparator,\n trimDecimals,\n decimalSpaces,\n format,\n } = params;\n\n expect(\n formatNumber(\n value,\n thousandSeparator,\n decimalSeparator,\n trimDecimals,\n decimalSpaces,\n format\n )\n ).toEqual(expected);\n });\n\n //fixedDecimalSpaces\n it.each<[{ number: number; decimalSpaces: number }, number]>([\n [{ number: 123.456789, decimalSpaces: 3 }, 123.456],\n [{ number: 123.3, decimalSpaces: 2 }, 123.3],\n [{ number: 123.3, decimalSpaces: 0 }, 123],\n ])(\"should handle fixedDecimalSpaces\", (params, expected) => {\n expect(fixedDecimalSpaces(params.number, params.decimalSpaces)).toBe(\n expected\n );\n });\n\n //numberWithSeparator\n it(\"should format number with thousand separator\", () => {\n const result = numberWithSeparator((1000.0).toFixed(3), \",\", \".\");\n expect(result).toBe(\"1,000.000\");\n });\n\n it(\"should format string number with thousand separator\", () => {\n const result = numberWithSeparator(\"1000\", \",\");\n expect(result).toBe(\"1,000\");\n });\n\n it(\"should format decimal number with thousand separator and keep decimal part\", () => {\n const result = numberWithSeparator(12345.67, \",\");\n expect(result).toBe(\"12,345.67\");\n });\n\n it(\"should not format when format is set to false\", () => {\n const result = numberWithSeparator(1000, \",\", \".\", false);\n expect(result).toBe(1000);\n });\n\n it(\"should handle zero with thousand separator\", () => {\n const result = numberWithSeparator(0, \",\");\n expect(result).toBe(\"0\");\n });\n\n it(\"should handle negative number with thousand separator\", () => {\n const result = numberWithSeparator(-123456789, \",\");\n expect(result).toBe(\"-123,456,789\");\n });\n\n it(\"should not format\", () => {\n const result = numberWithSeparator(123456789, \",\", \".\", false);\n expect(result).toBe(123456789);\n });\n\n //getNumberFromString\n it.each([\n [\n {\n number: \"1.000.000,256\",\n thousandSeparator: \".\",\n decimalSeparator: \",\",\n },\n 1000000.256,\n ],\n [\n { number: 1000000.256, thousandSeparator: \".\", decimalSeparator: \",\" },\n 1000000.256,\n ],\n [\n {\n number: \"1,000,000.256\",\n thousandSeparator: \",\",\n decimalSeparator: \".\",\n },\n 1000000.256,\n ],\n [{ number: \",256\", thousandSeparator: \".\", decimalSeparator: \",\" }, 0.256],\n [{ number: \"1562\", thousandSeparator: \".\", decimalSeparator: \",\" }, 1562],\n [{ number: \"1,2,3.4\", thousandSeparator: \".\", decimalSeparator: \",\" }, 0],\n [{ number: \"1562\", thousandSeparator: \",\", decimalSeparator: \".\" }, 1562],\n [\n { number: \"-1.562,25\", thousandSeparator: \".\", decimalSeparator: \",\" },\n -1562.25,\n ],\n [\n { number: \"-1 562.25\", thousandSeparator: \" \", decimalSeparator: \".\" },\n -1562.25,\n ],\n [\n { number: \"1562.50\", thousandSeparator: \".\", decimalSeparator: \",\" },\n 1562.5,\n ],\n [{ number: \"1562.\", thousandSeparator: \".\", decimalSeparator: \",\" }, 1562],\n ])(\"should handle getNumberFromString\", (params, expected) => {\n const { number, thousandSeparator, decimalSeparator } = params;\n\n expect(\n getNumberFromString(number, thousandSeparator, decimalSeparator)\n ).toBe(expected);\n });\n\n // please try to leave unformatted - ignore works for this block only\n // prettier-ignore\n it.each<[FormatCurrencyArgs, string]>([\n [\n { value: \"\", thousandSeparator: \",\", decimalSeparator: \".\", trimDecimals: false, decimalSpaces: 2, format: \"long\", currencyCode: \"\", currencyCodePosition: \"right\" },\n \"\",\n ],\n [\n { value: \"10\", thousandSeparator: \",\", decimalSeparator: \".\", trimDecimals: false, decimalSpaces: 2, format: \"long\", currencyCode: \"\", currencyCodePosition: \"right\" },\n \"10.00\",\n ],\n [\n { value: \"1000\", thousandSeparator: \",\", decimalSeparator: \".\", trimDecimals: false, decimalSpaces: 2, format: \"long\", currencyCode: \"USD\", currencyCodePosition: \"right\" },\n \"1,000.00 USD\",\n ],\n [\n { value: \"1000.00\", thousandSeparator: \",\", decimalSeparator: \".\", trimDecimals: true, decimalSpaces: 2, format: \"long\", currencyCode: \"USD\", currencyCodePosition: \"left\" },\n \"USD 1,000\",\n ],\n [\n { value: \"1200,50\", thousandSeparator: \".\", decimalSeparator: \",\", trimDecimals: false, decimalSpaces: 2, format: \"long\", currencyCode: \"EUR\", currencyCodePosition: \"right\" },\n \"1.200,50 EUR\",\n ],\n [\n { value: \"1200,50\", thousandSeparator: \".\", decimalSeparator: \",\", trimDecimals: false, decimalSpaces: 2, format: \"long\", currencyCode: \"\", currencyCodePosition: \"right\" },\n \"1.200,50\",\n ],\n [\n { value: \"900,25\", thousandSeparator: \".\", decimalSeparator: \",\", trimDecimals: false, decimalSpaces: 2, format: \"long\", currencyCode: \"GBP\", currencyCodePosition: \"left\" },\n \"GBP 900,25\",\n ],\n [\n { value: 900.25, thousandSeparator: \".\", decimalSeparator: \",\", trimDecimals: false, decimalSpaces: 2, format: \"long\", currencyCode: \"GBP\", currencyCodePosition: \"left\" },\n \"GBP 900,25\",\n ],\n [\n { value: 1150.6666667, thousandSeparator: \",\", decimalSeparator: \".\", trimDecimals: true, decimalSpaces: 2, format: \"short\", currencyCode: \"JPY\", currencyCodePosition: \"right\" },\n \"1.2K JPY\",\n ],\n [\n { value: 1501000.155557, thousandSeparator: \",\", decimalSeparator: \".\", trimDecimals: true, decimalSpaces: 2, format: \"short\", currencyCode: \"USD\", currencyCodePosition: \"left\" },\n \"USD 1.5M\",\n ],\n ])(\"should format currency correctly\", (args, expected) => {\n expect(\n formatCurrency(\n args.value,\n args.thousandSeparator,\n args.decimalSeparator,\n args.trimDecimals,\n args.decimalSpaces,\n args.format,\n args.currencyCode,\n args.currencyCodePosition\n )\n ).toEqual(expected);\n });\n});\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"currencyUtils.test.js","names":["_currencyUtils","require","describe","it","each","value","thousandSeparator","decimalSeparator","trimDecimals","decimalSpaces","format","params","expected","expect","formatNumber","toEqual","number","fixedDecimalSpaces","toBe","result","numberWithSeparator","toFixed","getNumberFromString","currencyCode","currencyCodePosition","args","formatCurrency","parseValueToNumber","toBeCloseTo"],"sources":["../../../src/utils/currencyUtils.test.ts"],"sourcesContent":["import {\n formatNumber,\n getNumberFromString,\n numberWithSeparator,\n fixedDecimalSpaces,\n formatCurrency,\n parseValueToNumber,\n} from \"./currencyUtils\";\nimport { FormatCurrencyArgs, FormatNumberArgs } from \"./types\";\n\ndescribe(\"format currency with thousandseparator set to ',' and decimalSeparator to '.'\", () => {\n // please try to leave unformatted - ignore works for this block only\n // prettier-ignore\n it.each<[FormatNumberArgs, string]>([\n [{ value: \"\" }, \"\"],\n [{ value: \"10\" }, \"10\"],\n [{ value: \"1000\" }, \"1,000\"],\n [{ value: \"1000.00\" }, \"1,000\"],\n [{ value: \"1200.50\" }, \"1,200.5\"],\n [{ value: \"1,200.00\" }, \"1,200\"],\n [{ value: \"2,240.00\" }, \"2,240\"],\n [{ value: \"22,240.00\" }, \"22,240\"],\n [{ value: \"50,000,000.00\" }, \"50,000,000\"],\n [{ value: \"-50,000.00\" }, \"-50,000\"],\n [{ value: \"-1,200\" }, \"-1,200\"],\n [{ value: \"-90,000,000.00\" }, \"-90,000,000\"],\n [{ value: \"900.25\" }, \"900.25\"],\n [{ value: 900.25, thousandSeparator: \".\", decimalSeparator: \",\" }, \"900,25\"],\n [{ value: \"900,25\", thousandSeparator: \".\", decimalSeparator: \",\" }, \"900,25\"],\n [{ value: 900.255556, thousandSeparator: \".\", decimalSeparator: \",\" }, \"900,25\"],\n [{ value: \"900,255556\", thousandSeparator: \".\", decimalSeparator: \",\" }, \"900,25\"],\n [{ value: 900.255556, thousandSeparator: \".\", decimalSeparator: \",\", trimDecimals: false, decimalSpaces: 6 }, \"900,255556\"],\n [{ value: \"900,255556\", thousandSeparator: \".\", decimalSeparator: \",\", trimDecimals: false }, \"900,25\"],\n [{ value: 900.25, thousandSeparator: \".\", decimalSeparator: \",\", trimDecimals: false, decimalSpaces: 3 }, \"900,250\"],\n [{ value: 900.25, thousandSeparator: \".\", decimalSeparator: \",\", trimDecimals: false, decimalSpaces: 3, format: \"long\" }, \"900,250\" ],\n [{ value: 1150.6666667, thousandSeparator: \",\", decimalSeparator: \".\", trimDecimals: true, decimalSpaces: 2, format: \"long\" }, \"1,150.66\" ],\n [{ value: \"1150.6666667\", thousandSeparator: \",\", decimalSeparator: \".\", trimDecimals: true, decimalSpaces: 2, format: \"long\" }, \"1,150.66\" ],\n [{ value: 1150.6666667, thousandSeparator: \",\", decimalSeparator: \".\", trimDecimals: true, decimalSpaces: 2, format: \"short\" }, \"1.2K\" ],\n [{ value: \"1150.6666667\", thousandSeparator: \",\", decimalSeparator: \".\", trimDecimals: true, decimalSpaces: 2, format: \"short\" }, \"1.2K\" ],\n [{ value: 1150.0, thousandSeparator: \",\", decimalSeparator: \".\", trimDecimals: true, decimalSpaces: 2, format: \"short\" }, \"1.1K\" ],\n [{ value: \"1150.00000\", thousandSeparator: \",\", decimalSeparator: \".\", trimDecimals: true, decimalSpaces: 2, format: \"short\" }, \"1.1K\" ],\n [{ value: 1150.6, thousandSeparator: \",\", decimalSeparator: \".\", trimDecimals: true, decimalSpaces: 2, format: \"long\" }, \"1,150.6\" ],\n [{ value: \"1150.60\", thousandSeparator: \",\", decimalSeparator: \".\", trimDecimals: true, decimalSpaces: 2, format: \"long\" }, \"1,150.6\"],\n [{ value: 1150.0, thousandSeparator: \",\", decimalSeparator: \".\", trimDecimals: true, decimalSpaces: 2, format: \"long\" }, \"1,150\" ],\n [{ value: \"1150.00\", thousandSeparator: \",\", decimalSeparator: \".\", trimDecimals: true, decimalSpaces: 2, format: \"long\" }, \"1,150\"],\n [{ value: 110.155557, thousandSeparator: \",\", decimalSeparator: \".\", trimDecimals: true, decimalSpaces: 2, format: \"long\" }, \"110.15\" ],\n [{ value: \"110.155557\", thousandSeparator: \",\", decimalSeparator: \".\", trimDecimals: true, decimalSpaces: 2, format: \"long\" }, \"110.15\" ],\n [{ value: 110.155557, thousandSeparator: \",\", decimalSeparator: \".\", trimDecimals: true, decimalSpaces: 2, format: \"short\" }, \"110.15\" ],\n [{ value: \"110.155557\", thousandSeparator: \",\", decimalSeparator: \".\", trimDecimals: true, decimalSpaces: 2, format: \"short\" }, \"110.15\" ],\n [{ value: 1501000.155557, thousandSeparator: \",\", decimalSeparator: \".\", trimDecimals: true, decimalSpaces: 2, format: \"long\" }, \"1,501,000.15\" ],\n [{ value: \"1501000.155557\", thousandSeparator: \",\", decimalSeparator: \".\", trimDecimals: true, decimalSpaces: 2, format: \"long\" }, \"1,501,000.15\" ],\n [{ value: 1501000.155557, thousandSeparator: \",\", decimalSeparator: \".\", trimDecimals: true, decimalSpaces: 2, format: \"short\" }, \"1.5M\"],\n [{ value: \"1501000.155557\", thousandSeparator: \",\", decimalSeparator: \".\", trimDecimals: true, decimalSpaces: 2, format: \"short\" }, \"1.5M\" ],\n [{ value: \"1501000.155557\", thousandSeparator: \".\", decimalSeparator: \",\", trimDecimals: true, decimalSpaces: 2, format: \"short\" }, \"1,5M\" ],\n [{ value: \"1579.50\", thousandSeparator: \".\", decimalSeparator: \",\", trimDecimals: true, decimalSpaces: 2, format: \"short\" }, \"1,6K\" ],\n [{ value: \"1579,50\", thousandSeparator: \".\", decimalSeparator: \",\", trimDecimals: true, decimalSpaces: 2, format: \"short\" }, \"1,6K\" ],\n [{ value: \"1579.50\", thousandSeparator: \".\", decimalSeparator: \",\", trimDecimals: false, decimalSpaces: 2, format: \"long\" }, \"1.579,50\" ],\n ])(\"should format currency advanced\", (params, expected) => {\n const {\n value,\n thousandSeparator,\n decimalSeparator,\n trimDecimals,\n decimalSpaces,\n format,\n } = params;\n\n expect(\n formatNumber(\n value,\n thousandSeparator,\n decimalSeparator,\n trimDecimals,\n decimalSpaces,\n format\n )\n ).toEqual(expected);\n });\n\n //fixedDecimalSpaces\n it.each<[{ number: number; decimalSpaces: number }, number]>([\n [{ number: 123.456789, decimalSpaces: 3 }, 123.456],\n [{ number: 123.3, decimalSpaces: 2 }, 123.3],\n [{ number: 123.3, decimalSpaces: 0 }, 123],\n ])(\"should handle fixedDecimalSpaces\", (params, expected) => {\n expect(fixedDecimalSpaces(params.number, params.decimalSpaces)).toBe(\n expected\n );\n });\n\n //numberWithSeparator\n it(\"should format number with thousand separator\", () => {\n const result = numberWithSeparator((1000.0).toFixed(3), \",\", \".\");\n expect(result).toBe(\"1,000.000\");\n });\n\n it(\"should format string number with thousand separator\", () => {\n const result = numberWithSeparator(\"1000\", \",\");\n expect(result).toBe(\"1,000\");\n });\n\n it(\"should format decimal number with thousand separator and keep decimal part\", () => {\n const result = numberWithSeparator(12345.67, \",\");\n expect(result).toBe(\"12,345.67\");\n });\n\n it(\"should not format when format is set to false\", () => {\n const result = numberWithSeparator(1000, \",\", \".\", false);\n expect(result).toBe(1000);\n });\n\n it(\"should handle zero with thousand separator\", () => {\n const result = numberWithSeparator(0, \",\");\n expect(result).toBe(\"0\");\n });\n\n it(\"should handle negative number with thousand separator\", () => {\n const result = numberWithSeparator(-123456789, \",\");\n expect(result).toBe(\"-123,456,789\");\n });\n\n it(\"should not format\", () => {\n const result = numberWithSeparator(123456789, \",\", \".\", false);\n expect(result).toBe(123456789);\n });\n\n //getNumberFromString\n it.each([\n [\n {\n number: \"1.000.000,256\",\n thousandSeparator: \".\",\n decimalSeparator: \",\",\n },\n 1000000.256,\n ],\n [\n { number: 1000000.256, thousandSeparator: \".\", decimalSeparator: \",\" },\n 1000000.256,\n ],\n [\n {\n number: \"1,000,000.256\",\n thousandSeparator: \",\",\n decimalSeparator: \".\",\n },\n 1000000.256,\n ],\n [{ number: \",256\", thousandSeparator: \".\", decimalSeparator: \",\" }, 0.256],\n [{ number: \"1562\", thousandSeparator: \".\", decimalSeparator: \",\" }, 1562],\n [{ number: \"1,2,3.4\", thousandSeparator: \".\", decimalSeparator: \",\" }, 0],\n [{ number: \"1562\", thousandSeparator: \",\", decimalSeparator: \".\" }, 1562],\n [\n { number: \"-1.562,25\", thousandSeparator: \".\", decimalSeparator: \",\" },\n -1562.25,\n ],\n [\n { number: \"-1 562.25\", thousandSeparator: \" \", decimalSeparator: \".\" },\n -1562.25,\n ],\n [\n { number: \"1562.50\", thousandSeparator: \".\", decimalSeparator: \",\" },\n 1562.5,\n ],\n [{ number: \"1562.\", thousandSeparator: \".\", decimalSeparator: \",\" }, 1562],\n ])(\"should handle getNumberFromString\", (params, expected) => {\n const { number, thousandSeparator, decimalSeparator } = params;\n\n expect(\n getNumberFromString(number, thousandSeparator, decimalSeparator)\n ).toBe(expected);\n });\n\n // please try to leave unformatted - ignore works for this block only\n // prettier-ignore\n it.each<[FormatCurrencyArgs, string]>([\n [\n { value: \"\", thousandSeparator: \",\", decimalSeparator: \".\", trimDecimals: false, decimalSpaces: 2, format: \"long\", currencyCode: \"\", currencyCodePosition: \"right\" },\n \"\",\n ],\n [\n { value: \"10\", thousandSeparator: \",\", decimalSeparator: \".\", trimDecimals: false, decimalSpaces: 2, format: \"long\", currencyCode: \"\", currencyCodePosition: \"right\" },\n \"10.00\",\n ],\n [\n { value: \"1000\", thousandSeparator: \",\", decimalSeparator: \".\", trimDecimals: false, decimalSpaces: 2, format: \"long\", currencyCode: \"USD\", currencyCodePosition: \"right\" },\n \"1,000.00 USD\",\n ],\n [\n { value: \"1000.00\", thousandSeparator: \",\", decimalSeparator: \".\", trimDecimals: true, decimalSpaces: 2, format: \"long\", currencyCode: \"USD\", currencyCodePosition: \"left\" },\n \"USD 1,000\",\n ],\n [\n { value: \"1200,50\", thousandSeparator: \".\", decimalSeparator: \",\", trimDecimals: false, decimalSpaces: 2, format: \"long\", currencyCode: \"EUR\", currencyCodePosition: \"right\" },\n \"1.200,50 EUR\",\n ],\n [\n { value: \"1200,50\", thousandSeparator: \".\", decimalSeparator: \",\", trimDecimals: false, decimalSpaces: 2, format: \"long\", currencyCode: \"\", currencyCodePosition: \"right\" },\n \"1.200,50\",\n ],\n [\n { value: \"900,25\", thousandSeparator: \".\", decimalSeparator: \",\", trimDecimals: false, decimalSpaces: 2, format: \"long\", currencyCode: \"GBP\", currencyCodePosition: \"left\" },\n \"GBP 900,25\",\n ],\n [\n { value: 900.25, thousandSeparator: \".\", decimalSeparator: \",\", trimDecimals: false, decimalSpaces: 2, format: \"long\", currencyCode: \"GBP\", currencyCodePosition: \"left\" },\n \"GBP 900,25\",\n ],\n [\n { value: 1150.6666667, thousandSeparator: \",\", decimalSeparator: \".\", trimDecimals: true, decimalSpaces: 2, format: \"short\", currencyCode: \"JPY\", currencyCodePosition: \"right\" },\n \"1.2K JPY\",\n ],\n [\n { value: 1501000.155557, thousandSeparator: \",\", decimalSeparator: \".\", trimDecimals: true, decimalSpaces: 2, format: \"short\", currencyCode: \"USD\", currencyCodePosition: \"left\" },\n \"USD 1.5M\",\n ],\n ])(\"should format currency correctly\", (args, expected) => {\n expect(\n formatCurrency(\n args.value,\n args.thousandSeparator,\n args.decimalSeparator,\n args.trimDecimals,\n args.decimalSpaces,\n args.format,\n args.currencyCode,\n args.currencyCodePosition\n )\n ).toEqual(expected);\n });\n\n it.each([\n // [value, thousandSeparator, decimalSeparator, expectedResult]\n [\"13:15\", \",\", \".\", 13.25],\n [\"13:00\", \",\", \".\", 13],\n [\"13:\", \",\", \".\", 13],\n [\":30\", \",\", \".\", 0.5],\n [\" 2:15 \", \",\", \".\", 2.25],\n [\"1,234.56\", \",\", \".\", 1234.56],\n [\"1.234,56\", \".\", \",\", 1234.56],\n [13.5, \",\", \".\", 13.5],\n ])(\n \"should correctly parse %p with thousandSeparator '%s' and decimalSeparator '%s' to %p\",\n (value, thousandSeparator, decimalSeparator, expected) => {\n expect(\n parseValueToNumber(value, thousandSeparator, decimalSeparator)\n ).toBeCloseTo(expected);\n }\n );\n});\n"],"mappings":"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"}
|
|
@@ -4,6 +4,7 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
6
|
exports.withLeadingZero = exports.isValidTime = exports.isDecimal = exports.formatHours = void 0;
|
|
7
|
+
var _currencyUtils = require("./currencyUtils");
|
|
7
8
|
function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
|
|
8
9
|
function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
|
|
9
10
|
function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
|
|
@@ -13,29 +14,36 @@ function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
|
|
|
13
14
|
/**
|
|
14
15
|
* @function formatHours
|
|
15
16
|
* @description
|
|
16
|
-
* Formats a decimal number representing hours into a formatted string (HH:MM).
|
|
17
|
-
* The input can be a number, string, or undefined.
|
|
18
|
-
*
|
|
17
|
+
* Formats a decimal number representing hours into a formatted string (HH:MM) or a short form if needed.
|
|
18
|
+
* The input can be a number, string, or undefined. It handles various formats and can optionally add a
|
|
19
|
+
* leading zero to the hours component. With the new "format" argument, if set to "short" and the value is
|
|
20
|
+
* greater than or equal to 1000, it will return a shortened format (e.g., 1K) similar to formatNumber.
|
|
19
21
|
*
|
|
20
|
-
* @param {number | string | undefined} num - The input representing the hours
|
|
21
|
-
* @param {boolean} [withLeadingZeroHours=false] - Whether to add a leading zero to the hours part
|
|
22
|
+
* @param {number | string | undefined} num - The input representing the hours.
|
|
23
|
+
* @param {boolean} [withLeadingZeroHours=false] - Whether to add a leading zero to the hours part.
|
|
22
24
|
* @param {boolean} [trimZeroMinutes=false] - Whether to remove minutes if they are zero.
|
|
25
|
+
* @param {"long" | "short"} [format="long"] - The format type, either "long" for full numbers or "short" for abbreviated output.
|
|
23
26
|
*
|
|
24
|
-
* @returns {string} - A formatted time string
|
|
27
|
+
* @returns {string} - A formatted time string or a shortened string.
|
|
25
28
|
*
|
|
26
29
|
* @example
|
|
27
30
|
* formatHours(1.5) // "1:30"
|
|
28
31
|
* formatHours("3.5", true) // "03:30"
|
|
32
|
+
* formatHours(1500, false, false, "short") // "1K" (using formatNumber)
|
|
29
33
|
*/
|
|
30
34
|
var formatHours = exports.formatHours = function formatHours(num) {
|
|
31
35
|
var withLeadingZeroHours = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;
|
|
32
36
|
var trimZeroMinutes = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;
|
|
37
|
+
var format = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : "long";
|
|
38
|
+
// Handle the explicit zero case.
|
|
33
39
|
if (num === 0 || num === "0") {
|
|
34
40
|
return trimZeroMinutes ? "0" : withLeadingZeroHours ? "00:00" : "0:00";
|
|
35
41
|
}
|
|
36
42
|
if (!num) {
|
|
37
43
|
return "";
|
|
38
44
|
}
|
|
45
|
+
|
|
46
|
+
// If the input is in colon format, process it as before.
|
|
39
47
|
if (typeof num === "string" && num.indexOf(":") >= 0) {
|
|
40
48
|
// eslint-disable-next-line prefer-const
|
|
41
49
|
var _num$split = num.split(":"),
|
|
@@ -59,16 +67,27 @@ var formatHours = exports.formatHours = function formatHours(num) {
|
|
|
59
67
|
}
|
|
60
68
|
return withLeadingZeroHours ? "00:".concat(_minutes) : "0:".concat(_minutes);
|
|
61
69
|
}
|
|
70
|
+
|
|
71
|
+
// Replace comma with dot if needed.
|
|
62
72
|
if (typeof num === "string" && num.indexOf(",") >= 0) {
|
|
63
73
|
num = num.replace(",", ".");
|
|
64
74
|
}
|
|
65
75
|
var input = typeof num === "string" ? parseFloat(num) : num;
|
|
76
|
+
|
|
77
|
+
// Use short formatting if specified and the value is >= 1000.
|
|
78
|
+
if (format === "short" && input >= 1000) {
|
|
79
|
+
return (0, _currencyUtils.formatNumber)(input, ",", ".", true, 2, "short");
|
|
80
|
+
}
|
|
81
|
+
|
|
82
|
+
// For whole numbers.
|
|
66
83
|
if (!isDecimal(input)) {
|
|
67
84
|
if (trimZeroMinutes) {
|
|
68
85
|
return withLeadingZeroHours ? withLeadingZero(input) : String(Number(input));
|
|
69
86
|
}
|
|
70
87
|
return withLeadingZeroHours ? "".concat(withLeadingZero(input), ":00") : "".concat(input, ":00");
|
|
71
88
|
}
|
|
89
|
+
|
|
90
|
+
// Process decimal hours.
|
|
72
91
|
var decimal = input.toFixed(2);
|
|
73
92
|
var time = decimal.toString().split(".");
|
|
74
93
|
var hours = time[0];
|
|
@@ -76,11 +95,11 @@ var formatHours = exports.formatHours = function formatHours(num) {
|
|
|
76
95
|
hours = withLeadingZero(hours);
|
|
77
96
|
}
|
|
78
97
|
var minutes = time[1];
|
|
79
|
-
var
|
|
80
|
-
if (trimZeroMinutes &&
|
|
98
|
+
var minutesFormatted = Math.round(parseInt(minutes, 10) / 100 * 60);
|
|
99
|
+
if (trimZeroMinutes && minutesFormatted === 0) {
|
|
81
100
|
return hours;
|
|
82
101
|
}
|
|
83
|
-
return "".concat(hours, ":").concat(withLeadingZero(
|
|
102
|
+
return "".concat(hours, ":").concat(withLeadingZero(minutesFormatted));
|
|
84
103
|
};
|
|
85
104
|
var withLeadingZero = exports.withLeadingZero = function withLeadingZero(num) {
|
|
86
105
|
var size = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 2;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"timeUtils.js","names":["formatHours","exports","num","withLeadingZeroHours","arguments","length","undefined","trimZeroMinutes","indexOf","_num$split","split","_num$split2","_slicedToArray","_hours","_minutes","Number","concat","withLeadingZero","String","replace","input","parseFloat","isDecimal","decimal","toFixed","time","toString","hours","minutes","minutes_formatted","Math","round","parseInt","size","s","isInteger","isValidTime","test"],"sources":["../../../src/utils/timeUtils.ts"],"sourcesContent":["/**\n * @function formatHours\n * @description\n * Formats a decimal number representing hours into a formatted string (HH:MM).\n * The input can be a number, string, or undefined. The function handles various formats\n * and can optionally add a leading zero to the hours component.\n *\n * @param {number | string | undefined} num - The input representing the hours, which can be in decimal format, a time string, or undefined.\n * @param {boolean} [withLeadingZeroHours=false] - Whether to add a leading zero to the hours part of the output.\n * @param {boolean} [trimZeroMinutes=false] - Whether to remove minutes if they are zero.\n *\n * @returns {string} - A formatted time string in HH:MM format.\n *\n * @example\n * formatHours(1.5) // \"1:30\"\n * formatHours(\"3.5\", true) // \"03:30\"\n */\nexport const formatHours = (\n num: number | string | undefined,\n withLeadingZeroHours = false,\n trimZeroMinutes = false\n): string => {\n if (num === 0 || num === \"0\") {\n return trimZeroMinutes ? \"0\" : withLeadingZeroHours ? \"00:00\" : \"0:00\";\n }\n if (!num) {\n return \"\";\n }\n if (typeof num === \"string\" && num.indexOf(\":\") >= 0) {\n // eslint-disable-next-line prefer-const\n let [_hours, _minutes] = num.split(\":\");\n if (_minutes && _minutes.length === 1 && Number(_minutes) < 10) {\n _minutes = `${Number(_minutes)}0`;\n }\n if (_hours && _minutes) {\n if (trimZeroMinutes && _minutes === \"00\") {\n return withLeadingZeroHours\n ? withLeadingZero(_hours)\n : String(Number(_hours));\n }\n return withLeadingZeroHours\n ? `${withLeadingZero(_hours)}:${_minutes}`\n : `${_hours}:${_minutes}`;\n } else if (_hours && !_minutes) {\n return withLeadingZeroHours\n ? `${withLeadingZero(_hours)}:00`\n : `${_hours}:00`;\n } else if (!_hours && _minutes) {\n return withLeadingZeroHours ? `00:${_minutes}` : `0:${_minutes}`;\n } else if (!_hours && !_minutes) {\n return withLeadingZeroHours ? \"00:00\" : \"0:00\";\n }\n return withLeadingZeroHours ? `00:${_minutes}` : `0:${_minutes}`;\n }\n if (typeof num === \"string\" && num.indexOf(\",\") >= 0) {\n num = num.replace(\",\", \".\");\n }\n const input = typeof num === \"string\" ? parseFloat(num) : num;\n\n if (!isDecimal(input)) {\n if (trimZeroMinutes) {\n return withLeadingZeroHours\n ? withLeadingZero(input)\n : String(Number(input));\n }\n return withLeadingZeroHours\n ? `${withLeadingZero(input)}:00`\n : `${input}:00`;\n }\n\n const decimal = input.toFixed(2);\n const time = decimal.toString().split(\".\");\n let hours: string = time[0];\n if (withLeadingZeroHours) {\n hours = withLeadingZero(hours);\n }\n const minutes: string = time[1];\n const minutes_formatted = Math.round((parseInt(minutes, 10) / 100) * 60);\n\n if (trimZeroMinutes && minutes_formatted === 0) {\n return hours;\n }\n\n return `${hours}:${withLeadingZero(minutes_formatted)}`;\n};\n\nexport const withLeadingZero = (num: string | number, size = 2) => {\n let s = `${num}`;\n while (s.length < size) s = `0` + s;\n return s;\n};\n\nexport const isDecimal = (num: number): boolean => {\n return !Number.isInteger(num);\n};\n\nexport const isValidTime = (time: string | undefined): boolean => {\n return time === undefined || /^([01]\\d|2[0-3]):([0-5]\\d)$/.test(time);\n};\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"timeUtils.js","names":["_currencyUtils","require","_slicedToArray","arr","i","_arrayWithHoles","_iterableToArrayLimit","_unsupportedIterableToArray","_nonIterableRest","TypeError","o","minLen","_arrayLikeToArray","n","Object","prototype","toString","call","slice","constructor","name","Array","from","test","len","length","arr2","r","l","t","Symbol","iterator","e","u","a","f","next","done","push","value","return","isArray","formatHours","exports","num","withLeadingZeroHours","arguments","undefined","trimZeroMinutes","format","indexOf","_num$split","split","_num$split2","_hours","_minutes","Number","concat","withLeadingZero","String","replace","input","parseFloat","formatNumber","isDecimal","decimal","toFixed","time","hours","minutes","minutesFormatted","Math","round","parseInt","size","s","isInteger","isValidTime"],"sources":["../../../src/utils/timeUtils.ts"],"sourcesContent":["import { formatNumber } from \"./currencyUtils\";\nimport { FormatType } from \"./types\";\n\n/**\n * @function formatHours\n * @description\n * Formats a decimal number representing hours into a formatted string (HH:MM) or a short form if needed.\n * The input can be a number, string, or undefined. It handles various formats and can optionally add a\n * leading zero to the hours component. With the new \"format\" argument, if set to \"short\" and the value is\n * greater than or equal to 1000, it will return a shortened format (e.g., 1K) similar to formatNumber.\n *\n * @param {number | string | undefined} num - The input representing the hours.\n * @param {boolean} [withLeadingZeroHours=false] - Whether to add a leading zero to the hours part.\n * @param {boolean} [trimZeroMinutes=false] - Whether to remove minutes if they are zero.\n * @param {\"long\" | \"short\"} [format=\"long\"] - The format type, either \"long\" for full numbers or \"short\" for abbreviated output.\n *\n * @returns {string} - A formatted time string or a shortened string.\n *\n * @example\n * formatHours(1.5) // \"1:30\"\n * formatHours(\"3.5\", true) // \"03:30\"\n * formatHours(1500, false, false, \"short\") // \"1K\" (using formatNumber)\n */\nexport const formatHours = (\n num: number | string | undefined,\n withLeadingZeroHours = false,\n trimZeroMinutes = false,\n format: FormatType = \"long\"\n): string => {\n // Handle the explicit zero case.\n if (num === 0 || num === \"0\") {\n return trimZeroMinutes ? \"0\" : withLeadingZeroHours ? \"00:00\" : \"0:00\";\n }\n if (!num) {\n return \"\";\n }\n\n // If the input is in colon format, process it as before.\n if (typeof num === \"string\" && num.indexOf(\":\") >= 0) {\n // eslint-disable-next-line prefer-const\n let [_hours, _minutes] = num.split(\":\");\n if (_minutes && _minutes.length === 1 && Number(_minutes) < 10) {\n _minutes = `${Number(_minutes)}0`;\n }\n if (_hours && _minutes) {\n if (trimZeroMinutes && _minutes === \"00\") {\n return withLeadingZeroHours\n ? withLeadingZero(_hours)\n : String(Number(_hours));\n }\n return withLeadingZeroHours\n ? `${withLeadingZero(_hours)}:${_minutes}`\n : `${_hours}:${_minutes}`;\n } else if (_hours && !_minutes) {\n return withLeadingZeroHours\n ? `${withLeadingZero(_hours)}:00`\n : `${_hours}:00`;\n } else if (!_hours && _minutes) {\n return withLeadingZeroHours ? `00:${_minutes}` : `0:${_minutes}`;\n } else if (!_hours && !_minutes) {\n return withLeadingZeroHours ? \"00:00\" : \"0:00\";\n }\n return withLeadingZeroHours ? `00:${_minutes}` : `0:${_minutes}`;\n }\n\n // Replace comma with dot if needed.\n if (typeof num === \"string\" && num.indexOf(\",\") >= 0) {\n num = num.replace(\",\", \".\");\n }\n\n const input = typeof num === \"string\" ? parseFloat(num) : num;\n\n // Use short formatting if specified and the value is >= 1000.\n if (format === \"short\" && input >= 1000) {\n return formatNumber(input, \",\", \".\", true, 2, \"short\");\n }\n\n // For whole numbers.\n if (!isDecimal(input)) {\n if (trimZeroMinutes) {\n return withLeadingZeroHours\n ? withLeadingZero(input)\n : String(Number(input));\n }\n return withLeadingZeroHours\n ? `${withLeadingZero(input)}:00`\n : `${input}:00`;\n }\n\n // Process decimal hours.\n const decimal = input.toFixed(2);\n const time = decimal.toString().split(\".\");\n let hours: string = time[0];\n if (withLeadingZeroHours) {\n hours = withLeadingZero(hours);\n }\n const minutes: string = time[1];\n const minutesFormatted = Math.round((parseInt(minutes, 10) / 100) * 60);\n\n if (trimZeroMinutes && minutesFormatted === 0) {\n return hours;\n }\n\n return `${hours}:${withLeadingZero(minutesFormatted)}`;\n};\n\nexport const withLeadingZero = (num: string | number, size = 2) => {\n let s = `${num}`;\n while (s.length < size) s = `0` + s;\n return s;\n};\n\nexport const isDecimal = (num: number): boolean => {\n return !Number.isInteger(num);\n};\n\nexport const isValidTime = (time: string | undefined): boolean => {\n return time === undefined || /^([01]\\d|2[0-3]):([0-5]\\d)$/.test(time);\n};\n"],"mappings":"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"}
|
|
@@ -2,10 +2,11 @@
|
|
|
2
2
|
|
|
3
3
|
var _timeUtils = require("./timeUtils");
|
|
4
4
|
describe("timeUtis.ts", function () {
|
|
5
|
-
it.each([["1:30", "1:30"], ["1:30", "01:30", true], ["1.5", "1:30"], ["1.05", "1:03"], ["5,5", "5:30"], ["5.5", "5:30"], ["5:30", "5:30"], [",5", "0:30"], [".5", "0:30"], ["", ""], [":", "0:00"], ["1:", "1:00"], ["1:", "01:00", true], [":05", "00:05", true], [",05", "00:03", true], [0.5, "00:30", true], [1.5, "01:30", true], [1.5, "1:30", false], ["0:3", "0:30", false], ["555:35", "555:35", false], ["555", "555:00", false], [555.5, "555:30", false], ["5:00", "5", false, true], ["05:00", "05", true, true], ["12:00", "12", false, true], ["12:30", "12:30", false, true], [5, "5:00", false, false], [5, "5", false, true], [0, "0:00", false, false], [0, "0", false, true], [5, "05", true, true], ["5:00", "05", true, true], ["05:00", "5", false, true]])("should formatTime", function (value, expected) {
|
|
5
|
+
it.each([["1:30", "1:30"], ["1:30", "01:30", true], ["1.5", "1:30"], ["1.05", "1:03"], ["5,5", "5:30"], ["5.5", "5:30"], ["5:30", "5:30"], [",5", "0:30"], [".5", "0:30"], ["", ""], [":", "0:00"], ["1:", "1:00"], ["1:", "01:00", true], [":05", "00:05", true], [",05", "00:03", true], [0.5, "00:30", true], [1.5, "01:30", true], [1.5, "1:30", false], ["0:3", "0:30", false], ["555:35", "555:35", false], ["555", "555:00", false], [555.5, "555:30", false], ["5:00", "5", false, true], ["05:00", "05", true, true], ["12:00", "12", false, true], ["12:30", "12:30", false, true], [5, "5:00", false, false], [5, "5", false, true], [0, "0:00", false, false], [0, "0", false, true], [5, "05", true, true], ["5:00", "05", true, true], ["05:00", "5", false, true], [1500, "1.5K", false, false, "short"], [1000, "1K", false, false, "short"], ["999.50", "999:30", false, false, "short"], [1500.25, "1.5K", false, false, "short"]])("should formatTime", function (value, expected) {
|
|
6
6
|
var leadingZero = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;
|
|
7
7
|
var trimZeroMinutes = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : false;
|
|
8
|
-
|
|
8
|
+
var format = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : "long";
|
|
9
|
+
return expect((0, _timeUtils.formatHours)(value, leadingZero, trimZeroMinutes, format)).toEqual(expected);
|
|
9
10
|
});
|
|
10
11
|
});
|
|
11
12
|
//# sourceMappingURL=timeUtils.test.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"timeUtils.test.js","names":["_timeUtils","require","describe","it","each","value","expected","leadingZero","arguments","length","undefined","trimZeroMinutes","expect","formatHours","toEqual"],"sources":["../../../src/utils/timeUtils.test.ts"],"sourcesContent":["import { formatHours } from \"./timeUtils\";\n\ndescribe(\"timeUtis.ts\", () => {\n it.each([\n [\"1:30\", \"1:30\"],\n [\"1:30\", \"01:30\", true],\n [\"1.5\", \"1:30\"],\n [\"1.05\", \"1:03\"],\n [\"5,5\", \"5:30\"],\n [\"5.5\", \"5:30\"],\n [\"5:30\", \"5:30\"],\n [\",5\", \"0:30\"],\n [\".5\", \"0:30\"],\n [\"\", \"\"],\n [\":\", \"0:00\"],\n [\"1:\", \"1:00\"],\n [\"1:\", \"01:00\", true],\n [\":05\", \"00:05\", true],\n [\",05\", \"00:03\", true],\n [0.5, \"00:30\", true],\n [1.5, \"01:30\", true],\n [1.5, \"1:30\", false],\n [\"0:3\", \"0:30\", false],\n [\"555:35\", \"555:35\", false],\n [\"555\", \"555:00\", false],\n [555.5, \"555:30\", false],\n [\"5:00\", \"5\", false, true],\n [\"05:00\", \"05\", true, true],\n [\"12:00\", \"12\", false, true],\n [\"12:30\", \"12:30\", false, true],\n [5, \"5:00\", false, false],\n [5, \"5\", false, true],\n [0, \"0:00\", false, false],\n [0, \"0\", false, true],\n [5, \"05\", true, true],\n [\"5:00\", \"05\", true, true],\n [\"05:00\", \"5\", false, true],\n ])(\n \"should formatTime\",\n (value
|
|
1
|
+
{"version":3,"file":"timeUtils.test.js","names":["_timeUtils","require","describe","it","each","value","expected","leadingZero","arguments","length","undefined","trimZeroMinutes","format","expect","formatHours","toEqual"],"sources":["../../../src/utils/timeUtils.test.ts"],"sourcesContent":["import { formatHours } from \"./timeUtils\";\nimport { FormatType } from \"./types\";\n\ndescribe(\"timeUtis.ts\", () => {\n it.each([\n [\"1:30\", \"1:30\"],\n [\"1:30\", \"01:30\", true],\n [\"1.5\", \"1:30\"],\n [\"1.05\", \"1:03\"],\n [\"5,5\", \"5:30\"],\n [\"5.5\", \"5:30\"],\n [\"5:30\", \"5:30\"],\n [\",5\", \"0:30\"],\n [\".5\", \"0:30\"],\n [\"\", \"\"],\n [\":\", \"0:00\"],\n [\"1:\", \"1:00\"],\n [\"1:\", \"01:00\", true],\n [\":05\", \"00:05\", true],\n [\",05\", \"00:03\", true],\n [0.5, \"00:30\", true],\n [1.5, \"01:30\", true],\n [1.5, \"1:30\", false],\n [\"0:3\", \"0:30\", false],\n [\"555:35\", \"555:35\", false],\n [\"555\", \"555:00\", false],\n [555.5, \"555:30\", false],\n [\"5:00\", \"5\", false, true],\n [\"05:00\", \"05\", true, true],\n [\"12:00\", \"12\", false, true],\n [\"12:30\", \"12:30\", false, true],\n [5, \"5:00\", false, false],\n [5, \"5\", false, true],\n [0, \"0:00\", false, false],\n [0, \"0\", false, true],\n [5, \"05\", true, true],\n [\"5:00\", \"05\", true, true],\n [\"05:00\", \"5\", false, true],\n [1500, \"1.5K\", false, false, \"short\" as FormatType],\n [1000, \"1K\", false, false, \"short\" as FormatType],\n [\"999.50\", \"999:30\", false, false, \"short\" as FormatType],\n [1500.25, \"1.5K\", false, false, \"short\" as FormatType],\n ])(\n \"should formatTime\",\n (\n value,\n expected,\n leadingZero = false,\n trimZeroMinutes = false,\n format = \"long\"\n ) =>\n expect(formatHours(value, leadingZero, trimZeroMinutes, format)).toEqual(\n expected\n )\n );\n});\n"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","names":[],"sources":["../../../src/utils/types.ts"],"sourcesContent":["import React from \"react\";\n\n// Source: https://github.com/emotion-js/emotion/blob/master/packages/styled-base/types/helper.d.ts\n// A more precise version of just React.ComponentPropsWithoutRef on its own\nexport type PropsOf<\n C extends keyof JSX.IntrinsicElements | React.JSXElementConstructor<unknown>\n> = JSX.LibraryManagedAttributes<C, React.ComponentPropsWithoutRef<C>>;\n\ntype AsProp<C extends React.ElementType> = {\n /**\n * An override of the default HTML tag.\n * Can also be another React component.\n */\n as?: C;\n};\n\n/**\n * Allows for extending a set of props (`ExtendedProps`) by an overriding set of props\n * (`OverrideProps`), ensuring that any duplicates are overridden by the overriding\n * set of props.\n */\nexport type ExtendableProps<\n ExtendedProps = Record<string, unknown>,\n OverrideProps = Record<string, unknown>\n> = OverrideProps & Omit<ExtendedProps, keyof OverrideProps>;\n\n/**\n * Allows for inheriting the props from the specified element type so that\n * props like children, className & style work, as well as element-specific\n * attributes like aria roles. The component (`C`) must be passed in.\n */\nexport type InheritableElementProps<\n C extends React.ElementType,\n Props = Record<string, unknown>\n> = ExtendableProps<PropsOf<C>, Props>;\n\n/**\n * A more sophisticated version of `InheritableElementProps` where\n * the passed in `as` prop will determine which props can be included\n */\nexport type PolymorphicComponentProps<\n C extends React.ElementType,\n Props = Record<string, unknown>\n> = InheritableElementProps<C, Props & AsProp<C>>;\n\n/**\n * Utility type to extract the `ref` prop from a polymorphic component\n */\nexport type PolymorphicRef<C extends React.ElementType> =\n React.ComponentPropsWithRef<C>[\"ref\"];\n/**\n * A wrapper of `PolymorphicComponentProps` that also includes the `ref`\n * prop for the polymorphic component\n */\nexport type PolymorphicComponentPropsWithRef<\n C extends React.ElementType,\n Props = Record<string, unknown>\n> = PolymorphicComponentProps<C, Props> & { ref?: PolymorphicRef<C> };\n\nexport interface FormatNumberArgs {\n value: string | number;\n thousandSeparator?: \",\" | \".\" | \" \";\n decimalSeparator?: \",\" | \".\";\n trimDecimals?: boolean;\n decimalSpaces?: number;\n format?:
|
|
1
|
+
{"version":3,"file":"types.js","names":[],"sources":["../../../src/utils/types.ts"],"sourcesContent":["import React from \"react\";\n\n// Source: https://github.com/emotion-js/emotion/blob/master/packages/styled-base/types/helper.d.ts\n// A more precise version of just React.ComponentPropsWithoutRef on its own\nexport type PropsOf<\n C extends keyof JSX.IntrinsicElements | React.JSXElementConstructor<unknown>\n> = JSX.LibraryManagedAttributes<C, React.ComponentPropsWithoutRef<C>>;\n\ntype AsProp<C extends React.ElementType> = {\n /**\n * An override of the default HTML tag.\n * Can also be another React component.\n */\n as?: C;\n};\n\n/**\n * Allows for extending a set of props (`ExtendedProps`) by an overriding set of props\n * (`OverrideProps`), ensuring that any duplicates are overridden by the overriding\n * set of props.\n */\nexport type ExtendableProps<\n ExtendedProps = Record<string, unknown>,\n OverrideProps = Record<string, unknown>\n> = OverrideProps & Omit<ExtendedProps, keyof OverrideProps>;\n\n/**\n * Allows for inheriting the props from the specified element type so that\n * props like children, className & style work, as well as element-specific\n * attributes like aria roles. The component (`C`) must be passed in.\n */\nexport type InheritableElementProps<\n C extends React.ElementType,\n Props = Record<string, unknown>\n> = ExtendableProps<PropsOf<C>, Props>;\n\n/**\n * A more sophisticated version of `InheritableElementProps` where\n * the passed in `as` prop will determine which props can be included\n */\nexport type PolymorphicComponentProps<\n C extends React.ElementType,\n Props = Record<string, unknown>\n> = InheritableElementProps<C, Props & AsProp<C>>;\n\n/**\n * Utility type to extract the `ref` prop from a polymorphic component\n */\nexport type PolymorphicRef<C extends React.ElementType> =\n React.ComponentPropsWithRef<C>[\"ref\"];\n/**\n * A wrapper of `PolymorphicComponentProps` that also includes the `ref`\n * prop for the polymorphic component\n */\nexport type PolymorphicComponentPropsWithRef<\n C extends React.ElementType,\n Props = Record<string, unknown>\n> = PolymorphicComponentProps<C, Props> & { ref?: PolymorphicRef<C> };\n\nexport interface FormatNumberArgs {\n value: string | number;\n thousandSeparator?: \",\" | \".\" | \" \";\n decimalSeparator?: \",\" | \".\";\n trimDecimals?: boolean;\n decimalSpaces?: number;\n format?: FormatType;\n}\n\nexport interface FormatCurrencyArgs extends FormatNumberArgs {\n currencyCode?: string;\n currencyCodePosition?: \"right\" | \"left\";\n}\n\nexport type FormatType = \"short\" | \"long\";\n"],"mappings":""}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DisplayHours.d.ts","sourceRoot":"","sources":["../../../../src/components/Display/DisplayHours.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAqB,MAAM,OAAO,CAAC;AAE1C,OAAO,EAAE,iBAAiB,EAAE,MAAM,SAAS,CAAC;
|
|
1
|
+
{"version":3,"file":"DisplayHours.d.ts","sourceRoot":"","sources":["../../../../src/components/Display/DisplayHours.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAqB,MAAM,OAAO,CAAC;AAE1C,OAAO,EAAE,iBAAiB,EAAE,MAAM,SAAS,CAAC;AAM5C,eAAO,MAAM,YAAY,wGAsExB,CAAC"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import _extends from "@babel/runtime/helpers/esm/extends";
|
|
2
2
|
import React, { forwardRef } from "react";
|
|
3
3
|
import { formatHours, formatNumber } from "../../utils";
|
|
4
|
+
import { parseValueToNumber } from "../../utils/currencyUtils";
|
|
4
5
|
import { Tooltip } from "../Tooltip";
|
|
5
6
|
import { Typography } from "../Typography/Typography";
|
|
6
7
|
export const DisplayHours = /*#__PURE__*/forwardRef((_ref, ref) => {
|
|
@@ -19,27 +20,27 @@ export const DisplayHours = /*#__PURE__*/forwardRef((_ref, ref) => {
|
|
|
19
20
|
as = "span",
|
|
20
21
|
...rest
|
|
21
22
|
} = _ref;
|
|
22
|
-
const numberValue =
|
|
23
|
-
const
|
|
24
|
-
const
|
|
25
|
-
const
|
|
26
|
-
if (
|
|
23
|
+
const numberValue = parseValueToNumber(value, thousandSeparator, decimalSeparator);
|
|
24
|
+
const shouldDisplayShort = format === "short" && numberValue >= 1000;
|
|
25
|
+
const longValue = formatHours(numberValue, withLeadingZero, trimZeroMinutes, "long");
|
|
26
|
+
const shortValue = formatNumber(numberValue, thousandSeparator, decimalSeparator, trimDecimals, decimalSpaces, "short");
|
|
27
|
+
if (shouldDisplayShort) {
|
|
27
28
|
return /*#__PURE__*/React.createElement(Tooltip, {
|
|
28
|
-
title:
|
|
29
|
+
title: formatHours(numberValue),
|
|
29
30
|
disable: disableTooltip
|
|
30
31
|
}, /*#__PURE__*/React.createElement(Typography, _extends({
|
|
31
32
|
as: as,
|
|
32
33
|
variant: variant,
|
|
33
34
|
className: className,
|
|
34
35
|
ref: ref
|
|
35
|
-
}, rest),
|
|
36
|
+
}, rest), shortValue));
|
|
36
37
|
}
|
|
37
38
|
return /*#__PURE__*/React.createElement(Typography, _extends({
|
|
38
39
|
as: as,
|
|
39
40
|
variant: variant,
|
|
40
41
|
className: className,
|
|
41
42
|
ref: ref
|
|
42
|
-
}, rest),
|
|
43
|
+
}, rest), longValue);
|
|
43
44
|
});
|
|
44
45
|
DisplayHours.displayName = "DisplayHours";
|
|
45
46
|
//# sourceMappingURL=DisplayHours.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DisplayHours.js","names":["React","forwardRef","formatHours","formatNumber","Tooltip","Typography","DisplayHours","_ref","ref","value","variant","thousandSeparator","decimalSeparator","trimZeroMinutes","trimDecimals","decimalSpaces","format","disableTooltip","className","withLeadingZero","as","rest","numberValue","
|
|
1
|
+
{"version":3,"file":"DisplayHours.js","names":["React","forwardRef","formatHours","formatNumber","parseValueToNumber","Tooltip","Typography","DisplayHours","_ref","ref","value","variant","thousandSeparator","decimalSeparator","trimZeroMinutes","trimDecimals","decimalSpaces","format","disableTooltip","className","withLeadingZero","as","rest","numberValue","shouldDisplayShort","longValue","shortValue","createElement","title","disable","_extends","displayName"],"sources":["../../../../src/components/Display/DisplayHours.tsx"],"sourcesContent":["import React, { forwardRef } from \"react\";\n\nimport { DisplayHoursProps } from \"./types\";\nimport { formatHours, formatNumber } from \"../../utils\";\nimport { parseValueToNumber } from \"../../utils/currencyUtils\";\nimport { Tooltip } from \"../Tooltip\";\nimport { Typography } from \"../Typography/Typography\";\n\nexport const DisplayHours = forwardRef<HTMLSpanElement, DisplayHoursProps>(\n (\n {\n value,\n variant = \"Body 2\",\n thousandSeparator = \",\",\n decimalSeparator = \".\",\n trimZeroMinutes = false,\n trimDecimals = true,\n decimalSpaces = 2,\n format = \"long\",\n disableTooltip = false,\n className,\n withLeadingZero,\n as = \"span\",\n ...rest\n },\n ref\n ) => {\n const numberValue = parseValueToNumber(\n value,\n thousandSeparator,\n decimalSeparator\n );\n\n const shouldDisplayShort = format === \"short\" && numberValue >= 1000;\n\n const longValue = formatHours(\n numberValue,\n withLeadingZero,\n trimZeroMinutes,\n \"long\"\n );\n const shortValue = formatNumber(\n numberValue,\n thousandSeparator,\n decimalSeparator,\n trimDecimals,\n decimalSpaces,\n \"short\"\n );\n\n if (shouldDisplayShort) {\n return (\n <Tooltip title={formatHours(numberValue)} disable={disableTooltip}>\n <Typography\n as={as}\n variant={variant}\n className={className}\n ref={ref}\n {...rest}\n >\n {shortValue}\n </Typography>\n </Tooltip>\n );\n }\n\n return (\n <Typography\n as={as}\n variant={variant}\n className={className}\n ref={ref}\n {...rest}\n >\n {longValue}\n </Typography>\n );\n }\n);\n\nDisplayHours.displayName = \"DisplayHours\";\n"],"mappings":";AAAA,OAAOA,KAAK,IAAIC,UAAU,QAAQ,OAAO;AAGzC,SAASC,WAAW,EAAEC,YAAY,QAAQ,aAAa;AACvD,SAASC,kBAAkB,QAAQ,2BAA2B;AAC9D,SAASC,OAAO,QAAQ,YAAY;AACpC,SAASC,UAAU,QAAQ,0BAA0B;AAErD,OAAO,MAAMC,YAAY,gBAAGN,UAAU,CACpC,CAAAO,IAAA,EAgBEC,GAAG,KACA;EAAA,IAhBH;IACEC,KAAK;IACLC,OAAO,GAAG,QAAQ;IAClBC,iBAAiB,GAAG,GAAG;IACvBC,gBAAgB,GAAG,GAAG;IACtBC,eAAe,GAAG,KAAK;IACvBC,YAAY,GAAG,IAAI;IACnBC,aAAa,GAAG,CAAC;IACjBC,MAAM,GAAG,MAAM;IACfC,cAAc,GAAG,KAAK;IACtBC,SAAS;IACTC,eAAe;IACfC,EAAE,GAAG,MAAM;IACX,GAAGC;EACL,CAAC,GAAAd,IAAA;EAGD,MAAMe,WAAW,GAAGnB,kBAAkB,CACpCM,KAAK,EACLE,iBAAiB,EACjBC,gBACF,CAAC;EAED,MAAMW,kBAAkB,GAAGP,MAAM,KAAK,OAAO,IAAIM,WAAW,IAAI,IAAI;EAEpE,MAAME,SAAS,GAAGvB,WAAW,CAC3BqB,WAAW,EACXH,eAAe,EACfN,eAAe,EACf,MACF,CAAC;EACD,MAAMY,UAAU,GAAGvB,YAAY,CAC7BoB,WAAW,EACXX,iBAAiB,EACjBC,gBAAgB,EAChBE,YAAY,EACZC,aAAa,EACb,OACF,CAAC;EAED,IAAIQ,kBAAkB,EAAE;IACtB,oBACExB,KAAA,CAAA2B,aAAA,CAACtB,OAAO;MAACuB,KAAK,EAAE1B,WAAW,CAACqB,WAAW,CAAE;MAACM,OAAO,EAAEX;IAAe,gBAChElB,KAAA,CAAA2B,aAAA,CAACrB,UAAU,EAAAwB,QAAA;MACTT,EAAE,EAAEA,EAAG;MACPV,OAAO,EAAEA,OAAQ;MACjBQ,SAAS,EAAEA,SAAU;MACrBV,GAAG,EAAEA;IAAI,GACLa,IAAI,GAEPI,UACS,CACL,CAAC;EAEd;EAEA,oBACE1B,KAAA,CAAA2B,aAAA,CAACrB,UAAU,EAAAwB,QAAA;IACTT,EAAE,EAAEA,EAAG;IACPV,OAAO,EAAEA,OAAQ;IACjBQ,SAAS,EAAEA,SAAU;IACrBV,GAAG,EAAEA;EAAI,GACLa,IAAI,GAEPG,SACS,CAAC;AAEjB,CACF,CAAC;AAEDlB,YAAY,CAACwB,WAAW,GAAG,cAAc"}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { FormatType } from "../../utils/types";
|
|
1
2
|
import { TypographyProps } from "../Typography/Typography";
|
|
2
3
|
export interface DisplayNumberProps extends Omit<TypographyProps<"span">, "children"> {
|
|
3
4
|
value: string | number;
|
|
@@ -5,7 +6,7 @@ export interface DisplayNumberProps extends Omit<TypographyProps<"span">, "child
|
|
|
5
6
|
decimalSeparator?: string;
|
|
6
7
|
trimDecimals?: boolean;
|
|
7
8
|
decimalSpaces?: number;
|
|
8
|
-
format?:
|
|
9
|
+
format?: FormatType;
|
|
9
10
|
disableTooltip?: boolean;
|
|
10
11
|
}
|
|
11
12
|
export interface DisplayHoursProps extends Omit<TypographyProps<"span">, "children"> {
|
|
@@ -15,7 +16,7 @@ export interface DisplayHoursProps extends Omit<TypographyProps<"span">, "childr
|
|
|
15
16
|
trimZeroMinutes?: boolean;
|
|
16
17
|
trimDecimals?: boolean;
|
|
17
18
|
decimalSpaces?: number;
|
|
18
|
-
format?:
|
|
19
|
+
format?: FormatType;
|
|
19
20
|
disableTooltip?: boolean;
|
|
20
21
|
withLeadingZero?: boolean;
|
|
21
22
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/components/Display/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC;AAE3D,MAAM,WAAW,kBACf,SAAQ,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,EAAE,UAAU,CAAC;IACjD,KAAK,EAAE,MAAM,GAAG,MAAM,CAAC;IACvB,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,MAAM,CAAC,EAAE,
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/components/Display/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAC/C,OAAO,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC;AAE3D,MAAM,WAAW,kBACf,SAAQ,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,EAAE,UAAU,CAAC;IACjD,KAAK,EAAE,MAAM,GAAG,MAAM,CAAC;IACvB,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,MAAM,CAAC,EAAE,UAAU,CAAC;IACpB,cAAc,CAAC,EAAE,OAAO,CAAC;CAC1B;AAED,MAAM,WAAW,iBACf,SAAQ,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,EAAE,UAAU,CAAC;IACjD,KAAK,EAAE,MAAM,GAAG,MAAM,CAAC;IACvB,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,MAAM,CAAC,EAAE,UAAU,CAAC;IACpB,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,eAAe,CAAC,EAAE,OAAO,CAAC;CAC3B"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","names":[],"sources":["../../../../src/components/Display/types.ts"],"sourcesContent":["import { TypographyProps } from \"../Typography/Typography\";\n\nexport interface DisplayNumberProps\n extends Omit<TypographyProps<\"span\">, \"children\"> {\n value: string | number;\n thousandSeparator?: string;\n decimalSeparator?: string;\n trimDecimals?: boolean;\n decimalSpaces?: number;\n format?:
|
|
1
|
+
{"version":3,"file":"types.js","names":[],"sources":["../../../../src/components/Display/types.ts"],"sourcesContent":["import { FormatType } from \"../../utils/types\";\nimport { TypographyProps } from \"../Typography/Typography\";\n\nexport interface DisplayNumberProps\n extends Omit<TypographyProps<\"span\">, \"children\"> {\n value: string | number;\n thousandSeparator?: string;\n decimalSeparator?: string;\n trimDecimals?: boolean;\n decimalSpaces?: number;\n format?: FormatType;\n disableTooltip?: boolean;\n}\n\nexport interface DisplayHoursProps\n extends Omit<TypographyProps<\"span\">, \"children\"> {\n value: string | number;\n thousandSeparator?: string;\n decimalSeparator?: string;\n trimZeroMinutes?: boolean;\n trimDecimals?: boolean;\n decimalSpaces?: number;\n format?: FormatType;\n disableTooltip?: boolean;\n withLeadingZero?: boolean;\n}\n"],"mappings":""}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"InputNumber.d.ts","sourceRoot":"","sources":["../../../../src/components/Input/InputNumber.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA6B,MAAM,OAAO,CAAC;AAElD,OAAO,EAAS,UAAU,EAAE,MAAM,SAAS,CAAC;AAC5C,OAAO,EAAE,YAAY,EAAkB,MAAM,aAAa,CAAC;AAG3D,MAAM,WAAW,gBACf,SAAQ,IAAI,CAAC,UAAU,EAAE,OAAO,GAAG,UAAU,GAAG,MAAM,GAAG,QAAQ,CAAC,EAChE,YAAY;CAAG;AAEnB,eAAO,MAAM,WAAW,
|
|
1
|
+
{"version":3,"file":"InputNumber.d.ts","sourceRoot":"","sources":["../../../../src/components/Input/InputNumber.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA6B,MAAM,OAAO,CAAC;AAElD,OAAO,EAAS,UAAU,EAAE,MAAM,SAAS,CAAC;AAC5C,OAAO,EAAE,YAAY,EAAkB,MAAM,aAAa,CAAC;AAG3D,MAAM,WAAW,gBACf,SAAQ,IAAI,CAAC,UAAU,EAAE,OAAO,GAAG,UAAU,GAAG,MAAM,GAAG,QAAQ,CAAC,EAChE,YAAY;CAAG;AAEnB,eAAO,MAAM,WAAW,2FAsFvB,CAAC"}
|
|
@@ -26,6 +26,7 @@ export const InputNumber = /*#__PURE__*/forwardRef((_ref, ref) => {
|
|
|
26
26
|
min,
|
|
27
27
|
max,
|
|
28
28
|
onBlur: externalOnBlur,
|
|
29
|
+
update = false,
|
|
29
30
|
...rest
|
|
30
31
|
} = _ref;
|
|
31
32
|
const inputRef = useRef(null);
|
|
@@ -56,7 +57,8 @@ export const InputNumber = /*#__PURE__*/forwardRef((_ref, ref) => {
|
|
|
56
57
|
trimDecimals,
|
|
57
58
|
min,
|
|
58
59
|
max,
|
|
59
|
-
onBlur: externalOnBlur
|
|
60
|
+
onBlur: externalOnBlur,
|
|
61
|
+
update
|
|
60
62
|
}, inputRef);
|
|
61
63
|
return /*#__PURE__*/React.createElement(Input, _extends({}, rest, {
|
|
62
64
|
ref: handleRef,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"InputNumber.js","names":["React","forwardRef","useRef","Input","useInputNumber","useForkRef","InputNumber","_ref","ref","decimalLength","decimalSeparator","disableAbbreviation","disabled","disableMacros","invalid","step","thousandSeparator","value","defaultValue","onCancel","onSave","onEnterKeyPress","externalEnterKeyPress","allowEmptyValue","onChange","externalOnChange","onClick","externalOnClick","limit","placeholder","trimDecimals","min","max","onBlur","externalOnBlur","rest","inputRef","handleRef","onKeyDown","onFocus","onDoubleClick","createElement","_extends","type","displayName"],"sources":["../../../../src/components/Input/InputNumber.tsx"],"sourcesContent":["import React, { forwardRef, useRef } from \"react\";\n\nimport { Input, InputProps } from \"./Input\";\nimport { IInputNumber, useInputNumber } from \"../../hooks\";\nimport { useForkRef } from \"../../utils\";\n\nexport interface InputNumberProps\n extends Omit<InputProps, \"value\" | \"onChange\" | \"step\" | \"onBlur\">,\n IInputNumber {}\n\nexport const InputNumber = forwardRef<HTMLInputElement, InputNumberProps>(\n (\n {\n decimalLength = 2,\n decimalSeparator = \".\",\n disableAbbreviation = false,\n disabled,\n disableMacros = false,\n invalid,\n step = 1,\n thousandSeparator = \",\",\n value: defaultValue,\n onCancel,\n onSave,\n onEnterKeyPress: externalEnterKeyPress,\n allowEmptyValue,\n onChange: externalOnChange,\n onClick: externalOnClick,\n limit,\n placeholder,\n trimDecimals = true,\n min,\n max,\n onBlur: externalOnBlur,\n ...rest\n },\n ref\n ) => {\n const inputRef = useRef<HTMLInputElement | null>(null);\n const handleRef = useForkRef(ref, inputRef);\n\n const {\n value,\n onBlur,\n onKeyDown,\n onChange,\n onClick,\n onFocus,\n onDoubleClick,\n } = useInputNumber(\n {\n decimalLength,\n decimalSeparator,\n disableAbbreviation,\n disableMacros,\n step,\n thousandSeparator,\n onEnterKeyPress: externalEnterKeyPress,\n onChange: externalOnChange,\n onClick: externalOnClick,\n value: defaultValue,\n onCancel,\n onSave,\n allowEmptyValue,\n limit,\n trimDecimals,\n min,\n max,\n onBlur: externalOnBlur,\n },\n inputRef\n );\n\n return (\n <Input\n {...rest}\n ref={handleRef}\n placeholder={placeholder}\n value={value}\n type=\"text\"\n disabled={disabled}\n invalid={invalid}\n onChange={onChange}\n onBlur={onBlur}\n onKeyDown={onKeyDown}\n onClick={onClick}\n onDoubleClick={onDoubleClick}\n onFocus={onFocus}\n aria-placeholder={placeholder}\n aria-disabled={disabled}\n aria-invalid={invalid}\n />\n );\n }\n);\n\nInputNumber.displayName = \"InputNumber\";\n"],"mappings":";AAAA,OAAOA,KAAK,IAAIC,UAAU,EAAEC,MAAM,QAAQ,OAAO;AAEjD,SAASC,KAAK,QAAoB,SAAS;AAC3C,SAAuBC,cAAc,QAAQ,aAAa;AAC1D,SAASC,UAAU,QAAQ,aAAa;AAMxC,OAAO,MAAMC,WAAW,gBAAGL,UAAU,CACnC,CAAAM,IAAA,
|
|
1
|
+
{"version":3,"file":"InputNumber.js","names":["React","forwardRef","useRef","Input","useInputNumber","useForkRef","InputNumber","_ref","ref","decimalLength","decimalSeparator","disableAbbreviation","disabled","disableMacros","invalid","step","thousandSeparator","value","defaultValue","onCancel","onSave","onEnterKeyPress","externalEnterKeyPress","allowEmptyValue","onChange","externalOnChange","onClick","externalOnClick","limit","placeholder","trimDecimals","min","max","onBlur","externalOnBlur","update","rest","inputRef","handleRef","onKeyDown","onFocus","onDoubleClick","createElement","_extends","type","displayName"],"sources":["../../../../src/components/Input/InputNumber.tsx"],"sourcesContent":["import React, { forwardRef, useRef } from \"react\";\n\nimport { Input, InputProps } from \"./Input\";\nimport { IInputNumber, useInputNumber } from \"../../hooks\";\nimport { useForkRef } from \"../../utils\";\n\nexport interface InputNumberProps\n extends Omit<InputProps, \"value\" | \"onChange\" | \"step\" | \"onBlur\">,\n IInputNumber {}\n\nexport const InputNumber = forwardRef<HTMLInputElement, InputNumberProps>(\n (\n {\n decimalLength = 2,\n decimalSeparator = \".\",\n disableAbbreviation = false,\n disabled,\n disableMacros = false,\n invalid,\n step = 1,\n thousandSeparator = \",\",\n value: defaultValue,\n onCancel,\n onSave,\n onEnterKeyPress: externalEnterKeyPress,\n allowEmptyValue,\n onChange: externalOnChange,\n onClick: externalOnClick,\n limit,\n placeholder,\n trimDecimals = true,\n min,\n max,\n onBlur: externalOnBlur,\n update = false,\n ...rest\n },\n ref\n ) => {\n const inputRef = useRef<HTMLInputElement | null>(null);\n const handleRef = useForkRef(ref, inputRef);\n\n const {\n value,\n onBlur,\n onKeyDown,\n onChange,\n onClick,\n onFocus,\n onDoubleClick,\n } = useInputNumber(\n {\n decimalLength,\n decimalSeparator,\n disableAbbreviation,\n disableMacros,\n step,\n thousandSeparator,\n onEnterKeyPress: externalEnterKeyPress,\n onChange: externalOnChange,\n onClick: externalOnClick,\n value: defaultValue,\n onCancel,\n onSave,\n allowEmptyValue,\n limit,\n trimDecimals,\n min,\n max,\n onBlur: externalOnBlur,\n update,\n },\n inputRef\n );\n\n return (\n <Input\n {...rest}\n ref={handleRef}\n placeholder={placeholder}\n value={value}\n type=\"text\"\n disabled={disabled}\n invalid={invalid}\n onChange={onChange}\n onBlur={onBlur}\n onKeyDown={onKeyDown}\n onClick={onClick}\n onDoubleClick={onDoubleClick}\n onFocus={onFocus}\n aria-placeholder={placeholder}\n aria-disabled={disabled}\n aria-invalid={invalid}\n />\n );\n }\n);\n\nInputNumber.displayName = \"InputNumber\";\n"],"mappings":";AAAA,OAAOA,KAAK,IAAIC,UAAU,EAAEC,MAAM,QAAQ,OAAO;AAEjD,SAASC,KAAK,QAAoB,SAAS;AAC3C,SAAuBC,cAAc,QAAQ,aAAa;AAC1D,SAASC,UAAU,QAAQ,aAAa;AAMxC,OAAO,MAAMC,WAAW,gBAAGL,UAAU,CACnC,CAAAM,IAAA,EA0BEC,GAAG,KACA;EAAA,IA1BH;IACEC,aAAa,GAAG,CAAC;IACjBC,gBAAgB,GAAG,GAAG;IACtBC,mBAAmB,GAAG,KAAK;IAC3BC,QAAQ;IACRC,aAAa,GAAG,KAAK;IACrBC,OAAO;IACPC,IAAI,GAAG,CAAC;IACRC,iBAAiB,GAAG,GAAG;IACvBC,KAAK,EAAEC,YAAY;IACnBC,QAAQ;IACRC,MAAM;IACNC,eAAe,EAAEC,qBAAqB;IACtCC,eAAe;IACfC,QAAQ,EAAEC,gBAAgB;IAC1BC,OAAO,EAAEC,eAAe;IACxBC,KAAK;IACLC,WAAW;IACXC,YAAY,GAAG,IAAI;IACnBC,GAAG;IACHC,GAAG;IACHC,MAAM,EAAEC,cAAc;IACtBC,MAAM,GAAG,KAAK;IACd,GAAGC;EACL,CAAC,GAAA7B,IAAA;EAGD,MAAM8B,QAAQ,GAAGnC,MAAM,CAA0B,IAAI,CAAC;EACtD,MAAMoC,SAAS,GAAGjC,UAAU,CAACG,GAAG,EAAE6B,QAAQ,CAAC;EAE3C,MAAM;IACJpB,KAAK;IACLgB,MAAM;IACNM,SAAS;IACTf,QAAQ;IACRE,OAAO;IACPc,OAAO;IACPC;EACF,CAAC,GAAGrC,cAAc,CAChB;IACEK,aAAa;IACbC,gBAAgB;IAChBC,mBAAmB;IACnBE,aAAa;IACbE,IAAI;IACJC,iBAAiB;IACjBK,eAAe,EAAEC,qBAAqB;IACtCE,QAAQ,EAAEC,gBAAgB;IAC1BC,OAAO,EAAEC,eAAe;IACxBV,KAAK,EAAEC,YAAY;IACnBC,QAAQ;IACRC,MAAM;IACNG,eAAe;IACfK,KAAK;IACLE,YAAY;IACZC,GAAG;IACHC,GAAG;IACHC,MAAM,EAAEC,cAAc;IACtBC;EACF,CAAC,EACDE,QACF,CAAC;EAED,oBACErC,KAAA,CAAA0C,aAAA,CAACvC,KAAK,EAAAwC,QAAA,KACAP,IAAI;IACR5B,GAAG,EAAE8B,SAAU;IACfT,WAAW,EAAEA,WAAY;IACzBZ,KAAK,EAAEA,KAAM;IACb2B,IAAI,EAAC,MAAM;IACXhC,QAAQ,EAAEA,QAAS;IACnBE,OAAO,EAAEA,OAAQ;IACjBU,QAAQ,EAAEA,QAAS;IACnBS,MAAM,EAAEA,MAAO;IACfM,SAAS,EAAEA,SAAU;IACrBb,OAAO,EAAEA,OAAQ;IACjBe,aAAa,EAAEA,aAAc;IAC7BD,OAAO,EAAEA,OAAQ;IACjB,oBAAkBX,WAAY;IAC9B,iBAAejB,QAAS;IACxB,gBAAcE;EAAQ,EACvB,CAAC;AAEN,CACF,CAAC;AAEDR,WAAW,CAACuC,WAAW,GAAG,aAAa"}
|
|
@@ -20,8 +20,9 @@ export interface IInputNumber {
|
|
|
20
20
|
validation?: (value: string, disableMacros: boolean, decimalSeparator: string, decimalLength: number, limit?: number) => boolean;
|
|
21
21
|
min?: string | number;
|
|
22
22
|
max?: string | number;
|
|
23
|
+
update?: boolean;
|
|
23
24
|
}
|
|
24
|
-
export declare const useInputNumber: ({ decimalSeparator, thousandSeparator, disableAbbreviation, disableMacros, decimalLength, value, onChange, onSave, onEnterKeyPress, onClick, onCancel, allowEmptyValue, step, trimDecimals, limit, validation, min, max, onBlur, }: IInputNumber, inputRef: RefObject<HTMLInputElement | null>) => {
|
|
25
|
+
export declare const useInputNumber: ({ decimalSeparator, thousandSeparator, disableAbbreviation, disableMacros, decimalLength, value, onChange, onSave, onEnterKeyPress, onClick, onCancel, allowEmptyValue, step, trimDecimals, limit, validation, min, max, onBlur, update, }: IInputNumber, inputRef: RefObject<HTMLInputElement | null>) => {
|
|
25
26
|
value: string;
|
|
26
27
|
onBlur: (e: any) => void;
|
|
27
28
|
onKeyDown: (e: any) => void;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useInputNumber.d.ts","sourceRoot":"","sources":["../../../src/hooks/useInputNumber.tsx"],"names":[],"mappings":"AAAA,OAAO,EAEL,UAAU,EAGV,SAAS,EAEV,MAAM,OAAO,CAAC;AAKf,MAAM,MAAM,UAAU,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,EAAE,CAAC;AAE9C,MAAM,WAAW,YAAY;IAC3B,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,gBAAgB,CAAC,EAAE,UAAU,CAAC;IAC9B,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAC9B,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,iBAAiB,CAAC,EAAE,UAAU,CAAC;IAC/B,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,MAAM,CAAC,EAAE,CAAC,CAAC,EAAE,KAAK,KAAK,IAAI,CAAC;IAC5B,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IACxB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,eAAe,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,CAAC;IACxC,QAAQ,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,CAAC;IACjC,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,UAAU,CAAC,gBAAgB,CAAC,KAAK,IAAI,CAAC;IACxD,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,QAAQ,CAAC,EAAE,CAAC,CAAC,EAAE,KAAK,KAAK,IAAI,CAAC;IAC9B,MAAM,CAAC,EAAE,CAAC,CAAC,EAAE,KAAK,KAAK,IAAI,CAAC;IAC5B,UAAU,CAAC,EAAE,CACX,KAAK,EAAE,MAAM,EACb,aAAa,EAAE,OAAO,EACtB,gBAAgB,EAAE,MAAM,EACxB,aAAa,EAAE,MAAM,EACrB,KAAK,CAAC,EAAE,MAAM,KACX,OAAO,CAAC;IACb,GAAG,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IACtB,GAAG,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"useInputNumber.d.ts","sourceRoot":"","sources":["../../../src/hooks/useInputNumber.tsx"],"names":[],"mappings":"AAAA,OAAO,EAEL,UAAU,EAGV,SAAS,EAEV,MAAM,OAAO,CAAC;AAKf,MAAM,MAAM,UAAU,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,EAAE,CAAC;AAE9C,MAAM,WAAW,YAAY;IAC3B,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,gBAAgB,CAAC,EAAE,UAAU,CAAC;IAC9B,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAC9B,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,iBAAiB,CAAC,EAAE,UAAU,CAAC;IAC/B,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,MAAM,CAAC,EAAE,CAAC,CAAC,EAAE,KAAK,KAAK,IAAI,CAAC;IAC5B,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IACxB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,eAAe,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,CAAC;IACxC,QAAQ,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,CAAC;IACjC,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,UAAU,CAAC,gBAAgB,CAAC,KAAK,IAAI,CAAC;IACxD,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,QAAQ,CAAC,EAAE,CAAC,CAAC,EAAE,KAAK,KAAK,IAAI,CAAC;IAC9B,MAAM,CAAC,EAAE,CAAC,CAAC,EAAE,KAAK,KAAK,IAAI,CAAC;IAC5B,UAAU,CAAC,EAAE,CACX,KAAK,EAAE,MAAM,EACb,aAAa,EAAE,OAAO,EACtB,gBAAgB,EAAE,MAAM,EACxB,aAAa,EAAE,MAAM,EACrB,KAAK,CAAC,EAAE,MAAM,KACX,OAAO,CAAC;IACb,GAAG,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IACtB,GAAG,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IACtB,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB;AAED,eAAO,MAAM,cAAc,+OAsBtB,YAAY,YACL,UAAU,gBAAgB,GAAG,IAAI,CAAC;;;;;;;;;;CAkZ7C,CAAC"}
|
|
@@ -21,7 +21,8 @@ export const useInputNumber = (_ref, inputRef) => {
|
|
|
21
21
|
validation = validateNumberInput,
|
|
22
22
|
min,
|
|
23
23
|
max,
|
|
24
|
-
onBlur
|
|
24
|
+
onBlur,
|
|
25
|
+
update
|
|
25
26
|
} = _ref;
|
|
26
27
|
const isMaxValid = max === undefined || min === undefined || Number(max) >= Number(min);
|
|
27
28
|
if (!isMaxValid) {
|
|
@@ -31,16 +32,16 @@ export const useInputNumber = (_ref, inputRef) => {
|
|
|
31
32
|
const [prevValue, setPrevValue] = useState(() => formatNumber(value, thousandSeparator, decimalSeparator, trimDecimals, decimalLength, disableAbbreviation ? "long" : "short"));
|
|
32
33
|
const [unformattedValue, setUnformattedValue] = useState(() => formatNumber(value, "", decimalSeparator, false, decimalLength, "long"));
|
|
33
34
|
const [unformattedPrevValue, setUnformattedPrevValue] = useState(() => formatNumber(value, "", decimalSeparator, false, decimalLength, "long"));
|
|
35
|
+
const [focused, setFocused] = useState(false);
|
|
34
36
|
useEffect(() => {
|
|
35
|
-
if (value !== prevValue &&
|
|
37
|
+
if (value !== prevValue && (!focused || update)) {
|
|
36
38
|
setCurrentValue(formatNumber(value, thousandSeparator, decimalSeparator, trimDecimals, decimalLength, disableAbbreviation ? "long" : "short"));
|
|
37
39
|
setPrevValue(formatNumber(value, thousandSeparator, decimalSeparator, trimDecimals, decimalLength, disableAbbreviation ? "long" : "short"));
|
|
38
40
|
setUnformattedValue(formatNumber(value, "", decimalSeparator, false, decimalLength, "long"));
|
|
39
41
|
setUnformattedPrevValue(formatNumber(value, "", decimalSeparator, false, decimalLength, "long"));
|
|
40
42
|
}
|
|
41
43
|
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
42
|
-
}, [disableAbbreviation, thousandSeparator, decimalSeparator, decimalLength, trimDecimals, value]);
|
|
43
|
-
const [focused, setFocused] = useState(false);
|
|
44
|
+
}, [disableAbbreviation, thousandSeparator, decimalSeparator, decimalLength, trimDecimals, value, focused]);
|
|
44
45
|
const escapeRef = useRef(false);
|
|
45
46
|
const handleBlur = useCallback(e => {
|
|
46
47
|
if (escapeRef.current) {
|