@bigbinary/neetoui 8.3.0-beta1 → 8.3.0-beta2

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 (31) hide show
  1. package/dist/Button.js +5 -2
  2. package/dist/Button.js.map +1 -1
  3. package/dist/DatePicker.js +3 -3
  4. package/dist/{HeaderCellMenu-85af6d2a.js → HeaderCellMenu-85777f9d.js} +1 -1
  5. package/dist/{HeaderCellMenu-85af6d2a.js.map → HeaderCellMenu-85777f9d.js.map} +1 -1
  6. package/dist/Table.js +1 -1
  7. package/dist/{Textarea-e2cdbeb5.js → Textarea-67a30930.js} +1 -1
  8. package/dist/{Textarea-e2cdbeb5.js.map → Textarea-67a30930.js.map} +1 -1
  9. package/dist/Textarea.js +1 -1
  10. package/dist/TimePicker.js +3 -3
  11. package/dist/cjs/Button.js +4 -1
  12. package/dist/cjs/Button.js.map +1 -1
  13. package/dist/cjs/DatePicker.js +3 -3
  14. package/dist/cjs/{HeaderCellMenu-ed9de3d6.js → HeaderCellMenu-2b1247bb.js} +1 -1
  15. package/dist/cjs/{HeaderCellMenu-ed9de3d6.js.map → HeaderCellMenu-2b1247bb.js.map} +1 -1
  16. package/dist/cjs/Table.js +1 -1
  17. package/dist/cjs/{Textarea-13e1da31.js → Textarea-60f7ed17.js} +1 -1
  18. package/dist/cjs/{Textarea-13e1da31.js.map → Textarea-60f7ed17.js.map} +1 -1
  19. package/dist/cjs/Textarea.js +1 -1
  20. package/dist/cjs/TimePicker.js +3 -3
  21. package/dist/cjs/formik/Textarea.js +1 -1
  22. package/dist/cjs/formik/index.js +1 -1
  23. package/dist/cjs/{index-4683b7da.js → index-9d108a41.js} +3 -3
  24. package/dist/cjs/{index-4683b7da.js.map → index-9d108a41.js.map} +1 -1
  25. package/dist/cjs/index.js +3 -3
  26. package/dist/formik/Textarea.js +1 -1
  27. package/dist/formik/index.js +1 -1
  28. package/dist/{index-78e488c9.js → index-fd0e5fa5.js} +3 -3
  29. package/dist/{index-78e488c9.js.map → index-fd0e5fa5.js.map} +1 -1
  30. package/dist/index.js +3 -3
  31. package/package.json +1 -1
package/dist/Button.js CHANGED
@@ -4,7 +4,7 @@ import _slicedToArray from '@babel/runtime/helpers/slicedToArray';
4
4
  import _objectWithoutProperties from '@babel/runtime/helpers/objectWithoutProperties';
5
5
  import React__default, { useRef, useState, useEffect } from 'react';
6
6
  import classnames from 'classnames';
7
- import { Check, Error } from '@bigbinary/neeto-icons';
7
+ import { Error } from '@bigbinary/neeto-icons';
8
8
  import { Link } from 'react-router-dom';
9
9
  import Spinner from './Spinner.js';
10
10
  import Tooltip from './Tooltip.js';
@@ -14,6 +14,9 @@ import 'tippy.js';
14
14
  var _excluded = ["icon", "iconPosition", "iconSize", "label", "loading", "onClick", "to", "type", "style", "fullWidth", "className", "disabled", "size", "href", "tooltipProps", "children", "status", "onStatusReset"];
15
15
  function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
16
16
  function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
17
+ var ThumbsUp = function ThumbsUp() {
18
+ return /*#__PURE__*/React__default.createElement("span", null, "\uD83D\uDC4D");
19
+ };
17
20
  var BUTTON_STYLES = {
18
21
  primary: "primary",
19
22
  secondary: "secondary",
@@ -121,7 +124,7 @@ var Button = /*#__PURE__*/React__default.forwardRef(function (_ref, ref) {
121
124
  }, 5000);
122
125
  }, [didStartAction, loading]);
123
126
  var FeedbackIcon = null;
124
- if (status === STATUS.SUCCESS) FeedbackIcon = Check;
127
+ if (status === STATUS.SUCCESS) FeedbackIcon = ThumbsUp;
125
128
  if (status === STATUS.ERROR) FeedbackIcon = Error;
