@activecollab/components 2.0.160 → 2.0.161

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 (32) hide show
  1. package/dist/cjs/components/CounterButton/Styles.js +4 -2
  2. package/dist/cjs/components/CounterButton/Styles.js.map +1 -1
  3. package/dist/cjs/components/EntitiesHeader/EntitiesHeader.js +12 -5
  4. package/dist/cjs/components/EntitiesHeader/EntitiesHeader.js.map +1 -1
  5. package/dist/cjs/components/EntitiesHeader/Styles.js +6 -3
  6. package/dist/cjs/components/EntitiesHeader/Styles.js.map +1 -1
  7. package/dist/cjs/hooks/useInputHours.js +3 -0
  8. package/dist/cjs/hooks/useInputHours.js.map +1 -1
  9. package/dist/cjs/hooks/useInputNumber.js +3 -0
  10. package/dist/cjs/hooks/useInputNumber.js.map +1 -1
  11. package/dist/esm/components/CounterButton/Styles.d.ts.map +1 -1
  12. package/dist/esm/components/CounterButton/Styles.js +2 -2
  13. package/dist/esm/components/CounterButton/Styles.js.map +1 -1
  14. package/dist/esm/components/EntitiesHeader/EntitiesHeader.d.ts +1 -0
  15. package/dist/esm/components/EntitiesHeader/EntitiesHeader.d.ts.map +1 -1
  16. package/dist/esm/components/EntitiesHeader/EntitiesHeader.js +11 -5
  17. package/dist/esm/components/EntitiesHeader/EntitiesHeader.js.map +1 -1
  18. package/dist/esm/components/EntitiesHeader/Styles.d.ts +3 -1
  19. package/dist/esm/components/EntitiesHeader/Styles.d.ts.map +1 -1
  20. package/dist/esm/components/EntitiesHeader/Styles.js +8 -3
  21. package/dist/esm/components/EntitiesHeader/Styles.js.map +1 -1
  22. package/dist/esm/hooks/useInputHours.d.ts.map +1 -1
  23. package/dist/esm/hooks/useInputHours.js +3 -0
  24. package/dist/esm/hooks/useInputHours.js.map +1 -1
  25. package/dist/esm/hooks/useInputNumber.d.ts.map +1 -1
  26. package/dist/esm/hooks/useInputNumber.js +3 -0
  27. package/dist/esm/hooks/useInputNumber.js.map +1 -1
  28. package/dist/index.js +28 -10
  29. package/dist/index.js.map +1 -1
  30. package/dist/index.min.js +1 -1
  31. package/dist/index.min.js.map +1 -1
  32. package/package.json +1 -1
@@ -22,10 +22,12 @@ StyledCounterButtonWrapper.displayName = "StyledCounterButtonWrapper";
22
22
  var StyledCounterButton = exports.StyledCounterButton = (0, _styledComponents.default)(_Button.Button).withConfig({
23
23
  displayName: "Styles__StyledCounterButton",
24
24
  componentId: "sc-1ecrcba-1"
25
- })(["", " ", " ", ""], function (props) {
25
+ })(["", " ", " ", " ", ""], function (props) {
26
26
  return props.$active && !props.disabled && (0, _styledComponents.css)(["padding:0 8px;svg{fill:var(--color-primary);}&:hover{background:var(--color-primary-300);}"]);
27
27
  }, function (props) {
28
28
  return props.$selected && (0, _styledComponents.css)(["border-top-right-radius:0;border-bottom-right-radius:0;background-color:var(--color-primary-200);"]);
29
+ }, function (props) {
30
+ return !props.$selected && (0, _styledComponents.css)(["@media (max-width:768px){width:32px;}"]);
29
31
  }, function (props) {
30
32
  return props.disabled && (0, _styledComponents.css)(["pointer-events:none;opacity:0.5;"]);
31
33
  });
