@kaizen/components 1.67.3 → 1.67.5

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.
@@ -3,7 +3,7 @@
3
3
  var tslib = require('tslib');
4
4
  var React = require('react');
5
5
  var classnames = require('classnames');
6
- var TextArea_module = require('./TextArea.module.scss.cjs');
6
+ var TextArea_module = require('./TextArea.module.css.cjs');
7
7
  function _interopDefault(e) {
8
8
  return e && e.__esModule ? e : {
9
9
  default: e
@@ -12,77 +12,45 @@ function _interopDefault(e) {
12
12
  var React__default = /*#__PURE__*/_interopDefault(React);
13
13
  var classnames__default = /*#__PURE__*/_interopDefault(classnames);
14
14
  var TextArea = function (_a) {
15
+ var _b, _c;
15
16
  var propsTextAreaRef = _a.textAreaRef,
16
- _b = _a.status,
17
- status = _b === void 0 ? "default" : _b,
18
- _c = _a.autogrow,
19
- autogrow = _c === void 0 ? false : _c,
20
- _d = _a.reversed,
21
- reversed = _d === void 0 ? false : _d,
22
- _e = _a.rows,
23
- rows = _e === void 0 ? 3 : _e,
17
+ _d = _a.status,
18
+ status = _d === void 0 ? "default" : _d,
19
+ _e = _a.autogrow,
20
+ autogrow = _e === void 0 ? false : _e,
21
+ _f = _a.reversed,
22
+ reversed = _f === void 0 ? false : _f,
23
+ _g = _a.rows,
24
+ rows = _g === void 0 ? 3 : _g,
24
25
  defaultValue = _a.defaultValue,
25
26
  value = _a.value,
26
27
  disabled = _a.disabled,
27
28
  propsOnChange = _a.onChange,
28
29
  restProps = tslib.__rest(_a, ["textAreaRef", "status", "autogrow", "reversed", "rows", "defaultValue", "value", "disabled", "onChange"]);
29
- var _f = React.useState("auto"),
30
- textAreaHeight = _f[0],
31
- setTextAreaHeight = _f[1];
32
- var _g = React.useState("auto"),
33
- parentHeight = _g[0],
34
- setParentHeight = _g[1];
35
- var _h = React.useState(autogrow ? defaultValue : undefined),
30
+ var _h = React.useState(autogrow && !value ? defaultValue : undefined),
36
31
  internalValue = _h[0],
37
32
  setInternalValue = _h[1];
38
33
  // ^ holds an internal state of the value so that autogrow can still work with uncontrolled textareas
39
- // essentially forces the textarea into an (interally) controlled mode if autogrow is true
34
+ // essentially forces the textarea into an (interally) controlled mode if autogrow is true and mode is uncontrolled
35
+ var controlledValue = value || internalValue;
40
36
  var textAreaRef = propsTextAreaRef || React.useRef(null);
41
- React.useEffect(function () {
42
- if (!autogrow) return;
43
- var scrollHeight = textAreaRef.current.scrollHeight;
44
- if (scrollHeight < 1) return;
45
- var borderWidth = textAreaRef.current ? parseInt(getComputedStyle(textAreaRef.current).borderTopWidth, 10) : 0;
46
- var newHeight = scrollHeight + borderWidth * 2;
47
- setParentHeight("".concat(newHeight, "px"));
48
- setTextAreaHeight("".concat(newHeight, "px"));
49
- }, [internalValue]);
50
- var onChange = !autogrow ? undefined : function (event) {
51
- setTextAreaHeight("auto");
52
- // ^ this is required to avoid the textarea height from building up indefinitely
53
- // see https://medium.com/@lucasalgus/creating-a-custom-auto-resize-textarea-component-for-your-react-web-application-6959c0ad68bc#2dee
37
+ var onChange = function (event) {
38
+ propsOnChange && propsOnChange(event);
54
39
  setInternalValue(event.target.value);
55
- if (propsOnChange) {
56
- propsOnChange(event);
57
- }
58
- };
59
- var getWrapperStyle = function () {
60
- return autogrow ? {
61
- minHeight: parentHeight
62
- } : undefined;
63
40
  };
64
- var getTextAreaStyle = function () {
65
- return autogrow ? {
66
- height: textAreaHeight
67
- } : undefined;
68
- };
69
- var controlledValue = value || internalValue;
70
41
  return React__default.default.createElement("div", {
71
- className: TextArea_module.wrapper,
72
- style: getWrapperStyle()
42
+ className: classnames__default.default(TextArea_module.wrapper, (_b = {}, _b[TextArea_module.wrapperAutogrow] = autogrow, _b)),
43
+ "data-value": autogrow ? controlledValue : undefined
73
44
  }, React__default.default.createElement("textarea", tslib.__assign({
74
- className: classnames__default.default(TextArea_module.textarea, TextArea_module[status], reversed ? TextArea_module.reversed : TextArea_module.default, disabled && TextArea_module.disabled),
45
+ className: classnames__default.default(TextArea_module.textarea, TextArea_module[status], reversed ? TextArea_module.reversed : TextArea_module.default, (_c = {}, _c[TextArea_module.disabled] = disabled, _c[TextArea_module.textareaAutogrow] = autogrow, _c)),
75
46
  rows: rows,
76
- onChange: onChange || propsOnChange,
47
+ onChange: onChange,
77
48
  value: controlledValue,
78
49
  defaultValue: controlledValue ? undefined : defaultValue,
79
50
  // ^ React throws a warning if you specify both a value and a defaultValue
80
51
  ref: textAreaRef,
81
- style: getTextAreaStyle(),
82
52
  disabled: disabled
83
- }, restProps)), React__default.default.createElement("div", {
84
- className: TextArea_module.focusRing
85
- }));
53
+ }, restProps)));
86
54
  };
