@copilotkit/react-textarea 0.19.0-alpha.2 → 0.19.0-alpha.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/.turbo/turbo-build.log +287 -287
- package/CHANGELOG.md +11 -0
- package/dist/{chunk-ITZHK3YV.mjs → chunk-23UHDUUY.mjs} +52 -68
- package/dist/chunk-23UHDUUY.mjs.map +1 -0
- package/dist/{chunk-RPDVSCLO.mjs → chunk-4MDDCR32.mjs} +2 -2
- package/dist/chunk-CZMPLTHF.mjs +20 -0
- package/dist/chunk-CZMPLTHF.mjs.map +1 -0
- package/dist/chunk-FN7GDKKG.mjs +29 -0
- package/dist/chunk-FN7GDKKG.mjs.map +1 -0
- package/dist/{chunk-7SMDOAG2.mjs → chunk-OS2YW2UX.mjs} +6 -6
- package/dist/{chunk-PF3XRNDB.mjs → chunk-U5GM2PRT.mjs} +3 -3
- package/dist/components/base-copilot-textarea/base-copilot-textarea.mjs +12 -12
- package/dist/components/copilot-textarea/copilot-textarea.mjs +14 -14
- package/dist/components/hovering-toolbar/hovering-toolbar.mjs +5 -5
- package/dist/components/hovering-toolbar/text-insertion-prompt-box/{mode-suggestion-appearing.d.ts → hovering-insertion-prompt-box-core.d.ts} +5 -13
- package/dist/components/hovering-toolbar/text-insertion-prompt-box/{mode-suggestion-appearing.mjs → hovering-insertion-prompt-box-core.mjs} +4 -3
- package/dist/components/hovering-toolbar/text-insertion-prompt-box/hovering-insertion-prompt-box.mjs +4 -4
- package/dist/components/hovering-toolbar/text-insertion-prompt-box/index.mjs +4 -4
- package/dist/components/index.mjs +14 -14
- package/dist/components/source-search-box/source-search-box.mjs +3 -2
- package/dist/components/ui/button.d.ts +1 -1
- package/dist/index.css +0 -15
- package/dist/index.css.map +1 -1
- package/dist/index.mjs +14 -14
- package/dist/lib/stream-promise-flatten.d.ts +3 -0
- package/dist/lib/stream-promise-flatten.mjs +4 -0
- package/package.json +4 -4
- package/src/components/hovering-toolbar/text-insertion-prompt-box/{mode-suggestion-appearing.tsx → hovering-insertion-prompt-box-core.tsx} +57 -64
- package/src/components/hovering-toolbar/text-insertion-prompt-box/hovering-insertion-prompt-box.tsx +9 -52
- package/src/components/source-search-box/source-search-box.tsx +1 -1
- package/src/lib/stream-promise-flatten.ts +25 -0
- package/dist/chunk-CDB7HFCY.mjs +0 -65
- package/dist/chunk-CDB7HFCY.mjs.map +0 -1
- package/dist/chunk-ITZHK3YV.mjs.map +0 -1
- package/dist/chunk-OM5WQQOU.mjs +0 -47
- package/dist/chunk-OM5WQQOU.mjs.map +0 -1
- package/dist/components/hovering-toolbar/text-insertion-prompt-box/mode-pre-suggestion.d.ts +0 -16
- package/dist/components/hovering-toolbar/text-insertion-prompt-box/mode-pre-suggestion.mjs +0 -5
- package/src/components/hovering-toolbar/text-insertion-prompt-box/mode-pre-suggestion.tsx +0 -83
- /package/dist/{chunk-RPDVSCLO.mjs.map → chunk-4MDDCR32.mjs.map} +0 -0
- /package/dist/{chunk-7SMDOAG2.mjs.map → chunk-OS2YW2UX.mjs.map} +0 -0
- /package/dist/{chunk-PF3XRNDB.mjs.map → chunk-U5GM2PRT.mjs.map} +0 -0
- /package/dist/components/hovering-toolbar/text-insertion-prompt-box/{mode-pre-suggestion.mjs.map → hovering-insertion-prompt-box-core.mjs.map} +0 -0
- /package/dist/{components/hovering-toolbar/text-insertion-prompt-box/mode-suggestion-appearing.mjs.map → lib/stream-promise-flatten.mjs.map} +0 -0
package/CHANGELOG.md
CHANGED
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
import { use_autosize_textarea_default } from './chunk-ND5PXTAW.mjs';
|
|
2
|
+
import { Button } from './chunk-2NURR2DX.mjs';
|
|
2
3
|
import { Command, CommandInput, CommandList, CommandEmpty, CommandGroup, CommandItem, CommandSeparator } from './chunk-3YJ63D5D.mjs';
|
|
3
4
|
import { Label } from './chunk-5EJ5XOGP.mjs';
|
|
4
|
-
import {
|
|
5
|
+
import { streamPromiseFlatten } from './chunk-FN7GDKKG.mjs';
|
|
5
6
|
import { __objRest, __spreadProps, __spreadValues, __async } from './chunk-MRXNTQOX.mjs';
|
|
6
7
|
import { useState, useRef, useEffect } from 'react';
|
|
7
8
|
import { Calendar, Smile, Calculator } from 'lucide-react';
|
|
@@ -9,37 +10,29 @@ import Chip from '@mui/material/Chip';
|
|
|
9
10
|
import Avatar from '@mui/material/Avatar';
|
|
10
11
|
import { jsxs, jsx, Fragment } from 'react/jsx-runtime';
|
|
11
12
|
|
|
12
|
-
var
|
|
13
|
-
performInsertion,
|
|
14
|
-
state,
|
|
15
|
-
goBack,
|
|
16
|
-
insertionOrEditingFunction,
|
|
17
|
-
onGeneratedText
|
|
18
|
-
}) => {
|
|
19
|
-
useState([state.initialSuggestion]);
|
|
13
|
+
var HoveringInsertionPromptBoxCore = ({ performInsertion, state, insertionOrEditingFunction }) => {
|
|
20
14
|
const [editSuggestion, setEditSuggestion] = useState("");
|
|
21
15
|
const [suggestionIsLoading, setSuggestionIsLoading] = useState(false);
|
|
22
16
|
const [adjustmentPrompt, setAdjustmentPrompt] = useState("");
|
|
23
|
-
const [
|
|
24
|
-
const suggestionTextAreaRef = useRef(null);
|
|
17
|
+
const [generatingSuggestion, setGeneratingSuggestion] = useState(null);
|
|
25
18
|
const adjustmentTextAreaRef = useRef(null);
|
|
19
|
+
const suggestionTextAreaRef = useRef(null);
|
|
26
20
|
const [filePointers, setFilePointers] = useState([]);
|
|
27
21
|
use_autosize_textarea_default(suggestionTextAreaRef, editSuggestion || "");
|
|
28
22
|
use_autosize_textarea_default(adjustmentTextAreaRef, adjustmentPrompt || "");
|
|
29
23
|
useEffect(() => {
|
|
30
|
-
var _a
|
|
31
|
-
(_a =
|
|
32
|
-
(_b = suggestionTextAreaRef.current) == null ? void 0 : _b.setSelectionRange(
|
|
33
|
-
editSuggestion.length,
|
|
34
|
-
editSuggestion.length
|
|
35
|
-
);
|
|
24
|
+
var _a;
|
|
25
|
+
(_a = adjustmentTextAreaRef.current) == null ? void 0 : _a.focus();
|
|
36
26
|
}, []);
|
|
37
27
|
useEffect(() => {
|
|
38
|
-
if (
|
|
28
|
+
if (!generatingSuggestion) {
|
|
29
|
+
return;
|
|
30
|
+
}
|
|
31
|
+
if (generatingSuggestion.locked) {
|
|
39
32
|
return;
|
|
40
33
|
}
|
|
41
34
|
setEditSuggestion("");
|
|
42
|
-
const reader =
|
|
35
|
+
const reader = generatingSuggestion.getReader();
|
|
43
36
|
const read = () => __async(void 0, null, function* () {
|
|
44
37
|
setSuggestionIsLoading(true);
|
|
45
38
|
while (true) {
|
|
@@ -68,28 +61,34 @@ var SuggestionAppearing = ({
|
|
|
68
61
|
});
|
|
69
62
|
releaseLockIfNotClosed();
|
|
70
63
|
};
|
|
71
|
-
}, [
|
|
72
|
-
const
|
|
64
|
+
}, [generatingSuggestion]);
|
|
65
|
+
const begingGeneratingAdjustment = () => __async(void 0, null, function* () {
|
|
73
66
|
if (!adjustmentPrompt.trim()) {
|
|
74
67
|
return;
|
|
75
68
|
}
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
69
|
+
let editorState = state.editorState;
|
|
70
|
+
if (editSuggestion !== "") {
|
|
71
|
+
editorState.selectedText = editSuggestion;
|
|
72
|
+
}
|
|
73
|
+
const adjustmentSuggestionTextStreamPromise = insertionOrEditingFunction(
|
|
74
|
+
editorState,
|
|
81
75
|
adjustmentPrompt,
|
|
82
76
|
new AbortController().signal
|
|
83
77
|
);
|
|
84
|
-
|
|
85
|
-
|
|
78
|
+
const adjustmentSuggestionTextStream = streamPromiseFlatten(
|
|
79
|
+
adjustmentSuggestionTextStreamPromise
|
|
80
|
+
);
|
|
81
|
+
setGeneratingSuggestion(adjustmentSuggestionTextStream);
|
|
86
82
|
});
|
|
87
|
-
const
|
|
83
|
+
const isLoading = suggestionIsLoading;
|
|
84
|
+
const textToEdit = editSuggestion || state.editorState.selectedText;
|
|
85
|
+
const adjustmentLabel = textToEdit === "" ? "Describe the text you want to insert" : "Describe adjustments to the suggested text";
|
|
86
|
+
const placeholder = textToEdit === "" ? "e.g. 'summarize the client's top 3 pain-points from @CallTranscript'" : "e.g. 'make it more formal', 'be more specific', ...";
|
|
88
87
|
const AdjustmentPromptComponent = /* @__PURE__ */ jsxs(Fragment, {
|
|
89
88
|
children: [
|
|
90
89
|
/* @__PURE__ */ jsx(Label, {
|
|
91
90
|
className: "",
|
|
92
|
-
children:
|
|
91
|
+
children: adjustmentLabel
|
|
93
92
|
}),
|
|
94
93
|
/* @__PURE__ */ jsxs("div", {
|
|
95
94
|
className: "relative w-full flex items-center",
|
|
@@ -105,16 +104,16 @@ var SuggestionAppearing = ({
|
|
|
105
104
|
setAdjustmentPrompt(adjustmentPrompt + "\n");
|
|
106
105
|
} else if (e.key === "Enter") {
|
|
107
106
|
e.preventDefault();
|
|
108
|
-
|
|
107
|
+
begingGeneratingAdjustment();
|
|
109
108
|
}
|
|
110
109
|
},
|
|
111
|
-
placeholder
|
|
110
|
+
placeholder,
|
|
112
111
|
style: { minHeight: "3rem" },
|
|
113
112
|
className: "w-full bg-slate-100 h-auto h-min-14 text-sm p-2 rounded-md resize-none overflow-visible focus:outline-none focus:ring-0 focus:border-non pr-[3rem]",
|
|
114
113
|
rows: 1
|
|
115
114
|
}),
|
|
116
115
|
/* @__PURE__ */ jsx("button", {
|
|
117
|
-
onClick:
|
|
116
|
+
onClick: begingGeneratingAdjustment,
|
|
118
117
|
className: "absolute right-2 bg-blue-500 text-white w-8 h-8 rounded-full flex items-center justify-center",
|
|
119
118
|
children: /* @__PURE__ */ jsx("i", {
|
|
120
119
|
className: "material-icons",
|
|
@@ -136,7 +135,7 @@ var SuggestionAppearing = ({
|
|
|
136
135
|
}),
|
|
137
136
|
/* @__PURE__ */ jsx("div", {
|
|
138
137
|
className: "ml-auto",
|
|
139
|
-
children:
|
|
138
|
+
children: isLoading && /* @__PURE__ */ jsx("div", {
|
|
140
139
|
className: "flex justify-center items-center",
|
|
141
140
|
children: /* @__PURE__ */ jsx("div", {
|
|
142
141
|
className: "inline-block h-4 w-4 animate-spin rounded-full border-4 border-solid border-current border-r-transparent align-[-0.125em] motion-reduce:animate-[spin_1.5s_linear_infinite]",
|
|
@@ -153,43 +152,28 @@ var SuggestionAppearing = ({
|
|
|
153
152
|
/* @__PURE__ */ jsx("textarea", {
|
|
154
153
|
ref: suggestionTextAreaRef,
|
|
155
154
|
value: editSuggestion,
|
|
156
|
-
disabled:
|
|
155
|
+
disabled: suggestionIsLoading,
|
|
157
156
|
onChange: (e) => setEditSuggestion(e.target.value),
|
|
158
157
|
className: "w-full text-base p-2 border border-gray-300 rounded-md resize-none bg-green-50",
|
|
159
158
|
style: { overflow: "auto", maxHeight: "10em" }
|
|
160
159
|
})
|
|
161
160
|
]
|
|
162
161
|
});
|
|
163
|
-
const SubmitComponent = /* @__PURE__ */
|
|
162
|
+
const SubmitComponent = /* @__PURE__ */ jsx("div", {
|
|
164
163
|
className: "flex w-full gap-4 justify-start",
|
|
165
|
-
children:
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
}),
|
|
179
|
-
/* @__PURE__ */ jsxs(Button, {
|
|
180
|
-
className: " bg-green-700 text-white",
|
|
181
|
-
onClick: () => {
|
|
182
|
-
performInsertion(editSuggestion);
|
|
183
|
-
},
|
|
184
|
-
children: [
|
|
185
|
-
"Insert ",
|
|
186
|
-
/* @__PURE__ */ jsx("i", {
|
|
187
|
-
className: "material-icons",
|
|
188
|
-
children: "check"
|
|
189
|
-
})
|
|
190
|
-
]
|
|
191
|
-
})
|
|
192
|
-
]
|
|
164
|
+
children: /* @__PURE__ */ jsxs(Button, {
|
|
165
|
+
className: " bg-green-700 text-white",
|
|
166
|
+
onClick: () => {
|
|
167
|
+
performInsertion(editSuggestion);
|
|
168
|
+
},
|
|
169
|
+
children: [
|
|
170
|
+
"Insert ",
|
|
171
|
+
/* @__PURE__ */ jsx("i", {
|
|
172
|
+
className: "material-icons",
|
|
173
|
+
children: "check"
|
|
174
|
+
})
|
|
175
|
+
]
|
|
176
|
+
})
|
|
193
177
|
});
|
|
194
178
|
const sourceSearchCandidate = adjustmentPrompt.split(" ").pop();
|
|
195
179
|
const sourceSearchWord = (sourceSearchCandidate == null ? void 0 : sourceSearchCandidate.startsWith("@")) ? sourceSearchCandidate.slice(1) : void 0;
|
|
@@ -213,8 +197,8 @@ var SuggestionAppearing = ({
|
|
|
213
197
|
(_a = adjustmentTextAreaRef.current) == null ? void 0 : _a.focus();
|
|
214
198
|
}
|
|
215
199
|
}),
|
|
216
|
-
SuggestionComponent,
|
|
217
|
-
SubmitComponent
|
|
200
|
+
generatingSuggestion ? SuggestionComponent : null,
|
|
201
|
+
generatingSuggestion ? SubmitComponent : null
|
|
218
202
|
]
|
|
219
203
|
});
|
|
220
204
|
};
|
|
@@ -472,6 +456,6 @@ function Logo({
|
|
|
472
456
|
});
|
|
473
457
|
}
|
|
474
458
|
|
|
475
|
-
export { FileChipPreview, IconForFilePointer, IncludedFilesPreview, Logo, SourceSearchBox
|
|
459
|
+
export { FileChipPreview, HoveringInsertionPromptBoxCore, IconForFilePointer, IncludedFilesPreview, Logo, SourceSearchBox };
|
|
476
460
|
//# sourceMappingURL=out.js.map
|
|
477
|
-
//# sourceMappingURL=chunk-
|
|
461
|
+
//# sourceMappingURL=chunk-23UHDUUY.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/components/source-search-box/source-search-box.tsx","../src/components/hovering-toolbar/text-insertion-prompt-box/hovering-insertion-prompt-box-core.tsx"],"names":["useState","jsx","jsxs"],"mappings":"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","sourcesContent":["import { useState } from \"react\";\nimport {\n Command,\n CommandDialog,\n CommandEmpty,\n CommandGroup,\n CommandInput,\n CommandItem,\n CommandList,\n CommandSeparator,\n CommandShortcut,\n} from \"../ui/command\";\n\nimport {\n Calculator,\n Calendar,\n CreditCard,\n Settings,\n Smile,\n User,\n} from \"lucide-react\";\nimport { IconForFilePointer } from \"../hovering-toolbar/text-insertion-prompt-box/hovering-insertion-prompt-box-core\";\n\nexport interface FilePointer {\n name: string;\n sourceApplication: string;\n getContents: () => Promise<string>;\n}\n\nexport interface SourceSearchBoxProps {\n searchTerm: string;\n recentFiles: FilePointer[];\n onSelectedFile: (filePointer: FilePointer) => void;\n}\n\nexport function SourceSearchBox(props: SourceSearchBoxProps) {\n const [selectedValue, setSelectedValue] = useState<string>(\"\");\n\n return (\n <Command\n className=\"rounded-lg border shadow-md\"\n value={selectedValue}\n onValueChange={(value) => {\n setSelectedValue(value);\n }}\n filter={(value, search) => {\n // if the search term is empty, show all commands\n if (props.searchTerm === \"\") return 1;\n\n // if the search term is a prefix of the command, show it\n if (value.startsWith(props.searchTerm)) return 1;\n\n // otherwise, don't show it\n return 0;\n }}\n >\n <CommandInput\n value={props.searchTerm}\n className=\"rounded-t-lg hidden\"\n placeholder=\"Search for a command...\"\n />\n <CommandList>\n <CommandEmpty>No results found.</CommandEmpty>\n\n <CommandGroup heading=\"Recents\">\n {props.recentFiles.map((filePointer) => {\n return (\n <CommandItem\n key={`word-${filePointer.sourceApplication}.${filePointer.name}`}\n value={filePointer.name}\n onSelect={(value) => {\n console.log(filePointer.name);\n props.onSelectedFile(filePointer);\n }}\n >\n <div className=\"flex flex-row gap-3 items-center bg-slate-400 \">\n <Logo size=\"40px\">\n <IconForFilePointer\n filePointer={filePointer}\n className=\"mx-auto my-auto\"\n />\n </Logo>\n {filePointer.name}\n </div>\n </CommandItem>\n );\n })}\n </CommandGroup>\n\n <CommandGroup heading=\"Suggestions\">\n <CommandItem\n onSelect={(value) => {\n console.log(value);\n console.log(value);\n }}\n >\n <Calendar className=\"mr-2 h-4 w-4\" />\n <span>Calendar</span>\n </CommandItem>\n <CommandItem>\n <Smile className=\"mr-2 h-4 w-4\" />\n <span>Search Emoji</span>\n </CommandItem>\n <CommandItem>\n <Calculator className=\"mr-2 h-4 w-4\" />\n <span>Calculator</span>\n </CommandItem>\n </CommandGroup>\n <CommandSeparator />\n </CommandList>\n </Command>\n );\n}\n\nexport function Logo({\n children,\n size = \"20px\",\n}: {\n children: React.ReactNode;\n size?: string;\n}) {\n return (\n <div\n className={\"\"}\n style={{\n width: size,\n height: size,\n }}\n >\n <div className={\"\"}>{children}</div>\n </div>\n );\n}\n","import useAutosizeTextArea from \"../../../hooks/misc/use-autosize-textarea\";\nimport { MinimalChatGPTMessage } from \"../../../types\";\nimport {\n EditingEditorState,\n Generator_InsertionOrEditingSuggestion,\n} from \"../../../types/base/autosuggestions-bare-function\";\nimport {\n FilePointer,\n SourceSearchBox,\n} from \"../../source-search-box/source-search-box\";\nimport { Button } from \"../../ui/button\";\nimport { Label } from \"../../ui/label\";\nimport React, { useEffect, useRef, useState } from \"react\";\n\nimport Chip from \"@mui/material/Chip\";\nimport Avatar from \"@mui/material/Avatar\";\nimport { streamPromiseFlatten } from \"../../../lib/stream-promise-flatten\";\n\nexport type SuggestionState = {\n editorState: EditingEditorState;\n};\n\nexport interface HoveringInsertionPromptBoxCoreProps {\n state: SuggestionState;\n performInsertion: (insertedText: string) => void;\n insertionOrEditingFunction: Generator_InsertionOrEditingSuggestion;\n}\n\nexport const HoveringInsertionPromptBoxCore: React.FC<\n HoveringInsertionPromptBoxCoreProps\n> = ({ performInsertion, state, insertionOrEditingFunction }) => {\n const [editSuggestion, setEditSuggestion] = useState<string>(\"\");\n const [suggestionIsLoading, setSuggestionIsLoading] =\n useState<boolean>(false);\n\n const [adjustmentPrompt, setAdjustmentPrompt] = useState<string>(\"\");\n\n const [generatingSuggestion, setGeneratingSuggestion] =\n useState<ReadableStream<string> | null>(null);\n\n const adjustmentTextAreaRef = useRef<HTMLTextAreaElement>(null);\n const suggestionTextAreaRef = useRef<HTMLTextAreaElement>(null);\n\n const [filePointers, setFilePointers] = useState<FilePointer[]>([]);\n\n useAutosizeTextArea(suggestionTextAreaRef, editSuggestion || \"\");\n useAutosizeTextArea(adjustmentTextAreaRef, adjustmentPrompt || \"\");\n\n // initially focus on the adjustment prompt text area\n useEffect(() => {\n adjustmentTextAreaRef.current?.focus();\n }, []);\n\n useEffect(() => {\n // if no generating suggestion, do nothing\n if (!generatingSuggestion) {\n return;\n }\n\n // Check if the stream is already locked (i.e. already reading from it)\n if (generatingSuggestion.locked) {\n return;\n }\n\n // reset the edit suggestion\n setEditSuggestion(\"\");\n\n // read the generating suggestion stream and continuously update the edit suggestion\n const reader = generatingSuggestion.getReader();\n\n const read = async () => {\n setSuggestionIsLoading(true);\n while (true) {\n const { done, value } = await reader.read();\n if (done) {\n break;\n }\n setEditSuggestion((prev) => {\n const newSuggestion = prev + value;\n\n // Scroll to the bottom of the textarea. We call this here to make sure scroll-to-bottom is synchronous with the state update.\n if (suggestionTextAreaRef.current) {\n suggestionTextAreaRef.current.scrollTop =\n suggestionTextAreaRef.current.scrollHeight;\n }\n return newSuggestion;\n });\n }\n\n setSuggestionIsLoading(false);\n };\n read();\n\n return () => {\n const releaseLockIfNotClosed = async () => {\n try {\n await reader.closed;\n } catch {\n reader.releaseLock();\n }\n };\n\n releaseLockIfNotClosed();\n };\n }, [generatingSuggestion]);\n\n const begingGeneratingAdjustment = async () => {\n // don't generate text if the prompt is empty\n if (!adjustmentPrompt.trim()) {\n return;\n }\n\n // if the current edit suggestion is not empty, then use it as the selected text instead of the editor state's selected text\n let editorState = state.editorState;\n if (editSuggestion !== \"\") {\n editorState.selectedText = editSuggestion;\n }\n\n const adjustmentSuggestionTextStreamPromise = insertionOrEditingFunction(\n editorState,\n adjustmentPrompt,\n new AbortController().signal\n );\n const adjustmentSuggestionTextStream = streamPromiseFlatten(\n adjustmentSuggestionTextStreamPromise\n );\n\n setGeneratingSuggestion(adjustmentSuggestionTextStream);\n };\n\n const isLoading = suggestionIsLoading;\n\n const textToEdit = editSuggestion || state.editorState.selectedText;\n const adjustmentLabel =\n textToEdit === \"\"\n ? \"Describe the text you want to insert\"\n : \"Describe adjustments to the suggested text\";\n const placeholder =\n textToEdit === \"\"\n ? \"e.g. 'summarize the client's top 3 pain-points from @CallTranscript'\"\n : \"e.g. 'make it more formal', 'be more specific', ...\";\n\n const AdjustmentPromptComponent = (\n <>\n <Label className=\"\">{adjustmentLabel}</Label>\n <div className=\"relative w-full flex items-center\">\n <textarea\n disabled={suggestionIsLoading}\n ref={adjustmentTextAreaRef}\n value={adjustmentPrompt}\n onChange={(e) => setAdjustmentPrompt(e.target.value)}\n onKeyDown={(e) => {\n if (e.key === \"Enter\" && e.shiftKey) {\n e.preventDefault();\n setAdjustmentPrompt(adjustmentPrompt + \"\\n\");\n } else if (e.key === \"Enter\") {\n e.preventDefault();\n begingGeneratingAdjustment();\n }\n }}\n placeholder={placeholder}\n style={{ minHeight: \"3rem\" }}\n className=\"w-full bg-slate-100 h-auto h-min-14 text-sm p-2 rounded-md resize-none overflow-visible focus:outline-none focus:ring-0 focus:border-non pr-[3rem]\"\n rows={1}\n />\n <button\n onClick={begingGeneratingAdjustment}\n className=\"absolute right-2 bg-blue-500 text-white w-8 h-8 rounded-full flex items-center justify-center\"\n >\n <i className=\"material-icons\">arrow_forward</i>\n </button>\n </div>\n </>\n );\n\n const SuggestionComponent = (\n <>\n <div className=\"flex justify-between items-end w-full\">\n <Label className=\"mt-4\">Suggested:</Label>\n <div className=\"ml-auto\">\n {isLoading && (\n <div className=\"flex justify-center items-center\">\n <div\n className=\"inline-block h-4 w-4 animate-spin rounded-full border-4 border-solid border-current border-r-transparent align-[-0.125em] motion-reduce:animate-[spin_1.5s_linear_infinite]\"\n role=\"status\"\n >\n <span className=\"!absolute !-m-px !h-px !w-px !overflow-hidden !whitespace-nowrap !border-0 !p-0 ![clip:rect(0,0,0,0)]\">\n Loading...\n </span>\n </div>\n </div>\n )}\n </div>\n </div>\n <textarea\n ref={suggestionTextAreaRef}\n value={editSuggestion}\n disabled={suggestionIsLoading}\n onChange={(e) => setEditSuggestion(e.target.value)}\n className=\"w-full text-base p-2 border border-gray-300 rounded-md resize-none bg-green-50\"\n style={{ overflow: \"auto\", maxHeight: \"10em\" }}\n />\n </>\n );\n\n const SubmitComponent = (\n <div className=\"flex w-full gap-4 justify-start\">\n <Button\n className=\" bg-green-700 text-white\"\n onClick={() => {\n performInsertion(editSuggestion);\n }}\n >\n Insert <i className=\"material-icons\">check</i>\n </Button>\n </div>\n );\n\n // show source search if the last word in the adjustment prompt BEGINS with an @\n const sourceSearchCandidate = adjustmentPrompt.split(\" \").pop();\n // if the candidate is @someCandidate, then 'someCandidate', otherwise undefined\n const sourceSearchWord = sourceSearchCandidate?.startsWith(\"@\")\n ? sourceSearchCandidate.slice(1)\n : undefined;\n\n return (\n <div className=\"w-full flex flex-col items-start relative gap-2\">\n {AdjustmentPromptComponent}\n {filePointers.length > 0 && (\n <IncludedFilesPreview\n includedFiles={filePointers}\n setIncludedFiles={setFilePointers}\n />\n )}\n {sourceSearchWord !== undefined && (\n <SourceSearchBox\n searchTerm={sourceSearchWord}\n recentFiles={mockFiles}\n onSelectedFile={(filePointer) => {\n setAdjustmentPrompt(\n adjustmentPrompt.replace(new RegExp(`@${sourceSearchWord}$`), \"\")\n );\n setFilePointers((prev) => [...prev, filePointer]);\n\n // focus back on the adjustment prompt, and move the cursor to the end\n adjustmentTextAreaRef.current?.focus();\n }}\n />\n )}\n {generatingSuggestion ? SuggestionComponent : null}\n {generatingSuggestion ? SubmitComponent : null}\n </div>\n );\n};\n\ninterface IncludedFilesPreviewProps {\n includedFiles: FilePointer[];\n setIncludedFiles: React.Dispatch<React.SetStateAction<FilePointer[]>>;\n}\n\nexport const IncludedFilesPreview: React.FC<IncludedFilesPreviewProps> = ({\n includedFiles,\n setIncludedFiles,\n}) => {\n return (\n <div className=\"flex flex-col gap-2\">\n <div className=\"flex flex-wrap gap-2\">\n {includedFiles.map((filePointer, index) => {\n return (\n <FileChipPreview\n key={`file-${filePointer.sourceApplication}.${filePointer.name}`}\n filePointer={filePointer}\n onDelete={() => {\n setIncludedFiles((prev) =>\n prev.filter((fp) => fp !== filePointer)\n );\n }}\n />\n );\n })}\n </div>\n </div>\n );\n};\n\nexport interface FileChipPreviewProp {\n filePointer: FilePointer;\n onDelete: () => void;\n}\n\nexport const FileChipPreview: React.FC<FileChipPreviewProp> = ({\n filePointer,\n onDelete,\n}) => {\n return (\n <Chip\n label={filePointer.name}\n onDelete={onDelete}\n avatar={\n <Avatar sx={{ backgroundColor: \"transparent\" }}>\n <IconForFilePointer\n filePointer={filePointer}\n className=\"w-4 h-4 object-contain\"\n />\n </Avatar>\n }\n />\n );\n};\n\nexport function IconForFilePointer({\n filePointer,\n className,\n}: {\n filePointer: FilePointer;\n className: string;\n}): JSX.Element {\n if (filePointer.sourceApplication === \"Salesforce\") {\n return <IconSalesforce className={className} />;\n } else {\n return <IconSalesforce className={className} />;\n }\n}\n\nfunction IconSalesforce({ className, ...props }: React.ComponentProps<\"svg\">) {\n return (\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n xmlnsXlink=\"http://www.w3.org/1999/xlink\"\n preserveAspectRatio=\"xMidYMid meet\"\n viewBox=\"0 0 273 191\"\n {...props}\n >\n <title>{\"Salesforce.com logo\"}</title>\n <defs>\n <path id=\"a\" d=\"M.06.5h272v190H.06z\" />\n </defs>\n <g fillRule=\"evenodd\">\n <mask id=\"b\" fill=\"#fff\">\n <use xlinkHref=\"#a\" />\n </mask>\n <path\n fill=\"#00A1E0\"\n d=\"M113 21.3c8.78-9.14 21-14.8 34.5-14.8 18 0 33.6 10 42 24.9a58 58 0 0 1 23.7-5.05c32.4 0 58.7 26.5 58.7 59.2s-26.3 59.2-58.7 59.2c-3.96 0-7.82-.398-11.6-1.15-7.35 13.1-21.4 22-37.4 22a42.7 42.7 0 0 1-18.8-4.32c-7.45 17.5-24.8 29.8-45 29.8-21.1 0-39-13.3-45.9-32a45.1 45.1 0 0 1-9.34.972c-25.1 0-45.4-20.6-45.4-45.9 0-17 9.14-31.8 22.7-39.8a52.6 52.6 0 0 1-4.35-21c0-29.2 23.7-52.8 52.9-52.8 17.1 0 32.4 8.15 42 20.8\"\n mask=\"url(#b)\"\n />\n <path\n fill=\"#FFFFFE\"\n d=\"M39.4 99.3c-.171.446.061.539.116.618.511.37 1.03.638 1.55.939 2.78 1.47 5.4 1.9 8.14 1.9 5.58 0 9.05-2.97 9.05-7.75v-.094c0-4.42-3.92-6.03-7.58-7.18l-.479-.155c-2.77-.898-5.16-1.68-5.16-3.5v-.093c0-1.56 1.4-2.71 3.56-2.71 2.4 0 5.26.799 7.09 1.81 0 0 .542.35.739-.173.107-.283 1.04-2.78 1.14-3.06.106-.293-.08-.514-.271-.628-2.1-1.28-5-2.15-8-2.15l-.557.002c-5.11 0-8.68 3.09-8.68 7.51v.095c0 4.66 3.94 6.18 7.62 7.23l.592.184c2.68.824 5 1.54 5 3.42v.094c0 1.73-1.51 3.02-3.93 3.02-.941 0-3.94-.016-7.19-2.07-.393-.229-.617-.394-.92-.579-.16-.097-.56-.272-.734.252l-1.1 3.06m81.7 0c-.171.446.061.539.118.618.509.37 1.03.638 1.55.939 2.78 1.47 5.4 1.9 8.14 1.9 5.58 0 9.05-2.97 9.05-7.75v-.094c0-4.42-3.91-6.03-7.58-7.18l-.479-.155c-2.77-.898-5.16-1.68-5.16-3.5v-.093c0-1.56 1.4-2.71 3.56-2.71 2.4 0 5.25.799 7.09 1.81 0 0 .542.35.74-.173.106-.283 1.04-2.78 1.13-3.06.107-.293-.08-.514-.27-.628-2.1-1.28-5-2.15-8-2.15l-.558.002c-5.11 0-8.68 3.09-8.68 7.51v.095c0 4.66 3.94 6.18 7.62 7.23l.591.184c2.69.824 5 1.54 5 3.42v.094c0 1.73-1.51 3.02-3.93 3.02-.943 0-3.95-.016-7.19-2.07-.393-.229-.623-.387-.921-.579-.101-.064-.572-.248-.733.252l-1.1 3.06m55.8-9.36c0 2.7-.504 4.83-1.49 6.34-.984 1.49-2.47 2.22-4.54 2.22s-3.55-.724-4.52-2.21c-.977-1.5-1.47-3.64-1.47-6.34 0-2.7.496-4.82 1.47-6.31.968-1.48 2.44-2.19 4.52-2.19s3.56.717 4.54 2.19c.992 1.49 1.49 3.61 1.49 6.31m4.66-5.01c-.459-1.55-1.17-2.91-2.12-4.05a10.151 10.151 0 0 0-3.58-2.72c-1.42-.665-3.1-1-5-1s-3.57.337-5 1c-1.42.664-2.63 1.58-3.58 2.72-.948 1.14-1.66 2.5-2.12 4.05-.455 1.54-.686 3.22-.686 5.01 0 1.79.231 3.47.686 5.01.457 1.55 1.17 2.91 2.12 4.05.951 1.14 2.16 2.05 3.58 2.7 1.43.648 3.11.978 5 .978 1.89 0 3.57-.33 4.99-.978 1.42-.648 2.63-1.56 3.58-2.7.949-1.14 1.66-2.5 2.12-4.05.454-1.54.685-3.22.685-5.01 0-1.78-.231-3.47-.685-5.01m38.3 12.8c-.153-.453-.595-.282-.595-.282-.677.259-1.4.499-2.17.619-.776.122-1.64.183-2.55.183-2.25 0-4.05-.671-5.33-2-1.29-1.33-2.01-3.47-2-6.37.007-2.64.645-4.62 1.79-6.14 1.13-1.5 2.87-2.28 5.17-2.28 1.92 0 3.39.223 4.93.705 0 0 .365.159.54-.322.409-1.13.711-1.94 1.15-3.18.124-.355-.18-.505-.291-.548-.604-.236-2.03-.623-3.11-.786-1.01-.154-2.18-.234-3.5-.234-1.96 0-3.7.335-5.19.999-1.49.663-2.75 1.58-3.75 2.72-1 1.14-1.76 2.5-2.27 4.05-.505 1.54-.76 3.23-.76 5.02 0 3.86 1.04 6.99 3.1 9.28 2.06 2.3 5.16 3.46 9.2 3.46 2.39 0 4.84-.483 6.6-1.18 0 0 .336-.162.19-.554l-1.15-3.16m8.15-10.4c.223-1.5.634-2.75 1.28-3.72.967-1.48 2.44-2.29 4.51-2.29s3.44.814 4.42 2.29c.65.975.934 2.27 1.04 3.72l-11.3-.002zm15.7-3.3c-.397-1.49-1.38-3-2.02-3.69-1.02-1.09-2.01-1.86-3-2.28a11.5 11.5 0 0 0-4.52-.917c-1.97 0-3.76.333-5.21 1.01-1.45.682-2.67 1.61-3.63 2.77-.959 1.16-1.68 2.53-2.14 4.1-.46 1.55-.692 3.25-.692 5.03 0 1.82.241 3.51.715 5.04.479 1.54 1.25 2.89 2.29 4.01 1.04 1.13 2.37 2.01 3.97 2.63 1.59.615 3.52.934 5.73.927 4.56-.015 6.96-1.03 7.94-1.58.175-.098.34-.267.134-.754l-1.03-2.89c-.158-.431-.594-.275-.594-.275-1.13.422-2.73 1.18-6.48 1.17-2.45-.004-4.26-.727-5.4-1.86-1.16-1.16-1.74-2.85-1.83-5.25l15.8.012s.416-.004.459-.41c.017-.168.541-3.24-.471-6.79zm-142 3.3c.223-1.5.635-2.75 1.28-3.72.968-1.48 2.44-2.29 4.51-2.29s3.44.814 4.42 2.29c.649.975.933 2.27 1.04 3.72l-11.3-.002zm15.7-3.3c-.396-1.49-1.38-3-2.02-3.69-1.02-1.09-2.01-1.86-3-2.28a11.5 11.5 0 0 0-4.52-.917c-1.97 0-3.76.333-5.21 1.01-1.45.682-2.67 1.61-3.63 2.77-.957 1.16-1.68 2.53-2.14 4.1-.459 1.55-.69 3.25-.69 5.03 0 1.82.239 3.51.716 5.04.478 1.54 1.25 2.89 2.28 4.01 1.04 1.13 2.37 2.01 3.97 2.63 1.59.615 3.51.934 5.73.927 4.56-.015 6.96-1.03 7.94-1.58.174-.098.34-.267.133-.754l-1.03-2.89c-.159-.431-.595-.275-.595-.275-1.13.422-2.73 1.18-6.48 1.17-2.44-.004-4.26-.727-5.4-1.86-1.16-1.16-1.74-2.85-1.83-5.25l15.8.012s.416-.004.459-.41c.017-.168.541-3.24-.472-6.79zm-49.8 13.6c-.619-.494-.705-.615-.91-.936-.313-.483-.473-1.17-.473-2.05 0-1.38.46-2.38 1.41-3.05-.01.002 1.36-1.18 4.58-1.14a32 32 0 0 1 4.28.365v7.17h.002s-2 .431-4.26.567c-3.21.193-4.63-.924-4.62-.921zm6.28-11.1c-.64-.047-1.47-.07-2.46-.07-1.35 0-2.66.168-3.88.498-1.23.332-2.34.846-3.29 1.53a7.63 7.63 0 0 0-2.29 2.6c-.559 1.04-.844 2.26-.844 3.64 0 1.4.243 2.61.723 3.6a6.54 6.54 0 0 0 2.06 2.47c.877.638 1.96 1.11 3.21 1.39 1.24.283 2.64.426 4.18.426 1.62 0 3.23-.136 4.79-.399a95.1 95.1 0 0 0 3.97-.772c.526-.121 1.11-.28 1.11-.28.39-.099.36-.516.36-.516l-.009-14.4c0-3.16-.844-5.51-2.51-6.96-1.66-1.45-4.09-2.18-7.24-2.18-1.18 0-3.09.16-4.23.389 0 0-3.44.668-4.86 1.78 0 0-.312.192-.142.627l1.12 3c.139.389.518.256.518.256s.119-.047.259-.13c3.03-1.65 6.87-1.6 6.87-1.6 1.7 0 3.02.345 3.9 1.02.861.661 1.3 1.66 1.3 3.76v.667c-1.35-.196-2.6-.309-2.6-.309zm127-8.13a.428.428 0 0 0-.237-.568c-.269-.102-1.61-.385-2.64-.449-1.98-.124-3.08.21-4.07.654-.978.441-2.06 1.15-2.66 1.97l-.002-1.92c0-.264-.187-.477-.453-.477h-4.04c-.262 0-.452.213-.452.477v23.5a.48.48 0 0 0 .479.479h4.14a.479.479 0 0 0 .478-.479v-11.8c0-1.58.174-3.15.521-4.14.342-.979.807-1.76 1.38-2.32a4.79 4.79 0 0 1 1.95-1.17 7.68 7.68 0 0 1 2.12-.298c.825 0 1.73.212 1.73.212.304.034.473-.152.576-.426.271-.721 1.04-2.88 1.19-3.31\"\n />\n <path\n fill=\"#FFFFFE\"\n d=\"M162.201 67.548a13.258 13.258 0 0 0-1.559-.37 12.217 12.217 0 0 0-2.144-.166c-2.853 0-5.102.806-6.681 2.398-1.568 1.58-2.635 3.987-3.17 7.154l-.193 1.069h-3.581s-.437-.018-.529.459l-.588 3.28c-.041.314.094.51.514.508h3.486l-3.537 19.743c-.277 1.59-.594 2.898-.945 3.889-.346.978-.684 1.711-1.1 2.243-.403.515-.785.894-1.444 1.115-.544.183-1.17.267-1.856.267-.382 0-.89-.064-1.265-.139-.375-.074-.57-.158-.851-.276 0 0-.409-.156-.57.254-.131.335-1.06 2.89-1.17 3.206-.112.312.045.558.243.629.464.166.809.272 1.441.421.878.207 1.618.22 2.311.22 1.452 0 2.775-.204 3.872-.6 1.104-.399 2.065-1.094 2.915-2.035.919-1.015 1.497-2.078 2.05-3.528.547-1.437 1.013-3.221 1.386-5.3l3.554-20.109h5.196s.438.016.529-.459l.588-3.28c.041-.314-.093-.51-.515-.508h-5.043c.025-.114.254-1.888.833-3.558.247-.713.712-1.288 1.106-1.683a3.273 3.273 0 0 1 1.321-.822 5.48 5.48 0 0 1 1.693-.244c.475 0 .941.057 1.296.131.489.104.679.159.807.197.514.157.583.005.684-.244l1.206-3.312c.124-.356-.178-.506-.29-.55m-70.474 34.117c0 .264-.188.479-.452.479h-4.183c-.265 0-.453-.215-.453-.479V67.997c0-.263.188-.476.453-.476h4.183c.264 0 .452.213.452.476v33.668\"\n />\n </g>\n </svg>\n );\n}\n\nconst mockFiles: FilePointer[] = [\n {\n name: \"prospecting call transcript\",\n sourceApplication: \"Salesforce\",\n getContents: async () => {\n return \"some contents\";\n },\n },\n {\n name: \"customer feedback\",\n sourceApplication: \"Zendesk\",\n getContents: async () => {\n return \"some contents\";\n },\n },\n {\n name: \"product specifications\",\n sourceApplication: \"Google Docs\",\n getContents: async () => {\n return \"some contents\";\n },\n },\n {\n name: \"meeting minutes\",\n sourceApplication: \"Microsoft Teams\",\n getContents: async () => {\n return \"some contents\";\n },\n },\n {\n name: \"project plan\",\n sourceApplication: \"Trello\",\n getContents: async () => {\n return \"some contents\";\n },\n },\n {\n name: \"code review comments\",\n sourceApplication: \"Github\",\n getContents: async () => {\n return \"some contents\";\n },\n },\n];\n"]}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { HoveringInsertionPromptBox } from './chunk-
|
|
1
|
+
import { HoveringInsertionPromptBox } from './chunk-CZMPLTHF.mjs';
|
|
2
2
|
import { useHoveringEditorContext } from './chunk-YW3REYX6.mjs';
|
|
3
3
|
import { Portal, Menu } from './chunk-XHUMROEY.mjs';
|
|
4
4
|
import { getTextAroundSelection, getFullEditorTextWithNewlines } from './chunk-IXJ2HCOA.mjs';
|
|
@@ -104,4 +104,4 @@ function editorState(editor, selection) {
|
|
|
104
104
|
|
|
105
105
|
export { HoveringToolbar };
|
|
106
106
|
//# sourceMappingURL=out.js.map
|
|
107
|
-
//# sourceMappingURL=chunk-
|
|
107
|
+
//# sourceMappingURL=chunk-4MDDCR32.mjs.map
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { HoveringInsertionPromptBoxCore } from './chunk-23UHDUUY.mjs';
|
|
2
|
+
import { jsx } from 'react/jsx-runtime';
|
|
3
|
+
|
|
4
|
+
var HoveringInsertionPromptBox = (props) => {
|
|
5
|
+
return /* @__PURE__ */ jsx("div", {
|
|
6
|
+
className: "flex flex-col justify-center items-center space-y-4 rounded-md border shadow-lg p-4 border-gray- bg-white",
|
|
7
|
+
style: { width: "35rem" },
|
|
8
|
+
children: /* @__PURE__ */ jsx(HoveringInsertionPromptBoxCore, {
|
|
9
|
+
state: {
|
|
10
|
+
editorState: props.editorState
|
|
11
|
+
},
|
|
12
|
+
performInsertion: props.performInsertion,
|
|
13
|
+
insertionOrEditingFunction: props.apiConfig.insertionOrEditingFunction
|
|
14
|
+
})
|
|
15
|
+
});
|
|
16
|
+
};
|
|
17
|
+
|
|
18
|
+
export { HoveringInsertionPromptBox };
|
|
19
|
+
//# sourceMappingURL=out.js.map
|
|
20
|
+
//# sourceMappingURL=chunk-CZMPLTHF.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/components/hovering-toolbar/text-insertion-prompt-box/hovering-insertion-prompt-box.tsx"],"names":[],"mappings":";;;;;AAoBM;AANC,IAAM,6BAA8C,CAAC,UAAU;AACpE,SACE,oBAAC;AAAA,IACC,WAAU;AAAA,IACV,OAAO,EAAE,OAAO,QAAQ;AAAA,IAExB,8BAAC;AAAA,MACC,OAAO;AAAA,QACL,aAAa,MAAM;AAAA,MACrB;AAAA,MACA,kBAAkB,MAAM;AAAA,MACxB,4BAA4B,MAAM,UAAU;AAAA,KAC9C;AAAA,GACF;AAEJ","sourcesContent":["import React, { useCallback, useState } from \"react\";\nimport { HoveringInsertionPromptBoxCore } from \"./hovering-insertion-prompt-box-core\";\nimport {\n EditingEditorState,\n InsertionEditorApiConfig,\n} from \"../../../types/base/autosuggestions-bare-function\";\n\nexport interface Props {\n editorState: EditingEditorState;\n apiConfig: InsertionEditorApiConfig;\n performInsertion: (insertedText: string) => void;\n closeWindow: () => void;\n}\n\nexport const HoveringInsertionPromptBox: React.FC<Props> = (props) => {\n return (\n <div\n className=\"flex flex-col justify-center items-center space-y-4 rounded-md border shadow-lg p-4 border-gray- bg-white\"\n style={{ width: \"35rem\" }}\n >\n <HoveringInsertionPromptBoxCore\n state={{\n editorState: props.editorState,\n }}\n performInsertion={props.performInsertion}\n insertionOrEditingFunction={props.apiConfig.insertionOrEditingFunction}\n />\n </div>\n );\n};\n"]}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import { __async } from './chunk-MRXNTQOX.mjs';
|
|
2
|
+
|
|
3
|
+
// src/lib/stream-promise-flatten.ts
|
|
4
|
+
function streamPromiseFlatten(promise) {
|
|
5
|
+
return new ReadableStream({
|
|
6
|
+
start(controller) {
|
|
7
|
+
return __async(this, null, function* () {
|
|
8
|
+
try {
|
|
9
|
+
const stream = yield promise;
|
|
10
|
+
const reader = stream.getReader();
|
|
11
|
+
while (true) {
|
|
12
|
+
const { done, value } = yield reader.read();
|
|
13
|
+
if (done) {
|
|
14
|
+
controller.close();
|
|
15
|
+
return;
|
|
16
|
+
}
|
|
17
|
+
controller.enqueue(value);
|
|
18
|
+
}
|
|
19
|
+
} catch (error) {
|
|
20
|
+
controller.error(error);
|
|
21
|
+
}
|
|
22
|
+
});
|
|
23
|
+
}
|
|
24
|
+
});
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
export { streamPromiseFlatten };
|
|
28
|
+
//# sourceMappingURL=out.js.map
|
|
29
|
+
//# sourceMappingURL=chunk-FN7GDKKG.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/lib/stream-promise-flatten.ts"],"names":[],"mappings":";;;;;AAAO,SAAS,qBACd,SACmB;AACnB,SAAO,IAAI,eAAkB;AAAA,IACrB,MAAM,YAAY;AAAA;AACtB,YAAI;AACF,gBAAM,SAAS,MAAM;AACrB,gBAAM,SAAS,OAAO,UAAU;AAEhC,iBAAO,MAAM;AACX,kBAAM,EAAE,MAAM,MAAM,IAAI,MAAM,OAAO,KAAK;AAE1C,gBAAI,MAAM;AACR,yBAAW,MAAM;AACjB;AAAA,YACF;AAEA,uBAAW,QAAQ,KAAK;AAAA,UAC1B;AAAA,QACF,SAAS,OAAP;AACA,qBAAW,MAAM,KAAK;AAAA,QACxB;AAAA,MACF;AAAA;AAAA,EACF,CAAC;AACH","sourcesContent":["export function streamPromiseFlatten<A>(\n promise: Promise<ReadableStream<A>>\n): ReadableStream<A> {\n return new ReadableStream<A>({\n async start(controller) {\n try {\n const stream = await promise;\n const reader = stream.getReader();\n\n while (true) {\n const { done, value } = await reader.read();\n\n if (done) {\n controller.close();\n return;\n }\n\n controller.enqueue(value);\n }\n } catch (error) {\n controller.error(error);\n }\n },\n });\n}\n"]}
|
|
@@ -1,16 +1,16 @@
|
|
|
1
|
+
import { useAutosuggestions } from './chunk-UHD44NC5.mjs';
|
|
2
|
+
import { useCopilotTextareaEditor } from './chunk-CSGFJU3L.mjs';
|
|
1
3
|
import { usePopulateCopilotTextareaRef } from './chunk-YQU7WG7T.mjs';
|
|
2
4
|
import { addAutocompletionsToEditor } from './chunk-WJYQWL4I.mjs';
|
|
3
5
|
import { clearAutocompletionsFromEditor } from './chunk-F3MHL6ZY.mjs';
|
|
4
6
|
import { replaceEditorText } from './chunk-RQHOUUXQ.mjs';
|
|
5
|
-
import {
|
|
6
|
-
import {
|
|
7
|
+
import { makeRenderPlaceholderFunction } from './chunk-OELUUJZY.mjs';
|
|
8
|
+
import { TrackerTextEditedSinceLastCursorMovement } from './chunk-OD7ZMOVE.mjs';
|
|
7
9
|
import { useAddBrandingCss } from './chunk-MPME5BW2.mjs';
|
|
8
|
-
import { HoveringToolbar } from './chunk-
|
|
10
|
+
import { HoveringToolbar } from './chunk-4MDDCR32.mjs';
|
|
9
11
|
import { useHoveringEditorContext, HoveringEditorProvider } from './chunk-YW3REYX6.mjs';
|
|
10
12
|
import { defaultBaseAutosuggestionsConfig } from './chunk-D7SEV5PR.mjs';
|
|
11
13
|
import { makeRenderElementFunction } from './chunk-LNAIMEB2.mjs';
|
|
12
|
-
import { makeRenderPlaceholderFunction } from './chunk-OELUUJZY.mjs';
|
|
13
|
-
import { TrackerTextEditedSinceLastCursorMovement } from './chunk-OD7ZMOVE.mjs';
|
|
14
14
|
import { getTextAroundCollapsedCursor, getFullEditorTextWithNewlines } from './chunk-IXJ2HCOA.mjs';
|
|
15
15
|
import { __spreadValues, __objRest, __spreadProps } from './chunk-MRXNTQOX.mjs';
|
|
16
16
|
import React, { useMemo, useState, useCallback, useEffect } from 'react';
|
|
@@ -198,4 +198,4 @@ var BaseCopilotTextarea = React.forwardRef(
|
|
|
198
198
|
|
|
199
199
|
export { BaseCopilotTextarea };
|
|
200
200
|
//# sourceMappingURL=out.js.map
|
|
201
|
-
//# sourceMappingURL=chunk-
|
|
201
|
+
//# sourceMappingURL=chunk-OS2YW2UX.mjs.map
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import { useMakeStandardAutosuggestionFunction } from './chunk-HAFHLU4N.mjs';
|
|
2
1
|
import { useMakeStandardInsertionOrEditingFunction } from './chunk-VBIJPE3H.mjs';
|
|
2
|
+
import { useMakeStandardAutosuggestionFunction } from './chunk-HAFHLU4N.mjs';
|
|
3
3
|
import { defaultAutosuggestionsConfig } from './chunk-QL2GYGG5.mjs';
|
|
4
|
-
import { BaseCopilotTextarea } from './chunk-
|
|
4
|
+
import { BaseCopilotTextarea } from './chunk-OS2YW2UX.mjs';
|
|
5
5
|
import { __spreadProps, __spreadValues } from './chunk-MRXNTQOX.mjs';
|
|
6
6
|
import React from 'react';
|
|
7
7
|
import merge from 'lodash.merge';
|
|
@@ -41,4 +41,4 @@ var CopilotTextarea = React.forwardRef(
|
|
|
41
41
|
|
|
42
42
|
export { CopilotTextarea };
|
|
43
43
|
//# sourceMappingURL=out.js.map
|
|
44
|
-
//# sourceMappingURL=chunk-
|
|
44
|
+
//# sourceMappingURL=chunk-U5GM2PRT.mjs.map
|
|
@@ -1,31 +1,31 @@
|
|
|
1
|
-
export { BaseCopilotTextarea } from '../../chunk-
|
|
2
|
-
import '../../chunk-YQU7WG7T.mjs';
|
|
3
|
-
import '../../chunk-WJYQWL4I.mjs';
|
|
4
|
-
import '../../chunk-F3MHL6ZY.mjs';
|
|
5
|
-
import '../../chunk-RQHOUUXQ.mjs';
|
|
1
|
+
export { BaseCopilotTextarea } from '../../chunk-OS2YW2UX.mjs';
|
|
6
2
|
import '../../chunk-UHD44NC5.mjs';
|
|
7
3
|
import '../../chunk-JAFCXEPU.mjs';
|
|
8
4
|
import '../../chunk-CSGFJU3L.mjs';
|
|
9
5
|
import '../../chunk-KCHYD3EB.mjs';
|
|
6
|
+
import '../../chunk-YQU7WG7T.mjs';
|
|
7
|
+
import '../../chunk-WJYQWL4I.mjs';
|
|
8
|
+
import '../../chunk-F3MHL6ZY.mjs';
|
|
9
|
+
import '../../chunk-RQHOUUXQ.mjs';
|
|
10
|
+
import '../../chunk-OELUUJZY.mjs';
|
|
11
|
+
import '../../chunk-OD7ZMOVE.mjs';
|
|
10
12
|
import '../../chunk-MPME5BW2.mjs';
|
|
11
|
-
import '../../chunk-
|
|
13
|
+
import '../../chunk-4MDDCR32.mjs';
|
|
12
14
|
import '../../chunk-L7VVZH4Q.mjs';
|
|
13
|
-
import '../../chunk-
|
|
14
|
-
import '../../chunk-CDB7HFCY.mjs';
|
|
15
|
+
import '../../chunk-CZMPLTHF.mjs';
|
|
15
16
|
import '../../chunk-YW3REYX6.mjs';
|
|
16
17
|
import '../../chunk-XHUMROEY.mjs';
|
|
17
|
-
import '../../chunk-
|
|
18
|
+
import '../../chunk-23UHDUUY.mjs';
|
|
18
19
|
import '../../chunk-ND5PXTAW.mjs';
|
|
20
|
+
import '../../chunk-2NURR2DX.mjs';
|
|
19
21
|
import '../../chunk-3YJ63D5D.mjs';
|
|
20
22
|
import '../../chunk-O5OWT5GE.mjs';
|
|
21
23
|
import '../../chunk-5EJ5XOGP.mjs';
|
|
22
|
-
import '../../chunk-
|
|
24
|
+
import '../../chunk-FN7GDKKG.mjs';
|
|
23
25
|
import '../../chunk-KGKLUWKW.mjs';
|
|
24
26
|
import '../../chunk-WJHSY5T6.mjs';
|
|
25
27
|
import '../../chunk-D7SEV5PR.mjs';
|
|
26
28
|
import '../../chunk-LNAIMEB2.mjs';
|
|
27
|
-
import '../../chunk-OELUUJZY.mjs';
|
|
28
|
-
import '../../chunk-OD7ZMOVE.mjs';
|
|
29
29
|
import '../../chunk-NKW5OU2S.mjs';
|
|
30
30
|
import '../../chunk-YTOPHPSG.mjs';
|
|
31
31
|
import '../../chunk-IXJ2HCOA.mjs';
|
|
@@ -1,40 +1,40 @@
|
|
|
1
|
-
export { CopilotTextarea } from '../../chunk-
|
|
2
|
-
import '../../chunk-HAFHLU4N.mjs';
|
|
1
|
+
export { CopilotTextarea } from '../../chunk-U5GM2PRT.mjs';
|
|
3
2
|
import '../../chunk-VBIJPE3H.mjs';
|
|
3
|
+
import '../../chunk-HAFHLU4N.mjs';
|
|
4
4
|
import '../../chunk-5FO6ISW4.mjs';
|
|
5
5
|
import '../../chunk-QL2GYGG5.mjs';
|
|
6
6
|
import '../../chunk-55EGOC5T.mjs';
|
|
7
7
|
import '../../chunk-XDT7BF3V.mjs';
|
|
8
8
|
import '../../chunk-A2RRLD23.mjs';
|
|
9
9
|
import '../../chunk-5ARCOTW3.mjs';
|
|
10
|
-
import '../../chunk-
|
|
11
|
-
import '../../chunk-YQU7WG7T.mjs';
|
|
12
|
-
import '../../chunk-WJYQWL4I.mjs';
|
|
13
|
-
import '../../chunk-F3MHL6ZY.mjs';
|
|
14
|
-
import '../../chunk-RQHOUUXQ.mjs';
|
|
10
|
+
import '../../chunk-OS2YW2UX.mjs';
|
|
15
11
|
import '../../chunk-UHD44NC5.mjs';
|
|
16
12
|
import '../../chunk-JAFCXEPU.mjs';
|
|
17
13
|
import '../../chunk-CSGFJU3L.mjs';
|
|
18
14
|
import '../../chunk-KCHYD3EB.mjs';
|
|
15
|
+
import '../../chunk-YQU7WG7T.mjs';
|
|
16
|
+
import '../../chunk-WJYQWL4I.mjs';
|
|
17
|
+
import '../../chunk-F3MHL6ZY.mjs';
|
|
18
|
+
import '../../chunk-RQHOUUXQ.mjs';
|
|
19
|
+
import '../../chunk-OELUUJZY.mjs';
|
|
20
|
+
import '../../chunk-OD7ZMOVE.mjs';
|
|
19
21
|
import '../../chunk-MPME5BW2.mjs';
|
|
20
|
-
import '../../chunk-
|
|
22
|
+
import '../../chunk-4MDDCR32.mjs';
|
|
21
23
|
import '../../chunk-L7VVZH4Q.mjs';
|
|
22
|
-
import '../../chunk-
|
|
23
|
-
import '../../chunk-CDB7HFCY.mjs';
|
|
24
|
+
import '../../chunk-CZMPLTHF.mjs';
|
|
24
25
|
import '../../chunk-YW3REYX6.mjs';
|
|
25
26
|
import '../../chunk-XHUMROEY.mjs';
|
|
26
|
-
import '../../chunk-
|
|
27
|
+
import '../../chunk-23UHDUUY.mjs';
|
|
27
28
|
import '../../chunk-ND5PXTAW.mjs';
|
|
29
|
+
import '../../chunk-2NURR2DX.mjs';
|
|
28
30
|
import '../../chunk-3YJ63D5D.mjs';
|
|
29
31
|
import '../../chunk-O5OWT5GE.mjs';
|
|
30
32
|
import '../../chunk-5EJ5XOGP.mjs';
|
|
31
|
-
import '../../chunk-
|
|
33
|
+
import '../../chunk-FN7GDKKG.mjs';
|
|
32
34
|
import '../../chunk-KGKLUWKW.mjs';
|
|
33
35
|
import '../../chunk-WJHSY5T6.mjs';
|
|
34
36
|
import '../../chunk-D7SEV5PR.mjs';
|
|
35
37
|
import '../../chunk-LNAIMEB2.mjs';
|
|
36
|
-
import '../../chunk-OELUUJZY.mjs';
|
|
37
|
-
import '../../chunk-OD7ZMOVE.mjs';
|
|
38
38
|
import '../../chunk-NKW5OU2S.mjs';
|
|
39
39
|
import '../../chunk-YTOPHPSG.mjs';
|
|
40
40
|
import '../../chunk-IXJ2HCOA.mjs';
|
|
@@ -1,15 +1,15 @@
|
|
|
1
|
-
export { HoveringToolbar } from '../../chunk-
|
|
1
|
+
export { HoveringToolbar } from '../../chunk-4MDDCR32.mjs';
|
|
2
2
|
import '../../chunk-L7VVZH4Q.mjs';
|
|
3
|
-
import '../../chunk-
|
|
4
|
-
import '../../chunk-CDB7HFCY.mjs';
|
|
3
|
+
import '../../chunk-CZMPLTHF.mjs';
|
|
5
4
|
import '../../chunk-YW3REYX6.mjs';
|
|
6
5
|
import '../../chunk-XHUMROEY.mjs';
|
|
7
|
-
import '../../chunk-
|
|
6
|
+
import '../../chunk-23UHDUUY.mjs';
|
|
8
7
|
import '../../chunk-ND5PXTAW.mjs';
|
|
8
|
+
import '../../chunk-2NURR2DX.mjs';
|
|
9
9
|
import '../../chunk-3YJ63D5D.mjs';
|
|
10
10
|
import '../../chunk-O5OWT5GE.mjs';
|
|
11
11
|
import '../../chunk-5EJ5XOGP.mjs';
|
|
12
|
-
import '../../chunk-
|
|
12
|
+
import '../../chunk-FN7GDKKG.mjs';
|
|
13
13
|
import '../../chunk-KGKLUWKW.mjs';
|
|
14
14
|
import '../../chunk-IXJ2HCOA.mjs';
|
|
15
15
|
import '../../chunk-MRXNTQOX.mjs';
|
|
@@ -2,23 +2,15 @@ import { EditingEditorState, Generator_InsertionOrEditingSuggestion } from '../.
|
|
|
2
2
|
import { FilePointer } from '../../source-search-box/source-search-box.js';
|
|
3
3
|
import React__default from 'react';
|
|
4
4
|
|
|
5
|
-
type
|
|
6
|
-
type: "suggestion-appearing";
|
|
7
|
-
initialSuggestion: SuggestionSnapshot;
|
|
8
|
-
};
|
|
9
|
-
type SuggestionSnapshot = {
|
|
10
|
-
adjustmentPrompt: string;
|
|
11
|
-
generatingSuggestion: ReadableStream<string>;
|
|
5
|
+
type SuggestionState = {
|
|
12
6
|
editorState: EditingEditorState;
|
|
13
7
|
};
|
|
14
|
-
interface
|
|
15
|
-
state:
|
|
8
|
+
interface HoveringInsertionPromptBoxCoreProps {
|
|
9
|
+
state: SuggestionState;
|
|
16
10
|
performInsertion: (insertedText: string) => void;
|
|
17
|
-
goBack: () => void;
|
|
18
11
|
insertionOrEditingFunction: Generator_InsertionOrEditingSuggestion;
|
|
19
|
-
onGeneratedText: (generatedText: ReadableStream<string>) => void;
|
|
20
12
|
}
|
|
21
|
-
declare const
|
|
13
|
+
declare const HoveringInsertionPromptBoxCore: React__default.FC<HoveringInsertionPromptBoxCoreProps>;
|
|
22
14
|
interface IncludedFilesPreviewProps {
|
|
23
15
|
includedFiles: FilePointer[];
|
|
24
16
|
setIncludedFiles: React__default.Dispatch<React__default.SetStateAction<FilePointer[]>>;
|
|
@@ -34,4 +26,4 @@ declare function IconForFilePointer({ filePointer, className, }: {
|
|
|
34
26
|
className: string;
|
|
35
27
|
}): JSX.Element;
|
|
36
28
|
|
|
37
|
-
export { FileChipPreview, FileChipPreviewProp,
|
|
29
|
+
export { FileChipPreview, FileChipPreviewProp, HoveringInsertionPromptBoxCore, HoveringInsertionPromptBoxCoreProps, IconForFilePointer, IncludedFilesPreview, SuggestionState };
|
|
@@ -1,10 +1,11 @@
|
|
|
1
|
-
export { FileChipPreview, IconForFilePointer, IncludedFilesPreview
|
|
1
|
+
export { FileChipPreview, HoveringInsertionPromptBoxCore, IconForFilePointer, IncludedFilesPreview } from '../../../chunk-23UHDUUY.mjs';
|
|
2
2
|
import '../../../chunk-ND5PXTAW.mjs';
|
|
3
|
+
import '../../../chunk-2NURR2DX.mjs';
|
|
3
4
|
import '../../../chunk-3YJ63D5D.mjs';
|
|
4
5
|
import '../../../chunk-O5OWT5GE.mjs';
|
|
5
6
|
import '../../../chunk-5EJ5XOGP.mjs';
|
|
6
|
-
import '../../../chunk-
|
|
7
|
+
import '../../../chunk-FN7GDKKG.mjs';
|
|
7
8
|
import '../../../chunk-KGKLUWKW.mjs';
|
|
8
9
|
import '../../../chunk-MRXNTQOX.mjs';
|
|
9
10
|
//# sourceMappingURL=out.js.map
|
|
10
|
-
//# sourceMappingURL=
|
|
11
|
+
//# sourceMappingURL=hovering-insertion-prompt-box-core.mjs.map
|
package/dist/components/hovering-toolbar/text-insertion-prompt-box/hovering-insertion-prompt-box.mjs
CHANGED
|
@@ -1,11 +1,11 @@
|
|
|
1
|
-
export { HoveringInsertionPromptBox } from '../../../chunk-
|
|
2
|
-
import '../../../chunk-
|
|
3
|
-
import '../../../chunk-ITZHK3YV.mjs';
|
|
1
|
+
export { HoveringInsertionPromptBox } from '../../../chunk-CZMPLTHF.mjs';
|
|
2
|
+
import '../../../chunk-23UHDUUY.mjs';
|
|
4
3
|
import '../../../chunk-ND5PXTAW.mjs';
|
|
4
|
+
import '../../../chunk-2NURR2DX.mjs';
|
|
5
5
|
import '../../../chunk-3YJ63D5D.mjs';
|
|
6
6
|
import '../../../chunk-O5OWT5GE.mjs';
|
|
7
7
|
import '../../../chunk-5EJ5XOGP.mjs';
|
|
8
|
-
import '../../../chunk-
|
|
8
|
+
import '../../../chunk-FN7GDKKG.mjs';
|
|
9
9
|
import '../../../chunk-KGKLUWKW.mjs';
|
|
10
10
|
import '../../../chunk-MRXNTQOX.mjs';
|
|
11
11
|
//# sourceMappingURL=out.js.map
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
import '../../../chunk-L7VVZH4Q.mjs';
|
|
2
|
-
export { HoveringInsertionPromptBox } from '../../../chunk-
|
|
3
|
-
import '../../../chunk-
|
|
4
|
-
import '../../../chunk-ITZHK3YV.mjs';
|
|
2
|
+
export { HoveringInsertionPromptBox } from '../../../chunk-CZMPLTHF.mjs';
|
|
3
|
+
import '../../../chunk-23UHDUUY.mjs';
|
|
5
4
|
import '../../../chunk-ND5PXTAW.mjs';
|
|
5
|
+
import '../../../chunk-2NURR2DX.mjs';
|
|
6
6
|
import '../../../chunk-3YJ63D5D.mjs';
|
|
7
7
|
import '../../../chunk-O5OWT5GE.mjs';
|
|
8
8
|
import '../../../chunk-5EJ5XOGP.mjs';
|
|
9
|
-
import '../../../chunk-
|
|
9
|
+
import '../../../chunk-FN7GDKKG.mjs';
|
|
10
10
|
import '../../../chunk-KGKLUWKW.mjs';
|
|
11
11
|
import '../../../chunk-MRXNTQOX.mjs';
|
|
12
12
|
//# sourceMappingURL=out.js.map
|