@activecollab/components 2.0.186 → 2.0.188
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 +4 -4
- package/dist/cjs/components/Display/DisplayHours.js.map +1 -1
- package/dist/cjs/components/Display/types.js.map +1 -1
- package/dist/cjs/utils/timeUtils.js +6 -6
- package/dist/cjs/utils/timeUtils.js.map +1 -1
- package/dist/cjs/utils/timeUtils.test.js +2 -2
- package/dist/cjs/utils/timeUtils.test.js.map +1 -1
- package/dist/esm/components/Display/DisplayHours.js +2 -2
- package/dist/esm/components/Display/DisplayHours.js.map +1 -1
- package/dist/esm/components/Display/types.d.ts +1 -1
- package/dist/esm/components/Display/types.d.ts.map +1 -1
- package/dist/esm/components/Display/types.js.map +1 -1
- package/dist/esm/utils/timeUtils.d.ts +2 -2
- package/dist/esm/utils/timeUtils.d.ts.map +1 -1
- package/dist/esm/utils/timeUtils.js +8 -8
- package/dist/esm/utils/timeUtils.js.map +1 -1
- package/dist/esm/utils/timeUtils.test.js +4 -4
- package/dist/esm/utils/timeUtils.test.js.map +1 -1
- package/dist/index.js +10 -10
- 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
|
@@ -8,7 +8,7 @@ var _react = _interopRequireWildcard(require("react"));
|
|
|
8
8
|
var _utils = require("../../utils");
|
|
9
9
|
var _Tooltip = require("../Tooltip");
|
|
10
10
|
var _Typography = require("../Typography/Typography");
|
|
11
|
-
var _excluded = ["value", "variant", "thousandSeparator", "decimalSeparator", "
|
|
11
|
+
var _excluded = ["value", "variant", "thousandSeparator", "decimalSeparator", "trimZeroMinutes", "trimDecimals", "decimalSpaces", "format", "disableTooltip", "className", "withLeadingZero", "as"];
|
|
12
12
|
function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }
|
|
13
13
|
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
|
|
14
14
|
function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
|
|
@@ -22,8 +22,8 @@ var DisplayHours = exports.DisplayHours = /*#__PURE__*/(0, _react.forwardRef)(fu
|
|
|
22
22
|
thousandSeparator = _ref$thousandSeparato === void 0 ? "," : _ref$thousandSeparato,
|
|
23
23
|
_ref$decimalSeparator = _ref.decimalSeparator,
|
|
24
24
|
decimalSeparator = _ref$decimalSeparator === void 0 ? "." : _ref$decimalSeparator,
|
|
25
|
-
_ref$
|
|
26
|
-
|
|
25
|
+
_ref$trimZeroMinutes = _ref.trimZeroMinutes,
|
|
26
|
+
trimZeroMinutes = _ref$trimZeroMinutes === void 0 ? false : _ref$trimZeroMinutes,
|
|
27
27
|
_ref$trimDecimals = _ref.trimDecimals,
|
|
28
28
|
trimDecimals = _ref$trimDecimals === void 0 ? true : _ref$trimDecimals,
|
|
29
29
|
_ref$decimalSpaces = _ref.decimalSpaces,
|
|
@@ -39,7 +39,7 @@ var DisplayHours = exports.DisplayHours = /*#__PURE__*/(0, _react.forwardRef)(fu
|
|
|
39
39
|
rest = _objectWithoutProperties(_ref, _excluded);
|
|
40
40
|
var numberValue = +String(value).replaceAll(thousandSeparator, "").replace(decimalSeparator, ".");
|
|
41
41
|
var formattedValue = (0, _utils.formatNumber)(numberValue, thousandSeparator, decimalSeparator, trimDecimals, decimalSpaces, "short");
|
|
42
|
-
var formattedLongValue = (0, _utils.formatHours)(numberValue, withLeadingZero,
|
|
42
|
+
var formattedLongValue = (0, _utils.formatHours)(numberValue, withLeadingZero, trimZeroMinutes);
|
|
43
43
|
var showShortVersion = numberValue > 1000;
|
|
44
44
|
if (format === "short" && showShortVersion) {
|
|
45
45
|
return /*#__PURE__*/_react.default.createElement(_Tooltip.Tooltip, {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DisplayHours.js","names":["_react","_interopRequireWildcard","require","_utils","_Tooltip","_Typography","_excluded","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","_extends","assign","bind","target","arguments","length","source","key","apply","_objectWithoutProperties","excluded","_objectWithoutPropertiesLoose","getOwnPropertySymbols","sourceSymbolKeys","indexOf","propertyIsEnumerable","sourceKeys","keys","DisplayHours","exports","forwardRef","_ref","ref","value","_ref$variant","variant","_ref$thousandSeparato","thousandSeparator","_ref$decimalSeparator","decimalSeparator","_ref$
|
|
1
|
+
{"version":3,"file":"DisplayHours.js","names":["_react","_interopRequireWildcard","require","_utils","_Tooltip","_Typography","_excluded","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","_extends","assign","bind","target","arguments","length","source","key","apply","_objectWithoutProperties","excluded","_objectWithoutPropertiesLoose","getOwnPropertySymbols","sourceSymbolKeys","indexOf","propertyIsEnumerable","sourceKeys","keys","DisplayHours","exports","forwardRef","_ref","ref","value","_ref$variant","variant","_ref$thousandSeparato","thousandSeparator","_ref$decimalSeparator","decimalSeparator","_ref$trimZeroMinutes","trimZeroMinutes","_ref$trimDecimals","trimDecimals","_ref$decimalSpaces","decimalSpaces","_ref$format","format","_ref$disableTooltip","disableTooltip","className","withLeadingZero","_ref$as","as","rest","numberValue","String","replaceAll","replace","formattedValue","formatNumber","formattedLongValue","formatHours","showShortVersion","createElement","Tooltip","title","disable","Typography","displayName"],"sources":["../../../../src/components/Display/DisplayHours.tsx"],"sourcesContent":["import React, { forwardRef } from \"react\";\n\nimport { DisplayHoursProps } from \"./types\";\nimport { formatHours, formatNumber } from \"../../utils\";\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 = +String(value)\n .replaceAll(thousandSeparator, \"\")\n .replace(decimalSeparator, \".\");\n\n const formattedValue = formatNumber(\n numberValue,\n thousandSeparator,\n decimalSeparator,\n trimDecimals,\n decimalSpaces,\n \"short\"\n );\n\n const formattedLongValue = formatHours(\n numberValue,\n withLeadingZero,\n trimZeroMinutes\n );\n\n const showShortVersion = numberValue > 1000;\n\n if (format === \"short\" && showShortVersion) {\n return (\n <Tooltip title={formattedLongValue} disable={disableTooltip}>\n <Typography\n as={as}\n variant={variant}\n className={className}\n ref={ref}\n {...rest}\n >\n {formattedValue}\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 {formattedLongValue}\n </Typography>\n );\n }\n);\n\nDisplayHours.displayName = \"DisplayHours\";\n"],"mappings":"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"}
|
|
@@ -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?: \"short\" | \"long\";\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
|
|
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?: \"short\" | \"long\";\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?: \"short\" | \"long\";\n disableTooltip?: boolean;\n withLeadingZero?: boolean;\n}\n"],"mappings":""}
|
|
@@ -19,7 +19,7 @@ function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
|
|
|
19
19
|
*
|
|
20
20
|
* @param {number | string | undefined} num - The input representing the hours, which can be in decimal format, a time string, or undefined.
|
|
21
21
|
* @param {boolean} [withLeadingZeroHours=false] - Whether to add a leading zero to the hours part of the output.
|
|
22
|
-
* @param {boolean} [
|
|
22
|
+
* @param {boolean} [trimZeroMinutes=false] - Whether to remove minutes if they are zero.
|
|
23
23
|
*
|
|
24
24
|
* @returns {string} - A formatted time string in HH:MM format.
|
|
25
25
|
*
|
|
@@ -29,9 +29,9 @@ function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
|
|
|
29
29
|
*/
|
|
30
30
|
var formatHours = exports.formatHours = function formatHours(num) {
|
|
31
31
|
var withLeadingZeroHours = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;
|
|
32
|
-
var
|
|
32
|
+
var trimZeroMinutes = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;
|
|
33
33
|
if (num === 0 || num === "0") {
|
|
34
|
-
return
|
|
34
|
+
return trimZeroMinutes ? "0" : withLeadingZeroHours ? "00:00" : "0:00";
|
|
35
35
|
}
|
|
36
36
|
if (!num) {
|
|
37
37
|
return "";
|
|
@@ -46,7 +46,7 @@ var formatHours = exports.formatHours = function formatHours(num) {
|
|
|
46
46
|
_minutes = "".concat(Number(_minutes), "0");
|
|
47
47
|
}
|
|
48
48
|
if (_hours && _minutes) {
|
|
49
|
-
if (
|
|
49
|
+
if (trimZeroMinutes && _minutes === "00") {
|
|
50
50
|
return withLeadingZeroHours ? withLeadingZero(_hours) : String(Number(_hours));
|
|
51
51
|
}
|
|
52
52
|
return withLeadingZeroHours ? "".concat(withLeadingZero(_hours), ":").concat(_minutes) : "".concat(_hours, ":").concat(_minutes);
|
|
@@ -64,7 +64,7 @@ var formatHours = exports.formatHours = function formatHours(num) {
|
|
|
64
64
|
}
|
|
65
65
|
var input = typeof num === "string" ? parseFloat(num) : num;
|
|
66
66
|
if (!isDecimal(input)) {
|
|
67
|
-
if (
|
|
67
|
+
if (trimZeroMinutes) {
|
|
68
68
|
return withLeadingZeroHours ? withLeadingZero(input) : String(Number(input));
|
|
69
69
|
}
|
|
70
70
|
return withLeadingZeroHours ? "".concat(withLeadingZero(input), ":00") : "".concat(input, ":00");
|
|
@@ -77,7 +77,7 @@ var formatHours = exports.formatHours = function formatHours(num) {
|
|
|
77
77
|
}
|
|
78
78
|
var minutes = time[1];
|
|
79
79
|
var minutes_formatted = Math.round(parseInt(minutes, 10) / 100 * 60);
|
|
80
|
-
if (
|
|
80
|
+
if (trimZeroMinutes && minutes_formatted === 0) {
|
|
81
81
|
return hours;
|
|
82
82
|
}
|
|
83
83
|
return "".concat(hours, ":").concat(withLeadingZero(minutes_formatted));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"timeUtils.js","names":["formatHours","exports","num","withLeadingZeroHours","arguments","length","undefined","
|
|
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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"}
|
|
@@ -4,8 +4,8 @@ var _timeUtils = require("./timeUtils");
|
|
|
4
4
|
describe("timeUtis.ts", function () {
|
|
5
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) {
|
|
6
6
|
var leadingZero = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;
|
|
7
|
-
var
|
|
8
|
-
expect((0, _timeUtils.formatHours)(value, leadingZero,
|
|
7
|
+
var trimZeroMinutes = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : false;
|
|
8
|
+
expect((0, _timeUtils.formatHours)(value, leadingZero, trimZeroMinutes)).toEqual(expected);
|
|
9
9
|
});
|
|
10
10
|
});
|
|
11
11
|
//# 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","
|
|
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, expected, leadingZero = false, trimZeroMinutes = false) => {\n expect(formatHours(value, leadingZero, trimZeroMinutes)).toEqual(\n expected\n );\n }\n );\n});\n"],"mappings":";;AAAA,IAAAA,UAAA,GAAAC,OAAA;AAEAC,QAAQ,CAAC,aAAa,EAAE,YAAM;EAC5BC,EAAE,CAACC,IAAI,CAAC,CACN,CAAC,MAAM,EAAE,MAAM,CAAC,EAChB,CAAC,MAAM,EAAE,OAAO,EAAE,IAAI,CAAC,EACvB,CAAC,KAAK,EAAE,MAAM,CAAC,EACf,CAAC,MAAM,EAAE,MAAM,CAAC,EAChB,CAAC,KAAK,EAAE,MAAM,CAAC,EACf,CAAC,KAAK,EAAE,MAAM,CAAC,EACf,CAAC,MAAM,EAAE,MAAM,CAAC,EAChB,CAAC,IAAI,EAAE,MAAM,CAAC,EACd,CAAC,IAAI,EAAE,MAAM,CAAC,EACd,CAAC,EAAE,EAAE,EAAE,CAAC,EACR,CAAC,GAAG,EAAE,MAAM,CAAC,EACb,CAAC,IAAI,EAAE,MAAM,CAAC,EACd,CAAC,IAAI,EAAE,OAAO,EAAE,IAAI,CAAC,EACrB,CAAC,KAAK,EAAE,OAAO,EAAE,IAAI,CAAC,EACtB,CAAC,KAAK,EAAE,OAAO,EAAE,IAAI,CAAC,EACtB,CAAC,GAAG,EAAE,OAAO,EAAE,IAAI,CAAC,EACpB,CAAC,GAAG,EAAE,OAAO,EAAE,IAAI,CAAC,EACpB,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,CAAC,EACpB,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,CAAC,EACtB,CAAC,QAAQ,EAAE,QAAQ,EAAE,KAAK,CAAC,EAC3B,CAAC,KAAK,EAAE,QAAQ,EAAE,KAAK,CAAC,EACxB,CAAC,KAAK,EAAE,QAAQ,EAAE,KAAK,CAAC,EACxB,CAAC,MAAM,EAAE,GAAG,EAAE,KAAK,EAAE,IAAI,CAAC,EAC1B,CAAC,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,EAC3B,CAAC,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,CAAC,EAC5B,CAAC,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,IAAI,CAAC,EAC/B,CAAC,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,CAAC,EACzB,CAAC,CAAC,EAAE,GAAG,EAAE,KAAK,EAAE,IAAI,CAAC,EACrB,CAAC,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,CAAC,EACzB,CAAC,CAAC,EAAE,GAAG,EAAE,KAAK,EAAE,IAAI,CAAC,EACrB,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,EACrB,CAAC,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,EAC1B,CAAC,OAAO,EAAE,GAAG,EAAE,KAAK,EAAE,IAAI,CAAC,CAC5B,CAAC,CACA,mBAAmB,EACnB,UAACC,KAAK,EAAEC,QAAQ,EAAmD;IAAA,IAAjDC,WAAW,GAAAC,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAG,KAAK;IAAA,IAAEG,eAAe,GAAAH,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAG,KAAK;IAC5DI,MAAM,CAAC,IAAAC,sBAAW,EAACR,KAAK,EAAEE,WAAW,EAAEI,eAAe,CAAC,CAAC,CAACG,OAAO,CAC9DR,QACF,CAAC;EACH,CACF,CAAC;AACH,CAAC,CAAC"}
|
|
@@ -9,7 +9,7 @@ export const DisplayHours = /*#__PURE__*/forwardRef((_ref, ref) => {
|
|
|
9
9
|
variant = "Body 2",
|
|
10
10
|
thousandSeparator = ",",
|
|
11
11
|
decimalSeparator = ".",
|
|
12
|
-
|
|
12
|
+
trimZeroMinutes = false,
|
|
13
13
|
trimDecimals = true,
|
|
14
14
|
decimalSpaces = 2,
|
|
15
15
|
format = "long",
|
|
@@ -21,7 +21,7 @@ export const DisplayHours = /*#__PURE__*/forwardRef((_ref, ref) => {
|
|
|
21
21
|
} = _ref;
|
|
22
22
|
const numberValue = +String(value).replaceAll(thousandSeparator, "").replace(decimalSeparator, ".");
|
|
23
23
|
const formattedValue = formatNumber(numberValue, thousandSeparator, decimalSeparator, trimDecimals, decimalSpaces, "short");
|
|
24
|
-
const formattedLongValue = formatHours(numberValue, withLeadingZero,
|
|
24
|
+
const formattedLongValue = formatHours(numberValue, withLeadingZero, trimZeroMinutes);
|
|
25
25
|
const showShortVersion = numberValue > 1000;
|
|
26
26
|
if (format === "short" && showShortVersion) {
|
|
27
27
|
return /*#__PURE__*/React.createElement(Tooltip, {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DisplayHours.js","names":["React","forwardRef","formatHours","formatNumber","Tooltip","Typography","DisplayHours","_ref","ref","value","variant","thousandSeparator","decimalSeparator","
|
|
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","String","replaceAll","replace","formattedValue","formattedLongValue","showShortVersion","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 { 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 = +String(value)\n .replaceAll(thousandSeparator, \"\")\n .replace(decimalSeparator, \".\");\n\n const formattedValue = formatNumber(\n numberValue,\n thousandSeparator,\n decimalSeparator,\n trimDecimals,\n decimalSpaces,\n \"short\"\n );\n\n const formattedLongValue = formatHours(\n numberValue,\n withLeadingZero,\n trimZeroMinutes\n );\n\n const showShortVersion = numberValue > 1000;\n\n if (format === \"short\" && showShortVersion) {\n return (\n <Tooltip title={formattedLongValue} disable={disableTooltip}>\n <Typography\n as={as}\n variant={variant}\n className={className}\n ref={ref}\n {...rest}\n >\n {formattedValue}\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 {formattedLongValue}\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,OAAO,QAAQ,YAAY;AACpC,SAASC,UAAU,QAAQ,0BAA0B;AAErD,OAAO,MAAMC,YAAY,gBAAGL,UAAU,CACpC,CAAAM,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,GAAG,CAACC,MAAM,CAACd,KAAK,CAAC,CAC/Be,UAAU,CAACb,iBAAiB,EAAE,EAAE,CAAC,CACjCc,OAAO,CAACb,gBAAgB,EAAE,GAAG,CAAC;EAEjC,MAAMc,cAAc,GAAGvB,YAAY,CACjCmB,WAAW,EACXX,iBAAiB,EACjBC,gBAAgB,EAChBE,YAAY,EACZC,aAAa,EACb,OACF,CAAC;EAED,MAAMY,kBAAkB,GAAGzB,WAAW,CACpCoB,WAAW,EACXH,eAAe,EACfN,eACF,CAAC;EAED,MAAMe,gBAAgB,GAAGN,WAAW,GAAG,IAAI;EAE3C,IAAIN,MAAM,KAAK,OAAO,IAAIY,gBAAgB,EAAE;IAC1C,oBACE5B,KAAA,CAAA6B,aAAA,CAACzB,OAAO;MAAC0B,KAAK,EAAEH,kBAAmB;MAACI,OAAO,EAAEd;IAAe,gBAC1DjB,KAAA,CAAA6B,aAAA,CAACxB,UAAU,EAAA2B,QAAA;MACTZ,EAAE,EAAEA,EAAG;MACPV,OAAO,EAAEA,OAAQ;MACjBQ,SAAS,EAAEA,SAAU;MACrBV,GAAG,EAAEA;IAAI,GACLa,IAAI,GAEPK,cACS,CACL,CAAC;EAEd;EAEA,oBACE1B,KAAA,CAAA6B,aAAA,CAACxB,UAAU,EAAA2B,QAAA;IACTZ,EAAE,EAAEA,EAAG;IACPV,OAAO,EAAEA,OAAQ;IACjBQ,SAAS,EAAEA,SAAU;IACrBV,GAAG,EAAEA;EAAI,GACLa,IAAI,GAEPM,kBACS,CAAC;AAEjB,CACF,CAAC;AAEDrB,YAAY,CAAC2B,WAAW,GAAG,cAAc"}
|
|
@@ -12,7 +12,7 @@ export interface DisplayHoursProps extends Omit<TypographyProps<"span">, "childr
|
|
|
12
12
|
value: string | number;
|
|
13
13
|
thousandSeparator?: string;
|
|
14
14
|
decimalSeparator?: string;
|
|
15
|
-
|
|
15
|
+
trimZeroMinutes?: boolean;
|
|
16
16
|
trimDecimals?: boolean;
|
|
17
17
|
decimalSpaces?: number;
|
|
18
18
|
format?: "short" | "long";
|
|
@@ -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,OAAO,GAAG,MAAM,CAAC;IAC1B,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,
|
|
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,OAAO,GAAG,MAAM,CAAC;IAC1B,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,OAAO,GAAG,MAAM,CAAC;IAC1B,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?: \"short\" | \"long\";\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
|
|
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?: \"short\" | \"long\";\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?: \"short\" | \"long\";\n disableTooltip?: boolean;\n withLeadingZero?: boolean;\n}\n"],"mappings":""}
|
|
@@ -7,7 +7,7 @@
|
|
|
7
7
|
*
|
|
8
8
|
* @param {number | string | undefined} num - The input representing the hours, which can be in decimal format, a time string, or undefined.
|
|
9
9
|
* @param {boolean} [withLeadingZeroHours=false] - Whether to add a leading zero to the hours part of the output.
|
|
10
|
-
* @param {boolean} [
|
|
10
|
+
* @param {boolean} [trimZeroMinutes=false] - Whether to remove minutes if they are zero.
|
|
11
11
|
*
|
|
12
12
|
* @returns {string} - A formatted time string in HH:MM format.
|
|
13
13
|
*
|
|
@@ -15,7 +15,7 @@
|
|
|
15
15
|
* formatHours(1.5) // "1:30"
|
|
16
16
|
* formatHours("3.5", true) // "03:30"
|
|
17
17
|
*/
|
|
18
|
-
export declare const formatHours: (num: number | string | undefined, withLeadingZeroHours?: boolean,
|
|
18
|
+
export declare const formatHours: (num: number | string | undefined, withLeadingZeroHours?: boolean, trimZeroMinutes?: boolean) => string;
|
|
19
19
|
export declare const withLeadingZero: (num: string | number, size?: number) => string;
|
|
20
20
|
export declare const isDecimal: (num: number) => boolean;
|
|
21
21
|
export declare const isValidTime: (time: string | undefined) => boolean;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"timeUtils.d.ts","sourceRoot":"","sources":["../../../src/utils/timeUtils.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AACH,eAAO,MAAM,WAAW,QACjB,MAAM,GAAG,MAAM,GAAG,SAAS,
|
|
1
|
+
{"version":3,"file":"timeUtils.d.ts","sourceRoot":"","sources":["../../../src/utils/timeUtils.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AACH,eAAO,MAAM,WAAW,QACjB,MAAM,GAAG,MAAM,GAAG,SAAS,gEAG/B,MA+DF,CAAC;AAEF,eAAO,MAAM,eAAe,QAAS,MAAM,GAAG,MAAM,0BAInD,CAAC;AAEF,eAAO,MAAM,SAAS,QAAS,MAAM,KAAG,OAEvC,CAAC;AAEF,eAAO,MAAM,WAAW,SAAU,MAAM,GAAG,SAAS,KAAG,OAEtD,CAAC"}
|
|
@@ -7,7 +7,7 @@
|
|
|
7
7
|
*
|
|
8
8
|
* @param {number | string | undefined} num - The input representing the hours, which can be in decimal format, a time string, or undefined.
|
|
9
9
|
* @param {boolean} [withLeadingZeroHours=false] - Whether to add a leading zero to the hours part of the output.
|
|
10
|
-
* @param {boolean} [
|
|
10
|
+
* @param {boolean} [trimZeroMinutes=false] - Whether to remove minutes if they are zero.
|
|
11
11
|
*
|
|
12
12
|
* @returns {string} - A formatted time string in HH:MM format.
|
|
13
13
|
*
|
|
@@ -15,15 +15,15 @@
|
|
|
15
15
|
* formatHours(1.5) // "1:30"
|
|
16
16
|
* formatHours("3.5", true) // "03:30"
|
|
17
17
|
*/
|
|
18
|
-
export const formatHours = function (num, withLeadingZeroHours,
|
|
18
|
+
export const formatHours = function (num, withLeadingZeroHours, trimZeroMinutes) {
|
|
19
19
|
if (withLeadingZeroHours === void 0) {
|
|
20
20
|
withLeadingZeroHours = false;
|
|
21
21
|
}
|
|
22
|
-
if (
|
|
23
|
-
|
|
22
|
+
if (trimZeroMinutes === void 0) {
|
|
23
|
+
trimZeroMinutes = false;
|
|
24
24
|
}
|
|
25
25
|
if (num === 0 || num === "0") {
|
|
26
|
-
return
|
|
26
|
+
return trimZeroMinutes ? "0" : withLeadingZeroHours ? "00:00" : "0:00";
|
|
27
27
|
}
|
|
28
28
|
if (!num) {
|
|
29
29
|
return "";
|
|
@@ -35,7 +35,7 @@ export const formatHours = function (num, withLeadingZeroHours, trimZeroes) {
|
|
|
35
35
|
_minutes = Number(_minutes) + "0";
|
|
36
36
|
}
|
|
37
37
|
if (_hours && _minutes) {
|
|
38
|
-
if (
|
|
38
|
+
if (trimZeroMinutes && _minutes === "00") {
|
|
39
39
|
return withLeadingZeroHours ? withLeadingZero(_hours) : String(Number(_hours));
|
|
40
40
|
}
|
|
41
41
|
return withLeadingZeroHours ? withLeadingZero(_hours) + ":" + _minutes : _hours + ":" + _minutes;
|
|
@@ -53,7 +53,7 @@ export const formatHours = function (num, withLeadingZeroHours, trimZeroes) {
|
|
|
53
53
|
}
|
|
54
54
|
const input = typeof num === "string" ? parseFloat(num) : num;
|
|
55
55
|
if (!isDecimal(input)) {
|
|
56
|
-
if (
|
|
56
|
+
if (trimZeroMinutes) {
|
|
57
57
|
return withLeadingZeroHours ? withLeadingZero(input) : String(Number(input));
|
|
58
58
|
}
|
|
59
59
|
return withLeadingZeroHours ? withLeadingZero(input) + ":00" : input + ":00";
|
|
@@ -66,7 +66,7 @@ export const formatHours = function (num, withLeadingZeroHours, trimZeroes) {
|
|
|
66
66
|
}
|
|
67
67
|
const minutes = time[1];
|
|
68
68
|
const minutes_formatted = Math.round(parseInt(minutes, 10) / 100 * 60);
|
|
69
|
-
if (
|
|
69
|
+
if (trimZeroMinutes && minutes_formatted === 0) {
|
|
70
70
|
return hours;
|
|
71
71
|
}
|
|
72
72
|
return hours + ":" + withLeadingZero(minutes_formatted);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"timeUtils.js","names":["formatHours","num","withLeadingZeroHours","
|
|
1
|
+
{"version":3,"file":"timeUtils.js","names":["formatHours","num","withLeadingZeroHours","trimZeroMinutes","indexOf","_hours","_minutes","split","length","Number","withLeadingZero","String","replace","input","parseFloat","isDecimal","decimal","toFixed","time","toString","hours","minutes","minutes_formatted","Math","round","parseInt","size","s","isInteger","isValidTime","undefined","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":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,MAAMA,WAAW,GAAG,SAAAA,CACzBC,GAAgC,EAChCC,oBAAoB,EACpBC,eAAe,EACJ;EAAA,IAFXD,oBAAoB;IAApBA,oBAAoB,GAAG,KAAK;EAAA;EAAA,IAC5BC,eAAe;IAAfA,eAAe,GAAG,KAAK;EAAA;EAEvB,IAAIF,GAAG,KAAK,CAAC,IAAIA,GAAG,KAAK,GAAG,EAAE;IAC5B,OAAOE,eAAe,GAAG,GAAG,GAAGD,oBAAoB,GAAG,OAAO,GAAG,MAAM;EACxE;EACA,IAAI,CAACD,GAAG,EAAE;IACR,OAAO,EAAE;EACX;EACA,IAAI,OAAOA,GAAG,KAAK,QAAQ,IAAIA,GAAG,CAACG,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE;IACpD;IACA,IAAI,CAACC,MAAM,EAAEC,QAAQ,CAAC,GAAGL,GAAG,CAACM,KAAK,CAAC,GAAG,CAAC;IACvC,IAAID,QAAQ,IAAIA,QAAQ,CAACE,MAAM,KAAK,CAAC,IAAIC,MAAM,CAACH,QAAQ,CAAC,GAAG,EAAE,EAAE;MAC9DA,QAAQ,GAAMG,MAAM,CAACH,QAAQ,CAAC,MAAG;IACnC;IACA,IAAID,MAAM,IAAIC,QAAQ,EAAE;MACtB,IAAIH,eAAe,IAAIG,QAAQ,KAAK,IAAI,EAAE;QACxC,OAAOJ,oBAAoB,GACvBQ,eAAe,CAACL,MAAM,CAAC,GACvBM,MAAM,CAACF,MAAM,CAACJ,MAAM,CAAC,CAAC;MAC5B;MACA,OAAOH,oBAAoB,GACpBQ,eAAe,CAACL,MAAM,CAAC,SAAIC,QAAQ,GACnCD,MAAM,SAAIC,QAAU;IAC7B,CAAC,MAAM,IAAID,MAAM,IAAI,CAACC,QAAQ,EAAE;MAC9B,OAAOJ,oBAAoB,GACpBQ,eAAe,CAACL,MAAM,CAAC,WACvBA,MAAM,QAAK;IACpB,CAAC,MAAM,IAAI,CAACA,MAAM,IAAIC,QAAQ,EAAE;MAC9B,OAAOJ,oBAAoB,WAASI,QAAQ,UAAUA,QAAU;IAClE,CAAC,MAAM,IAAI,CAACD,MAAM,IAAI,CAACC,QAAQ,EAAE;MAC/B,OAAOJ,oBAAoB,GAAG,OAAO,GAAG,MAAM;IAChD;IACA,OAAOA,oBAAoB,WAASI,QAAQ,UAAUA,QAAU;EAClE;EACA,IAAI,OAAOL,GAAG,KAAK,QAAQ,IAAIA,GAAG,CAACG,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE;IACpDH,GAAG,GAAGA,GAAG,CAACW,OAAO,CAAC,GAAG,EAAE,GAAG,CAAC;EAC7B;EACA,MAAMC,KAAK,GAAG,OAAOZ,GAAG,KAAK,QAAQ,GAAGa,UAAU,CAACb,GAAG,CAAC,GAAGA,GAAG;EAE7D,IAAI,CAACc,SAAS,CAACF,KAAK,CAAC,EAAE;IACrB,IAAIV,eAAe,EAAE;MACnB,OAAOD,oBAAoB,GACvBQ,eAAe,CAACG,KAAK,CAAC,GACtBF,MAAM,CAACF,MAAM,CAACI,KAAK,CAAC,CAAC;IAC3B;IACA,OAAOX,oBAAoB,GACpBQ,eAAe,CAACG,KAAK,CAAC,WACtBA,KAAK,QAAK;EACnB;EAEA,MAAMG,OAAO,GAAGH,KAAK,CAACI,OAAO,CAAC,CAAC,CAAC;EAChC,MAAMC,IAAI,GAAGF,OAAO,CAACG,QAAQ,CAAC,CAAC,CAACZ,KAAK,CAAC,GAAG,CAAC;EAC1C,IAAIa,KAAa,GAAGF,IAAI,CAAC,CAAC,CAAC;EAC3B,IAAIhB,oBAAoB,EAAE;IACxBkB,KAAK,GAAGV,eAAe,CAACU,KAAK,CAAC;EAChC;EACA,MAAMC,OAAe,GAAGH,IAAI,CAAC,CAAC,CAAC;EAC/B,MAAMI,iBAAiB,GAAGC,IAAI,CAACC,KAAK,CAAEC,QAAQ,CAACJ,OAAO,EAAE,EAAE,CAAC,GAAG,GAAG,GAAI,EAAE,CAAC;EAExE,IAAIlB,eAAe,IAAImB,iBAAiB,KAAK,CAAC,EAAE;IAC9C,OAAOF,KAAK;EACd;EAEA,OAAUA,KAAK,SAAIV,eAAe,CAACY,iBAAiB,CAAC;AACvD,CAAC;AAED,OAAO,MAAMZ,eAAe,GAAG,SAAAA,CAACT,GAAoB,EAAEyB,IAAI,EAAS;EAAA,IAAbA,IAAI;IAAJA,IAAI,GAAG,CAAC;EAAA;EAC5D,IAAIC,CAAC,QAAM1B,GAAK;EAChB,OAAO0B,CAAC,CAACnB,MAAM,GAAGkB,IAAI,EAAEC,CAAC,GAAG,MAAMA,CAAC;EACnC,OAAOA,CAAC;AACV,CAAC;AAED,OAAO,MAAMZ,SAAS,GAAId,GAAW,IAAc;EACjD,OAAO,CAACQ,MAAM,CAACmB,SAAS,CAAC3B,GAAG,CAAC;AAC/B,CAAC;AAED,OAAO,MAAM4B,WAAW,GAAIX,IAAwB,IAAc;EAChE,OAAOA,IAAI,KAAKY,SAAS,IAAI,6BAA6B,CAACC,IAAI,CAACb,IAAI,CAAC;AACvE,CAAC"}
|
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
import { formatHours } from "./timeUtils";
|
|
2
2
|
describe("timeUtis.ts", () => {
|
|
3
|
-
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, leadingZero,
|
|
3
|
+
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, leadingZero, trimZeroMinutes) {
|
|
4
4
|
if (leadingZero === void 0) {
|
|
5
5
|
leadingZero = false;
|
|
6
6
|
}
|
|
7
|
-
if (
|
|
8
|
-
|
|
7
|
+
if (trimZeroMinutes === void 0) {
|
|
8
|
+
trimZeroMinutes = false;
|
|
9
9
|
}
|
|
10
|
-
expect(formatHours(value, leadingZero,
|
|
10
|
+
expect(formatHours(value, leadingZero, trimZeroMinutes)).toEqual(expected);
|
|
11
11
|
});
|
|
12
12
|
});
|
|
13
13
|
//# sourceMappingURL=timeUtils.test.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"timeUtils.test.js","names":["formatHours","describe","it","each","value","expected","leadingZero","
|
|
1
|
+
{"version":3,"file":"timeUtils.test.js","names":["formatHours","describe","it","each","value","expected","leadingZero","trimZeroMinutes","expect","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, expected, leadingZero = false, trimZeroMinutes = false) => {\n expect(formatHours(value, leadingZero, trimZeroMinutes)).toEqual(\n expected\n );\n }\n );\n});\n"],"mappings":"AAAA,SAASA,WAAW,QAAQ,aAAa;AAEzCC,QAAQ,CAAC,aAAa,EAAE,MAAM;EAC5BC,EAAE,CAACC,IAAI,CAAC,CACN,CAAC,MAAM,EAAE,MAAM,CAAC,EAChB,CAAC,MAAM,EAAE,OAAO,EAAE,IAAI,CAAC,EACvB,CAAC,KAAK,EAAE,MAAM,CAAC,EACf,CAAC,MAAM,EAAE,MAAM,CAAC,EAChB,CAAC,KAAK,EAAE,MAAM,CAAC,EACf,CAAC,KAAK,EAAE,MAAM,CAAC,EACf,CAAC,MAAM,EAAE,MAAM,CAAC,EAChB,CAAC,IAAI,EAAE,MAAM,CAAC,EACd,CAAC,IAAI,EAAE,MAAM,CAAC,EACd,CAAC,EAAE,EAAE,EAAE,CAAC,EACR,CAAC,GAAG,EAAE,MAAM,CAAC,EACb,CAAC,IAAI,EAAE,MAAM,CAAC,EACd,CAAC,IAAI,EAAE,OAAO,EAAE,IAAI,CAAC,EACrB,CAAC,KAAK,EAAE,OAAO,EAAE,IAAI,CAAC,EACtB,CAAC,KAAK,EAAE,OAAO,EAAE,IAAI,CAAC,EACtB,CAAC,GAAG,EAAE,OAAO,EAAE,IAAI,CAAC,EACpB,CAAC,GAAG,EAAE,OAAO,EAAE,IAAI,CAAC,EACpB,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,CAAC,EACpB,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,CAAC,EACtB,CAAC,QAAQ,EAAE,QAAQ,EAAE,KAAK,CAAC,EAC3B,CAAC,KAAK,EAAE,QAAQ,EAAE,KAAK,CAAC,EACxB,CAAC,KAAK,EAAE,QAAQ,EAAE,KAAK,CAAC,EACxB,CAAC,MAAM,EAAE,GAAG,EAAE,KAAK,EAAE,IAAI,CAAC,EAC1B,CAAC,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,EAC3B,CAAC,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,CAAC,EAC5B,CAAC,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,IAAI,CAAC,EAC/B,CAAC,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,CAAC,EACzB,CAAC,CAAC,EAAE,GAAG,EAAE,KAAK,EAAE,IAAI,CAAC,EACrB,CAAC,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,CAAC,EACzB,CAAC,CAAC,EAAE,GAAG,EAAE,KAAK,EAAE,IAAI,CAAC,EACrB,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,EACrB,CAAC,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,EAC1B,CAAC,OAAO,EAAE,GAAG,EAAE,KAAK,EAAE,IAAI,CAAC,CAC5B,CAAC,CACA,mBAAmB,EACnB,UAACC,KAAK,EAAEC,QAAQ,EAAEC,WAAW,EAAUC,eAAe,EAAa;IAAA,IAAjDD,WAAW;MAAXA,WAAW,GAAG,KAAK;IAAA;IAAA,IAAEC,eAAe;MAAfA,eAAe,GAAG,KAAK;IAAA;IAC5DC,MAAM,CAACR,WAAW,CAACI,KAAK,EAAEE,WAAW,EAAEC,eAAe,CAAC,CAAC,CAACE,OAAO,CAC9DJ,QACF,CAAC;EACH,CACF,CAAC;AACH,CAAC,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -801,7 +801,7 @@
|
|
|
801
801
|
*
|
|
802
802
|
* @param {number | string | undefined} num - The input representing the hours, which can be in decimal format, a time string, or undefined.
|
|
803
803
|
* @param {boolean} [withLeadingZeroHours=false] - Whether to add a leading zero to the hours part of the output.
|
|
804
|
-
* @param {boolean} [
|
|
804
|
+
* @param {boolean} [trimZeroMinutes=false] - Whether to remove minutes if they are zero.
|
|
805
805
|
*
|
|
806
806
|
* @returns {string} - A formatted time string in HH:MM format.
|
|
807
807
|
*
|
|
@@ -811,9 +811,9 @@
|
|
|
811
811
|
*/
|
|
812
812
|
var formatHours = function formatHours(num) {
|
|
813
813
|
var withLeadingZeroHours = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;
|
|
814
|
-
var
|
|
814
|
+
var trimZeroMinutes = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;
|
|
815
815
|
if (num === 0 || num === "0") {
|
|
816
|
-
return
|
|
816
|
+
return trimZeroMinutes ? "0" : withLeadingZeroHours ? "00:00" : "0:00";
|
|
817
817
|
}
|
|
818
818
|
if (!num) {
|
|
819
819
|
return "";
|
|
@@ -828,7 +828,7 @@
|
|
|
828
828
|
_minutes = "".concat(Number(_minutes), "0");
|
|
829
829
|
}
|
|
830
830
|
if (_hours && _minutes) {
|
|
831
|
-
if (
|
|
831
|
+
if (trimZeroMinutes && _minutes === "00") {
|
|
832
832
|
return withLeadingZeroHours ? withLeadingZero(_hours) : String(Number(_hours));
|
|
833
833
|
}
|
|
834
834
|
return withLeadingZeroHours ? "".concat(withLeadingZero(_hours), ":").concat(_minutes) : "".concat(_hours, ":").concat(_minutes);
|
|
@@ -846,7 +846,7 @@
|
|
|
846
846
|
}
|
|
847
847
|
var input = typeof num === "string" ? parseFloat(num) : num;
|
|
848
848
|
if (!isDecimal(input)) {
|
|
849
|
-
if (
|
|
849
|
+
if (trimZeroMinutes) {
|
|
850
850
|
return withLeadingZeroHours ? withLeadingZero(input) : String(Number(input));
|
|
851
851
|
}
|
|
852
852
|
return withLeadingZeroHours ? "".concat(withLeadingZero(input), ":00") : "".concat(input, ":00");
|
|
@@ -859,7 +859,7 @@
|
|
|
859
859
|
}
|
|
860
860
|
var minutes = time[1];
|
|
861
861
|
var minutes_formatted = Math.round(parseInt(minutes, 10) / 100 * 60);
|
|
862
|
-
if (
|
|
862
|
+
if (trimZeroMinutes && minutes_formatted === 0) {
|
|
863
863
|
return hours;
|
|
864
864
|
}
|
|
865
865
|
return "".concat(hours, ":").concat(withLeadingZero(minutes_formatted));
|
|
@@ -17616,7 +17616,7 @@
|
|
|
17616
17616
|
});
|
|
17617
17617
|
DisplayCurrency.displayName = "DisplayCurrency";
|
|
17618
17618
|
|
|
17619
|
-
var _excluded$x = ["value", "variant", "thousandSeparator", "decimalSeparator", "
|
|
17619
|
+
var _excluded$x = ["value", "variant", "thousandSeparator", "decimalSeparator", "trimZeroMinutes", "trimDecimals", "decimalSpaces", "format", "disableTooltip", "className", "withLeadingZero", "as"];
|
|
17620
17620
|
var DisplayHours = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
|
|
17621
17621
|
var value = _ref.value,
|
|
17622
17622
|
_ref$variant = _ref.variant,
|
|
@@ -17625,8 +17625,8 @@
|
|
|
17625
17625
|
thousandSeparator = _ref$thousandSeparato === void 0 ? "," : _ref$thousandSeparato,
|
|
17626
17626
|
_ref$decimalSeparator = _ref.decimalSeparator,
|
|
17627
17627
|
decimalSeparator = _ref$decimalSeparator === void 0 ? "." : _ref$decimalSeparator,
|
|
17628
|
-
_ref$
|
|
17629
|
-
|
|
17628
|
+
_ref$trimZeroMinutes = _ref.trimZeroMinutes,
|
|
17629
|
+
trimZeroMinutes = _ref$trimZeroMinutes === void 0 ? false : _ref$trimZeroMinutes,
|
|
17630
17630
|
_ref$trimDecimals = _ref.trimDecimals,
|
|
17631
17631
|
trimDecimals = _ref$trimDecimals === void 0 ? true : _ref$trimDecimals,
|
|
17632
17632
|
_ref$decimalSpaces = _ref.decimalSpaces,
|
|
@@ -17642,7 +17642,7 @@
|
|
|
17642
17642
|
rest = _objectWithoutProperties(_ref, _excluded$x);
|
|
17643
17643
|
var numberValue = +String(value).replaceAll(thousandSeparator, "").replace(decimalSeparator, ".");
|
|
17644
17644
|
var formattedValue = formatNumber(numberValue, thousandSeparator, decimalSeparator, trimDecimals, decimalSpaces, "short");
|
|
17645
|
-
var formattedLongValue = formatHours(numberValue, withLeadingZero,
|
|
17645
|
+
var formattedLongValue = formatHours(numberValue, withLeadingZero, trimZeroMinutes);
|
|
17646
17646
|
var showShortVersion = numberValue > 1000;
|
|
17647
17647
|
if (format === "short" && showShortVersion) {
|
|
17648
17648
|
return /*#__PURE__*/React__default["default"].createElement(Tooltip, {
|