@@ -38,7 +40,7 @@ StyledCounterButtonReset.displayName = "StyledCounterButtonReset";
38
40
  var StyledCounterButtonLabel = exports.StyledCounterButtonLabel = (0, _styledComponents.default)(_Body.Body2).withConfig({
39
41
  displayName: "Styles__StyledCounterButtonLabel",
40
42
  componentId: "sc-1ecrcba-3"
41
- })(["", " ", ":hover &&{", "}", ""], {
43
+ })(["", " @media (max-width:768px){display:none;}", ":hover &&{", "}", ""], {
42
44
  "pointerEvents": "none"
43
45
  }, StyledCounterButton, function (props) {
44
46
  return !props.$active && (0, _styledComponents.css)(["color:var(--color-theme-900);"]);
@@ -1 +1 @@
1
- {"version":3,"file":"Styles.js","names":["_styledComponents","_interopRequireWildcard","require","_Badge","_BoxSizingStyle","_Button","_FontStyle","_Body","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","StyledCounterButtonWrapper","exports","styled","div","withConfig","displayName","componentId","FontStyle","BoxSizingStyle","StyledCounterButton","Button","props","$active","disabled","css","$selected","StyledCounterButtonReset","StyledCounterButtonLabel","Body2","StyledBadge","Badge"],"sources":["../../../../src/components/CounterButton/Styles.ts"],"sourcesContent":["import styled, { css } from \"styled-components\";\nimport tw from \"twin.macro\";\n\nimport { Badge } from \"../Badge\";\nimport { BoxSizingStyle } from \"../BoxSizingStyle\";\nimport { Button } from \"../Button/Button\";\nimport { FontStyle } from \"../FontStyle\";\nimport { Body2 } from \"../Typography/Variants/Body2\";\n\ninterface StyledCounterButtonProps {\n $active?: boolean;\n $selected?: boolean;\n}\n\nexport const StyledCounterButtonWrapper = styled.div`\n ${tw`tw-flex`}\n ${FontStyle}\n ${BoxSizingStyle}\n width: fit-content;\n`;\n\nStyledCounterButtonWrapper.displayName = \"StyledCounterButtonWrapper\";\n\nexport const StyledCounterButton = styled(Button)<StyledCounterButtonProps>`\n ${(props) =>\n props.$active &&\n !props.disabled &&\n css`\n padding: 0 8px;\n\n svg {\n fill: var(--color-primary);\n }\n\n &:hover {\n background: var(--color-primary-300);\n }\n `}\n\n ${(props) =>\n props.$selected &&\n css`\n border-top-right-radius: 0;\n border-bottom-right-radius: 0;\n background-color: var(--color-primary-200);\n `}\n\n ${(props) =>\n props.disabled &&\n css`\n pointer-events: none;\n opacity: 0.5;\n `}\n`;\n\nStyledCounterButton.displayName = \"StyledCounterButton\";\n\nexport const StyledCounterButtonReset = styled(Button)`\n background-color: var(--color-primary-200);\n border-top-left-radius: 0;\n border-bottom-left-radius: 0;\n\n &:hover,\n &:focus-visible {\n background-color: var(--color-primary-300);\n border-top-left-radius: 0;\n border-bottom-left-radius: 0;\n }\n`;\n\nStyledCounterButtonReset.displayName = \"StyledCounterButtonReset\";\n\nexport const StyledCounterButtonLabel = styled(Body2)<{ $active?: boolean }>`\n ${tw`tw-pointer-events-none`}\n\n ${StyledCounterButton}:hover && {\n ${(props) =>\n !props.$active &&\n css`\n color: var(--color-theme-900);\n `}\n }\n\n ${(props) =>\n props.$active &&\n css`\n color: var(--color-primary);\n `}\n`;\n\nStyledCounterButtonLabel.displayName = \"StyledCounterButtonLabel\";\n\nexport const StyledBadge = styled(Badge)`\n margin-left: 4px;\n margin-right: -6px;\n`;\n\nStyledBadge.displayName = \"StyledBadge\";\n"],"mappings":"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"}
1
+ {"version":3,"file":"Styles.js","names":["_styledComponents","_interopRequireWildcard","require","_Badge","_BoxSizingStyle","_Button","_FontStyle","_Body","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","StyledCounterButtonWrapper","exports","styled","div","withConfig","displayName","componentId","FontStyle","BoxSizingStyle","StyledCounterButton","Button","props","$active","disabled","css","$selected","StyledCounterButtonReset","StyledCounterButtonLabel","Body2","StyledBadge","Badge"],"sources":["../../../../src/components/CounterButton/Styles.ts"],"sourcesContent":["import styled, { css } from \"styled-components\";\nimport tw from \"twin.macro\";\n\nimport { Badge } from \"../Badge\";\nimport { BoxSizingStyle } from \"../BoxSizingStyle\";\nimport { Button } from \"../Button/Button\";\nimport { FontStyle } from \"../FontStyle\";\nimport { Body2 } from \"../Typography/Variants/Body2\";\n\ninterface StyledCounterButtonProps {\n $active?: boolean;\n $selected?: boolean;\n}\n\nexport const StyledCounterButtonWrapper = styled.div`\n ${tw`tw-flex`}\n ${FontStyle}\n ${BoxSizingStyle}\n width: fit-content;\n`;\n\nStyledCounterButtonWrapper.displayName = \"StyledCounterButtonWrapper\";\n\nexport const StyledCounterButton = styled(Button)<StyledCounterButtonProps>`\n ${(props) =>\n props.$active &&\n !props.disabled &&\n css`\n padding: 0 8px;\n\n svg {\n fill: var(--color-primary);\n }\n\n &:hover {\n background: var(--color-primary-300);\n }\n `}\n\n ${(props) =>\n props.$selected &&\n css`\n border-top-right-radius: 0;\n border-bottom-right-radius: 0;\n background-color: var(--color-primary-200);\n `}\n\n ${(props) =>\n !props.$selected &&\n css`\n @media (max-width: 768px) {\n width: 32px;\n }\n `}\n\n ${(props) =>\n props.disabled &&\n css`\n pointer-events: none;\n opacity: 0.5;\n `}\n`;\n\nStyledCounterButton.displayName = \"StyledCounterButton\";\n\nexport const StyledCounterButtonReset = styled(Button)`\n background-color: var(--color-primary-200);\n border-top-left-radius: 0;\n border-bottom-left-radius: 0;\n\n &:hover,\n &:focus-visible {\n background-color: var(--color-primary-300);\n border-top-left-radius: 0;\n border-bottom-left-radius: 0;\n }\n`;\n\nStyledCounterButtonReset.displayName = \"StyledCounterButtonReset\";\n\nexport const StyledCounterButtonLabel = styled(Body2)<{ $active?: boolean }>`\n ${tw`tw-pointer-events-none`}\n\n @media (max-width: 768px) {\n display: none;\n }\n\n ${StyledCounterButton}:hover && {\n ${(props) =>\n !props.$active &&\n css`\n color: var(--color-theme-900);\n `}\n }\n\n ${(props) =>\n props.$active &&\n css`\n color: var(--color-primary);\n `}\n`;\n\nStyledCounterButtonLabel.displayName = \"StyledCounterButtonLabel\";\n\nexport const StyledBadge = styled(Badge)`\n margin-left: 4px;\n margin-right: -6px;\n`;\n\nStyledBadge.displayName = \"StyledBadge\";\n"],"mappings":"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"}
@@ -21,15 +21,17 @@ var EntitiesHeader = exports.EntitiesHeader = function EntitiesHeader(_ref) {
21
21
  children = _ref.children,
22
22
  _ref$expanded = _ref.expanded,
23
23
  expanded = _ref$expanded === void 0 ? true : _ref$expanded,
24
+ _ref$readOnly = _ref.readOnly,
25
+ readOnly = _ref$readOnly === void 0 ? false : _ref$readOnly,
24
26
  className = _ref.className;
25
27
  var ref = (0, _react.useRef)(null);
26
- var _useState = (0, _react.useState)(expanded),
28
+ var _useState = (0, _react.useState)(expanded || readOnly),
27
29
  _useState2 = _slicedToArray(_useState, 2),
28
30
  open = _useState2[0],
29
31
  setOpen = _useState2[1];
30
32
  (0, _react.useEffect)(function () {
31
- setOpen(expanded);
32
- }, [expanded]);
33
+ setOpen(expanded || readOnly);
34
+ }, [expanded, readOnly]);
33
35
  var handleOnClick = (0, _react.useCallback)(function () {
34
36
  var _ref$current;
35
37
  (_ref$current = ref.current) === null || _ref$current === void 0 || _ref$current.focus();
@@ -43,16 +45,21 @@ var EntitiesHeader = exports.EntitiesHeader = function EntitiesHeader(_ref) {
43
45
  tabIndex: 0,
44
46
  ref: ref,
45
47
  $expanded: open
46
- }, /*#__PURE__*/_react.default.createElement(_Button.Button, {
48
+ }, !readOnly ? /*#__PURE__*/_react.default.createElement(_Button.Button, {
47
49
  variant: "text gray",
48
50
  size: "small",
49
51
  onClick: handleOnClick
50
52
  }, /*#__PURE__*/_react.default.createElement(_Styles.StyledCollapseExpandSingleIcon, {
51
53
  $expanded: open
52
54
  }), /*#__PURE__*/_react.default.createElement(_Styles.StyledTitle, {
55
+ $readOnly: readOnly,
53
56
  color: "secondary",
54
57
  weight: "medium"
55
- }, title)), !open && /*#__PURE__*/_react.default.createElement(_Styles.StyledDividerLine, {
58
+ }, title)) : /*#__PURE__*/_react.default.createElement(_Styles.StyledTitle, {
59
+ $readOnly: readOnly,
60
+ color: "secondary",
61
+ weight: "medium"
62
+ }, title), !open && /*#__PURE__*/_react.default.createElement(_Styles.StyledDividerLine, {
56
63
  "data-testid": "divider-line"
57
64
  }), open && /*#__PURE__*/_react.default.createElement(_Styles.StyledChildrenWrapper, null, children));
58
65
  };
@@ -1 +1 @@
1
- {"version":3,"file":"EntitiesHeader.js","names":["_react","_interopRequireWildcard","require","_Styles","_Button","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","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","EntitiesHeader","exports","_ref","onClick","title","children","_ref$expanded","expanded","className","ref","useRef","_useState","useState","_useState2","open","setOpen","useEffect","handleOnClick","useCallback","_ref$current","current","focus","prev","createElement","StyledWrapper","tabIndex","$expanded","Button","variant","size","StyledCollapseExpandSingleIcon","StyledTitle","color","weight","StyledDividerLine","StyledChildrenWrapper"],"sources":["../../../../src/components/EntitiesHeader/EntitiesHeader.tsx"],"sourcesContent":["import React, {\n ReactNode,\n useCallback,\n useEffect,\n useRef,\n useState,\n} from \"react\";\n\nimport {\n StyledChildrenWrapper,\n StyledCollapseExpandSingleIcon,\n StyledDividerLine,\n StyledTitle,\n StyledWrapper,\n} from \"./Styles\";\nimport { Button } from \"../Button\";\n\nexport interface EntitiesHeaderProps {\n className?: string;\n title: ReactNode;\n expanded?: boolean;\n onClick?: () => void;\n children?: ReactNode;\n}\n\nexport const EntitiesHeader: React.FC<EntitiesHeaderProps> = ({\n onClick,\n title,\n children,\n expanded = true,\n className,\n}) => {\n const ref = useRef<HTMLDivElement | null>(null);\n const [open, setOpen] = useState(expanded);\n\n useEffect(() => {\n setOpen(expanded);\n }, [expanded]);\n\n const handleOnClick = useCallback(() => {\n ref.current?.focus();\n setOpen((prev) => !prev);\n if (onClick) onClick();\n }, [onClick]);\n\n return (\n <StyledWrapper\n className={className}\n tabIndex={0}\n ref={ref}\n $expanded={open}\n >\n <Button variant=\"text gray\" size=\"small\" onClick={handleOnClick}>\n <StyledCollapseExpandSingleIcon $expanded={open} />\n <StyledTitle color=\"secondary\" weight=\"medium\">\n {title}\n </StyledTitle>\n </Button>\n {!open && <StyledDividerLine data-testid=\"divider-line\" />}\n {open && <StyledChildrenWrapper>{children}</StyledChildrenWrapper>}\n </StyledWrapper>\n );\n};\n"],"mappings":"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"}
1
+ {"version":3,"file":"EntitiesHeader.js","names":["_react","_interopRequireWildcard","require","_Styles","_Button","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","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","EntitiesHeader","exports","_ref","onClick","title","children","_ref$expanded","expanded","_ref$readOnly","readOnly","className","ref","useRef","_useState","useState","_useState2","open","setOpen","useEffect","handleOnClick","useCallback","_ref$current","current","focus","prev","createElement","StyledWrapper","tabIndex","$expanded","Button","variant","size","StyledCollapseExpandSingleIcon","StyledTitle","$readOnly","color","weight","StyledDividerLine","StyledChildrenWrapper"],"sources":["../../../../src/components/EntitiesHeader/EntitiesHeader.tsx"],"sourcesContent":["import React, {\n ReactNode,\n useCallback,\n useEffect,\n useRef,\n useState,\n} from \"react\";\n\nimport {\n StyledChildrenWrapper,\n StyledCollapseExpandSingleIcon,\n StyledDividerLine,\n StyledTitle,\n StyledWrapper,\n} from \"./Styles\";\nimport { Button } from \"../Button\";\n\nexport interface EntitiesHeaderProps {\n className?: string;\n title: ReactNode;\n expanded?: boolean;\n onClick?: () => void;\n children?: ReactNode;\n readOnly?: boolean;\n}\n\nexport const EntitiesHeader: React.FC<EntitiesHeaderProps> = ({\n onClick,\n title,\n children,\n expanded = true,\n readOnly = false,\n className,\n}) => {\n const ref = useRef<HTMLDivElement | null>(null);\n const [open, setOpen] = useState(expanded || readOnly);\n\n useEffect(() => {\n setOpen(expanded || readOnly);\n }, [expanded, readOnly]);\n\n const handleOnClick = useCallback(() => {\n ref.current?.focus();\n setOpen((prev) => !prev);\n if (onClick) onClick();\n }, [onClick]);\n\n return (\n <StyledWrapper\n className={className}\n tabIndex={0}\n ref={ref}\n $expanded={open}\n >\n {!readOnly ? (\n <Button variant=\"text gray\" size=\"small\" onClick={handleOnClick}>\n <StyledCollapseExpandSingleIcon $expanded={open} />\n <StyledTitle $readOnly={readOnly} color=\"secondary\" weight=\"medium\">\n {title}\n </StyledTitle>\n </Button>\n ) : (\n <StyledTitle $readOnly={readOnly} color=\"secondary\" weight=\"medium\">\n {title}\n </StyledTitle>\n )}\n {!open && <StyledDividerLine data-testid=\"divider-line\" />}\n {open && <StyledChildrenWrapper>{children}</StyledChildrenWrapper>}\n </StyledWrapper>\n );\n};\n"],"mappings":"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"}
@@ -31,10 +31,13 @@ StyledWrapper.displayName = "StyledWrapper";
31
31
  var StyledTitle = exports.StyledTitle = (0, _styledComponents.default)(_Typography.Body2).withConfig({
32
32
  displayName: "Styles__StyledTitle",
33
33
  componentId: "sc-13n85xv-2"
34
- })(["", ""], {
34
+ })(["", " cursor:", ";"], {
35
35
  "overflow": "hidden",
36
36
  "textOverflow": "ellipsis",
37
37
  "whiteSpace": "nowrap"
38
+ }, function (_ref2) {
39
+ var $readOnly = _ref2.$readOnly;
40
+ return $readOnly ? "default" : "pointer";
38
41
  });
39
42
  StyledTitle.displayName = "StyledTitle";
40
43
  var StyledDividerLine = exports.StyledDividerLine = _styledComponents.default.div.withConfig({
@@ -50,8 +53,8 @@ var StyledCollapseExpandSingleIcon = exports.StyledCollapseExpandSingleIcon = (0
50
53
  })(["", " transform:", ";transition:all 0.2s ease;"], {
51
54
  "marginRight": "0.25rem",
52
55
  "cursor": "pointer"
53
- }, function (_ref2) {
54
- var $expanded = _ref2.$expanded;
56
+ }, function (_ref3) {
57
+ var $expanded = _ref3.$expanded;
55
58
  return $expanded ? "rotate(0deg)" : "rotate(180deg)";
56
59
  });
57
60
  StyledCollapseExpandSingleIcon.displayName = "StyledCollapseExpandSingleIcon";
@@ -1 +1 @@
1
- {"version":3,"file":"Styles.js","names":["_styledComponents","_interopRequireDefault","require","_Icons","_Typography","obj","__esModule","default","StyledChildrenWrapper","exports","styled","div","withConfig","displayName","componentId","StyledWrapper","_ref","$expanded","StyledTitle","Body2","StyledDividerLine","StyledCollapseExpandSingleIcon","CollapseExpandSingleIcon","_ref2"],"sources":["../../../../src/components/EntitiesHeader/Styles.ts"],"sourcesContent":["import styled from \"styled-components\";\nimport tw from \"twin.macro\";\n\nimport { CollapseExpandSingleIcon } from \"../Icons\";\nimport { Body2 } from \"../Typography\";\n\nexport const StyledChildrenWrapper = styled.div`\n ${tw`tw-shrink-0`}\n`;\n\nStyledChildrenWrapper.displayName = \"StyledChildrenWrapper\";\n\nexport const StyledWrapper = styled.div<{ $expanded: boolean }>`\n ${tw`tw-flex tw-items-center tw-mb-4 tw-gap-4`}\n justify-content: ${({ $expanded }) =>\n $expanded ? \"space-between\" : \"flex-start\"};\n`;\n\nStyledWrapper.displayName = \"StyledWrapper\";\n\nexport const StyledTitle = styled(Body2)`\n ${tw`tw-truncate`}\n`;\n\nStyledTitle.displayName = \"StyledTitle\";\n\nexport const StyledDividerLine = styled.div`\n ${tw`tw-flex-1`}\n border-top: 1px solid var(--border-primary);\n`;\n\nStyledDividerLine.displayName = \"StyledDividerLine\";\n\nexport const StyledCollapseExpandSingleIcon = styled(CollapseExpandSingleIcon)<{\n $expanded: boolean;\n}>`\n ${tw`tw-cursor-pointer tw-mr-1`}\n transform: ${({ $expanded }) =>\n $expanded ? \"rotate(0deg)\" : \"rotate(180deg)\"};\n transition: all 0.2s ease;\n`;\n\nStyledCollapseExpandSingleIcon.displayName = \"StyledCollapseExpandSingleIcon\";\n"],"mappings":";;;;;;AAAA,IAAAA,iBAAA,GAAAC,sBAAA,CAAAC,OAAA;AAGA,IAAAC,MAAA,GAAAD,OAAA;AACA,IAAAE,WAAA,GAAAF,OAAA;AAAsC,SAAAD,uBAAAI,GAAA,WAAAA,GAAA,IAAAA,GAAA,CAAAC,UAAA,GAAAD,GAAA,KAAAE,OAAA,EAAAF,GAAA;AAE/B,IAAMG,qBAAqB,GAAAC,OAAA,CAAAD,qBAAA,GAAGE,yBAAM,CAACC,GAAG,CAAAC,UAAA;EAAAC,WAAA;EAAAC,WAAA;AAAA,aACzC;EAAA;AAAY,CAAC,CAClB;AAEDN,qBAAqB,CAACK,WAAW,GAAG,uBAAuB;AAEpD,IAAME,aAAa,GAAAN,OAAA,CAAAM,aAAA,GAAGL,yBAAM,CAACC,GAAG,CAAAC,UAAA;EAAAC,WAAA;EAAAC,WAAA;AAAA,mCACjC;EAAA;EAAA;EAAA;EAAA;AAAyC,CAAC,EAC3B,UAAAE,IAAA;EAAA,IAAGC,SAAS,GAAAD,IAAA,CAATC,SAAS;EAAA,OAC7BA,SAAS,GAAG,eAAe,GAAG,YAAY;AAAA,EAC7C;AAEDF,aAAa,CAACF,WAAW,GAAG,eAAe;AAEpC,IAAMK,WAAW,GAAAT,OAAA,CAAAS,WAAA,GAAG,IAAAR,yBAAM,EAACS,iBAAK,CAAC,CAAAP,UAAA;EAAAC,WAAA;EAAAC,WAAA;AAAA,aAClC;EAAA;EAAA;EAAA;AAAY,CAAC,CAClB;AAEDI,WAAW,CAACL,WAAW,GAAG,aAAa;AAEhC,IAAMO,iBAAiB,GAAAX,OAAA,CAAAW,iBAAA,GAAGV,yBAAM,CAACC,GAAG,CAAAC,UAAA;EAAAC,WAAA;EAAAC,WAAA;AAAA,yDACrC;EAAA;AAAU,CAAC,CAEhB;AAEDM,iBAAiB,CAACP,WAAW,GAAG,mBAAmB;AAE5C,IAAMQ,8BAA8B,GAAAZ,OAAA,CAAAY,8BAAA,GAAG,IAAAX,yBAAM,EAACY,+BAAwB,CAAC,CAAAV,UAAA;EAAAC,WAAA;EAAAC,WAAA;AAAA,sDAGxE;EAAA;EAAA;AAA0B,CAAC,EAClB,UAAAS,KAAA;EAAA,IAAGN,SAAS,GAAAM,KAAA,CAATN,SAAS;EAAA,OACvBA,SAAS,GAAG,cAAc,GAAG,gBAAgB;AAAA,EAEhD;AAEDI,8BAA8B,CAACR,WAAW,GAAG,gCAAgC"}
1
+ {"version":3,"file":"Styles.js","names":["_styledComponents","_interopRequireDefault","require","_Icons","_Typography","obj","__esModule","default","StyledChildrenWrapper","exports","styled","div","withConfig","displayName","componentId","StyledWrapper","_ref","$expanded","StyledTitle","Body2","_ref2","$readOnly","StyledDividerLine","StyledCollapseExpandSingleIcon","CollapseExpandSingleIcon","_ref3"],"sources":["../../../../src/components/EntitiesHeader/Styles.ts"],"sourcesContent":["import styled from \"styled-components\";\nimport tw from \"twin.macro\";\n\nimport { CollapseExpandSingleIcon } from \"../Icons\";\nimport { Body2 } from \"../Typography\";\n\nexport const StyledChildrenWrapper = styled.div`\n ${tw`tw-shrink-0`}\n`;\n\nStyledChildrenWrapper.displayName = \"StyledChildrenWrapper\";\n\nexport const StyledWrapper = styled.div<{ $expanded: boolean }>`\n ${tw`tw-flex tw-items-center tw-mb-4 tw-gap-4`}\n justify-content: ${({ $expanded }) =>\n $expanded ? \"space-between\" : \"flex-start\"};\n`;\n\nStyledWrapper.displayName = \"StyledWrapper\";\n\nexport const StyledTitle = styled(Body2)<{ $readOnly: boolean }>`\n ${tw`tw-truncate`}\n cursor: ${({ $readOnly }) => ($readOnly ? \"default\" : \"pointer\")};\n`;\n\nStyledTitle.displayName = \"StyledTitle\";\n\nexport const StyledDividerLine = styled.div`\n ${tw`tw-flex-1`}\n border-top: 1px solid var(--border-primary);\n`;\n\nStyledDividerLine.displayName = \"StyledDividerLine\";\n\nexport const StyledCollapseExpandSingleIcon = styled(CollapseExpandSingleIcon)<{\n $expanded: boolean;\n}>`\n ${tw`tw-cursor-pointer tw-mr-1`}\n transform: ${({ $expanded }) =>\n $expanded ? \"rotate(0deg)\" : \"rotate(180deg)\"};\n transition: all 0.2s ease;\n`;\n\nStyledCollapseExpandSingleIcon.displayName = \"StyledCollapseExpandSingleIcon\";\n"],"mappings":";;;;;;AAAA,IAAAA,iBAAA,GAAAC,sBAAA,CAAAC,OAAA;AAGA,IAAAC,MAAA,GAAAD,OAAA;AACA,IAAAE,WAAA,GAAAF,OAAA;AAAsC,SAAAD,uBAAAI,GAAA,WAAAA,GAAA,IAAAA,GAAA,CAAAC,UAAA,GAAAD,GAAA,KAAAE,OAAA,EAAAF,GAAA;AAE/B,IAAMG,qBAAqB,GAAAC,OAAA,CAAAD,qBAAA,GAAGE,yBAAM,CAACC,GAAG,CAAAC,UAAA;EAAAC,WAAA;EAAAC,WAAA;AAAA,aACzC;EAAA;AAAY,CAAC,CAClB;AAEDN,qBAAqB,CAACK,WAAW,GAAG,uBAAuB;AAEpD,IAAME,aAAa,GAAAN,OAAA,CAAAM,aAAA,GAAGL,yBAAM,CAACC,GAAG,CAAAC,UAAA;EAAAC,WAAA;EAAAC,WAAA;AAAA,mCACjC;EAAA;EAAA;EAAA;EAAA;AAAyC,CAAC,EAC3B,UAAAE,IAAA;EAAA,IAAGC,SAAS,GAAAD,IAAA,CAATC,SAAS;EAAA,OAC7BA,SAAS,GAAG,eAAe,GAAG,YAAY;AAAA,EAC7C;AAEDF,aAAa,CAACF,WAAW,GAAG,eAAe;AAEpC,IAAMK,WAAW,GAAAT,OAAA,CAAAS,WAAA,GAAG,IAAAR,yBAAM,EAACS,iBAAK,CAAC,CAAAP,UAAA;EAAAC,WAAA;EAAAC,WAAA;AAAA,0BAClC;EAAA;EAAA;EAAA;AAAY,CAAC,EACP,UAAAM,KAAA;EAAA,IAAGC,SAAS,GAAAD,KAAA,CAATC,SAAS;EAAA,OAAQA,SAAS,GAAG,SAAS,GAAG,SAAS;AAAA,CAAC,CACjE;AAEDH,WAAW,CAACL,WAAW,GAAG,aAAa;AAEhC,IAAMS,iBAAiB,GAAAb,OAAA,CAAAa,iBAAA,GAAGZ,yBAAM,CAACC,GAAG,CAAAC,UAAA;EAAAC,WAAA;EAAAC,WAAA;AAAA,yDACrC;EAAA;AAAU,CAAC,CAEhB;AAEDQ,iBAAiB,CAACT,WAAW,GAAG,mBAAmB;AAE5C,IAAMU,8BAA8B,GAAAd,OAAA,CAAAc,8BAAA,GAAG,IAAAb,yBAAM,EAACc,+BAAwB,CAAC,CAAAZ,UAAA;EAAAC,WAAA;EAAAC,WAAA;AAAA,sDAGxE;EAAA;EAAA;AAA0B,CAAC,EAClB,UAAAW,KAAA;EAAA,IAAGR,SAAS,GAAAQ,KAAA,CAATR,SAAS;EAAA,OACvBA,SAAS,GAAG,cAAc,GAAG,gBAAgB;AAAA,EAEhD;AAEDM,8BAA8B,CAACV,WAAW,GAAG,gCAAgC"}
@@ -140,6 +140,9 @@ var useInputHours = exports.useInputHours = function useInputHours(_ref, inputRe
140
140
  if (e.key === "Backspace") {
141
141
  return;
142
142
  }
143
+ if (e.key === "Delete") {
144
+ return;
145
+ }
143
146
  if ((e.metaKey || e.ctrlKey) && e.key === "a") {
144
147
  var _inputRef$current2;
145
148
  (_inputRef$current2 = inputRef.current) === null || _inputRef$current2 === void 0 || _inputRef$current2.select();
@@ -1 +1 @@
1
- {"version":3,"file":"useInputHours.js","names":["_react","require","_utils","_slicedToArray","arr","i","_arrayWithHoles","_iterableToArrayLimit","_unsupportedIterableToArray","_nonIterableRest","TypeError","o","minLen","_arrayLikeToArray","n","Object","prototype","toString","call","slice","constructor","name","Array","from","test","len","length","arr2","r","l","t","Symbol","iterator","e","u","a","f","next","done","push","value","return","isArray","useInputHours","exports","_ref","inputRef","withLeadingZero","onSave","_ref$validation","validation","validateTimeInput","allowEmptyValue","onCancel","_ref$minuteIncrement","minuteIncrement","incrementOnlySelected","onEnterKeyPress","onChange","onClick","_useState","useState","formatHours","_useState2","currentValue","setCurrentValue","_useState3","_useState4","prevValue","setPrevValue","escapeRef","useRef","handleBlur","useCallback","current","target","trim","_value","handleIncrementDecrement","increment","selectionStart","dotsIndex","indexOf","_currentValue$split$m","split","map","Number","_currentValue$split$m2","hours","minutes","newHours","newMinutes","newMinutesString","concat","newHoursString","newValue","requestAnimationFrame","_inputRef$current","newDotsIndex","isHoursSelected","newSelectionStart","selectionEnd","setSelectionRange","handleKeyDown","key","blur","metaKey","ctrlKey","_inputRef$current2","select","input","start","end","shiftKey","isMinutesSelected","_inputRef$current3","preventDefault","_inputRef$current4","substring","handleChange","handleClick","_inputRef$current5","_inputRef$current6","_inputRef$current7","handleDoubleClick","_inputRef$current8","inputProps","useMemo","onBlur","onKeyDown","onDoubleClick"],"sources":["../../../src/hooks/useInputHours.tsx"],"sourcesContent":["import {\n RefObject,\n useCallback,\n useMemo,\n useRef,\n useState,\n MouseEvent,\n} from \"react\";\n\nimport { formatHours } from \"../utils\";\nimport { validateTimeInput } from \"../utils\";\n\nexport interface IInputHours {\n value?: string | number;\n withLeadingZero?: boolean;\n onSave?: (e: Event) => void;\n validation?: (...args) => boolean;\n allowEmptyValue?: boolean;\n onCancel?: (e: Event) => void;\n minuteIncrement?: number;\n incrementOnlySelected?: boolean;\n onEnterKeyPress?: (val: string) => void;\n onChange?: (val: string) => void;\n onClick?: (event: MouseEvent<HTMLInputElement>) => void;\n}\n\nexport const useInputHours = (\n {\n value,\n withLeadingZero,\n onSave,\n validation = validateTimeInput,\n allowEmptyValue,\n onCancel,\n minuteIncrement = 1,\n incrementOnlySelected,\n onEnterKeyPress,\n onChange,\n onClick,\n }: IInputHours,\n inputRef: RefObject<HTMLInputElement | null>\n) => {\n const [currentValue, setCurrentValue] = useState(() =>\n formatHours(value, withLeadingZero)\n );\n const [prevValue, setPrevValue] = useState(() =>\n formatHours(value, withLeadingZero)\n );\n\n const escapeRef = useRef(false);\n\n const handleBlur = useCallback(\n (e) => {\n if (escapeRef.current) {\n setCurrentValue(prevValue);\n } else {\n if (e.target.value.trim().length > 0 && prevValue !== e.target.value) {\n const _value = formatHours(e.target.value, withLeadingZero);\n setPrevValue(_value);\n setCurrentValue(_value);\n typeof onSave === \"function\" && onSave(e);\n } else {\n if (!allowEmptyValue) {\n setCurrentValue(prevValue);\n typeof onCancel === \"function\" && onCancel(e);\n } else {\n if (typeof onSave === \"function\" && prevValue !== e.target.value) {\n onSave(e);\n } else {\n typeof onCancel === \"function\" && onCancel(e);\n }\n }\n }\n }\n },\n [allowEmptyValue, onCancel, onSave, prevValue, withLeadingZero]\n );\n\n const handleIncrementDecrement = useCallback(\n (increment: boolean) => {\n if (inputRef.current) {\n const selectionStart = inputRef.current.selectionStart;\n if (selectionStart !== null) {\n const dotsIndex = currentValue.indexOf(\":\");\n const [hours, minutes] = currentValue.split(\":\").map(Number);\n let newHours = hours;\n let newMinutes = minutes;\n\n if (selectionStart < dotsIndex) {\n if (increment) {\n newHours += 1;\n } else {\n newHours -= 1;\n if (newHours < 0) newHours = 0;\n }\n } else if (selectionStart > dotsIndex) {\n if (increment) {\n newMinutes += minuteIncrement;\n if (newMinutes > 59) {\n newMinutes = 0;\n if (!incrementOnlySelected) newHours += 1;\n }\n } else {\n if (newMinutes >= minuteIncrement || newMinutes === 0) {\n newMinutes -= minuteIncrement;\n if (newMinutes < 0 && newHours > 0) {\n newMinutes = 60 - minuteIncrement;\n if (!incrementOnlySelected) newHours -= 1;\n }\n if (newHours < 0) {\n newHours = 0;\n }\n } else {\n newMinutes = 0;\n }\n }\n }\n\n const newMinutesString =\n newMinutes < 10 ? `0${newMinutes}` : newMinutes;\n const newHoursString =\n withLeadingZero && newHours < 10 ? `0${newHours}` : newHours;\n const newValue = `${newHoursString}:${newMinutesString}`;\n\n if (validation(newValue, withLeadingZero)) {\n setCurrentValue(newValue);\n\n if (onChange) onChange(newValue);\n\n requestAnimationFrame(() => {\n const newDotsIndex = newValue.indexOf(\":\");\n const isHoursSelected = selectionStart < newDotsIndex;\n const newSelectionStart = isHoursSelected ? 0 : newDotsIndex + 1;\n const selectionEnd = isHoursSelected\n ? newDotsIndex\n : newValue.length;\n inputRef.current?.setSelectionRange(\n newSelectionStart,\n selectionEnd\n );\n });\n }\n }\n }\n },\n [\n currentValue,\n incrementOnlySelected,\n inputRef,\n minuteIncrement,\n onChange,\n validation,\n withLeadingZero,\n ]\n );\n\n const handleKeyDown = useCallback(\n (e) => {\n if (e.key === \"Enter\") {\n e.target.blur();\n if (typeof onEnterKeyPress === \"function\")\n onEnterKeyPress(e.target.value);\n }\n if (e.key === \"ArrowLeft\") {\n return;\n }\n if (e.key === \"ArrowRight\") {\n return;\n }\n if (e.key === \"Escape\") {\n escapeRef.current = true;\n e.target.blur();\n typeof onCancel === \"function\" && onCancel(e);\n escapeRef.current = false;\n }\n if (e.key === \"Backspace\") {\n return;\n }\n if ((e.metaKey || e.ctrlKey) && e.key === \"a\") {\n inputRef.current?.select();\n return;\n }\n const input = e.target;\n const start = input.selectionStart;\n const end = input.selectionEnd;\n const currentValue = input.value;\n if (e.key === \"Tab\") {\n if (start !== end) {\n if (e.shiftKey) {\n const newDotsIndex = currentValue.indexOf(\":\");\n const isMinutesSelected = start > newDotsIndex;\n if (isMinutesSelected) {\n e.preventDefault();\n inputRef.current?.setSelectionRange(0, newDotsIndex);\n }\n } else {\n const newDotsIndex = currentValue.indexOf(\":\");\n const isHoursSelected = start < newDotsIndex;\n if (isHoursSelected) {\n e.preventDefault();\n inputRef.current?.setSelectionRange(\n newDotsIndex + 1,\n currentValue.length\n );\n }\n }\n }\n return;\n }\n\n if (start !== end) {\n if (e.key === \"ArrowUp\") {\n handleIncrementDecrement(true);\n return;\n }\n if (e.key === \"ArrowDown\") {\n handleIncrementDecrement(false);\n return;\n }\n const newValue =\n currentValue.substring(0, start) +\n e.key +\n currentValue.substring(end);\n if (!validation(newValue, withLeadingZero)) {\n e.preventDefault();\n return;\n }\n } else {\n const newValue =\n currentValue.substring(0, start) +\n e.key +\n currentValue.substring(end);\n\n if (!validation(newValue, withLeadingZero)) {\n e.preventDefault();\n return;\n }\n }\n },\n [\n handleIncrementDecrement,\n inputRef,\n onCancel,\n onEnterKeyPress,\n validation,\n withLeadingZero,\n ]\n );\n\n const handleChange = useCallback(\n (e) => {\n setCurrentValue(e.target.value);\n if (onChange) onChange(e.target.value);\n },\n [onChange]\n );\n\n const handleClick = useCallback(\n (e) => {\n const selectionStart = inputRef.current?.selectionStart;\n if (\n inputRef.current &&\n currentValue &&\n currentValue.length > 0 &&\n typeof selectionStart === \"number\"\n ) {\n const dotsIndex = currentValue.indexOf(\":\");\n if (selectionStart < dotsIndex) {\n inputRef.current?.setSelectionRange(0, dotsIndex);\n } else if (selectionStart >= dotsIndex) {\n inputRef.current?.setSelectionRange(\n dotsIndex + 1,\n currentValue.length\n );\n }\n }\n\n if (typeof onClick === \"function\") {\n onClick(e);\n }\n },\n [currentValue, inputRef, onClick]\n );\n\n const handleDoubleClick = useCallback(() => {\n if (inputRef.current) {\n inputRef.current?.select();\n }\n }, [inputRef]);\n\n const inputProps = useMemo(() => {\n return {\n value: currentValue,\n onBlur: handleBlur,\n onKeyDown: handleKeyDown,\n onChange: handleChange,\n onClick: handleClick,\n onDoubleClick: handleDoubleClick,\n };\n }, [\n currentValue,\n handleBlur,\n handleChange,\n handleClick,\n handleDoubleClick,\n handleKeyDown,\n ]);\n\n return {\n inputProps,\n setCurrentValue,\n setPrevValue,\n };\n};\n"],"mappings":"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"}
1
+ {"version":3,"file":"useInputHours.js","names":["_react","require","_utils","_slicedToArray","arr","i","_arrayWithHoles","_iterableToArrayLimit","_unsupportedIterableToArray","_nonIterableRest","TypeError","o","minLen","_arrayLikeToArray","n","Object","prototype","toString","call","slice","constructor","name","Array","from","test","len","length","arr2","r","l","t","Symbol","iterator","e","u","a","f","next","done","push","value","return","isArray","useInputHours","exports","_ref","inputRef","withLeadingZero","onSave","_ref$validation","validation","validateTimeInput","allowEmptyValue","onCancel","_ref$minuteIncrement","minuteIncrement","incrementOnlySelected","onEnterKeyPress","onChange","onClick","_useState","useState","formatHours","_useState2","currentValue","setCurrentValue","_useState3","_useState4","prevValue","setPrevValue","escapeRef","useRef","handleBlur","useCallback","current","target","trim","_value","handleIncrementDecrement","increment","selectionStart","dotsIndex","indexOf","_currentValue$split$m","split","map","Number","_currentValue$split$m2","hours","minutes","newHours","newMinutes","newMinutesString","concat","newHoursString","newValue","requestAnimationFrame","_inputRef$current","newDotsIndex","isHoursSelected","newSelectionStart","selectionEnd","setSelectionRange","handleKeyDown","key","blur","metaKey","ctrlKey","_inputRef$current2","select","input","start","end","shiftKey","isMinutesSelected","_inputRef$current3","preventDefault","_inputRef$current4","substring","handleChange","handleClick","_inputRef$current5","_inputRef$current6","_inputRef$current7","handleDoubleClick","_inputRef$current8","inputProps","useMemo","onBlur","onKeyDown","onDoubleClick"],"sources":["../../../src/hooks/useInputHours.tsx"],"sourcesContent":["import {\n RefObject,\n useCallback,\n useMemo,\n useRef,\n useState,\n MouseEvent,\n} from \"react\";\n\nimport { formatHours } from \"../utils\";\nimport { validateTimeInput } from \"../utils\";\n\nexport interface IInputHours {\n value?: string | number;\n withLeadingZero?: boolean;\n onSave?: (e: Event) => void;\n validation?: (...args) => boolean;\n allowEmptyValue?: boolean;\n onCancel?: (e: Event) => void;\n minuteIncrement?: number;\n incrementOnlySelected?: boolean;\n onEnterKeyPress?: (val: string) => void;\n onChange?: (val: string) => void;\n onClick?: (event: MouseEvent<HTMLInputElement>) => void;\n}\n\nexport const useInputHours = (\n {\n value,\n withLeadingZero,\n onSave,\n validation = validateTimeInput,\n allowEmptyValue,\n onCancel,\n minuteIncrement = 1,\n incrementOnlySelected,\n onEnterKeyPress,\n onChange,\n onClick,\n }: IInputHours,\n inputRef: RefObject<HTMLInputElement | null>\n) => {\n const [currentValue, setCurrentValue] = useState(() =>\n formatHours(value, withLeadingZero)\n );\n const [prevValue, setPrevValue] = useState(() =>\n formatHours(value, withLeadingZero)\n );\n\n const escapeRef = useRef(false);\n\n const handleBlur = useCallback(\n (e) => {\n if (escapeRef.current) {\n setCurrentValue(prevValue);\n } else {\n if (e.target.value.trim().length > 0 && prevValue !== e.target.value) {\n const _value = formatHours(e.target.value, withLeadingZero);\n setPrevValue(_value);\n setCurrentValue(_value);\n typeof onSave === \"function\" && onSave(e);\n } else {\n if (!allowEmptyValue) {\n setCurrentValue(prevValue);\n typeof onCancel === \"function\" && onCancel(e);\n } else {\n if (typeof onSave === \"function\" && prevValue !== e.target.value) {\n onSave(e);\n } else {\n typeof onCancel === \"function\" && onCancel(e);\n }\n }\n }\n }\n },\n [allowEmptyValue, onCancel, onSave, prevValue, withLeadingZero]\n );\n\n const handleIncrementDecrement = useCallback(\n (increment: boolean) => {\n if (inputRef.current) {\n const selectionStart = inputRef.current.selectionStart;\n if (selectionStart !== null) {\n const dotsIndex = currentValue.indexOf(\":\");\n const [hours, minutes] = currentValue.split(\":\").map(Number);\n let newHours = hours;\n let newMinutes = minutes;\n\n if (selectionStart < dotsIndex) {\n if (increment) {\n newHours += 1;\n } else {\n newHours -= 1;\n if (newHours < 0) newHours = 0;\n }\n } else if (selectionStart > dotsIndex) {\n if (increment) {\n newMinutes += minuteIncrement;\n if (newMinutes > 59) {\n newMinutes = 0;\n if (!incrementOnlySelected) newHours += 1;\n }\n } else {\n if (newMinutes >= minuteIncrement || newMinutes === 0) {\n newMinutes -= minuteIncrement;\n if (newMinutes < 0 && newHours > 0) {\n newMinutes = 60 - minuteIncrement;\n if (!incrementOnlySelected) newHours -= 1;\n }\n if (newHours < 0) {\n newHours = 0;\n }\n } else {\n newMinutes = 0;\n }\n }\n }\n\n const newMinutesString =\n newMinutes < 10 ? `0${newMinutes}` : newMinutes;\n const newHoursString =\n withLeadingZero && newHours < 10 ? `0${newHours}` : newHours;\n const newValue = `${newHoursString}:${newMinutesString}`;\n\n if (validation(newValue, withLeadingZero)) {\n setCurrentValue(newValue);\n\n if (onChange) onChange(newValue);\n\n requestAnimationFrame(() => {\n const newDotsIndex = newValue.indexOf(\":\");\n const isHoursSelected = selectionStart < newDotsIndex;\n const newSelectionStart = isHoursSelected ? 0 : newDotsIndex + 1;\n const selectionEnd = isHoursSelected\n ? newDotsIndex\n : newValue.length;\n inputRef.current?.setSelectionRange(\n newSelectionStart,\n selectionEnd\n );\n });\n }\n }\n }\n },\n [\n currentValue,\n incrementOnlySelected,\n inputRef,\n minuteIncrement,\n onChange,\n validation,\n withLeadingZero,\n ]\n );\n\n const handleKeyDown = useCallback(\n (e) => {\n if (e.key === \"Enter\") {\n e.target.blur();\n if (typeof onEnterKeyPress === \"function\")\n onEnterKeyPress(e.target.value);\n }\n if (e.key === \"ArrowLeft\") {\n return;\n }\n if (e.key === \"ArrowRight\") {\n return;\n }\n if (e.key === \"Escape\") {\n escapeRef.current = true;\n e.target.blur();\n typeof onCancel === \"function\" && onCancel(e);\n escapeRef.current = false;\n }\n if (e.key === \"Backspace\") {\n return;\n }\n if (e.key === \"Delete\") {\n return;\n }\n if ((e.metaKey || e.ctrlKey) && e.key === \"a\") {\n inputRef.current?.select();\n return;\n }\n const input = e.target;\n const start = input.selectionStart;\n const end = input.selectionEnd;\n const currentValue = input.value;\n if (e.key === \"Tab\") {\n if (start !== end) {\n if (e.shiftKey) {\n const newDotsIndex = currentValue.indexOf(\":\");\n const isMinutesSelected = start > newDotsIndex;\n if (isMinutesSelected) {\n e.preventDefault();\n inputRef.current?.setSelectionRange(0, newDotsIndex);\n }\n } else {\n const newDotsIndex = currentValue.indexOf(\":\");\n const isHoursSelected = start < newDotsIndex;\n if (isHoursSelected) {\n e.preventDefault();\n inputRef.current?.setSelectionRange(\n newDotsIndex + 1,\n currentValue.length\n );\n }\n }\n }\n return;\n }\n\n if (start !== end) {\n if (e.key === \"ArrowUp\") {\n handleIncrementDecrement(true);\n return;\n }\n if (e.key === \"ArrowDown\") {\n handleIncrementDecrement(false);\n return;\n }\n const newValue =\n currentValue.substring(0, start) +\n e.key +\n currentValue.substring(end);\n if (!validation(newValue, withLeadingZero)) {\n e.preventDefault();\n return;\n }\n } else {\n const newValue =\n currentValue.substring(0, start) +\n e.key +\n currentValue.substring(end);\n\n if (!validation(newValue, withLeadingZero)) {\n e.preventDefault();\n return;\n }\n }\n },\n [\n handleIncrementDecrement,\n inputRef,\n onCancel,\n onEnterKeyPress,\n validation,\n withLeadingZero,\n ]\n );\n\n const handleChange = useCallback(\n (e) => {\n setCurrentValue(e.target.value);\n if (onChange) onChange(e.target.value);\n },\n [onChange]\n );\n\n const handleClick = useCallback(\n (e) => {\n const selectionStart = inputRef.current?.selectionStart;\n if (\n inputRef.current &&\n currentValue &&\n currentValue.length > 0 &&\n typeof selectionStart === \"number\"\n ) {\n const dotsIndex = currentValue.indexOf(\":\");\n if (selectionStart < dotsIndex) {\n inputRef.current?.setSelectionRange(0, dotsIndex);\n } else if (selectionStart >= dotsIndex) {\n inputRef.current?.setSelectionRange(\n dotsIndex + 1,\n currentValue.length\n );\n }\n }\n\n if (typeof onClick === \"function\") {\n onClick(e);\n }\n },\n [currentValue, inputRef, onClick]\n );\n\n const handleDoubleClick = useCallback(() => {\n if (inputRef.current) {\n inputRef.current?.select();\n }\n }, [inputRef]);\n\n const inputProps = useMemo(() => {\n return {\n value: currentValue,\n onBlur: handleBlur,\n onKeyDown: handleKeyDown,\n onChange: handleChange,\n onClick: handleClick,\n onDoubleClick: handleDoubleClick,\n };\n }, [\n currentValue,\n handleBlur,\n handleChange,\n handleClick,\n handleDoubleClick,\n handleKeyDown,\n ]);\n\n return {\n inputProps,\n setCurrentValue,\n setPrevValue,\n };\n};\n"],"mappings":"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"}
@@ -169,6 +169,9 @@ var useInputNumber = exports.useInputNumber = function useInputNumber(_ref, inpu
169
169
  if (e.key === "Backspace") {
170
170
  return;
171
171
  }
172
+ if (e.key === "Delete") {
173
+ return;
174
+ }
172
175
  if ((e.metaKey || e.ctrlKey) && e.key === "a") {
173
176
  var _inputRef$current;
174
177
  (_inputRef$current = inputRef.current) === null || _inputRef$current === void 0 || _inputRef$current.select();
@@ -1 +1 @@
1
- {"version":3,"file":"useInputNumber.js","names":["_react","require","_utils","_currencyUtils","_slicedToArray","arr","i","_arrayWithHoles","_iterableToArrayLimit","_unsupportedIterableToArray","_nonIterableRest","TypeError","o","minLen","_arrayLikeToArray","n","Object","prototype","toString","call","slice","constructor","name","Array","from","test","len","length","arr2","r","l","t","Symbol","iterator","e","u","a","f","next","done","push","value","return","isArray","useInputNumber","exports","_ref","inputRef","_ref$decimalSeparator","decimalSeparator","_ref$thousandSeparato","thousandSeparator","disableAbbreviation","disableMacros","decimalLength","_ref$value","onChange","onSave","onEnterKeyPress","onClick","onCancel","allowEmptyValue","_ref$step","step","_ref$trimDecimals","trimDecimals","limit","_ref$validation","validation","validateNumberInput","min","max","isMaxValid","undefined","Number","console","warn","_useState","useState","formatNumber","_useState2","currentValue","setCurrentValue","_useState3","_useState4","prevValue","setPrevValue","_useState5","_useState6","unformattedValue","setUnformattedValue","_useState7","_useState8","unformattedPrevValue","setUnformattedPrevValue","useEffect","_useState9","_useState10","focused","setFocused","escapeRef","useRef","handleBlur","useCallback","current","String","target","trim","_value","updateValue","type","preformattedValue","replace","numericValue","parseFloat","isNaN","newValue","toFixed","Math","round","updatedValue","includes","handleKeyDown","key","blur","preventDefault","metaKey","ctrlKey","_inputRef$current","select","input","start","selectionStart","end","selectionEnd","substring","Boolean","handleChange","inputValue","numericInput","_","num","unit","currencyMultiplier","toLowerCase","handleClick","handleFocus","handleDoubleClick","_inputRef$current2","onBlur","onKeyDown","onDoubleClick","onFocus"],"sources":["../../../src/hooks/useInputNumber.tsx"],"sourcesContent":["import {\n useState,\n MouseEvent,\n useRef,\n useCallback,\n RefObject,\n useEffect,\n} from \"react\";\n\nimport { validateNumberInput } from \"../utils\";\nimport { currencyMultiplier, formatNumber } from \"../utils/currencyUtils\";\n\nexport type Separators = \".\" | \",\" | \" \" | \"\";\n\nexport interface IInputNumber {\n decimalLength?: number;\n decimalSeparator?: Separators;\n disableAbbreviation?: boolean;\n disableMacros?: boolean;\n thousandSeparator?: Separators;\n trimDecimals?: boolean;\n onSave?: (e: Event) => void;\n value?: string | number;\n step?: number;\n limit?: number;\n onEnterKeyPress?: (val: string) => void;\n onChange?: (val: string) => void;\n onClick?: (event: MouseEvent<HTMLInputElement>) => void;\n allowEmptyValue?: boolean;\n onCancel?: (e: Event) => void;\n validation?: (\n value: string,\n disableMacros: boolean,\n decimalSeparator: string,\n decimalLength: number,\n limit?: number\n ) => boolean;\n min?: string | number;\n max?: string | number;\n}\n\nexport const useInputNumber = (\n {\n decimalSeparator = \".\",\n thousandSeparator = \",\",\n disableAbbreviation,\n disableMacros,\n decimalLength,\n value = \"\",\n onChange,\n onSave,\n onEnterKeyPress,\n onClick,\n onCancel,\n allowEmptyValue,\n step = 1,\n trimDecimals = true,\n limit,\n validation = validateNumberInput,\n min,\n max,\n }: IInputNumber,\n inputRef: RefObject<HTMLInputElement | null>\n) => {\n const isMaxValid =\n max === undefined || min === undefined || Number(max) >= Number(min);\n\n if (!isMaxValid) {\n console.warn(\n \"Warning: The maximum value is set to be lower than the minimum value. The maximum value will be ignored.\"\n );\n }\n\n const [currentValue, setCurrentValue] = useState(() =>\n formatNumber(\n value as string,\n thousandSeparator,\n decimalSeparator,\n trimDecimals,\n decimalLength,\n disableAbbreviation ? \"long\" : \"short\"\n )\n );\n const [prevValue, setPrevValue] = useState(() =>\n formatNumber(\n value as string,\n thousandSeparator,\n decimalSeparator,\n trimDecimals,\n decimalLength,\n disableAbbreviation ? \"long\" : \"short\"\n )\n );\n const [unformattedValue, setUnformattedValue] = useState(() =>\n formatNumber(\n value as string,\n \"\",\n decimalSeparator,\n false,\n decimalLength,\n \"long\"\n )\n );\n const [unformattedPrevValue, setUnformattedPrevValue] = useState(() =>\n formatNumber(\n value as string,\n \"\",\n decimalSeparator,\n false,\n decimalLength,\n \"long\"\n )\n );\n\n useEffect(() => {\n if (value !== prevValue) {\n setCurrentValue(\n formatNumber(\n value as string,\n thousandSeparator,\n decimalSeparator,\n trimDecimals,\n decimalLength,\n disableAbbreviation ? \"long\" : \"short\"\n )\n );\n setPrevValue(\n formatNumber(\n value as string,\n thousandSeparator,\n decimalSeparator,\n trimDecimals,\n decimalLength,\n disableAbbreviation ? \"long\" : \"short\"\n )\n );\n setUnformattedValue(\n formatNumber(\n value as string,\n \"\",\n decimalSeparator,\n trimDecimals,\n decimalLength,\n \"long\"\n )\n );\n setUnformattedPrevValue(\n formatNumber(\n value as string,\n \"\",\n decimalSeparator,\n trimDecimals,\n decimalLength,\n \"long\"\n )\n );\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [\n disableAbbreviation,\n thousandSeparator,\n decimalSeparator,\n decimalLength,\n trimDecimals,\n value,\n ]);\n\n const [focused, setFocused] = useState(false);\n\n const escapeRef = useRef(false);\n\n const handleBlur = useCallback(\n (e) => {\n if (escapeRef.current) {\n setCurrentValue(prevValue);\n setUnformattedValue(unformattedPrevValue);\n if (onChange) onChange(String(unformattedPrevValue));\n } else {\n if (e.target.value.trim().length > 0 && prevValue !== e.target.value) {\n const _value = formatNumber(\n currentValue as string,\n thousandSeparator,\n decimalSeparator,\n trimDecimals,\n decimalLength,\n disableAbbreviation ? \"long\" : \"short\"\n );\n setPrevValue(_value);\n setUnformattedPrevValue(currentValue as string);\n setUnformattedValue(currentValue as string);\n setCurrentValue(_value);\n typeof onSave === \"function\" && onSave(e);\n } else {\n if (!allowEmptyValue) {\n setCurrentValue(prevValue);\n setUnformattedValue(unformattedPrevValue);\n typeof onCancel === \"function\" && onCancel(e);\n } else {\n if (typeof onSave === \"function\" && prevValue !== e.target.value) {\n onSave(e);\n } else {\n typeof onCancel === \"function\" && onCancel(e);\n }\n }\n }\n }\n setFocused(false);\n },\n [\n prevValue,\n unformattedPrevValue,\n onChange,\n disableAbbreviation,\n currentValue,\n thousandSeparator,\n decimalSeparator,\n trimDecimals,\n decimalLength,\n onSave,\n allowEmptyValue,\n onCancel,\n ]\n );\n\n const updateValue = useCallback(\n (type: \"increment\" | \"decrement\") => {\n const preformattedValue = String(unformattedValue).replace(\",\", \".\");\n const numericValue = parseFloat(preformattedValue);\n\n if (isNaN(numericValue)) return;\n\n let newValue = numericValue;\n\n if (type === \"increment\") {\n newValue += step;\n } else if (type === \"decrement\") {\n newValue -= step;\n }\n\n if (decimalLength !== undefined) {\n newValue = parseFloat(newValue.toFixed(decimalLength));\n } else {\n newValue = parseFloat(newValue.toFixed(2));\n }\n\n if (min !== undefined && newValue < Number(min)) {\n newValue = Number(min);\n }\n\n if (max !== undefined && newValue > Number(max) && isMaxValid) {\n newValue = Number(max);\n }\n\n if (decimalLength !== undefined && decimalLength === 0) {\n newValue = Math.round(newValue);\n }\n\n let updatedValue = String(newValue);\n if (updatedValue.includes(\".\") || updatedValue.includes(\",\")) {\n updatedValue = updatedValue.replace(\".\", decimalSeparator);\n }\n\n setUnformattedValue(updatedValue);\n setCurrentValue(updatedValue);\n if (onChange) onChange(updatedValue);\n },\n [\n unformattedValue,\n decimalLength,\n min,\n max,\n isMaxValid,\n onChange,\n step,\n decimalSeparator,\n ]\n );\n\n const handleKeyDown = useCallback(\n (e) => {\n if (e.key === \"Enter\") {\n e.target.blur();\n if (typeof onEnterKeyPress === \"function\")\n onEnterKeyPress(e.target.value);\n }\n if (e.key === \"ArrowLeft\") {\n return;\n }\n if (e.key === \"ArrowRight\") {\n return;\n }\n if (e.key === \"ArrowUp\") {\n e.preventDefault();\n updateValue(\"increment\");\n }\n if (e.key === \"ArrowDown\") {\n e.preventDefault();\n updateValue(\"decrement\");\n }\n if (e.key === \"Escape\") {\n escapeRef.current = true;\n e.target.blur();\n typeof onCancel === \"function\" && onCancel(e);\n escapeRef.current = false;\n }\n if (e.key === \"Backspace\") {\n return;\n }\n if ((e.metaKey || e.ctrlKey) && e.key === \"a\") {\n inputRef.current?.select();\n return;\n }\n if (e.key === \"Tab\") {\n return;\n }\n if ((e.metaKey || e.ctrlKey) && e.key === \"v\") {\n e.preventDefault();\n return;\n }\n\n // Disallow \"-\" if min is 0 or greater\n if (e.key === \"-\" && min !== undefined && Number(min) >= 0) {\n e.preventDefault();\n return;\n }\n\n // Disallow decimal separator if decimalLength is 0\n if (e.key === decimalSeparator && decimalLength === 0) {\n e.preventDefault();\n return;\n }\n\n const input = e.target;\n const currentValue = input.value;\n const start = input.selectionStart;\n const end = input.selectionEnd;\n const newValue =\n currentValue.substring(0, start) + e.key + currentValue.substring(end);\n if (\n !validation(\n newValue,\n Boolean(disableMacros),\n decimalSeparator,\n decimalLength ?? 0,\n limit\n )\n ) {\n e.preventDefault();\n return;\n }\n },\n [\n decimalLength,\n decimalSeparator,\n disableMacros,\n inputRef,\n limit,\n min,\n onCancel,\n onEnterKeyPress,\n updateValue,\n validation,\n ]\n );\n\n const handleChange = useCallback(\n (e) => {\n const inputValue = e.target.value;\n const numericInput = disableMacros\n ? inputValue\n : inputValue.replace(/([0-9.]+)([kmbtKMBT])/, (_, num, unit) => {\n return (\n parseFloat(num) * currencyMultiplier[unit.toLowerCase()]\n ).toString();\n });\n setCurrentValue(numericInput);\n setUnformattedValue(numericInput);\n if (onChange) onChange(numericInput);\n },\n [disableMacros, onChange]\n );\n\n const handleClick = useCallback(\n (e) => {\n if (typeof onClick === \"function\") {\n onClick(e);\n }\n },\n [onClick]\n );\n\n const handleFocus = useCallback(() => {\n setCurrentValue(unformattedValue);\n setFocused(true);\n }, [unformattedValue]);\n\n const handleDoubleClick = useCallback(() => {\n if (inputRef.current) {\n inputRef.current?.select();\n }\n }, [inputRef]);\n\n return {\n value: currentValue,\n onBlur: handleBlur,\n onKeyDown: handleKeyDown,\n onChange: handleChange,\n onClick: handleClick,\n onDoubleClick: handleDoubleClick,\n onFocus: handleFocus,\n focused,\n unformattedValue,\n };\n};\n"],"mappings":"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"}
1
+ {"version":3,"file":"useInputNumber.js","names":["_react","require","_utils","_currencyUtils","_slicedToArray","arr","i","_arrayWithHoles","_iterableToArrayLimit","_unsupportedIterableToArray","_nonIterableRest","TypeError","o","minLen","_arrayLikeToArray","n","Object","prototype","toString","call","slice","constructor","name","Array","from","test","len","length","arr2","r","l","t","Symbol","iterator","e","u","a","f","next","done","push","value","return","isArray","useInputNumber","exports","_ref","inputRef","_ref$decimalSeparator","decimalSeparator","_ref$thousandSeparato","thousandSeparator","disableAbbreviation","disableMacros","decimalLength","_ref$value","onChange","onSave","onEnterKeyPress","onClick","onCancel","allowEmptyValue","_ref$step","step","_ref$trimDecimals","trimDecimals","limit","_ref$validation","validation","validateNumberInput","min","max","isMaxValid","undefined","Number","console","warn","_useState","useState","formatNumber","_useState2","currentValue","setCurrentValue","_useState3","_useState4","prevValue","setPrevValue","_useState5","_useState6","unformattedValue","setUnformattedValue","_useState7","_useState8","unformattedPrevValue","setUnformattedPrevValue","useEffect","_useState9","_useState10","focused","setFocused","escapeRef","useRef","handleBlur","useCallback","current","String","target","trim","_value","updateValue","type","preformattedValue","replace","numericValue","parseFloat","isNaN","newValue","toFixed","Math","round","updatedValue","includes","handleKeyDown","key","blur","preventDefault","metaKey","ctrlKey","_inputRef$current","select","input","start","selectionStart","end","selectionEnd","substring","Boolean","handleChange","inputValue","numericInput","_","num","unit","currencyMultiplier","toLowerCase","handleClick","handleFocus","handleDoubleClick","_inputRef$current2","onBlur","onKeyDown","onDoubleClick","onFocus"],"sources":["../../../src/hooks/useInputNumber.tsx"],"sourcesContent":["import {\n useState,\n MouseEvent,\n useRef,\n useCallback,\n RefObject,\n useEffect,\n} from \"react\";\n\nimport { validateNumberInput } from \"../utils\";\nimport { currencyMultiplier, formatNumber } from \"../utils/currencyUtils\";\n\nexport type Separators = \".\" | \",\" | \" \" | \"\";\n\nexport interface IInputNumber {\n decimalLength?: number;\n decimalSeparator?: Separators;\n disableAbbreviation?: boolean;\n disableMacros?: boolean;\n thousandSeparator?: Separators;\n trimDecimals?: boolean;\n onSave?: (e: Event) => void;\n value?: string | number;\n step?: number;\n limit?: number;\n onEnterKeyPress?: (val: string) => void;\n onChange?: (val: string) => void;\n onClick?: (event: MouseEvent<HTMLInputElement>) => void;\n allowEmptyValue?: boolean;\n onCancel?: (e: Event) => void;\n validation?: (\n value: string,\n disableMacros: boolean,\n decimalSeparator: string,\n decimalLength: number,\n limit?: number\n ) => boolean;\n min?: string | number;\n max?: string | number;\n}\n\nexport const useInputNumber = (\n {\n decimalSeparator = \".\",\n thousandSeparator = \",\",\n disableAbbreviation,\n disableMacros,\n decimalLength,\n value = \"\",\n onChange,\n onSave,\n onEnterKeyPress,\n onClick,\n onCancel,\n allowEmptyValue,\n step = 1,\n trimDecimals = true,\n limit,\n validation = validateNumberInput,\n min,\n max,\n }: IInputNumber,\n inputRef: RefObject<HTMLInputElement | null>\n) => {\n const isMaxValid =\n max === undefined || min === undefined || Number(max) >= Number(min);\n\n if (!isMaxValid) {\n console.warn(\n \"Warning: The maximum value is set to be lower than the minimum value. The maximum value will be ignored.\"\n );\n }\n\n const [currentValue, setCurrentValue] = useState(() =>\n formatNumber(\n value as string,\n thousandSeparator,\n decimalSeparator,\n trimDecimals,\n decimalLength,\n disableAbbreviation ? \"long\" : \"short\"\n )\n );\n const [prevValue, setPrevValue] = useState(() =>\n formatNumber(\n value as string,\n thousandSeparator,\n decimalSeparator,\n trimDecimals,\n decimalLength,\n disableAbbreviation ? \"long\" : \"short\"\n )\n );\n const [unformattedValue, setUnformattedValue] = useState(() =>\n formatNumber(\n value as string,\n \"\",\n decimalSeparator,\n false,\n decimalLength,\n \"long\"\n )\n );\n const [unformattedPrevValue, setUnformattedPrevValue] = useState(() =>\n formatNumber(\n value as string,\n \"\",\n decimalSeparator,\n false,\n decimalLength,\n \"long\"\n )\n );\n\n useEffect(() => {\n if (value !== prevValue) {\n setCurrentValue(\n formatNumber(\n value as string,\n thousandSeparator,\n decimalSeparator,\n trimDecimals,\n decimalLength,\n disableAbbreviation ? \"long\" : \"short\"\n )\n );\n setPrevValue(\n formatNumber(\n value as string,\n thousandSeparator,\n decimalSeparator,\n trimDecimals,\n decimalLength,\n disableAbbreviation ? \"long\" : \"short\"\n )\n );\n setUnformattedValue(\n formatNumber(\n value as string,\n \"\",\n decimalSeparator,\n trimDecimals,\n decimalLength,\n \"long\"\n )\n );\n setUnformattedPrevValue(\n formatNumber(\n value as string,\n \"\",\n decimalSeparator,\n trimDecimals,\n decimalLength,\n \"long\"\n )\n );\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [\n disableAbbreviation,\n thousandSeparator,\n decimalSeparator,\n decimalLength,\n trimDecimals,\n value,\n ]);\n\n const [focused, setFocused] = useState(false);\n\n const escapeRef = useRef(false);\n\n const handleBlur = useCallback(\n (e) => {\n if (escapeRef.current) {\n setCurrentValue(prevValue);\n setUnformattedValue(unformattedPrevValue);\n if (onChange) onChange(String(unformattedPrevValue));\n } else {\n if (e.target.value.trim().length > 0 && prevValue !== e.target.value) {\n const _value = formatNumber(\n currentValue as string,\n thousandSeparator,\n decimalSeparator,\n trimDecimals,\n decimalLength,\n disableAbbreviation ? \"long\" : \"short\"\n );\n setPrevValue(_value);\n setUnformattedPrevValue(currentValue as string);\n setUnformattedValue(currentValue as string);\n setCurrentValue(_value);\n typeof onSave === \"function\" && onSave(e);\n } else {\n if (!allowEmptyValue) {\n setCurrentValue(prevValue);\n setUnformattedValue(unformattedPrevValue);\n typeof onCancel === \"function\" && onCancel(e);\n } else {\n if (typeof onSave === \"function\" && prevValue !== e.target.value) {\n onSave(e);\n } else {\n typeof onCancel === \"function\" && onCancel(e);\n }\n }\n }\n }\n setFocused(false);\n },\n [\n prevValue,\n unformattedPrevValue,\n onChange,\n disableAbbreviation,\n currentValue,\n thousandSeparator,\n decimalSeparator,\n trimDecimals,\n decimalLength,\n onSave,\n allowEmptyValue,\n onCancel,\n ]\n );\n\n const updateValue = useCallback(\n (type: \"increment\" | \"decrement\") => {\n const preformattedValue = String(unformattedValue).replace(\",\", \".\");\n const numericValue = parseFloat(preformattedValue);\n\n if (isNaN(numericValue)) return;\n\n let newValue = numericValue;\n\n if (type === \"increment\") {\n newValue += step;\n } else if (type === \"decrement\") {\n newValue -= step;\n }\n\n if (decimalLength !== undefined) {\n newValue = parseFloat(newValue.toFixed(decimalLength));\n } else {\n newValue = parseFloat(newValue.toFixed(2));\n }\n\n if (min !== undefined && newValue < Number(min)) {\n newValue = Number(min);\n }\n\n if (max !== undefined && newValue > Number(max) && isMaxValid) {\n newValue = Number(max);\n }\n\n if (decimalLength !== undefined && decimalLength === 0) {\n newValue = Math.round(newValue);\n }\n\n let updatedValue = String(newValue);\n if (updatedValue.includes(\".\") || updatedValue.includes(\",\")) {\n updatedValue = updatedValue.replace(\".\", decimalSeparator);\n }\n\n setUnformattedValue(updatedValue);\n setCurrentValue(updatedValue);\n if (onChange) onChange(updatedValue);\n },\n [\n unformattedValue,\n decimalLength,\n min,\n max,\n isMaxValid,\n onChange,\n step,\n decimalSeparator,\n ]\n );\n\n const handleKeyDown = useCallback(\n (e) => {\n if (e.key === \"Enter\") {\n e.target.blur();\n if (typeof onEnterKeyPress === \"function\")\n onEnterKeyPress(e.target.value);\n }\n if (e.key === \"ArrowLeft\") {\n return;\n }\n if (e.key === \"ArrowRight\") {\n return;\n }\n if (e.key === \"ArrowUp\") {\n e.preventDefault();\n updateValue(\"increment\");\n }\n if (e.key === \"ArrowDown\") {\n e.preventDefault();\n updateValue(\"decrement\");\n }\n if (e.key === \"Escape\") {\n escapeRef.current = true;\n e.target.blur();\n typeof onCancel === \"function\" && onCancel(e);\n escapeRef.current = false;\n }\n if (e.key === \"Backspace\") {\n return;\n }\n if (e.key === \"Delete\") {\n return;\n }\n if ((e.metaKey || e.ctrlKey) && e.key === \"a\") {\n inputRef.current?.select();\n return;\n }\n if (e.key === \"Tab\") {\n return;\n }\n if ((e.metaKey || e.ctrlKey) && e.key === \"v\") {\n e.preventDefault();\n return;\n }\n\n // Disallow \"-\" if min is 0 or greater\n if (e.key === \"-\" && min !== undefined && Number(min) >= 0) {\n e.preventDefault();\n return;\n }\n\n // Disallow decimal separator if decimalLength is 0\n if (e.key === decimalSeparator && decimalLength === 0) {\n e.preventDefault();\n return;\n }\n\n const input = e.target;\n const currentValue = input.value;\n const start = input.selectionStart;\n const end = input.selectionEnd;\n const newValue =\n currentValue.substring(0, start) + e.key + currentValue.substring(end);\n if (\n !validation(\n newValue,\n Boolean(disableMacros),\n decimalSeparator,\n decimalLength ?? 0,\n limit\n )\n ) {\n e.preventDefault();\n return;\n }\n },\n [\n decimalLength,\n decimalSeparator,\n disableMacros,\n inputRef,\n limit,\n min,\n onCancel,\n onEnterKeyPress,\n updateValue,\n validation,\n ]\n );\n\n const handleChange = useCallback(\n (e) => {\n const inputValue = e.target.value;\n const numericInput = disableMacros\n ? inputValue\n : inputValue.replace(/([0-9.]+)([kmbtKMBT])/, (_, num, unit) => {\n return (\n parseFloat(num) * currencyMultiplier[unit.toLowerCase()]\n ).toString();\n });\n setCurrentValue(numericInput);\n setUnformattedValue(numericInput);\n if (onChange) onChange(numericInput);\n },\n [disableMacros, onChange]\n );\n\n const handleClick = useCallback(\n (e) => {\n if (typeof onClick === \"function\") {\n onClick(e);\n }\n },\n [onClick]\n );\n\n const handleFocus = useCallback(() => {\n setCurrentValue(unformattedValue);\n setFocused(true);\n }, [unformattedValue]);\n\n const handleDoubleClick = useCallback(() => {\n if (inputRef.current) {\n inputRef.current?.select();\n }\n }, [inputRef]);\n\n return {\n value: currentValue,\n onBlur: handleBlur,\n onKeyDown: handleKeyDown,\n onChange: handleChange,\n onClick: handleClick,\n onDoubleClick: handleDoubleClick,\n onFocus: handleFocus,\n focused,\n unformattedValue,\n };\n};\n"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"Styles.d.ts","sourceRoot":"","sources":["../../../../src/components/CounterButton/Styles.ts"],"names":[],"mappings":";AASA,UAAU,wBAAwB;IAChC,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB;AAED,eAAO,MAAM,0BAA0B,oEAKtC,CAAC;AAIF,eAAO,MAAM,mBAAmB;;4FA8B/B,CAAC;AAIF,eAAO,MAAM,wBAAwB;;sEAWpC,CAAC;AAIF,eAAO,MAAM,wBAAwB;;SAgBpC,CAAC;AAIF,eAAO,MAAM,WAAW,wMAGvB,CAAC"}
1
+ {"version":3,"file":"Styles.d.ts","sourceRoot":"","sources":["../../../../src/components/CounterButton/Styles.ts"],"names":[],"mappings":";AASA,UAAU,wBAAwB;IAChC,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB;AAED,eAAO,MAAM,0BAA0B,oEAKtC,CAAC;AAIF,eAAO,MAAM,mBAAmB;;4FAsC/B,CAAC;AAIF,eAAO,MAAM,wBAAwB;;sEAWpC,CAAC;AAIF,eAAO,MAAM,wBAAwB;;SAoBpC,CAAC;AAIF,eAAO,MAAM,WAAW,wMAGvB,CAAC"}
@@ -14,7 +14,7 @@ StyledCounterButtonWrapper.displayName = "StyledCounterButtonWrapper";
14
14
  export const StyledCounterButton = styled(Button).withConfig({
15
15
  displayName: "Styles__StyledCounterButton",
16
16
  componentId: "sc-1ecrcba-1"
17
- })(["", " ", " ", ""], props => props.$active && !props.disabled && css(["padding:0 8px;svg{fill:var(--color-primary);}&:hover{background:var(--color-primary-300);}"]), props => props.$selected && css(["border-top-right-radius:0;border-bottom-right-radius:0;background-color:var(--color-primary-200);"]), props => props.disabled && css(["pointer-events:none;opacity:0.5;"]));
17
+ })(["", " ", " ", " ", ""], props => props.$active && !props.disabled && css(["padding:0 8px;svg{fill:var(--color-primary);}&:hover{background:var(--color-primary-300);}"]), props => props.$selected && css(["border-top-right-radius:0;border-bottom-right-radius:0;background-color:var(--color-primary-200);"]), props => !props.$selected && css(["@media (max-width:768px){width:32px;}"]), props => props.disabled && css(["pointer-events:none;opacity:0.5;"]));
18
18
  StyledCounterButton.displayName = "StyledCounterButton";
19
19
  export const StyledCounterButtonReset = styled(Button).withConfig({
20
20
  displayName: "Styles__StyledCounterButtonReset",
@@ -24,7 +24,7 @@ StyledCounterButtonReset.displayName = "StyledCounterButtonReset";
24
24
  export const StyledCounterButtonLabel = styled(Body2).withConfig({
25
25
  displayName: "Styles__StyledCounterButtonLabel",
26
26
  componentId: "sc-1ecrcba-3"
27
- })(["", " ", ":hover &&{", "}", ""], {
27
+ })(["", " @media (max-width:768px){display:none;}", ":hover &&{", "}", ""], {
28
28
  "pointerEvents": "none"
29
29
  }, StyledCounterButton, props => !props.$active && css(["color:var(--color-theme-900);"]), props => props.$active && css(["color:var(--color-primary);"]));
30
30
  StyledCounterButtonLabel.displayName = "StyledCounterButtonLabel";
@@ -1 +1 @@
1
- {"version":3,"file":"Styles.js","names":["styled","css","Badge","BoxSizingStyle","Button","FontStyle","Body2","StyledCounterButtonWrapper","div","withConfig","displayName","componentId","StyledCounterButton","props","$active","disabled","$selected","StyledCounterButtonReset","StyledCounterButtonLabel","StyledBadge"],"sources":["../../../../src/components/CounterButton/Styles.ts"],"sourcesContent":["import styled, { css } from \"styled-components\";\nimport tw from \"twin.macro\";\n\nimport { Badge } from \"../Badge\";\nimport { BoxSizingStyle } from \"../BoxSizingStyle\";\nimport { Button } from \"../Button/Button\";\nimport { FontStyle } from \"../FontStyle\";\nimport { Body2 } from \"../Typography/Variants/Body2\";\n\ninterface StyledCounterButtonProps {\n $active?: boolean;\n $selected?: boolean;\n}\n\nexport const StyledCounterButtonWrapper = styled.div`\n ${tw`tw-flex`}\n ${FontStyle}\n ${BoxSizingStyle}\n width: fit-content;\n`;\n\nStyledCounterButtonWrapper.displayName = \"StyledCounterButtonWrapper\";\n\nexport const StyledCounterButton = styled(Button)<StyledCounterButtonProps>`\n ${(props) =>\n props.$active &&\n !props.disabled &&\n css`\n padding: 0 8px;\n\n svg {\n fill: var(--color-primary);\n }\n\n &:hover {\n background: var(--color-primary-300);\n }\n `}\n\n ${(props) =>\n props.$selected &&\n css`\n border-top-right-radius: 0;\n border-bottom-right-radius: 0;\n background-color: var(--color-primary-200);\n `}\n\n ${(props) =>\n props.disabled &&\n css`\n pointer-events: none;\n opacity: 0.5;\n `}\n`;\n\nStyledCounterButton.displayName = \"StyledCounterButton\";\n\nexport const StyledCounterButtonReset = styled(Button)`\n background-color: var(--color-primary-200);\n border-top-left-radius: 0;\n border-bottom-left-radius: 0;\n\n &:hover,\n &:focus-visible {\n background-color: var(--color-primary-300);\n border-top-left-radius: 0;\n border-bottom-left-radius: 0;\n }\n`;\n\nStyledCounterButtonReset.displayName = \"StyledCounterButtonReset\";\n\nexport const StyledCounterButtonLabel = styled(Body2)<{ $active?: boolean }>`\n ${tw`tw-pointer-events-none`}\n\n ${StyledCounterButton}:hover && {\n ${(props) =>\n !props.$active &&\n css`\n color: var(--color-theme-900);\n `}\n }\n\n ${(props) =>\n props.$active &&\n css`\n color: var(--color-primary);\n `}\n`;\n\nStyledCounterButtonLabel.displayName = \"StyledCounterButtonLabel\";\n\nexport const StyledBadge = styled(Badge)`\n margin-left: 4px;\n margin-right: -6px;\n`;\n\nStyledBadge.displayName = \"StyledBadge\";\n"],"mappings":"AAAA,OAAOA,MAAM,IAAIC,GAAG,QAAQ,mBAAmB;AAG/C,SAASC,KAAK,QAAQ,UAAU;AAChC,SAASC,cAAc,QAAQ,mBAAmB;AAClD,SAASC,MAAM,QAAQ,kBAAkB;AACzC,SAASC,SAAS,QAAQ,cAAc;AACxC,SAASC,KAAK,QAAQ,8BAA8B;AAOpD,OAAO,MAAMC,0BAA0B,GAAGP,MAAM,CAACQ,GAAG,CAAAC,UAAA;EAAAC,WAAA;EAAAC,WAAA;AAAA,0CAC9C;EAAA;AAAQ,CAAC,EACXN,SAAS,EACTF,cAAc,CAEjB;AAEDI,0BAA0B,CAACG,WAAW,GAAG,4BAA4B;AAErE,OAAO,MAAME,mBAAmB,GAAGZ,MAAM,CAACI,MAAM,CAAC,CAAAK,UAAA;EAAAC,WAAA;EAAAC,WAAA;AAAA,uBAC5CE,KAAK,IACNA,KAAK,CAACC,OAAO,IACb,CAACD,KAAK,CAACE,QAAQ,IACfd,GAAG,gGAUF,EAEAY,KAAK,IACNA,KAAK,CAACG,SAAS,IACff,GAAG,uGAIF,EAEEY,KAAK,IACRA,KAAK,CAACE,QAAQ,IACdd,GAAG,sCAGF,CACJ;AAEDW,mBAAmB,CAACF,WAAW,GAAG,qBAAqB;AAEvD,OAAO,MAAMO,wBAAwB,GAAGjB,MAAM,CAACI,MAAM,CAAC,CAAAK,UAAA;EAAAC,WAAA;EAAAC,WAAA;AAAA,+NAWrD;AAEDM,wBAAwB,CAACP,WAAW,GAAG,0BAA0B;AAEjE,OAAO,MAAMQ,wBAAwB,GAAGlB,MAAM,CAACM,KAAK,CAAC,CAAAG,UAAA;EAAAC,WAAA;EAAAC,WAAA;AAAA,qCAC/C;EAAA;AAAuB,CAAC,EAE1BC,mBAAmB,EAChBC,KAAK,IACN,CAACA,KAAK,CAACC,OAAO,IACdb,GAAG,mCAEF,EAGFY,KAAK,IACNA,KAAK,CAACC,OAAO,IACbb,GAAG,iCAEF,CACJ;AAEDiB,wBAAwB,CAACR,WAAW,GAAG,0BAA0B;AAEjE,OAAO,MAAMS,WAAW,GAAGnB,MAAM,CAACE,KAAK,CAAC,CAAAO,UAAA;EAAAC,WAAA;EAAAC,WAAA;AAAA,0CAGvC;AAEDQ,WAAW,CAACT,WAAW,GAAG,aAAa"}
1
+ {"version":3,"file":"Styles.js","names":["styled","css","Badge","BoxSizingStyle","Button","FontStyle","Body2","StyledCounterButtonWrapper","div","withConfig","displayName","componentId","StyledCounterButton","props","$active","disabled","$selected","StyledCounterButtonReset","StyledCounterButtonLabel","StyledBadge"],"sources":["../../../../src/components/CounterButton/Styles.ts"],"sourcesContent":["import styled, { css } from \"styled-components\";\nimport tw from \"twin.macro\";\n\nimport { Badge } from \"../Badge\";\nimport { BoxSizingStyle } from \"../BoxSizingStyle\";\nimport { Button } from \"../Button/Button\";\nimport { FontStyle } from \"../FontStyle\";\nimport { Body2 } from \"../Typography/Variants/Body2\";\n\ninterface StyledCounterButtonProps {\n $active?: boolean;\n $selected?: boolean;\n}\n\nexport const StyledCounterButtonWrapper = styled.div`\n ${tw`tw-flex`}\n ${FontStyle}\n ${BoxSizingStyle}\n width: fit-content;\n`;\n\nStyledCounterButtonWrapper.displayName = \"StyledCounterButtonWrapper\";\n\nexport const StyledCounterButton = styled(Button)<StyledCounterButtonProps>`\n ${(props) =>\n props.$active &&\n !props.disabled &&\n css`\n padding: 0 8px;\n\n svg {\n fill: var(--color-primary);\n }\n\n &:hover {\n background: var(--color-primary-300);\n }\n `}\n\n ${(props) =>\n props.$selected &&\n css`\n border-top-right-radius: 0;\n border-bottom-right-radius: 0;\n background-color: var(--color-primary-200);\n `}\n\n ${(props) =>\n !props.$selected &&\n css`\n @media (max-width: 768px) {\n width: 32px;\n }\n `}\n\n ${(props) =>\n props.disabled &&\n css`\n pointer-events: none;\n opacity: 0.5;\n `}\n`;\n\nStyledCounterButton.displayName = \"StyledCounterButton\";\n\nexport const StyledCounterButtonReset = styled(Button)`\n background-color: var(--color-primary-200);\n border-top-left-radius: 0;\n border-bottom-left-radius: 0;\n\n &:hover,\n &:focus-visible {\n background-color: var(--color-primary-300);\n border-top-left-radius: 0;\n border-bottom-left-radius: 0;\n }\n`;\n\nStyledCounterButtonReset.displayName = \"StyledCounterButtonReset\";\n\nexport const StyledCounterButtonLabel = styled(Body2)<{ $active?: boolean }>`\n ${tw`tw-pointer-events-none`}\n\n @media (max-width: 768px) {\n display: none;\n }\n\n ${StyledCounterButton}:hover && {\n ${(props) =>\n !props.$active &&\n css`\n color: var(--color-theme-900);\n `}\n }\n\n ${(props) =>\n props.$active &&\n css`\n color: var(--color-primary);\n `}\n`;\n\nStyledCounterButtonLabel.displayName = \"StyledCounterButtonLabel\";\n\nexport const StyledBadge = styled(Badge)`\n margin-left: 4px;\n margin-right: -6px;\n`;\n\nStyledBadge.displayName = \"StyledBadge\";\n"],"mappings":"AAAA,OAAOA,MAAM,IAAIC,GAAG,QAAQ,mBAAmB;AAG/C,SAASC,KAAK,QAAQ,UAAU;AAChC,SAASC,cAAc,QAAQ,mBAAmB;AAClD,SAASC,MAAM,QAAQ,kBAAkB;AACzC,SAASC,SAAS,QAAQ,cAAc;AACxC,SAASC,KAAK,QAAQ,8BAA8B;AAOpD,OAAO,MAAMC,0BAA0B,GAAGP,MAAM,CAACQ,GAAG,CAAAC,UAAA;EAAAC,WAAA;EAAAC,WAAA;AAAA,0CAC9C;EAAA;AAAQ,CAAC,EACXN,SAAS,EACTF,cAAc,CAEjB;AAEDI,0BAA0B,CAACG,WAAW,GAAG,4BAA4B;AAErE,OAAO,MAAME,mBAAmB,GAAGZ,MAAM,CAACI,MAAM,CAAC,CAAAK,UAAA;EAAAC,WAAA;EAAAC,WAAA;AAAA,4BAC5CE,KAAK,IACNA,KAAK,CAACC,OAAO,IACb,CAACD,KAAK,CAACE,QAAQ,IACfd,GAAG,gGAUF,EAEAY,KAAK,IACNA,KAAK,CAACG,SAAS,IACff,GAAG,uGAIF,EAEAY,KAAK,IACN,CAACA,KAAK,CAACG,SAAS,IAChBf,GAAG,2CAIF,EAEEY,KAAK,IACRA,KAAK,CAACE,QAAQ,IACdd,GAAG,sCAGF,CACJ;AAEDW,mBAAmB,CAACF,WAAW,GAAG,qBAAqB;AAEvD,OAAO,MAAMO,wBAAwB,GAAGjB,MAAM,CAACI,MAAM,CAAC,CAAAK,UAAA;EAAAC,WAAA;EAAAC,WAAA;AAAA,+NAWrD;AAEDM,wBAAwB,CAACP,WAAW,GAAG,0BAA0B;AAEjE,OAAO,MAAMQ,wBAAwB,GAAGlB,MAAM,CAACM,KAAK,CAAC,CAAAG,UAAA;EAAAC,WAAA;EAAAC,WAAA;AAAA,4EAC/C;EAAA;AAAuB,CAAC,EAM1BC,mBAAmB,EAChBC,KAAK,IACN,CAACA,KAAK,CAACC,OAAO,IACdb,GAAG,mCAEF,EAGFY,KAAK,IACNA,KAAK,CAACC,OAAO,IACbb,GAAG,iCAEF,CACJ;AAEDiB,wBAAwB,CAACR,WAAW,GAAG,0BAA0B;AAEjE,OAAO,MAAMS,WAAW,GAAGnB,MAAM,CAACE,KAAK,CAAC,CAAAO,UAAA;EAAAC,WAAA;EAAAC,WAAA;AAAA,0CAGvC;AAEDQ,WAAW,CAACT,WAAW,GAAG,aAAa"}
@@ -5,6 +5,7 @@ export interface EntitiesHeaderProps {
5
5
  expanded?: boolean;
6
6
  onClick?: () => void;
7
7
  children?: ReactNode;
8
+ readOnly?: boolean;
8
9
  }
9
10
  export declare const EntitiesHeader: React.FC<EntitiesHeaderProps>;
10
11
  //# sourceMappingURL=EntitiesHeader.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"EntitiesHeader.d.ts","sourceRoot":"","sources":["../../../../src/components/EntitiesHeader/EntitiesHeader.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EACZ,SAAS,EAKV,MAAM,OAAO,CAAC;AAWf,MAAM,WAAW,mBAAmB;IAClC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,EAAE,SAAS,CAAC;IACjB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IACrB,QAAQ,CAAC,EAAE,SAAS,CAAC;CACtB;AAED,eAAO,MAAM,cAAc,EAAE,KAAK,CAAC,EAAE,CAAC,mBAAmB,CAqCxD,CAAC"}
1
+ {"version":3,"file":"EntitiesHeader.d.ts","sourceRoot":"","sources":["../../../../src/components/EntitiesHeader/EntitiesHeader.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EACZ,SAAS,EAKV,MAAM,OAAO,CAAC;AAWf,MAAM,WAAW,mBAAmB;IAClC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,EAAE,SAAS,CAAC;IACjB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IACrB,QAAQ,CAAC,EAAE,SAAS,CAAC;IACrB,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAED,eAAO,MAAM,cAAc,EAAE,KAAK,CAAC,EAAE,CAAC,mBAAmB,CA4CxD,CAAC"}
@@ -7,13 +7,14 @@ export const EntitiesHeader = _ref => {
7
7
  title,
8
8
  children,
9
9
  expanded = true,
10
+ readOnly = false,
10
11
  className
11
12
  } = _ref;
12
13
  const ref = useRef(null);
13
- const [open, setOpen] = useState(expanded);
14
+ const [open, setOpen] = useState(expanded || readOnly);
14
15
  useEffect(() => {
15
- setOpen(expanded);
16
- }, [expanded]);
16
+ setOpen(expanded || readOnly);
17
+ }, [expanded, readOnly]);
17
18
  const handleOnClick = useCallback(() => {
18
19
  var _ref$current;
19
20
  (_ref$current = ref.current) == null || _ref$current.focus();
@@ -25,16 +26,21 @@ export const EntitiesHeader = _ref => {
25
26
  tabIndex: 0,
26
27
  ref: ref,
27
28
  $expanded: open
28
- }, /*#__PURE__*/React.createElement(Button, {
29
+ }, !readOnly ? /*#__PURE__*/React.createElement(Button, {
29
30
  variant: "text gray",
30
31
  size: "small",
31
32
  onClick: handleOnClick
32
33
  }, /*#__PURE__*/React.createElement(StyledCollapseExpandSingleIcon, {
33
34
  $expanded: open
34
35
  }), /*#__PURE__*/React.createElement(StyledTitle, {
36
+ $readOnly: readOnly,
35
37
  color: "secondary",
36
38
  weight: "medium"
37
- }, title)), !open && /*#__PURE__*/React.createElement(StyledDividerLine, {
39
+ }, title)) : /*#__PURE__*/React.createElement(StyledTitle, {
40
+ $readOnly: readOnly,
41
+ color: "secondary",
42
+ weight: "medium"
43
+ }, title), !open && /*#__PURE__*/React.createElement(StyledDividerLine, {
38
44
  "data-testid": "divider-line"
39
45
  }), open && /*#__PURE__*/React.createElement(StyledChildrenWrapper, null, children));
40
46
  };
@@ -1 +1 @@
1
- {"version":3,"file":"EntitiesHeader.js","names":["React","useCallback","useEffect","useRef","useState","StyledChildrenWrapper","StyledCollapseExpandSingleIcon","StyledDividerLine","StyledTitle","StyledWrapper","Button","EntitiesHeader","_ref","onClick","title","children","expanded","className","ref","open","setOpen","handleOnClick","_ref$current","current","focus","prev","createElement","tabIndex","$expanded","variant","size","color","weight"],"sources":["../../../../src/components/EntitiesHeader/EntitiesHeader.tsx"],"sourcesContent":["import React, {\n ReactNode,\n useCallback,\n useEffect,\n useRef,\n useState,\n} from \"react\";\n\nimport {\n StyledChildrenWrapper,\n StyledCollapseExpandSingleIcon,\n StyledDividerLine,\n StyledTitle,\n StyledWrapper,\n} from \"./Styles\";\nimport { Button } from \"../Button\";\n\nexport interface EntitiesHeaderProps {\n className?: string;\n title: ReactNode;\n expanded?: boolean;\n onClick?: () => void;\n children?: ReactNode;\n}\n\nexport const EntitiesHeader: React.FC<EntitiesHeaderProps> = ({\n onClick,\n title,\n children,\n expanded = true,\n className,\n}) => {\n const ref = useRef<HTMLDivElement | null>(null);\n const [open, setOpen] = useState(expanded);\n\n useEffect(() => {\n setOpen(expanded);\n }, [expanded]);\n\n const handleOnClick = useCallback(() => {\n ref.current?.focus();\n setOpen((prev) => !prev);\n if (onClick) onClick();\n }, [onClick]);\n\n return (\n <StyledWrapper\n className={className}\n tabIndex={0}\n ref={ref}\n $expanded={open}\n >\n <Button variant=\"text gray\" size=\"small\" onClick={handleOnClick}>\n <StyledCollapseExpandSingleIcon $expanded={open} />\n <StyledTitle color=\"secondary\" weight=\"medium\">\n {title}\n </StyledTitle>\n </Button>\n {!open && <StyledDividerLine data-testid=\"divider-line\" />}\n {open && <StyledChildrenWrapper>{children}</StyledChildrenWrapper>}\n </StyledWrapper>\n );\n};\n"],"mappings":"AAAA,OAAOA,KAAK,IAEVC,WAAW,EACXC,SAAS,EACTC,MAAM,EACNC,QAAQ,QACH,OAAO;AAEd,SACEC,qBAAqB,EACrBC,8BAA8B,EAC9BC,iBAAiB,EACjBC,WAAW,EACXC,aAAa,QACR,UAAU;AACjB,SAASC,MAAM,QAAQ,WAAW;AAUlC,OAAO,MAAMC,cAA6C,GAAGC,IAAA,IAMvD;EAAA,IANwD;IAC5DC,OAAO;IACPC,KAAK;IACLC,QAAQ;IACRC,QAAQ,GAAG,IAAI;IACfC;EACF,CAAC,GAAAL,IAAA;EACC,MAAMM,GAAG,GAAGf,MAAM,CAAwB,IAAI,CAAC;EAC/C,MAAM,CAACgB,IAAI,EAAEC,OAAO,CAAC,GAAGhB,QAAQ,CAACY,QAAQ,CAAC;EAE1Cd,SAAS,CAAC,MAAM;IACdkB,OAAO,CAACJ,QAAQ,CAAC;EACnB,CAAC,EAAE,CAACA,QAAQ,CAAC,CAAC;EAEd,MAAMK,aAAa,GAAGpB,WAAW,CAAC,MAAM;IAAA,IAAAqB,YAAA;IACtC,CAAAA,YAAA,GAAAJ,GAAG,CAACK,OAAO,aAAXD,YAAA,CAAaE,KAAK,CAAC,CAAC;IACpBJ,OAAO,CAAEK,IAAI,IAAK,CAACA,IAAI,CAAC;IACxB,IAAIZ,OAAO,EAAEA,OAAO,CAAC,CAAC;EACxB,CAAC,EAAE,CAACA,OAAO,CAAC,CAAC;EAEb,oBACEb,KAAA,CAAA0B,aAAA,CAACjB,aAAa;IACZQ,SAAS,EAAEA,SAAU;IACrBU,QAAQ,EAAE,CAAE;IACZT,GAAG,EAAEA,GAAI;IACTU,SAAS,EAAET;EAAK,gBAEhBnB,KAAA,CAAA0B,aAAA,CAAChB,MAAM;IAACmB,OAAO,EAAC,WAAW;IAACC,IAAI,EAAC,OAAO;IAACjB,OAAO,EAAEQ;EAAc,gBAC9DrB,KAAA,CAAA0B,aAAA,CAACpB,8BAA8B;IAACsB,SAAS,EAAET;EAAK,CAAE,CAAC,eACnDnB,KAAA,CAAA0B,aAAA,CAAClB,WAAW;IAACuB,KAAK,EAAC,WAAW;IAACC,MAAM,EAAC;EAAQ,GAC3ClB,KACU,CACP,CAAC,EACR,CAACK,IAAI,iBAAInB,KAAA,CAAA0B,aAAA,CAACnB,iBAAiB;IAAC,eAAY;EAAc,CAAE,CAAC,EACzDY,IAAI,iBAAInB,KAAA,CAAA0B,aAAA,CAACrB,qBAAqB,QAAEU,QAAgC,CACpD,CAAC;AAEpB,CAAC"}
1
+ {"version":3,"file":"EntitiesHeader.js","names":["React","useCallback","useEffect","useRef","useState","StyledChildrenWrapper","StyledCollapseExpandSingleIcon","StyledDividerLine","StyledTitle","StyledWrapper","Button","EntitiesHeader","_ref","onClick","title","children","expanded","readOnly","className","ref","open","setOpen","handleOnClick","_ref$current","current","focus","prev","createElement","tabIndex","$expanded","variant","size","$readOnly","color","weight"],"sources":["../../../../src/components/EntitiesHeader/EntitiesHeader.tsx"],"sourcesContent":["import React, {\n ReactNode,\n useCallback,\n useEffect,\n useRef,\n useState,\n} from \"react\";\n\nimport {\n StyledChildrenWrapper,\n StyledCollapseExpandSingleIcon,\n StyledDividerLine,\n StyledTitle,\n StyledWrapper,\n} from \"./Styles\";\nimport { Button } from \"../Button\";\n\nexport interface EntitiesHeaderProps {\n className?: string;\n title: ReactNode;\n expanded?: boolean;\n onClick?: () => void;\n children?: ReactNode;\n readOnly?: boolean;\n}\n\nexport const EntitiesHeader: React.FC<EntitiesHeaderProps> = ({\n onClick,\n title,\n children,\n expanded = true,\n readOnly = false,\n className,\n}) => {\n const ref = useRef<HTMLDivElement | null>(null);\n const [open, setOpen] = useState(expanded || readOnly);\n\n useEffect(() => {\n setOpen(expanded || readOnly);\n }, [expanded, readOnly]);\n\n const handleOnClick = useCallback(() => {\n ref.current?.focus();\n setOpen((prev) => !prev);\n if (onClick) onClick();\n }, [onClick]);\n\n return (\n <StyledWrapper\n className={className}\n tabIndex={0}\n ref={ref}\n $expanded={open}\n >\n {!readOnly ? (\n <Button variant=\"text gray\" size=\"small\" onClick={handleOnClick}>\n <StyledCollapseExpandSingleIcon $expanded={open} />\n <StyledTitle $readOnly={readOnly} color=\"secondary\" weight=\"medium\">\n {title}\n </StyledTitle>\n </Button>\n ) : (\n <StyledTitle $readOnly={readOnly} color=\"secondary\" weight=\"medium\">\n {title}\n </StyledTitle>\n )}\n {!open && <StyledDividerLine data-testid=\"divider-line\" />}\n {open && <StyledChildrenWrapper>{children}</StyledChildrenWrapper>}\n </StyledWrapper>\n );\n};\n"],"mappings":"AAAA,OAAOA,KAAK,IAEVC,WAAW,EACXC,SAAS,EACTC,MAAM,EACNC,QAAQ,QACH,OAAO;AAEd,SACEC,qBAAqB,EACrBC,8BAA8B,EAC9BC,iBAAiB,EACjBC,WAAW,EACXC,aAAa,QACR,UAAU;AACjB,SAASC,MAAM,QAAQ,WAAW;AAWlC,OAAO,MAAMC,cAA6C,GAAGC,IAAA,IAOvD;EAAA,IAPwD;IAC5DC,OAAO;IACPC,KAAK;IACLC,QAAQ;IACRC,QAAQ,GAAG,IAAI;IACfC,QAAQ,GAAG,KAAK;IAChBC;EACF,CAAC,GAAAN,IAAA;EACC,MAAMO,GAAG,GAAGhB,MAAM,CAAwB,IAAI,CAAC;EAC/C,MAAM,CAACiB,IAAI,EAAEC,OAAO,CAAC,GAAGjB,QAAQ,CAACY,QAAQ,IAAIC,QAAQ,CAAC;EAEtDf,SAAS,CAAC,MAAM;IACdmB,OAAO,CAACL,QAAQ,IAAIC,QAAQ,CAAC;EAC/B,CAAC,EAAE,CAACD,QAAQ,EAAEC,QAAQ,CAAC,CAAC;EAExB,MAAMK,aAAa,GAAGrB,WAAW,CAAC,MAAM;IAAA,IAAAsB,YAAA;IACtC,CAAAA,YAAA,GAAAJ,GAAG,CAACK,OAAO,aAAXD,YAAA,CAAaE,KAAK,CAAC,CAAC;IACpBJ,OAAO,CAAEK,IAAI,IAAK,CAACA,IAAI,CAAC;IACxB,IAAIb,OAAO,EAAEA,OAAO,CAAC,CAAC;EACxB,CAAC,EAAE,CAACA,OAAO,CAAC,CAAC;EAEb,oBACEb,KAAA,CAAA2B,aAAA,CAAClB,aAAa;IACZS,SAAS,EAAEA,SAAU;IACrBU,QAAQ,EAAE,CAAE;IACZT,GAAG,EAAEA,GAAI;IACTU,SAAS,EAAET;EAAK,GAEf,CAACH,QAAQ,gBACRjB,KAAA,CAAA2B,aAAA,CAACjB,MAAM;IAACoB,OAAO,EAAC,WAAW;IAACC,IAAI,EAAC,OAAO;IAAClB,OAAO,EAAES;EAAc,gBAC9DtB,KAAA,CAAA2B,aAAA,CAACrB,8BAA8B;IAACuB,SAAS,EAAET;EAAK,CAAE,CAAC,eACnDpB,KAAA,CAAA2B,aAAA,CAACnB,WAAW;IAACwB,SAAS,EAAEf,QAAS;IAACgB,KAAK,EAAC,WAAW;IAACC,MAAM,EAAC;EAAQ,GAChEpB,KACU,CACP,CAAC,gBAETd,KAAA,CAAA2B,aAAA,CAACnB,WAAW;IAACwB,SAAS,EAAEf,QAAS;IAACgB,KAAK,EAAC,WAAW;IAACC,MAAM,EAAC;EAAQ,GAChEpB,KACU,CACd,EACA,CAACM,IAAI,iBAAIpB,KAAA,CAAA2B,aAAA,CAACpB,iBAAiB;IAAC,eAAY;EAAc,CAAE,CAAC,EACzDa,IAAI,iBAAIpB,KAAA,CAAA2B,aAAA,CAACtB,qBAAqB,QAAEU,QAAgC,CACpD,CAAC;AAEpB,CAAC"}
@@ -3,7 +3,9 @@ export declare const StyledChildrenWrapper: import("styled-components").StyledCo
3
3
  export declare const StyledWrapper: import("styled-components").StyledComponent<"div", any, {
4
4
  $expanded: boolean;
5
5
  }, never>;
6
- export declare const StyledTitle: import("styled-components").StyledComponent<import("react").ForwardRefExoticComponent<import("../Typography").IBodyProps & Omit<import("../Typography/Typography").ITypographyProps, "variant" | "weight"> & import("react").RefAttributes<HTMLDivElement>>, any, {}, never>;
6
+ export declare const StyledTitle: import("styled-components").StyledComponent<import("react").ForwardRefExoticComponent<import("../Typography").IBodyProps & Omit<import("../Typography/Typography").ITypographyProps, "variant" | "weight"> & import("react").RefAttributes<HTMLDivElement>>, any, {
7
+ $readOnly: boolean;
8
+ }, never>;
7
9
  export declare const StyledDividerLine: import("styled-components").StyledComponent<"div", any, {}, never>;
8
10
  export declare const StyledCollapseExpandSingleIcon: import("styled-components").StyledComponent<import("react").ForwardRefExoticComponent<Omit<import("react").SVGProps<SVGSVGElement>, "ref"> & import("react").RefAttributes<SVGSVGElement>>, any, {
9
11
  $expanded: boolean;
@@ -1 +1 @@
1
- {"version":3,"file":"Styles.d.ts","sourceRoot":"","sources":["../../../../src/components/EntitiesHeader/Styles.ts"],"names":[],"mappings":";AAMA,eAAO,MAAM,qBAAqB,oEAEjC,CAAC;AAIF,eAAO,MAAM,aAAa;eAA2B,OAAO;SAI3D,CAAC;AAIF,eAAO,MAAM,WAAW,8QAEvB,CAAC;AAIF,eAAO,MAAM,iBAAiB,oEAG7B,CAAC;AAIF,eAAO,MAAM,8BAA8B;eAC9B,OAAO;SAMnB,CAAC"}
1
+ {"version":3,"file":"Styles.d.ts","sourceRoot":"","sources":["../../../../src/components/EntitiesHeader/Styles.ts"],"names":[],"mappings":";AAMA,eAAO,MAAM,qBAAqB,oEAEjC,CAAC;AAIF,eAAO,MAAM,aAAa;eAA2B,OAAO;SAI3D,CAAC;AAIF,eAAO,MAAM,WAAW;eAA8B,OAAO;SAG5D,CAAC;AAIF,eAAO,MAAM,iBAAiB,oEAG7B,CAAC;AAIF,eAAO,MAAM,8BAA8B;eAC9B,OAAO;SAMnB,CAAC"}