126
129
  var handleClick = function handleClick(e) {
127
130
  if (loading || disabled) return;
@@ -1 +1 @@
1
- {"version":3,"file":"Button.js","sources":["../src/components/Button.jsx"],"sourcesContent":["import React, { useEffect, useRef, useState } from \"react\";\n\nimport classnames from \"classnames\";\nimport { Check, Error } from \"neetoicons\";\nimport PropTypes from \"prop-types\";\nimport { Link } from \"react-router-dom\";\n\nimport Spinner from \"./Spinner\";\nimport Tooltip from \"./Tooltip\";\n\nconst BUTTON_STYLES = {\n primary: \"primary\",\n secondary: \"secondary\",\n tertiary: \"tertiary\",\n danger: \"danger\",\n danger_text: \"danger-text\",\n text: \"text\",\n link: \"link\",\n};\nconst SIZES = { small: \"small\", medium: \"medium\", large: \"large\" };\nconst ICON_POSITIONS = { left: \"left\", right: \"right\" };\nconst BUTTON_TYPES = { button: \"button\", reset: \"reset\", submit: \"submit\" };\nconst STATUS = { SUCCESS: \"success\", ERROR: \"error\" };\n\nconst Button = React.forwardRef(\n (\n {\n icon = null,\n iconPosition = ICON_POSITIONS.right,\n iconSize = 16,\n label = \"\",\n loading = false,\n onClick = () => {},\n to = \"\",\n type = BUTTON_TYPES.button,\n style = BUTTON_STYLES.primary,\n fullWidth = false,\n className = \"\",\n disabled = false,\n size = SIZES.medium,\n href = \"\",\n tooltipProps = null,\n children,\n status,\n onStatusReset,\n ...otherProps\n },\n ref\n ) => {\n let Parent = \"button\";\n let elementSpecificProps = { type };\n const resetFeedbackIconTimeout = useRef();\n\n const [didStartAction, setDidStartAction] = useState(false);\n const [isFeedbackIconVisible, setIsFeedbackIconVisible] = useState(false);\n\n const renderLabel = label || children;\n\n if (!disabled) {\n if (to) {\n Parent = Link;\n elementSpecificProps = { to };\n } else if (href) {\n Parent = \"a\";\n elementSpecificProps = { href };\n }\n }\n\n useEffect(() => {\n if (!loading) return;\n\n setDidStartAction(true);\n }, [loading]);\n\n useEffect(() => {\n if (loading || !didStartAction) return;\n\n if (didStartAction && !status) {\n setDidStartAction(false);\n\n return;\n }\n\n setIsFeedbackIconVisible(true);\n setDidStartAction(false);\n resetFeedbackIconTimeout.current = setTimeout(() => {\n setIsFeedbackIconVisible(false);\n onStatusReset?.();\n }, 5000);\n }, [didStartAction, loading]);\n\n let FeedbackIcon = null;\n if (status === STATUS.SUCCESS) FeedbackIcon = Check;\n\n if (status === STATUS.ERROR) FeedbackIcon = Error;\n\n const handleClick = e => {\n if (loading || disabled) return;\n setIsFeedbackIconVisible(false);\n clearTimeout(resetFeedbackIconTimeout.current);\n onClick(e);\n };\n\n const Icon =\n typeof icon === \"string\"\n ? () => (\n <i\n className={classnames(\"neeto-ui-btn__icon\", [icon])}\n data-testid=\"class-icon\"\n />\n )\n : icon || React.Fragment;\n\n const isFeedbackIconsVisible =\n loading || didStartAction || (isFeedbackIconVisible && status);\n\n return (\n <Tooltip disabled={!tooltipProps} {...tooltipProps}>\n <Parent\n className={classnames(\"neeto-ui-btn\", [className], {\n \"neeto-ui-btn--style-primary\": style === BUTTON_STYLES.primary,\n \"neeto-ui-btn--style-secondary\": style === BUTTON_STYLES.secondary,\n \"neeto-ui-btn--style-tertiary\": style === BUTTON_STYLES.tertiary,\n \"neeto-ui-btn--style-danger\": style === BUTTON_STYLES.danger,\n \"neeto-ui-btn--style-danger-text\":\n style === BUTTON_STYLES.danger_text,\n \"neeto-ui-btn--style-text\": style === BUTTON_STYLES.text,\n \"neeto-ui-btn--style-link\": style === BUTTON_STYLES.link,\n \"neeto-ui-btn--size-medium\": size === SIZES.medium,\n \"neeto-ui-btn--size-large\": size === SIZES.large,\n \"neeto-ui-btn--width-full\": fullWidth,\n \"neeto-ui-btn--icon-left\": iconPosition === ICON_POSITIONS.left,\n \"neeto-ui-btn--icon-only\": !renderLabel,\n \"neeto-ui-btn--feedback-visible\": isFeedbackIconsVisible,\n disabled,\n })}\n onClick={handleClick}\n {...{ disabled, ref, ...elementSpecificProps, ...otherProps }}\n >\n {renderLabel && (\n <span className=\"neeto-ui-btn__label\">{renderLabel}</span>\n )}\n {icon && (\n <Icon\n aria-hidden=\"true\"\n className=\"neeto-ui-btn__icon\"\n size={iconSize}\n />\n )}\n {loading && (\n <span className=\"neeto-ui-btn__feedback-icon\">\n <Spinner aria-hidden=\"true\" size=\"small\" />\n </span>\n )}\n {isFeedbackIconVisible && status && (\n <span className=\"neeto-ui-btn__feedback-icon\">\n <FeedbackIcon aria-hidden=\"true\" size=\"20\" />\n </span>\n )}\n </Parent>\n </Tooltip>\n );\n }\n);\n\nButton.displayName = \"Button\";\n\nButton.propTypes = {\n /**\n * To specify the style of the Button.\n */\n style: PropTypes.oneOf(Object.values(BUTTON_STYLES)),\n /**\n * To set the size of the Button.\n */\n size: PropTypes.oneOf(Object.values(SIZES)),\n /**\n * To specify the position of the icon.\n */\n iconPosition: PropTypes.oneOf(Object.values(ICON_POSITIONS)),\n /**\n * To specify the size of the icon.\n */\n iconSize: PropTypes.number,\n /**\n * To set the text to be displayed inside the Button.\n */\n label: PropTypes.string,\n /**\n * Indicates if a Button is in loading state and shows spinner if true.\n */\n loading: PropTypes.bool,\n /**\n * To set Button as disabled.\n */\n disabled: PropTypes.bool,\n /**\n * To set the icon to be shown in the Button.\n */\n icon: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.func,\n PropTypes.element,\n ]),\n /**\n * To specify the action to be triggered on clicking the Button.\n */\n onClick: PropTypes.func,\n /**\n * To specify an internal route to which the Button points to.\n */\n to: PropTypes.string,\n /**\n * To specify an external link to which the Button points to.\n */\n href: PropTypes.string,\n /**\n * To specify the type of Button.\n */\n type: PropTypes.oneOf(Object.values(BUTTON_TYPES)),\n /**\n * To set the Button to full width of the container.\n */\n fullWidth: PropTypes.bool,\n /**\n * To provide external classnames to Button component.\n */\n className: PropTypes.string,\n /**\n * To specify the props to be passed to the tooltip.\n */\n tooltipProps: PropTypes.object,\n /**\n * To specify the children to be rendered inside the Button.\n */\n children: PropTypes.string,\n /**\n * To specify the status of the user action, a check or cross icon will be rendered based on the status\n */\n status: PropTypes.oneOf(Object.values(STATUS)),\n /**\n * This callback will be triggered at the timeout to reset the feedback icon, the host application\n * can use this to reset the status if they are using a local state.\n */\n onStatusReset: PropTypes.func,\n};\n\nexport default Button;\n"],"names":["BUTTON_STYLES","primary","secondary","tertiary","danger","danger_text","text","link","SIZES","small","medium","large","ICON_POSITIONS","left","right","BUTTON_TYPES","button","reset","submit","STATUS","SUCCESS","ERROR","Button","React","forwardRef","_ref","ref","_ref$icon","icon","_ref$iconPosition","iconPosition","_ref$iconSize","iconSize","_ref$label","label","_ref$loading","loading","_ref$onClick","onClick","_ref$to","to","_ref$type","type","_ref$style","style","_ref$fullWidth","fullWidth","_ref$className","className","_ref$disabled","disabled","_ref$size","size","_ref$href","href","_ref$tooltipProps","tooltipProps","children","status","onStatusReset","otherProps","_objectWithoutProperties","_excluded","Parent","elementSpecificProps","resetFeedbackIconTimeout","useRef","_useState","useState","_useState2","_slicedToArray","didStartAction","setDidStartAction","_useState3","_useState4","isFeedbackIconVisible","setIsFeedbackIconVisible","renderLabel","Link","useEffect","current","setTimeout","FeedbackIcon","Check","Error","handleClick","e","clearTimeout","Icon","createElement","classnames","Fragment","isFeedbackIconsVisible","Tooltip","_extends","_objectSpread","Spinner","displayName"],"mappings":"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"}
1
+ {"version":3,"file":"Button.js","sources":["../src/components/Button.jsx"],"sourcesContent":["import React, { useEffect, useRef, useState } from \"react\";\n\nimport classnames from \"classnames\";\nimport { Error } from \"neetoicons\";\nimport PropTypes from \"prop-types\";\nimport { Link } from \"react-router-dom\";\n\nimport Spinner from \"./Spinner\";\nimport Tooltip from \"./Tooltip\";\n\nconst ThumbsUp = () => <span>👍</span>;\n\nconst BUTTON_STYLES = {\n primary: \"primary\",\n secondary: \"secondary\",\n tertiary: \"tertiary\",\n danger: \"danger\",\n danger_text: \"danger-text\",\n text: \"text\",\n link: \"link\",\n};\nconst SIZES = { small: \"small\", medium: \"medium\", large: \"large\" };\nconst ICON_POSITIONS = { left: \"left\", right: \"right\" };\nconst BUTTON_TYPES = { button: \"button\", reset: \"reset\", submit: \"submit\" };\nconst STATUS = { SUCCESS: \"success\", ERROR: \"error\" };\n\nconst Button = React.forwardRef(\n (\n {\n icon = null,\n iconPosition = ICON_POSITIONS.right,\n iconSize = 16,\n label = \"\",\n loading = false,\n onClick = () => {},\n to = \"\",\n type = BUTTON_TYPES.button,\n style = BUTTON_STYLES.primary,\n fullWidth = false,\n className = \"\",\n disabled = false,\n size = SIZES.medium,\n href = \"\",\n tooltipProps = null,\n children,\n status,\n onStatusReset,\n ...otherProps\n },\n ref\n ) => {\n let Parent = \"button\";\n let elementSpecificProps = { type };\n const resetFeedbackIconTimeout = useRef();\n\n const [didStartAction, setDidStartAction] = useState(false);\n const [isFeedbackIconVisible, setIsFeedbackIconVisible] = useState(false);\n\n const renderLabel = label || children;\n\n if (!disabled) {\n if (to) {\n Parent = Link;\n elementSpecificProps = { to };\n } else if (href) {\n Parent = \"a\";\n elementSpecificProps = { href };\n }\n }\n\n useEffect(() => {\n if (!loading) return;\n\n setDidStartAction(true);\n }, [loading]);\n\n useEffect(() => {\n if (loading || !didStartAction) return;\n\n if (didStartAction && !status) {\n setDidStartAction(false);\n\n return;\n }\n\n setIsFeedbackIconVisible(true);\n setDidStartAction(false);\n resetFeedbackIconTimeout.current = setTimeout(() => {\n setIsFeedbackIconVisible(false);\n onStatusReset?.();\n }, 5000);\n }, [didStartAction, loading]);\n\n let FeedbackIcon = null;\n if (status === STATUS.SUCCESS) FeedbackIcon = ThumbsUp;\n\n if (status === STATUS.ERROR) FeedbackIcon = Error;\n\n const handleClick = e => {\n if (loading || disabled) return;\n setIsFeedbackIconVisible(false);\n clearTimeout(resetFeedbackIconTimeout.current);\n onClick(e);\n };\n\n const Icon =\n typeof icon === \"string\"\n ? () => (\n <i\n className={classnames(\"neeto-ui-btn__icon\", [icon])}\n data-testid=\"class-icon\"\n />\n )\n : icon || React.Fragment;\n\n const isFeedbackIconsVisible =\n loading || didStartAction || (isFeedbackIconVisible && status);\n\n return (\n <Tooltip disabled={!tooltipProps} {...tooltipProps}>\n <Parent\n className={classnames(\"neeto-ui-btn\", [className], {\n \"neeto-ui-btn--style-primary\": style === BUTTON_STYLES.primary,\n \"neeto-ui-btn--style-secondary\": style === BUTTON_STYLES.secondary,\n \"neeto-ui-btn--style-tertiary\": style === BUTTON_STYLES.tertiary,\n \"neeto-ui-btn--style-danger\": style === BUTTON_STYLES.danger,\n \"neeto-ui-btn--style-danger-text\":\n style === BUTTON_STYLES.danger_text,\n \"neeto-ui-btn--style-text\": style === BUTTON_STYLES.text,\n \"neeto-ui-btn--style-link\": style === BUTTON_STYLES.link,\n \"neeto-ui-btn--size-medium\": size === SIZES.medium,\n \"neeto-ui-btn--size-large\": size === SIZES.large,\n \"neeto-ui-btn--width-full\": fullWidth,\n \"neeto-ui-btn--icon-left\": iconPosition === ICON_POSITIONS.left,\n \"neeto-ui-btn--icon-only\": !renderLabel,\n \"neeto-ui-btn--feedback-visible\": isFeedbackIconsVisible,\n disabled,\n })}\n onClick={handleClick}\n {...{ disabled, ref, ...elementSpecificProps, ...otherProps }}\n >\n {renderLabel && (\n <span className=\"neeto-ui-btn__label\">{renderLabel}</span>\n )}\n {icon && (\n <Icon\n aria-hidden=\"true\"\n className=\"neeto-ui-btn__icon\"\n size={iconSize}\n />\n )}\n {loading && (\n <span className=\"neeto-ui-btn__feedback-icon\">\n <Spinner aria-hidden=\"true\" size=\"small\" />\n </span>\n )}\n {isFeedbackIconVisible && status && (\n <span className=\"neeto-ui-btn__feedback-icon\">\n <FeedbackIcon aria-hidden=\"true\" size=\"20\" />\n </span>\n )}\n </Parent>\n </Tooltip>\n );\n }\n);\n\nButton.displayName = \"Button\";\n\nButton.propTypes = {\n /**\n * To specify the style of the Button.\n */\n style: PropTypes.oneOf(Object.values(BUTTON_STYLES)),\n /**\n * To set the size of the Button.\n */\n size: PropTypes.oneOf(Object.values(SIZES)),\n /**\n * To specify the position of the icon.\n */\n iconPosition: PropTypes.oneOf(Object.values(ICON_POSITIONS)),\n /**\n * To specify the size of the icon.\n */\n iconSize: PropTypes.number,\n /**\n * To set the text to be displayed inside the Button.\n */\n label: PropTypes.string,\n /**\n * Indicates if a Button is in loading state and shows spinner if true.\n */\n loading: PropTypes.bool,\n /**\n * To set Button as disabled.\n */\n disabled: PropTypes.bool,\n /**\n * To set the icon to be shown in the Button.\n */\n icon: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.func,\n PropTypes.element,\n ]),\n /**\n * To specify the action to be triggered on clicking the Button.\n */\n onClick: PropTypes.func,\n /**\n * To specify an internal route to which the Button points to.\n */\n to: PropTypes.string,\n /**\n * To specify an external link to which the Button points to.\n */\n href: PropTypes.string,\n /**\n * To specify the type of Button.\n */\n type: PropTypes.oneOf(Object.values(BUTTON_TYPES)),\n /**\n * To set the Button to full width of the container.\n */\n fullWidth: PropTypes.bool,\n /**\n * To provide external classnames to Button component.\n */\n className: PropTypes.string,\n /**\n * To specify the props to be passed to the tooltip.\n */\n tooltipProps: PropTypes.object,\n /**\n * To specify the children to be rendered inside the Button.\n */\n children: PropTypes.string,\n /**\n * To specify the status of the user action, a check or cross icon will be rendered based on the status\n */\n status: PropTypes.oneOf(Object.values(STATUS)),\n /**\n * This callback will be triggered at the timeout to reset the feedback icon, the host application\n * can use this to reset the status if they are using a local state.\n */\n onStatusReset: PropTypes.func,\n};\n\nexport default Button;\n"],"names":["ThumbsUp","React","createElement","BUTTON_STYLES","primary","secondary","tertiary","danger","danger_text","text","link","SIZES","small","medium","large","ICON_POSITIONS","left","right","BUTTON_TYPES","button","reset","submit","STATUS","SUCCESS","ERROR","Button","forwardRef","_ref","ref","_ref$icon","icon","_ref$iconPosition","iconPosition","_ref$iconSize","iconSize","_ref$label","label","_ref$loading","loading","_ref$onClick","onClick","_ref$to","to","_ref$type","type","_ref$style","style","_ref$fullWidth","fullWidth","_ref$className","className","_ref$disabled","disabled","_ref$size","size","_ref$href","href","_ref$tooltipProps","tooltipProps","children","status","onStatusReset","otherProps","_objectWithoutProperties","_excluded","Parent","elementSpecificProps","resetFeedbackIconTimeout","useRef","_useState","useState","_useState2","_slicedToArray","didStartAction","setDidStartAction","_useState3","_useState4","isFeedbackIconVisible","setIsFeedbackIconVisible","renderLabel","Link","useEffect","current","setTimeout","FeedbackIcon","Error","handleClick","e","clearTimeout","Icon","classnames","Fragment","isFeedbackIconsVisible","Tooltip","_extends","_objectSpread","Spinner","displayName"],"mappings":";;;;;;;;;;;;;;;;AAUA,IAAMA,QAAQ,GAAG,SAAXA,QAAQA,GAAA;AAAA,EAAA,oBAASC,cAAA,CAAAC,aAAA,CAAA,MAAA,EAAA,IAAA,EAAM,cAAE,CAAO,CAAA;AAAA,CAAA,CAAA;AAEtC,IAAMC,aAAa,GAAG;AACpBC,EAAAA,OAAO,EAAE,SAAS;AAClBC,EAAAA,SAAS,EAAE,WAAW;AACtBC,EAAAA,QAAQ,EAAE,UAAU;AACpBC,EAAAA,MAAM,EAAE,QAAQ;AAChBC,EAAAA,WAAW,EAAE,aAAa;AAC1BC,EAAAA,IAAI,EAAE,MAAM;AACZC,EAAAA,IAAI,EAAE,MAAA;AACR,CAAC,CAAA;AACD,IAAMC,KAAK,GAAG;AAAEC,EAAAA,KAAK,EAAE,OAAO;AAAEC,EAAAA,MAAM,EAAE,QAAQ;AAAEC,EAAAA,KAAK,EAAE,OAAA;AAAQ,CAAC,CAAA;AAClE,IAAMC,cAAc,GAAG;AAAEC,EAAAA,IAAI,EAAE,MAAM;AAAEC,EAAAA,KAAK,EAAE,OAAA;AAAQ,CAAC,CAAA;AACvD,IAAMC,YAAY,GAAG;AAAEC,EAAAA,MAAM,EAAE,QAAQ;AAAEC,EAAAA,KAAK,EAAE,OAAO;AAAEC,EAAAA,MAAM,EAAE,QAAA;AAAS,CAAC,CAAA;AAC3E,IAAMC,MAAM,GAAG;AAAEC,EAAAA,OAAO,EAAE,SAAS;AAAEC,EAAAA,KAAK,EAAE,OAAA;AAAQ,CAAC,CAAA;AAE/CC,IAAAA,MAAM,gBAAGxB,cAAK,CAACyB,UAAU,CAC7B,UAAAC,IAAA,EAsBEC,GAAG,EACA;AAAA,EAAA,IAAAC,SAAA,GAAAF,IAAA,CArBDG,IAAI;AAAJA,IAAAA,IAAI,GAAAD,SAAA,KAAG,KAAA,CAAA,GAAA,IAAI,GAAAA,SAAA;IAAAE,iBAAA,GAAAJ,IAAA,CACXK,YAAY;AAAZA,IAAAA,YAAY,GAAAD,iBAAA,KAAA,KAAA,CAAA,GAAGhB,cAAc,CAACE,KAAK,GAAAc,iBAAA;IAAAE,aAAA,GAAAN,IAAA,CACnCO,QAAQ;AAARA,IAAAA,QAAQ,GAAAD,aAAA,KAAG,KAAA,CAAA,GAAA,EAAE,GAAAA,aAAA;IAAAE,UAAA,GAAAR,IAAA,CACbS,KAAK;AAALA,IAAAA,KAAK,GAAAD,UAAA,KAAG,KAAA,CAAA,GAAA,EAAE,GAAAA,UAAA;IAAAE,YAAA,GAAAV,IAAA,CACVW,OAAO;AAAPA,IAAAA,OAAO,GAAAD,YAAA,KAAG,KAAA,CAAA,GAAA,KAAK,GAAAA,YAAA;IAAAE,YAAA,GAAAZ,IAAA,CACfa,OAAO;AAAPA,IAAAA,OAAO,GAAAD,YAAA,KAAA,KAAA,CAAA,GAAG,YAAM,EAAE,GAAAA,YAAA;IAAAE,OAAA,GAAAd,IAAA,CAClBe,EAAE;AAAFA,IAAAA,EAAE,GAAAD,OAAA,KAAG,KAAA,CAAA,GAAA,EAAE,GAAAA,OAAA;IAAAE,SAAA,GAAAhB,IAAA,CACPiB,IAAI;AAAJA,IAAAA,IAAI,GAAAD,SAAA,KAAA,KAAA,CAAA,GAAGzB,YAAY,CAACC,MAAM,GAAAwB,SAAA;IAAAE,UAAA,GAAAlB,IAAA,CAC1BmB,KAAK;AAALA,IAAAA,KAAK,GAAAD,UAAA,KAAA,KAAA,CAAA,GAAG1C,aAAa,CAACC,OAAO,GAAAyC,UAAA;IAAAE,cAAA,GAAApB,IAAA,CAC7BqB,SAAS;AAATA,IAAAA,SAAS,GAAAD,cAAA,KAAG,KAAA,CAAA,GAAA,KAAK,GAAAA,cAAA;IAAAE,cAAA,GAAAtB,IAAA,CACjBuB,SAAS;AAATA,IAAAA,SAAS,GAAAD,cAAA,KAAG,KAAA,CAAA,GAAA,EAAE,GAAAA,cAAA;IAAAE,aAAA,GAAAxB,IAAA,CACdyB,QAAQ;AAARA,IAAAA,QAAQ,GAAAD,aAAA,KAAG,KAAA,CAAA,GAAA,KAAK,GAAAA,aAAA;IAAAE,SAAA,GAAA1B,IAAA,CAChB2B,IAAI;AAAJA,IAAAA,IAAI,GAAAD,SAAA,KAAA,KAAA,CAAA,GAAG1C,KAAK,CAACE,MAAM,GAAAwC,SAAA;IAAAE,SAAA,GAAA5B,IAAA,CACnB6B,IAAI;AAAJA,IAAAA,IAAI,GAAAD,SAAA,KAAG,KAAA,CAAA,GAAA,EAAE,GAAAA,SAAA;IAAAE,iBAAA,GAAA9B,IAAA,CACT+B,YAAY;AAAZA,IAAAA,YAAY,GAAAD,iBAAA,KAAG,KAAA,CAAA,GAAA,IAAI,GAAAA,iBAAA;IACnBE,QAAQ,GAAAhC,IAAA,CAARgC,QAAQ;IACRC,MAAM,GAAAjC,IAAA,CAANiC,MAAM;IACNC,aAAa,GAAAlC,IAAA,CAAbkC,aAAa;AACVC,IAAAA,UAAU,GAAAC,wBAAA,CAAApC,IAAA,EAAAqC,SAAA,CAAA,CAAA;EAIf,IAAIC,MAAM,GAAG,QAAQ,CAAA;AACrB,EAAA,IAAIC,oBAAoB,GAAG;AAAEtB,IAAAA,IAAI,EAAJA,IAAAA;GAAM,CAAA;EACnC,IAAMuB,wBAAwB,GAAGC,MAAM,EAAE,CAAA;AAEzC,EAAA,IAAAC,SAAA,GAA4CC,QAAQ,CAAC,KAAK,CAAC;IAAAC,UAAA,GAAAC,cAAA,CAAAH,SAAA,EAAA,CAAA,CAAA;AAApDI,IAAAA,cAAc,GAAAF,UAAA,CAAA,CAAA,CAAA;AAAEG,IAAAA,iBAAiB,GAAAH,UAAA,CAAA,CAAA,CAAA,CAAA;AACxC,EAAA,IAAAI,UAAA,GAA0DL,QAAQ,CAAC,KAAK,CAAC;IAAAM,UAAA,GAAAJ,cAAA,CAAAG,UAAA,EAAA,CAAA,CAAA;AAAlEE,IAAAA,qBAAqB,GAAAD,UAAA,CAAA,CAAA,CAAA;AAAEE,IAAAA,wBAAwB,GAAAF,UAAA,CAAA,CAAA,CAAA,CAAA;AAEtD,EAAA,IAAMG,WAAW,GAAG3C,KAAK,IAAIuB,QAAQ,CAAA;EAErC,IAAI,CAACP,QAAQ,EAAE;AACb,IAAA,IAAIV,EAAE,EAAE;AACNuB,MAAAA,MAAM,GAAGe,IAAI,CAAA;AACbd,MAAAA,oBAAoB,GAAG;AAAExB,QAAAA,EAAE,EAAFA,EAAAA;OAAI,CAAA;KAC9B,MAAM,IAAIc,IAAI,EAAE;AACfS,MAAAA,MAAM,GAAG,GAAG,CAAA;AACZC,MAAAA,oBAAoB,GAAG;AAAEV,QAAAA,IAAI,EAAJA,IAAAA;OAAM,CAAA;AACjC,KAAA;AACF,GAAA;AAEAyB,EAAAA,SAAS,CAAC,YAAM;IACd,IAAI,CAAC3C,OAAO,EAAE,OAAA;IAEdoC,iBAAiB,CAAC,IAAI,CAAC,CAAA;AACzB,GAAC,EAAE,CAACpC,OAAO,CAAC,CAAC,CAAA;AAEb2C,EAAAA,SAAS,CAAC,YAAM;AACd,IAAA,IAAI3C,OAAO,IAAI,CAACmC,cAAc,EAAE,OAAA;AAEhC,IAAA,IAAIA,cAAc,IAAI,CAACb,MAAM,EAAE;MAC7Bc,iBAAiB,CAAC,KAAK,CAAC,CAAA;AAExB,MAAA,OAAA;AACF,KAAA;IAEAI,wBAAwB,CAAC,IAAI,CAAC,CAAA;IAC9BJ,iBAAiB,CAAC,KAAK,CAAC,CAAA;AACxBP,IAAAA,wBAAwB,CAACe,OAAO,GAAGC,UAAU,CAAC,YAAM;MAClDL,wBAAwB,CAAC,KAAK,CAAC,CAAA;AAC/BjB,MAAAA,aAAa,KAAbA,IAAAA,IAAAA,aAAa,KAAbA,KAAAA,CAAAA,IAAAA,aAAa,EAAI,CAAA;KAClB,EAAE,IAAI,CAAC,CAAA;AACV,GAAC,EAAE,CAACY,cAAc,EAAEnC,OAAO,CAAC,CAAC,CAAA;EAE7B,IAAI8C,YAAY,GAAG,IAAI,CAAA;EACvB,IAAIxB,MAAM,KAAKtC,MAAM,CAACC,OAAO,EAAE6D,YAAY,GAAGpF,QAAQ,CAAA;EAEtD,IAAI4D,MAAM,KAAKtC,MAAM,CAACE,KAAK,EAAE4D,YAAY,GAAGC,KAAK,CAAA;AAEjD,EAAA,IAAMC,WAAW,GAAG,SAAdA,WAAWA,CAAGC,CAAC,EAAI;IACvB,IAAIjD,OAAO,IAAIc,QAAQ,EAAE,OAAA;IACzB0B,wBAAwB,CAAC,KAAK,CAAC,CAAA;AAC/BU,IAAAA,YAAY,CAACrB,wBAAwB,CAACe,OAAO,CAAC,CAAA;IAC9C1C,OAAO,CAAC+C,CAAC,CAAC,CAAA;GACX,CAAA;AAED,EAAA,IAAME,IAAI,GACR,OAAO3D,IAAI,KAAK,QAAQ,GACpB,YAAA;IAAA,oBACE7B,cAAA,CAAAC,aAAA,CAAA,GAAA,EAAA;MACEgD,SAAS,EAAEwC,UAAU,CAAC,oBAAoB,EAAE,CAAC5D,IAAI,CAAC,CAAE;MACpD,aAAY,EAAA,YAAA;KACZ,CAAA,CAAA;AAAA,GACH,GACDA,IAAI,IAAI7B,cAAK,CAAC0F,QAAQ,CAAA;EAE5B,IAAMC,sBAAsB,GAC1BtD,OAAO,IAAImC,cAAc,IAAKI,qBAAqB,IAAIjB,MAAO,CAAA;AAEhE,EAAA,oBACE3D,cAAA,CAAAC,aAAA,CAAC2F,OAAO,EAAAC,QAAA,CAAA;AAAC1C,IAAAA,QAAQ,EAAE,CAACM,YAAAA;GAAkBA,EAAAA,YAAY,gBAChDzD,cAAA,CAAAC,aAAA,CAAC+D,MAAM,EAAA6B,QAAA,CAAA;IACL5C,SAAS,EAAEwC,UAAU,CAAC,cAAc,EAAE,CAACxC,SAAS,CAAC,EAAE;AACjD,MAAA,6BAA6B,EAAEJ,KAAK,KAAK3C,aAAa,CAACC,OAAO;AAC9D,MAAA,+BAA+B,EAAE0C,KAAK,KAAK3C,aAAa,CAACE,SAAS;AAClE,MAAA,8BAA8B,EAAEyC,KAAK,KAAK3C,aAAa,CAACG,QAAQ;AAChE,MAAA,4BAA4B,EAAEwC,KAAK,KAAK3C,aAAa,CAACI,MAAM;AAC5D,MAAA,iCAAiC,EAC/BuC,KAAK,KAAK3C,aAAa,CAACK,WAAW;AACrC,MAAA,0BAA0B,EAAEsC,KAAK,KAAK3C,aAAa,CAACM,IAAI;AACxD,MAAA,0BAA0B,EAAEqC,KAAK,KAAK3C,aAAa,CAACO,IAAI;AACxD,MAAA,2BAA2B,EAAE4C,IAAI,KAAK3C,KAAK,CAACE,MAAM;AAClD,MAAA,0BAA0B,EAAEyC,IAAI,KAAK3C,KAAK,CAACG,KAAK;AAChD,MAAA,0BAA0B,EAAEkC,SAAS;AACrC,MAAA,yBAAyB,EAAEhB,YAAY,KAAKjB,cAAc,CAACC,IAAI;MAC/D,yBAAyB,EAAE,CAAC+D,WAAW;AACvC,MAAA,gCAAgC,EAAEa,sBAAsB;AACxDxC,MAAAA,QAAQ,EAARA,QAAAA;AACF,KAAC,CAAE;AACHZ,IAAAA,OAAO,EAAE8C,WAAAA;GAAYS,EAAAA,aAAA,CAAAA,aAAA,CAAA;AACf3C,IAAAA,QAAQ,EAARA,QAAQ;AAAExB,IAAAA,GAAG,EAAHA,GAAAA;GAAQsC,EAAAA,oBAAoB,GAAKJ,UAAU,CAAA,CAAA,EAE1DiB,WAAW,iBACV9E,cAAA,CAAAC,aAAA,CAAA,MAAA,EAAA;AAAMgD,IAAAA,SAAS,EAAC,qBAAA;GAAuB6B,EAAAA,WAAW,CACnD,EACAjD,IAAI,iBACH7B,cAAA,CAAAC,aAAA,CAACuF,IAAI,EAAA;AACH,IAAA,aAAA,EAAY,MAAM;AAClBvC,IAAAA,SAAS,EAAC,oBAAoB;AAC9BI,IAAAA,IAAI,EAAEpB,QAAAA;AAAS,GAAA,CAElB,EACAI,OAAO,iBACNrC,cAAA,CAAAC,aAAA,CAAA,MAAA,EAAA;AAAMgD,IAAAA,SAAS,EAAC,6BAAA;AAA6B,GAAA,eAC3CjD,cAAA,CAAAC,aAAA,CAAC8F,OAAO,EAAA;AAAC,IAAA,aAAA,EAAY,MAAM;AAAC1C,IAAAA,IAAI,EAAC,OAAA;GAAU,CAAA,CAE9C,EACAuB,qBAAqB,IAAIjB,MAAM,iBAC9B3D,cAAA,CAAAC,aAAA,CAAA,MAAA,EAAA;AAAMgD,IAAAA,SAAS,EAAC,6BAAA;AAA6B,GAAA,eAC3CjD,cAAA,CAAAC,aAAA,CAACkF,YAAY,EAAA;AAAC,IAAA,aAAA,EAAY,MAAM;AAAC9B,IAAAA,IAAI,EAAC,IAAA;GAAO,CAAA,CAEhD,CACM,CACD,CAAA;AAEd,CAAC,EACF;AAED7B,MAAM,CAACwE,WAAW,GAAG,QAAQ;;;;"}
@@ -25,7 +25,7 @@ import 'react-colorful';
25
25
  import './tinycolor-282c618c.js';
26
26
  import './Dropdown.js';
27
27
  import './index-abadd6e9.js';
28
- export { D as default } from './index-78e488c9.js';
28
+ export { D as default } from './index-fd0e5fa5.js';
29
29
  import './Input.js';
30
30
  import './Label.js';
31
31
  import './MultiEmailInput.js';
@@ -34,7 +34,7 @@ import './useId-c1d20bba.js';
34
34
  import '@bigbinary/neeto-hotkeys';
35
35
  import './overlayManager.js';
36
36
  import 'qs';
37
- import './Textarea-e2cdbeb5.js';
37
+ import './Textarea-67a30930.js';
38
38
  import '@babel/runtime/helpers/toConsumableArray';
39
39
  import './Pane.js';
40
40
  import './Popover.js';
@@ -69,7 +69,7 @@ import './Switch.js';
69
69
  import './Tab.js';
70
70
  import 'antd/lib/table';
71
71
  import 'react-drag-listview';
72
- import './HeaderCellMenu-85af6d2a.js';
72
+ import './HeaderCellMenu-85777f9d.js';
73
73
  import 'react-resizable';
74
74
  import './Tag.js';
75
75
  import './Toastr.js';
@@ -198,4 +198,4 @@ var HeaderCellMenu = function HeaderCellMenu(_ref) {
198
198
  };
199
199
 
200
200
  export { HeaderCellMenu as H, SELECT_ALL_ROWS_CALLOUT_MOBILE_HEIGHT as S, TABLE_SORT_ORDERS as T, URL_SORT_ORDERS as U, SELECT_ALL_ROWS_CALLOUT_DESKTOP_HEIGHT as a, useRestoreScrollPosition as u };
201
- //# sourceMappingURL=HeaderCellMenu-85af6d2a.js.map
201
+ //# sourceMappingURL=HeaderCellMenu-85777f9d.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"HeaderCellMenu-85af6d2a.js","sources":["../src/hooks/useFuncDebounce.js","../src/components/Table/constants.js","../src/components/Table/hooks/useRestoreScrollPosition.js","../src/components/Table/components/HeaderCell/HeaderCellMenu.jsx"],"sourcesContent":["import { useRef } from \"react\";\n\nconst useFuncDebounce = (func, delay = 350) => {\n const timer = useRef(null);\n const debouncedFunc = (...args) => {\n clearTimeout(timer.current);\n timer.current = setTimeout(() => func(...args), delay);\n };\n debouncedFunc.cancel = () => clearTimeout(timer.current);\n\n return debouncedFunc;\n};\n\nexport default useFuncDebounce;\n","export const URL_SORT_ORDERS = { ascend: \"asc\", descend: \"desc\" };\n\nexport const TABLE_SORT_ORDERS = { asc: \"ascend\", desc: \"descend\" };\n\nexport const COLUMN_ADD_DIRECTION = { left: 0, right: 1 };\n\nexport const SELECT_ALL_ROWS_CALLOUT_DESKTOP_HEIGHT = 57;\nexport const SELECT_ALL_ROWS_CALLOUT_MOBILE_HEIGHT = 78;\n","import { useEffect } from \"react\";\n\nimport { assocPath, isNil, prop } from \"ramda\";\nimport { create } from \"zustand\";\n\nimport useFuncDebounce from \"hooks/useFuncDebounce\";\n\nexport const useScrollStore = create(set => ({\n scrollPositions: {},\n setScrollPosition: (key, position) =>\n set(assocPath([\"scrollPositions\", key], position)),\n}));\n\nexport const useRestoreScrollPosition = ({ tableRef, scrollRef, loading }) => {\n const key = window.location.pathname;\n const scrollPositions = useScrollStore(prop(\"scrollPositions\"));\n const setScrollPosition = useScrollStore(prop(\"setScrollPosition\"));\n\n useEffect(() => {\n if (loading) {\n setScrollPosition(key, 0);\n\n return;\n }\n\n if (scrollRef.current === null || isNil(scrollPositions[key])) return;\n\n setTimeout(() => {\n const position = scrollPositions[key];\n const config = position === 0 ? { index: 0 } : { top: position };\n scrollRef.current?.scrollTo(config);\n });\n }, [key, tableRef, loading]);\n\n const handleScroll = useFuncDebounce(event => {\n setScrollPosition(key, parseInt(event.target.scrollTop));\n });\n\n return { handleScroll };\n};\n","import React, { useRef } from \"react\";\n\nimport { isPresent } from \"neetocist\";\nimport { Check, MenuHorizontal } from \"neetoicons\";\nimport { useTranslation } from \"react-i18next\";\n\nimport Dropdown from \"components/Dropdown\";\nimport Popover from \"components/Popover\";\nimport {\n COLUMN_ADD_DIRECTION,\n TABLE_SORT_ORDERS,\n} from \"components/Table/constants\";\nimport Typography from \"components/Typography\";\nimport { getLocale } from \"utils\";\n\nconst { Menu, MenuItem } = Dropdown;\n\nconst HeaderCellMenu = ({\n onSort,\n column = {},\n sortedInfo,\n isSortable,\n isAddEnabled,\n isColumnDeletable,\n isHidable,\n onColumnHide,\n onAddColumn,\n onColumnDelete,\n hasMoreActions,\n onMoreActionClick,\n columnTitle = null,\n moreActions = [],\n}) => {\n const { t, i18n } = useTranslation();\n const columnInfoButtonReference = useRef();\n\n return (\n <div onClick={event => event.stopPropagation()}>\n <Dropdown\n appendTo={() => document.body}\n className=\"flex\"\n icon={MenuHorizontal}\n position=\"auto\"\n strategy=\"fixed\"\n buttonProps={{\n className: \"min-h-0 flex-shrink-0\",\n style: \"text\",\n size: \"medium\",\n \"data-testid\": \"column-menu-button\",\n \"data-dropdown-button-style\": \"more-dropdown\",\n }}\n >\n <Menu\n className=\"cursor-auto\"\n onMouseDown={event => event.preventDefault()}\n >\n {isSortable && (\n <>\n <MenuItem.Button\n className=\"flex items-center justify-between\"\n onClick={() =>\n onSort({\n column,\n columnKey: column.key,\n field: column.dataIndex || column.key,\n order: TABLE_SORT_ORDERS.asc,\n })\n }\n >\n <span>{getLocale(i18n, t, \"neetoui.table.ascending\")}</span>\n {sortedInfo.order === TABLE_SORT_ORDERS.asc &&\n sortedInfo.field === column.dataIndex && (\n <Check className=\"neeto-ui-text-success-500\" size={20} />\n )}\n </MenuItem.Button>\n <MenuItem.Button\n className=\"flex items-center justify-between\"\n onClick={() =>\n onSort({\n column,\n columnKey: column.key,\n field: column.dataIndex,\n order: TABLE_SORT_ORDERS.desc,\n })\n }\n >\n <span>{getLocale(i18n, t, \"neetoui.table.descending\")}</span>\n {sortedInfo.order === TABLE_SORT_ORDERS.desc &&\n sortedInfo.field === column.dataIndex && (\n <Check className=\"neeto-ui-text-success-500\" size={20} />\n )}\n </MenuItem.Button>\n </>\n )}\n {isAddEnabled && (\n <>\n <MenuItem.Button\n onClick={() => onAddColumn(COLUMN_ADD_DIRECTION.right)}\n >\n {getLocale(i18n, t, \"neetoui.table.insertColRight\")}\n </MenuItem.Button>\n <MenuItem.Button\n onClick={() => onAddColumn(COLUMN_ADD_DIRECTION.left)}\n >\n {getLocale(i18n, t, \"neetoui.table.insertColLeft\")}\n </MenuItem.Button>\n </>\n )}\n {isPresent(column?.description) && (\n <>\n <MenuItem.Button ref={columnInfoButtonReference}>\n {getLocale(i18n, t, \"neetoui.table.columnInfo\")}\n </MenuItem.Button>\n <Popover\n className=\"cursor-auto\"\n hideOnClick={false}\n interactiveDebounce={20}\n offset={[0, 15]}\n position=\"right\"\n reference={columnInfoButtonReference}\n strategy=\"fixed\"\n >\n {columnTitle && <Popover.Title>{columnTitle}</Popover.Title>}\n <Typography\n className=\"w-72 max-w-full whitespace-normal normal-case\"\n lineHeight=\"normal\"\n style=\"body2\"\n weight=\"normal\"\n >\n {column?.description}\n </Typography>\n </Popover>\n </>\n )}\n {isHidable && (\n <MenuItem.Button onClick={() => onColumnHide(column)}>\n {getLocale(i18n, t, \"neetoui.table.hideColumn\")}\n </MenuItem.Button>\n )}\n {isColumnDeletable && (\n <MenuItem.Button onClick={() => onColumnDelete(column.id)}>\n {getLocale(i18n, t, \"neetoui.table.deleteColumn\")}\n </MenuItem.Button>\n )}\n {hasMoreActions &&\n moreActions.map((item, index) => (\n <MenuItem.Button\n key={index}\n onClick={() => onMoreActionClick(item.type, column)}\n >\n {item.label}\n </MenuItem.Button>\n ))}\n </Menu>\n </Dropdown>\n </div>\n );\n};\n\nexport default HeaderCellMenu;\n"],"names":["useFuncDebounce","func","delay","arguments","length","undefined","timer","useRef","debouncedFunc","_len","args","Array","_key","clearTimeout","current","setTimeout","apply","cancel","URL_SORT_ORDERS","ascend","descend","TABLE_SORT_ORDERS","asc","desc","COLUMN_ADD_DIRECTION","left","right","SELECT_ALL_ROWS_CALLOUT_DESKTOP_HEIGHT","SELECT_ALL_ROWS_CALLOUT_MOBILE_HEIGHT","useScrollStore","create","set","scrollPositions","setScrollPosition","key","position","assocPath","useRestoreScrollPosition","_ref","tableRef","scrollRef","loading","window","location","pathname","prop","useEffect","isNil","_scrollRef$current","config","index","top","scrollTo","handleScroll","event","parseInt","target","scrollTop","Menu","Dropdown","MenuItem","HeaderCellMenu","onSort","_ref$column","column","sortedInfo","isSortable","isAddEnabled","isColumnDeletable","isHidable","onColumnHide","onAddColumn","onColumnDelete","hasMoreActions","onMoreActionClick","_ref$columnTitle","columnTitle","_ref$moreActions","moreActions","_useTranslation","useTranslation","t","i18n","columnInfoButtonReference","React","createElement","onClick","stopPropagation","appendTo","document","body","className","icon","MenuHorizontal","strategy","buttonProps","style","size","onMouseDown","preventDefault","Fragment","Button","columnKey","field","dataIndex","order","getLocale","Check","isPresent","description","ref","Popover","hideOnClick","interactiveDebounce","offset","reference","Title","Typography","lineHeight","weight","id","map","item","type","label"],"mappings":"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"}
1
+ {"version":3,"file":"HeaderCellMenu-85777f9d.js","sources":["../src/hooks/useFuncDebounce.js","../src/components/Table/constants.js","../src/components/Table/hooks/useRestoreScrollPosition.js","../src/components/Table/components/HeaderCell/HeaderCellMenu.jsx"],"sourcesContent":["import { useRef } from \"react\";\n\nconst useFuncDebounce = (func, delay = 350) => {\n const timer = useRef(null);\n const debouncedFunc = (...args) => {\n clearTimeout(timer.current);\n timer.current = setTimeout(() => func(...args), delay);\n };\n debouncedFunc.cancel = () => clearTimeout(timer.current);\n\n return debouncedFunc;\n};\n\nexport default useFuncDebounce;\n","export const URL_SORT_ORDERS = { ascend: \"asc\", descend: \"desc\" };\n\nexport const TABLE_SORT_ORDERS = { asc: \"ascend\", desc: \"descend\" };\n\nexport const COLUMN_ADD_DIRECTION = { left: 0, right: 1 };\n\nexport const SELECT_ALL_ROWS_CALLOUT_DESKTOP_HEIGHT = 57;\nexport const SELECT_ALL_ROWS_CALLOUT_MOBILE_HEIGHT = 78;\n","import { useEffect } from \"react\";\n\nimport { assocPath, isNil, prop } from \"ramda\";\nimport { create } from \"zustand\";\n\nimport useFuncDebounce from \"hooks/useFuncDebounce\";\n\nexport const useScrollStore = create(set => ({\n scrollPositions: {},\n setScrollPosition: (key, position) =>\n set(assocPath([\"scrollPositions\", key], position)),\n}));\n\nexport const useRestoreScrollPosition = ({ tableRef, scrollRef, loading }) => {\n const key = window.location.pathname;\n const scrollPositions = useScrollStore(prop(\"scrollPositions\"));\n const setScrollPosition = useScrollStore(prop(\"setScrollPosition\"));\n\n useEffect(() => {\n if (loading) {\n setScrollPosition(key, 0);\n\n return;\n }\n\n if (scrollRef.current === null || isNil(scrollPositions[key])) return;\n\n setTimeout(() => {\n const position = scrollPositions[key];\n const config = position === 0 ? { index: 0 } : { top: position };\n scrollRef.current?.scrollTo(config);\n });\n }, [key, tableRef, loading]);\n\n const handleScroll = useFuncDebounce(event => {\n setScrollPosition(key, parseInt(event.target.scrollTop));\n });\n\n return { handleScroll };\n};\n","import React, { useRef } from \"react\";\n\nimport { isPresent } from \"neetocist\";\nimport { Check, MenuHorizontal } from \"neetoicons\";\nimport { useTranslation } from \"react-i18next\";\n\nimport Dropdown from \"components/Dropdown\";\nimport Popover from \"components/Popover\";\nimport {\n COLUMN_ADD_DIRECTION,\n TABLE_SORT_ORDERS,\n} from \"components/Table/constants\";\nimport Typography from \"components/Typography\";\nimport { getLocale } from \"utils\";\n\nconst { Menu, MenuItem } = Dropdown;\n\nconst HeaderCellMenu = ({\n onSort,\n column = {},\n sortedInfo,\n isSortable,\n isAddEnabled,\n isColumnDeletable,\n isHidable,\n onColumnHide,\n onAddColumn,\n onColumnDelete,\n hasMoreActions,\n onMoreActionClick,\n columnTitle = null,\n moreActions = [],\n}) => {\n const { t, i18n } = useTranslation();\n const columnInfoButtonReference = useRef();\n\n return (\n <div onClick={event => event.stopPropagation()}>\n <Dropdown\n appendTo={() => document.body}\n className=\"flex\"\n icon={MenuHorizontal}\n position=\"auto\"\n strategy=\"fixed\"\n buttonProps={{\n className: \"min-h-0 flex-shrink-0\",\n style: \"text\",\n size: \"medium\",\n \"data-testid\": \"column-menu-button\",\n \"data-dropdown-button-style\": \"more-dropdown\",\n }}\n >\n <Menu\n className=\"cursor-auto\"\n onMouseDown={event => event.preventDefault()}\n >\n {isSortable && (\n <>\n <MenuItem.Button\n className=\"flex items-center justify-between\"\n onClick={() =>\n onSort({\n column,\n columnKey: column.key,\n field: column.dataIndex || column.key,\n order: TABLE_SORT_ORDERS.asc,\n })\n }\n >\n <span>{getLocale(i18n, t, \"neetoui.table.ascending\")}</span>\n {sortedInfo.order === TABLE_SORT_ORDERS.asc &&\n sortedInfo.field === column.dataIndex && (\n <Check className=\"neeto-ui-text-success-500\" size={20} />\n )}\n </MenuItem.Button>\n <MenuItem.Button\n className=\"flex items-center justify-between\"\n onClick={() =>\n onSort({\n column,\n columnKey: column.key,\n field: column.dataIndex,\n order: TABLE_SORT_ORDERS.desc,\n })\n }\n >\n <span>{getLocale(i18n, t, \"neetoui.table.descending\")}</span>\n {sortedInfo.order === TABLE_SORT_ORDERS.desc &&\n sortedInfo.field === column.dataIndex && (\n <Check className=\"neeto-ui-text-success-500\" size={20} />\n )}\n </MenuItem.Button>\n </>\n )}\n {isAddEnabled && (\n <>\n <MenuItem.Button\n onClick={() => onAddColumn(COLUMN_ADD_DIRECTION.right)}\n >\n {getLocale(i18n, t, \"neetoui.table.insertColRight\")}\n </MenuItem.Button>\n <MenuItem.Button\n onClick={() => onAddColumn(COLUMN_ADD_DIRECTION.left)}\n >\n {getLocale(i18n, t, \"neetoui.table.insertColLeft\")}\n </MenuItem.Button>\n </>\n )}\n {isPresent(column?.description) && (\n <>\n <MenuItem.Button ref={columnInfoButtonReference}>\n {getLocale(i18n, t, \"neetoui.table.columnInfo\")}\n </MenuItem.Button>\n <Popover\n className=\"cursor-auto\"\n hideOnClick={false}\n interactiveDebounce={20}\n offset={[0, 15]}\n position=\"right\"\n reference={columnInfoButtonReference}\n strategy=\"fixed\"\n >\n {columnTitle && <Popover.Title>{columnTitle}</Popover.Title>}\n <Typography\n className=\"w-72 max-w-full whitespace-normal normal-case\"\n lineHeight=\"normal\"\n style=\"body2\"\n weight=\"normal\"\n >\n {column?.description}\n </Typography>\n </Popover>\n </>\n )}\n {isHidable && (\n <MenuItem.Button onClick={() => onColumnHide(column)}>\n {getLocale(i18n, t, \"neetoui.table.hideColumn\")}\n </MenuItem.Button>\n )}\n {isColumnDeletable && (\n <MenuItem.Button onClick={() => onColumnDelete(column.id)}>\n {getLocale(i18n, t, \"neetoui.table.deleteColumn\")}\n </MenuItem.Button>\n )}\n {hasMoreActions &&\n moreActions.map((item, index) => (\n <MenuItem.Button\n key={index}\n onClick={() => onMoreActionClick(item.type, column)}\n >\n {item.label}\n </MenuItem.Button>\n ))}\n </Menu>\n </Dropdown>\n </div>\n );\n};\n\nexport default HeaderCellMenu;\n"],"names":["useFuncDebounce","func","delay","arguments","length","undefined","timer","useRef","debouncedFunc","_len","args","Array","_key","clearTimeout","current","setTimeout","apply","cancel","URL_SORT_ORDERS","ascend","descend","TABLE_SORT_ORDERS","asc","desc","COLUMN_ADD_DIRECTION","left","right","SELECT_ALL_ROWS_CALLOUT_DESKTOP_HEIGHT","SELECT_ALL_ROWS_CALLOUT_MOBILE_HEIGHT","useScrollStore","create","set","scrollPositions","setScrollPosition","key","position","assocPath","useRestoreScrollPosition","_ref","tableRef","scrollRef","loading","window","location","pathname","prop","useEffect","isNil","_scrollRef$current","config","index","top","scrollTo","handleScroll","event","parseInt","target","scrollTop","Menu","Dropdown","MenuItem","HeaderCellMenu","onSort","_ref$column","column","sortedInfo","isSortable","isAddEnabled","isColumnDeletable","isHidable","onColumnHide","onAddColumn","onColumnDelete","hasMoreActions","onMoreActionClick","_ref$columnTitle","columnTitle","_ref$moreActions","moreActions","_useTranslation","useTranslation","t","i18n","columnInfoButtonReference","React","createElement","onClick","stopPropagation","appendTo","document","body","className","icon","MenuHorizontal","strategy","buttonProps","style","size","onMouseDown","preventDefault","Fragment","Button","columnKey","field","dataIndex","order","getLocale","Check","isPresent","description","ref","Popover","hideOnClick","interactiveDebounce","offset","reference","Title","Typography","lineHeight","weight","id","map","item","type","label"],"mappings":"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"}
package/dist/Table.js CHANGED
@@ -20,7 +20,7 @@ import { u as useQueryParams } from './useQueryParams-dcb34865.js';
20
20
  import Button from './Button.js';
21
21
  import Callout from './Callout.js';
22
22
  import Typography from './Typography.js';
23
- import { T as TABLE_SORT_ORDERS, U as URL_SORT_ORDERS, H as HeaderCellMenu, S as SELECT_ALL_ROWS_CALLOUT_MOBILE_HEIGHT, a as SELECT_ALL_ROWS_CALLOUT_DESKTOP_HEIGHT, u as useRestoreScrollPosition } from './HeaderCellMenu-85af6d2a.js';
23
+ import { T as TABLE_SORT_ORDERS, U as URL_SORT_ORDERS, H as HeaderCellMenu, S as SELECT_ALL_ROWS_CALLOUT_MOBILE_HEIGHT, a as SELECT_ALL_ROWS_CALLOUT_DESKTOP_HEIGHT, u as useRestoreScrollPosition } from './HeaderCellMenu-85777f9d.js';
24
24
  import _toConsumableArray from '@babel/runtime/helpers/toConsumableArray';
25
25
  import { Resizable } from 'react-resizable';
26
26
  import Spinner from './Spinner.js';
@@ -160,4 +160,4 @@ var Textarea = /*#__PURE__*/forwardRef(function (_ref, ref) {
160
160
  Textarea.displayName = "Textarea";
161
161
 
162
162
  export { Textarea as T, useSyncedRef as u };
163
- //# sourceMappingURL=Textarea-e2cdbeb5.js.map
163
+ //# sourceMappingURL=Textarea-67a30930.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Textarea-e2cdbeb5.js","sources":["../src/hooks/useSyncedRef.js","../src/components/Textarea.jsx"],"sourcesContent":["import { useEffect, useRef } from \"react\";\n\nconst useSyncedRef = ref => {\n const innerRef = useRef();\n\n useEffect(() => {\n if (!ref) return;\n\n if (typeof ref === \"function\") {\n ref(innerRef.current);\n } else {\n ref.current = innerRef.current;\n }\n });\n\n return innerRef;\n};\n\nexport default useSyncedRef;\n","import React, { useState, useEffect, forwardRef } from \"react\";\n\nimport classnames from \"classnames\";\nimport PropTypes from \"prop-types\";\n\nimport { useSyncedRef, useId } from \"hooks\";\nimport { hyphenize } from \"utils\";\n\nimport Label from \"./Label\";\n\nconst SIZES = { small: \"small\", medium: \"medium\", large: \"large\" };\n\nconst ROWS = { small: 1, medium: 3, large: 4 };\n\nconst RESIZE = { vertical: \"vertical\", none: \"none\" };\n\nconst Textarea = forwardRef(\n (\n {\n size = SIZES.medium,\n resize = RESIZE.vertical,\n suffix = null,\n prefix = null,\n disabled = false,\n required = false,\n nakedTextarea = false,\n helpText = \"\",\n error = \"\",\n label = \"\",\n className = \"\",\n maxLength,\n unlimitedChars = false,\n labelProps,\n onBlur,\n disableTrimOnBlur = false,\n ...otherProps\n },\n ref\n ) => {\n const [valueInternal, setValueInternal] = useState(\"\");\n\n const value = otherProps.value ?? valueInternal ?? \"\";\n\n const id = useId(otherProps.id);\n const errorId = `error_${id}`;\n const helpTextId = `helpText_${id}`;\n const textareaRef = useSyncedRef(ref);\n\n const valueLength = value?.toString().length || 0;\n const isCharacterLimitVisible = valueLength >= maxLength * 0.85;\n const maxLengthError = unlimitedChars && valueLength > maxLength;\n\n const onChangeInternal = e => setValueInternal(e.target.value);\n const onChange = otherProps.onChange ?? onChangeInternal;\n const isMaxLengthPresent = !!maxLength || maxLength === 0;\n\n useEffect(() => {\n textareaRef.current.style.minHeight = \"22px\";\n textareaRef.current.style.height = \"auto\";\n const scrollHeight = textareaRef.current.scrollHeight;\n textareaRef.current.style.height = `${scrollHeight + 1}px`;\n }, [value]);\n\n const handleTrimmedChangeOnBlur = e => {\n if (disableTrimOnBlur || typeof value !== \"string\") return;\n\n const trimmedValue = value.trim();\n if (value === trimmedValue) return;\n\n e.target.value = trimmedValue;\n onChange(e);\n };\n\n const handleOnBlur = e => {\n handleTrimmedChangeOnBlur(e);\n onBlur?.(e);\n };\n\n return (\n <div className={classnames([\"neeto-ui-input__wrapper\", className])}>\n <div className=\"neeto-ui-input__label-wrapper\">\n {label && (\n <Label\n {...{ required }}\n data-cy={`${hyphenize(label)}-label`}\n htmlFor={id}\n {...labelProps}\n >\n {label}\n </Label>\n )}\n {isCharacterLimitVisible && (\n <p\n className={classnames(\"neeto-ui-input__max-length\", {\n \"neeto-ui-input__max-length--error\": maxLengthError,\n })}\n >\n {valueLength}/{maxLength}\n </p>\n )}\n </div>\n <div\n data-cy={`${hyphenize(label)}-text-input`}\n className={classnames(\"neeto-ui-input\", \"neeto-ui-input--textarea\", {\n \"neeto-ui-input--error\": !!error,\n \"neeto-ui-input--disabled\": !!disabled,\n \"neeto-ui-input--naked\": !!nakedTextarea,\n \"neeto-ui-input--small\": size === SIZES.small,\n \"neeto-ui-input--medium\": size === SIZES.medium,\n \"neeto-ui-input--large\": size === SIZES.large,\n \"neeto-ui-input--resize--vertical\": resize === RESIZE.vertical,\n \"neeto-ui-input--resize--none\": resize === RESIZE.none,\n })}\n >\n {prefix && <div className=\"neeto-ui-input__prefix\">{prefix}</div>}\n <textarea\n ref={textareaRef}\n rows={ROWS[size]}\n {...{\n disabled,\n ...(isMaxLengthPresent && !unlimitedChars && { maxLength }),\n ...otherProps,\n onChange,\n value,\n }}\n onBlur={handleOnBlur}\n />\n {suffix && <div className=\"neeto-ui-input__suffix\">{suffix}</div>}\n </div>\n {!!error && (\n <p\n className=\"neeto-ui-input__error\"\n data-cy={`${hyphenize(label)}-input-error`}\n id={errorId}\n >\n {error}\n </p>\n )}\n {helpText && (\n <p className=\"neeto-ui-input__help-text\" id={helpTextId}>\n {helpText}\n </p>\n )}\n </div>\n );\n }\n);\n\nTextarea.displayName = \"Textarea\";\n\nTextarea.propTypes = {\n /**\n * To specify the row height of the Textarea.\n */\n rows: PropTypes.number,\n /**\n * To specify the size of Textarea.\n */\n size: PropTypes.oneOf(Object.values(SIZES)),\n /**\n * To specify the label shown above the Textarea.\n */\n label: PropTypes.string,\n /**\n * To specify the label props to be passed to the Label component.\n */\n labelProps: PropTypes.object,\n /**\n * To provide the value of the Textarea.\n */\n value: PropTypes.string,\n /**\n * To provide the error message shown below the Textarea.\n */\n error: PropTypes.string,\n /**\n * To provide the placeholder text for the Textarea.\n */\n placeholder: PropTypes.string,\n /**\n * To specify whether the Textarea is required.\n */\n required: PropTypes.bool,\n /**\n * To specify whether the Textarea is disabled.\n */\n disabled: PropTypes.bool,\n /**\n * To provide additional classnames to the Textarea container.\n */\n className: PropTypes.string,\n /**\n * The resize property sets whether the Textarea is resizable.\n */\n resize: PropTypes.oneOf(Object.values(RESIZE)),\n /**\n * To specify the text that appears below the Textarea.\n */\n helpText: PropTypes.string,\n /**\n * To create a Textarea without any borders.\n */\n nakedTextarea: PropTypes.bool,\n /**\n * To specify a maximum character limit to the Textarea. Charater limit is visible only if the Textarea value is greater than or equal to 85% of the maximum character limit.\n */\n maxLength: PropTypes.number,\n /**\n * To be used along with maxLength prop. When set to true the character limit will not be enforced and character count will be shown in error state if the character limit is exceeded.\n */\n unlimitedChars: PropTypes.bool,\n /**\n * To specify the content to be added at the end of the Textarea.\n */\n suffix: PropTypes.node,\n /**\n * To specify the content to be added at the beginning of the Textarea.\n */\n prefix: PropTypes.node,\n /**\n * To disable leading and trailing white spaces onBlur.\n */\n disableTrimOnBlur: PropTypes.bool,\n};\n\nexport default Textarea;\n"],"names":["useSyncedRef","ref","innerRef","useRef","useEffect","current","SIZES","small","medium","large","ROWS","RESIZE","vertical","none","Textarea","forwardRef","_ref","_ref2","_otherProps$value","_otherProps$onChange","_ref$size","size","_ref$resize","resize","_ref$suffix","suffix","_ref$prefix","prefix","_ref$disabled","disabled","_ref$required","required","_ref$nakedTextarea","nakedTextarea","_ref$helpText","helpText","_ref$error","error","_ref$label","label","_ref$className","className","maxLength","_ref$unlimitedChars","unlimitedChars","labelProps","onBlur","_ref$disableTrimOnBlu","disableTrimOnBlur","otherProps","_objectWithoutProperties","_excluded","_useState","useState","_useState2","_slicedToArray","valueInternal","setValueInternal","value","id","useId","errorId","concat","helpTextId","textareaRef","valueLength","toString","length","isCharacterLimitVisible","maxLengthError","onChangeInternal","e","target","onChange","isMaxLengthPresent","style","minHeight","height","scrollHeight","handleTrimmedChangeOnBlur","trimmedValue","trim","handleOnBlur","React","createElement","classnames","Label","_extends","hyphenize","htmlFor","rows","_objectSpread","displayName"],"mappings":"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"}
1
+ {"version":3,"file":"Textarea-67a30930.js","sources":["../src/hooks/useSyncedRef.js","../src/components/Textarea.jsx"],"sourcesContent":["import { useEffect, useRef } from \"react\";\n\nconst useSyncedRef = ref => {\n const innerRef = useRef();\n\n useEffect(() => {\n if (!ref) return;\n\n if (typeof ref === \"function\") {\n ref(innerRef.current);\n } else {\n ref.current = innerRef.current;\n }\n });\n\n return innerRef;\n};\n\nexport default useSyncedRef;\n","import React, { useState, useEffect, forwardRef } from \"react\";\n\nimport classnames from \"classnames\";\nimport PropTypes from \"prop-types\";\n\nimport { useSyncedRef, useId } from \"hooks\";\nimport { hyphenize } from \"utils\";\n\nimport Label from \"./Label\";\n\nconst SIZES = { small: \"small\", medium: \"medium\", large: \"large\" };\n\nconst ROWS = { small: 1, medium: 3, large: 4 };\n\nconst RESIZE = { vertical: \"vertical\", none: \"none\" };\n\nconst Textarea = forwardRef(\n (\n {\n size = SIZES.medium,\n resize = RESIZE.vertical,\n suffix = null,\n prefix = null,\n disabled = false,\n required = false,\n nakedTextarea = false,\n helpText = \"\",\n error = \"\",\n label = \"\",\n className = \"\",\n maxLength,\n unlimitedChars = false,\n labelProps,\n onBlur,\n disableTrimOnBlur = false,\n ...otherProps\n },\n ref\n ) => {\n const [valueInternal, setValueInternal] = useState(\"\");\n\n const value = otherProps.value ?? valueInternal ?? \"\";\n\n const id = useId(otherProps.id);\n const errorId = `error_${id}`;\n const helpTextId = `helpText_${id}`;\n const textareaRef = useSyncedRef(ref);\n\n const valueLength = value?.toString().length || 0;\n const isCharacterLimitVisible = valueLength >= maxLength * 0.85;\n const maxLengthError = unlimitedChars && valueLength > maxLength;\n\n const onChangeInternal = e => setValueInternal(e.target.value);\n const onChange = otherProps.onChange ?? onChangeInternal;\n const isMaxLengthPresent = !!maxLength || maxLength === 0;\n\n useEffect(() => {\n textareaRef.current.style.minHeight = \"22px\";\n textareaRef.current.style.height = \"auto\";\n const scrollHeight = textareaRef.current.scrollHeight;\n textareaRef.current.style.height = `${scrollHeight + 1}px`;\n }, [value]);\n\n const handleTrimmedChangeOnBlur = e => {\n if (disableTrimOnBlur || typeof value !== \"string\") return;\n\n const trimmedValue = value.trim();\n if (value === trimmedValue) return;\n\n e.target.value = trimmedValue;\n onChange(e);\n };\n\n const handleOnBlur = e => {\n handleTrimmedChangeOnBlur(e);\n onBlur?.(e);\n };\n\n return (\n <div className={classnames([\"neeto-ui-input__wrapper\", className])}>\n <div className=\"neeto-ui-input__label-wrapper\">\n {label && (\n <Label\n {...{ required }}\n data-cy={`${hyphenize(label)}-label`}\n htmlFor={id}\n {...labelProps}\n >\n {label}\n </Label>\n )}\n {isCharacterLimitVisible && (\n <p\n className={classnames(\"neeto-ui-input__max-length\", {\n \"neeto-ui-input__max-length--error\": maxLengthError,\n })}\n >\n {valueLength}/{maxLength}\n </p>\n )}\n </div>\n <div\n data-cy={`${hyphenize(label)}-text-input`}\n className={classnames(\"neeto-ui-input\", \"neeto-ui-input--textarea\", {\n \"neeto-ui-input--error\": !!error,\n \"neeto-ui-input--disabled\": !!disabled,\n \"neeto-ui-input--naked\": !!nakedTextarea,\n \"neeto-ui-input--small\": size === SIZES.small,\n \"neeto-ui-input--medium\": size === SIZES.medium,\n \"neeto-ui-input--large\": size === SIZES.large,\n \"neeto-ui-input--resize--vertical\": resize === RESIZE.vertical,\n \"neeto-ui-input--resize--none\": resize === RESIZE.none,\n })}\n >\n {prefix && <div className=\"neeto-ui-input__prefix\">{prefix}</div>}\n <textarea\n ref={textareaRef}\n rows={ROWS[size]}\n {...{\n disabled,\n ...(isMaxLengthPresent && !unlimitedChars && { maxLength }),\n ...otherProps,\n onChange,\n value,\n }}\n onBlur={handleOnBlur}\n />\n {suffix && <div className=\"neeto-ui-input__suffix\">{suffix}</div>}\n </div>\n {!!error && (\n <p\n className=\"neeto-ui-input__error\"\n data-cy={`${hyphenize(label)}-input-error`}\n id={errorId}\n >\n {error}\n </p>\n )}\n {helpText && (\n <p className=\"neeto-ui-input__help-text\" id={helpTextId}>\n {helpText}\n </p>\n )}\n </div>\n );\n }\n);\n\nTextarea.displayName = \"Textarea\";\n\nTextarea.propTypes = {\n /**\n * To specify the row height of the Textarea.\n */\n rows: PropTypes.number,\n /**\n * To specify the size of Textarea.\n */\n size: PropTypes.oneOf(Object.values(SIZES)),\n /**\n * To specify the label shown above the Textarea.\n */\n label: PropTypes.string,\n /**\n * To specify the label props to be passed to the Label component.\n */\n labelProps: PropTypes.object,\n /**\n * To provide the value of the Textarea.\n */\n value: PropTypes.string,\n /**\n * To provide the error message shown below the Textarea.\n */\n error: PropTypes.string,\n /**\n * To provide the placeholder text for the Textarea.\n */\n placeholder: PropTypes.string,\n /**\n * To specify whether the Textarea is required.\n */\n required: PropTypes.bool,\n /**\n * To specify whether the Textarea is disabled.\n */\n disabled: PropTypes.bool,\n /**\n * To provide additional classnames to the Textarea container.\n */\n className: PropTypes.string,\n /**\n * The resize property sets whether the Textarea is resizable.\n */\n resize: PropTypes.oneOf(Object.values(RESIZE)),\n /**\n * To specify the text that appears below the Textarea.\n */\n helpText: PropTypes.string,\n /**\n * To create a Textarea without any borders.\n */\n nakedTextarea: PropTypes.bool,\n /**\n * To specify a maximum character limit to the Textarea. Charater limit is visible only if the Textarea value is greater than or equal to 85% of the maximum character limit.\n */\n maxLength: PropTypes.number,\n /**\n * To be used along with maxLength prop. When set to true the character limit will not be enforced and character count will be shown in error state if the character limit is exceeded.\n */\n unlimitedChars: PropTypes.bool,\n /**\n * To specify the content to be added at the end of the Textarea.\n */\n suffix: PropTypes.node,\n /**\n * To specify the content to be added at the beginning of the Textarea.\n */\n prefix: PropTypes.node,\n /**\n * To disable leading and trailing white spaces onBlur.\n */\n disableTrimOnBlur: PropTypes.bool,\n};\n\nexport default Textarea;\n"],"names":["useSyncedRef","ref","innerRef","useRef","useEffect","current","SIZES","small","medium","large","ROWS","RESIZE","vertical","none","Textarea","forwardRef","_ref","_ref2","_otherProps$value","_otherProps$onChange","_ref$size","size","_ref$resize","resize","_ref$suffix","suffix","_ref$prefix","prefix","_ref$disabled","disabled","_ref$required","required","_ref$nakedTextarea","nakedTextarea","_ref$helpText","helpText","_ref$error","error","_ref$label","label","_ref$className","className","maxLength","_ref$unlimitedChars","unlimitedChars","labelProps","onBlur","_ref$disableTrimOnBlu","disableTrimOnBlur","otherProps","_objectWithoutProperties","_excluded","_useState","useState","_useState2","_slicedToArray","valueInternal","setValueInternal","value","id","useId","errorId","concat","helpTextId","textareaRef","valueLength","toString","length","isCharacterLimitVisible","maxLengthError","onChangeInternal","e","target","onChange","isMaxLengthPresent","style","minHeight","height","scrollHeight","handleTrimmedChangeOnBlur","trimmedValue","trim","handleOnBlur","React","createElement","classnames","Label","_extends","hyphenize","htmlFor","rows","_objectSpread","displayName"],"mappings":";;;;;;;;;;;;;;AAEA,IAAMA,YAAY,GAAG,SAAfA,YAAYA,CAAGC,GAAG,EAAI;EAC1B,IAAMC,QAAQ,GAAGC,MAAM,EAAE,CAAA;AAEzBC,EAAAA,SAAS,CAAC,YAAM;IACd,IAAI,CAACH,GAAG,EAAE,OAAA;AAEV,IAAA,IAAI,OAAOA,GAAG,KAAK,UAAU,EAAE;AAC7BA,MAAAA,GAAG,CAACC,QAAQ,CAACG,OAAO,CAAC,CAAA;AACvB,KAAC,MAAM;AACLJ,MAAAA,GAAG,CAACI,OAAO,GAAGH,QAAQ,CAACG,OAAO,CAAA;AAChC,KAAA;AACF,GAAC,CAAC,CAAA;AAEF,EAAA,OAAOH,QAAQ,CAAA;AACjB;;;;;ACNA,IAAMI,KAAK,GAAG;AAAEC,EAAAA,KAAK,EAAE,OAAO;AAAEC,EAAAA,MAAM,EAAE,QAAQ;AAAEC,EAAAA,KAAK,EAAE,OAAA;AAAQ,CAAC,CAAA;AAElE,IAAMC,IAAI,GAAG;AAAEH,EAAAA,KAAK,EAAE,CAAC;AAAEC,EAAAA,MAAM,EAAE,CAAC;AAAEC,EAAAA,KAAK,EAAE,CAAA;AAAE,CAAC,CAAA;AAE9C,IAAME,MAAM,GAAG;AAAEC,EAAAA,QAAQ,EAAE,UAAU;AAAEC,EAAAA,IAAI,EAAE,MAAA;AAAO,CAAC,CAAA;AAE/CC,IAAAA,QAAQ,gBAAGC,UAAU,CACzB,UAAAC,IAAA,EAoBEf,GAAG,EACA;AAAA,EAAA,IAAAgB,KAAA,EAAAC,iBAAA,EAAAC,oBAAA,CAAA;AAAA,EAAA,IAAAC,SAAA,GAAAJ,IAAA,CAnBDK,IAAI;AAAJA,IAAAA,IAAI,GAAAD,SAAA,KAAA,KAAA,CAAA,GAAGd,KAAK,CAACE,MAAM,GAAAY,SAAA;IAAAE,WAAA,GAAAN,IAAA,CACnBO,MAAM;AAANA,IAAAA,MAAM,GAAAD,WAAA,KAAA,KAAA,CAAA,GAAGX,MAAM,CAACC,QAAQ,GAAAU,WAAA;IAAAE,WAAA,GAAAR,IAAA,CACxBS,MAAM;AAANA,IAAAA,MAAM,GAAAD,WAAA,KAAG,KAAA,CAAA,GAAA,IAAI,GAAAA,WAAA;IAAAE,WAAA,GAAAV,IAAA,CACbW,MAAM;AAANA,IAAAA,MAAM,GAAAD,WAAA,KAAG,KAAA,CAAA,GAAA,IAAI,GAAAA,WAAA;IAAAE,aAAA,GAAAZ,IAAA,CACba,QAAQ;AAARA,IAAAA,QAAQ,GAAAD,aAAA,KAAG,KAAA,CAAA,GAAA,KAAK,GAAAA,aAAA;IAAAE,aAAA,GAAAd,IAAA,CAChBe,QAAQ;AAARA,IAAAA,QAAQ,GAAAD,aAAA,KAAG,KAAA,CAAA,GAAA,KAAK,GAAAA,aAAA;IAAAE,kBAAA,GAAAhB,IAAA,CAChBiB,aAAa;AAAbA,IAAAA,aAAa,GAAAD,kBAAA,KAAG,KAAA,CAAA,GAAA,KAAK,GAAAA,kBAAA;IAAAE,aAAA,GAAAlB,IAAA,CACrBmB,QAAQ;AAARA,IAAAA,QAAQ,GAAAD,aAAA,KAAG,KAAA,CAAA,GAAA,EAAE,GAAAA,aAAA;IAAAE,UAAA,GAAApB,IAAA,CACbqB,KAAK;AAALA,IAAAA,KAAK,GAAAD,UAAA,KAAG,KAAA,CAAA,GAAA,EAAE,GAAAA,UAAA;IAAAE,UAAA,GAAAtB,IAAA,CACVuB,KAAK;AAALA,IAAAA,KAAK,GAAAD,UAAA,KAAG,KAAA,CAAA,GAAA,EAAE,GAAAA,UAAA;IAAAE,cAAA,GAAAxB,IAAA,CACVyB,SAAS;AAATA,IAAAA,SAAS,GAAAD,cAAA,KAAG,KAAA,CAAA,GAAA,EAAE,GAAAA,cAAA;IACdE,SAAS,GAAA1B,IAAA,CAAT0B,SAAS;IAAAC,mBAAA,GAAA3B,IAAA,CACT4B,cAAc;AAAdA,IAAAA,cAAc,GAAAD,mBAAA,KAAG,KAAA,CAAA,GAAA,KAAK,GAAAA,mBAAA;IACtBE,UAAU,GAAA7B,IAAA,CAAV6B,UAAU;IACVC,MAAM,GAAA9B,IAAA,CAAN8B,MAAM;IAAAC,qBAAA,GAAA/B,IAAA,CACNgC,iBAAiB;AAAjBA,IAAAA,iBAAiB,GAAAD,qBAAA,KAAG,KAAA,CAAA,GAAA,KAAK,GAAAA,qBAAA;AACtBE,IAAAA,UAAU,GAAAC,wBAAA,CAAAlC,IAAA,EAAAmC,SAAA,CAAA,CAAA;AAIf,EAAA,IAAAC,SAAA,GAA0CC,QAAQ,CAAC,EAAE,CAAC;IAAAC,UAAA,GAAAC,cAAA,CAAAH,SAAA,EAAA,CAAA,CAAA;AAA/CI,IAAAA,aAAa,GAAAF,UAAA,CAAA,CAAA,CAAA;AAAEG,IAAAA,gBAAgB,GAAAH,UAAA,CAAA,CAAA,CAAA,CAAA;EAEtC,IAAMI,KAAK,IAAAzC,KAAA,GAAA,CAAAC,iBAAA,GAAG+B,UAAU,CAACS,KAAK,MAAA,IAAA,IAAAxC,iBAAA,KAAAA,KAAAA,CAAAA,GAAAA,iBAAA,GAAIsC,aAAa,MAAA,IAAA,IAAAvC,KAAA,KAAAA,KAAAA,CAAAA,GAAAA,KAAA,GAAI,EAAE,CAAA;AAErD,EAAA,IAAM0C,EAAE,GAAGC,KAAK,CAACX,UAAU,CAACU,EAAE,CAAC,CAAA;AAC/B,EAAA,IAAME,OAAO,GAAA,QAAA,CAAAC,MAAA,CAAYH,EAAE,CAAE,CAAA;AAC7B,EAAA,IAAMI,UAAU,GAAA,WAAA,CAAAD,MAAA,CAAeH,EAAE,CAAE,CAAA;AACnC,EAAA,IAAMK,WAAW,GAAGhE,YAAY,CAACC,GAAG,CAAC,CAAA;AAErC,EAAA,IAAMgE,WAAW,GAAG,CAAAP,KAAK,aAALA,KAAK,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAALA,KAAK,CAAEQ,QAAQ,EAAE,CAACC,MAAM,KAAI,CAAC,CAAA;AACjD,EAAA,IAAMC,uBAAuB,GAAGH,WAAW,IAAIvB,SAAS,GAAG,IAAI,CAAA;AAC/D,EAAA,IAAM2B,cAAc,GAAGzB,cAAc,IAAIqB,WAAW,GAAGvB,SAAS,CAAA;AAEhE,EAAA,IAAM4B,gBAAgB,GAAG,SAAnBA,gBAAgBA,CAAGC,CAAC,EAAA;AAAA,IAAA,OAAId,gBAAgB,CAACc,CAAC,CAACC,MAAM,CAACd,KAAK,CAAC,CAAA;AAAA,GAAA,CAAA;AAC9D,EAAA,IAAMe,QAAQ,GAAA,CAAAtD,oBAAA,GAAG8B,UAAU,CAACwB,QAAQ,MAAA,IAAA,IAAAtD,oBAAA,KAAA,KAAA,CAAA,GAAAA,oBAAA,GAAImD,gBAAgB,CAAA;EACxD,IAAMI,kBAAkB,GAAG,CAAC,CAAChC,SAAS,IAAIA,SAAS,KAAK,CAAC,CAAA;AAEzDtC,EAAAA,SAAS,CAAC,YAAM;AACd4D,IAAAA,WAAW,CAAC3D,OAAO,CAACsE,KAAK,CAACC,SAAS,GAAG,MAAM,CAAA;AAC5CZ,IAAAA,WAAW,CAAC3D,OAAO,CAACsE,KAAK,CAACE,MAAM,GAAG,MAAM,CAAA;AACzC,IAAA,IAAMC,YAAY,GAAGd,WAAW,CAAC3D,OAAO,CAACyE,YAAY,CAAA;AACrDd,IAAAA,WAAW,CAAC3D,OAAO,CAACsE,KAAK,CAACE,MAAM,GAAAf,EAAAA,CAAAA,MAAA,CAAMgB,YAAY,GAAG,CAAC,EAAI,IAAA,CAAA,CAAA;AAC5D,GAAC,EAAE,CAACpB,KAAK,CAAC,CAAC,CAAA;AAEX,EAAA,IAAMqB,yBAAyB,GAAG,SAA5BA,yBAAyBA,CAAGR,CAAC,EAAI;AACrC,IAAA,IAAIvB,iBAAiB,IAAI,OAAOU,KAAK,KAAK,QAAQ,EAAE,OAAA;AAEpD,IAAA,IAAMsB,YAAY,GAAGtB,KAAK,CAACuB,IAAI,EAAE,CAAA;IACjC,IAAIvB,KAAK,KAAKsB,YAAY,EAAE,OAAA;AAE5BT,IAAAA,CAAC,CAACC,MAAM,CAACd,KAAK,GAAGsB,YAAY,CAAA;IAC7BP,QAAQ,CAACF,CAAC,CAAC,CAAA;GACZ,CAAA;AAED,EAAA,IAAMW,YAAY,GAAG,SAAfA,YAAYA,CAAGX,CAAC,EAAI;IACxBQ,yBAAyB,CAACR,CAAC,CAAC,CAAA;AAC5BzB,IAAAA,MAAM,aAANA,MAAM,KAAA,KAAA,CAAA,IAANA,MAAM,CAAGyB,CAAC,CAAC,CAAA;GACZ,CAAA;EAED,oBACEY,cAAA,CAAAC,aAAA,CAAA,KAAA,EAAA;AAAK3C,IAAAA,SAAS,EAAE4C,UAAU,CAAC,CAAC,yBAAyB,EAAE5C,SAAS,CAAC,CAAA;GAC/D0C,eAAAA,cAAA,CAAAC,aAAA,CAAA,KAAA,EAAA;AAAK3C,IAAAA,SAAS,EAAC,+BAAA;GACZF,EAAAA,KAAK,iBACJ4C,cAAA,CAAAC,aAAA,CAACE,KAAK,EAAAC,QAAA,CAAA;AACExD,IAAAA,QAAQ,EAARA,QAAQ;AACd,IAAA,SAAA,EAAA,EAAA,CAAA+B,MAAA,CAAY0B,SAAS,CAACjD,KAAK,CAAC,EAAS,QAAA,CAAA;AACrCkD,IAAAA,OAAO,EAAE9B,EAAAA;GACLd,EAAAA,UAAU,GAEbN,KAAK,CAET,EACA6B,uBAAuB,iBACtBe,cAAA,CAAAC,aAAA,CAAA,GAAA,EAAA;AACE3C,IAAAA,SAAS,EAAE4C,UAAU,CAAC,4BAA4B,EAAE;AAClD,MAAA,mCAAmC,EAAEhB,cAAAA;KACtC,CAAA;GAEAJ,EAAAA,WAAW,EAAC,GAAC,EAACvB,SAAS,CAE3B,CACG,eACNyC,cAAA,CAAAC,aAAA,CAAA,KAAA,EAAA;AACE,IAAA,SAAA,EAAA,EAAA,CAAAtB,MAAA,CAAY0B,SAAS,CAACjD,KAAK,CAAC,EAAc,aAAA,CAAA;AAC1CE,IAAAA,SAAS,EAAE4C,UAAU,CAAC,gBAAgB,EAAE,0BAA0B,EAAE;MAClE,uBAAuB,EAAE,CAAC,CAAChD,KAAK;MAChC,0BAA0B,EAAE,CAAC,CAACR,QAAQ;MACtC,uBAAuB,EAAE,CAAC,CAACI,aAAa;AACxC,MAAA,uBAAuB,EAAEZ,IAAI,KAAKf,KAAK,CAACC,KAAK;AAC7C,MAAA,wBAAwB,EAAEc,IAAI,KAAKf,KAAK,CAACE,MAAM;AAC/C,MAAA,uBAAuB,EAAEa,IAAI,KAAKf,KAAK,CAACG,KAAK;AAC7C,MAAA,kCAAkC,EAAEc,MAAM,KAAKZ,MAAM,CAACC,QAAQ;AAC9D,MAAA,8BAA8B,EAAEW,MAAM,KAAKZ,MAAM,CAACE,IAAAA;KACnD,CAAA;AAAE,GAAA,EAEFc,MAAM,iBAAIwD,cAAA,CAAAC,aAAA,CAAA,KAAA,EAAA;AAAK3C,IAAAA,SAAS,EAAC,wBAAA;AAAwB,GAAA,EAAEd,MAAM,CAAO,eACjEwD,cAAA,CAAAC,aAAA,aAAAG,QAAA,CAAA;AACEtF,IAAAA,GAAG,EAAE+D,WAAY;IACjB0B,IAAI,EAAEhF,IAAI,CAACW,IAAI,CAAA;AAAE,GAAA,EAAAsE,aAAA,CAAAA,aAAA,CAAAA,aAAA,CAAA;AAEf9D,IAAAA,QAAQ,EAARA,QAAAA;AAAQ,GAAA,EACJ6C,kBAAkB,IAAI,CAAC9B,cAAc,IAAI;AAAEF,IAAAA,SAAS,EAATA,SAAAA;AAAU,GAAC,GACvDO,UAAU,CAAA,EAAA,EAAA,EAAA;AACbwB,IAAAA,QAAQ,EAARA,QAAQ;AACRf,IAAAA,KAAK,EAALA,KAAAA;AAAK,GAAA,CAAA,EAAA;AAEPZ,IAAAA,MAAM,EAAEoC,YAAAA;AAAa,GAAA,CAAA,CACrB,EACDzD,MAAM,iBAAI0D,cAAA,CAAAC,aAAA,CAAA,KAAA,EAAA;AAAK3C,IAAAA,SAAS,EAAC,wBAAA;GAA0BhB,EAAAA,MAAM,CAAO,CAC7D,EACL,CAAC,CAACY,KAAK,iBACN8C,cAAA,CAAAC,aAAA,CAAA,GAAA,EAAA;AACE3C,IAAAA,SAAS,EAAC,uBAAuB;AACjC,IAAA,SAAA,EAAA,EAAA,CAAAqB,MAAA,CAAY0B,SAAS,CAACjD,KAAK,CAAC,EAAe,cAAA,CAAA;AAC3CoB,IAAAA,EAAE,EAAEE,OAAAA;AAAQ,GAAA,EAEXxB,KAAK,CAET,EACAF,QAAQ,iBACPgD,cAAA,CAAAC,aAAA,CAAA,GAAA,EAAA;AAAG3C,IAAAA,SAAS,EAAC,2BAA2B;AAACkB,IAAAA,EAAE,EAAEI,UAAAA;GAC1C5B,EAAAA,QAAQ,CAEZ,CACG,CAAA;AAEV,CAAC,EACF;AAEDrB,QAAQ,CAAC8E,WAAW,GAAG,UAAU;;;;"}
package/dist/Textarea.js CHANGED
@@ -10,7 +10,7 @@ import '@bigbinary/neeto-hotkeys';
10
10
  import './overlayManager.js';
11
11
  import './index-abadd6e9.js';
12
12
  import 'qs';
13
- export { T as default } from './Textarea-e2cdbeb5.js';
13
+ export { T as default } from './Textarea-67a30930.js';
14
14
  import './Label.js';
15
15
  import '@babel/runtime/helpers/classCallCheck';
16
16
  import '@babel/runtime/helpers/createClass';
@@ -24,7 +24,7 @@ import 'react-colorful';
24
24
  import './tinycolor-282c618c.js';
25
25
  import './Dropdown.js';
26
26
  import './index-abadd6e9.js';
27
- export { T as default } from './index-78e488c9.js';
27
+ export { T as default } from './index-fd0e5fa5.js';
28
28
  import './Input.js';
29
29
  import './Label.js';
30
30
  import './MultiEmailInput.js';
@@ -33,7 +33,7 @@ import './useId-c1d20bba.js';
33
33
  import '@bigbinary/neeto-hotkeys';
34
34
  import './overlayManager.js';
35
35
  import 'qs';
36
- import './Textarea-e2cdbeb5.js';
36
+ import './Textarea-67a30930.js';
37
37
  import '@babel/runtime/helpers/toConsumableArray';
38
38
  import './Pane.js';
39
39
  import './Popover.js';
@@ -61,7 +61,7 @@ import './Switch.js';
61
61
  import './Tab.js';
62
62
  import 'antd/lib/table';
63
63
  import 'react-drag-listview';
64
- import './HeaderCellMenu-85af6d2a.js';
64
+ import './HeaderCellMenu-85777f9d.js';
65
65
  import 'react-resizable';
66
66
  import './Tag.js';
67
67
  import './Toastr.js';
@@ -25,6 +25,9 @@ var classnames__default = /*#__PURE__*/_interopDefaultLegacy(classnames);
25
25
  var _excluded = ["icon", "iconPosition", "iconSize", "label", "loading", "onClick", "to", "type", "style", "fullWidth", "className", "disabled", "size", "href", "tooltipProps", "children", "status", "onStatusReset"];
26
26
  function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
27
27
  function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty__default["default"](target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
28
+ var ThumbsUp = function ThumbsUp() {
29
+ return /*#__PURE__*/React__default["default"].createElement("span", null, "\uD83D\uDC4D");
30
+ };
28
31
  var BUTTON_STYLES = {
29
32
  primary: "primary",
30
33
  secondary: "secondary",
@@ -132,7 +135,7 @@ var Button = /*#__PURE__*/React__default["default"].forwardRef(function (_ref, r
132
135
  }, 5000);
133
136
  }, [didStartAction, loading]);
134
137
  var FeedbackIcon = null;
135
- if (status === STATUS.SUCCESS) FeedbackIcon = neetoIcons.Check;
138
+ if (status === STATUS.SUCCESS) FeedbackIcon = ThumbsUp;
136
139
  if (status === STATUS.ERROR) FeedbackIcon = neetoIcons.Error;
137
140
  var handleClick = function handleClick(e) {
138
141
  if (loading || disabled) return;
@@ -1 +1 @@
1
- {"version":3,"file":"Button.js","sources":["../../src/components/Button.jsx"],"sourcesContent":["import React, { useEffect, useRef, useState } from \"react\";\n\nimport classnames from \"classnames\";\nimport { Check, Error } from \"neetoicons\";\nimport PropTypes from \"prop-types\";\nimport { Link } from \"react-router-dom\";\n\nimport Spinner from \"./Spinner\";\nimport Tooltip from \"./Tooltip\";\n\nconst BUTTON_STYLES = {\n primary: \"primary\",\n secondary: \"secondary\",\n tertiary: \"tertiary\",\n danger: \"danger\",\n danger_text: \"danger-text\",\n text: \"text\",\n link: \"link\",\n};\nconst SIZES = { small: \"small\", medium: \"medium\", large: \"large\" };\nconst ICON_POSITIONS = { left: \"left\", right: \"right\" };\nconst BUTTON_TYPES = { button: \"button\", reset: \"reset\", submit: \"submit\" };\nconst STATUS = { SUCCESS: \"success\", ERROR: \"error\" };\n\nconst Button = React.forwardRef(\n (\n {\n icon = null,\n iconPosition = ICON_POSITIONS.right,\n iconSize = 16,\n label = \"\",\n loading = false,\n onClick = () => {},\n to = \"\",\n type = BUTTON_TYPES.button,\n style = BUTTON_STYLES.primary,\n fullWidth = false,\n className = \"\",\n disabled = false,\n size = SIZES.medium,\n href = \"\",\n tooltipProps = null,\n children,\n status,\n onStatusReset,\n ...otherProps\n },\n ref\n ) => {\n let Parent = \"button\";\n let elementSpecificProps = { type };\n const resetFeedbackIconTimeout = useRef();\n\n const [didStartAction, setDidStartAction] = useState(false);\n const [isFeedbackIconVisible, setIsFeedbackIconVisible] = useState(false);\n\n const renderLabel = label || children;\n\n if (!disabled) {\n if (to) {\n Parent = Link;\n elementSpecificProps = { to };\n } else if (href) {\n Parent = \"a\";\n elementSpecificProps = { href };\n }\n }\n\n useEffect(() => {\n if (!loading) return;\n\n setDidStartAction(true);\n }, [loading]);\n\n useEffect(() => {\n if (loading || !didStartAction) return;\n\n if (didStartAction && !status) {\n setDidStartAction(false);\n\n return;\n }\n\n setIsFeedbackIconVisible(true);\n setDidStartAction(false);\n resetFeedbackIconTimeout.current = setTimeout(() => {\n setIsFeedbackIconVisible(false);\n onStatusReset?.();\n }, 5000);\n }, [didStartAction, loading]);\n\n let FeedbackIcon = null;\n if (status === STATUS.SUCCESS) FeedbackIcon = Check;\n\n if (status === STATUS.ERROR) FeedbackIcon = Error;\n\n const handleClick = e => {\n if (loading || disabled) return;\n setIsFeedbackIconVisible(false);\n clearTimeout(resetFeedbackIconTimeout.current);\n onClick(e);\n };\n\n const Icon =\n typeof icon === \"string\"\n ? () => (\n <i\n className={classnames(\"neeto-ui-btn__icon\", [icon])}\n data-testid=\"class-icon\"\n />\n )\n : icon || React.Fragment;\n\n const isFeedbackIconsVisible =\n loading || didStartAction || (isFeedbackIconVisible && status);\n\n return (\n <Tooltip disabled={!tooltipProps} {...tooltipProps}>\n <Parent\n className={classnames(\"neeto-ui-btn\", [className], {\n \"neeto-ui-btn--style-primary\": style === BUTTON_STYLES.primary,\n \"neeto-ui-btn--style-secondary\": style === BUTTON_STYLES.secondary,\n \"neeto-ui-btn--style-tertiary\": style === BUTTON_STYLES.tertiary,\n \"neeto-ui-btn--style-danger\": style === BUTTON_STYLES.danger,\n \"neeto-ui-btn--style-danger-text\":\n style === BUTTON_STYLES.danger_text,\n \"neeto-ui-btn--style-text\": style === BUTTON_STYLES.text,\n \"neeto-ui-btn--style-link\": style === BUTTON_STYLES.link,\n \"neeto-ui-btn--size-medium\": size === SIZES.medium,\n \"neeto-ui-btn--size-large\": size === SIZES.large,\n \"neeto-ui-btn--width-full\": fullWidth,\n \"neeto-ui-btn--icon-left\": iconPosition === ICON_POSITIONS.left,\n \"neeto-ui-btn--icon-only\": !renderLabel,\n \"neeto-ui-btn--feedback-visible\": isFeedbackIconsVisible,\n disabled,\n })}\n onClick={handleClick}\n {...{ disabled, ref, ...elementSpecificProps, ...otherProps }}\n >\n {renderLabel && (\n <span className=\"neeto-ui-btn__label\">{renderLabel}</span>\n )}\n {icon && (\n <Icon\n aria-hidden=\"true\"\n className=\"neeto-ui-btn__icon\"\n size={iconSize}\n />\n )}\n {loading && (\n <span className=\"neeto-ui-btn__feedback-icon\">\n <Spinner aria-hidden=\"true\" size=\"small\" />\n </span>\n )}\n {isFeedbackIconVisible && status && (\n <span className=\"neeto-ui-btn__feedback-icon\">\n <FeedbackIcon aria-hidden=\"true\" size=\"20\" />\n </span>\n )}\n </Parent>\n </Tooltip>\n );\n }\n);\n\nButton.displayName = \"Button\";\n\nButton.propTypes = {\n /**\n * To specify the style of the Button.\n */\n style: PropTypes.oneOf(Object.values(BUTTON_STYLES)),\n /**\n * To set the size of the Button.\n */\n size: PropTypes.oneOf(Object.values(SIZES)),\n /**\n * To specify the position of the icon.\n */\n iconPosition: PropTypes.oneOf(Object.values(ICON_POSITIONS)),\n /**\n * To specify the size of the icon.\n */\n iconSize: PropTypes.number,\n /**\n * To set the text to be displayed inside the Button.\n */\n label: PropTypes.string,\n /**\n * Indicates if a Button is in loading state and shows spinner if true.\n */\n loading: PropTypes.bool,\n /**\n * To set Button as disabled.\n */\n disabled: PropTypes.bool,\n /**\n * To set the icon to be shown in the Button.\n */\n icon: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.func,\n PropTypes.element,\n ]),\n /**\n * To specify the action to be triggered on clicking the Button.\n */\n onClick: PropTypes.func,\n /**\n * To specify an internal route to which the Button points to.\n */\n to: PropTypes.string,\n /**\n * To specify an external link to which the Button points to.\n */\n href: PropTypes.string,\n /**\n * To specify the type of Button.\n */\n type: PropTypes.oneOf(Object.values(BUTTON_TYPES)),\n /**\n * To set the Button to full width of the container.\n */\n fullWidth: PropTypes.bool,\n /**\n * To provide external classnames to Button component.\n */\n className: PropTypes.string,\n /**\n * To specify the props to be passed to the tooltip.\n */\n tooltipProps: PropTypes.object,\n /**\n * To specify the children to be rendered inside the Button.\n */\n children: PropTypes.string,\n /**\n * To specify the status of the user action, a check or cross icon will be rendered based on the status\n */\n status: PropTypes.oneOf(Object.values(STATUS)),\n /**\n * This callback will be triggered at the timeout to reset the feedback icon, the host application\n * can use this to reset the status if they are using a local state.\n */\n onStatusReset: PropTypes.func,\n};\n\nexport default Button;\n"],"names":["BUTTON_STYLES","primary","secondary","tertiary","danger","danger_text","text","link","SIZES","small","medium","large","ICON_POSITIONS","left","right","BUTTON_TYPES","button","reset","submit","STATUS","SUCCESS","ERROR","Button","React","forwardRef","_ref","ref","_ref$icon","icon","_ref$iconPosition","iconPosition","_ref$iconSize","iconSize","_ref$label","label","_ref$loading","loading","_ref$onClick","onClick","_ref$to","to","_ref$type","type","_ref$style","style","_ref$fullWidth","fullWidth","_ref$className","className","_ref$disabled","disabled","_ref$size","size","_ref$href","href","_ref$tooltipProps","tooltipProps","children","status","onStatusReset","otherProps","_objectWithoutProperties","_excluded","Parent","elementSpecificProps","resetFeedbackIconTimeout","useRef","_useState","useState","_useState2","_slicedToArray","didStartAction","setDidStartAction","_useState3","_useState4","isFeedbackIconVisible","setIsFeedbackIconVisible","renderLabel","Link","useEffect","current","setTimeout","FeedbackIcon","Check","Error","handleClick","e","clearTimeout","Icon","createElement","classnames","Fragment","isFeedbackIconsVisible","Tooltip","_extends","_objectSpread","Spinner","displayName"],"mappings":"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"}
1
+ {"version":3,"file":"Button.js","sources":["../../src/components/Button.jsx"],"sourcesContent":["import React, { useEffect, useRef, useState } from \"react\";\n\nimport classnames from \"classnames\";\nimport { Error } from \"neetoicons\";\nimport PropTypes from \"prop-types\";\nimport { Link } from \"react-router-dom\";\n\nimport Spinner from \"./Spinner\";\nimport Tooltip from \"./Tooltip\";\n\nconst ThumbsUp = () => <span>👍</span>;\n\nconst BUTTON_STYLES = {\n primary: \"primary\",\n secondary: \"secondary\",\n tertiary: \"tertiary\",\n danger: \"danger\",\n danger_text: \"danger-text\",\n text: \"text\",\n link: \"link\",\n};\nconst SIZES = { small: \"small\", medium: \"medium\", large: \"large\" };\nconst ICON_POSITIONS = { left: \"left\", right: \"right\" };\nconst BUTTON_TYPES = { button: \"button\", reset: \"reset\", submit: \"submit\" };\nconst STATUS = { SUCCESS: \"success\", ERROR: \"error\" };\n\nconst Button = React.forwardRef(\n (\n {\n icon = null,\n iconPosition = ICON_POSITIONS.right,\n iconSize = 16,\n label = \"\",\n loading = false,\n onClick = () => {},\n to = \"\",\n type = BUTTON_TYPES.button,\n style = BUTTON_STYLES.primary,\n fullWidth = false,\n className = \"\",\n disabled = false,\n size = SIZES.medium,\n href = \"\",\n tooltipProps = null,\n children,\n status,\n onStatusReset,\n ...otherProps\n },\n ref\n ) => {\n let Parent = \"button\";\n let elementSpecificProps = { type };\n const resetFeedbackIconTimeout = useRef();\n\n const [didStartAction, setDidStartAction] = useState(false);\n const [isFeedbackIconVisible, setIsFeedbackIconVisible] = useState(false);\n\n const renderLabel = label || children;\n\n if (!disabled) {\n if (to) {\n Parent = Link;\n elementSpecificProps = { to };\n } else if (href) {\n Parent = \"a\";\n elementSpecificProps = { href };\n }\n }\n\n useEffect(() => {\n if (!loading) return;\n\n setDidStartAction(true);\n }, [loading]);\n\n useEffect(() => {\n if (loading || !didStartAction) return;\n\n if (didStartAction && !status) {\n setDidStartAction(false);\n\n return;\n }\n\n setIsFeedbackIconVisible(true);\n setDidStartAction(false);\n resetFeedbackIconTimeout.current = setTimeout(() => {\n setIsFeedbackIconVisible(false);\n onStatusReset?.();\n }, 5000);\n }, [didStartAction, loading]);\n\n let FeedbackIcon = null;\n if (status === STATUS.SUCCESS) FeedbackIcon = ThumbsUp;\n\n if (status === STATUS.ERROR) FeedbackIcon = Error;\n\n const handleClick = e => {\n if (loading || disabled) return;\n setIsFeedbackIconVisible(false);\n clearTimeout(resetFeedbackIconTimeout.current);\n onClick(e);\n };\n\n const Icon =\n typeof icon === \"string\"\n ? () => (\n <i\n className={classnames(\"neeto-ui-btn__icon\", [icon])}\n data-testid=\"class-icon\"\n />\n )\n : icon || React.Fragment;\n\n const isFeedbackIconsVisible =\n loading || didStartAction || (isFeedbackIconVisible && status);\n\n return (\n <Tooltip disabled={!tooltipProps} {...tooltipProps}>\n <Parent\n className={classnames(\"neeto-ui-btn\", [className], {\n \"neeto-ui-btn--style-primary\": style === BUTTON_STYLES.primary,\n \"neeto-ui-btn--style-secondary\": style === BUTTON_STYLES.secondary,\n \"neeto-ui-btn--style-tertiary\": style === BUTTON_STYLES.tertiary,\n \"neeto-ui-btn--style-danger\": style === BUTTON_STYLES.danger,\n \"neeto-ui-btn--style-danger-text\":\n style === BUTTON_STYLES.danger_text,\n \"neeto-ui-btn--style-text\": style === BUTTON_STYLES.text,\n \"neeto-ui-btn--style-link\": style === BUTTON_STYLES.link,\n \"neeto-ui-btn--size-medium\": size === SIZES.medium,\n \"neeto-ui-btn--size-large\": size === SIZES.large,\n \"neeto-ui-btn--width-full\": fullWidth,\n \"neeto-ui-btn--icon-left\": iconPosition === ICON_POSITIONS.left,\n \"neeto-ui-btn--icon-only\": !renderLabel,\n \"neeto-ui-btn--feedback-visible\": isFeedbackIconsVisible,\n disabled,\n })}\n onClick={handleClick}\n {...{ disabled, ref, ...elementSpecificProps, ...otherProps }}\n >\n {renderLabel && (\n <span className=\"neeto-ui-btn__label\">{renderLabel}</span>\n )}\n {icon && (\n <Icon\n aria-hidden=\"true\"\n className=\"neeto-ui-btn__icon\"\n size={iconSize}\n />\n )}\n {loading && (\n <span className=\"neeto-ui-btn__feedback-icon\">\n <Spinner aria-hidden=\"true\" size=\"small\" />\n </span>\n )}\n {isFeedbackIconVisible && status && (\n <span className=\"neeto-ui-btn__feedback-icon\">\n <FeedbackIcon aria-hidden=\"true\" size=\"20\" />\n </span>\n )}\n </Parent>\n </Tooltip>\n );\n }\n);\n\nButton.displayName = \"Button\";\n\nButton.propTypes = {\n /**\n * To specify the style of the Button.\n */\n style: PropTypes.oneOf(Object.values(BUTTON_STYLES)),\n /**\n * To set the size of the Button.\n */\n size: PropTypes.oneOf(Object.values(SIZES)),\n /**\n * To specify the position of the icon.\n */\n iconPosition: PropTypes.oneOf(Object.values(ICON_POSITIONS)),\n /**\n * To specify the size of the icon.\n */\n iconSize: PropTypes.number,\n /**\n * To set the text to be displayed inside the Button.\n */\n label: PropTypes.string,\n /**\n * Indicates if a Button is in loading state and shows spinner if true.\n */\n loading: PropTypes.bool,\n /**\n * To set Button as disabled.\n */\n disabled: PropTypes.bool,\n /**\n * To set the icon to be shown in the Button.\n */\n icon: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.func,\n PropTypes.element,\n ]),\n /**\n * To specify the action to be triggered on clicking the Button.\n */\n onClick: PropTypes.func,\n /**\n * To specify an internal route to which the Button points to.\n */\n to: PropTypes.string,\n /**\n * To specify an external link to which the Button points to.\n */\n href: PropTypes.string,\n /**\n * To specify the type of Button.\n */\n type: PropTypes.oneOf(Object.values(BUTTON_TYPES)),\n /**\n * To set the Button to full width of the container.\n */\n fullWidth: PropTypes.bool,\n /**\n * To provide external classnames to Button component.\n */\n className: PropTypes.string,\n /**\n * To specify the props to be passed to the tooltip.\n */\n tooltipProps: PropTypes.object,\n /**\n * To specify the children to be rendered inside the Button.\n */\n children: PropTypes.string,\n /**\n * To specify the status of the user action, a check or cross icon will be rendered based on the status\n */\n status: PropTypes.oneOf(Object.values(STATUS)),\n /**\n * This callback will be triggered at the timeout to reset the feedback icon, the host application\n * can use this to reset the status if they are using a local state.\n */\n onStatusReset: PropTypes.func,\n};\n\nexport default Button;\n"],"names":["ThumbsUp","React","createElement","BUTTON_STYLES","primary","secondary","tertiary","danger","danger_text","text","link","SIZES","small","medium","large","ICON_POSITIONS","left","right","BUTTON_TYPES","button","reset","submit","STATUS","SUCCESS","ERROR","Button","forwardRef","_ref","ref","_ref$icon","icon","_ref$iconPosition","iconPosition","_ref$iconSize","iconSize","_ref$label","label","_ref$loading","loading","_ref$onClick","onClick","_ref$to","to","_ref$type","type","_ref$style","style","_ref$fullWidth","fullWidth","_ref$className","className","_ref$disabled","disabled","_ref$size","size","_ref$href","href","_ref$tooltipProps","tooltipProps","children","status","onStatusReset","otherProps","_objectWithoutProperties","_excluded","Parent","elementSpecificProps","resetFeedbackIconTimeout","useRef","_useState","useState","_useState2","_slicedToArray","didStartAction","setDidStartAction","_useState3","_useState4","isFeedbackIconVisible","setIsFeedbackIconVisible","renderLabel","Link","useEffect","current","setTimeout","FeedbackIcon","Error","handleClick","e","clearTimeout","Icon","classnames","Fragment","isFeedbackIconsVisible","Tooltip","_extends","_objectSpread","Spinner","displayName"],"mappings":"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"}
@@ -27,7 +27,7 @@ require('react-colorful');
27
27
  require('./tinycolor-b1e9a7b2.js');
28
28
  require('./Dropdown.js');
29
29
  require('./index-0f5141e0.js');
30
- var DatePicker = require('./index-4683b7da.js');
30
+ var DatePicker = require('./index-9d108a41.js');
31
31
  require('./Input.js');
32
32
  require('./Label.js');
33
33
  require('./MultiEmailInput.js');
@@ -36,7 +36,7 @@ require('./useId-4e3deb5c.js');
36
36
  require('@bigbinary/neeto-hotkeys');
37
37
  require('./overlayManager.js');
38
38
  require('qs');
39
- require('./Textarea-13e1da31.js');
39
+ require('./Textarea-60f7ed17.js');
40
40
  require('@babel/runtime/helpers/toConsumableArray');
41
41
  require('./Pane.js');
42
42
  require('./Popover.js');
@@ -71,7 +71,7 @@ require('./Switch.js');
71
71
  require('./Tab.js');
72
72
  require('antd/lib/table');
73
73
  require('react-drag-listview');
74
- require('./HeaderCellMenu-ed9de3d6.js');
74
+ require('./HeaderCellMenu-2b1247bb.js');
75
75
  require('react-resizable');
76
76
  require('./Tag.js');
77
77
  require('./Toastr.js');
@@ -209,4 +209,4 @@ exports.SELECT_ALL_ROWS_CALLOUT_MOBILE_HEIGHT = SELECT_ALL_ROWS_CALLOUT_MOBILE_H
209
209
  exports.TABLE_SORT_ORDERS = TABLE_SORT_ORDERS;
210
210
  exports.URL_SORT_ORDERS = URL_SORT_ORDERS;
211
211
  exports.useRestoreScrollPosition = useRestoreScrollPosition;
212
- //# sourceMappingURL=HeaderCellMenu-ed9de3d6.js.map
212
+ //# sourceMappingURL=HeaderCellMenu-2b1247bb.js.map