@activecollab/components 2.0.195 → 2.0.197

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.
Files changed (62) hide show
  1. package/dist/cjs/components/Display/DisplayHours.js +9 -8
  2. package/dist/cjs/components/Display/DisplayHours.js.map +1 -1
  3. package/dist/cjs/components/Display/types.js.map +1 -1
  4. package/dist/cjs/components/Sort/Sort.js +92 -0
  5. package/dist/cjs/components/Sort/Sort.js.map +1 -0
  6. package/dist/cjs/components/Sort/Styles.js +95 -0
  7. package/dist/cjs/components/Sort/Styles.js.map +1 -0
  8. package/dist/cjs/components/Sort/index.js +17 -0
  9. package/dist/cjs/components/Sort/index.js.map +1 -0
  10. package/dist/cjs/components/index.js +11 -0
  11. package/dist/cjs/components/index.js.map +1 -1
  12. package/dist/cjs/utils/currencyUtils.js +20 -1
  13. package/dist/cjs/utils/currencyUtils.js.map +1 -1
  14. package/dist/cjs/utils/currencyUtils.test.js +5 -0
  15. package/dist/cjs/utils/currencyUtils.test.js.map +1 -1
  16. package/dist/cjs/utils/timeUtils.js +28 -9
  17. package/dist/cjs/utils/timeUtils.js.map +1 -1
  18. package/dist/cjs/utils/timeUtils.test.js +3 -2
  19. package/dist/cjs/utils/timeUtils.test.js.map +1 -1
  20. package/dist/cjs/utils/types.js.map +1 -1
  21. package/dist/esm/components/Display/DisplayHours.d.ts.map +1 -1
  22. package/dist/esm/components/Display/DisplayHours.js +9 -8
  23. package/dist/esm/components/Display/DisplayHours.js.map +1 -1
  24. package/dist/esm/components/Display/types.d.ts +3 -2
  25. package/dist/esm/components/Display/types.d.ts.map +1 -1
  26. package/dist/esm/components/Display/types.js.map +1 -1
  27. package/dist/esm/components/Sort/Sort.d.ts +23 -0
  28. package/dist/esm/components/Sort/Sort.d.ts.map +1 -0
  29. package/dist/esm/components/Sort/Sort.js +71 -0
  30. package/dist/esm/components/Sort/Sort.js.map +1 -0
  31. package/dist/esm/components/Sort/Styles.d.ts +30 -0
  32. package/dist/esm/components/Sort/Styles.d.ts.map +1 -0
  33. package/dist/esm/components/Sort/Styles.js +85 -0
  34. package/dist/esm/components/Sort/Styles.js.map +1 -0
  35. package/dist/esm/components/Sort/index.d.ts +2 -0
  36. package/dist/esm/components/Sort/index.d.ts.map +1 -0
  37. package/dist/esm/components/Sort/index.js +2 -0
  38. package/dist/esm/components/Sort/index.js.map +1 -0
  39. package/dist/esm/components/index.d.ts +1 -0
  40. package/dist/esm/components/index.d.ts.map +1 -1
  41. package/dist/esm/components/index.js +1 -0
  42. package/dist/esm/components/index.js.map +1 -1
  43. package/dist/esm/utils/currencyUtils.d.ts +1 -0
  44. package/dist/esm/utils/currencyUtils.d.ts.map +1 -1
  45. package/dist/esm/utils/currencyUtils.js +10 -0
  46. package/dist/esm/utils/currencyUtils.js.map +1 -1
  47. package/dist/esm/utils/currencyUtils.test.js +6 -1
  48. package/dist/esm/utils/currencyUtils.test.js.map +1 -1
  49. package/dist/esm/utils/timeUtils.d.ts +11 -7
  50. package/dist/esm/utils/timeUtils.d.ts.map +1 -1
  51. package/dist/esm/utils/timeUtils.js +31 -10
  52. package/dist/esm/utils/timeUtils.js.map +1 -1
  53. package/dist/esm/utils/timeUtils.test.js +5 -2
  54. package/dist/esm/utils/timeUtils.test.js.map +1 -1
  55. package/dist/esm/utils/types.d.ts +2 -1
  56. package/dist/esm/utils/types.d.ts.map +1 -1
  57. package/dist/esm/utils/types.js.map +1 -1
  58. package/dist/index.js +217 -28
  59. package/dist/index.js.map +1 -1
  60. package/dist/index.min.js +1 -1
  61. package/dist/index.min.js.map +1 -1
  62. package/package.json +1 -1
