@bigbinary/neetoui 7.0.2 → 7.0.4

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 (127) hide show
  1. package/dist/Accordion.js +2 -290
  2. package/dist/Accordion.js.map +1 -1
  3. package/dist/ActionDropdown.js +1 -1
  4. package/dist/Alert.js +1 -1
  5. package/dist/Button.js +1 -1
  6. package/dist/Checkbox.js +1 -1
  7. package/dist/ColorPicker.js +2 -1199
  8. package/dist/ColorPicker.js.map +1 -1
  9. package/dist/DatePicker.js +81 -297
  10. package/dist/DatePicker.js.map +1 -1
  11. package/dist/DateTimePicker.js +75 -159
  12. package/dist/DateTimePicker.js.map +1 -1
  13. package/dist/Dropdown.js +1 -1
  14. package/dist/HeaderCellMenu-4e7c17aa.js +134 -0
  15. package/dist/HeaderCellMenu-4e7c17aa.js.map +1 -0
  16. package/dist/Input.js +1 -1
  17. package/dist/Label.js +1 -1
  18. package/dist/Modal.js +1 -1
  19. package/dist/MultiEmailInput.js +1 -1
  20. package/dist/NoData.js +1 -1
  21. package/dist/Pane.js +1 -1
  22. package/dist/ProgressBar.js +1 -1
  23. package/dist/Radio.js +1 -1
  24. package/dist/Select.js +1 -1
  25. package/dist/Slider.js +1 -1
  26. package/dist/Switch.js +1 -1
  27. package/dist/Table.js +5 -129
  28. package/dist/Table.js.map +1 -1
  29. package/dist/Textarea-938a680f.js +163 -0
  30. package/dist/Textarea-938a680f.js.map +1 -0
  31. package/dist/Textarea.js +11 -147
  32. package/dist/Textarea.js.map +1 -1
  33. package/dist/TimePicker.js +80 -174
  34. package/dist/TimePicker.js.map +1 -1
  35. package/dist/TimePickerInput.js +1 -1
  36. package/dist/TreeSelect.js +1 -1
  37. package/dist/cjs/Accordion.js +3 -309
  38. package/dist/cjs/Accordion.js.map +1 -1
  39. package/dist/cjs/ActionDropdown.js +1 -1
  40. package/dist/cjs/Alert.js +1 -1
  41. package/dist/cjs/Button.js +4 -4
  42. package/dist/cjs/Button.js.map +1 -1
  43. package/dist/cjs/Checkbox.js +1 -1
  44. package/dist/cjs/ColorPicker.js +5 -1202
  45. package/dist/cjs/ColorPicker.js.map +1 -1
  46. package/dist/cjs/DatePicker.js +82 -305
  47. package/dist/cjs/DatePicker.js.map +1 -1
  48. package/dist/cjs/DateTimePicker.js +76 -166
  49. package/dist/cjs/DateTimePicker.js.map +1 -1
  50. package/dist/cjs/Dropdown.js +1 -1
  51. package/dist/cjs/HeaderCellMenu-a3d12310.js +142 -0
  52. package/dist/cjs/HeaderCellMenu-a3d12310.js.map +1 -0
  53. package/dist/cjs/Input.js +1 -1
  54. package/dist/cjs/Label.js +1 -1
  55. package/dist/cjs/Modal.js +1 -1
  56. package/dist/cjs/MultiEmailInput.js +1 -1
  57. package/dist/cjs/NoData.js +1 -1
  58. package/dist/cjs/Pane.js +1 -1
  59. package/dist/cjs/ProgressBar.js +2 -2
  60. package/dist/cjs/ProgressBar.js.map +1 -1
  61. package/dist/cjs/Radio.js +1 -1
  62. package/dist/cjs/Select.js +1 -1
  63. package/dist/cjs/Slider.js +1 -1
  64. package/dist/cjs/Switch.js +1 -1
  65. package/dist/cjs/Table.js +11 -135
  66. package/dist/cjs/Table.js.map +1 -1
  67. package/dist/cjs/Textarea-0975f6d6.js +175 -0
  68. package/dist/cjs/Textarea-0975f6d6.js.map +1 -0
  69. package/dist/cjs/Textarea.js +12 -153
  70. package/dist/cjs/Textarea.js.map +1 -1
  71. package/dist/cjs/TimePicker.js +81 -181
  72. package/dist/cjs/TimePicker.js.map +1 -1
  73. package/dist/cjs/TimePickerInput.js +1 -1
  74. package/dist/cjs/TreeSelect.js +1 -1
  75. package/dist/cjs/formik/ActionBlock.js +1 -1
  76. package/dist/cjs/formik/BlockNavigation.js +1 -1
  77. package/dist/cjs/formik/Button.js +1 -1
  78. package/dist/cjs/formik/Checkbox.js +1 -1
  79. package/dist/cjs/formik/Input.js +1 -1
  80. package/dist/cjs/formik/MultiEmailInput.js +1 -1
  81. package/dist/cjs/formik/Radio.js +1 -1
  82. package/dist/cjs/formik/Select.js +1 -1
  83. package/dist/cjs/formik/Slider.js +1 -1
  84. package/dist/cjs/formik/Switch.js +1 -1
  85. package/dist/cjs/formik/Textarea.js +3 -4
  86. package/dist/cjs/formik/Textarea.js.map +1 -1
  87. package/dist/cjs/formik/TreeSelect.js +1 -1
  88. package/dist/cjs/formik/index.js +2 -3
  89. package/dist/cjs/formik/index.js.map +1 -1
  90. package/dist/cjs/index-327e31a2.js +647 -0
  91. package/dist/cjs/index-327e31a2.js.map +1 -0
  92. package/dist/cjs/index.js +25 -26
  93. package/dist/cjs/index.js.map +1 -1
  94. package/dist/cjs/tinycolor-b1e9a7b2.js +1202 -0
  95. package/dist/cjs/tinycolor-b1e9a7b2.js.map +1 -0
  96. package/dist/formik/ActionBlock.js +1 -1
  97. package/dist/formik/BlockNavigation.js +1 -1
  98. package/dist/formik/Button.js +1 -1
  99. package/dist/formik/Checkbox.js +1 -1
  100. package/dist/formik/Input.js +1 -1
  101. package/dist/formik/MultiEmailInput.js +1 -1
  102. package/dist/formik/Radio.js +1 -1
  103. package/dist/formik/Select.js +1 -1
  104. package/dist/formik/Slider.js +1 -1
  105. package/dist/formik/Switch.js +1 -1
  106. package/dist/formik/Textarea.js +2 -3
  107. package/dist/formik/Textarea.js.map +1 -1
  108. package/dist/formik/TreeSelect.js +1 -1
  109. package/dist/formik/index.js +2 -3
  110. package/dist/formik/index.js.map +1 -1
  111. package/dist/index-eb249a9f.js +630 -0
  112. package/dist/index-eb249a9f.js.map +1 -0
  113. package/dist/index.js +21 -22
  114. package/dist/index.js.map +1 -1
  115. package/dist/tinycolor-282c618c.js +1200 -0
  116. package/dist/tinycolor-282c618c.js.map +1 -0
  117. package/package.json +3 -2
  118. package/types/DatePicker.d.ts +1 -0
  119. package/types/TimePicker.d.ts +1 -0
  120. package/dist/cjs/motion-a1906aff.js +0 -8892
  121. package/dist/cjs/motion-a1906aff.js.map +0 -1
  122. package/dist/cjs/useSyncedRef-9c3dcd03.js +0 -19
  123. package/dist/cjs/useSyncedRef-9c3dcd03.js.map +0 -1
  124. package/dist/motion-087daf52.js +0 -8862
  125. package/dist/motion-087daf52.js.map +0 -1
  126. package/dist/useSyncedRef-226a3dbc.js +0 -17
  127. package/dist/useSyncedRef-226a3dbc.js.map +0 -1
