@bigbinary/neetoui 8.2.14 → 8.3.0-beta1

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 (54) hide show
  1. package/dist/ActionDropdown.js +1 -1
  2. package/dist/Alert.js +2 -2
  3. package/dist/Button.js +49 -5
  4. package/dist/Button.js.map +1 -1
  5. package/dist/DatePicker.js +3 -3
  6. package/dist/{HeaderCellMenu-bca097dd.js → HeaderCellMenu-85af6d2a.js} +1 -1
  7. package/dist/{HeaderCellMenu-bca097dd.js.map → HeaderCellMenu-85af6d2a.js.map} +1 -1
  8. package/dist/Label.js +1 -1
  9. package/dist/NoData.js +2 -1
  10. package/dist/NoData.js.map +1 -1
  11. package/dist/Table.js +1 -1
  12. package/dist/{Textarea-d9a69b9b.js → Textarea-e2cdbeb5.js} +1 -1
  13. package/dist/{Textarea-d9a69b9b.js.map → Textarea-e2cdbeb5.js.map} +1 -1
  14. package/dist/Textarea.js +1 -1
  15. package/dist/TimePicker.js +3 -3
  16. package/dist/cjs/ActionDropdown.js +1 -1
  17. package/dist/cjs/Alert.js +2 -2
  18. package/dist/cjs/Button.js +49 -4
  19. package/dist/cjs/Button.js.map +1 -1
  20. package/dist/cjs/DatePicker.js +3 -3
  21. package/dist/cjs/{HeaderCellMenu-3deb613f.js → HeaderCellMenu-ed9de3d6.js} +1 -1
  22. package/dist/cjs/{HeaderCellMenu-3deb613f.js.map → HeaderCellMenu-ed9de3d6.js.map} +1 -1
  23. package/dist/cjs/Label.js +1 -1
  24. package/dist/cjs/NoData.js +2 -1
  25. package/dist/cjs/NoData.js.map +1 -1
  26. package/dist/cjs/Table.js +1 -1
  27. package/dist/cjs/{Textarea-a5fa88e6.js → Textarea-13e1da31.js} +1 -1
  28. package/dist/cjs/{Textarea-a5fa88e6.js.map → Textarea-13e1da31.js.map} +1 -1
  29. package/dist/cjs/Textarea.js +1 -1
  30. package/dist/cjs/TimePicker.js +3 -3
  31. package/dist/cjs/formik/ActionBlock.js +2 -1
  32. package/dist/cjs/formik/ActionBlock.js.map +1 -1
  33. package/dist/cjs/formik/BlockNavigation.js +1 -1
  34. package/dist/cjs/formik/Button.js +2 -1
  35. package/dist/cjs/formik/Button.js.map +1 -1
  36. package/dist/cjs/formik/Textarea.js +1 -1
  37. package/dist/cjs/formik/index.js +3 -3
  38. package/dist/cjs/{index-e2b848cc.js → index-4683b7da.js} +3 -3
  39. package/dist/cjs/{index-e2b848cc.js.map → index-4683b7da.js.map} +1 -1
  40. package/dist/cjs/index.css +1 -1
  41. package/dist/cjs/index.js +3 -3
  42. package/dist/formik/ActionBlock.js +2 -1
  43. package/dist/formik/ActionBlock.js.map +1 -1
  44. package/dist/formik/BlockNavigation.js +1 -1
  45. package/dist/formik/Button.js +2 -1
  46. package/dist/formik/Button.js.map +1 -1
  47. package/dist/formik/Textarea.js +1 -1
  48. package/dist/formik/index.js +3 -3
  49. package/dist/{index-9b5ec9a5.js → index-78e488c9.js} +3 -3
  50. package/dist/{index-9b5ec9a5.js.map → index-78e488c9.js.map} +1 -1
  51. package/dist/index.css +1 -1
  52. package/dist/index.js +3 -3
  53. package/package.json +1 -1
  54. package/types/Button.d.ts +2 -0
@@ -2,13 +2,14 @@
2
2
 
3
3
  var _extends = require('@babel/runtime/helpers/extends');
4
4
  var _defineProperty = require('@babel/runtime/helpers/defineProperty');
5
+ var _slicedToArray = require('@babel/runtime/helpers/slicedToArray');
5
6
  var _objectWithoutProperties = require('@babel/runtime/helpers/objectWithoutProperties');
6
7
  var React = require('react');
7
8
  var classnames = require('classnames');
9
+ var neetoIcons = require('@bigbinary/neeto-icons');
8
10
  var reactRouterDom = require('react-router-dom');
9
11
  var Spinner = require('./Spinner.js');
10
12
  var Tooltip = require('./Tooltip.js');
11
- require('@babel/runtime/helpers/slicedToArray');
12
13
  require('@tippyjs/react');
13
14
  require('tippy.js');
14
15
 
@@ -16,11 +17,12 @@ function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'defau
16
17
 
17
18
  var _extends__default = /*#__PURE__*/_interopDefaultLegacy(_extends);
18
19
  var _defineProperty__default = /*#__PURE__*/_interopDefaultLegacy(_defineProperty);
