maru_design2 2.24.4 → 2.25.1
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.
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,26 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## [2.25.1](https://github.com/42maru-ai/maru-design2/compare/v2.25.0...v2.25.1) (2025-04-15)
|
|
4
|
+
|
|
5
|
+
|
|
6
|
+
### Bug Fixes
|
|
7
|
+
|
|
8
|
+
* :bento: Icon - add datahub new icons ([997f1e4](https://github.com/42maru-ai/maru-design2/commit/997f1e4af29e409b2d1ad6cb652ff729c95f0efb))
|
|
9
|
+
|
|
10
|
+
## [2.25.0](https://github.com/42maru-ai/maru-design2/compare/v2.24.4...v2.25.0) (2025-04-08)
|
|
11
|
+
|
|
12
|
+
|
|
13
|
+
### Features
|
|
14
|
+
|
|
15
|
+
* :sparkles: Textarea - add minRows, maxRows [#540](https://github.com/42maru-ai/maru-design2/issues/540) ([b907d40](https://github.com/42maru-ai/maru-design2/commit/b907d40834eb48baea693d94364940605478963a))
|
|
16
|
+
* :sparkles: Textarea - add resizable [#553](https://github.com/42maru-ai/maru-design2/issues/553) ([594031e](https://github.com/42maru-ai/maru-design2/commit/594031e12f14870708e691b1f59fc863c948aa20))
|
|
17
|
+
|
|
18
|
+
|
|
19
|
+
### Bug Fixes
|
|
20
|
+
|
|
21
|
+
* :bug: Textarea - fix condition & update storybook ([7f14d1a](https://github.com/42maru-ai/maru-design2/commit/7f14d1a95f53956e2a5a6fcbcbdfc5a3ed9d440c))
|
|
22
|
+
* :bug: Textarea - fix init scrollHeight ([c6aa3cc](https://github.com/42maru-ai/maru-design2/commit/c6aa3ccf3f2b2e1b1947bf5a70943044ad2e9f40))
|
|
23
|
+
|
|
3
24
|
## [2.24.4](https://github.com/42maru-ai/maru-design2/compare/v2.24.3...v2.24.4) (2025-03-31)
|
|
4
25
|
|
|
5
26
|
|
|
@@ -189,6 +189,7 @@ export declare const ICONS: {
|
|
|
189
189
|
readonly FilePlus_s1810: "FilePlus_s1810";
|
|
190
190
|
readonly FilePlus_s1812: "FilePlus_s1812";
|
|
191
191
|
readonly FileQuestion02_s1615: "FileQuestion02_s1615";
|
|
192
|
+
readonly FileRefresh_s1413: "FileRefresh_s1413";
|
|
192
193
|
readonly FileRefresh_s1810: "FileRefresh_s1810";
|
|
193
194
|
readonly FileRefresh_s1812: "FileRefresh_s1812";
|
|
194
195
|
readonly FileSlash_02_s1810: "FileSlash_02_s1810";
|
|
@@ -270,6 +271,7 @@ export declare const ICONS: {
|
|
|
270
271
|
readonly PlusLines_s1210: "PlusLines_s1210";
|
|
271
272
|
readonly PlusUpLines_s1413: "PlusUpLines_s1413";
|
|
272
273
|
readonly Plus_s1610: "Plus_s1610";
|
|
274
|
+
readonly PreviewEye_s1413: "PreviewEye_s1413";
|
|
273
275
|
readonly PreviewLine_s2013: "PreviewLine_s2013";
|
|
274
276
|
readonly PreviewLine_s2415: "PreviewLine_s2415";
|
|
275
277
|
readonly PreviewZoom_s2013: "PreviewZoom_s2013";
|
|
@@ -21,5 +21,18 @@ export interface TextareaProps extends Omit<React.TextareaHTMLAttributes<HTMLTex
|
|
|
21
21
|
*/
|
|
22
22
|
wrapperRef?: React.RefObject<HTMLDivElement>;
|
|
23
23
|
className?: string;
|
|
24
|
+
/**
|
|
25
|
+
* 최소 높이. 없으면 props.rows 이거나 1로 설정.
|
|
26
|
+
*/
|
|
27
|
+
minRows?: number;
|
|
28
|
+
/**
|
|
29
|
+
* 최대 높이. 없으면 무한대 늘어남.
|
|
30
|
+
*/
|
|
31
|
+
maxRows?: number;
|
|
32
|
+
/**
|
|
33
|
+
* 바닥 선분을 마우스로 드래그해서 크기를 조절할 수 있는지 여부
|
|
34
|
+
* - 기본값은 false
|
|
35
|
+
*/
|
|
36
|
+
resizable?: boolean;
|
|
24
37
|
}
|
|
25
38
|
export declare const Textarea: React.ForwardRefExoticComponent<TextareaProps & React.RefAttributes<HTMLTextAreaElement>>;
|
package/dist/index.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { jsx, jsxs, Fragment } from 'react/jsx-runtime';
|
|
2
2
|
import * as React from 'react';
|
|
3
|
-
import React__default, { useState, useMemo, forwardRef, useEffect, useRef, createElement, Component, useLayoutEffect, createRef } from 'react';
|
|
3
|
+
import React__default, { useState, useMemo, forwardRef, useEffect, useRef, useCallback, createElement, Component, useLayoutEffect, createRef } from 'react';
|
|
4
4
|
import * as ReactDOM from 'react-dom';
|
|
5
5
|
import ReactDOM__default, { findDOMNode } from 'react-dom';
|
|
6
6
|
|
|
@@ -3066,6 +3066,27 @@ var iconmap = {
|
|
|
3066
3066
|
"circles": [],
|
|
3067
3067
|
"rects": []
|
|
3068
3068
|
},
|
|
3069
|
+
"FileRefresh_s1413": {
|
|
3070
|
+
"width": "14",
|
|
3071
|
+
"height": "15",
|
|
3072
|
+
"viewBox": "0 0 14 15",
|
|
3073
|
+
"fill": "none",
|
|
3074
|
+
"paths": [{
|
|
3075
|
+
"d": "M7.54161 1.65723V4.06671C7.54161 4.39341 7.54161 4.55675 7.61049 4.68154C7.67108 4.7913 7.76775 4.88054 7.88666 4.93646C8.02184 5.00004 8.1988 5.00004 8.55272 5.00004H11.163M3.9305 13.1667C2.86874 13.1667 2.66285 13.1667 2.25731 12.9759C1.90059 12.8081 1.61056 12.5404 1.4288 12.2111C1.22217 11.8368 1.22217 11.3468 1.22217 10.3667V4.3C1.22217 3.31991 1.22217 2.82986 1.4288 2.45552C1.61056 2.12623 1.90059 1.85852 2.25731 1.69074C2.66285 1.5 3.19374 1.5 4.2555 1.5H7.54161L11.3333 5V6.36667",
|
|
3076
|
+
"stroke": "#5C5C5C",
|
|
3077
|
+
"strokeWidth": "1.3",
|
|
3078
|
+
"strokeLinecap": "round",
|
|
3079
|
+
"strokeLinejoin": "round"
|
|
3080
|
+
}, {
|
|
3081
|
+
"d": "M5.69405 11.7218C6.02604 12.5833 6.75112 13.2796 7.71112 13.5368C9.30609 13.9642 10.9455 13.0177 11.3729 11.4227L11.4184 11.2528M5.59685 9.87499C6.02423 8.28002 7.66366 7.3335 9.25862 7.76087C10.2186 8.0181 10.9437 8.71443 11.2757 9.57587M5.04252 9.36227L5.53996 10.2239L6.40155 9.72642M10.5684 11.5712L11.43 11.0738L11.9274 11.9354",
|
|
3082
|
+
"stroke": "#5C5C5C",
|
|
3083
|
+
"strokeWidth": "1.3",
|
|
3084
|
+
"strokeLinecap": "round",
|
|
3085
|
+
"strokeLinejoin": "round"
|
|
3086
|
+
}],
|
|
3087
|
+
"circles": [],
|
|
3088
|
+
"rects": []
|
|
3089
|
+
},
|
|
3069
3090
|
"FileRefresh_s1810": {
|
|
3070
3091
|
"width": "15",
|
|
3071
3092
|
"height": "14",
|
|
@@ -4522,6 +4543,32 @@ var iconmap = {
|
|
|
4522
4543
|
"circles": [],
|
|
4523
4544
|
"rects": []
|
|
4524
4545
|
},
|
|
4546
|
+
"PreviewEye_s1413": {
|
|
4547
|
+
"width": "14",
|
|
4548
|
+
"height": "15",
|
|
4549
|
+
"viewBox": "0 0 14 15",
|
|
4550
|
+
"fill": "none",
|
|
4551
|
+
"paths": [{
|
|
4552
|
+
"d": "M7 10.125C8.933 10.125 10.5 8.375 10.5 8.375C10.5 8.375 8.933 6.625 7 6.625C5.067 6.625 3.5 8.375 3.5 8.375C3.5 8.375 5.067 10.125 7 10.125Z",
|
|
4553
|
+
"stroke": "#5C5C5C",
|
|
4554
|
+
"strokeWidth": "1.3",
|
|
4555
|
+
"strokeLinejoin": "round"
|
|
4556
|
+
}, {
|
|
4557
|
+
"d": "M7 9.10433C7.48325 9.10433 7.875 8.77787 7.875 8.37516C7.875 7.97246 7.48325 7.646 7 7.646C6.51675 7.646 6.125 7.97246 6.125 8.37516C6.125 8.77787 6.51675 9.10433 7 9.10433Z",
|
|
4558
|
+
"fill": "#5C5C5C",
|
|
4559
|
+
"stroke": "#5C5C5C",
|
|
4560
|
+
"strokeWidth": "1.3",
|
|
4561
|
+
"strokeLinejoin": "round"
|
|
4562
|
+
}, {
|
|
4563
|
+
"d": "M13.125 4.4375H0.875001M13.125 4.4375L13.125 9.95C13.125 10.9301 13.125 11.4201 12.9247 11.7945C12.7486 12.1238 12.4675 12.3915 12.1217 12.5593C11.7286 12.75 11.2141 12.75 10.185 12.75H3.815C2.7859 12.75 2.27135 12.75 1.87829 12.5593C1.53254 12.3915 1.25144 12.1238 1.07528 11.7945C0.875 11.4201 0.875 10.9301 0.875 9.95L0.875001 4.4375M13.125 4.4375C13.125 3.45741 13.125 3.57986 12.9247 3.20552C12.7486 2.87623 12.4675 2.60852 12.1217 2.44074C11.7286 2.25 11.2141 2.25 10.185 2.25L3.815 2.25C2.7859 2.25 2.27136 2.25 1.87829 2.44074C1.53254 2.60852 1.25144 2.87623 1.07528 3.20552C0.875 3.57986 0.875001 3.45741 0.875001 4.4375",
|
|
4564
|
+
"stroke": "#5C5C5C",
|
|
4565
|
+
"strokeWidth": "1.3",
|
|
4566
|
+
"strokeLinecap": "round",
|
|
4567
|
+
"strokeLinejoin": "round"
|
|
4568
|
+
}],
|
|
4569
|
+
"circles": [],
|
|
4570
|
+
"rects": []
|
|
4571
|
+
},
|
|
4525
4572
|
"PreviewLine_s2013": {
|
|
4526
4573
|
"width": "20",
|
|
4527
4574
|
"height": "20",
|
|
@@ -6077,6 +6124,7 @@ var ICONS = {
|
|
|
6077
6124
|
"FilePlus_s1810": "FilePlus_s1810",
|
|
6078
6125
|
"FilePlus_s1812": "FilePlus_s1812",
|
|
6079
6126
|
"FileQuestion02_s1615": "FileQuestion02_s1615",
|
|
6127
|
+
"FileRefresh_s1413": "FileRefresh_s1413",
|
|
6080
6128
|
"FileRefresh_s1810": "FileRefresh_s1810",
|
|
6081
6129
|
"FileRefresh_s1812": "FileRefresh_s1812",
|
|
6082
6130
|
"FileSlash_02_s1810": "FileSlash_02_s1810",
|
|
@@ -6158,6 +6206,7 @@ var ICONS = {
|
|
|
6158
6206
|
"PlusLines_s1210": "PlusLines_s1210",
|
|
6159
6207
|
"PlusUpLines_s1413": "PlusUpLines_s1413",
|
|
6160
6208
|
"Plus_s1610": "Plus_s1610",
|
|
6209
|
+
"PreviewEye_s1413": "PreviewEye_s1413",
|
|
6161
6210
|
"PreviewLine_s2013": "PreviewLine_s2013",
|
|
6162
6211
|
"PreviewLine_s2415": "PreviewLine_s2415",
|
|
6163
6212
|
"PreviewZoom_s2013": "PreviewZoom_s2013",
|
|
@@ -8891,7 +8940,7 @@ function Slider(_a) {
|
|
|
8891
8940
|
}));
|
|
8892
8941
|
}
|
|
8893
8942
|
|
|
8894
|
-
var css_248z$b = ".maru-textarea-wrapper .maru-textarea {\n display: flex;\n justify-content: center;\n align-items: flex-start;\n flex-direction: row;\n padding: 8px 8px 8px 12px;\n border: 1px solid #e4e4e4;\n border-radius: 6px;\n gap: 8px;\n}\n.maru-textarea-wrapper .maru-textarea > textarea {\n width: 100%;\n border: unset;\n outline: unset;\n background-color: transparent;\n font-family: Pretendard;\n font-style: normal;\n line-height: 150%;\n font-size: 14px;\n letter-spacing: -0.56px;\n font-weight: 400;\n color: #5c5c5c;\n resize: none;\n}\n.maru-textarea-wrapper .maru-textarea > textarea::-webkit-input-placeholder {\n font-weight: 300;\n color: #8c8c8c;\n}\n.maru-textarea-wrapper .maru-textarea > textarea::-moz-placeholder {\n font-weight: 300;\n color: #8c8c8c;\n}\n.maru-textarea-wrapper .maru-textarea > textarea:-ms-input-placeholder {\n font-weight: 300;\n color: #8c8c8c;\n}\n.maru-textarea-wrapper .maru-textarea > textarea::-ms-input-placeholder {\n font-weight: 300;\n color: #8c8c8c;\n}\n.maru-textarea-wrapper .maru-textarea > textarea::placeholder {\n font-weight: 300;\n color: #8c8c8c;\n}\n.maru-textarea-wrapper .maru-textarea:focus-visible, .maru-textarea-wrapper .maru-textarea:focus-within {\n border-color: #5c5c5c;\n background-color: #fafafa;\n}\n.maru-textarea-wrapper .maru-textarea.errored {\n outline: 1px solid #e53e3e;\n border-color: #e53e3e;\n}\n.maru-textarea-wrapper .maru-textarea:hover {\n outline: 1px solid #e4e4e4;\n border-color: #e4e4e4;\n background-color: #fafafa;\n}\n.maru-textarea-wrapper .maru-textarea.disabled {\n background-color: #fafafa;\n}\n.maru-textarea-wrapper .maru-textarea.disabled > textarea {\n color: #bdbdbd;\n}\n.maru-textarea-wrapper .maru-textarea.disabled > textarea::-webkit-input-placeholder {\n color: #bdbdbd;\n}\n.maru-textarea-wrapper .maru-textarea.disabled > textarea::-moz-placeholder {\n color: #bdbdbd;\n}\n.maru-textarea-wrapper .maru-textarea.disabled > textarea:-ms-input-placeholder {\n color: #bdbdbd;\n}\n.maru-textarea-wrapper .maru-textarea.disabled > textarea::-ms-input-placeholder {\n color: #bdbdbd;\n}\n.maru-textarea-wrapper .maru-textarea.disabled > textarea::placeholder {\n color: #bdbdbd;\n}\n.maru-textarea-wrapper .maru-textarea.disabled:hover {\n outline: unset;\n}\n.maru-textarea-wrapper .maru-textarea-end-node-wrapper {\n display: flex;\n justify-content: center;\n align-items: center;\n flex-direction: row;\n}\n.maru-textarea-wrapper .maru-textarea-end-node-wrapper > button {\n padding: unset;\n margin: unset;\n border: unset;\n background-color: unset;\n cursor: pointer;\n width: 16px;\n height: 16px;\n}\n.maru-textarea-wrapper .maru-textarea-footer {\n display: block;\n margin-top: 4px;\n}\n.maru-textarea-wrapper .maru-textarea-footer > span {\n font-family: Pretendard;\n font-style: normal;\n line-height: 150%;\n font-size: 12px;\n letter-spacing: -0.48px;\n font-weight: 500;\n color: #e53e3e;\n}";
|
|
8943
|
+
var css_248z$b = ".maru-textarea-wrapper .maru-textarea-resizable-wrapper {\n position: relative;\n}\n.maru-textarea-wrapper .maru-textarea {\n display: flex;\n justify-content: center;\n align-items: flex-start;\n flex-direction: row;\n padding: 8px 8px 8px 12px;\n border: 1px solid #e4e4e4;\n border-radius: 6px;\n gap: 8px;\n}\n.maru-textarea-wrapper .maru-textarea > textarea {\n width: 100%;\n border: unset;\n outline: unset;\n background-color: transparent;\n font-family: Pretendard;\n font-style: normal;\n line-height: 150%;\n font-size: 14px;\n letter-spacing: -0.56px;\n font-weight: 400;\n color: #5c5c5c;\n resize: none;\n}\n.maru-textarea-wrapper .maru-textarea > textarea::-webkit-input-placeholder {\n font-weight: 300;\n color: #8c8c8c;\n}\n.maru-textarea-wrapper .maru-textarea > textarea::-moz-placeholder {\n font-weight: 300;\n color: #8c8c8c;\n}\n.maru-textarea-wrapper .maru-textarea > textarea:-ms-input-placeholder {\n font-weight: 300;\n color: #8c8c8c;\n}\n.maru-textarea-wrapper .maru-textarea > textarea::-ms-input-placeholder {\n font-weight: 300;\n color: #8c8c8c;\n}\n.maru-textarea-wrapper .maru-textarea > textarea::placeholder {\n font-weight: 300;\n color: #8c8c8c;\n}\n.maru-textarea-wrapper .maru-textarea:focus-visible, .maru-textarea-wrapper .maru-textarea:focus-within {\n border-color: #5c5c5c;\n background-color: #fafafa;\n}\n.maru-textarea-wrapper .maru-textarea.errored {\n outline: 1px solid #e53e3e;\n border-color: #e53e3e;\n}\n.maru-textarea-wrapper .maru-textarea:hover {\n outline: 1px solid #e4e4e4;\n border-color: #e4e4e4;\n background-color: #fafafa;\n}\n.maru-textarea-wrapper .maru-textarea.disabled {\n background-color: #fafafa;\n}\n.maru-textarea-wrapper .maru-textarea.disabled > textarea {\n color: #bdbdbd;\n}\n.maru-textarea-wrapper .maru-textarea.disabled > textarea::-webkit-input-placeholder {\n color: #bdbdbd;\n}\n.maru-textarea-wrapper .maru-textarea.disabled > textarea::-moz-placeholder {\n color: #bdbdbd;\n}\n.maru-textarea-wrapper .maru-textarea.disabled > textarea:-ms-input-placeholder {\n color: #bdbdbd;\n}\n.maru-textarea-wrapper .maru-textarea.disabled > textarea::-ms-input-placeholder {\n color: #bdbdbd;\n}\n.maru-textarea-wrapper .maru-textarea.disabled > textarea::placeholder {\n color: #bdbdbd;\n}\n.maru-textarea-wrapper .maru-textarea.disabled:hover {\n outline: unset;\n}\n.maru-textarea-wrapper .maru-textarea-end-node-wrapper {\n display: flex;\n justify-content: center;\n align-items: center;\n flex-direction: row;\n}\n.maru-textarea-wrapper .maru-textarea-end-node-wrapper > button {\n padding: unset;\n margin: unset;\n border: unset;\n background-color: unset;\n cursor: pointer;\n width: 16px;\n height: 16px;\n}\n.maru-textarea-wrapper .resizer {\n position: absolute;\n bottom: 0;\n left: 0;\n height: 5px;\n width: 100%;\n cursor: ns-resize;\n background: transparent;\n}\n.maru-textarea-wrapper .maru-textarea-footer {\n display: block;\n margin-top: 4px;\n}\n.maru-textarea-wrapper .maru-textarea-footer > span {\n font-family: Pretendard;\n font-style: normal;\n line-height: 150%;\n font-size: 12px;\n letter-spacing: -0.48px;\n font-weight: 500;\n color: #e53e3e;\n}";
|
|
8895
8944
|
styleInject(css_248z$b);
|
|
8896
8945
|
|
|
8897
8946
|
var Textarea = /*#__PURE__*/forwardRef(function (_a, textareaRef) {
|
|
@@ -8900,15 +8949,40 @@ var Textarea = /*#__PURE__*/forwardRef(function (_a, textareaRef) {
|
|
|
8900
8949
|
hiddenClearButton = _a.hiddenClearButton,
|
|
8901
8950
|
wrapperRef = _a.wrapperRef,
|
|
8902
8951
|
className = _a.className,
|
|
8903
|
-
|
|
8904
|
-
|
|
8905
|
-
|
|
8906
|
-
|
|
8952
|
+
minRows = _a.minRows,
|
|
8953
|
+
maxRows = _a.maxRows,
|
|
8954
|
+
_b = _a.resizable,
|
|
8955
|
+
resizable = _b === void 0 ? false : _b,
|
|
8956
|
+
props = __rest(_a, ["invalid", "onClear", "hiddenClearButton", "wrapperRef", "className", "minRows", "maxRows", "resizable"]);
|
|
8957
|
+
var _c = useState(false),
|
|
8958
|
+
showClearButton = _c[0],
|
|
8959
|
+
setShowClearButton = _c[1];
|
|
8907
8960
|
var combineRef = useCombineRef(textareaRef);
|
|
8961
|
+
var minHeight = useCallback(function (lineHeight) {
|
|
8962
|
+
return minRows ? minRows * lineHeight : 0;
|
|
8963
|
+
}, [minRows]);
|
|
8964
|
+
var maxHeight = useCallback(function (lineHeight) {
|
|
8965
|
+
return maxRows ? maxRows * lineHeight : Infinity;
|
|
8966
|
+
}, [maxRows]);
|
|
8967
|
+
/**
|
|
8968
|
+
* textarea의 높이를 조절하는 함수
|
|
8969
|
+
* - rows는 기본적으로 초기 높이 설정하는데에만 쓰임
|
|
8970
|
+
* - 동적 높이 조정은 css height 속성 변경으로 조정해야함
|
|
8971
|
+
*/
|
|
8908
8972
|
var resizeHeight = function resizeHeight() {
|
|
8909
8973
|
if (combineRef.current) {
|
|
8974
|
+
// 항상 그때의 scrollHeight를 가져오도록 높이를 초기화
|
|
8910
8975
|
combineRef.current.style.height = 'auto';
|
|
8911
|
-
|
|
8976
|
+
var lineHeight = parseInt(window.getComputedStyle(combineRef.current).lineHeight || '0', 10);
|
|
8977
|
+
var scrollHeight = combineRef.current.scrollHeight;
|
|
8978
|
+
if (lineHeight) {
|
|
8979
|
+
var min = minHeight(lineHeight);
|
|
8980
|
+
var max = maxHeight(lineHeight);
|
|
8981
|
+
var newHeight = Math.min(Math.max(scrollHeight, min), max);
|
|
8982
|
+
combineRef.current.style.height = "".concat(newHeight, "px");
|
|
8983
|
+
} else {
|
|
8984
|
+
combineRef.current.style.height = "".concat(scrollHeight, "px");
|
|
8985
|
+
}
|
|
8912
8986
|
}
|
|
8913
8987
|
};
|
|
8914
8988
|
useEffect(function () {
|
|
@@ -8955,33 +9029,65 @@ var Textarea = /*#__PURE__*/forwardRef(function (_a, textareaRef) {
|
|
|
8955
9029
|
onClear === null || onClear === void 0 ? void 0 : onClear();
|
|
8956
9030
|
resizeHeight();
|
|
8957
9031
|
};
|
|
9032
|
+
var handleResizerMouseDown = function handleResizerMouseDown(e) {
|
|
9033
|
+
var combine = combineRef === null || combineRef === void 0 ? void 0 : combineRef.current;
|
|
9034
|
+
if (resizable && combine) {
|
|
9035
|
+
var startY_1 = e.clientY;
|
|
9036
|
+
var startHeight_1 = combine.clientHeight;
|
|
9037
|
+
document.body.style.userSelect = 'none';
|
|
9038
|
+
var lineHeight = parseInt(window.getComputedStyle(combine).lineHeight || '0', 10);
|
|
9039
|
+
var min_1 = minHeight(lineHeight);
|
|
9040
|
+
var max_1 = maxHeight(lineHeight);
|
|
9041
|
+
var handleMouseMove_1 = function handleMouseMove_1(moveEvent) {
|
|
9042
|
+
var newHeight = startHeight_1 + moveEvent.clientY - startY_1;
|
|
9043
|
+
if (min_1 <= newHeight && newHeight <= max_1) {
|
|
9044
|
+
combine.style.height = "".concat(newHeight, "px");
|
|
9045
|
+
}
|
|
9046
|
+
};
|
|
9047
|
+
var handleMouseUp_1 = function handleMouseUp_1() {
|
|
9048
|
+
document.body.style.userSelect = '';
|
|
9049
|
+
document.removeEventListener('mousemove', handleMouseMove_1);
|
|
9050
|
+
document.removeEventListener('mouseup', handleMouseUp_1);
|
|
9051
|
+
};
|
|
9052
|
+
document.addEventListener('mousemove', handleMouseMove_1);
|
|
9053
|
+
document.addEventListener('mouseup', handleMouseUp_1);
|
|
9054
|
+
}
|
|
9055
|
+
};
|
|
8958
9056
|
return jsxs("div", __assign({
|
|
8959
9057
|
ref: wrapperRef,
|
|
8960
9058
|
className: classNames('maru-textarea-wrapper', className)
|
|
8961
9059
|
}, {
|
|
8962
9060
|
children: [jsxs("div", __assign({
|
|
8963
|
-
className:
|
|
8964
|
-
errored: invalid === null || invalid === void 0 ? void 0 : invalid.on,
|
|
8965
|
-
disabled: props.disabled
|
|
8966
|
-
})
|
|
9061
|
+
className: "maru-textarea-resizable-wrapper"
|
|
8967
9062
|
}, {
|
|
8968
|
-
children: [
|
|
8969
|
-
|
|
8970
|
-
|
|
8971
|
-
|
|
8972
|
-
|
|
9063
|
+
children: [jsxs("div", __assign({
|
|
9064
|
+
className: classNames('maru-textarea', {
|
|
9065
|
+
errored: invalid === null || invalid === void 0 ? void 0 : invalid.on,
|
|
9066
|
+
disabled: props.disabled
|
|
9067
|
+
})
|
|
8973
9068
|
}, {
|
|
8974
|
-
children:
|
|
8975
|
-
|
|
8976
|
-
|
|
8977
|
-
|
|
9069
|
+
children: [jsx("textarea", __assign({}, props, {
|
|
9070
|
+
ref: combineRef,
|
|
9071
|
+
onChange: handleTextareaChange,
|
|
9072
|
+
rows: props.rows || minRows || 1
|
|
9073
|
+
})), jsx("div", __assign({
|
|
9074
|
+
className: "maru-textarea-end-node-wrapper"
|
|
8978
9075
|
}, {
|
|
8979
|
-
children: jsx(
|
|
8980
|
-
|
|
8981
|
-
|
|
8982
|
-
|
|
8983
|
-
|
|
8984
|
-
|
|
9076
|
+
children: showClearButton && !props.disabled && jsx("button", __assign({
|
|
9077
|
+
type: "button",
|
|
9078
|
+
onClick: handleClearClick,
|
|
9079
|
+
tabIndex: -1
|
|
9080
|
+
}, {
|
|
9081
|
+
children: jsx(Icon, {
|
|
9082
|
+
name: ICONS.X_s1615,
|
|
9083
|
+
color: "#5c5c5c"
|
|
9084
|
+
})
|
|
9085
|
+
}))
|
|
9086
|
+
}))]
|
|
9087
|
+
})), resizable && jsx("div", {
|
|
9088
|
+
className: "resizer",
|
|
9089
|
+
onMouseDown: handleResizerMouseDown
|
|
9090
|
+
})]
|
|
8985
9091
|
})), invalid && invalid.on && jsx("div", __assign({
|
|
8986
9092
|
className: "maru-textarea-footer"
|
|
8987
9093
|
}, {
|
|
@@ -8996,7 +9102,10 @@ Textarea.defaultProps = {
|
|
|
8996
9102
|
onClear: undefined,
|
|
8997
9103
|
hiddenClearButton: undefined,
|
|
8998
9104
|
wrapperRef: undefined,
|
|
8999
|
-
className: undefined
|
|
9105
|
+
className: undefined,
|
|
9106
|
+
minRows: undefined,
|
|
9107
|
+
maxRows: undefined,
|
|
9108
|
+
resizable: false
|
|
9000
9109
|
};
|
|
9001
9110
|
Textarea.displayName = 'Textarea';
|
|
9002
9111
|
|