@@ -0,0 +1,163 @@
1
+ import _defineProperty from '@babel/runtime/helpers/defineProperty';
2
+ import _extends from '@babel/runtime/helpers/extends';
3
+ import _slicedToArray from '@babel/runtime/helpers/slicedToArray';
4
+ import _objectWithoutProperties from '@babel/runtime/helpers/objectWithoutProperties';
5
+ import React__default, { useRef, useEffect, forwardRef, useState } from 'react';
6
+ import classnames from 'classnames';
7
+ import { u as useId } from './useId-c1d20bba.js';
8
+ import 'react-router-dom';
9
+ import '@bigbinary/neeto-hotkeys';
10
+ import './overlayManager.js';
11
+ import { h as hyphenize } from './index-9d5142b4.js';
12
+ import 'qs';
13
+ import Label from './Label.js';
14
+
15
+ var useSyncedRef = function useSyncedRef(ref) {
16
+ var innerRef = useRef();
17
+ useEffect(function () {
18
+ if (!ref) return;
19
+ if (typeof ref === "function") {
20
+ ref(innerRef.current);
21
+ } else {
22
+ ref.current = innerRef.current;
23
+ }
24
+ });
25
+ return innerRef;
26
+ };
27
+
28
+ var _excluded = ["size", "resize", "suffix", "prefix", "disabled", "required", "nakedTextarea", "helpText", "error", "label", "className", "maxLength", "unlimitedChars", "labelProps", "onBlur", "disableTrimOnBlur"];
29
+ 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; }
30
+ 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; }
31
+ var SIZES = {
32
+ small: "small",
33
+ medium: "medium",
34
+ large: "large"
35
+ };
36
+ var ROWS = {
37
+ small: 1,
38
+ medium: 3,
39
+ large: 4
40
+ };
41
+ var RESIZE = {
42
+ vertical: "vertical",
43
+ none: "none"
44
+ };
45
+ var Textarea = /*#__PURE__*/forwardRef(function (_ref, ref) {
46
+ var _ref2, _otherProps$value, _otherProps$onChange;
47
+ var _ref$size = _ref.size,
48
+ size = _ref$size === void 0 ? SIZES.medium : _ref$size,
49
+ _ref$resize = _ref.resize,
50
+ resize = _ref$resize === void 0 ? RESIZE.vertical : _ref$resize,
51
+ _ref$suffix = _ref.suffix,
52
+ suffix = _ref$suffix === void 0 ? null : _ref$suffix,
53
+ _ref$prefix = _ref.prefix,
54
+ prefix = _ref$prefix === void 0 ? null : _ref$prefix,
55
+ _ref$disabled = _ref.disabled,
56
+ disabled = _ref$disabled === void 0 ? false : _ref$disabled,
57
+ _ref$required = _ref.required,
58
+ required = _ref$required === void 0 ? false : _ref$required,
59
+ _ref$nakedTextarea = _ref.nakedTextarea,
60
+ nakedTextarea = _ref$nakedTextarea === void 0 ? false : _ref$nakedTextarea,
61
+ _ref$helpText = _ref.helpText,
62
+ helpText = _ref$helpText === void 0 ? "" : _ref$helpText,
63
+ _ref$error = _ref.error,
64
+ error = _ref$error === void 0 ? "" : _ref$error,
65
+ _ref$label = _ref.label,
66
+ label = _ref$label === void 0 ? "" : _ref$label,
67
+ _ref$className = _ref.className,
68
+ className = _ref$className === void 0 ? "" : _ref$className,
69
+ maxLength = _ref.maxLength,
70
+ _ref$unlimitedChars = _ref.unlimitedChars,
71
+ unlimitedChars = _ref$unlimitedChars === void 0 ? false : _ref$unlimitedChars,
72
+ labelProps = _ref.labelProps,
73
+ onBlur = _ref.onBlur,
74
+ _ref$disableTrimOnBlu = _ref.disableTrimOnBlur,
75
+ disableTrimOnBlur = _ref$disableTrimOnBlu === void 0 ? false : _ref$disableTrimOnBlu,
76
+ otherProps = _objectWithoutProperties(_ref, _excluded);
77
+ var _useState = useState(""),
78
+ _useState2 = _slicedToArray(_useState, 2),
79
+ valueInternal = _useState2[0],
80
+ setValueInternal = _useState2[1];
81
+ var value = (_ref2 = (_otherProps$value = otherProps.value) !== null && _otherProps$value !== void 0 ? _otherProps$value : valueInternal) !== null && _ref2 !== void 0 ? _ref2 : "";
82
+ var id = useId(otherProps.id);
83
+ var errorId = "error_".concat(id);
84
+ var helpTextId = "helpText_".concat(id);
85
+ var textareaRef = useSyncedRef(ref);
86
+ var valueLength = (value === null || value === void 0 ? void 0 : value.toString().length) || 0;
87
+ var isCharacterLimitVisible = valueLength >= maxLength * 0.85;
88
+ var maxLengthError = unlimitedChars && valueLength > maxLength;
89
+ var onChangeInternal = function onChangeInternal(e) {
90
+ return setValueInternal(e.target.value);
91
+ };
92
+ var onChange = (_otherProps$onChange = otherProps.onChange) !== null && _otherProps$onChange !== void 0 ? _otherProps$onChange : onChangeInternal;
93
+ var isMaxLengthPresent = !!maxLength || maxLength === 0;
94
+ useEffect(function () {
95
+ textareaRef.current.style.minHeight = "22px";
96
+ textareaRef.current.style.height = "auto";
97
+ var scrollHeight = textareaRef.current.scrollHeight;
98
+ textareaRef.current.style.height = "".concat(scrollHeight + 1, "px");
99
+ }, [value]);
100
+ var handleTrimmedChangeOnBlur = function handleTrimmedChangeOnBlur(e) {
101
+ if (disableTrimOnBlur || typeof value !== "string") return;
102
+ var trimmedValue = value.trim();
103
+ if (value === trimmedValue) return;
104
+ e.target.value = trimmedValue;
105
+ onChange(e);
106
+ };
107
+ var handleOnBlur = function handleOnBlur(e) {
108
+ handleTrimmedChangeOnBlur(e);
109
+ onBlur === null || onBlur === void 0 || onBlur(e);
110
+ };
111
+ return /*#__PURE__*/React__default.createElement("div", {
112
+ className: classnames(["neeto-ui-input__wrapper", className])
113
+ }, /*#__PURE__*/React__default.createElement("div", {
114
+ className: "neeto-ui-input__label-wrapper"
115
+ }, label && /*#__PURE__*/React__default.createElement(Label, _extends({
116
+ required: required,
117
+ "data-cy": "".concat(hyphenize(label), "-label"),
118
+ htmlFor: id
119
+ }, labelProps), label), isCharacterLimitVisible && /*#__PURE__*/React__default.createElement("p", {
120
+ className: classnames("neeto-ui-input__max-length", {
121
+ "neeto-ui-input__max-length--error": maxLengthError
122
+ })
123
+ }, valueLength, "/", maxLength)), /*#__PURE__*/React__default.createElement("div", {
124
+ "data-cy": "".concat(hyphenize(label), "-text-input"),
125
+ className: classnames("neeto-ui-input", "neeto-ui-input--textarea", {
126
+ "neeto-ui-input--error": !!error,
127
+ "neeto-ui-input--disabled": !!disabled,
128
+ "neeto-ui-input--naked": !!nakedTextarea,
129
+ "neeto-ui-input--small": size === SIZES.small,
130
+ "neeto-ui-input--medium": size === SIZES.medium,
131
+ "neeto-ui-input--large": size === SIZES.large,
132
+ "neeto-ui-input--resize--vertical": resize === RESIZE.vertical,
133
+ "neeto-ui-input--resize--none": resize === RESIZE.none
134
+ })
135
+ }, prefix && /*#__PURE__*/React__default.createElement("div", {
136
+ className: "neeto-ui-input__prefix"
137
+ }, prefix), /*#__PURE__*/React__default.createElement("textarea", _extends({
138
+ ref: textareaRef,
139
+ rows: ROWS[size]
140
+ }, _objectSpread(_objectSpread(_objectSpread({
141
+ disabled: disabled
142
+ }, isMaxLengthPresent && !unlimitedChars && {
143
+ maxLength: maxLength
144
+ }), otherProps), {}, {
145
+ onChange: onChange,
146
+ value: value
147
+ }), {
148
+ onBlur: handleOnBlur
149
+ })), suffix && /*#__PURE__*/React__default.createElement("div", {
150
+ className: "neeto-ui-input__suffix"
151
+ }, suffix)), !!error && /*#__PURE__*/React__default.createElement("p", {
152
+ className: "neeto-ui-input__error",
153
+ "data-cy": "".concat(hyphenize(label), "-input-error"),
154
+ id: errorId
155
+ }, error), helpText && /*#__PURE__*/React__default.createElement("p", {
156
+ className: "neeto-ui-input__help-text",
157
+ id: helpTextId
158
+ }, helpText));
159
+ });
160
+ Textarea.displayName = "Textarea";
161
+
162
+ export { Textarea as T, useSyncedRef as u };
163
+ //# sourceMappingURL=Textarea-938a680f.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Textarea-938a680f.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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"}
package/dist/Textarea.js CHANGED
@@ -1,17 +1,17 @@
1
- import _defineProperty from '@babel/runtime/helpers/defineProperty';
2
- import _extends from '@babel/runtime/helpers/extends';
3
- import _slicedToArray from '@babel/runtime/helpers/slicedToArray';
4
- import _objectWithoutProperties from '@babel/runtime/helpers/objectWithoutProperties';
5
- import React__default, { forwardRef, useState, useEffect } from 'react';
6
- import classnames from 'classnames';
7
- import { u as useId } from './useId-c1d20bba.js';
1
+ import '@babel/runtime/helpers/defineProperty';
2
+ import '@babel/runtime/helpers/extends';
3
+ import '@babel/runtime/helpers/slicedToArray';
4
+ import '@babel/runtime/helpers/objectWithoutProperties';
5
+ import 'react';
6
+ import 'classnames';
7
+ import './useId-c1d20bba.js';
8
8
  import 'react-router-dom';
