@activecollab/components 2.0.185 → 2.0.187
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/components/Nav/Item/Styles.js +9 -2
- package/dist/cjs/components/Nav/Item/Styles.js.map +1 -1
- package/dist/cjs/components/Nav/Nav.js +3 -3
- package/dist/cjs/components/Nav/Nav.js.map +1 -1
- package/dist/cjs/components/Nav/Styles.js +7 -1
- package/dist/cjs/components/Nav/Styles.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/components/Nav/Item/Styles.d.ts.map +1 -1
- package/dist/esm/components/Nav/Item/Styles.js +9 -2
- package/dist/esm/components/Nav/Item/Styles.js.map +1 -1
- package/dist/esm/components/Nav/Nav.d.ts.map +1 -1
- package/dist/esm/components/Nav/Nav.js +3 -3
- package/dist/esm/components/Nav/Nav.js.map +1 -1
- package/dist/esm/components/Nav/Styles.d.ts +3 -1
- package/dist/esm/components/Nav/Styles.d.ts.map +1 -1
- package/dist/esm/components/Nav/Styles.js +5 -1
- package/dist/esm/components/Nav/Styles.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 +29 -16
- 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":""}
|
|
@@ -11,10 +11,17 @@ function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e;
|
|
|
11
11
|
var StyledNavListItemMore = exports.StyledNavListItemMore = (0, _styledComponents.default)(_Item.Item).withConfig({
|
|
12
12
|
displayName: "Styles__StyledNavListItemMore",
|
|
13
13
|
componentId: "sc-m6npdq-0"
|
|
14
|
-
})(["", " cursor:pointer;", ""], function (props) {
|
|
14
|
+
})(["", " cursor:pointer;&::after{content:\"\";", " bottom:0;left:50%;transform:translateX(-50%);height:3px;transition:width 0.3s ease,background-color 0.3s ease;", "}"], function (props) {
|
|
15
15
|
return props.role !== "light" && (0, _styledComponents.css)(["padding:0;"]);
|
|
16
16
|
}, {
|
|
17
|
-
"
|
|
17
|
+
"position": "absolute",
|
|
18
|
+
"margin": "auto",
|
|
19
|
+
"display": "block",
|
|
20
|
+
"width": "0px",
|
|
21
|
+
"backgroundColor": "transparent"
|
|
22
|
+
}, {
|
|
23
|
+
"width": "100%",
|
|
24
|
+
"backgroundColor": "var(--color-primary)"
|
|
18
25
|
});
|
|
19
26
|
StyledNavListItemMore.displayName = "StyledNavListItemMore";
|
|
20
27
|
//# sourceMappingURL=Styles.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Styles.js","names":["_styledComponents","_interopRequireWildcard","require","_Item","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","StyledNavListItemMore","exports","styled","Item","withConfig","displayName","componentId","props","role","css"],"sources":["../../../../../src/components/Nav/Item/Styles.ts"],"sourcesContent":["import styled, { css } from \"styled-components\";\nimport tw from \"twin.macro\";\n\nimport { Item } from \"./Item\";\n\nexport const StyledNavListItemMore = styled(Item)`\n ${(props) =>\n props.role !== \"light\" &&\n css`\n padding: 0;\n `}\n cursor: pointer;\n ${tw`tw-
|
|
1
|
+
{"version":3,"file":"Styles.js","names":["_styledComponents","_interopRequireWildcard","require","_Item","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","StyledNavListItemMore","exports","styled","Item","withConfig","displayName","componentId","props","role","css"],"sources":["../../../../../src/components/Nav/Item/Styles.ts"],"sourcesContent":["import styled, { css } from \"styled-components\";\nimport tw from \"twin.macro\";\n\nimport { Item } from \"./Item\";\n\nexport const StyledNavListItemMore = styled(Item)`\n ${(props) =>\n props.role !== \"light\" &&\n css`\n padding: 0;\n `}\n cursor: pointer;\n\n &::after {\n content: \"\";\n ${tw`tw-absolute tw-block tw-m-auto tw-w-0 tw-bg-transparent`}\n bottom: 0;\n left: 50%;\n transform: translateX(-50%);\n height: 3px;\n transition: width 0.3s ease, background-color 0.3s ease;\n ${tw`tw-w-full tw-bg-primary`}\n }\n`;\n\nStyledNavListItemMore.displayName = \"StyledNavListItemMore\";\n"],"mappings":";;;;;;AAAA,IAAAA,iBAAA,GAAAC,uBAAA,CAAAC,OAAA;AAGA,IAAAC,KAAA,GAAAD,OAAA;AAA8B,SAAAE,yBAAAC,CAAA,6BAAAC,OAAA,mBAAAC,CAAA,OAAAD,OAAA,IAAAE,CAAA,OAAAF,OAAA,YAAAF,wBAAA,YAAAA,yBAAAC,CAAA,WAAAA,CAAA,GAAAG,CAAA,GAAAD,CAAA,KAAAF,CAAA;AAAA,SAAAJ,wBAAAI,CAAA,EAAAE,CAAA,SAAAA,CAAA,IAAAF,CAAA,IAAAA,CAAA,CAAAI,UAAA,SAAAJ,CAAA,eAAAA,CAAA,uBAAAA,CAAA,yBAAAA,CAAA,WAAAK,OAAA,EAAAL,CAAA,QAAAG,CAAA,GAAAJ,wBAAA,CAAAG,CAAA,OAAAC,CAAA,IAAAA,CAAA,CAAAG,GAAA,CAAAN,CAAA,UAAAG,CAAA,CAAAI,GAAA,CAAAP,CAAA,OAAAQ,CAAA,KAAAC,SAAA,UAAAC,CAAA,GAAAC,MAAA,CAAAC,cAAA,IAAAD,MAAA,CAAAE,wBAAA,WAAAC,CAAA,IAAAd,CAAA,oBAAAc,CAAA,IAAAH,MAAA,CAAAI,SAAA,CAAAC,cAAA,CAAAC,IAAA,CAAAjB,CAAA,EAAAc,CAAA,SAAAI,CAAA,GAAAR,CAAA,GAAAC,MAAA,CAAAE,wBAAA,CAAAb,CAAA,EAAAc,CAAA,UAAAI,CAAA,KAAAA,CAAA,CAAAX,GAAA,IAAAW,CAAA,CAAAC,GAAA,IAAAR,MAAA,CAAAC,cAAA,CAAAJ,CAAA,EAAAM,CAAA,EAAAI,CAAA,IAAAV,CAAA,CAAAM,CAAA,IAAAd,CAAA,CAAAc,CAAA,YAAAN,CAAA,CAAAH,OAAA,GAAAL,CAAA,EAAAG,CAAA,IAAAA,CAAA,CAAAgB,GAAA,CAAAnB,CAAA,EAAAQ,CAAA,GAAAA,CAAA;AAEvB,IAAMY,qBAAqB,GAAAC,OAAA,CAAAD,qBAAA,GAAG,IAAAE,yBAAM,EAACC,UAAI,CAAC,CAAAC,UAAA;EAAAC,WAAA;EAAAC,WAAA;AAAA,2KAC7C,UAACC,KAAK;EAAA,OACNA,KAAK,CAACC,IAAI,KAAK,OAAO,QACtBC,qBAAG,iBAEF;AAAA,GAKG;EAAA;EAAA;EAAA;EAAA;EAAA;AAAwD,CAAC,EAMzD;EAAA;EAAA;AAAwB,CAAC,CAEhC;AAEDT,qBAAqB,CAACK,WAAW,GAAG,uBAAuB"}
|
|
@@ -102,7 +102,8 @@ var Nav = exports.Nav = function Nav(_ref) {
|
|
|
102
102
|
}, [children]);
|
|
103
103
|
var navAsSelect = (0, _react.useMemo)(function () {
|
|
104
104
|
return /*#__PURE__*/_react.default.createElement(_Styles2.StyledNavAsSelect, {
|
|
105
|
-
id: targetId
|
|
105
|
+
id: targetId,
|
|
106
|
+
$active: true
|
|
106
107
|
}, /*#__PURE__*/_react.default.createElement("span", null, navItemNames[active]), /*#__PURE__*/_react.default.createElement(_ExpandSingle.ExpandSingle, {
|
|
107
108
|
expanded: moreOpened,
|
|
108
109
|
fill: "currentColor"
|
|
@@ -134,8 +135,7 @@ var Nav = exports.Nav = function Nav(_ref) {
|
|
|
134
135
|
"data-disabled": element.props.disabled
|
|
135
136
|
});
|
|
136
137
|
}), type === "dropdown" ? /*#__PURE__*/_react.default.createElement(_Styles.StyledNavListItemMore, {
|
|
137
|
-
name:
|
|
138
|
-
active: Array.from(navItemNames.keys()).indexOf(active) === -1,
|
|
138
|
+
name: navItemNames[active],
|
|
139
139
|
role: role
|
|
140
140
|
}, /*#__PURE__*/_react.default.createElement(_Select.Select, {
|
|
141
141
|
selected: active,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Nav.js","names":["_react","_interopRequireWildcard","require","_classnames","_interopRequireDefault","_Styles","_Styles2","_utils","_ExpandSingle","_Select","obj","__esModule","default","_getRequireWildcardCache","e","WeakMap","r","t","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","_slicedToArray","arr","_arrayWithHoles","_iterableToArrayLimit","_unsupportedIterableToArray","_nonIterableRest","TypeError","o","minLen","_arrayLikeToArray","toString","slice","constructor","name","Array","from","test","len","length","arr2","l","Symbol","iterator","f","next","done","push","value","return","isArray","Nav","exports","_ref","_dimensions$width","_childDimensions$widt","children","_ref$alignment","alignment","onSelect","className","_ref$role","role","targetId","_useState","useState","_useState2","active","setActive","_useState3","_useState4","moreOpened","setMoreOpened","_useState5","_useState6","type","setType","setMoreOpen","useCallback","setMoreClose","navItemNames","useMemo","Children","toArray","map","item","_item$props","props","allOptions","index","id","navRef","useRef","wrapRef","dimensions","useResizeObserver","childDimensions","parentWidth","width","childWidth","_useState7","_useState8","childrenWidth","setChildrenWidth","useLayoutEffect","onClick","metaKey","ctrlKey","target","currentTarget","dataset","disabled","Number","onMoreOptionClick","forEach","child","navAsSelect","createElement","StyledNavAsSelect","ExpandSingle","expanded","fill","useEffect","current","StyledNav","classNames","$align","$role","ref","StyledNavList","element","cloneElement","StyledNavListItemMore","keys","indexOf","Select","selected","disabledInternalSort","options","mode","forceCloseMenu","disableSearch","keepSameOptionsOrder","onChange","onSelectOpen","onSelectClose","displayName"],"sources":["../../../../src/components/Nav/Nav.tsx"],"sourcesContent":["import React, {\n ReactElement,\n FC,\n ReactNode,\n useState,\n useRef,\n useCallback,\n useMemo,\n Children,\n cloneElement,\n useEffect,\n useLayoutEffect,\n} from \"react\";\n\nimport classNames from \"classnames\";\n\nimport { ItemProps } from \"./Item/Item\";\nimport { StyledNavListItemMore } from \"./Item/Styles\";\nimport { StyledNav, StyledNavAsSelect, StyledNavList } from \"./Styles\";\nimport { useResizeObserver } from \"../../utils\";\nimport { ExpandSingle } from \"../Expanders/ExpandSingle\";\nimport { Select } from \"../Select/Select\";\n\ntype NavType = \"inline\" | \"dropdown\";\nexport type NavAlignType = \"left\" | \"center\" | \"right\";\nexport type NavRoleType = \"bold\" | \"light\";\n\nexport interface INavProps {\n children?: ReactElement<ItemProps>[];\n /** Function for changing active navs. */\n onSelect?: (index: number) => void;\n /** Aligment of nav component. */\n alignment?: NavAlignType;\n /** CSS classes. */\n className?: string;\n /** Role of nav component. */\n role?: NavRoleType;\n /** Target id */\n targetId?: string;\n}\n\nexport const Nav: FC<INavProps> = ({\n children,\n alignment = \"left\",\n onSelect,\n className,\n role = \"bold\",\n targetId,\n}) => {\n const [active, setActive] = useState(0);\n const [moreOpened, setMoreOpened] = useState(false);\n const [type, setType] = useState<NavType>(\"inline\");\n\n const setMoreOpen = useCallback(() => setMoreOpened(true), []);\n const setMoreClose = useCallback(() => setMoreOpened(false), []);\n\n const navItemNames = useMemo(() => {\n return children\n ? (Children.toArray(children) as ReactElement<ItemProps>[]).map(\n (item) => item?.props?.name\n )\n : [];\n }, [children]);\n\n const allOptions = useMemo(() => {\n return navItemNames?.map((name, index) => {\n return { id: index, name: name };\n });\n }, [navItemNames]);\n\n const navRef = useRef<HTMLUListElement | null>(null);\n const wrapRef = useRef<HTMLElement | null>(null);\n const dimensions = useResizeObserver(wrapRef);\n const childDimensions = useResizeObserver(navRef);\n\n const parentWidth = dimensions?.width ?? 0;\n const childWidth = childDimensions?.width ?? 0;\n\n const [childrenWidth, setChildrenWidth] = useState(childWidth);\n\n useLayoutEffect(() => {\n if (type === \"inline\") setChildrenWidth(childWidth);\n }, [childWidth, type]);\n\n const onClick = useCallback(\n (e: React.MouseEvent<HTMLElement, MouseEvent>) => {\n if (e.metaKey || e.ctrlKey) {\n return;\n }\n if (\n e.target &&\n e.currentTarget.dataset.index &&\n !e.currentTarget.dataset.disabled\n ) {\n const index = Number(e.currentTarget.dataset.index);\n setActive(index);\n if (onSelect) {\n onSelect(index);\n }\n }\n },\n [onSelect]\n );\n\n const onMoreOptionClick = useCallback(\n (id) => {\n setActive(id);\n if (onSelect) {\n onSelect(id);\n }\n },\n [onSelect]\n );\n\n useMemo(() => {\n Children.forEach(\n children as ReactElement[],\n (child: ReactElement, index) => {\n if (child && child.props.active) {\n setActive(index);\n }\n }\n );\n }, [children]);\n\n const navAsSelect = useMemo(() => {\n return (\n <StyledNavAsSelect id={targetId}>\n <span>{navItemNames[active]}</span>\n <ExpandSingle expanded={moreOpened} fill=\"currentColor\" />\n </StyledNavAsSelect>\n );\n }, [active, moreOpened, navItemNames, targetId]);\n\n useEffect(() => {\n if (!navRef.current || !wrapRef.current) return;\n\n if (childrenWidth >= parentWidth) {\n setType(\"dropdown\");\n } else {\n setType(\"inline\");\n }\n }, [childrenWidth, parentWidth]);\n\n if (!children) return;\n\n return (\n <StyledNav\n className={classNames(\"c-nav\", className)}\n $align={alignment}\n $role={role}\n ref={wrapRef}\n >\n <StyledNavList ref={navRef}>\n {type === \"inline\" &&\n Children.toArray(children).map((child: ReactNode, index: number) => {\n const element = child as ReactElement;\n return cloneElement(element, {\n active: index === active,\n role,\n onClick,\n \"data-index\": index,\n \"data-disabled\": element.props.disabled,\n });\n })}\n {type === \"dropdown\" ? (\n <StyledNavListItemMore\n name=\"More\"\n active={Array.from(navItemNames.keys()).indexOf(active) === -1}\n role={role}\n >\n <Select\n selected={active}\n target={navAsSelect}\n disabledInternalSort\n options={allOptions}\n type=\"single\"\n mode=\"normal\"\n forceCloseMenu\n disableSearch\n keepSameOptionsOrder\n onChange={onMoreOptionClick}\n onSelectOpen={setMoreOpen}\n onSelectClose={setMoreClose}\n />\n </StyledNavListItemMore>\n ) : null}\n </StyledNavList>\n </StyledNav>\n );\n};\n\nNav.displayName = \"Nav\";\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Nav.js","names":["_react","_interopRequireWildcard","require","_classnames","_interopRequireDefault","_Styles","_Styles2","_utils","_ExpandSingle","_Select","obj","__esModule","default","_getRequireWildcardCache","e","WeakMap","r","t","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","_slicedToArray","arr","_arrayWithHoles","_iterableToArrayLimit","_unsupportedIterableToArray","_nonIterableRest","TypeError","o","minLen","_arrayLikeToArray","toString","slice","constructor","name","Array","from","test","len","length","arr2","l","Symbol","iterator","f","next","done","push","value","return","isArray","Nav","exports","_ref","_dimensions$width","_childDimensions$widt","children","_ref$alignment","alignment","onSelect","className","_ref$role","role","targetId","_useState","useState","_useState2","active","setActive","_useState3","_useState4","moreOpened","setMoreOpened","_useState5","_useState6","type","setType","setMoreOpen","useCallback","setMoreClose","navItemNames","useMemo","Children","toArray","map","item","_item$props","props","allOptions","index","id","navRef","useRef","wrapRef","dimensions","useResizeObserver","childDimensions","parentWidth","width","childWidth","_useState7","_useState8","childrenWidth","setChildrenWidth","useLayoutEffect","onClick","metaKey","ctrlKey","target","currentTarget","dataset","disabled","Number","onMoreOptionClick","forEach","child","navAsSelect","createElement","StyledNavAsSelect","$active","ExpandSingle","expanded","fill","useEffect","current","StyledNav","classNames","$align","$role","ref","StyledNavList","element","cloneElement","StyledNavListItemMore","Select","selected","disabledInternalSort","options","mode","forceCloseMenu","disableSearch","keepSameOptionsOrder","onChange","onSelectOpen","onSelectClose","displayName"],"sources":["../../../../src/components/Nav/Nav.tsx"],"sourcesContent":["import React, {\n ReactElement,\n FC,\n ReactNode,\n useState,\n useRef,\n useCallback,\n useMemo,\n Children,\n cloneElement,\n useEffect,\n useLayoutEffect,\n} from \"react\";\n\nimport classNames from \"classnames\";\n\nimport { ItemProps } from \"./Item/Item\";\nimport { StyledNavListItemMore } from \"./Item/Styles\";\nimport { StyledNav, StyledNavAsSelect, StyledNavList } from \"./Styles\";\nimport { useResizeObserver } from \"../../utils\";\nimport { ExpandSingle } from \"../Expanders/ExpandSingle\";\nimport { Select } from \"../Select/Select\";\n\ntype NavType = \"inline\" | \"dropdown\";\nexport type NavAlignType = \"left\" | \"center\" | \"right\";\nexport type NavRoleType = \"bold\" | \"light\";\n\nexport interface INavProps {\n children?: ReactElement<ItemProps>[];\n /** Function for changing active navs. */\n onSelect?: (index: number) => void;\n /** Aligment of nav component. */\n alignment?: NavAlignType;\n /** CSS classes. */\n className?: string;\n /** Role of nav component. */\n role?: NavRoleType;\n /** Target id */\n targetId?: string;\n}\n\nexport const Nav: FC<INavProps> = ({\n children,\n alignment = \"left\",\n onSelect,\n className,\n role = \"bold\",\n targetId,\n}) => {\n const [active, setActive] = useState(0);\n const [moreOpened, setMoreOpened] = useState(false);\n const [type, setType] = useState<NavType>(\"inline\");\n\n const setMoreOpen = useCallback(() => setMoreOpened(true), []);\n const setMoreClose = useCallback(() => setMoreOpened(false), []);\n\n const navItemNames = useMemo(() => {\n return children\n ? (Children.toArray(children) as ReactElement<ItemProps>[]).map(\n (item) => item?.props?.name\n )\n : [];\n }, [children]);\n\n const allOptions = useMemo(() => {\n return navItemNames?.map((name, index) => {\n return { id: index, name: name };\n });\n }, [navItemNames]);\n\n const navRef = useRef<HTMLUListElement | null>(null);\n const wrapRef = useRef<HTMLElement | null>(null);\n const dimensions = useResizeObserver(wrapRef);\n const childDimensions = useResizeObserver(navRef);\n\n const parentWidth = dimensions?.width ?? 0;\n const childWidth = childDimensions?.width ?? 0;\n\n const [childrenWidth, setChildrenWidth] = useState(childWidth);\n\n useLayoutEffect(() => {\n if (type === \"inline\") setChildrenWidth(childWidth);\n }, [childWidth, type]);\n\n const onClick = useCallback(\n (e: React.MouseEvent<HTMLElement, MouseEvent>) => {\n if (e.metaKey || e.ctrlKey) {\n return;\n }\n if (\n e.target &&\n e.currentTarget.dataset.index &&\n !e.currentTarget.dataset.disabled\n ) {\n const index = Number(e.currentTarget.dataset.index);\n setActive(index);\n if (onSelect) {\n onSelect(index);\n }\n }\n },\n [onSelect]\n );\n\n const onMoreOptionClick = useCallback(\n (id) => {\n setActive(id);\n if (onSelect) {\n onSelect(id);\n }\n },\n [onSelect]\n );\n\n useMemo(() => {\n Children.forEach(\n children as ReactElement[],\n (child: ReactElement, index) => {\n if (child && child.props.active) {\n setActive(index);\n }\n }\n );\n }, [children]);\n\n const navAsSelect = useMemo(() => {\n return (\n <StyledNavAsSelect id={targetId} $active>\n <span>{navItemNames[active]}</span>\n <ExpandSingle expanded={moreOpened} fill=\"currentColor\" />\n </StyledNavAsSelect>\n );\n }, [active, moreOpened, navItemNames, targetId]);\n\n useEffect(() => {\n if (!navRef.current || !wrapRef.current) return;\n\n if (childrenWidth >= parentWidth) {\n setType(\"dropdown\");\n } else {\n setType(\"inline\");\n }\n }, [childrenWidth, parentWidth]);\n\n if (!children) return;\n\n return (\n <StyledNav\n className={classNames(\"c-nav\", className)}\n $align={alignment}\n $role={role}\n ref={wrapRef}\n >\n <StyledNavList ref={navRef}>\n {type === \"inline\" &&\n Children.toArray(children).map((child: ReactNode, index: number) => {\n const element = child as ReactElement;\n return cloneElement(element, {\n active: index === active,\n role,\n onClick,\n \"data-index\": index,\n \"data-disabled\": element.props.disabled,\n });\n })}\n {type === \"dropdown\" ? (\n <StyledNavListItemMore name={navItemNames[active]} role={role}>\n <Select\n selected={active}\n target={navAsSelect}\n disabledInternalSort\n options={allOptions}\n type=\"single\"\n mode=\"normal\"\n forceCloseMenu\n disableSearch\n keepSameOptionsOrder\n onChange={onMoreOptionClick}\n onSelectOpen={setMoreOpen}\n onSelectClose={setMoreClose}\n />\n </StyledNavListItemMore>\n ) : null}\n </StyledNavList>\n </StyledNav>\n );\n};\n\nNav.displayName = \"Nav\";\n"],"mappings":"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"}
|
|
@@ -90,7 +90,13 @@ StyledNavListItem.displayName = "StyledNavListItem";
|
|
|
90
90
|
var StyledNavAsSelect = exports.StyledNavAsSelect = _styledComponents.default.div.withConfig({
|
|
91
91
|
displayName: "Styles__StyledNavAsSelect",
|
|
92
92
|
componentId: "sc-1khiypw-3"
|
|
93
|
-
})(["padding:0 10px;height:100%;display:flex;align-items:center;svg{color:var(--color-primary);}"])
|
|
93
|
+
})(["padding:0 10px;height:100%;display:flex;align-items:center;gap:4px;svg{color:var(--color-primary);top:1px;position:relative;}", ""], function (props) {
|
|
94
|
+
return props.$active && (0, _styledComponents.css)(["", " & *{", "}"], {
|
|
95
|
+
"color": "var(--color-primary)"
|
|
96
|
+
}, {
|
|
97
|
+
"color": "var(--color-primary)"
|
|
98
|
+
});
|
|
99
|
+
});
|
|
94
100
|
StyledNavAsSelect.displayName = "StyledNavAsSelect";
|
|
95
101
|
var StyledNavAsMoreTarget = exports.StyledNavAsMoreTarget = _styledComponents.default.div.withConfig({
|
|
96
102
|
displayName: "Styles__StyledNavAsMoreTarget",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Styles.js","names":["_styledComponents","_interopRequireWildcard","require","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","StyledNav","exports","styled","nav","withConfig","displayName","componentId","props","$align","css","$role","StyledNavList","ul","StyledNavListItem","li","$disabled","$active","StyledNavAsSelect","div","StyledNavAsMoreTarget"],"sources":["../../../../src/components/Nav/Styles.ts"],"sourcesContent":["import styled, { css } from \"styled-components\";\nimport tw from \"twin.macro\";\n\nimport { NavAlignType, NavRoleType } from \"./Nav\";\n\ninterface StyledNavProps {\n $align?: NavAlignType;\n $role?: NavRoleType;\n}\n\nexport const StyledNav = styled.nav<StyledNavProps>`\n ${tw`tw-flex`}\n height: 100%;\n width: 100%;\n overflow: clip visible;\n\n ${(props) =>\n props.$align === \"left\" &&\n css`\n ${tw`tw-justify-start`}\n `}\n\n ${(props) =>\n props.$align === \"center\" &&\n css`\n ${tw`tw-justify-center`}\n `}\n\n ${(props) =>\n props.$align === \"right\" &&\n css`\n ${tw`tw-justify-end`}\n `}\n\n ${(props) =>\n props.$role === \"light\" &&\n css`\n height: auto;\n `}\n`;\n\nStyledNav.displayName = \"StyledNav\";\n\nexport const StyledNavList = styled.ul`\n ${tw`tw-flex tw-list-none tw-m-0 tw-p-0`}\n overflow: clip visible;\n`;\n\nStyledNavList.displayName = \"StyledNavList\";\n\ninterface StyledNavListItemProps {\n $active?: boolean;\n $disabled?: boolean;\n $role?: NavRoleType;\n $asMore?: boolean;\n}\n\nexport const StyledNavListItem = styled.li<StyledNavListItemProps>`\n ${tw`tw-text-sm tw-cursor-default tw-relative tw-select-none`}\n color: var(--color-theme-700);\n font-size: 15px;\n display: flex;\n align-items: center;\n font-weight: 500;\n padding: 0 10px;\n flex-shrink: 0;\n\n &:hover,\n &:hover * {\n ${(props) =>\n !props.$disabled &&\n css`\n ${tw`tw-text-primary`}\n `}\n }\n\n ${(props) =>\n !props.$active &&\n !props.$disabled &&\n css`\n ${tw`tw-cursor-pointer`}\n `}\n\n &::after {\n content: \"\";\n ${tw`tw-absolute tw-block tw-m-auto tw-w-0 tw-bg-transparent`}\n bottom: 0;\n left: 50%;\n transform: translateX(-50%);\n height: 3px;\n transition: width 0.3s ease, background-color 0.3s ease;\n }\n\n ${(props) =>\n props.$active &&\n css`\n ${tw`tw-pointer-events-none`}\n &::after {\n ${tw`tw-w-full tw-bg-primary`}\n }\n `}\n\n ${(props) =>\n props.$disabled &&\n css`\n ${tw`tw-select-none tw-cursor-not-allowed tw-opacity-50`}\n `}\n\n ${(props) =>\n props.$role === \"light\" &&\n css`\n ${tw`tw-text-sm`}\n color: var(--color-theme-800);\n font-weight: 400;\n padding: 0 8px;\n\n &::after {\n bottom: -4px;\n height: 2px;\n }\n `}\n\n ${(props) =>\n props.$active &&\n css`\n ${tw`tw-text-primary`}\n & * {\n ${tw`tw-text-primary`}\n }\n `}\n`;\n\nStyledNavListItem.displayName = \"StyledNavListItem\";\n\nexport const StyledNavAsSelect = styled.div
|
|
1
|
+
{"version":3,"file":"Styles.js","names":["_styledComponents","_interopRequireWildcard","require","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","StyledNav","exports","styled","nav","withConfig","displayName","componentId","props","$align","css","$role","StyledNavList","ul","StyledNavListItem","li","$disabled","$active","StyledNavAsSelect","div","StyledNavAsMoreTarget"],"sources":["../../../../src/components/Nav/Styles.ts"],"sourcesContent":["import styled, { css } from \"styled-components\";\nimport tw from \"twin.macro\";\n\nimport { NavAlignType, NavRoleType } from \"./Nav\";\n\ninterface StyledNavProps {\n $align?: NavAlignType;\n $role?: NavRoleType;\n}\n\nexport const StyledNav = styled.nav<StyledNavProps>`\n ${tw`tw-flex`}\n height: 100%;\n width: 100%;\n overflow: clip visible;\n\n ${(props) =>\n props.$align === \"left\" &&\n css`\n ${tw`tw-justify-start`}\n `}\n\n ${(props) =>\n props.$align === \"center\" &&\n css`\n ${tw`tw-justify-center`}\n `}\n\n ${(props) =>\n props.$align === \"right\" &&\n css`\n ${tw`tw-justify-end`}\n `}\n\n ${(props) =>\n props.$role === \"light\" &&\n css`\n height: auto;\n `}\n`;\n\nStyledNav.displayName = \"StyledNav\";\n\nexport const StyledNavList = styled.ul`\n ${tw`tw-flex tw-list-none tw-m-0 tw-p-0`}\n overflow: clip visible;\n`;\n\nStyledNavList.displayName = \"StyledNavList\";\n\ninterface StyledNavListItemProps {\n $active?: boolean;\n $disabled?: boolean;\n $role?: NavRoleType;\n $asMore?: boolean;\n}\n\nexport const StyledNavListItem = styled.li<StyledNavListItemProps>`\n ${tw`tw-text-sm tw-cursor-default tw-relative tw-select-none`}\n color: var(--color-theme-700);\n font-size: 15px;\n display: flex;\n align-items: center;\n font-weight: 500;\n padding: 0 10px;\n flex-shrink: 0;\n\n &:hover,\n &:hover * {\n ${(props) =>\n !props.$disabled &&\n css`\n ${tw`tw-text-primary`}\n `}\n }\n\n ${(props) =>\n !props.$active &&\n !props.$disabled &&\n css`\n ${tw`tw-cursor-pointer`}\n `}\n\n &::after {\n content: \"\";\n ${tw`tw-absolute tw-block tw-m-auto tw-w-0 tw-bg-transparent`}\n bottom: 0;\n left: 50%;\n transform: translateX(-50%);\n height: 3px;\n transition: width 0.3s ease, background-color 0.3s ease;\n }\n\n ${(props) =>\n props.$active &&\n css`\n ${tw`tw-pointer-events-none`}\n &::after {\n ${tw`tw-w-full tw-bg-primary`}\n }\n `}\n\n ${(props) =>\n props.$disabled &&\n css`\n ${tw`tw-select-none tw-cursor-not-allowed tw-opacity-50`}\n `}\n\n ${(props) =>\n props.$role === \"light\" &&\n css`\n ${tw`tw-text-sm`}\n color: var(--color-theme-800);\n font-weight: 400;\n padding: 0 8px;\n\n &::after {\n bottom: -4px;\n height: 2px;\n }\n `}\n\n ${(props) =>\n props.$active &&\n css`\n ${tw`tw-text-primary`}\n & * {\n ${tw`tw-text-primary`}\n }\n `}\n`;\n\nStyledNavListItem.displayName = \"StyledNavListItem\";\n\nexport const StyledNavAsSelect = styled.div<{ $active: boolean }>`\n padding: 0 10px;\n height: 100%;\n display: flex;\n align-items: center;\n gap: 4px;\n\n svg {\n color: var(--color-primary);\n top: 1px;\n position: relative;\n }\n\n ${(props) =>\n props.$active &&\n css`\n ${tw`tw-text-primary`}\n & * {\n ${tw`tw-text-primary`}\n }\n `}\n`;\n\nStyledNavAsSelect.displayName = \"StyledNavAsSelect\";\n\nexport const StyledNavAsMoreTarget = styled.div<{\n $role?: NavRoleType;\n}>`\n padding: 0 10px;\n height: 100%;\n display: flex;\n align-items: center;\n\n ${(props) =>\n props.$role === \"light\" &&\n css`\n padding: 0;\n `}\n`;\n\nStyledNavAsMoreTarget.displayName = \"StyledNavAsMoreTarget\";\n"],"mappings":"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"}
|
|
@@ -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":";;;;;;;;;;;;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,IAAMA,WAAW,GAAAC,OAAA,CAAAD,WAAA,GAAG,SAAdA,WAAWA,CACtBE,GAAgC,EAGrB;EAAA,IAFXC,oBAAoB,GAAAC,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAG,KAAK;EAAA,IAC5BG,eAAe,GAAAH,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAG,KAAK;EAEvB,IAAIF,GAAG,KAAK,CAAC,IAAIA,GAAG,KAAK,GAAG,EAAE;IAC5B,OAAOK,eAAe,GAAG,GAAG,GAAGJ,oBAAoB,GAAG,OAAO,GAAG,MAAM;EACxE;EACA,IAAI,CAACD,GAAG,EAAE;IACR,OAAO,EAAE;EACX;EACA,IAAI,OAAOA,GAAG,KAAK,QAAQ,IAAIA,GAAG,CAACM,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE;IACpD;IACA,IAAAC,UAAA,GAAyBP,GAAG,CAACQ,KAAK,CAAC,GAAG,CAAC;MAAAC,WAAA,GAAAC,cAAA,CAAAH,UAAA;MAAlCI,MAAM,GAAAF,WAAA;MAAEG,QAAQ,GAAAH,WAAA;IACrB,IAAIG,QAAQ,IAAIA,QAAQ,CAACT,MAAM,KAAK,CAAC,IAAIU,MAAM,CAACD,QAAQ,CAAC,GAAG,EAAE,EAAE;MAC9DA,QAAQ,MAAAE,MAAA,CAAMD,MAAM,CAACD,QAAQ,CAAC,MAAG;IACnC;IACA,IAAID,MAAM,IAAIC,QAAQ,EAAE;MACtB,IAAIP,eAAe,IAAIO,QAAQ,KAAK,IAAI,EAAE;QACxC,OAAOX,oBAAoB,GACvBc,eAAe,CAACJ,MAAM,CAAC,GACvBK,MAAM,CAACH,MAAM,CAACF,MAAM,CAAC,CAAC;MAC5B;MACA,OAAOV,oBAAoB,MAAAa,MAAA,CACpBC,eAAe,CAACJ,MAAM,CAAC,OAAAG,MAAA,CAAIF,QAAQ,OAAAE,MAAA,CACnCH,MAAM,OAAAG,MAAA,CAAIF,QAAQ,CAAE;IAC7B,CAAC,MAAM,IAAID,MAAM,IAAI,CAACC,QAAQ,EAAE;MAC9B,OAAOX,oBAAoB,MAAAa,MAAA,CACpBC,eAAe,CAACJ,MAAM,CAAC,cAAAG,MAAA,CACvBH,MAAM,QAAK;IACpB,CAAC,MAAM,IAAI,CAACA,MAAM,IAAIC,QAAQ,EAAE;MAC9B,OAAOX,oBAAoB,SAAAa,MAAA,CAASF,QAAQ,SAAAE,MAAA,CAAUF,QAAQ,CAAE;IAClE,CAAC,MAAM,IAAI,CAACD,MAAM,IAAI,CAACC,QAAQ,EAAE;MAC/B,OAAOX,oBAAoB,GAAG,OAAO,GAAG,MAAM;IAChD;IACA,OAAOA,oBAAoB,SAAAa,MAAA,CAASF,QAAQ,SAAAE,MAAA,CAAUF,QAAQ,CAAE;EAClE;EACA,IAAI,OAAOZ,GAAG,KAAK,QAAQ,IAAIA,GAAG,CAACM,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE;IACpDN,GAAG,GAAGA,GAAG,CAACiB,OAAO,CAAC,GAAG,EAAE,GAAG,CAAC;EAC7B;EACA,IAAMC,KAAK,GAAG,OAAOlB,GAAG,KAAK,QAAQ,GAAGmB,UAAU,CAACnB,GAAG,CAAC,GAAGA,GAAG;EAE7D,IAAI,CAACoB,SAAS,CAACF,KAAK,CAAC,EAAE;IACrB,IAAIb,eAAe,EAAE;MACnB,OAAOJ,oBAAoB,GACvBc,eAAe,CAACG,KAAK,CAAC,GACtBF,MAAM,CAACH,MAAM,CAACK,KAAK,CAAC,CAAC;IAC3B;IACA,OAAOjB,oBAAoB,MAAAa,MAAA,CACpBC,eAAe,CAACG,KAAK,CAAC,cAAAJ,MAAA,CACtBI,KAAK,QAAK;EACnB;EAEA,IAAMG,OAAO,GAAGH,KAAK,CAACI,OAAO,CAAC,CAAC,CAAC;EAChC,IAAMC,IAAI,GAAGF,OAAO,CAACG,QAAQ,CAAC,CAAC,CAAChB,KAAK,CAAC,GAAG,CAAC;EAC1C,IAAIiB,KAAa,GAAGF,IAAI,CAAC,CAAC,CAAC;EAC3B,IAAItB,oBAAoB,EAAE;IACxBwB,KAAK,GAAGV,eAAe,CAACU,KAAK,CAAC;EAChC;EACA,IAAMC,OAAe,GAAGH,IAAI,CAAC,CAAC,CAAC;EAC/B,IAAMI,iBAAiB,GAAGC,IAAI,CAACC,KAAK,CAAEC,QAAQ,CAACJ,OAAO,EAAE,EAAE,CAAC,GAAG,GAAG,GAAI,EAAE,CAAC;EAExE,IAAIrB,eAAe,IAAIsB,iBAAiB,KAAK,CAAC,EAAE;IAC9C,OAAOF,KAAK;EACd;EAEA,UAAAX,MAAA,CAAUW,KAAK,OAAAX,MAAA,CAAIC,eAAe,CAACY,iBAAiB,CAAC;AACvD,CAAC;AAEM,IAAMZ,eAAe,GAAAhB,OAAA,CAAAgB,eAAA,GAAG,SAAlBA,eAAeA,CAAIf,GAAoB,EAAe;EAAA,IAAb+B,IAAI,GAAA7B,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAG,CAAC;EAC5D,IAAI8B,CAAC,MAAAlB,MAAA,CAAMd,GAAG,CAAE;EAChB,OAAOgC,CAAC,CAAC7B,MAAM,GAAG4B,IAAI,EAAEC,CAAC,GAAG,MAAMA,CAAC;EACnC,OAAOA,CAAC;AACV,CAAC;AAEM,IAAMZ,SAAS,GAAArB,OAAA,CAAAqB,SAAA,GAAG,SAAZA,SAASA,CAAIpB,GAAW,EAAc;EACjD,OAAO,CAACa,MAAM,CAACoB,SAAS,CAACjC,GAAG,CAAC;AAC/B,CAAC;AAEM,IAAMkC,WAAW,GAAAnC,OAAA,CAAAmC,WAAA,GAAG,SAAdA,WAAWA,CAAIX,IAAwB,EAAc;EAChE,OAAOA,IAAI,KAAKnB,SAAS,IAAI,6BAA6B,CAAC+B,IAAI,CAACZ,IAAI,CAAC;AACvE,CAAC"}
|
|
@@ -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":""}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Styles.d.ts","sourceRoot":"","sources":["../../../../../src/components/Nav/Item/Styles.ts"],"names":[],"mappings":";AAKA,eAAO,MAAM,qBAAqB,
|
|
1
|
+
{"version":3,"file":"Styles.d.ts","sourceRoot":"","sources":["../../../../../src/components/Nav/Item/Styles.ts"],"names":[],"mappings":";AAKA,eAAO,MAAM,qBAAqB,oSAkBjC,CAAC"}
|
|
@@ -3,8 +3,15 @@ import { Item } from "./Item";
|
|
|
3
3
|
export const StyledNavListItemMore = styled(Item).withConfig({
|
|
4
4
|
displayName: "Styles__StyledNavListItemMore",
|
|
5
5
|
componentId: "sc-m6npdq-0"
|
|
6
|
-
})(["", " cursor:pointer;", ""], props => props.role !== "light" && css(["padding:0;"]), {
|
|
7
|
-
"
|
|
6
|
+
})(["", " cursor:pointer;&::after{content:\"\";", " bottom:0;left:50%;transform:translateX(-50%);height:3px;transition:width 0.3s ease,background-color 0.3s ease;", "}"], props => props.role !== "light" && css(["padding:0;"]), {
|
|
7
|
+
"position": "absolute",
|
|
8
|
+
"margin": "auto",
|
|
9
|
+
"display": "block",
|
|
10
|
+
"width": "0px",
|
|
11
|
+
"backgroundColor": "transparent"
|
|
12
|
+
}, {
|
|
13
|
+
"width": "100%",
|
|
14
|
+
"backgroundColor": "var(--color-primary)"
|
|
8
15
|
});
|
|
9
16
|
StyledNavListItemMore.displayName = "StyledNavListItemMore";
|
|
10
17
|
//# sourceMappingURL=Styles.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Styles.js","names":["styled","css","Item","StyledNavListItemMore","withConfig","displayName","componentId","props","role"],"sources":["../../../../../src/components/Nav/Item/Styles.ts"],"sourcesContent":["import styled, { css } from \"styled-components\";\nimport tw from \"twin.macro\";\n\nimport { Item } from \"./Item\";\n\nexport const StyledNavListItemMore = styled(Item)`\n ${(props) =>\n props.role !== \"light\" &&\n css`\n padding: 0;\n `}\n cursor: pointer;\n ${tw`tw-
|
|
1
|
+
{"version":3,"file":"Styles.js","names":["styled","css","Item","StyledNavListItemMore","withConfig","displayName","componentId","props","role"],"sources":["../../../../../src/components/Nav/Item/Styles.ts"],"sourcesContent":["import styled, { css } from \"styled-components\";\nimport tw from \"twin.macro\";\n\nimport { Item } from \"./Item\";\n\nexport const StyledNavListItemMore = styled(Item)`\n ${(props) =>\n props.role !== \"light\" &&\n css`\n padding: 0;\n `}\n cursor: pointer;\n\n &::after {\n content: \"\";\n ${tw`tw-absolute tw-block tw-m-auto tw-w-0 tw-bg-transparent`}\n bottom: 0;\n left: 50%;\n transform: translateX(-50%);\n height: 3px;\n transition: width 0.3s ease, background-color 0.3s ease;\n ${tw`tw-w-full tw-bg-primary`}\n }\n`;\n\nStyledNavListItemMore.displayName = \"StyledNavListItemMore\";\n"],"mappings":"AAAA,OAAOA,MAAM,IAAIC,GAAG,QAAQ,mBAAmB;AAG/C,SAASC,IAAI,QAAQ,QAAQ;AAE7B,OAAO,MAAMC,qBAAqB,GAAGH,MAAM,CAACE,IAAI,CAAC,CAAAE,UAAA;EAAAC,WAAA;EAAAC,WAAA;AAAA,2KAC5CC,KAAK,IACNA,KAAK,CAACC,IAAI,KAAK,OAAO,IACtBP,GAAG,gBAEF,EAKG;EAAA;EAAA;EAAA;EAAA;EAAA;AAAwD,CAAC,EAMzD;EAAA;EAAA;AAAwB,CAAC,CAEhC;AAEDE,qBAAqB,CAACE,WAAW,GAAG,uBAAuB"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Nav.d.ts","sourceRoot":"","sources":["../../../../src/components/Nav/Nav.tsx"],"names":[],"mappings":"AAAA,OAAc,EACZ,YAAY,EACZ,EAAE,EAUH,MAAM,OAAO,CAAC;AAIf,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAQxC,MAAM,MAAM,YAAY,GAAG,MAAM,GAAG,QAAQ,GAAG,OAAO,CAAC;AACvD,MAAM,MAAM,WAAW,GAAG,MAAM,GAAG,OAAO,CAAC;AAE3C,MAAM,WAAW,SAAS;IACxB,QAAQ,CAAC,EAAE,YAAY,CAAC,SAAS,CAAC,EAAE,CAAC;IACrC,yCAAyC;IACzC,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACnC,iCAAiC;IACjC,SAAS,CAAC,EAAE,YAAY,CAAC;IACzB,mBAAmB;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,6BAA6B;IAC7B,IAAI,CAAC,EAAE,WAAW,CAAC;IACnB,gBAAgB;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,eAAO,MAAM,GAAG,EAAE,EAAE,CAAC,SAAS,
|
|
1
|
+
{"version":3,"file":"Nav.d.ts","sourceRoot":"","sources":["../../../../src/components/Nav/Nav.tsx"],"names":[],"mappings":"AAAA,OAAc,EACZ,YAAY,EACZ,EAAE,EAUH,MAAM,OAAO,CAAC;AAIf,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAQxC,MAAM,MAAM,YAAY,GAAG,MAAM,GAAG,QAAQ,GAAG,OAAO,CAAC;AACvD,MAAM,MAAM,WAAW,GAAG,MAAM,GAAG,OAAO,CAAC;AAE3C,MAAM,WAAW,SAAS;IACxB,QAAQ,CAAC,EAAE,YAAY,CAAC,SAAS,CAAC,EAAE,CAAC;IACrC,yCAAyC;IACzC,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACnC,iCAAiC;IACjC,SAAS,CAAC,EAAE,YAAY,CAAC;IACzB,mBAAmB;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,6BAA6B;IAC7B,IAAI,CAAC,EAAE,WAAW,CAAC;IACnB,gBAAgB;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,eAAO,MAAM,GAAG,EAAE,EAAE,CAAC,SAAS,CAiJ7B,CAAC"}
|
|
@@ -71,7 +71,8 @@ export const Nav = _ref => {
|
|
|
71
71
|
}, [children]);
|
|
72
72
|
const navAsSelect = useMemo(() => {
|
|
73
73
|
return /*#__PURE__*/React.createElement(StyledNavAsSelect, {
|
|
74
|
-
id: targetId
|
|
74
|
+
id: targetId,
|
|
75
|
+
$active: true
|
|
75
76
|
}, /*#__PURE__*/React.createElement("span", null, navItemNames[active]), /*#__PURE__*/React.createElement(ExpandSingle, {
|
|
76
77
|
expanded: moreOpened,
|
|
77
78
|
fill: "currentColor"
|
|
@@ -103,8 +104,7 @@ export const Nav = _ref => {
|
|
|
103
104
|
"data-disabled": element.props.disabled
|
|
104
105
|
});
|
|
105
106
|
}), type === "dropdown" ? /*#__PURE__*/React.createElement(StyledNavListItemMore, {
|
|
106
|
-
name:
|
|
107
|
-
active: Array.from(navItemNames.keys()).indexOf(active) === -1,
|
|
107
|
+
name: navItemNames[active],
|
|
108
108
|
role: role
|
|
109
109
|
}, /*#__PURE__*/React.createElement(Select, {
|
|
110
110
|
selected: active,
|