87
55
  TextArea.displayName = "TextArea";
88
56
  exports.TextArea = TextArea;
@@ -0,0 +1,14 @@
1
+ 'use strict';
2
+
3
+ var styles = {
4
+ "wrapper": "TextArea-module_wrapper__FHfMG",
5
+ "wrapperAutogrow": "TextArea-module_wrapperAutogrow__f46bL",
6
+ "textarea": "TextArea-module_textarea__Ht-1a",
7
+ "textareaAutogrow": "TextArea-module_textareaAutogrow__ReEar",
8
+ "default": "TextArea-module_default__e1cis",
9
+ "error": "TextArea-module_error__bBmvS",
10
+ "caution": "TextArea-module_caution__aj4nR",
11
+ "disabled": "TextArea-module_disabled__XY39a",
12
+ "reversed": "TextArea-module_reversed__r-W3e"
13
+ };
14
+ module.exports = styles;
@@ -1,80 +1,48 @@
1
1
  import { __rest, __assign } from 'tslib';
2
- import React, { useState, useRef, useEffect } from 'react';
2
+ import React, { useState, useRef } from 'react';
3
3
  import classnames from 'classnames';
4
- import styles from './TextArea.module.scss.mjs';
4
+ import styles from './TextArea.module.css.mjs';
5
5
  const TextArea = /*#__PURE__*/function () {
6
6
  const TextArea = function (_a) {
7
+ var _b, _c;
7
8
  var propsTextAreaRef = _a.textAreaRef,
8
- _b = _a.status,
9
- status = _b === void 0 ? "default" : _b,
10
- _c = _a.autogrow,
11
- autogrow = _c === void 0 ? false : _c,
12
- _d = _a.reversed,
13
- reversed = _d === void 0 ? false : _d,
14
- _e = _a.rows,
15
- rows = _e === void 0 ? 3 : _e,
9
+ _d = _a.status,
10
+ status = _d === void 0 ? "default" : _d,
11
+ _e = _a.autogrow,
12
+ autogrow = _e === void 0 ? false : _e,
13
+ _f = _a.reversed,
14
+ reversed = _f === void 0 ? false : _f,
15
+ _g = _a.rows,
16
+ rows = _g === void 0 ? 3 : _g,
16
17
  defaultValue = _a.defaultValue,
17
18
  value = _a.value,
18
19
  disabled = _a.disabled,
19
20
  propsOnChange = _a.onChange,
20
21
  restProps = __rest(_a, ["textAreaRef", "status", "autogrow", "reversed", "rows", "defaultValue", "value", "disabled", "onChange"]);
21
- var _f = useState("auto"),
22
- textAreaHeight = _f[0],
23
- setTextAreaHeight = _f[1];
24
- var _g = useState("auto"),
25
- parentHeight = _g[0],
26
- setParentHeight = _g[1];
27
- var _h = useState(autogrow ? defaultValue : undefined),
22
+ var _h = useState(autogrow && !value ? defaultValue : undefined),
28
23
  internalValue = _h[0],
29
24
  setInternalValue = _h[1];
30
25
  // ^ holds an internal state of the value so that autogrow can still work with uncontrolled textareas
31
- // essentially forces the textarea into an (interally) controlled mode if autogrow is true
26
+ // essentially forces the textarea into an (interally) controlled mode if autogrow is true and mode is uncontrolled
27
+ var controlledValue = value || internalValue;
32
28
  var textAreaRef = propsTextAreaRef || useRef(null);
33
- useEffect(function () {
34
- if (!autogrow) return;
35
- var scrollHeight = textAreaRef.current.scrollHeight;
36
- if (scrollHeight < 1) return;
37
- var borderWidth = textAreaRef.current ? parseInt(getComputedStyle(textAreaRef.current).borderTopWidth, 10) : 0;
38
- var newHeight = scrollHeight + borderWidth * 2;
39
- setParentHeight("".concat(newHeight, "px"));
40
- setTextAreaHeight("".concat(newHeight, "px"));
41
- }, [internalValue]);
42
- var onChange = !autogrow ? undefined : function (event) {
43
- setTextAreaHeight("auto");
44
- // ^ this is required to avoid the textarea height from building up indefinitely
45
- // see https://medium.com/@lucasalgus/creating-a-custom-auto-resize-textarea-component-for-your-react-web-application-6959c0ad68bc#2dee
29
+ var onChange = function (event) {
30
+ propsOnChange && propsOnChange(event);
46
31
  setInternalValue(event.target.value);
47
- if (propsOnChange) {
48
- propsOnChange(event);
49
- }
50
- };
51
- var getWrapperStyle = function () {
52
- return autogrow ? {
53
- minHeight: parentHeight
54
- } : undefined;
55
32
  };
56
- var getTextAreaStyle = function () {
57
- return autogrow ? {
58
- height: textAreaHeight
59
- } : undefined;
60
- };
61
- var controlledValue = value || internalValue;
62
33
  return /*#__PURE__*/React.createElement("div", {
63
- className: styles.wrapper,
64
- style: getWrapperStyle()
34
+ className: classnames(styles.wrapper, (_b = {}, _b[styles.wrapperAutogrow] = autogrow, _b)),
35
+ "data-value": autogrow ? controlledValue : undefined
65
36
  }, /*#__PURE__*/React.createElement("textarea", __assign({
66
- className: classnames(styles.textarea, styles[status], reversed ? styles.reversed : styles.default, disabled && styles.disabled),
37
+ className: classnames(styles.textarea, styles[status], reversed ? styles.reversed : styles.default, (_c = {}, _c[styles.disabled] = disabled, _c[styles.textareaAutogrow] = autogrow, _c)),
67
38
  rows: rows,
68
- onChange: onChange || propsOnChange,
39
+ onChange: onChange,
69
40
  value: controlledValue,
70
41
  defaultValue: controlledValue ? undefined : defaultValue,
71
42
  // ^ React throws a warning if you specify both a value and a defaultValue
72
43
  ref: textAreaRef,
73
- style: getTextAreaStyle(),
74
44
  disabled: disabled
75
- }, restProps)), /*#__PURE__*/React.createElement("div", {
76
- className: styles.focusRing
77
- }));
45
+ }, restProps)));
78
46
  };
79
47
  TextArea.displayName = "TextArea";
80
48
  return TextArea;
@@ -0,0 +1,12 @@
1
+ var styles = {
2
+ "wrapper": "TextArea-module_wrapper__FHfMG",
3
+ "wrapperAutogrow": "TextArea-module_wrapperAutogrow__f46bL",
4
+ "textarea": "TextArea-module_textarea__Ht-1a",
5
+ "textareaAutogrow": "TextArea-module_textareaAutogrow__ReEar",
6
+ "default": "TextArea-module_default__e1cis",
7
+ "error": "TextArea-module_error__bBmvS",
8
+ "caution": "TextArea-module_caution__aj4nR",
9
+ "disabled": "TextArea-module_disabled__XY39a",
10
+ "reversed": "TextArea-module_reversed__r-W3e"
11
+ };
12
+ export { styles as default };