20
+ var _slicedToArray__default = /*#__PURE__*/_interopDefaultLegacy(_slicedToArray);
19
21
  var _objectWithoutProperties__default = /*#__PURE__*/_interopDefaultLegacy(_objectWithoutProperties);
20
22
  var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
21
23
  var classnames__default = /*#__PURE__*/_interopDefaultLegacy(classnames);
22
24
 
23
- var _excluded = ["icon", "iconPosition", "iconSize", "label", "loading", "onClick", "to", "type", "style", "fullWidth", "className", "disabled", "size", "href", "tooltipProps", "children"];
25
+ var _excluded = ["icon", "iconPosition", "iconSize", "label", "loading", "onClick", "to", "type", "style", "fullWidth", "className", "disabled", "size", "href", "tooltipProps", "children", "status", "onStatusReset"];
24
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; }
25
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; }
26
28
  var BUTTON_STYLES = {
@@ -46,6 +48,10 @@ var BUTTON_TYPES = {
46
48
  reset: "reset",
47
49
  submit: "submit"
48
50
  };
51
+ var STATUS = {
52
+ SUCCESS: "success",
53
+ ERROR: "error"
54
+ };
49
55
  var Button = /*#__PURE__*/React__default["default"].forwardRef(function (_ref, ref) {
50
56
  var _ref$icon = _ref.icon,
51
57
  icon = _ref$icon === void 0 ? null : _ref$icon,
@@ -78,11 +84,22 @@ var Button = /*#__PURE__*/React__default["default"].forwardRef(function (_ref, r
78
84
  _ref$tooltipProps = _ref.tooltipProps,
79
85
  tooltipProps = _ref$tooltipProps === void 0 ? null : _ref$tooltipProps,
80
86
  children = _ref.children,
87
+ status = _ref.status,
88
+ onStatusReset = _ref.onStatusReset,
81
89
  otherProps = _objectWithoutProperties__default["default"](_ref, _excluded);
82
90
  var Parent = "button";
83
91
  var elementSpecificProps = {
84
92
  type: type
85
93
  };
94
+ var resetFeedbackIconTimeout = React.useRef();
95
+ var _useState = React.useState(false),
96
+ _useState2 = _slicedToArray__default["default"](_useState, 2),
97
+ didStartAction = _useState2[0],
98
+ setDidStartAction = _useState2[1];
99
+ var _useState3 = React.useState(false),
100
+ _useState4 = _slicedToArray__default["default"](_useState3, 2),
101
+ isFeedbackIconVisible = _useState4[0],
102
+ setIsFeedbackIconVisible = _useState4[1];
86
103
  var renderLabel = label || children;
87
104
  if (!disabled) {
88
105
  if (to) {
@@ -97,8 +114,30 @@ var Button = /*#__PURE__*/React__default["default"].forwardRef(function (_ref, r
97
114
  };
98
115
  }
99
116
  }
117
+ React.useEffect(function () {
118
+ if (!loading) return;
119
+ setDidStartAction(true);
120
+ }, [loading]);
121
+ React.useEffect(function () {
122
+ if (loading || !didStartAction) return;
123
+ if (didStartAction && !status) {
124
+ setDidStartAction(false);
125
+ return;
126
+ }
127
+ setIsFeedbackIconVisible(true);
128
+ setDidStartAction(false);
129
+ resetFeedbackIconTimeout.current = setTimeout(function () {
130
+ setIsFeedbackIconVisible(false);
131
+ onStatusReset === null || onStatusReset === void 0 || onStatusReset();
132
+ }, 5000);
133
+ }, [didStartAction, loading]);
134
+ var FeedbackIcon = null;
135
+ if (status === STATUS.SUCCESS) FeedbackIcon = neetoIcons.Check;
136
+ if (status === STATUS.ERROR) FeedbackIcon = neetoIcons.Error;
100
137
  var handleClick = function handleClick(e) {
101
138
  if (loading || disabled) return;
139
+ setIsFeedbackIconVisible(false);
140
+ clearTimeout(resetFeedbackIconTimeout.current);
102
141
  onClick(e);
103
142
  };
104
143
  var Icon = typeof icon === "string" ? function () {
@@ -107,6 +146,7 @@ var Button = /*#__PURE__*/React__default["default"].forwardRef(function (_ref, r
107
146
  "data-testid": "class-icon"
108
147
  });
109
148
  } : icon || React__default["default"].Fragment;
149
+ var isFeedbackIconsVisible = loading || didStartAction || isFeedbackIconVisible && status;
110
150
  return /*#__PURE__*/React__default["default"].createElement(Tooltip, _extends__default["default"]({
111
151
  disabled: !tooltipProps
112
152
  }, tooltipProps), /*#__PURE__*/React__default["default"].createElement(Parent, _extends__default["default"]({
@@ -123,7 +163,7 @@ var Button = /*#__PURE__*/React__default["default"].forwardRef(function (_ref, r
123
163
  "neeto-ui-btn--width-full": fullWidth,
124
164
  "neeto-ui-btn--icon-left": iconPosition === ICON_POSITIONS.left,
125
165
  "neeto-ui-btn--icon-only": !renderLabel,
126
- "neeto-ui-btn--loading": loading,
166
+ "neeto-ui-btn--feedback-visible": isFeedbackIconsVisible,
127
167
  disabled: disabled
128
168
  }),
129
169
  onClick: handleClick
@@ -137,10 +177,15 @@ var Button = /*#__PURE__*/React__default["default"].forwardRef(function (_ref, r
137
177
  className: "neeto-ui-btn__icon",
138
178
  size: iconSize
139
179
  }), loading && /*#__PURE__*/React__default["default"].createElement("span", {
140
- className: "neeto-ui-btn__spinner"
180
+ className: "neeto-ui-btn__feedback-icon"
141
181
  }, /*#__PURE__*/React__default["default"].createElement(Spinner, {
142
182
  "aria-hidden": "true",
143
183
  size: "small"
184
+ })), isFeedbackIconVisible && status && /*#__PURE__*/React__default["default"].createElement("span", {
185
+ className: "neeto-ui-btn__feedback-icon"
186
+ }, /*#__PURE__*/React__default["default"].createElement(FeedbackIcon, {
187
+ "aria-hidden": "true",
188
+ size: "20"
144
189
  }))));
145
190
  });
146
191
  Button.displayName = "Button";
@@ -1 +1 @@
1
- {"version":3,"file":"Button.js","sources":["../../src/components/Button.jsx"],"sourcesContent":["import React from \"react\";\n\nimport classnames from \"classnames\";\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\" };\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 ...otherProps\n },\n ref\n ) => {\n let Parent = \"button\";\n let elementSpecificProps = { type };\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 const handleClick = e => {\n if (loading || disabled) return;\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 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--loading\": loading,\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__spinner\">\n <Spinner aria-hidden=\"true\" size=\"small\" />\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\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","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","otherProps","_objectWithoutProperties","_excluded","Parent","elementSpecificProps","renderLabel","Link","handleClick","e","Icon","createElement","classnames","Fragment","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 { 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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"}
@@ -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-e2b848cc.js');
30
+ var DatePicker = require('./index-4683b7da.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-a5fa88e6.js');
39
+ require('./Textarea-13e1da31.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-3deb613f.js');
74
+ require('./HeaderCellMenu-ed9de3d6.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-3deb613f.js.map
212
+ //# sourceMappingURL=HeaderCellMenu-ed9de3d6.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"HeaderCellMenu-3deb613f.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-ed9de3d6.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/cjs/Label.js CHANGED
@@ -10,9 +10,9 @@ var Button = require('./Button.js');
10
10
  var Popover = require('./Popover.js');
11
11
  var Tooltip = require('./Tooltip.js');
12
12
  var Typography = require('./Typography.js');
13
+ require('@babel/runtime/helpers/slicedToArray');
13
14
  require('react-router-dom');
14
15
  require('./Spinner.js');
15
- require('@babel/runtime/helpers/slicedToArray');
16
16
  require('@tippyjs/react');
17
17
  require('tippy.js');
18
18
 
@@ -9,9 +9,10 @@ var Button = require('./Button.js');
9
9
  var Tooltip = require('./Tooltip.js');
10
10
  var Typography = require('./Typography.js');
11
11
  require('@babel/runtime/helpers/defineProperty');
12
+ require('@babel/runtime/helpers/slicedToArray');
13
+ require('@bigbinary/neeto-icons');
12
14
  require('react-router-dom');
13
15
  require('./Spinner.js');
14
- require('@babel/runtime/helpers/slicedToArray');
15
16
  require('@tippyjs/react');
16
17
  require('tippy.js');
17
18
 
@@ -1 +1 @@
1
- {"version":3,"file":"NoData.js","sources":["../../src/components/NoData/utils.jsx","../../src/components/NoData/index.jsx"],"sourcesContent":["import React from \"react\";\n\nexport const renderImage = image =>\n typeof image === \"string\" ? (\n <img data-cy=\"no-data-image\" src={image} />\n ) : (\n image\n );\n","import React from \"react\";\n\nimport classnames from \"classnames\";\nimport PropTypes from \"prop-types\";\nimport { isEmpty, isNil, omit } from \"ramda\";\n\nimport Button from \"components/Button\";\nimport Tooltip from \"components/Tooltip\";\nimport Typography from \"components/Typography\";\n\nimport { renderImage } from \"./utils\";\n\nconst NoData = ({\n image = null,\n title = \"\",\n description = \"\",\n helpText = null,\n className = \"\",\n primaryButtonProps = {},\n secondaryButtonProps = {},\n buttonSeparatorText = \"\",\n showTooltipWhenButtonDisabled = false,\n ...otherProps\n}) => {\n const hasPrimaryButtonProps = !isEmpty(primaryButtonProps);\n const hasSecondaryButtonProps = !isEmpty(secondaryButtonProps);\n const hasButtonSeparatorText = !isEmpty(buttonSeparatorText);\n\n const showButtonSeparator =\n hasButtonSeparatorText && hasPrimaryButtonProps && hasSecondaryButtonProps;\n\n return (\n <div\n className={classnames(\"neeto-ui-no-data\", [className])}\n data-cy=\"no-data-container\"\n {...otherProps}\n >\n {image ? (\n <div className=\"neeto-ui-no-data__image\">{renderImage(image)}</div>\n ) : null}\n {title && (\n <Typography\n className=\"neeto-ui-text-center\"\n data-cy=\"no-data-title\"\n lineHeight=\"none\"\n style=\"h3\"\n >\n {title}\n </Typography>\n )}\n {description && (\n <Typography\n className=\"neeto-ui-text-center neeto-ui-no-data__description\"\n data-cy=\"no-data-description\"\n lineHeight=\"normal\"\n style=\"body2\"\n >\n {description}\n </Typography>\n )}\n {helpText && (\n <Typography\n className=\"neeto-ui-text-center neeto-ui-no-data__help-text\"\n data-cy=\"no-data-help-text\"\n lineHeight=\"normal\"\n style=\"body2\"\n >\n {helpText}\n </Typography>\n )}\n {(hasPrimaryButtonProps || hasSecondaryButtonProps) && (\n <div className=\"neeto-ui-no-data__action-block\">\n {hasPrimaryButtonProps && (\n <Tooltip\n {...primaryButtonProps?.tooltipProps}\n disabled={\n isNil(primaryButtonProps?.tooltipProps) ||\n (!showTooltipWhenButtonDisabled && primaryButtonProps?.disabled)\n }\n >\n <div>\n <Button\n data-cy=\"no-data-primary-button\"\n data-testid=\"no-data-primary-button\"\n {...omit([\"tooltipProps\"], primaryButtonProps)}\n />\n </div>\n </Tooltip>\n )}\n {showButtonSeparator && (\n <Typography lineHeight=\"normal\" style=\"body2\">\n {buttonSeparatorText}\n </Typography>\n )}\n {hasSecondaryButtonProps && (\n <Tooltip\n {...secondaryButtonProps?.tooltipProps}\n disabled={\n isNil(secondaryButtonProps?.tooltipProps) ||\n (!showTooltipWhenButtonDisabled &&\n secondaryButtonProps?.disabled)\n }\n >\n <div>\n <Button\n data-cy=\"no-data-secondary-button\"\n data-testid=\"no-data-secondary-button\"\n style=\"secondary\"\n {...omit([\"tooltipProps\"], secondaryButtonProps)}\n />\n </div>\n </Tooltip>\n )}\n </div>\n )}\n </div>\n );\n};\n\nNoData.propTypes = {\n /**\n * To specify the image.\n */\n image: PropTypes.oneOfType([PropTypes.string, PropTypes.node]),\n /**\n * To specify the title text.\n */\n title: PropTypes.string,\n /**\n * To specify the description text.\n */\n description: PropTypes.node,\n /**\n * To specify the text that appears below the description.\n */\n helpText: PropTypes.node,\n /**\n * Provide external classnames to NoData component.\n */\n className: PropTypes.string,\n /**\n * To specify the props to be passed to the primary button.\n */\n primaryButtonProps: PropTypes.object,\n /**\n * To specify the props to be passed to the secondary button.\n */\n secondaryButtonProps: PropTypes.object,\n /**\n * To specify if the tooltip should be shown when the button is disabled.\n */\n showTooltipWhenButtonDisabled: PropTypes.bool,\n /**\n * To specify the text that appears between the primary and secondary buttons.\n * */\n buttonSeparatorText: PropTypes.string,\n};\n\nexport default NoData;\n"],"names":["renderImage","image","React","createElement","src","NoData","_ref","_ref$image","_ref$title","title","_ref$description","description","_ref$helpText","helpText","_ref$className","className","_ref$primaryButtonPro","primaryButtonProps","_ref$secondaryButtonP","secondaryButtonProps","_ref$buttonSeparatorT","buttonSeparatorText","_ref$showTooltipWhenB","showTooltipWhenButtonDisabled","otherProps","_objectWithoutProperties","_excluded","hasPrimaryButtonProps","isEmpty","hasSecondaryButtonProps","hasButtonSeparatorText","showButtonSeparator","_extends","classnames","Typography","lineHeight","style","Tooltip","tooltipProps","disabled","isNil","Button","omit"],"mappings":"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"}
1
+ {"version":3,"file":"NoData.js","sources":["../../src/components/NoData/utils.jsx","../../src/components/NoData/index.jsx"],"sourcesContent":["import React from \"react\";\n\nexport const renderImage = image =>\n typeof image === \"string\" ? (\n <img data-cy=\"no-data-image\" src={image} />\n ) : (\n image\n );\n","import React from \"react\";\n\nimport classnames from \"classnames\";\nimport PropTypes from \"prop-types\";\nimport { isEmpty, isNil, omit } from \"ramda\";\n\nimport Button from \"components/Button\";\nimport Tooltip from \"components/Tooltip\";\nimport Typography from \"components/Typography\";\n\nimport { renderImage } from \"./utils\";\n\nconst NoData = ({\n image = null,\n title = \"\",\n description = \"\",\n helpText = null,\n className = \"\",\n primaryButtonProps = {},\n secondaryButtonProps = {},\n buttonSeparatorText = \"\",\n showTooltipWhenButtonDisabled = false,\n ...otherProps\n}) => {\n const hasPrimaryButtonProps = !isEmpty(primaryButtonProps);\n const hasSecondaryButtonProps = !isEmpty(secondaryButtonProps);\n const hasButtonSeparatorText = !isEmpty(buttonSeparatorText);\n\n const showButtonSeparator =\n hasButtonSeparatorText && hasPrimaryButtonProps && hasSecondaryButtonProps;\n\n return (\n <div\n className={classnames(\"neeto-ui-no-data\", [className])}\n data-cy=\"no-data-container\"\n {...otherProps}\n >\n {image ? (\n <div className=\"neeto-ui-no-data__image\">{renderImage(image)}</div>\n ) : null}\n {title && (\n <Typography\n className=\"neeto-ui-text-center\"\n data-cy=\"no-data-title\"\n lineHeight=\"none\"\n style=\"h3\"\n >\n {title}\n </Typography>\n )}\n {description && (\n <Typography\n className=\"neeto-ui-text-center neeto-ui-no-data__description\"\n data-cy=\"no-data-description\"\n lineHeight=\"normal\"\n style=\"body2\"\n >\n {description}\n </Typography>\n )}\n {helpText && (\n <Typography\n className=\"neeto-ui-text-center neeto-ui-no-data__help-text\"\n data-cy=\"no-data-help-text\"\n lineHeight=\"normal\"\n style=\"body2\"\n >\n {helpText}\n </Typography>\n )}\n {(hasPrimaryButtonProps || hasSecondaryButtonProps) && (\n <div className=\"neeto-ui-no-data__action-block\">\n {hasPrimaryButtonProps && (\n <Tooltip\n {...primaryButtonProps?.tooltipProps}\n disabled={\n isNil(primaryButtonProps?.tooltipProps) ||\n (!showTooltipWhenButtonDisabled && primaryButtonProps?.disabled)\n }\n >\n <div>\n <Button\n data-cy=\"no-data-primary-button\"\n data-testid=\"no-data-primary-button\"\n {...omit([\"tooltipProps\"], primaryButtonProps)}\n />\n </div>\n </Tooltip>\n )}\n {showButtonSeparator && (\n <Typography lineHeight=\"normal\" style=\"body2\">\n {buttonSeparatorText}\n </Typography>\n )}\n {hasSecondaryButtonProps && (\n <Tooltip\n {...secondaryButtonProps?.tooltipProps}\n disabled={\n isNil(secondaryButtonProps?.tooltipProps) ||\n (!showTooltipWhenButtonDisabled &&\n secondaryButtonProps?.disabled)\n }\n >\n <div>\n <Button\n data-cy=\"no-data-secondary-button\"\n data-testid=\"no-data-secondary-button\"\n style=\"secondary\"\n {...omit([\"tooltipProps\"], secondaryButtonProps)}\n />\n </div>\n </Tooltip>\n )}\n </div>\n )}\n </div>\n );\n};\n\nNoData.propTypes = {\n /**\n * To specify the image.\n */\n image: PropTypes.oneOfType([PropTypes.string, PropTypes.node]),\n /**\n * To specify the title text.\n */\n title: PropTypes.string,\n /**\n * To specify the description text.\n */\n description: PropTypes.node,\n /**\n * To specify the text that appears below the description.\n */\n helpText: PropTypes.node,\n /**\n * Provide external classnames to NoData component.\n */\n className: PropTypes.string,\n /**\n * To specify the props to be passed to the primary button.\n */\n primaryButtonProps: PropTypes.object,\n /**\n * To specify the props to be passed to the secondary button.\n */\n secondaryButtonProps: PropTypes.object,\n /**\n * To specify if the tooltip should be shown when the button is disabled.\n */\n showTooltipWhenButtonDisabled: PropTypes.bool,\n /**\n * To specify the text that appears between the primary and secondary buttons.\n * */\n buttonSeparatorText: PropTypes.string,\n};\n\nexport default NoData;\n"],"names":["renderImage","image","React","createElement","src","NoData","_ref","_ref$image","_ref$title","title","_ref$description","description","_ref$helpText","helpText","_ref$className","className","_ref$primaryButtonPro","primaryButtonProps","_ref$secondaryButtonP","secondaryButtonProps","_ref$buttonSeparatorT","buttonSeparatorText","_ref$showTooltipWhenB","showTooltipWhenButtonDisabled","otherProps","_objectWithoutProperties","_excluded","hasPrimaryButtonProps","isEmpty","hasSecondaryButtonProps","hasButtonSeparatorText","showButtonSeparator","_extends","classnames","Typography","lineHeight","style","Tooltip","tooltipProps","disabled","isNil","Button","omit"],"mappings":"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"}
package/dist/cjs/Table.js CHANGED
@@ -22,7 +22,7 @@ var useQueryParams = require('./useQueryParams-a8ee2f76.js');
22
22
  var Button = require('./Button.js');
23
23
  var Callout = require('./Callout.js');
24
24
  var Typography = require('./Typography.js');
25
- var HeaderCellMenu = require('./HeaderCellMenu-3deb613f.js');
25
+ var HeaderCellMenu = require('./HeaderCellMenu-ed9de3d6.js');
26
26
  var _toConsumableArray = require('@babel/runtime/helpers/toConsumableArray');
27
27
  var reactResizable = require('react-resizable');
28
28
  var Spinner = require('./Spinner.js');
@@ -172,4 +172,4 @@ Textarea.displayName = "Textarea";
172
172
 
173
173
  exports.Textarea = Textarea;
174
174
  exports.useSyncedRef = useSyncedRef;
175
- //# sourceMappingURL=Textarea-a5fa88e6.js.map
175
+ //# sourceMappingURL=Textarea-13e1da31.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Textarea-a5fa88e6.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-13e1da31.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,YAAM,EAAE,CAAA;AAEzBC,EAAAA,eAAS,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,gBAAU,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,4CAAA,CAAAlC,IAAA,EAAAmC,SAAA,CAAA,CAAA;AAIf,EAAA,IAAAC,SAAA,GAA0CC,cAAQ,CAAC,EAAE,CAAC;IAAAC,UAAA,GAAAC,kCAAA,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,WAAK,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,eAAS,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,yBAAA,CAAAC,aAAA,CAAA,KAAA,EAAA;AAAK3C,IAAAA,SAAS,EAAE4C,8BAAU,CAAC,CAAC,yBAAyB,EAAE5C,SAAS,CAAC,CAAA;GAC/D0C,eAAAA,yBAAA,CAAAC,aAAA,CAAA,KAAA,EAAA;AAAK3C,IAAAA,SAAS,EAAC,+BAAA;GACZF,EAAAA,KAAK,iBACJ4C,yBAAA,CAAAC,aAAA,CAACE,KAAK,EAAAC,4BAAA,CAAA;AACExD,IAAAA,QAAQ,EAARA,QAAQ;AACd,IAAA,SAAA,EAAA,EAAA,CAAA+B,MAAA,CAAY0B,eAAS,CAACjD,KAAK,CAAC,EAAS,QAAA,CAAA;AACrCkD,IAAAA,OAAO,EAAE9B,EAAAA;GACLd,EAAAA,UAAU,GAEbN,KAAK,CAET,EACA6B,uBAAuB,iBACtBe,yBAAA,CAAAC,aAAA,CAAA,GAAA,EAAA;AACE3C,IAAAA,SAAS,EAAE4C,8BAAU,CAAC,4BAA4B,EAAE;AAClD,MAAA,mCAAmC,EAAEhB,cAAAA;KACtC,CAAA;GAEAJ,EAAAA,WAAW,EAAC,GAAC,EAACvB,SAAS,CAE3B,CACG,eACNyC,yBAAA,CAAAC,aAAA,CAAA,KAAA,EAAA;AACE,IAAA,SAAA,EAAA,EAAA,CAAAtB,MAAA,CAAY0B,eAAS,CAACjD,KAAK,CAAC,EAAc,aAAA,CAAA;AAC1CE,IAAAA,SAAS,EAAE4C,8BAAU,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,yBAAA,CAAAC,aAAA,CAAA,KAAA,EAAA;AAAK3C,IAAAA,SAAS,EAAC,wBAAA;AAAwB,GAAA,EAAEd,MAAM,CAAO,eACjEwD,yBAAA,CAAAC,aAAA,aAAAG,4BAAA,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,yBAAA,CAAAC,aAAA,CAAA,KAAA,EAAA;AAAK3C,IAAAA,SAAS,EAAC,wBAAA;GAA0BhB,EAAAA,MAAM,CAAO,CAC7D,EACL,CAAC,CAACY,KAAK,iBACN8C,yBAAA,CAAAC,aAAA,CAAA,GAAA,EAAA;AACE3C,IAAAA,SAAS,EAAC,uBAAuB;AACjC,IAAA,SAAA,EAAA,EAAA,CAAAqB,MAAA,CAAY0B,eAAS,CAACjD,KAAK,CAAC,EAAe,cAAA,CAAA;AAC3CoB,IAAAA,EAAE,EAAEE,OAAAA;AAAQ,GAAA,EAEXxB,KAAK,CAET,EACAF,QAAQ,iBACPgD,yBAAA,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;;;;;"}
@@ -12,7 +12,7 @@ require('@bigbinary/neeto-hotkeys');
12
12
  require('./overlayManager.js');
13
13
  require('./index-0f5141e0.js');
14
14
  require('qs');
15
- var Textarea = require('./Textarea-a5fa88e6.js');
15
+ var Textarea = require('./Textarea-13e1da31.js');
16
16
  require('./Label.js');
17
17
  require('@babel/runtime/helpers/classCallCheck');
18
18
  require('@babel/runtime/helpers/createClass');
@@ -26,7 +26,7 @@ require('react-colorful');
26
26
  require('./tinycolor-b1e9a7b2.js');
27
27
  require('./Dropdown.js');
28
28
  require('./index-0f5141e0.js');
29
- var DatePicker = require('./index-e2b848cc.js');
29
+ var DatePicker = require('./index-4683b7da.js');
30
30
  require('./Input.js');
31
31
  require('./Label.js');
32
32
  require('./MultiEmailInput.js');
@@ -35,7 +35,7 @@ require('./useId-4e3deb5c.js');
35
35
  require('@bigbinary/neeto-hotkeys');
36
36
  require('./overlayManager.js');
37
37
  require('qs');
38
- require('./Textarea-a5fa88e6.js');
38
+ require('./Textarea-13e1da31.js');
39
39
  require('@babel/runtime/helpers/toConsumableArray');
40
40
  require('./Pane.js');
41
41
  require('./Popover.js');
@@ -63,7 +63,7 @@ require('./Switch.js');
63
63
  require('./Tab.js');
64
64
  require('antd/lib/table');
65
65
  require('react-drag-listview');
66
- require('./HeaderCellMenu-3deb613f.js');
66
+ require('./HeaderCellMenu-ed9de3d6.js');
67
67
  require('react-resizable');
68
68
  require('./Tag.js');
69
69
  require('./Toastr.js');
@@ -9,11 +9,12 @@ var Button = require('../Button.js');
9
9
  var index = require('../index-0f5141e0.js');
10
10
  var formik_Button = require('./Button.js');
11
11
  require('@babel/runtime/helpers/defineProperty');
12
+ require('@babel/runtime/helpers/slicedToArray');
12
13
  require('@babel/runtime/helpers/objectWithoutProperties');
14
+ require('@bigbinary/neeto-icons');
13
15
  require('react-router-dom');
14
16
  require('../Spinner.js');
15
17
  require('../Tooltip.js');
16
- require('@babel/runtime/helpers/slicedToArray');
17
18
  require('@tippyjs/react');
18
19
  require('tippy.js');
19
20
  require('@babel/runtime/helpers/classCallCheck');
@@ -1 +1 @@
1
- {"version":3,"file":"ActionBlock.js","sources":["../../../src/formik/ActionBlock.jsx"],"sourcesContent":["/* eslint-disable @bigbinary/neeto/file-name-and-export-name-standards */\nimport React from \"react\";\n\nimport classnames from \"classnames\";\nimport { useFormikContext } from \"formik\";\nimport PropTypes from \"prop-types\";\nimport { useTranslation } from \"react-i18next\";\n\nimport Button from \"components/Button\";\nimport { getLocale } from \"utils\";\n\nimport SubmitButton from \"./Button\";\n\nconst POSITIONS = { left: \"left\", right: \"right\" };\n\nconst ActionBlock = ({\n className,\n submitButtonProps,\n cancelButtonProps,\n isSubmitting: isFormSubmitting,\n position = POSITIONS.left,\n}) => {\n const { t, i18n } = useTranslation();\n\n const {\n handleReset,\n isSubmitting: isFormikSubmitting,\n dirty,\n } = useFormikContext();\n\n const isSubmitting = isFormSubmitting ?? isFormikSubmitting;\n const isButtonPositionRight = position === POSITIONS.right;\n\n const cancelButton = (\n <Button\n data-cy=\"cancel-button\"\n data-test-id=\"cancel-button\"\n disabled={isSubmitting}\n label={getLocale(i18n, t, \"neetoui.actionBlock.cancel\")}\n style=\"text\"\n onClick={handleReset}\n onMouseDown={e => e.preventDefault()}\n {...cancelButtonProps}\n />\n );\n\n const submitButton = (\n <SubmitButton\n data-cy=\"save-changes-button\"\n data-test-id=\"save-changes-button\"\n disabled={isSubmitting || !dirty}\n label={getLocale(i18n, t, \"neetoui.actionBlock.saveChanges\")}\n loading={isSubmitting}\n style=\"primary\"\n type=\"submit\"\n {...submitButtonProps}\n />\n );\n\n return (\n <div\n className={classnames([\n \"neeto-ui-action-block__wrapper\",\n { \"justify-end\": isButtonPositionRight },\n className,\n ])}\n >\n {isButtonPositionRight ? (\n <>\n {cancelButton}\n {submitButton}\n </>\n ) : (\n <>\n {submitButton}\n {cancelButton}\n </>\n )}\n </div>\n );\n};\n\nActionBlock.propTypes = {\n /**\n * To specify additional classnames for action block.\n */\n className: PropTypes.string,\n /**\n * To provide props for submit button.\n */\n submitButtonProps: PropTypes.object,\n /**\n * To provide props for cancel button.\n */\n cancelButtonProps: PropTypes.object,\n /**\n * Optional prop to specify the state of form submission, typically used to provide React Query mutation loading state. If not provided, Formik's `isSubmitting` prop is used.\n */\n isSubmitting: PropTypes.bool,\n /**\n * Determines the alignment of buttons in ActionBlock components. Set to `right` when using ActionBlock to right-align both buttons. Defaults to `left`, left-aligning both buttons.\n */\n position: PropTypes.oneOf(Object.values(POSITIONS)),\n};\n\nexport default ActionBlock;\n"],"names":["POSITIONS","left","right","ActionBlock","_ref","className","submitButtonProps","cancelButtonProps","isFormSubmitting","isSubmitting","_ref$position","position","_useTranslation","useTranslation","t","i18n","_useFormikContext","useFormikContext","handleReset","isFormikSubmitting","dirty","isButtonPositionRight","cancelButton","React","createElement","Button","_extends","disabled","label","getLocale","style","onClick","onMouseDown","e","preventDefault","submitButton","SubmitButton","loading","type","classnames","Fragment"],"mappings":"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"}
1
+ {"version":3,"file":"ActionBlock.js","sources":["../../../src/formik/ActionBlock.jsx"],"sourcesContent":["/* eslint-disable @bigbinary/neeto/file-name-and-export-name-standards */\nimport React from \"react\";\n\nimport classnames from \"classnames\";\nimport { useFormikContext } from \"formik\";\nimport PropTypes from \"prop-types\";\nimport { useTranslation } from \"react-i18next\";\n\nimport Button from \"components/Button\";\nimport { getLocale } from \"utils\";\n\nimport SubmitButton from \"./Button\";\n\nconst POSITIONS = { left: \"left\", right: \"right\" };\n\nconst ActionBlock = ({\n className,\n submitButtonProps,\n cancelButtonProps,\n isSubmitting: isFormSubmitting,\n position = POSITIONS.left,\n}) => {\n const { t, i18n } = useTranslation();\n\n const {\n handleReset,\n isSubmitting: isFormikSubmitting,\n dirty,\n } = useFormikContext();\n\n const isSubmitting = isFormSubmitting ?? isFormikSubmitting;\n const isButtonPositionRight = position === POSITIONS.right;\n\n const cancelButton = (\n <Button\n data-cy=\"cancel-button\"\n data-test-id=\"cancel-button\"\n disabled={isSubmitting}\n label={getLocale(i18n, t, \"neetoui.actionBlock.cancel\")}\n style=\"text\"\n onClick={handleReset}\n onMouseDown={e => e.preventDefault()}\n {...cancelButtonProps}\n />\n );\n\n const submitButton = (\n <SubmitButton\n data-cy=\"save-changes-button\"\n data-test-id=\"save-changes-button\"\n disabled={isSubmitting || !dirty}\n label={getLocale(i18n, t, \"neetoui.actionBlock.saveChanges\")}\n loading={isSubmitting}\n style=\"primary\"\n type=\"submit\"\n {...submitButtonProps}\n />\n );\n\n return (\n <div\n className={classnames([\n \"neeto-ui-action-block__wrapper\",\n { \"justify-end\": isButtonPositionRight },\n className,\n ])}\n >\n {isButtonPositionRight ? (\n <>\n {cancelButton}\n {submitButton}\n </>\n ) : (\n <>\n {submitButton}\n {cancelButton}\n </>\n )}\n </div>\n );\n};\n\nActionBlock.propTypes = {\n /**\n * To specify additional classnames for action block.\n */\n className: PropTypes.string,\n /**\n * To provide props for submit button.\n */\n submitButtonProps: PropTypes.object,\n /**\n * To provide props for cancel button.\n */\n cancelButtonProps: PropTypes.object,\n /**\n * Optional prop to specify the state of form submission, typically used to provide React Query mutation loading state. If not provided, Formik's `isSubmitting` prop is used.\n */\n isSubmitting: PropTypes.bool,\n /**\n * Determines the alignment of buttons in ActionBlock components. Set to `right` when using ActionBlock to right-align both buttons. Defaults to `left`, left-aligning both buttons.\n */\n position: PropTypes.oneOf(Object.values(POSITIONS)),\n};\n\nexport default ActionBlock;\n"],"names":["POSITIONS","left","right","ActionBlock","_ref","className","submitButtonProps","cancelButtonProps","isFormSubmitting","isSubmitting","_ref$position","position","_useTranslation","useTranslation","t","i18n","_useFormikContext","useFormikContext","handleReset","isFormikSubmitting","dirty","isButtonPositionRight","cancelButton","React","createElement","Button","_extends","disabled","label","getLocale","style","onClick","onMouseDown","e","preventDefault","submitButton","SubmitButton","loading","type","classnames","Fragment"],"mappings":"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"}
@@ -26,11 +26,11 @@ require('@bigbinary/neeto-cist');
26
26
  require('ramda');
27
27
  require('../en-80d0fbff.js');
28
28
  require('classnames');
29
+ require('@bigbinary/neeto-icons');
29
30
  require('../Spinner.js');
30
31
  require('../Tooltip.js');
31
32
  require('@tippyjs/react');
32
33
  require('tippy.js');
33
- require('@bigbinary/neeto-icons');
34
34
  require('../useOverlayManager-d4108cf8.js');
35
35
  require('@babel/runtime/helpers/esm/extends');
36
36
  require('@babel/runtime/helpers/esm/objectWithoutPropertiesLoose');