@opensumi/ide-core-browser 3.8.1-next-1740965430.0 → 3.8.1-next-1741071284.0
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/lib/components/ai-native/interactive-input/index.d.ts.map +1 -1
- package/lib/components/ai-native/interactive-input/index.js +28 -6
- package/lib/components/ai-native/interactive-input/index.js.map +1 -1
- package/lib/components/ai-native/interactive-input/index.module.less +1 -0
- package/package.json +5 -5
- package/src/components/ai-native/interactive-input/index.module.less +1 -0
- package/src/components/ai-native/interactive-input/index.tsx +32 -5
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/components/ai-native/interactive-input/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAAmG,MAAM,OAAO,CAAC;AAExH,OAAO,EAAE,eAAe,EAAW,eAAe,EAAqB,MAAM,0BAA0B,CAAC;AAaxG,MAAM,WAAW,sBAAuB,SAAQ,eAAe,CAAC,mBAAmB,CAAC;IAClF,KAAK,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC;IAC5B,SAAS,CAAC,EAAE,CAAC,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC,mBAAmB,CAAC,KAAK,IAAI,CAAC;IAClE,cAAc,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,CAAC;IAC1C,MAAM,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACjC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,eAAe,CAAC,EAAE,eAAe,CAAC;CACnC;AAKD,eAAO,MAAM,gBAAgB,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/components/ai-native/interactive-input/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAAmG,MAAM,OAAO,CAAC;AAExH,OAAO,EAAE,eAAe,EAAW,eAAe,EAAqB,MAAM,0BAA0B,CAAC;AAaxG,MAAM,WAAW,sBAAuB,SAAQ,eAAe,CAAC,mBAAmB,CAAC;IAClF,KAAK,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC;IAC5B,SAAS,CAAC,EAAE,CAAC,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC,mBAAmB,CAAC,KAAK,IAAI,CAAC;IAClE,cAAc,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,CAAC;IAC1C,MAAM,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACjC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,eAAe,CAAC,EAAE,eAAe,CAAC;CACnC;AAKD,eAAO,MAAM,gBAAgB,oGAgO5B,CAAC"}
|
|
@@ -12,16 +12,17 @@ const storage_service_1 = require("../../../services/storage-service");
|
|
|
12
12
|
const index_1 = require("../index");
|
|
13
13
|
const index_module_less_1 = tslib_1.__importDefault(require("./index.module.less"));
|
|
14
14
|
const MAX_WRAPPER_HEIGHT = 160;
|
|
15
|
-
const DEFAULT_HEIGHT =
|
|
15
|
+
const DEFAULT_HEIGHT = 32;
|
|
16
16
|
const GLOBAL_AI_NATIVE_CHAT_INPUT_HISTORY_KEY = 'ai-native-chat-input-history';
|
|
17
17
|
const MAX_HISOTRY_SIZE = 10;
|
|
18
18
|
exports.InteractiveInput = react_1.default.forwardRef((props, ref) => {
|
|
19
|
-
const { placeholder, onKeyDown, onBlur, onValueChange, onHeightChange, onFocus, onSend, disabled = false, className, width, sendBtnClassName, popoverPosition, autoFocus, defaultValue, } = props;
|
|
19
|
+
const { placeholder, onKeyDown, onBlur, onValueChange, onHeightChange, onFocus, onSend, disabled = false, className, height, width, sendBtnClassName, popoverPosition, autoFocus, defaultValue, } = props;
|
|
20
20
|
const internalRef = (0, react_1.useRef)(null);
|
|
21
21
|
const globalStroageService = (0, react_hooks_1.useInjectable)(storage_service_1.GlobalBrowserStorageService);
|
|
22
22
|
const history = (0, react_1.useRef)();
|
|
23
23
|
const historyIndex = (0, react_1.useRef)(0);
|
|
24
24
|
const [internalValue, setInternalValue] = (0, react_1.useState)(defaultValue || props.value || '');
|
|
25
|
+
const [wrapperHeight, setWrapperHeight] = (0, react_1.useState)(height || DEFAULT_HEIGHT);
|
|
25
26
|
const [focus, setFocus] = (0, react_1.useState)(false);
|
|
26
27
|
const isDirtyInput = react_1.default.useRef(false);
|
|
27
28
|
(0, react_1.useImperativeHandle)(ref, () => internalRef.current);
|
|
@@ -47,8 +48,29 @@ exports.InteractiveInput = react_1.default.forwardRef((props, ref) => {
|
|
|
47
48
|
}
|
|
48
49
|
}, [props.value, internalValue, internalRef]);
|
|
49
50
|
(0, react_1.useEffect)(() => {
|
|
50
|
-
|
|
51
|
-
|
|
51
|
+
if ((0, ide_core_common_1.isUndefined)(height)) {
|
|
52
|
+
return;
|
|
53
|
+
}
|
|
54
|
+
if (height !== wrapperHeight) {
|
|
55
|
+
setWrapperHeight(height);
|
|
56
|
+
}
|
|
57
|
+
}, [height, wrapperHeight, onHeightChange]);
|
|
58
|
+
(0, react_1.useEffect)(() => {
|
|
59
|
+
if (!internalValue) {
|
|
60
|
+
setWrapperHeight(DEFAULT_HEIGHT);
|
|
61
|
+
return;
|
|
62
|
+
}
|
|
63
|
+
if (internalRef && internalRef.current && wrapperHeight <= MAX_WRAPPER_HEIGHT) {
|
|
64
|
+
internalRef.current.style.height = 0 + 'px';
|
|
65
|
+
const scrollHeight = internalRef.current.scrollHeight;
|
|
66
|
+
internalRef.current.style.height = Math.min(scrollHeight, MAX_WRAPPER_HEIGHT) + 'px';
|
|
67
|
+
const wrapperHeight = Math.min(scrollHeight + 12, MAX_WRAPPER_HEIGHT);
|
|
68
|
+
setWrapperHeight(wrapperHeight);
|
|
69
|
+
}
|
|
70
|
+
}, [internalRef, internalValue, onHeightChange, wrapperHeight]);
|
|
71
|
+
(0, react_1.useEffect)(() => {
|
|
72
|
+
onHeightChange === null || onHeightChange === void 0 ? void 0 : onHeightChange(wrapperHeight);
|
|
73
|
+
}, [wrapperHeight]);
|
|
52
74
|
const handleInputChange = (0, react_1.useCallback)((value) => {
|
|
53
75
|
isDirtyInput.current = true;
|
|
54
76
|
setInternalValue(value);
|
|
@@ -119,8 +141,8 @@ exports.InteractiveInput = react_1.default.forwardRef((props, ref) => {
|
|
|
119
141
|
}
|
|
120
142
|
return width + 'px';
|
|
121
143
|
}, [width]);
|
|
122
|
-
return (react_1.default.createElement(ide_components_1.TextArea, { ref: internalRef, placeholder: placeholder, wrapperStyle: { height:
|
|
123
|
-
height:
|
|
144
|
+
return (react_1.default.createElement(ide_components_1.TextArea, { ref: internalRef, placeholder: placeholder, wrapperStyle: { height: wrapperHeight + 'px', width: wrapperWidth }, style: {
|
|
145
|
+
height: wrapperHeight - 10 + 'px',
|
|
124
146
|
}, value: internalValue, onKeyDown: handleKeyDown, onFocus: handleFocus, onBlur: handleBlur, onValueChange: handleInputChange, disabled: disabled, className: (0, classnames_1.default)(index_module_less_1.default.interactive_input_container, focus ? index_module_less_1.default.active : null, className), addonAfter: renderAddonAfter }));
|
|
125
147
|
});
|
|
126
148
|
exports.InteractiveInput.displayName = 'interactiveInput';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/components/ai-native/interactive-input/index.tsx"],"names":[],"mappings":";;;;AAAA,oEAA6B;AAC7B,uDAAwH;AAExH,6DAAwG;AACxG,+DAAwE;AAExE,gDAAwC;AACxC,sDAAqD;AACrD,uEAAgF;AAChF,oCAAuC;AAEvC,oFAAyC;AAEzC,MAAM,kBAAkB,GAAG,GAAG,CAAC;AAC/B,MAAM,cAAc,GAAG,EAAE,CAAC;AAa1B,MAAM,uCAAuC,GAAG,8BAA8B,CAAC;AAC/E,MAAM,gBAAgB,GAAG,EAAE,CAAC;AAEf,QAAA,gBAAgB,GAAG,eAAK,CAAC,UAAU,CAC9C,CAAC,KAA6B,EAAE,GAA0C,EAAE,EAAE;IAC5E,MAAM,EACJ,WAAW,EACX,SAAS,EACT,MAAM,EACN,aAAa,EACb,cAAc,EACd,OAAO,EACP,MAAM,EACN,QAAQ,GAAG,KAAK,EAChB,SAAS,EACT,KAAK,EACL,gBAAgB,EAChB,eAAe,EACf,SAAS,EACT,YAAY,GACb,GAAG,KAAK,CAAC;IAEV,MAAM,WAAW,GAAG,IAAA,cAAM,EAAsB,IAAI,CAAC,CAAC;IACtD,MAAM,oBAAoB,GAAG,IAAA,2BAAa,EAA8B,6CAA2B,CAAC,CAAC;IACrG,MAAM,OAAO,GAAG,IAAA,cAAM,GAAY,CAAC;IACnC,MAAM,YAAY,GAAG,IAAA,cAAM,EAAS,CAAC,CAAC,CAAC;IACvC,MAAM,CAAC,aAAa,EAAE,gBAAgB,CAAC,GAAG,IAAA,gBAAQ,EAAC,YAAY,IAAI,KAAK,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC;IACtF,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,IAAA,gBAAQ,EAAC,KAAK,CAAC,CAAC;IAC1C,MAAM,YAAY,GAAG,eAAK,CAAC,MAAM,CAAU,KAAK,CAAC,CAAC;IAElD,IAAA,2BAAmB,EAAC,GAAG,EAAE,GAAG,EAAE,CAAC,WAAW,CAAC,OAA8B,CAAC,CAAC;IAE3E,IAAA,iBAAS,EAAC,GAAG,EAAE;QACb,MAAM,YAAY,GAAG,oBAAoB,CAAC,OAAO,CAAW,uCAAuC,CAAC,CAAC;QACrG,IAAI,YAAY,EAAE,CAAC;YACjB,OAAO,CAAC,OAAO,GAAG,YAAY,CAAC;QACjC,CAAC;IACH,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,IAAA,iBAAS,EAAC,GAAG,EAAE;QACb,IAAI,WAAW,IAAI,WAAW,CAAC,OAAO,IAAI,SAAS,EAAE,CAAC;YACpD,WAAW,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;QAC9B,CAAC;IACH,CAAC,EAAE,CAAC,WAAW,CAAC,CAAC,CAAC;IAElB,IAAA,iBAAS,EAAC,GAAG,EAAE;;QACb,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC;QAC1B,IAAI,IAAA,6BAAW,EAAC,KAAK,CAAC,EAAE,CAAC;YACvB,OAAO;QACT,CAAC;QAED,IAAI,KAAK,MAAK,MAAA,WAAW,CAAC,OAAO,0CAAE,KAAK,CAAA,EAAE,CAAC;YACzC,gBAAgB,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC;QAChC,CAAC;IACH,CAAC,EAAE,CAAC,KAAK,CAAC,KAAK,EAAE,aAAa,EAAE,WAAW,CAAC,CAAC,CAAC;IAE9C,IAAA,iBAAS,EAAC,GAAG,EAAE;QACb,cAAc,aAAd,cAAc,uBAAd,cAAc,CAAG,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/components/ai-native/interactive-input/index.tsx"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@opensumi/ide-core-browser",
|
|
3
|
-
"version": "3.8.1-next-
|
|
3
|
+
"version": "3.8.1-next-1741071284.0",
|
|
4
4
|
"description": "@opensumi/ide-core-browser",
|
|
5
5
|
"files": [
|
|
6
6
|
"lib",
|
|
@@ -18,9 +18,9 @@
|
|
|
18
18
|
"build": "tsc --build ../../configs/ts/references/tsconfig.core-browser.json"
|
|
19
19
|
},
|
|
20
20
|
"dependencies": {
|
|
21
|
-
"@opensumi/ide-components": "3.8.1-next-
|
|
22
|
-
"@opensumi/ide-connection": "3.8.1-next-
|
|
23
|
-
"@opensumi/ide-core-common": "3.8.1-next-
|
|
21
|
+
"@opensumi/ide-components": "3.8.1-next-1741071284.0",
|
|
22
|
+
"@opensumi/ide-connection": "3.8.1-next-1741071284.0",
|
|
23
|
+
"@opensumi/ide-core-common": "3.8.1-next-1741071284.0",
|
|
24
24
|
"@opensumi/vscode-debugprotocol": "1.49.0-beta.1",
|
|
25
25
|
"@vscode/codicons": "0.0.35",
|
|
26
26
|
"ajv": "^6.10.0",
|
|
@@ -41,5 +41,5 @@
|
|
|
41
41
|
"react": "^18.2.0",
|
|
42
42
|
"react-dom": "^18.2.0"
|
|
43
43
|
},
|
|
44
|
-
"gitHead": "
|
|
44
|
+
"gitHead": "dccaf5e362c130aed04e6540ca5cbb5cec1b561f"
|
|
45
45
|
}
|
|
@@ -12,7 +12,7 @@ import { EnhanceIcon } from '../index';
|
|
|
12
12
|
import styles from './index.module.less';
|
|
13
13
|
|
|
14
14
|
const MAX_WRAPPER_HEIGHT = 160;
|
|
15
|
-
const DEFAULT_HEIGHT =
|
|
15
|
+
const DEFAULT_HEIGHT = 32;
|
|
16
16
|
|
|
17
17
|
export interface IInteractiveInputProps extends IInputBaseProps<HTMLTextAreaElement> {
|
|
18
18
|
style?: React.CSSProperties;
|
|
@@ -40,6 +40,7 @@ export const InteractiveInput = React.forwardRef(
|
|
|
40
40
|
onSend,
|
|
41
41
|
disabled = false,
|
|
42
42
|
className,
|
|
43
|
+
height,
|
|
43
44
|
width,
|
|
44
45
|
sendBtnClassName,
|
|
45
46
|
popoverPosition,
|
|
@@ -52,6 +53,7 @@ export const InteractiveInput = React.forwardRef(
|
|
|
52
53
|
const history = useRef<string[]>();
|
|
53
54
|
const historyIndex = useRef<number>(0);
|
|
54
55
|
const [internalValue, setInternalValue] = useState(defaultValue || props.value || '');
|
|
56
|
+
const [wrapperHeight, setWrapperHeight] = useState(height || DEFAULT_HEIGHT);
|
|
55
57
|
const [focus, setFocus] = useState(false);
|
|
56
58
|
const isDirtyInput = React.useRef<boolean>(false);
|
|
57
59
|
|
|
@@ -82,8 +84,33 @@ export const InteractiveInput = React.forwardRef(
|
|
|
82
84
|
}, [props.value, internalValue, internalRef]);
|
|
83
85
|
|
|
84
86
|
useEffect(() => {
|
|
85
|
-
|
|
86
|
-
|
|
87
|
+
if (isUndefined(height)) {
|
|
88
|
+
return;
|
|
89
|
+
}
|
|
90
|
+
|
|
91
|
+
if (height !== wrapperHeight) {
|
|
92
|
+
setWrapperHeight(height);
|
|
93
|
+
}
|
|
94
|
+
}, [height, wrapperHeight, onHeightChange]);
|
|
95
|
+
|
|
96
|
+
useEffect(() => {
|
|
97
|
+
if (!internalValue) {
|
|
98
|
+
setWrapperHeight(DEFAULT_HEIGHT);
|
|
99
|
+
return;
|
|
100
|
+
}
|
|
101
|
+
|
|
102
|
+
if (internalRef && internalRef.current && wrapperHeight <= MAX_WRAPPER_HEIGHT) {
|
|
103
|
+
internalRef.current.style.height = 0 + 'px';
|
|
104
|
+
const scrollHeight = internalRef.current.scrollHeight;
|
|
105
|
+
internalRef.current.style.height = Math.min(scrollHeight, MAX_WRAPPER_HEIGHT) + 'px';
|
|
106
|
+
const wrapperHeight = Math.min(scrollHeight + 12, MAX_WRAPPER_HEIGHT);
|
|
107
|
+
setWrapperHeight(wrapperHeight);
|
|
108
|
+
}
|
|
109
|
+
}, [internalRef, internalValue, onHeightChange, wrapperHeight]);
|
|
110
|
+
|
|
111
|
+
useEffect(() => {
|
|
112
|
+
onHeightChange?.(wrapperHeight);
|
|
113
|
+
}, [wrapperHeight]);
|
|
87
114
|
|
|
88
115
|
const handleInputChange = useCallback(
|
|
89
116
|
(value: string) => {
|
|
@@ -210,9 +237,9 @@ export const InteractiveInput = React.forwardRef(
|
|
|
210
237
|
<TextArea
|
|
211
238
|
ref={internalRef}
|
|
212
239
|
placeholder={placeholder}
|
|
213
|
-
wrapperStyle={{ height:
|
|
240
|
+
wrapperStyle={{ height: wrapperHeight + 'px', width: wrapperWidth }}
|
|
214
241
|
style={{
|
|
215
|
-
height:
|
|
242
|
+
height: wrapperHeight - 10 + 'px',
|
|
216
243
|
}}
|
|
217
244
|
value={internalValue}
|
|
218
245
|
onKeyDown={handleKeyDown}
|