9
9
  import '@bigbinary/neeto-hotkeys';
10
10
  import './overlayManager.js';
11
- import { h as hyphenize } from './index-9d5142b4.js';
11
+ import './index-9d5142b4.js';
12
12
  import 'qs';
13
- import { u as useSyncedRef } from './useSyncedRef-226a3dbc.js';
14
- import Label from './Label.js';
13
+ export { T as default } from './Textarea-938a680f.js';
14
+ import './Label.js';
15
15
  import '@babel/runtime/helpers/classCallCheck';
16
16
  import '@babel/runtime/helpers/createClass';
17
17
  import 'dayjs';
@@ -23,146 +23,10 @@ import '@bigbinary/neeto-cist';
23
23
  import 'ramda';
24
24
  import '@bigbinary/neeto-icons';
25
25
  import './Button.js';
26
- import './motion-087daf52.js';
26
+ import 'framer-motion';
27
27
  import './Tooltip.js';
28
28
  import '@tippyjs/react';
29
29
  import 'tippy.js';
30
30
  import './Popover.js';
31
31
  import './Typography.js';
32
-
33
- var _excluded = ["size", "resize", "suffix", "prefix", "disabled", "required", "nakedTextarea", "helpText", "error", "label", "className", "maxLength", "unlimitedChars", "labelProps", "onBlur", "disableTrimOnBlur"];
34
- 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; }
35
- 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; }
36
- var SIZES = {
37
- small: "small",
38
- medium: "medium",
39
- large: "large"
40
- };
41
- var ROWS = {
42
- small: 1,
43
- medium: 3,
44
- large: 4
45
- };
46
- var RESIZE = {
47
- vertical: "vertical",
48
- none: "none"
49
- };
50
- var Textarea = /*#__PURE__*/forwardRef(function (_ref, ref) {
51
- var _ref2, _otherProps$value, _otherProps$onChange;
52
- var _ref$size = _ref.size,
53
- size = _ref$size === void 0 ? SIZES.medium : _ref$size,
54
- _ref$resize = _ref.resize,
55
- resize = _ref$resize === void 0 ? RESIZE.vertical : _ref$resize,
56
- _ref$suffix = _ref.suffix,
57
- suffix = _ref$suffix === void 0 ? null : _ref$suffix,
58
- _ref$prefix = _ref.prefix,
59
- prefix = _ref$prefix === void 0 ? null : _ref$prefix,
60
- _ref$disabled = _ref.disabled,
61
- disabled = _ref$disabled === void 0 ? false : _ref$disabled,
62
- _ref$required = _ref.required,
63
- required = _ref$required === void 0 ? false : _ref$required,
64
- _ref$nakedTextarea = _ref.nakedTextarea,
65
- nakedTextarea = _ref$nakedTextarea === void 0 ? false : _ref$nakedTextarea,
66
- _ref$helpText = _ref.helpText,
67
- helpText = _ref$helpText === void 0 ? "" : _ref$helpText,
68
- _ref$error = _ref.error,
69
- error = _ref$error === void 0 ? "" : _ref$error,
70
- _ref$label = _ref.label,
71
- label = _ref$label === void 0 ? "" : _ref$label,
72
- _ref$className = _ref.className,
73
- className = _ref$className === void 0 ? "" : _ref$className,
74
- maxLength = _ref.maxLength,
75
- _ref$unlimitedChars = _ref.unlimitedChars,
76
- unlimitedChars = _ref$unlimitedChars === void 0 ? false : _ref$unlimitedChars,
77
- labelProps = _ref.labelProps,
78
- onBlur = _ref.onBlur,
79
- _ref$disableTrimOnBlu = _ref.disableTrimOnBlur,
80
- disableTrimOnBlur = _ref$disableTrimOnBlu === void 0 ? false : _ref$disableTrimOnBlu,
81
- otherProps = _objectWithoutProperties(_ref, _excluded);
82
- var _useState = useState(""),
83
- _useState2 = _slicedToArray(_useState, 2),
84
- valueInternal = _useState2[0],
85
- setValueInternal = _useState2[1];
86
- var value = (_ref2 = (_otherProps$value = otherProps.value) !== null && _otherProps$value !== void 0 ? _otherProps$value : valueInternal) !== null && _ref2 !== void 0 ? _ref2 : "";
87
- var id = useId(otherProps.id);
88
- var errorId = "error_".concat(id);
89
- var helpTextId = "helpText_".concat(id);
90
- var textareaRef = useSyncedRef(ref);
91
- var valueLength = (value === null || value === void 0 ? void 0 : value.toString().length) || 0;
92
- var isCharacterLimitVisible = valueLength >= maxLength * 0.85;
93
- var maxLengthError = unlimitedChars && valueLength > maxLength;
94
- var onChangeInternal = function onChangeInternal(e) {
95
- return setValueInternal(e.target.value);
96
- };
97
- var onChange = (_otherProps$onChange = otherProps.onChange) !== null && _otherProps$onChange !== void 0 ? _otherProps$onChange : onChangeInternal;
98
- var isMaxLengthPresent = !!maxLength || maxLength === 0;
99
- useEffect(function () {
100
- textareaRef.current.style.minHeight = "22px";
101
- textareaRef.current.style.height = "auto";
102
- var scrollHeight = textareaRef.current.scrollHeight;
103
- textareaRef.current.style.height = "".concat(scrollHeight + 1, "px");
104
- }, [value]);
105
- var handleTrimmedChangeOnBlur = function handleTrimmedChangeOnBlur(e) {
106
- if (disableTrimOnBlur || typeof value !== "string") return;
107
- var trimmedValue = value.trim();
108
- if (value === trimmedValue) return;
109
- e.target.value = trimmedValue;
110
- onChange(e);
111
- };
112
- var handleOnBlur = function handleOnBlur(e) {
113
- handleTrimmedChangeOnBlur(e);
114
- onBlur === null || onBlur === void 0 || onBlur(e);
115
- };
116
- return /*#__PURE__*/React__default.createElement("div", {
117
- className: classnames(["neeto-ui-input__wrapper", className])
118
- }, /*#__PURE__*/React__default.createElement("div", {
119
- className: "neeto-ui-input__label-wrapper"
120
- }, label && /*#__PURE__*/React__default.createElement(Label, _extends({
121
- required: required,
122
- "data-cy": "".concat(hyphenize(label), "-label"),
123
- htmlFor: id
124
- }, labelProps), label), isCharacterLimitVisible && /*#__PURE__*/React__default.createElement("p", {
125
- className: classnames("neeto-ui-input__max-length", {
126
- "neeto-ui-input__max-length--error": maxLengthError
127
- })
128
- }, valueLength, "/", maxLength)), /*#__PURE__*/React__default.createElement("div", {
129
- "data-cy": "".concat(hyphenize(label), "-text-input"),
130
- className: classnames("neeto-ui-input", "neeto-ui-input--textarea", {
131
- "neeto-ui-input--error": !!error,
132
- "neeto-ui-input--disabled": !!disabled,
133
- "neeto-ui-input--naked": !!nakedTextarea,
134
- "neeto-ui-input--small": size === SIZES.small,
135
- "neeto-ui-input--medium": size === SIZES.medium,
136
- "neeto-ui-input--large": size === SIZES.large,
137
- "neeto-ui-input--resize--vertical": resize === RESIZE.vertical,
138
- "neeto-ui-input--resize--none": resize === RESIZE.none
139
- })
140
- }, prefix && /*#__PURE__*/React__default.createElement("div", {
141
- className: "neeto-ui-input__prefix"
142
- }, prefix), /*#__PURE__*/React__default.createElement("textarea", _extends({
143
- ref: textareaRef,
144
- rows: ROWS[size]
145
- }, _objectSpread(_objectSpread(_objectSpread({
146
- disabled: disabled
147
- }, isMaxLengthPresent && !unlimitedChars && {
148
- maxLength: maxLength
149
- }), otherProps), {}, {
150
- onChange: onChange,
151
- value: value
152
- }), {
153
- onBlur: handleOnBlur
154
- })), suffix && /*#__PURE__*/React__default.createElement("div", {
155
- className: "neeto-ui-input__suffix"
156
- }, suffix)), !!error && /*#__PURE__*/React__default.createElement("p", {
157
- className: "neeto-ui-input__error",
158
- "data-cy": "".concat(hyphenize(label), "-input-error"),
159
- id: errorId
160
- }, error), helpText && /*#__PURE__*/React__default.createElement("p", {
161
- className: "neeto-ui-input__help-text",
162
- id: helpTextId
163
- }, helpText));
164
- });
165
- Textarea.displayName = "Textarea";
166
-
167
- export { Textarea as default };
168
32
  //# sourceMappingURL=Textarea.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Textarea.js","sources":["../src/components/Textarea.jsx"],"sourcesContent":["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":["SIZES","small","medium","large","ROWS","RESIZE","vertical","none","Textarea","forwardRef","_ref","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","useSyncedRef","valueLength","toString","length","isCharacterLimitVisible","maxLengthError","onChangeInternal","e","target","onChange","isMaxLengthPresent","useEffect","current","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.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}