@@ -0,0 +1,71 @@
1
+ import React, { useCallback, useMemo, useState } from "react";
2
+ import { StyledIconButton, StyledList, StyledListItem, StyledListItemName, StyledSortIcon, StyledSortIconDown, StyledSortIconUp, StyledSortWrapper, StyledValueButton } from "./Styles";
3
+ import { Menu } from "../Menu";
4
+ export const Sort = _ref => {
5
+ let {
6
+ label,
7
+ icon,
8
+ options,
9
+ selected,
10
+ onChange,
11
+ target,
12
+ className
13
+ } = _ref;
14
+ const [open, setOpen] = useState(false);
15
+ const handleClose = useCallback(() => setOpen(false), []);
16
+ const handleOpen = useCallback(() => setOpen(true), []);
17
+ const handleOnChange = useCallback(event => {
18
+ const nextSortBy = event.currentTarget.dataset.id;
19
+ let nextOrder = selected.sortDirection === "desc" ? "asc" : "desc";
20
+ if (nextSortBy !== selected.sortBy) {
21
+ var _options$find;
22
+ nextOrder = ((_options$find = options.find(opt => opt.id === nextSortBy)) == null ? void 0 : _options$find.defaultDirection) || "asc";
23
+ }
24
+ onChange({
25
+ sortBy: nextSortBy,
26
+ sortDirection: nextOrder
27
+ });
28
+ }, [onChange, selected, options]);
29
+ const labelText = useMemo(() => {
30
+ var _options$find$name, _options$find2;
31
+ return (_options$find$name = (_options$find2 = options.find(opt => opt.id === selected.sortBy)) == null ? void 0 : _options$find2.name) != null ? _options$find$name : "";
32
+ }, [selected.sortBy, options]);
33
+ if (!labelText) {
34
+ console.warn("Cannot find selected id in options.");
35
+ }
36
+ return /*#__PURE__*/React.createElement(Menu, {
37
+ onOpen: handleOpen,
38
+ onClose: handleClose,
39
+ position: "bottom-end",
40
+ target: target || /*#__PURE__*/React.createElement(StyledSortWrapper, {
41
+ className: className
42
+ }, /*#__PURE__*/React.createElement(StyledValueButton, {
43
+ active: open,
44
+ value: labelText,
45
+ label: label,
46
+ "data-testid": "sort-button"
47
+ }), /*#__PURE__*/React.createElement(StyledIconButton, {
48
+ active: open,
49
+ variant: "text gray",
50
+ "data-testid": "sort-icon-button"
51
+ }, icon || /*#__PURE__*/React.createElement(StyledSortIcon, null)))
52
+ }, /*#__PURE__*/React.createElement(StyledList, null, options.map(_ref2 => {
53
+ let {
54
+ id,
55
+ name,
56
+ defaultDirection
57
+ } = _ref2;
58
+ let showDownArrow = selected.sortDirection === "asc";
59
+ if (selected.sortBy !== id) {
60
+ showDownArrow = defaultDirection === "asc";
61
+ }
62
+ return /*#__PURE__*/React.createElement(StyledListItem, {
63
+ key: id,
64
+ onClick: handleOnChange,
65
+ "data-id": id,
66
+ "data-testid": id,
67
+ $active: id === selected.sortBy
68
+ }, /*#__PURE__*/React.createElement(StyledListItemName, null, name), showDownArrow ? /*#__PURE__*/React.createElement(StyledSortIconDown, null) : /*#__PURE__*/React.createElement(StyledSortIconUp, null));
69
+ })));
70
+ };
71
+ //# sourceMappingURL=Sort.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Sort.js","names":["React","useCallback","useMemo","useState","StyledIconButton","StyledList","StyledListItem","StyledListItemName","StyledSortIcon","StyledSortIconDown","StyledSortIconUp","StyledSortWrapper","StyledValueButton","Menu","Sort","_ref","label","icon","options","selected","onChange","target","className","open","setOpen","handleClose","handleOpen","handleOnChange","event","nextSortBy","currentTarget","dataset","id","nextOrder","sortDirection","sortBy","_options$find","find","opt","defaultDirection","labelText","_options$find$name","_options$find2","name","console","warn","createElement","onOpen","onClose","position","active","value","variant","map","_ref2","showDownArrow","key","onClick","$active"],"sources":["../../../../src/components/Sort/Sort.tsx"],"sourcesContent":["import React, { useCallback, useMemo, useState } from \"react\";\n\nimport {\n StyledIconButton,\n StyledList,\n StyledListItem,\n StyledListItemName,\n StyledSortIcon,\n StyledSortIconDown,\n StyledSortIconUp,\n StyledSortWrapper,\n StyledValueButton,\n} from \"./Styles\";\nimport { Menu } from \"../Menu\";\nimport { ElementWithRef } from \"../Select\";\n\nexport type SortDirections = \"asc\" | \"desc\";\n\nexport type SortOption = {\n id: string;\n name: string;\n defaultDirection: SortDirections;\n};\n\nexport type SortObj = { sortBy: string; sortDirection: SortDirections };\n\nexport interface SortProps {\n label: string;\n icon?: React.ReactNode;\n options: SortOption[];\n selected: SortObj;\n onChange: (sort: SortObj) => void;\n target?: ElementWithRef<Element>;\n className?: string;\n}\n\nexport const Sort: React.FC<SortProps> = ({\n label,\n icon,\n options,\n selected,\n onChange,\n target,\n className,\n}) => {\n const [open, setOpen] = useState(false);\n\n const handleClose = useCallback(() => setOpen(false), []);\n const handleOpen = useCallback(() => setOpen(true), []);\n\n const handleOnChange = useCallback(\n (event: React.MouseEvent<HTMLLIElement>) => {\n const nextSortBy = event.currentTarget.dataset.id as string;\n let nextOrder: SortDirections =\n selected.sortDirection === \"desc\" ? \"asc\" : \"desc\";\n\n if (nextSortBy !== selected.sortBy) {\n nextOrder =\n options.find((opt) => opt.id === nextSortBy)?.defaultDirection ||\n \"asc\";\n }\n\n onChange({ sortBy: nextSortBy, sortDirection: nextOrder });\n },\n [onChange, selected, options]\n );\n\n const labelText = useMemo(() => {\n return options.find((opt) => opt.id === selected.sortBy)?.name ?? \"\";\n }, [selected.sortBy, options]);\n\n if (!labelText) {\n console.warn(\"Cannot find selected id in options.\");\n }\n\n return (\n <Menu\n onOpen={handleOpen}\n onClose={handleClose}\n position=\"bottom-end\"\n target={\n target || (\n <StyledSortWrapper className={className}>\n <StyledValueButton\n active={open}\n value={labelText}\n label={label}\n data-testid=\"sort-button\"\n />\n <StyledIconButton\n active={open}\n variant=\"text gray\"\n data-testid=\"sort-icon-button\"\n >\n {icon || <StyledSortIcon />}\n </StyledIconButton>\n </StyledSortWrapper>\n )\n }\n >\n <StyledList>\n {options.map(({ id, name, defaultDirection }) => {\n let showDownArrow = selected.sortDirection === \"asc\";\n\n if (selected.sortBy !== id) {\n showDownArrow = defaultDirection === \"asc\";\n }\n\n return (\n <StyledListItem\n key={id}\n onClick={handleOnChange}\n data-id={id}\n data-testid={id}\n $active={id === selected.sortBy}\n >\n <StyledListItemName>{name}</StyledListItemName>\n {showDownArrow ? <StyledSortIconDown /> : <StyledSortIconUp />}\n </StyledListItem>\n );\n })}\n </StyledList>\n </Menu>\n );\n};\n"],"mappings":"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"}
@@ -0,0 +1,30 @@
1
+ /// <reference types="react" />
2
+ import { ListItemProps } from "../List";
3
+ export declare const StyledSortWrapper: import("styled-components").StyledComponent<"div", any, {}, never>;
4
+ export declare const StyledValueButton: import("styled-components").StyledComponent<import("react").ForwardRefExoticComponent<import("../ValueButton").IValueButtonProps & import("react").RefAttributes<HTMLButtonElement>>, any, {}, never>;
5
+ export declare const StyledIconButton: import("styled-components").StyledComponent<import("react").ForwardRefExoticComponent<import("../IconButton").IconButtonProps & {
6
+ children?: import("react").ReactNode;
7
+ } & import("react").RefAttributes<HTMLButtonElement>>, any, {}, never>;
8
+ export declare const StyledSortIcon: import("styled-components").StyledComponent<import("react").ForwardRefExoticComponent<Omit<import("react").SVGProps<SVGSVGElement>, "ref"> & import("react").RefAttributes<SVGSVGElement>>, any, {}, never>;
9
+ export declare const StyledSortIconDown: import("styled-components").StyledComponent<import("react").ForwardRefExoticComponent<Omit<import("react").SVGProps<SVGSVGElement>, "ref"> & import("react").RefAttributes<SVGSVGElement>>, any, {}, never>;
10
+ export declare const StyledSortIconUp: import("styled-components").StyledComponent<import("react").ForwardRefExoticComponent<Omit<import("react").SVGProps<SVGSVGElement>, "ref"> & import("react").RefAttributes<SVGSVGElement>>, any, {}, never>;
11
+ export declare const StyledList: import("styled-components").StyledComponent<import("react").ForwardRefExoticComponent<import("../List").ListProps & {
12
+ children?: import("react").ReactNode;
13
+ } & import("react").HTMLAttributes<HTMLUListElement> & import("react").RefAttributes<HTMLUListElement>> & {
14
+ Item: import("react").ForwardRefExoticComponent<ListItemProps & {
15
+ children?: import("react").ReactNode;
16
+ } & import("react").HTMLAttributes<HTMLLIElement> & import("react").RefAttributes<HTMLLIElement>>;
17
+ Separator: {
18
+ ({ className, ...props }: import("react").HTMLAttributes<HTMLDivElement>): import("react").JSX.Element;
19
+ displayName: string;
20
+ };
21
+ }, any, {}, never>;
22
+ interface StyledListItemProps extends ListItemProps {
23
+ $active?: boolean;
24
+ }
25
+ export declare const StyledListItem: import("styled-components").StyledComponent<import("react").ForwardRefExoticComponent<ListItemProps & {
26
+ children?: import("react").ReactNode;
27
+ } & import("react").HTMLAttributes<HTMLLIElement> & import("react").RefAttributes<HTMLLIElement>>, any, StyledListItemProps, never>;
28
+ export declare const StyledListItemName: import("styled-components").StyledComponent<"span", any, {}, never>;
29
+ export {};
30
+ //# sourceMappingURL=Styles.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Styles.d.ts","sourceRoot":"","sources":["../../../../src/components/Sort/Styles.ts"],"names":[],"mappings":";AAKA,OAAO,EAAkB,aAAa,EAAE,MAAM,SAAS,CAAC;AAGxD,eAAO,MAAM,iBAAiB,oEAE7B,CAAC;AAIF,eAAO,MAAM,iBAAiB,uMAE7B,CAAC;AAIF,eAAO,MAAM,gBAAgB;;sEAE5B,CAAC;AAIF,eAAO,MAAM,cAAc,6MAE1B,CAAC;AAIF,eAAO,MAAM,kBAAkB,6MAE9B,CAAC;AAIF,eAAO,MAAM,gBAAgB,6MAE5B,CAAC;AAIF,eAAO,MAAM,UAAU;;;;;;;;;;kBAEtB,CAAC;AAIF,UAAU,mBAAoB,SAAQ,aAAa;IACjD,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED,eAAO,MAAM,cAAc;;mIAwB1B,CAAC;AAIF,eAAO,MAAM,kBAAkB,qEAE9B,CAAC"}
@@ -0,0 +1,85 @@
1
+ import styled, { css } from "styled-components";
2
+ import { IconButton } from "../IconButton";
3
+ import { ArrowDownLongIcon, ArrowUpLongIcon, SortGeneralIcon } from "../Icons";
4
+ import { List, ListItem } from "../List";
5
+ import { ValueButton } from "../ValueButton";
6
+ export const StyledSortWrapper = styled.div.withConfig({
7
+ displayName: "Styles__StyledSortWrapper",
8
+ componentId: "sc-11r5ac9-0"
9
+ })(["", ";"], {
10
+ "width": "fit-content"
11
+ });
12
+ StyledSortWrapper.displayName = "StyledSortWrapper";
13
+ export const StyledValueButton = styled(ValueButton).withConfig({
14
+ displayName: "Styles__StyledValueButton",
15
+ componentId: "sc-11r5ac9-1"
16
+ })(["", ";"], {
17
+ "display": "none",
18
+ "alignItems": "center",
19
+ "@media (min-width: 768px)": {
20
+ "display": "flex"
21
+ }
22
+ });
23
+ StyledValueButton.displayName = "StyledValueButton";
24
+ export const StyledIconButton = styled(IconButton).withConfig({
25
+ displayName: "Styles__StyledIconButton",
26
+ componentId: "sc-11r5ac9-2"
27
+ })(["", ";"], {
28
+ "display": "flex",
29
+ "alignItems": "center",
30
+ ":hover": {
31
+ "color": "var(--color-primary)"
32
+ },
33
+ "@media (min-width: 768px)": {
34
+ "display": "none"
35
+ }
36
+ });
37
+ StyledIconButton.displayName = "StyledIconButton";
38
+ export const StyledSortIcon = styled(SortGeneralIcon).withConfig({
39
+ displayName: "Styles__StyledSortIcon",
40
+ componentId: "sc-11r5ac9-3"
41
+ })(["", ";"], {
42
+ "marginTop": "0px"
43
+ });
44
+ StyledSortIcon.displayName = "StyledSortIcon";
45
+ export const StyledSortIconDown = styled(ArrowDownLongIcon).withConfig({
46
+ displayName: "Styles__StyledSortIconDown",
47
+ componentId: "sc-11r5ac9-4"
48
+ })(["", ";"], {
49
+ "flexShrink": "0"
50
+ });
51
+ StyledSortIconDown.displayName = "StyledSortIconDown";
52
+ export const StyledSortIconUp = styled(ArrowUpLongIcon).withConfig({
53
+ displayName: "Styles__StyledSortIconUp",
54
+ componentId: "sc-11r5ac9-5"
55
+ })(["", ";"], {
56
+ "flexShrink": "0"
57
+ });
58
+ StyledSortIconUp.displayName = "StyledSortIconUp";
59
+ export const StyledList = styled(List).withConfig({
60
+ displayName: "Styles__StyledList",
61
+ componentId: "sc-11r5ac9-6"
62
+ })(["", ";"], {
63
+ "paddingTop": "0.5rem",
64
+ "paddingBottom": "0.5rem"
65
+ });
66
+ StyledList.displayName = "StyledList";
67
+ export const StyledListItem = styled(ListItem).withConfig({
68
+ displayName: "Styles__StyledListItem",
69
+ componentId: "sc-11r5ac9-7"
70
+ })(["", ";svg{visibility:hidden;}&:hover svg{fill:var(--color-theme-500);visibility:visible;}", ""], {
71
+ "justifyContent": "space-between"
72
+ }, props => props.$active && css(["", ";svg{fill:var(--color-primary);visibility:visible;}&:hover svg{fill:var(--color-primary);visibility:visible;}"], {
73
+ "color": "var(--color-primary)"
74
+ }));
75
+ StyledListItem.displayName = "StyledListItem";
76
+ export const StyledListItemName = styled.span.withConfig({
77
+ displayName: "Styles__StyledListItemName",
78
+ componentId: "sc-11r5ac9-8"
79
+ })(["", ";"], {
80
+ "overflow": "hidden",
81
+ "textOverflow": "ellipsis",
82
+ "whiteSpace": "nowrap"
83
+ });
84
+ StyledListItemName.displayName = "StyledListItemName";
85
+ //# sourceMappingURL=Styles.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Styles.js","names":["styled","css","IconButton","ArrowDownLongIcon","ArrowUpLongIcon","SortGeneralIcon","List","ListItem","ValueButton","StyledSortWrapper","div","withConfig","displayName","componentId","StyledValueButton","StyledIconButton","StyledSortIcon","StyledSortIconDown","StyledSortIconUp","StyledList","StyledListItem","props","$active","StyledListItemName","span"],"sources":["../../../../src/components/Sort/Styles.ts"],"sourcesContent":["import styled, { css } from \"styled-components\";\nimport tw from \"twin.macro\";\n\nimport { IconButton } from \"../IconButton\";\nimport { ArrowDownLongIcon, ArrowUpLongIcon, SortGeneralIcon } from \"../Icons\";\nimport { List, ListItem, ListItemProps } from \"../List\";\nimport { ValueButton } from \"../ValueButton\";\n\nexport const StyledSortWrapper = styled.div`\n ${tw`tw-w-fit`};\n`;\n\nStyledSortWrapper.displayName = \"StyledSortWrapper\";\n\nexport const StyledValueButton = styled(ValueButton)`\n ${tw`tw-hidden md:tw-flex tw-items-center`};\n`;\n\nStyledValueButton.displayName = \"StyledValueButton\";\n\nexport const StyledIconButton = styled(IconButton)`\n ${tw`tw-flex tw-items-center md:tw-hidden hover:tw-text-primary`};\n`;\n\nStyledIconButton.displayName = \"StyledIconButton\";\n\nexport const StyledSortIcon = styled(SortGeneralIcon)`\n ${tw`tw-mt-0`};\n`;\n\nStyledSortIcon.displayName = \"StyledSortIcon\";\n\nexport const StyledSortIconDown = styled(ArrowDownLongIcon)`\n ${tw`tw-shrink-0`};\n`;\n\nStyledSortIconDown.displayName = \"StyledSortIconDown\";\n\nexport const StyledSortIconUp = styled(ArrowUpLongIcon)`\n ${tw`tw-shrink-0`};\n`;\n\nStyledSortIconUp.displayName = \"StyledSortIconUp\";\n\nexport const StyledList = styled(List)`\n ${tw`tw-py-2`};\n`;\n\nStyledList.displayName = \"StyledList\";\n\ninterface StyledListItemProps extends ListItemProps {\n $active?: boolean;\n}\n\nexport const StyledListItem = styled(ListItem)<StyledListItemProps>`\n ${tw`tw-justify-between`};\n svg {\n visibility: hidden;\n }\n &:hover svg {\n fill: var(--color-theme-500);\n visibility: visible;\n }\n\n ${(props) =>\n props.$active &&\n css`\n ${tw`tw-text-primary`};\n\n svg {\n fill: var(--color-primary);\n visibility: visible;\n }\n &:hover svg {\n fill: var(--color-primary);\n visibility: visible;\n }\n `}\n`;\n\nStyledListItem.displayName = \"StyledListItem\";\n\nexport const StyledListItemName = styled.span`\n ${tw`tw-truncate`};\n`;\n\nStyledListItemName.displayName = \"StyledListItemName\";\n"],"mappings":"AAAA,OAAOA,MAAM,IAAIC,GAAG,QAAQ,mBAAmB;AAG/C,SAASC,UAAU,QAAQ,eAAe;AAC1C,SAASC,iBAAiB,EAAEC,eAAe,EAAEC,eAAe,QAAQ,UAAU;AAC9E,SAASC,IAAI,EAAEC,QAAQ,QAAuB,SAAS;AACvD,SAASC,WAAW,QAAQ,gBAAgB;AAE5C,OAAO,MAAMC,iBAAiB,GAAGT,MAAM,CAACU,GAAG,CAAAC,UAAA;EAAAC,WAAA;EAAAC,WAAA;AAAA,cACrC;EAAA;AAAS,CAAC,CACf;AAEDJ,iBAAiB,CAACG,WAAW,GAAG,mBAAmB;AAEnD,OAAO,MAAME,iBAAiB,GAAGd,MAAM,CAACQ,WAAW,CAAC,CAAAG,UAAA;EAAAC,WAAA;EAAAC,WAAA;AAAA,cAC9C;EAAA;EAAA;EAAA;IAAA;EAAA;AAAqC,CAAC,CAC3C;AAEDC,iBAAiB,CAACF,WAAW,GAAG,mBAAmB;AAEnD,OAAO,MAAMG,gBAAgB,GAAGf,MAAM,CAACE,UAAU,CAAC,CAAAS,UAAA;EAAAC,WAAA;EAAAC,WAAA;AAAA,cAC5C;EAAA;EAAA;EAAA;IAAA;EAAA;EAAA;IAAA;EAAA;AAA2D,CAAC,CACjE;AAEDE,gBAAgB,CAACH,WAAW,GAAG,kBAAkB;AAEjD,OAAO,MAAMI,cAAc,GAAGhB,MAAM,CAACK,eAAe,CAAC,CAAAM,UAAA;EAAAC,WAAA;EAAAC,WAAA;AAAA,cAC/C;EAAA;AAAQ,CAAC,CACd;AAEDG,cAAc,CAACJ,WAAW,GAAG,gBAAgB;AAE7C,OAAO,MAAMK,kBAAkB,GAAGjB,MAAM,CAACG,iBAAiB,CAAC,CAAAQ,UAAA;EAAAC,WAAA;EAAAC,WAAA;AAAA,cACrD;EAAA;AAAY,CAAC,CAClB;AAEDI,kBAAkB,CAACL,WAAW,GAAG,oBAAoB;AAErD,OAAO,MAAMM,gBAAgB,GAAGlB,MAAM,CAACI,eAAe,CAAC,CAAAO,UAAA;EAAAC,WAAA;EAAAC,WAAA;AAAA,cACjD;EAAA;AAAY,CAAC,CAClB;AAEDK,gBAAgB,CAACN,WAAW,GAAG,kBAAkB;AAEjD,OAAO,MAAMO,UAAU,GAAGnB,MAAM,CAACM,IAAI,CAAC,CAAAK,UAAA;EAAAC,WAAA;EAAAC,WAAA;AAAA,cAChC;EAAA;EAAA;AAAQ,CAAC,CACd;AAEDM,UAAU,CAACP,WAAW,GAAG,YAAY;AAMrC,OAAO,MAAMQ,cAAc,GAAGpB,MAAM,CAACO,QAAQ,CAAC,CAAAI,UAAA;EAAAC,WAAA;EAAAC,WAAA;AAAA,qGACxC;EAAA;AAAmB,CAAC,EASrBQ,KAAK,IACNA,KAAK,CAACC,OAAO,IACbrB,GAAG,wHACG;EAAA;AAAgB,CAAC,CAUtB,CACJ;AAEDmB,cAAc,CAACR,WAAW,GAAG,gBAAgB;AAE7C,OAAO,MAAMW,kBAAkB,GAAGvB,MAAM,CAACwB,IAAI,CAAAb,UAAA;EAAAC,WAAA;EAAAC,WAAA;AAAA,cACvC;EAAA;EAAA;EAAA;AAAY,CAAC,CAClB;AAEDU,kBAAkB,CAACX,WAAW,GAAG,oBAAoB"}
@@ -0,0 +1,2 @@
1
+ export * from "./Sort";
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/components/Sort/index.ts"],"names":[],"mappings":"AAAA,cAAc,QAAQ,CAAC"}
@@ -0,0 +1,2 @@
1
+ export * from "./Sort";
2
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","names":[],"sources":["../../../../src/components/Sort/index.ts"],"sourcesContent":["export * from \"./Sort\";\n"],"mappings":"AAAA,cAAc,QAAQ"}
@@ -80,4 +80,5 @@ export * from "./CommandPalette";
80
80
  export * from "./EmptySlate";
