@superinterface/react 1.0.2 → 1.0.3
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/dist/components/messages/Form/index.js +22 -4
- package/dist/components/messages/Form/index.js.map +1 -1
- package/dist/components/spinners/Spinner/index.d.ts +0 -1
- package/dist/components/textareas/TextareaBase/index.d.ts +0 -1
- package/dist/hooks/misc/useInfiniteScroll/index.d.ts +0 -1
- package/package.json +1 -1
|
@@ -4,15 +4,16 @@ exports.Form = exports.schema = void 0;
|
|
|
4
4
|
const jsx_runtime_1 = require("react/jsx-runtime");
|
|
5
5
|
const themes_1 = require("@radix-ui/themes");
|
|
6
6
|
const react_1 = require("react");
|
|
7
|
-
const Submit_1 = require("./Submit");
|
|
8
|
-
const useIsRunActive_1 = require("../../../hooks/runs/useIsRunActive");
|
|
9
7
|
const react_hook_form_1 = require("react-hook-form");
|
|
10
8
|
const zod_1 = require("zod");
|
|
11
9
|
const zod_2 = require("@hookform/resolvers/zod");
|
|
10
|
+
const react_use_1 = require("react-use");
|
|
11
|
+
const useIsRunActive_1 = require("../../../hooks/runs/useIsRunActive");
|
|
12
12
|
const TextareaBase_1 = require("../../textareas/TextareaBase");
|
|
13
13
|
const useLatestMessage_1 = require("../../../hooks/messages/useLatestMessage");
|
|
14
14
|
const useCreateMessage_1 = require("../../../hooks/messages/useCreateMessage");
|
|
15
15
|
const AssistantNameContext_1 = require("../../../contexts/assistants/AssistantNameContext");
|
|
16
|
+
const Submit_1 = require("./Submit");
|
|
16
17
|
exports.schema = zod_1.z.object({
|
|
17
18
|
content: zod_1.z.string().min(1).max(300),
|
|
18
19
|
});
|
|
@@ -46,14 +47,31 @@ const Form = ({ messagesQueryOptions, runsQueryOptions, createMessageMutationOpt
|
|
|
46
47
|
return (
|
|
47
48
|
// @ts-ignore-next-line
|
|
48
49
|
(_a = latestMessage === null || latestMessage === void 0 ? void 0 : latestMessage.metadata) === null || _a === void 0 ? void 0 : _a.isBlocking);
|
|
49
|
-
}, [latestMessage]);
|
|
50
|
+
}, [latestMessage, isLoading]);
|
|
51
|
+
const isInputDisabled = (0, react_1.useMemo)(() => (isLoading || isDisabled || false), [isLoading, isDisabled]);
|
|
52
|
+
const isInputDisabledPrevious = (0, react_use_1.usePrevious)(isInputDisabled);
|
|
53
|
+
const textareaRef = (0, react_1.useRef)(null);
|
|
54
|
+
const textareaProps = register('content');
|
|
55
|
+
(0, react_1.useEffect)(() => {
|
|
56
|
+
if (isInputDisabled)
|
|
57
|
+
return;
|
|
58
|
+
if (!isInputDisabledPrevious)
|
|
59
|
+
return;
|
|
60
|
+
if (!textareaRef.current)
|
|
61
|
+
return;
|
|
62
|
+
textareaRef.current.focus();
|
|
63
|
+
}, [isInputDisabled, isInputDisabledPrevious, textareaProps]);
|
|
50
64
|
const assistantNameContext = (0, react_1.useContext)(AssistantNameContext_1.AssistantNameContext);
|
|
51
65
|
return ((0, jsx_runtime_1.jsx)(themes_1.Container, { size: "2", px: "2", grow: "0", children: (0, jsx_runtime_1.jsx)(themes_1.Flex, { direction: "column", shrink: "0", children: (0, jsx_runtime_1.jsx)(themes_1.Flex, { direction: "column", shrink: "0", className: "bg-gray-1", pb: "4", children: (0, jsx_runtime_1.jsx)("form", { onSubmit: handleSubmit(onSubmit), children: (0, jsx_runtime_1.jsxs)(themes_1.Flex, { className: `rounded-3 border-gray-5 border border-solid ${errors.content ? 'border-red-9 bg-red-2' : ''}`, p: "2", pl: "4", children: [(0, jsx_runtime_1.jsx)(themes_1.Text, { size: "2", className: "grow", children: (0, jsx_runtime_1.jsx)(themes_1.Flex, { grow: "1", direction: "column", children: (0, jsx_runtime_1.jsx)(TextareaBase_1.TextareaBase, { minRows: 1, placeholder: `Message ${assistantNameContext}...`, disabled: isLoading || isDisabled, onKeyDown: (e) => {
|
|
52
66
|
if (e.key === 'Enter' && !e.shiftKey) {
|
|
53
67
|
e.preventDefault();
|
|
54
68
|
handleSubmit(onSubmit)();
|
|
55
69
|
}
|
|
56
|
-
},
|
|
70
|
+
}, autoFocus: true, ...textareaProps, ref: (e) => {
|
|
71
|
+
textareaProps.ref(e);
|
|
72
|
+
// @ts-ignore-next-line
|
|
73
|
+
textareaRef.current = e;
|
|
74
|
+
} }) }) }), (0, jsx_runtime_1.jsx)(themes_1.Flex, { shrink: "0", align: "end", children: (0, jsx_runtime_1.jsx)(Submit_1.Submit, { isLoading: isLoading, isDisabled: isDisabled }) })] }) }) }) }) }));
|
|
57
75
|
};
|
|
58
76
|
exports.Form = Form;
|
|
59
77
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/components/messages/Form/index.tsx"],"names":[],"mappings":";;;;AAKA,6CAIyB;AACzB,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/components/messages/Form/index.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1,3 +1,2 @@
|
|
|
1
1
|
/// <reference types="react" />
|
|
2
|
-
/// <reference types="react" />
|
|
3
2
|
export declare const TextareaBase: import("react").ForwardRefExoticComponent<Omit<import("react-textarea-autosize").TextareaAutosizeProps & import("react").RefAttributes<HTMLTextAreaElement>, "ref"> & import("react").RefAttributes<unknown>>;
|