81
81
  export * from "./Toolbar";
82
82
  export * from "./InfoBox";
83
+ export * from "./Sort";
83
84
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/index.ts"],"names":[],"mappings":"AAAA,cAAc,UAAU,CAAC;AACzB,cAAc,eAAe,CAAC;AAC9B,cAAc,eAAe,CAAC;AAC9B,cAAc,iBAAiB,CAAC;AAChC,cAAc,YAAY,CAAC;AAC3B,cAAc,UAAU,CAAC;AACzB,cAAc,oBAAoB,CAAC;AACnC,cAAc,SAAS,CAAC;AACxB,cAAc,YAAY,CAAC;AAC3B,cAAc,QAAQ,CAAC;AACvB,cAAc,cAAc,CAAC;AAC7B,cAAc,kBAAkB,CAAC;AACjC,cAAc,aAAa,CAAC;AAC5B,cAAc,UAAU,CAAC;AACzB,cAAc,OAAO,CAAC;AACtB,cAAc,WAAW,CAAC;AAC1B,cAAc,OAAO,CAAC;AACtB,cAAc,UAAU,CAAC;AACzB,cAAc,SAAS,CAAC;AACxB,cAAc,WAAW,CAAC;AAC1B,cAAc,QAAQ,CAAC;AACvB,cAAc,aAAa,CAAC;AAC5B,cAAc,WAAW,CAAC;AAC1B,cAAc,cAAc,CAAC;AAC7B,cAAc,QAAQ,CAAC;AACvB,cAAc,gBAAgB,CAAC;AAC/B,cAAc,eAAe,CAAC;AAC9B,cAAc,eAAe,CAAC;AAC9B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,SAAS,CAAC;AACxB,cAAc,YAAY,CAAC;AAC3B,cAAc,SAAS,CAAC;AACxB,cAAc,SAAS,CAAC;AACxB,cAAc,UAAU,CAAC;AACzB,cAAc,sBAAsB,CAAC;AACrC,cAAc,WAAW,CAAC;AAC1B,cAAc,aAAa,CAAC;AAC5B,cAAc,UAAU,CAAC;AACzB,cAAc,SAAS,CAAC;AACxB,cAAc,cAAc,CAAC;AAC7B,cAAc,UAAU,CAAC;AACzB,cAAc,gBAAgB,CAAC;AAC/B,cAAc,WAAW,CAAC;AAC1B,cAAc,eAAe,CAAC;AAC9B,cAAc,UAAU,CAAC;AACzB,cAAc,eAAe,CAAC;AAC9B,cAAc,UAAU,CAAC;AACzB,cAAc,iBAAiB,CAAC;AAChC,cAAc,cAAc,CAAC;AAC7B,cAAc,UAAU,CAAC;AACzB,cAAc,iBAAiB,CAAC;AAChC,cAAc,YAAY,CAAC;AAC3B,cAAc,UAAU,CAAC;AACzB,cAAc,cAAc,CAAC;AAC7B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,YAAY,CAAC;AAC3B,cAAc,0BAA0B,CAAC;AACzC,cAAc,eAAe,CAAC;AAC9B,cAAc,eAAe,CAAC;AAC9B,cAAc,aAAa,CAAC;AAC5B,cAAc,SAAS,CAAC;AACxB,cAAc,eAAe,CAAC;AAC9B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,mBAAmB,CAAC;AAClC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,iBAAiB,CAAC;AAChC,cAAc,oBAAoB,CAAC;AACnC,cAAc,UAAU,CAAC;AACzB,cAAc,QAAQ,CAAC;AACvB,cAAc,WAAW,CAAC;AAC1B,cAAc,OAAO,CAAC;AACtB,cAAc,UAAU,CAAC;AACzB,cAAc,UAAU,CAAC;AACzB,cAAc,UAAU,CAAC;AACzB,cAAc,cAAc,CAAC;AAC7B,cAAc,cAAc,CAAC;AAC7B,cAAc,SAAS,CAAC;AACxB,cAAc,eAAe,CAAC;AAC9B,cAAc,kBAAkB,CAAC;AACjC,cAAc,cAAc,CAAC;AAC7B,cAAc,WAAW,CAAC;AAC1B,cAAc,WAAW,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/index.ts"],"names":[],"mappings":"AAAA,cAAc,UAAU,CAAC;AACzB,cAAc,eAAe,CAAC;AAC9B,cAAc,eAAe,CAAC;AAC9B,cAAc,iBAAiB,CAAC;AAChC,cAAc,YAAY,CAAC;AAC3B,cAAc,UAAU,CAAC;AACzB,cAAc,oBAAoB,CAAC;AACnC,cAAc,SAAS,CAAC;AACxB,cAAc,YAAY,CAAC;AAC3B,cAAc,QAAQ,CAAC;AACvB,cAAc,cAAc,CAAC;AAC7B,cAAc,kBAAkB,CAAC;AACjC,cAAc,aAAa,CAAC;AAC5B,cAAc,UAAU,CAAC;AACzB,cAAc,OAAO,CAAC;AACtB,cAAc,WAAW,CAAC;AAC1B,cAAc,OAAO,CAAC;AACtB,cAAc,UAAU,CAAC;AACzB,cAAc,SAAS,CAAC;AACxB,cAAc,WAAW,CAAC;AAC1B,cAAc,QAAQ,CAAC;AACvB,cAAc,aAAa,CAAC;AAC5B,cAAc,WAAW,CAAC;AAC1B,cAAc,cAAc,CAAC;AAC7B,cAAc,QAAQ,CAAC;AACvB,cAAc,gBAAgB,CAAC;AAC/B,cAAc,eAAe,CAAC;AAC9B,cAAc,eAAe,CAAC;AAC9B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,SAAS,CAAC;AACxB,cAAc,YAAY,CAAC;AAC3B,cAAc,SAAS,CAAC;AACxB,cAAc,SAAS,CAAC;AACxB,cAAc,UAAU,CAAC;AACzB,cAAc,sBAAsB,CAAC;AACrC,cAAc,WAAW,CAAC;AAC1B,cAAc,aAAa,CAAC;AAC5B,cAAc,UAAU,CAAC;AACzB,cAAc,SAAS,CAAC;AACxB,cAAc,cAAc,CAAC;AAC7B,cAAc,UAAU,CAAC;AACzB,cAAc,gBAAgB,CAAC;AAC/B,cAAc,WAAW,CAAC;AAC1B,cAAc,eAAe,CAAC;AAC9B,cAAc,UAAU,CAAC;AACzB,cAAc,eAAe,CAAC;AAC9B,cAAc,UAAU,CAAC;AACzB,cAAc,iBAAiB,CAAC;AAChC,cAAc,cAAc,CAAC;AAC7B,cAAc,UAAU,CAAC;AACzB,cAAc,iBAAiB,CAAC;AAChC,cAAc,YAAY,CAAC;AAC3B,cAAc,UAAU,CAAC;AACzB,cAAc,cAAc,CAAC;AAC7B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,YAAY,CAAC;AAC3B,cAAc,0BAA0B,CAAC;AACzC,cAAc,eAAe,CAAC;AAC9B,cAAc,eAAe,CAAC;AAC9B,cAAc,aAAa,CAAC;AAC5B,cAAc,SAAS,CAAC;AACxB,cAAc,eAAe,CAAC;AAC9B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,mBAAmB,CAAC;AAClC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,iBAAiB,CAAC;AAChC,cAAc,oBAAoB,CAAC;AACnC,cAAc,UAAU,CAAC;AACzB,cAAc,QAAQ,CAAC;AACvB,cAAc,WAAW,CAAC;AAC1B,cAAc,OAAO,CAAC;AACtB,cAAc,UAAU,CAAC;AACzB,cAAc,UAAU,CAAC;AACzB,cAAc,UAAU,CAAC;AACzB,cAAc,cAAc,CAAC;AAC7B,cAAc,cAAc,CAAC;AAC7B,cAAc,SAAS,CAAC;AACxB,cAAc,eAAe,CAAC;AAC9B,cAAc,kBAAkB,CAAC;AACjC,cAAc,cAAc,CAAC;AAC7B,cAAc,WAAW,CAAC;AAC1B,cAAc,WAAW,CAAC;AAC1B,cAAc,QAAQ,CAAC"}
@@ -80,4 +80,5 @@ export * from "./CommandPalette";
80
80
  export * from "./EmptySlate";
81
81
  export * from "./Toolbar";
82
82
  export * from "./InfoBox";
83
+ export * from "./Sort";
83
84
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":[],"sources":["../../../src/components/index.ts"],"sourcesContent":["export * from \"./Button\";\nexport * from \"./ButtonGroup\";\nexport * from \"./Breadcrumbs\";\nexport * from \"./CounterButton\";\nexport * from \"./Steppers\";\nexport * from \"./Tables\";\nexport * from \"./CompleteCheckbox\";\nexport * from \"./Paper\";\nexport * from \"./ScaleBar\";\nexport * from \"./Card\";\nexport * from \"./EntityCard\";\nexport * from \"./EntitiesHeader\";\nexport * from \"./Signifier\";\nexport * from \"./Avatar\";\nexport * from \"./Tag\";\nexport * from \"./Loaders\";\nexport * from \"./Nav\";\nexport * from \"./Bubble\";\nexport * from \"./Input\";\nexport * from \"./Display\";\nexport * from \"./Menu\";\nexport * from \"./Expanders\";\nexport * from \"./Pickers\";\nexport * from \"./DatePicker\";\nexport * from \"./List\";\nexport * from \"./MenuSelector\";\nexport * from \"./MultiAvatar\";\nexport * from \"./RadioButton\";\nexport * from \"./ScrollShadow\";\nexport * from \"./Icons\";\nexport * from \"./Textarea\";\nexport * from \"./Modal\";\nexport * from \"./Sheet\";\nexport * from \"./Header\";\nexport * from \"./AutoResizeTextarea\";\nexport * from \"./Overlay\";\nexport * from \"./Accordion\";\nexport * from \"./Choose\";\nexport * from \"./Links\";\nexport * from \"./SelectDate\";\nexport * from \"./Popper\";\nexport * from \"./ToastMessage\";\nexport * from \"./Tooltip\";\nexport * from \"./Transitions\";\nexport * from \"./Window\";\nexport * from \"./ValueButton\";\nexport * from \"./Select\";\nexport * from \"./SelectTrigger\";\nexport * from \"./SelectTime\";\nexport * from \"./Dialog\";\nexport * from \"./ConfirmDialog\";\nexport * from \"./Checkbox\";\nexport * from \"./Toggle\";\nexport * from \"./Typography\";\nexport * from \"./Autocomplete\";\nexport * from \"./ComboBox\";\nexport * from \"./Button/AddToListButton\";\nexport * from \"./ProgressBar\";\nexport * from \"./ProgressPie\";\nexport * from \"./Reactions\";\nexport * from \"./Label\";\nexport * from \"./GlobalStyle\";\nexport * from \"./ProgressRing\";\nexport * from \"./EditableContent\";\nexport * from \"./EditableText\";\nexport * from \"./EditableHours\";\nexport * from \"./EditableCurrency\";\nexport * from \"./Folder\";\nexport * from \"./Chip\";\nexport * from \"./Trigger\";\nexport * from \"./Dot\";\nexport * from \"./Entity\";\nexport * from \"./Filter\";\nexport * from \"./Wizard\";\nexport * from \"./IconButton\";\nexport * from \"./Typography\";\nexport * from \"./Badge\";\nexport * from \"./AvatarGroup\";\nexport * from \"./CommandPalette\";\nexport * from \"./EmptySlate\";\nexport * from \"./Toolbar\";\nexport * from \"./InfoBox\";\n"],"mappings":"AAAA,cAAc,UAAU;AACxB,cAAc,eAAe;AAC7B,cAAc,eAAe;AAC7B,cAAc,iBAAiB;AAC/B,cAAc,YAAY;AAC1B,cAAc,UAAU;AACxB,cAAc,oBAAoB;AAClC,cAAc,SAAS;AACvB,cAAc,YAAY;AAC1B,cAAc,QAAQ;AACtB,cAAc,cAAc;AAC5B,cAAc,kBAAkB;AAChC,cAAc,aAAa;AAC3B,cAAc,UAAU;AACxB,cAAc,OAAO;AACrB,cAAc,WAAW;AACzB,cAAc,OAAO;AACrB,cAAc,UAAU;AACxB,cAAc,SAAS;AACvB,cAAc,WAAW;AACzB,cAAc,QAAQ;AACtB,cAAc,aAAa;AAC3B,cAAc,WAAW;AACzB,cAAc,cAAc;AAC5B,cAAc,QAAQ;AACtB,cAAc,gBAAgB;AAC9B,cAAc,eAAe;AAC7B,cAAc,eAAe;AAC7B,cAAc,gBAAgB;AAC9B,cAAc,SAAS;AACvB,cAAc,YAAY;AAC1B,cAAc,SAAS;AACvB,cAAc,SAAS;AACvB,cAAc,UAAU;AACxB,cAAc,sBAAsB;AACpC,cAAc,WAAW;AACzB,cAAc,aAAa;AAC3B,cAAc,UAAU;AACxB,cAAc,SAAS;AACvB,cAAc,cAAc;AAC5B,cAAc,UAAU;AACxB,cAAc,gBAAgB;AAC9B,cAAc,WAAW;AACzB,cAAc,eAAe;AAC7B,cAAc,UAAU;AACxB,cAAc,eAAe;AAC7B,cAAc,UAAU;AACxB,cAAc,iBAAiB;AAC/B,cAAc,cAAc;AAC5B,cAAc,UAAU;AACxB,cAAc,iBAAiB;AAC/B,cAAc,YAAY;AAC1B,cAAc,UAAU;AACxB,cAAc,cAAc;AAC5B,cAAc,gBAAgB;AAC9B,cAAc,YAAY;AAC1B,cAAc,0BAA0B;AACxC,cAAc,eAAe;AAC7B,cAAc,eAAe;AAC7B,cAAc,aAAa;AAC3B,cAAc,SAAS;AACvB,cAAc,eAAe;AAC7B,cAAc,gBAAgB;AAC9B,cAAc,mBAAmB;AACjC,cAAc,gBAAgB;AAC9B,cAAc,iBAAiB;AAC/B,cAAc,oBAAoB;AAClC,cAAc,UAAU;AACxB,cAAc,QAAQ;AACtB,cAAc,WAAW;AACzB,cAAc,OAAO;AACrB,cAAc,UAAU;AACxB,cAAc,UAAU;AACxB,cAAc,UAAU;AACxB,cAAc,cAAc;AAC5B,cAAc,cAAc;AAC5B,cAAc,SAAS;AACvB,cAAc,eAAe;AAC7B,cAAc,kBAAkB;AAChC,cAAc,cAAc;AAC5B,cAAc,WAAW;AACzB,cAAc,WAAW"}
1
+ {"version":3,"file":"index.js","names":[],"sources":["../../../src/components/index.ts"],"sourcesContent":["export * from \"./Button\";\nexport * from \"./ButtonGroup\";\nexport * from \"./Breadcrumbs\";\nexport * from \"./CounterButton\";\nexport * from \"./Steppers\";\nexport * from \"./Tables\";\nexport * from \"./CompleteCheckbox\";\nexport * from \"./Paper\";\nexport * from \"./ScaleBar\";\nexport * from \"./Card\";\nexport * from \"./EntityCard\";\nexport * from \"./EntitiesHeader\";\nexport * from \"./Signifier\";\nexport * from \"./Avatar\";\nexport * from \"./Tag\";\nexport * from \"./Loaders\";\nexport * from \"./Nav\";\nexport * from \"./Bubble\";\nexport * from \"./Input\";\nexport * from \"./Display\";\nexport * from \"./Menu\";\nexport * from \"./Expanders\";\nexport * from \"./Pickers\";\nexport * from \"./DatePicker\";\nexport * from \"./List\";\nexport * from \"./MenuSelector\";\nexport * from \"./MultiAvatar\";\nexport * from \"./RadioButton\";\nexport * from \"./ScrollShadow\";\nexport * from \"./Icons\";\nexport * from \"./Textarea\";\nexport * from \"./Modal\";\nexport * from \"./Sheet\";\nexport * from \"./Header\";\nexport * from \"./AutoResizeTextarea\";\nexport * from \"./Overlay\";\nexport * from \"./Accordion\";\nexport * from \"./Choose\";\nexport * from \"./Links\";\nexport * from \"./SelectDate\";\nexport * from \"./Popper\";\nexport * from \"./ToastMessage\";\nexport * from \"./Tooltip\";\nexport * from \"./Transitions\";\nexport * from \"./Window\";\nexport * from \"./ValueButton\";\nexport * from \"./Select\";\nexport * from \"./SelectTrigger\";\nexport * from \"./SelectTime\";\nexport * from \"./Dialog\";\nexport * from \"./ConfirmDialog\";\nexport * from \"./Checkbox\";\nexport * from \"./Toggle\";\nexport * from \"./Typography\";\nexport * from \"./Autocomplete\";\nexport * from \"./ComboBox\";\nexport * from \"./Button/AddToListButton\";\nexport * from \"./ProgressBar\";\nexport * from \"./ProgressPie\";\nexport * from \"./Reactions\";\nexport * from \"./Label\";\nexport * from \"./GlobalStyle\";\nexport * from \"./ProgressRing\";\nexport * from \"./EditableContent\";\nexport * from \"./EditableText\";\nexport * from \"./EditableHours\";\nexport * from \"./EditableCurrency\";\nexport * from \"./Folder\";\nexport * from \"./Chip\";\nexport * from \"./Trigger\";\nexport * from \"./Dot\";\nexport * from \"./Entity\";\nexport * from \"./Filter\";\nexport * from \"./Wizard\";\nexport * from \"./IconButton\";\nexport * from \"./Typography\";\nexport * from \"./Badge\";\nexport * from \"./AvatarGroup\";\nexport * from \"./CommandPalette\";\nexport * from \"./EmptySlate\";\nexport * from \"./Toolbar\";\nexport * from \"./InfoBox\";\nexport * from \"./Sort\";\n"],"mappings":"AAAA,cAAc,UAAU;AACxB,cAAc,eAAe;AAC7B,cAAc,eAAe;AAC7B,cAAc,iBAAiB;AAC/B,cAAc,YAAY;AAC1B,cAAc,UAAU;AACxB,cAAc,oBAAoB;AAClC,cAAc,SAAS;AACvB,cAAc,YAAY;AAC1B,cAAc,QAAQ;AACtB,cAAc,cAAc;AAC5B,cAAc,kBAAkB;AAChC,cAAc,aAAa;AAC3B,cAAc,UAAU;AACxB,cAAc,OAAO;AACrB,cAAc,WAAW;AACzB,cAAc,OAAO;AACrB,cAAc,UAAU;AACxB,cAAc,SAAS;AACvB,cAAc,WAAW;AACzB,cAAc,QAAQ;AACtB,cAAc,aAAa;AAC3B,cAAc,WAAW;AACzB,cAAc,cAAc;AAC5B,cAAc,QAAQ;AACtB,cAAc,gBAAgB;AAC9B,cAAc,eAAe;AAC7B,cAAc,eAAe;AAC7B,cAAc,gBAAgB;AAC9B,cAAc,SAAS;AACvB,cAAc,YAAY;AAC1B,cAAc,SAAS;AACvB,cAAc,SAAS;AACvB,cAAc,UAAU;AACxB,cAAc,sBAAsB;AACpC,cAAc,WAAW;AACzB,cAAc,aAAa;AAC3B,cAAc,UAAU;AACxB,cAAc,SAAS;AACvB,cAAc,cAAc;AAC5B,cAAc,UAAU;AACxB,cAAc,gBAAgB;AAC9B,cAAc,WAAW;AACzB,cAAc,eAAe;AAC7B,cAAc,UAAU;AACxB,cAAc,eAAe;AAC7B,cAAc,UAAU;AACxB,cAAc,iBAAiB;AAC/B,cAAc,cAAc;AAC5B,cAAc,UAAU;AACxB,cAAc,iBAAiB;AAC/B,cAAc,YAAY;AAC1B,cAAc,UAAU;AACxB,cAAc,cAAc;AAC5B,cAAc,gBAAgB;AAC9B,cAAc,YAAY;AAC1B,cAAc,0BAA0B;AACxC,cAAc,eAAe;AAC7B,cAAc,eAAe;AAC7B,cAAc,aAAa;AAC3B,cAAc,SAAS;AACvB,cAAc,eAAe;AAC7B,cAAc,gBAAgB;AAC9B,cAAc,mBAAmB;AACjC,cAAc,gBAAgB;AAC9B,cAAc,iBAAiB;AAC/B,cAAc,oBAAoB;AAClC,cAAc,UAAU;AACxB,cAAc,QAAQ;AACtB,cAAc,WAAW;AACzB,cAAc,OAAO;AACrB,cAAc,UAAU;AACxB,cAAc,UAAU;AACxB,cAAc,UAAU;AACxB,cAAc,cAAc;AAC5B,cAAc,cAAc;AAC5B,cAAc,SAAS;AACvB,cAAc,eAAe;AAC7B,cAAc,kBAAkB;AAChC,cAAc,cAAc;AAC5B,cAAc,WAAW;AACzB,cAAc,WAAW;AACzB,cAAc,QAAQ"}
@@ -51,4 +51,5 @@ export declare const numberWithSeparator: (x: number | string, thousandSeparator
51
51
  * formatCurrency(1500000, ",", ".", true, 2, "short", "JPY", "left") // "JPY 1.5M"
52
52
  */
53
53
  export declare const formatCurrency: (n: string | number, thousandSeparator?: string, decimalSeperator?: string, trimDecimals?: boolean, decimalSpaces?: number, format?: string, currencyCode?: string, currencyCodePosition?: string) => string;
54
+ export declare const parseValueToNumber: (value: string | number, thousandSeparator: string, decimalSeparator: string) => number;
54
55
  //# sourceMappingURL=currencyUtils.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"currencyUtils.d.ts","sourceRoot":"","sources":["../../../src/utils/currencyUtils.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,kBAAkB;;;;;CAK9B,CAAC;AAEF,eAAO,MAAM,kBAAkB,QAAS,MAAM,SAAS,MAAM,WAQ5D,CAAC;AAEF,eAAO,MAAM,mBAAmB,WACtB,MAAM,GAAG,MAAM,kEAsCxB,CAAC;AAEF;;;;;;;;;;;;;;;;;;;GAmBG;AACH,eAAO,MAAM,YAAY,MACpB,MAAM,GAAG,MAAM,mIA+CnB,CAAC;AAEF,eAAO,MAAM,mBAAmB,MAC3B,MAAM,GAAG,MAAM,6FAYnB,CAAC;AAEF;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,eAAO,MAAM,cAAc,MACtB,MAAM,GAAG,MAAM,yLAyBnB,CAAC"}
1
+ {"version":3,"file":"currencyUtils.d.ts","sourceRoot":"","sources":["../../../src/utils/currencyUtils.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,kBAAkB;;;;;CAK9B,CAAC;AAEF,eAAO,MAAM,kBAAkB,QAAS,MAAM,SAAS,MAAM,WAQ5D,CAAC;AAEF,eAAO,MAAM,mBAAmB,WACtB,MAAM,GAAG,MAAM,kEAsCxB,CAAC;AAEF;;;;;;;;;;;;;;;;;;;GAmBG;AACH,eAAO,MAAM,YAAY,MACpB,MAAM,GAAG,MAAM,mIA+CnB,CAAC;AAEF,eAAO,MAAM,mBAAmB,MAC3B,MAAM,GAAG,MAAM,6FAYnB,CAAC;AAEF;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,eAAO,MAAM,cAAc,MACtB,MAAM,GAAG,MAAM,yLAyBnB,CAAC;AAEF,eAAO,MAAM,kBAAkB,UACtB,MAAM,GAAG,MAAM,qBACH,MAAM,oBACP,MAAM,KACvB,MAWF,CAAC"}
@@ -172,4 +172,14 @@ export const formatCurrency = function (n, thousandSeparator, decimalSeperator,
172
172
  }
173
173
  return currencyCodePosition === "right" ? formattedNum + " " + currencyCode : currencyCode + " " + formattedNum;
174
174
  };
175
+ export const parseValueToNumber = (value, thousandSeparator, decimalSeparator) => {
176
+ const stringValue = String(value).trim();
177
+ if (stringValue.includes(":")) {
178
+ const [hoursPart, minutesPart] = stringValue.split(":");
179
+ const hours = parseFloat(hoursPart) || 0;
180
+ const minutes = parseFloat(minutesPart) || 0;
181
+ return hours + minutes / 60;
182
+ }
183
+ return +stringValue.replaceAll(thousandSeparator, "").replace(decimalSeparator, ".");
184
+ };
175
185
  //# sourceMappingURL=currencyUtils.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"currencyUtils.js","names":["currencyMultiplier","k","m","b","t","fixedDecimalSpaces","num","fixed","Math","pow","parts","toString","split","length","parseInt","floor","round","getNumberFromString","number","thousandSeparator","decimalSeparator","NaN","isNaN","Number","result","parseFloat","String","replaceAll","formatNumber","n","decimalSeperator","trimDecimals","decimalSpaces","format","isNegative","absoluteNumber","abs","suffixes","scale","formattedNum","toFixed","numberWithSeparator","x","replace","join","formatCurrency","currencyCode","currencyCodePosition"],"sources":["../../../src/utils/currencyUtils.ts"],"sourcesContent":["export const currencyMultiplier = {\n k: 1_000,\n m: 1_000_000,\n b: 1_000_000_000,\n t: 1_000_000_000_000,\n};\n\nexport const fixedDecimalSpaces = (num: number, fixed: number) => {\n fixed = fixed || 0;\n fixed = Math.pow(10, fixed);\n const parts = num.toString().split(\".\");\n if (parts.length > 1 && parseInt(parts[1]) > fixed) {\n return Math.floor(num * fixed) / fixed;\n }\n return Math.round(num * fixed) / fixed;\n};\n\nexport const getNumberFromString = (\n number: string | number,\n thousandSeparator = \",\",\n decimalSeparator = \".\"\n) => {\n if (typeof number === \"string\" && number === \"\") {\n return NaN;\n }\n if (!isNaN(Number(number)) || typeof number === \"number\") {\n return Number(number);\n }\n if (decimalSeparator === \",\") {\n const parts = number.split(decimalSeparator);\n\n let result = 0;\n if (parts.length === 2) {\n result = parts[0]\n ? parseFloat(String(parts[0]).replaceAll(thousandSeparator, \"\"))\n : 0;\n if (result < 0) {\n result -= parts[1]\n ? parseFloat(String(parts[1])) / Math.pow(10, parts[1].length)\n : 0;\n } else {\n result += parts[1]\n ? parseFloat(String(parts[1])) / Math.pow(10, parts[1].length)\n : 0;\n }\n return result;\n }\n if (parts.length === 1) {\n result = parseFloat(String(parts[0]).replaceAll(thousandSeparator, \"\"));\n\n return result;\n }\n return 0;\n } else {\n return parseFloat(String(number).replaceAll(thousandSeparator, \"\"));\n }\n};\n\n/**\n * @function formatNumber\n * @description\n * Formats a number or string into a human-readable format with options for thousand separators,\n * decimal precision, and shortening the number using suffixes (K, M, B, T).\n * It can handle negative numbers and optionally trim decimals and set number of decimal places based on the configuration.\n *\n * @param {string | number} n - The number or string to be formatted.\n * @param {\",\" | \".\" | \" \" | \"\"} [thousandSeparator=\",\"] - The character to use as a thousand separator.\n * @param {\",\" | \".\"} [decimalSeperator=\".\"] - The character to use as a decimal separator.\n * @param {boolean} [trimDecimals=true] - Whether to trim decimals to the specified number of decimal spaces.\n * @param {number} [decimalSpaces=2] - The number of decimal spaces to keep in the formatted output.\n * @param {\"long\" | \"short\"} [format=\"long\"] - The format type, either \"long\" for full numbers or \"short\" for shortened numbers with suffixes.\n *\n * @returns {string} - The formatted number as a string with separators and potentially with decimals.\n *\n * @example\n * formatNumber(1500) // \"1,500.00\"\n * formatNumber(1500000, \",\", \".\", true, 2, \"short\") // \"1.5M\"\n */\nexport const formatNumber = (\n n: string | number,\n thousandSeparator = \",\",\n decimalSeperator = \".\",\n trimDecimals = true,\n decimalSpaces = 2,\n format = \"long\"\n) => {\n const number = getNumberFromString(n, thousandSeparator, decimalSeperator);\n\n if (isNaN(number)) {\n return \"\";\n }\n\n const isNegative = number < 0;\n let absoluteNumber = Math.abs(number);\n\n const suffixes = [\"\", \"K\", \"M\", \"B\", \"T\"];\n let scale = 0;\n\n while (\n absoluteNumber >= 1000 &&\n scale < suffixes.length - 1 &&\n format === \"short\"\n ) {\n absoluteNumber /= 1000;\n scale++;\n }\n\n let formattedNum =\n scale === 0\n ? fixedDecimalSpaces(absoluteNumber, decimalSpaces)\n : parseFloat(absoluteNumber.toFixed(1));\n\n if (formattedNum === 1000 && scale > 0 && scale < 4) {\n formattedNum = 1;\n scale++;\n }\n\n const result = numberWithSeparator(\n trimDecimals ? formattedNum : formattedNum.toFixed(decimalSpaces),\n thousandSeparator,\n decimalSeperator\n );\n\n return isNegative\n ? `-${result}${suffixes[scale]}`\n : `${result}${suffixes[scale]}`;\n};\n\nexport const numberWithSeparator = (\n x: number | string,\n thousandSeparator = \",\",\n decimalSeparator = \".\",\n format = true\n) => {\n if (!format) {\n return x;\n }\n const parts = x.toString().split(\".\");\n parts[0] = parts[0].replace(/\\B(?=(\\d{3})+(?!\\d))/g, thousandSeparator);\n\n return parts.join(decimalSeparator);\n};\n\n/**\n * @function formatCurrency\n * @description\n * Formats a number or string as a currency string with options for thousand separators,\n * decimal precision, currency code, currency code position, and the use of suffixes (K, M, B, T) if needed.\n * It can handle negative values and supports customization of the currency code and its position.\n *\n * @param {string | number} n - The number or string to be formatted as currency.\n * @param {\",\" | \".\" | \" \" | \"\"} [thousandSeparator=\",\"] - The character to use as a thousand separator.\n * @param {\",\" | \".\"} [decimalSeperator=\".\"] - The character to use as a decimal separator.\n * @param {boolean} [trimDecimals=false] - Whether to trim decimals to the specified number of decimal spaces.\n * @param {number} [decimalSpaces=2] - The number of decimal spaces to keep in the formatted output.\n * @param {\"long\" | \"short\"} [format=\"long\"] - The format type, either \"long\" for full numbers or \"short\" for shortened numbers with suffixes.\n * @param {string} [currencyCode=\"\"] - The currency code to append or prepend to the formatted number.\n * @param {\"right\" | \"left\"} [currencyCodePosition=\"right\"] - The position of the currency code relative to the formatted number.\n *\n * @returns {string} - The formatted currency string, including the currency code if provided.\n *\n * @example\n * formatCurrency(1500, \",\", \".\", false, 2, \"long\", \"USD\", \"right\") // \"1,500.00 USD\"\n * formatCurrency(1500000, \",\", \".\", true, 2, \"short\", \"JPY\", \"left\") // \"JPY 1.5M\"\n */\nexport const formatCurrency = (\n n: string | number,\n thousandSeparator = \",\",\n decimalSeperator = \".\",\n trimDecimals = false,\n decimalSpaces = 2,\n format = \"long\",\n currencyCode = \"\",\n currencyCodePosition = \"right\"\n) => {\n const formattedNum = formatNumber(\n n,\n thousandSeparator,\n decimalSeperator,\n trimDecimals,\n decimalSpaces,\n format\n );\n\n if (!currencyCode) {\n return formattedNum;\n }\n\n return currencyCodePosition === \"right\"\n ? `${formattedNum} ${currencyCode}`\n : `${currencyCode} ${formattedNum}`;\n};\n"],"mappings":"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"}
1
+ {"version":3,"file":"currencyUtils.js","names":["currencyMultiplier","k","m","b","t","fixedDecimalSpaces","num","fixed","Math","pow","parts","toString","split","length","parseInt","floor","round","getNumberFromString","number","thousandSeparator","decimalSeparator","NaN","isNaN","Number","result","parseFloat","String","replaceAll","formatNumber","n","decimalSeperator","trimDecimals","decimalSpaces","format","isNegative","absoluteNumber","abs","suffixes","scale","formattedNum","toFixed","numberWithSeparator","x","replace","join","formatCurrency","currencyCode","currencyCodePosition","parseValueToNumber","value","stringValue","trim","includes","hoursPart","minutesPart","hours","minutes"],"sources":["../../../src/utils/currencyUtils.ts"],"sourcesContent":["export const currencyMultiplier = {\n k: 1_000,\n m: 1_000_000,\n b: 1_000_000_000,\n t: 1_000_000_000_000,\n};\n\nexport const fixedDecimalSpaces = (num: number, fixed: number) => {\n fixed = fixed || 0;\n fixed = Math.pow(10, fixed);\n const parts = num.toString().split(\".\");\n if (parts.length > 1 && parseInt(parts[1]) > fixed) {\n return Math.floor(num * fixed) / fixed;\n }\n return Math.round(num * fixed) / fixed;\n};\n\nexport const getNumberFromString = (\n number: string | number,\n thousandSeparator = \",\",\n decimalSeparator = \".\"\n) => {\n if (typeof number === \"string\" && number === \"\") {\n return NaN;\n }\n if (!isNaN(Number(number)) || typeof number === \"number\") {\n return Number(number);\n }\n if (decimalSeparator === \",\") {\n const parts = number.split(decimalSeparator);\n\n let result = 0;\n if (parts.length === 2) {\n result = parts[0]\n ? parseFloat(String(parts[0]).replaceAll(thousandSeparator, \"\"))\n : 0;\n if (result < 0) {\n result -= parts[1]\n ? parseFloat(String(parts[1])) / Math.pow(10, parts[1].length)\n : 0;\n } else {\n result += parts[1]\n ? parseFloat(String(parts[1])) / Math.pow(10, parts[1].length)\n : 0;\n }\n return result;\n }\n if (parts.length === 1) {\n result = parseFloat(String(parts[0]).replaceAll(thousandSeparator, \"\"));\n\n return result;\n }\n return 0;\n } else {\n return parseFloat(String(number).replaceAll(thousandSeparator, \"\"));\n }\n};\n\n/**\n * @function formatNumber\n * @description\n * Formats a number or string into a human-readable format with options for thousand separators,\n * decimal precision, and shortening the number using suffixes (K, M, B, T).\n * It can handle negative numbers and optionally trim decimals and set number of decimal places based on the configuration.\n *\n * @param {string | number} n - The number or string to be formatted.\n * @param {\",\" | \".\" | \" \" | \"\"} [thousandSeparator=\",\"] - The character to use as a thousand separator.\n * @param {\",\" | \".\"} [decimalSeperator=\".\"] - The character to use as a decimal separator.\n * @param {boolean} [trimDecimals=true] - Whether to trim decimals to the specified number of decimal spaces.\n * @param {number} [decimalSpaces=2] - The number of decimal spaces to keep in the formatted output.\n * @param {\"long\" | \"short\"} [format=\"long\"] - The format type, either \"long\" for full numbers or \"short\" for shortened numbers with suffixes.\n *\n * @returns {string} - The formatted number as a string with separators and potentially with decimals.\n *\n * @example\n * formatNumber(1500) // \"1,500.00\"\n * formatNumber(1500000, \",\", \".\", true, 2, \"short\") // \"1.5M\"\n */\nexport const formatNumber = (\n n: string | number,\n thousandSeparator = \",\",\n decimalSeperator = \".\",\n trimDecimals = true,\n decimalSpaces = 2,\n format = \"long\"\n) => {\n const number = getNumberFromString(n, thousandSeparator, decimalSeperator);\n\n if (isNaN(number)) {\n return \"\";\n }\n\n const isNegative = number < 0;\n let absoluteNumber = Math.abs(number);\n\n const suffixes = [\"\", \"K\", \"M\", \"B\", \"T\"];\n let scale = 0;\n\n while (\n absoluteNumber >= 1000 &&\n scale < suffixes.length - 1 &&\n format === \"short\"\n ) {\n absoluteNumber /= 1000;\n scale++;\n }\n\n let formattedNum =\n scale === 0\n ? fixedDecimalSpaces(absoluteNumber, decimalSpaces)\n : parseFloat(absoluteNumber.toFixed(1));\n\n if (formattedNum === 1000 && scale > 0 && scale < 4) {\n formattedNum = 1;\n scale++;\n }\n\n const result = numberWithSeparator(\n trimDecimals ? formattedNum : formattedNum.toFixed(decimalSpaces),\n thousandSeparator,\n decimalSeperator\n );\n\n return isNegative\n ? `-${result}${suffixes[scale]}`\n : `${result}${suffixes[scale]}`;\n};\n\nexport const numberWithSeparator = (\n x: number | string,\n thousandSeparator = \",\",\n decimalSeparator = \".\",\n format = true\n) => {\n if (!format) {\n return x;\n }\n const parts = x.toString().split(\".\");\n parts[0] = parts[0].replace(/\\B(?=(\\d{3})+(?!\\d))/g, thousandSeparator);\n\n return parts.join(decimalSeparator);\n};\n\n/**\n * @function formatCurrency\n * @description\n * Formats a number or string as a currency string with options for thousand separators,\n * decimal precision, currency code, currency code position, and the use of suffixes (K, M, B, T) if needed.\n * It can handle negative values and supports customization of the currency code and its position.\n *\n * @param {string | number} n - The number or string to be formatted as currency.\n * @param {\",\" | \".\" | \" \" | \"\"} [thousandSeparator=\",\"] - The character to use as a thousand separator.\n * @param {\",\" | \".\"} [decimalSeperator=\".\"] - The character to use as a decimal separator.\n * @param {boolean} [trimDecimals=false] - Whether to trim decimals to the specified number of decimal spaces.\n * @param {number} [decimalSpaces=2] - The number of decimal spaces to keep in the formatted output.\n * @param {\"long\" | \"short\"} [format=\"long\"] - The format type, either \"long\" for full numbers or \"short\" for shortened numbers with suffixes.\n * @param {string} [currencyCode=\"\"] - The currency code to append or prepend to the formatted number.\n * @param {\"right\" | \"left\"} [currencyCodePosition=\"right\"] - The position of the currency code relative to the formatted number.\n *\n * @returns {string} - The formatted currency string, including the currency code if provided.\n *\n * @example\n * formatCurrency(1500, \",\", \".\", false, 2, \"long\", \"USD\", \"right\") // \"1,500.00 USD\"\n * formatCurrency(1500000, \",\", \".\", true, 2, \"short\", \"JPY\", \"left\") // \"JPY 1.5M\"\n */\nexport const formatCurrency = (\n n: string | number,\n thousandSeparator = \",\",\n decimalSeperator = \".\",\n trimDecimals = false,\n decimalSpaces = 2,\n format = \"long\",\n currencyCode = \"\",\n currencyCodePosition = \"right\"\n) => {\n const formattedNum = formatNumber(\n n,\n thousandSeparator,\n decimalSeperator,\n trimDecimals,\n decimalSpaces,\n format\n );\n\n if (!currencyCode) {\n return formattedNum;\n }\n\n return currencyCodePosition === \"right\"\n ? `${formattedNum} ${currencyCode}`\n : `${currencyCode} ${formattedNum}`;\n};\n\nexport const parseValueToNumber = (\n value: string | number,\n thousandSeparator: string,\n decimalSeparator: string\n): number => {\n const stringValue = String(value).trim();\n if (stringValue.includes(\":\")) {\n const [hoursPart, minutesPart] = stringValue.split(\":\");\n const hours = parseFloat(hoursPart) || 0;\n const minutes = parseFloat(minutesPart) || 0;\n return hours + minutes / 60;\n }\n return +stringValue\n .replaceAll(thousandSeparator, \"\")\n .replace(decimalSeparator, \".\");\n};\n"],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import { formatNumber, getNumberFromString, numberWithSeparator, fixedDecimalSpaces, formatCurrency } from "./currencyUtils";
1
+ import { formatNumber, getNumberFromString, numberWithSeparator, fixedDecimalSpaces, formatCurrency, parseValueToNumber } from "./currencyUtils";
2
2
  describe("format currency with thousandseparator set to ',' and decimalSeparator to '.'", () => {
3
3
  // please try to leave unformatted - ignore works for this block only
4
4
  // prettier-ignore
@@ -427,5 +427,10 @@ describe("format currency with thousandseparator set to ',' and decimalSeparator
427
427
  }, "USD 1.5M"]])("should format currency correctly", (args, expected) => {
428
428
  expect(formatCurrency(args.value, args.thousandSeparator, args.decimalSeparator, args.trimDecimals, args.decimalSpaces, args.format, args.currencyCode, args.currencyCodePosition)).toEqual(expected);
429
429
  });
430
+ it.each([
431
+ // [value, thousandSeparator, decimalSeparator, expectedResult]
432
+ ["13:15", ",", ".", 13.25], ["13:00", ",", ".", 13], ["13:", ",", ".", 13], [":30", ",", ".", 0.5], [" 2:15 ", ",", ".", 2.25], ["1,234.56", ",", ".", 1234.56], ["1.234,56", ".", ",", 1234.56], [13.5, ",", ".", 13.5]])("should correctly parse %p with thousandSeparator '%s' and decimalSeparator '%s' to %p", (value, thousandSeparator, decimalSeparator, expected) => {
433
+ expect(parseValueToNumber(value, thousandSeparator, decimalSeparator)).toBeCloseTo(expected);
434
+ });
430
435
  });
431
436
  //# sourceMappingURL=currencyUtils.test.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"currencyUtils.test.js","names":["formatNumber","getNumberFromString","numberWithSeparator","fixedDecimalSpaces","formatCurrency","describe","it","each","value","thousandSeparator","decimalSeparator","trimDecimals","decimalSpaces","format","params","expected","expect","toEqual","number","toBe","result","toFixed","currencyCode","currencyCodePosition","args"],"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":["formatNumber","getNumberFromString","numberWithSeparator","fixedDecimalSpaces","formatCurrency","parseValueToNumber","describe","it","each","value","thousandSeparator","decimalSeparator","trimDecimals","decimalSpaces","format","params","expected","expect","toEqual","number","toBe","result","toFixed","currencyCode","currencyCodePosition","args","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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"}
@@ -1,21 +1,25 @@
1
+ import { FormatType } from "./types";
1
2
  /**
2
3
  * @function formatHours
3
4
  * @description
4
- * Formats a decimal number representing hours into a formatted string (HH:MM).
5
- * The input can be a number, string, or undefined. The function handles various formats
6
- * and can optionally add a leading zero to the hours component.
5
+ * Formats a decimal number representing hours into a formatted string (HH:MM) or a short form if needed.
6
+ * The input can be a number, string, or undefined. It handles various formats and can optionally add a
7
+ * leading zero to the hours component. With the new "format" argument, if set to "short" and the value is
8
+ * greater than or equal to 1000, it will return a shortened format (e.g., 1K) similar to formatNumber.
7
9
  *
8
- * @param {number | string | undefined} num - The input representing the hours, which can be in decimal format, a time string, or undefined.
9
- * @param {boolean} [withLeadingZeroHours=false] - Whether to add a leading zero to the hours part of the output.
10
+ * @param {number | string | undefined} num - The input representing the hours.
11
+ * @param {boolean} [withLeadingZeroHours=false] - Whether to add a leading zero to the hours part.
10
12
  * @param {boolean} [trimZeroMinutes=false] - Whether to remove minutes if they are zero.
13
+ * @param {"long" | "short"} [format="long"] - The format type, either "long" for full numbers or "short" for abbreviated output.
11
14
  *
12
- * @returns {string} - A formatted time string in HH:MM format.
15
+ * @returns {string} - A formatted time string or a shortened string.
13
16
  *
14
17
  * @example
15
18
  * formatHours(1.5) // "1:30"
16
19
  * formatHours("3.5", true) // "03:30"
20
+ * formatHours(1500, false, false, "short") // "1K" (using formatNumber)
17
21
  */
18
- export declare const formatHours: (num: number | string | undefined, withLeadingZeroHours?: boolean, trimZeroMinutes?: boolean) => string;
22
+ export declare const formatHours: (num: number | string | undefined, withLeadingZeroHours?: boolean, trimZeroMinutes?: boolean, format?: FormatType) => string;
19
23
  export declare const withLeadingZero: (num: string | number, size?: number) => string;
20
24
  export declare const isDecimal: (num: number) => boolean;
21
25
  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,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"}
1
+ {"version":3,"file":"timeUtils.d.ts","sourceRoot":"","sources":["../../../src/utils/timeUtils.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAErC;;;;;;;;;;;;;;;;;;;GAmBG;AACH,eAAO,MAAM,WAAW,QACjB,MAAM,GAAG,MAAM,GAAG,SAAS,sEAGxB,UAAU,KACjB,MA4EF,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"}