@copilotkit/react-textarea 0.27.0-alpha.3 → 0.27.0-alpha.4
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 +153 -154
- package/CHANGELOG.md +26 -8
- package/dist/components/base-copilot-textarea/base-copilot-textarea.mjs +1745 -35
- package/dist/components/base-copilot-textarea/base-copilot-textarea.mjs.map +1 -1
- package/dist/components/base-copilot-textarea/render-element.mjs +51 -3
- package/dist/components/base-copilot-textarea/render-element.mjs.map +1 -1
- package/dist/components/base-copilot-textarea/render-placeholder.mjs +49 -3
- package/dist/components/base-copilot-textarea/render-placeholder.mjs.map +1 -1
- package/dist/components/base-copilot-textarea/track-cursor-moved-since-last-text-change.mjs +86 -4
- package/dist/components/base-copilot-textarea/track-cursor-moved-since-last-text-change.mjs.map +1 -1
- package/dist/components/base-copilot-textarea/use-add-branding-css.mjs +57 -3
- package/dist/components/base-copilot-textarea/use-add-branding-css.mjs.map +1 -1
- package/dist/components/copilot-textarea/copilot-textarea.mjs +2192 -47
- package/dist/components/copilot-textarea/copilot-textarea.mjs.map +1 -1
- package/dist/components/hovering-toolbar/hovering-editor-provider.mjs +17 -3
- package/dist/components/hovering-toolbar/hovering-editor-provider.mjs.map +1 -1
- package/dist/components/hovering-toolbar/hovering-toolbar-components.mjs +137 -3
- package/dist/components/hovering-toolbar/hovering-toolbar-components.mjs.map +1 -1
- package/dist/components/hovering-toolbar/hovering-toolbar.mjs +875 -18
- package/dist/components/hovering-toolbar/hovering-toolbar.mjs.map +1 -1
- package/dist/components/hovering-toolbar/text-insertion-prompt-box/hovering-insertion-prompt-box-core.mjs +558 -12
- package/dist/components/hovering-toolbar/text-insertion-prompt-box/hovering-insertion-prompt-box-core.mjs.map +1 -1
- package/dist/components/hovering-toolbar/text-insertion-prompt-box/hovering-insertion-prompt-box.mjs +581 -13
- package/dist/components/hovering-toolbar/text-insertion-prompt-box/hovering-insertion-prompt-box.mjs.map +1 -1
- package/dist/components/hovering-toolbar/text-insertion-prompt-box/included-files-preview.mjs +102 -5
- package/dist/components/hovering-toolbar/text-insertion-prompt-box/included-files-preview.mjs.map +1 -1
- package/dist/components/hovering-toolbar/text-insertion-prompt-box/index.mjs +581 -14
- package/dist/components/hovering-toolbar/text-insertion-prompt-box/index.mjs.map +1 -1
- package/dist/components/index.mjs +2193 -48
- package/dist/components/index.mjs.map +1 -1
- package/dist/components/manual-ui/chip-with-icon.mjs +5 -6
- package/dist/components/manual-ui/chip-with-icon.mjs.map +1 -1
- package/dist/components/source-search-box/source-search-box.mjs +211 -6
- package/dist/components/source-search-box/source-search-box.mjs.map +1 -1
- package/dist/components/ui/button.mjs +85 -4
- package/dist/components/ui/button.mjs.map +1 -1
- package/dist/components/ui/card.mjs +53 -7
- package/dist/components/ui/card.mjs.map +1 -1
- package/dist/components/ui/command.mjs +244 -5
- package/dist/components/ui/command.mjs.map +1 -1
- package/dist/components/ui/dialog.mjs +144 -4
- package/dist/components/ui/dialog.mjs.map +1 -1
- package/dist/components/ui/label.mjs +60 -4
- package/dist/components/ui/label.mjs.map +1 -1
- package/dist/components/ui/separator.mjs +50 -8
- package/dist/components/ui/separator.mjs.map +1 -1
- package/dist/components/ui/textarea.mjs +48 -7
- package/dist/components/ui/textarea.mjs.map +1 -1
- package/dist/context/index.mjs +0 -2
- package/dist/context/index.mjs.map +1 -1
- package/dist/hooks/base-copilot-textarea-implementation/use-autosuggestions.mjs +158 -6
- package/dist/hooks/base-copilot-textarea-implementation/use-autosuggestions.mjs.map +1 -1
- package/dist/hooks/base-copilot-textarea-implementation/use-copilot-textarea-editor.mjs +168 -4
- package/dist/hooks/base-copilot-textarea-implementation/use-copilot-textarea-editor.mjs.map +1 -1
- package/dist/hooks/base-copilot-textarea-implementation/use-populate-copilot-textarea-ref.mjs +148 -5
- package/dist/hooks/base-copilot-textarea-implementation/use-populate-copilot-textarea-ref.mjs.map +1 -1
- package/dist/hooks/index.mjs +0 -2
- package/dist/hooks/index.mjs.map +1 -1
- package/dist/hooks/make-autosuggestions-function/use-make-standard-autosuggestions-function.mjs +114 -14
- package/dist/hooks/make-autosuggestions-function/use-make-standard-autosuggestions-function.mjs.map +1 -1
- package/dist/hooks/make-autosuggestions-function/use-make-standard-insertion-function.mjs +166 -14
- package/dist/hooks/make-autosuggestions-function/use-make-standard-insertion-function.mjs.map +1 -1
- package/dist/hooks/misc/use-autosize-textarea.mjs +15 -3
- package/dist/hooks/misc/use-autosize-textarea.mjs.map +1 -1
- package/dist/index.css +0 -3
- package/dist/index.css.map +1 -1
- package/dist/index.d.ts +0 -1
- package/dist/index.mjs +2195 -50
- package/dist/index.mjs.map +1 -1
- package/dist/lib/debouncer.mjs +51 -3
- package/dist/lib/debouncer.mjs.map +1 -1
- package/dist/lib/editor-to-text.mjs +43 -3
- package/dist/lib/editor-to-text.mjs.map +1 -1
- package/dist/lib/get-text-around-cursor.mjs +102 -3
- package/dist/lib/get-text-around-cursor.mjs.map +1 -1
- package/dist/lib/retry.mjs +17 -3
- package/dist/lib/retry.mjs.map +1 -1
- package/dist/lib/slatejs-edits/add-autocompletions.mjs +25 -3
- package/dist/lib/slatejs-edits/add-autocompletions.mjs.map +1 -1
- package/dist/lib/slatejs-edits/clear-autocompletions.mjs +20 -3
- package/dist/lib/slatejs-edits/clear-autocompletions.mjs.map +1 -1
- package/dist/lib/slatejs-edits/replace-text.mjs +27 -3
- package/dist/lib/slatejs-edits/replace-text.mjs.map +1 -1
- package/dist/lib/slatejs-edits/with-partial-history.mjs +106 -3
- package/dist/lib/slatejs-edits/with-partial-history.mjs.map +1 -1
- package/dist/lib/stream-promise-flatten.mjs +47 -3
- package/dist/lib/stream-promise-flatten.mjs.map +1 -1
- package/dist/lib/utils.mjs +71 -3
- package/dist/lib/utils.mjs.map +1 -1
- package/dist/lib/utils.test.mjs +0 -1
- package/dist/lib/utils.test.mjs.map +1 -1
- package/dist/types/autosuggestions-config/autosuggestions-config-user-specified.mjs +0 -2
- package/dist/types/autosuggestions-config/autosuggestions-config-user-specified.mjs.map +1 -1
- package/dist/types/autosuggestions-config/autosuggestions-config.mjs +274 -8
- package/dist/types/autosuggestions-config/autosuggestions-config.mjs.map +1 -1
- package/dist/types/autosuggestions-config/editing-api-config.mjs +87 -3
- package/dist/types/autosuggestions-config/editing-api-config.mjs.map +1 -1
- package/dist/types/autosuggestions-config/index.d.ts +0 -1
- package/dist/types/autosuggestions-config/index.mjs +274 -10
- package/dist/types/autosuggestions-config/index.mjs.map +1 -1
- package/dist/types/autosuggestions-config/insertions-api-config.mjs +78 -3
- package/dist/types/autosuggestions-config/insertions-api-config.mjs.map +1 -1
- package/dist/types/autosuggestions-config/subtypes/make-system-prompt.mjs +0 -2
- package/dist/types/autosuggestions-config/subtypes/make-system-prompt.mjs.map +1 -1
- package/dist/types/autosuggestions-config/subtypes/minimal-chat-gpt-message.mjs +0 -2
- package/dist/types/autosuggestions-config/subtypes/minimal-chat-gpt-message.mjs.map +1 -1
- package/dist/types/autosuggestions-config/suggestions-api-config.mjs +64 -3
- package/dist/types/autosuggestions-config/suggestions-api-config.mjs.map +1 -1
- package/dist/types/base/autosuggestion-state.mjs +0 -2
- package/dist/types/base/autosuggestion-state.mjs.map +1 -1
- package/dist/types/base/autosuggestions-bare-function.mjs +0 -2
- package/dist/types/base/autosuggestions-bare-function.mjs.map +1 -1
- package/dist/types/base/base-autosuggestions-config.mjs +26 -3
- package/dist/types/base/base-autosuggestions-config.mjs.map +1 -1
- package/dist/types/base/base-copilot-textarea-props.mjs +0 -2
- package/dist/types/base/base-copilot-textarea-props.mjs.map +1 -1
- package/dist/types/base/custom-editor.mjs +0 -2
- package/dist/types/base/custom-editor.mjs.map +1 -1
- package/dist/types/base/editor-autocomplete-state.mjs +17 -4
- package/dist/types/base/editor-autocomplete-state.mjs.map +1 -1
- package/dist/types/base/index.mjs +26 -4
- package/dist/types/base/index.mjs.map +1 -1
- package/dist/types/html-copilot-textarea-element.mjs +0 -2
- package/dist/types/html-copilot-textarea-element.mjs.map +1 -1
- package/dist/types/index.d.ts +0 -1
- package/dist/types/index.mjs +275 -12
- package/dist/types/index.mjs.map +1 -1
- package/package.json +2 -3
- package/src/hooks/make-autosuggestions-function/use-make-standard-autosuggestions-function.tsx +15 -9
- package/src/hooks/make-autosuggestions-function/use-make-standard-insertion-function.tsx +22 -6
- package/src/types/autosuggestions-config/autosuggestions-config-user-specified.tsx +1 -1
- package/src/types/autosuggestions-config/autosuggestions-config.tsx +0 -1
- package/src/types/autosuggestions-config/editing-api-config.tsx +22 -17
- package/src/types/autosuggestions-config/index.ts +0 -2
- package/src/types/autosuggestions-config/insertions-api-config.tsx +11 -6
- package/dist/chunk-224UKA7C.mjs +0 -33
- package/dist/chunk-224UKA7C.mjs.map +0 -1
- package/dist/chunk-22SLIB4K.mjs +0 -46
- package/dist/chunk-22SLIB4K.mjs.map +0 -1
- package/dist/chunk-2C7O2EVM.mjs +0 -27
- package/dist/chunk-2C7O2EVM.mjs.map +0 -1
- package/dist/chunk-2QDCE7PD.mjs +0 -29
- package/dist/chunk-2QDCE7PD.mjs.map +0 -1
- package/dist/chunk-3PQ7GSFE.mjs +0 -17
- package/dist/chunk-3PQ7GSFE.mjs.map +0 -1
- package/dist/chunk-47L4PLG4.mjs +0 -45
- package/dist/chunk-47L4PLG4.mjs.map +0 -1
- package/dist/chunk-4NHVQZ67.mjs +0 -107
- package/dist/chunk-4NHVQZ67.mjs.map +0 -1
- package/dist/chunk-5FO6ISW4.mjs +0 -3
- package/dist/chunk-5FO6ISW4.mjs.map +0 -1
- package/dist/chunk-5UNJXFUO.mjs +0 -29
- package/dist/chunk-5UNJXFUO.mjs.map +0 -1
- package/dist/chunk-5ZCVCVRZ.mjs +0 -19
- package/dist/chunk-5ZCVCVRZ.mjs.map +0 -1
- package/dist/chunk-6TZ6V3QI.mjs +0 -217
- package/dist/chunk-6TZ6V3QI.mjs.map +0 -1
- package/dist/chunk-72P3KOHZ.mjs +0 -91
- package/dist/chunk-72P3KOHZ.mjs.map +0 -1
- package/dist/chunk-7LSRNPNI.mjs +0 -59
- package/dist/chunk-7LSRNPNI.mjs.map +0 -1
- package/dist/chunk-7SUZ6CXM.mjs +0 -47
- package/dist/chunk-7SUZ6CXM.mjs.map +0 -1
- package/dist/chunk-COUN55HQ.mjs +0 -53
- package/dist/chunk-COUN55HQ.mjs.map +0 -1
- package/dist/chunk-DE5K76I2.mjs +0 -3
- package/dist/chunk-DE5K76I2.mjs.map +0 -1
- package/dist/chunk-DRV2FOHZ.mjs +0 -65
- package/dist/chunk-DRV2FOHZ.mjs.map +0 -1
- package/dist/chunk-ECR45NSD.mjs +0 -101
- package/dist/chunk-ECR45NSD.mjs.map +0 -1
- package/dist/chunk-EPBVNDKE.mjs +0 -46
- package/dist/chunk-EPBVNDKE.mjs.map +0 -1
- package/dist/chunk-FJNUPSQK.mjs +0 -72
- package/dist/chunk-FJNUPSQK.mjs.map +0 -1
- package/dist/chunk-FP2EKU3L.mjs +0 -28
- package/dist/chunk-FP2EKU3L.mjs.map +0 -1
- package/dist/chunk-GQN2HYFJ.mjs +0 -22
- package/dist/chunk-GQN2HYFJ.mjs.map +0 -1
- package/dist/chunk-H4VKQGVU.mjs +0 -3
- package/dist/chunk-H4VKQGVU.mjs.map +0 -1
- package/dist/chunk-HSCZA5TS.mjs +0 -27
- package/dist/chunk-HSCZA5TS.mjs.map +0 -1
- package/dist/chunk-IU3WTXLQ.mjs +0 -3
- package/dist/chunk-IU3WTXLQ.mjs.map +0 -1
- package/dist/chunk-JJLQVT7S.mjs +0 -10
- package/dist/chunk-JJLQVT7S.mjs.map +0 -1
- package/dist/chunk-K5LNB36H.mjs +0 -80
- package/dist/chunk-K5LNB36H.mjs.map +0 -1
- package/dist/chunk-KDVMG3XF.mjs +0 -63
- package/dist/chunk-KDVMG3XF.mjs.map +0 -1
- package/dist/chunk-KFQZHRPJ.mjs +0 -19
- package/dist/chunk-KFQZHRPJ.mjs.map +0 -1
- package/dist/chunk-KNQIEOFP.mjs +0 -18
- package/dist/chunk-KNQIEOFP.mjs.map +0 -1
- package/dist/chunk-KTTN5H7S.mjs +0 -202
- package/dist/chunk-KTTN5H7S.mjs.map +0 -1
- package/dist/chunk-L7VVZH4Q.mjs +0 -3
- package/dist/chunk-L7VVZH4Q.mjs.map +0 -1
- package/dist/chunk-LQZBI6XD.mjs +0 -112
- package/dist/chunk-LQZBI6XD.mjs.map +0 -1
- package/dist/chunk-M2DR4KVB.mjs +0 -33
- package/dist/chunk-M2DR4KVB.mjs.map +0 -1
- package/dist/chunk-MMVDU6DF.mjs +0 -3
- package/dist/chunk-MMVDU6DF.mjs.map +0 -1
- package/dist/chunk-MRXNTQOX.mjs +0 -55
- package/dist/chunk-MRXNTQOX.mjs.map +0 -1
- package/dist/chunk-OHO4G6DR.mjs +0 -19
- package/dist/chunk-OHO4G6DR.mjs.map +0 -1
- package/dist/chunk-P4QVFRLY.mjs +0 -103
- package/dist/chunk-P4QVFRLY.mjs.map +0 -1
- package/dist/chunk-PTZVE6NC.mjs +0 -94
- package/dist/chunk-PTZVE6NC.mjs.map +0 -1
- package/dist/chunk-QDFAIRQF.mjs +0 -45
- package/dist/chunk-QDFAIRQF.mjs.map +0 -1
- package/dist/chunk-RBR32FWA.mjs +0 -74
- package/dist/chunk-RBR32FWA.mjs.map +0 -1
- package/dist/chunk-SBV2KVF5.mjs +0 -99
- package/dist/chunk-SBV2KVF5.mjs.map +0 -1
- package/dist/chunk-T6MTDQZ7.mjs +0 -45
- package/dist/chunk-T6MTDQZ7.mjs.map +0 -1
- package/dist/chunk-VPEH6V7T.mjs +0 -83
- package/dist/chunk-VPEH6V7T.mjs.map +0 -1
- package/dist/chunk-WADHCMPK.mjs +0 -3
- package/dist/chunk-WADHCMPK.mjs.map +0 -1
- package/dist/chunk-WFTAAA7R.mjs +0 -44
- package/dist/chunk-WFTAAA7R.mjs.map +0 -1
- package/dist/chunk-WJHSY5T6.mjs +0 -3
- package/dist/chunk-WJHSY5T6.mjs.map +0 -1
- package/dist/chunk-WTASPE2W.mjs +0 -105
- package/dist/chunk-WTASPE2W.mjs.map +0 -1
- package/dist/chunk-XV7MLLXQ.mjs +0 -18
- package/dist/chunk-XV7MLLXQ.mjs.map +0 -1
- package/dist/types/autosuggestions-config/subtypes/chatlike-api-endpoint.d.ts +0 -27
- package/dist/types/autosuggestions-config/subtypes/chatlike-api-endpoint.mjs +0 -4
- package/dist/types/autosuggestions-config/subtypes/chatlike-api-endpoint.mjs.map +0 -1
- package/src/types/autosuggestions-config/subtypes/chatlike-api-endpoint.tsx +0 -69
|
@@ -11,30 +11,35 @@ export const defaultInsertionsMakeSystemPrompt: MakeSystemPrompt = (
|
|
|
11
11
|
textareaPurpose,
|
|
12
12
|
contextString,
|
|
13
13
|
) => {
|
|
14
|
-
return `You are a versatile writing assistant.
|
|
14
|
+
return `You are a versatile writing assistant helping the user insert new text into their existing work.
|
|
15
15
|
|
|
16
16
|
The user is writing some text.
|
|
17
17
|
The purpose is: \"${textareaPurpose}\"
|
|
18
18
|
|
|
19
|
-
The following external context is also provided. Use it to
|
|
19
|
+
The following external context is also provided. Use it to inform your suggestions when relevant!!!
|
|
20
20
|
\`\`\`
|
|
21
21
|
${contextString}
|
|
22
22
|
\`\`\`
|
|
23
23
|
|
|
24
|
-
The user
|
|
25
|
-
Your job is to come up with an INSERTION into the text that the user would like AS BEST YOU CAN.
|
|
24
|
+
The user will provide you with a prompt for an INSERTION into the text they are writing.
|
|
25
|
+
Your job is to come up with an INSERTION into the text that the user would like to use, AS BEST YOU CAN.
|
|
26
26
|
Only insert a SHORT segment. Usually 1 sentence, or at most 1 paragraph.
|
|
27
27
|
|
|
28
28
|
Adjust yourself to the user's style and implied intent.
|
|
29
29
|
|
|
30
|
-
|
|
30
|
+
|
|
31
|
+
The user will provide the text before and after the cursor, as well as the INSERTION prompt. You should use this to infer the best relevant insertion.
|
|
32
|
+
The conversation will be structured as follows:
|
|
31
33
|
<TextAfterCursor>
|
|
32
34
|
<TextBeforeCursor>
|
|
33
35
|
<InsertionPrompt>
|
|
34
|
-
|
|
36
|
+
|
|
37
|
+
<YourInsertionSuggestion>
|
|
35
38
|
`;
|
|
36
39
|
};
|
|
37
40
|
|
|
41
|
+
|
|
42
|
+
|
|
38
43
|
export const defaultInsertionsFewShotMessages: MinimalChatGPTMessage[] = [
|
|
39
44
|
{
|
|
40
45
|
role: "user",
|
package/dist/chunk-224UKA7C.mjs
DELETED
|
@@ -1,33 +0,0 @@
|
|
|
1
|
-
import { __spreadProps, __spreadValues } from './chunk-MRXNTQOX.mjs';
|
|
2
|
-
import { jsx, jsxs } from 'react/jsx-runtime';
|
|
3
|
-
|
|
4
|
-
function makeRenderElementFunction(suggestionsStyle) {
|
|
5
|
-
return (props) => {
|
|
6
|
-
switch (props.element.type) {
|
|
7
|
-
case "paragraph":
|
|
8
|
-
return /* @__PURE__ */ jsx(DefaultElement, __spreadValues({}, props));
|
|
9
|
-
case "suggestion":
|
|
10
|
-
return /* @__PURE__ */ jsx(SuggestionElement, __spreadProps(__spreadValues({}, props), { suggestionsStyle }));
|
|
11
|
-
}
|
|
12
|
-
};
|
|
13
|
-
}
|
|
14
|
-
var DefaultElement = (props) => {
|
|
15
|
-
return /* @__PURE__ */ jsx("div", __spreadProps(__spreadValues({}, props.attributes), { children: props.children }));
|
|
16
|
-
};
|
|
17
|
-
var SuggestionElement = (props) => {
|
|
18
|
-
return /* @__PURE__ */ jsxs(
|
|
19
|
-
"span",
|
|
20
|
-
__spreadProps(__spreadValues({}, props.attributes), {
|
|
21
|
-
style: __spreadValues({}, props.suggestionsStyle),
|
|
22
|
-
contentEditable: false,
|
|
23
|
-
children: [
|
|
24
|
-
props.children,
|
|
25
|
-
props.element.type === "suggestion" && props.element.content
|
|
26
|
-
]
|
|
27
|
-
})
|
|
28
|
-
);
|
|
29
|
-
};
|
|
30
|
-
|
|
31
|
-
export { makeRenderElementFunction };
|
|
32
|
-
//# sourceMappingURL=out.js.map
|
|
33
|
-
//# sourceMappingURL=chunk-224UKA7C.mjs.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/components/base-copilot-textarea/render-element.tsx"],"names":[],"mappings":";;;;;;AAUe,cAgBX,YAhBW;AANR,SAAS,0BACd,kBACuB;AACvB,SAAO,CAAC,UAA8B;AACpC,YAAQ,MAAM,QAAQ,MAAM;AAAA,MAC1B,KAAK;AACH,eAAO,oBAAC,mCAAmB,MAAO;AAAA,MACpC,KAAK;AACH,eAAO,oBAAC,oDAAsB,QAAtB,EAA6B,mBAAoC;AAAA,IAC7E;AAAA,EACF;AACF;AAEA,IAAM,iBAAiB,CAAC,UAA8B;AACpD,SAAO,oBAAC,wCAAQ,MAAM,aAAd,EAA2B,gBAAM,WAAS;AACpD;AACA,IAAM,oBAAoB,CACxB,UAGG;AACH,SACE;AAAA,IAAC;AAAA,qCACK,MAAM,aADX;AAAA,MAEC,OAAO,mBACF,MAAM;AAAA,MAEX,iBAAiB;AAAA,MAEhB;AAAA,cAAM;AAAA,QACN,MAAM,QAAQ,SAAS,gBAAgB,MAAM,QAAQ;AAAA;AAAA;AAAA,EACxD;AAEJ","sourcesContent":["import { RenderElementProps } from \"slate-react\";\n\nexport type RenderElementFunction = (props: RenderElementProps) => JSX.Element;\n\nexport function makeRenderElementFunction(\n suggestionsStyle: React.CSSProperties,\n): RenderElementFunction {\n return (props: RenderElementProps) => {\n switch (props.element.type) {\n case \"paragraph\":\n return <DefaultElement {...props} />;\n case \"suggestion\":\n return <SuggestionElement {...props} suggestionsStyle={suggestionsStyle} />;\n }\n };\n}\n\nconst DefaultElement = (props: RenderElementProps) => {\n return <div {...props.attributes}>{props.children}</div>;\n};\nconst SuggestionElement = (\n props: RenderElementProps & {\n suggestionsStyle: React.CSSProperties;\n },\n) => {\n return (\n <span\n {...props.attributes}\n style={{\n ...props.suggestionsStyle,\n }}\n contentEditable={false}\n >\n {props.children /* https://github.com/ianstormtaylor/slate/issues/3930 */}\n {props.element.type === \"suggestion\" && props.element.content}\n </span>\n );\n};\n"]}
|
package/dist/chunk-22SLIB4K.mjs
DELETED
|
@@ -1,46 +0,0 @@
|
|
|
1
|
-
import { useMakeStandardAutosuggestionFunction } from './chunk-COUN55HQ.mjs';
|
|
2
|
-
import { useMakeStandardInsertionOrEditingFunction } from './chunk-SBV2KVF5.mjs';
|
|
3
|
-
import { BaseCopilotTextarea } from './chunk-6TZ6V3QI.mjs';
|
|
4
|
-
import { defaultAutosuggestionsConfig } from './chunk-5ZCVCVRZ.mjs';
|
|
5
|
-
import { __objRest, __spreadProps, __spreadValues } from './chunk-MRXNTQOX.mjs';
|
|
6
|
-
import React from 'react';
|
|
7
|
-
import merge from 'lodash.merge';
|
|
8
|
-
import { jsx, Fragment } from 'react/jsx-runtime';
|
|
9
|
-
|
|
10
|
-
var CopilotTextarea = React.forwardRef(
|
|
11
|
-
(props, ref) => {
|
|
12
|
-
const _a = props, { autosuggestionsConfig: autosuggestionsConfigUserSpecified } = _a, forwardedProps = __objRest(_a, ["autosuggestionsConfig"]);
|
|
13
|
-
const autosuggestionsConfig = merge(
|
|
14
|
-
defaultAutosuggestionsConfig,
|
|
15
|
-
autosuggestionsConfigUserSpecified
|
|
16
|
-
);
|
|
17
|
-
const autosuggestionsFunction = useMakeStandardAutosuggestionFunction(
|
|
18
|
-
autosuggestionsConfig.textareaPurpose,
|
|
19
|
-
autosuggestionsConfig.contextCategories,
|
|
20
|
-
autosuggestionsConfig.chatApiConfigs.suggestionsApiConfig
|
|
21
|
-
);
|
|
22
|
-
const insertionOrEditingFunction = useMakeStandardInsertionOrEditingFunction(
|
|
23
|
-
autosuggestionsConfig.textareaPurpose,
|
|
24
|
-
autosuggestionsConfig.contextCategories,
|
|
25
|
-
autosuggestionsConfig.chatApiConfigs.insertionApiConfig,
|
|
26
|
-
autosuggestionsConfig.chatApiConfigs.editingApiConfig
|
|
27
|
-
);
|
|
28
|
-
return /* @__PURE__ */ jsx(Fragment, { children: /* @__PURE__ */ jsx(
|
|
29
|
-
BaseCopilotTextarea,
|
|
30
|
-
__spreadProps(__spreadValues({
|
|
31
|
-
ref
|
|
32
|
-
}, forwardedProps), {
|
|
33
|
-
baseAutosuggestionsConfig: __spreadProps(__spreadValues({}, autosuggestionsConfig), {
|
|
34
|
-
apiConfig: {
|
|
35
|
-
insertionOrEditingFunction,
|
|
36
|
-
autosuggestionsFunction
|
|
37
|
-
}
|
|
38
|
-
})
|
|
39
|
-
})
|
|
40
|
-
) });
|
|
41
|
-
}
|
|
42
|
-
);
|
|
43
|
-
|
|
44
|
-
export { CopilotTextarea };
|
|
45
|
-
//# sourceMappingURL=out.js.map
|
|
46
|
-
//# sourceMappingURL=chunk-22SLIB4K.mjs.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/components/copilot-textarea/copilot-textarea.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;AACA,OAAO,WAAW;AAUlB,OAAO,WAAW;AAqCZ,mBACE,WADF;AAxBC,IAAM,kBAAkB,MAAM;AAAA,EACnC,CAAC,OAA6B,QAA4D;AAExF,UAAyF,YAAjF,yBAAuB,mCA3BnC,IA2B6F,IAAnB,2BAAmB,IAAnB,CAA9D;AAER,UAAM,wBAA+C;AAAA,MACnD;AAAA,MACA;AAAA,IACF;AAEA,UAAM,0BAA0B;AAAA,MAC9B,sBAAsB;AAAA,MACtB,sBAAsB;AAAA,MACtB,sBAAsB,eAAe;AAAA,IACvC;AAEA,UAAM,6BAA6B;AAAA,MACjC,sBAAsB;AAAA,MACtB,sBAAsB;AAAA,MACtB,sBAAsB,eAAe;AAAA,MACrC,sBAAsB,eAAe;AAAA,IACvC;AAEA,WACE,gCACE;AAAA,MAAC;AAAA;AAAA,QACC;AAAA,SACI,iBAFL;AAAA,QAGC,2BAA2B,iCACtB,wBADsB;AAAA,UAEzB,WAAW;AAAA,YACT;AAAA,YACA;AAAA,UACF;AAAA,QACF;AAAA;AAAA,IACF,GACF;AAAA,EAEJ;AACF","sourcesContent":["// This example is for an Editor with `ReactEditor` and `HistoryEditor`\nimport React from \"react\";\nimport { useMakeStandardAutosuggestionFunction } from \"../../hooks/make-autosuggestions-function/use-make-standard-autosuggestions-function\";\nimport { HTMLCopilotTextAreaElement } from \"../../types\";\nimport { BaseCopilotTextareaProps } from \"../../types/base/base-copilot-textarea-props\";\nimport {\n AutosuggestionsConfig,\n defaultAutosuggestionsConfig,\n} from \"../../types/autosuggestions-config\";\nimport { BaseCopilotTextarea } from \"../base-copilot-textarea/base-copilot-textarea\";\nimport { useMakeStandardInsertionOrEditingFunction } from \"../../hooks/make-autosuggestions-function/use-make-standard-insertion-function\";\nimport merge from \"lodash.merge\";\nimport { AutosuggestionsConfigUserSpecified } from \"../../types/autosuggestions-config/autosuggestions-config-user-specified\";\n\n// Like the base copilot textarea props,\n// but with baseAutosuggestionsConfig replaced with autosuggestionsConfig.\nexport interface CopilotTextareaProps\n extends Omit<BaseCopilotTextareaProps, \"baseAutosuggestionsConfig\"> {\n autosuggestionsConfig: AutosuggestionsConfigUserSpecified;\n}\n\n/**\n * A copilot textarea that uses the standard autosuggestions function.\n */\nexport const CopilotTextarea = React.forwardRef(\n (props: CopilotTextareaProps, ref: React.Ref<HTMLCopilotTextAreaElement>): JSX.Element => {\n // separate the AutosuggestionsConfigUserSpecified from the rest of the props\n const { autosuggestionsConfig: autosuggestionsConfigUserSpecified, ...forwardedProps } = props;\n\n const autosuggestionsConfig: AutosuggestionsConfig = merge(\n defaultAutosuggestionsConfig,\n autosuggestionsConfigUserSpecified,\n );\n\n const autosuggestionsFunction = useMakeStandardAutosuggestionFunction(\n autosuggestionsConfig.textareaPurpose,\n autosuggestionsConfig.contextCategories,\n autosuggestionsConfig.chatApiConfigs.suggestionsApiConfig,\n );\n\n const insertionOrEditingFunction = useMakeStandardInsertionOrEditingFunction(\n autosuggestionsConfig.textareaPurpose,\n autosuggestionsConfig.contextCategories,\n autosuggestionsConfig.chatApiConfigs.insertionApiConfig,\n autosuggestionsConfig.chatApiConfigs.editingApiConfig,\n );\n\n return (\n <>\n <BaseCopilotTextarea\n ref={ref}\n {...forwardedProps}\n baseAutosuggestionsConfig={{\n ...autosuggestionsConfig,\n apiConfig: {\n insertionOrEditingFunction: insertionOrEditingFunction,\n autosuggestionsFunction: autosuggestionsFunction,\n },\n }}\n />\n </>\n );\n },\n);\n"]}
|
package/dist/chunk-2C7O2EVM.mjs
DELETED
|
@@ -1,27 +0,0 @@
|
|
|
1
|
-
import { Transforms } from 'slate';
|
|
2
|
-
|
|
3
|
-
// src/lib/slatejs-edits/add-autocompletions.ts
|
|
4
|
-
function addAutocompletionsToEditor(editor, newSuggestion, point) {
|
|
5
|
-
const editorPosition = editor.selection;
|
|
6
|
-
Transforms.insertNodes(
|
|
7
|
-
editor,
|
|
8
|
-
[
|
|
9
|
-
{
|
|
10
|
-
type: "suggestion",
|
|
11
|
-
inline: true,
|
|
12
|
-
content: newSuggestion,
|
|
13
|
-
children: [{ text: "" }]
|
|
14
|
-
}
|
|
15
|
-
],
|
|
16
|
-
{
|
|
17
|
-
at: point
|
|
18
|
-
}
|
|
19
|
-
);
|
|
20
|
-
if (editorPosition) {
|
|
21
|
-
editor.selection = editorPosition;
|
|
22
|
-
}
|
|
23
|
-
}
|
|
24
|
-
|
|
25
|
-
export { addAutocompletionsToEditor };
|
|
26
|
-
//# sourceMappingURL=out.js.map
|
|
27
|
-
//# sourceMappingURL=chunk-2C7O2EVM.mjs.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/lib/slatejs-edits/add-autocompletions.ts"],"names":[],"mappings":";AAAA,SAAoB,kBAAkB;AAG/B,SAAS,2BACd,QACA,eACA,OACA;AACA,QAAM,iBAAiB,OAAO;AAE9B,aAAW;AAAA,IACT;AAAA,IACA;AAAA,MACE;AAAA,QACE,MAAM;AAAA,QACN,QAAQ;AAAA,QACR,SAAS;AAAA,QACT,UAAU,CAAC,EAAE,MAAM,GAAG,CAAC;AAAA,MACzB;AAAA,IACF;AAAA,IACA;AAAA,MACE,IAAI;AAAA,IACN;AAAA,EACF;AAGA,MAAI,gBAAgB;AAClB,WAAO,YAAY;AAAA,EACrB;AACF","sourcesContent":["import { BasePoint, Transforms } from \"slate\";\nimport { CustomEditor } from \"../../types/base/custom-editor\";\n\nexport function addAutocompletionsToEditor(\n editor: CustomEditor,\n newSuggestion: string,\n point: BasePoint,\n) {\n const editorPosition = editor.selection;\n\n Transforms.insertNodes(\n editor,\n [\n {\n type: \"suggestion\",\n inline: true,\n content: newSuggestion,\n children: [{ text: \"\" }],\n },\n ],\n {\n at: point,\n },\n );\n\n // restore cursor position\n if (editorPosition) {\n editor.selection = editorPosition;\n }\n}\n"]}
|
package/dist/chunk-2QDCE7PD.mjs
DELETED
|
@@ -1,29 +0,0 @@
|
|
|
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-2QDCE7PD.mjs.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/lib/stream-promise-flatten.ts"],"names":[],"mappings":";;;;;AAUO,SAAS,qBAAwB,SAAwD;AAC9F,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":["/**\n * Flatten a promise of a stream, into a stream.\n *\n * Useful because a stream already includes the notion of async value delivery,\n * so it often makes sense to simply await the values rather than the generator of the values.\n *\n * @param {Promise<ReadableStream<A>>} promise - The promise to flatten.\n * @returns {ReadableStream<A>} - The flattened stream.\n */\n\nexport function streamPromiseFlatten<A>(promise: Promise<ReadableStream<A>>): 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"]}
|
package/dist/chunk-3PQ7GSFE.mjs
DELETED
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
import { useEffect } from 'react';
|
|
2
|
-
|
|
3
|
-
// src/hooks/misc/use-autosize-textarea.tsx
|
|
4
|
-
var useAutosizeTextArea = (textAreaRef, value) => {
|
|
5
|
-
useEffect(() => {
|
|
6
|
-
if (textAreaRef.current !== null) {
|
|
7
|
-
textAreaRef.current.style.height = "0px";
|
|
8
|
-
const scrollHeight = textAreaRef.current.scrollHeight;
|
|
9
|
-
textAreaRef.current.style.height = scrollHeight + "px";
|
|
10
|
-
}
|
|
11
|
-
}, [textAreaRef, value]);
|
|
12
|
-
};
|
|
13
|
-
var use_autosize_textarea_default = useAutosizeTextArea;
|
|
14
|
-
|
|
15
|
-
export { use_autosize_textarea_default };
|
|
16
|
-
//# sourceMappingURL=out.js.map
|
|
17
|
-
//# sourceMappingURL=chunk-3PQ7GSFE.mjs.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/hooks/misc/use-autosize-textarea.tsx"],"names":[],"mappings":";AAAA,SAAyB,iBAAiB;AAG1C,IAAM,sBAAsB,CAAC,aAA6C,UAAkB;AAC1F,YAAU,MAAM;AACd,QAAI,YAAY,YAAY,MAAM;AAEhC,kBAAY,QAAQ,MAAM,SAAS;AACnC,YAAM,eAAe,YAAY,QAAQ;AAIzC,kBAAY,QAAQ,MAAM,SAAS,eAAe;AAAA,IACpD;AAAA,EACF,GAAG,CAAC,aAAa,KAAK,CAAC;AACzB;AAEA,IAAO,gCAAQ","sourcesContent":["import { Ref, RefObject, useEffect } from \"react\";\n\n// Updates the height of a <textarea> when the value changes.\nconst useAutosizeTextArea = (textAreaRef: RefObject<HTMLTextAreaElement>, value: string) => {\n useEffect(() => {\n if (textAreaRef.current !== null) {\n // We need to reset the height momentarily to get the correct scrollHeight for the textarea\n textAreaRef.current.style.height = \"0px\";\n const scrollHeight = textAreaRef.current.scrollHeight;\n\n // We then set the height directly, outside of the render loop\n // Trying to set this with state or a ref will product an incorrect value.\n textAreaRef.current.style.height = scrollHeight + \"px\";\n }\n }, [textAreaRef, value]);\n};\n\nexport default useAutosizeTextArea;\n"]}
|
package/dist/chunk-47L4PLG4.mjs
DELETED
|
@@ -1,45 +0,0 @@
|
|
|
1
|
-
import { editorToText } from './chunk-T6MTDQZ7.mjs';
|
|
2
|
-
import { useEffect, useRef } from 'react';
|
|
3
|
-
import { useSlateSelector } from 'slate-react';
|
|
4
|
-
import { Range } from 'slate';
|
|
5
|
-
import { jsx, Fragment } from 'react/jsx-runtime';
|
|
6
|
-
|
|
7
|
-
function TrackerTextEditedSinceLastCursorMovement(props) {
|
|
8
|
-
const cursorState = useSlateSelector((state) => ({
|
|
9
|
-
selection: state.selection,
|
|
10
|
-
text: editorToText(state)
|
|
11
|
-
}));
|
|
12
|
-
const previousState = usePrevious(cursorState);
|
|
13
|
-
useEffect(() => {
|
|
14
|
-
if (!previousState) {
|
|
15
|
-
return;
|
|
16
|
-
}
|
|
17
|
-
if (cursorChangedWithoutTextChanged(previousState, cursorState)) {
|
|
18
|
-
props.setCursorMovedSinceLastTextChange(true);
|
|
19
|
-
}
|
|
20
|
-
}, [props.setCursorMovedSinceLastTextChange, cursorState]);
|
|
21
|
-
return /* @__PURE__ */ jsx(Fragment, {});
|
|
22
|
-
}
|
|
23
|
-
var cursorChangedWithoutTextChanged = (prev, next) => {
|
|
24
|
-
const isSelectionChanged = !isSelectionEqual(prev.selection, next.selection);
|
|
25
|
-
const isTextSame = prev.text === next.text;
|
|
26
|
-
return isSelectionChanged && isTextSame;
|
|
27
|
-
};
|
|
28
|
-
var isSelectionEqual = (a, b) => {
|
|
29
|
-
if (!a && !b)
|
|
30
|
-
return true;
|
|
31
|
-
if (!a || !b)
|
|
32
|
-
return false;
|
|
33
|
-
return Range.equals(a, b);
|
|
34
|
-
};
|
|
35
|
-
function usePrevious(value) {
|
|
36
|
-
const ref = useRef();
|
|
37
|
-
useEffect(() => {
|
|
38
|
-
ref.current = value;
|
|
39
|
-
});
|
|
40
|
-
return ref.current;
|
|
41
|
-
}
|
|
42
|
-
|
|
43
|
-
export { TrackerTextEditedSinceLastCursorMovement };
|
|
44
|
-
//# sourceMappingURL=out.js.map
|
|
45
|
-
//# sourceMappingURL=chunk-47L4PLG4.mjs.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/components/base-copilot-textarea/track-cursor-moved-since-last-text-change.tsx"],"names":[],"mappings":";;;;;AAAA,SAAgB,WAAW,cAAc;AAEzC,SAAS,wBAAwB;AACjC,SAAS,aAAa;AA0Bb;AApBF,SAAS,yCACd,OACa;AACb,QAAM,cAAmC,iBAAiB,CAAC,WAAW;AAAA,IACpE,WAAW,MAAM;AAAA,IACjB,MAAM,aAAa,KAAK;AAAA,EAC1B,EAAE;AAEF,QAAM,gBAAgB,YAAY,WAAW;AAE7C,YAAU,MAAM;AACd,QAAI,CAAC,eAAe;AAClB;AAAA,IACF;AAEA,QAAI,gCAAgC,eAAe,WAAW,GAAG;AAC/D,YAAM,kCAAkC,IAAI;AAAA,IAC9C;AAAA,EACF,GAAG,CAAC,MAAM,mCAAmC,WAAW,CAAC;AAEzD,SAAO,gCAAE;AACX;AAOA,IAAM,kCAAkC,CACtC,MACA,SACY;AAEZ,QAAM,qBAAqB,CAAC,iBAAiB,KAAK,WAAW,KAAK,SAAS;AAG3E,QAAM,aAAa,KAAK,SAAS,KAAK;AAEtC,SAAO,sBAAsB;AAC/B;AAEA,IAAM,mBAAmB,CAAC,GAAkB,MAAqB;AAC/D,MAAI,CAAC,KAAK,CAAC;AAAG,WAAO;AACrB,MAAI,CAAC,KAAK,CAAC;AAAG,WAAO;AACrB,SAAO,MAAM,OAAO,GAAG,CAAC;AAC1B;AAiBA,SAAS,YAAe,OAAyB;AAC/C,QAAM,MAAM,OAAU;AAEtB,YAAU,MAAM;AACd,QAAI,UAAU;AAAA,EAChB,CAAC;AAED,SAAO,IAAI;AACb","sourcesContent":["import React, { useEffect, useRef } from \"react\";\nimport { BaseSelection } from \"slate\";\nimport { useSlateSelector } from \"slate-react\";\nimport { Range } from \"slate\";\nimport { editorToText } from \"../../lib/editor-to-text\";\n\ninterface TrackerTextEditedSinceLastCursorMovementProps {\n setCursorMovedSinceLastTextChange: (value: boolean) => void;\n}\nexport function TrackerTextEditedSinceLastCursorMovement(\n props: TrackerTextEditedSinceLastCursorMovementProps,\n): JSX.Element {\n const cursorState: RelevantEditorState = useSlateSelector((state) => ({\n selection: state.selection,\n text: editorToText(state),\n }));\n\n const previousState = usePrevious(cursorState);\n\n useEffect(() => {\n if (!previousState) {\n return;\n }\n\n if (cursorChangedWithoutTextChanged(previousState, cursorState)) {\n props.setCursorMovedSinceLastTextChange(true);\n }\n }, [props.setCursorMovedSinceLastTextChange, cursorState]);\n\n return <></>;\n}\n\ntype RelevantEditorState = {\n selection: BaseSelection;\n text: string;\n};\n\nconst cursorChangedWithoutTextChanged = (\n prev: RelevantEditorState,\n next: RelevantEditorState,\n): boolean => {\n // Check if the selection has changed\n const isSelectionChanged = !isSelectionEqual(prev.selection, next.selection);\n\n // Check if the text content remains the same\n const isTextSame = prev.text === next.text;\n\n return isSelectionChanged && isTextSame;\n};\n\nconst isSelectionEqual = (a: BaseSelection, b: BaseSelection) => {\n if (!a && !b) return true;\n if (!a || !b) return false;\n return Range.equals(a, b);\n};\n\n/**\n * Easily keep track of the *previous* value of a variable.\n *\n * Example:\n * ```\n * const [count, setCount] = useState(0);\n * const prevCount = usePrevious(count);\n *\n * useEffect(() => {\n * if (count > prevCount) {\n * console.log('Now I know that count is bigger than before');\n * }\n * }, [count, prevCount]);\n * ```\n */\nfunction usePrevious<T>(value: T): T | undefined {\n const ref = useRef<T>();\n\n useEffect(() => {\n ref.current = value;\n });\n\n return ref.current;\n}\n"]}
|
package/dist/chunk-4NHVQZ67.mjs
DELETED
|
@@ -1,107 +0,0 @@
|
|
|
1
|
-
import { Transforms, Editor, Operation, Path } from 'slate';
|
|
2
|
-
import { HistoryEditor } from 'slate-history';
|
|
3
|
-
|
|
4
|
-
// src/lib/slatejs-edits/with-partial-history.ts
|
|
5
|
-
var withPartialHistory = (editor, shouldSave) => {
|
|
6
|
-
const e = editor;
|
|
7
|
-
const { apply } = e;
|
|
8
|
-
e.history = { undos: [], redos: [] };
|
|
9
|
-
e.redo = () => {
|
|
10
|
-
const { history } = e;
|
|
11
|
-
const { redos } = history;
|
|
12
|
-
if (redos.length > 0) {
|
|
13
|
-
const batch = redos[redos.length - 1];
|
|
14
|
-
if (batch.selectionBefore) {
|
|
15
|
-
Transforms.setSelection(e, batch.selectionBefore);
|
|
16
|
-
}
|
|
17
|
-
HistoryEditor.withoutSaving(e, () => {
|
|
18
|
-
Editor.withoutNormalizing(e, () => {
|
|
19
|
-
for (const op of batch.operations) {
|
|
20
|
-
e.apply(op);
|
|
21
|
-
}
|
|
22
|
-
});
|
|
23
|
-
});
|
|
24
|
-
history.redos.pop();
|
|
25
|
-
e.writeHistory("undos", batch);
|
|
26
|
-
}
|
|
27
|
-
};
|
|
28
|
-
e.undo = () => {
|
|
29
|
-
const { history } = e;
|
|
30
|
-
const { undos } = history;
|
|
31
|
-
if (undos.length > 0) {
|
|
32
|
-
const batch = undos[undos.length - 1];
|
|
33
|
-
HistoryEditor.withoutSaving(e, () => {
|
|
34
|
-
Editor.withoutNormalizing(e, () => {
|
|
35
|
-
const inverseOps = batch.operations.map(Operation.inverse).reverse();
|
|
36
|
-
for (const op of inverseOps) {
|
|
37
|
-
e.apply(op);
|
|
38
|
-
}
|
|
39
|
-
if (batch.selectionBefore) {
|
|
40
|
-
Transforms.setSelection(e, batch.selectionBefore);
|
|
41
|
-
}
|
|
42
|
-
});
|
|
43
|
-
});
|
|
44
|
-
e.writeHistory("redos", batch);
|
|
45
|
-
history.undos.pop();
|
|
46
|
-
}
|
|
47
|
-
};
|
|
48
|
-
e.apply = (op) => {
|
|
49
|
-
const { operations, history } = e;
|
|
50
|
-
const { undos } = history;
|
|
51
|
-
const lastBatch = undos[undos.length - 1];
|
|
52
|
-
const lastOp = lastBatch && lastBatch.operations[lastBatch.operations.length - 1];
|
|
53
|
-
let save = HistoryEditor.isSaving(e);
|
|
54
|
-
let merge = HistoryEditor.isMerging(e);
|
|
55
|
-
if (save == null) {
|
|
56
|
-
save = shouldSave(op, lastOp);
|
|
57
|
-
}
|
|
58
|
-
if (save) {
|
|
59
|
-
if (merge == null) {
|
|
60
|
-
if (lastBatch == null) {
|
|
61
|
-
merge = false;
|
|
62
|
-
} else if (operations.length !== 0) {
|
|
63
|
-
merge = true;
|
|
64
|
-
} else {
|
|
65
|
-
merge = shouldMerge(op, lastOp);
|
|
66
|
-
}
|
|
67
|
-
}
|
|
68
|
-
if (lastBatch && merge) {
|
|
69
|
-
lastBatch.operations.push(op);
|
|
70
|
-
} else {
|
|
71
|
-
const batch = {
|
|
72
|
-
operations: [op],
|
|
73
|
-
selectionBefore: e.selection
|
|
74
|
-
};
|
|
75
|
-
e.writeHistory("undos", batch);
|
|
76
|
-
}
|
|
77
|
-
while (undos.length > 100) {
|
|
78
|
-
undos.shift();
|
|
79
|
-
}
|
|
80
|
-
history.redos = [];
|
|
81
|
-
}
|
|
82
|
-
apply(op);
|
|
83
|
-
};
|
|
84
|
-
e.writeHistory = (stack, batch) => {
|
|
85
|
-
e.history[stack].push(batch);
|
|
86
|
-
};
|
|
87
|
-
return e;
|
|
88
|
-
};
|
|
89
|
-
var shouldMerge = (op, prev) => {
|
|
90
|
-
if (prev && op.type === "insert_text" && prev.type === "insert_text" && op.offset === prev.offset + prev.text.length && Path.equals(op.path, prev.path)) {
|
|
91
|
-
return true;
|
|
92
|
-
}
|
|
93
|
-
if (prev && op.type === "remove_text" && prev.type === "remove_text" && op.offset + op.text.length === prev.offset && Path.equals(op.path, prev.path)) {
|
|
94
|
-
return true;
|
|
95
|
-
}
|
|
96
|
-
return false;
|
|
97
|
-
};
|
|
98
|
-
var defaultShouldSave = (op, prev) => {
|
|
99
|
-
if (op.type === "set_selection") {
|
|
100
|
-
return false;
|
|
101
|
-
}
|
|
102
|
-
return true;
|
|
103
|
-
};
|
|
104
|
-
|
|
105
|
-
export { defaultShouldSave, withPartialHistory };
|
|
106
|
-
//# sourceMappingURL=out.js.map
|
|
107
|
-
//# sourceMappingURL=chunk-4NHVQZ67.mjs.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/lib/slatejs-edits/with-partial-history.ts"],"names":[],"mappings":"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","sourcesContent":["import { Editor, Operation, Path, Range, Transforms } from \"slate\";\nimport { HistoryEditor } from \"slate-history\";\n\n// Copy-pasted from `https://github.com/ianstormtaylor/slate/blob/main/packages/slate-history/src/with-history.ts`\n// With one exception: the `shouldSave` function is passed in as an argument to `withPartialHistory` instead of being hardcoded\nexport type ShouldSaveToHistory = (op: Operation, prev: Operation | undefined) => boolean;\n\nexport const withPartialHistory = <T extends Editor>(\n editor: T,\n shouldSave: ShouldSaveToHistory,\n) => {\n const e = editor as T & HistoryEditor;\n const { apply } = e;\n e.history = { undos: [], redos: [] };\n\n e.redo = () => {\n const { history } = e;\n const { redos } = history;\n\n if (redos.length > 0) {\n const batch = redos[redos.length - 1];\n\n if (batch.selectionBefore) {\n Transforms.setSelection(e, batch.selectionBefore);\n }\n\n HistoryEditor.withoutSaving(e, () => {\n Editor.withoutNormalizing(e, () => {\n for (const op of batch.operations) {\n e.apply(op);\n }\n });\n });\n\n history.redos.pop();\n e.writeHistory(\"undos\", batch);\n }\n };\n\n e.undo = () => {\n const { history } = e;\n const { undos } = history;\n\n if (undos.length > 0) {\n const batch = undos[undos.length - 1];\n\n HistoryEditor.withoutSaving(e, () => {\n Editor.withoutNormalizing(e, () => {\n const inverseOps = batch.operations.map(Operation.inverse).reverse();\n\n for (const op of inverseOps) {\n e.apply(op);\n }\n if (batch.selectionBefore) {\n Transforms.setSelection(e, batch.selectionBefore);\n }\n });\n });\n\n e.writeHistory(\"redos\", batch);\n history.undos.pop();\n }\n };\n\n e.apply = (op: Operation) => {\n const { operations, history } = e;\n const { undos } = history;\n const lastBatch = undos[undos.length - 1];\n const lastOp = lastBatch && lastBatch.operations[lastBatch.operations.length - 1];\n let save = HistoryEditor.isSaving(e);\n let merge = HistoryEditor.isMerging(e);\n\n if (save == null) {\n save = shouldSave(op, lastOp);\n }\n\n if (save) {\n if (merge == null) {\n if (lastBatch == null) {\n merge = false;\n } else if (operations.length !== 0) {\n merge = true;\n } else {\n merge = shouldMerge(op, lastOp);\n }\n }\n\n if (lastBatch && merge) {\n lastBatch.operations.push(op);\n } else {\n const batch = {\n operations: [op],\n selectionBefore: e.selection,\n };\n e.writeHistory(\"undos\", batch);\n }\n\n while (undos.length > 100) {\n undos.shift();\n }\n\n history.redos = [];\n }\n\n apply(op);\n };\n\n e.writeHistory = (stack: \"undos\" | \"redos\", batch: any) => {\n e.history[stack].push(batch);\n };\n\n return e;\n};\n\n/**\n * Check whether to merge an operation into the previous operation.\n */\n\nconst shouldMerge = (op: Operation, prev: Operation | undefined): boolean => {\n if (\n prev &&\n op.type === \"insert_text\" &&\n prev.type === \"insert_text\" &&\n op.offset === prev.offset + prev.text.length &&\n Path.equals(op.path, prev.path)\n ) {\n return true;\n }\n\n if (\n prev &&\n op.type === \"remove_text\" &&\n prev.type === \"remove_text\" &&\n op.offset + op.text.length === prev.offset &&\n Path.equals(op.path, prev.path)\n ) {\n return true;\n }\n\n return false;\n};\n\nexport const defaultShouldSave = (op: Operation, prev: Operation | undefined): boolean => {\n if (op.type === \"set_selection\") {\n return false;\n }\n\n return true;\n};\n"]}
|
package/dist/chunk-5FO6ISW4.mjs
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":[],"names":[],"mappings":""}
|
package/dist/chunk-5UNJXFUO.mjs
DELETED
|
@@ -1,29 +0,0 @@
|
|
|
1
|
-
import { Transforms, Editor } from 'slate';
|
|
2
|
-
|
|
3
|
-
// src/lib/slatejs-edits/replace-text.ts
|
|
4
|
-
function replaceEditorText(editor, newText) {
|
|
5
|
-
Transforms.delete(editor, {
|
|
6
|
-
at: {
|
|
7
|
-
anchor: Editor.start(editor, []),
|
|
8
|
-
focus: Editor.end(editor, [])
|
|
9
|
-
}
|
|
10
|
-
});
|
|
11
|
-
if (newText && newText !== "") {
|
|
12
|
-
Transforms.insertNodes(
|
|
13
|
-
editor,
|
|
14
|
-
[
|
|
15
|
-
{
|
|
16
|
-
type: "paragraph",
|
|
17
|
-
children: [{ text: newText }]
|
|
18
|
-
}
|
|
19
|
-
],
|
|
20
|
-
{
|
|
21
|
-
at: [0]
|
|
22
|
-
}
|
|
23
|
-
);
|
|
24
|
-
}
|
|
25
|
-
}
|
|
26
|
-
|
|
27
|
-
export { replaceEditorText };
|
|
28
|
-
//# sourceMappingURL=out.js.map
|
|
29
|
-
//# sourceMappingURL=chunk-5UNJXFUO.mjs.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/lib/slatejs-edits/replace-text.ts"],"names":[],"mappings":";AAAA,SAAS,QAAQ,kBAAkB;AAE5B,SAAS,kBAAkB,QAAgB,SAAiB;AAEjE,aAAW,OAAO,QAAQ;AAAA,IACxB,IAAI;AAAA,MACF,QAAQ,OAAO,MAAM,QAAQ,CAAC,CAAC;AAAA,MAC/B,OAAO,OAAO,IAAI,QAAQ,CAAC,CAAC;AAAA,IAC9B;AAAA,EACF,CAAC;AAGD,MAAI,WAAW,YAAY,IAAI;AAE7B,eAAW;AAAA,MACT;AAAA,MACA;AAAA,QACE;AAAA,UACE,MAAM;AAAA,UACN,UAAU,CAAC,EAAE,MAAM,QAAQ,CAAC;AAAA,QAC9B;AAAA,MACF;AAAA,MACA;AAAA,QACE,IAAI,CAAC,CAAC;AAAA,MACR;AAAA,IACF;AAAA,EACF;AACF","sourcesContent":["import { Editor, Transforms } from \"slate\";\n\nexport function replaceEditorText(editor: Editor, newText: string) {\n // clear all previous text\n Transforms.delete(editor, {\n at: {\n anchor: Editor.start(editor, []),\n focus: Editor.end(editor, []),\n },\n });\n\n // insert new text\n if (newText && newText !== \"\") {\n // don't insert empty text - results in strange visual behavior\n Transforms.insertNodes(\n editor,\n [\n {\n type: \"paragraph\",\n children: [{ text: newText }],\n },\n ],\n {\n at: [0],\n },\n );\n }\n}\n"]}
|
package/dist/chunk-5ZCVCVRZ.mjs
DELETED
|
@@ -1,19 +0,0 @@
|
|
|
1
|
-
import { defaultInsertionsApiConfig } from './chunk-RBR32FWA.mjs';
|
|
2
|
-
import { defaultSuggestionsApiConfig } from './chunk-KDVMG3XF.mjs';
|
|
3
|
-
import { defaultEditingApiConfig } from './chunk-K5LNB36H.mjs';
|
|
4
|
-
import { defaultBaseAutosuggestionsConfig } from './chunk-FP2EKU3L.mjs';
|
|
5
|
-
import { __spreadProps, __spreadValues } from './chunk-MRXNTQOX.mjs';
|
|
6
|
-
import { defaultCopilotContextCategories } from '@copilotkit/react-core';
|
|
7
|
-
|
|
8
|
-
var defaultAutosuggestionsConfig = __spreadProps(__spreadValues({}, defaultBaseAutosuggestionsConfig), {
|
|
9
|
-
contextCategories: defaultCopilotContextCategories,
|
|
10
|
-
chatApiConfigs: {
|
|
11
|
-
suggestionsApiConfig: defaultSuggestionsApiConfig,
|
|
12
|
-
insertionApiConfig: defaultInsertionsApiConfig,
|
|
13
|
-
editingApiConfig: defaultEditingApiConfig
|
|
14
|
-
}
|
|
15
|
-
});
|
|
16
|
-
|
|
17
|
-
export { defaultAutosuggestionsConfig };
|
|
18
|
-
//# sourceMappingURL=out.js.map
|
|
19
|
-
//# sourceMappingURL=chunk-5ZCVCVRZ.mjs.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/types/autosuggestions-config/autosuggestions-config.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;AAKA,SAAS,uCAAuC;AAczC,IAAM,+BAGT,iCACC,mCADD;AAAA,EAEF,mBAAmB;AAAA,EACnB,gBAAgB;AAAA,IACd,sBAAsB;AAAA,IACtB,oBAAoB;AAAA,IACpB,kBAAkB;AAAA,EACpB;AACF","sourcesContent":["import { BaseAutosuggestionsConfig, defaultBaseAutosuggestionsConfig } from \"../base\";\nimport { SuggestionsApiConfig, defaultSuggestionsApiConfig } from \"./suggestions-api-config\";\nimport { InsertionsApiConfig, defaultInsertionsApiConfig } from \"./insertions-api-config\";\nimport { ChatlikeApiEndpoint } from \".\";\nimport { EditingApiConfig, defaultEditingApiConfig } from \"./editing-api-config\";\nimport { defaultCopilotContextCategories } from \"@copilotkit/react-core\";\n\n// Like the base autosuggestions config, with 2 additional fields:\n// 1. contextCategories: string[] | undefined;\n// 2. instead of apiConfigs, we have chatApiConfigs: a higher-level abstraction that uses a ChatGPT-like API endpoint.\nexport interface AutosuggestionsConfig extends Omit<BaseAutosuggestionsConfig, \"apiConfig\"> {\n contextCategories: string[];\n chatApiConfigs: {\n suggestionsApiConfig: SuggestionsApiConfig;\n insertionApiConfig: InsertionsApiConfig;\n editingApiConfig: EditingApiConfig;\n };\n}\n\nexport const defaultAutosuggestionsConfig: Omit<\n AutosuggestionsConfig,\n \"textareaPurpose\" | \"apiEndpoint\"\n> = {\n ...defaultBaseAutosuggestionsConfig,\n contextCategories: defaultCopilotContextCategories,\n chatApiConfigs: {\n suggestionsApiConfig: defaultSuggestionsApiConfig,\n insertionApiConfig: defaultInsertionsApiConfig,\n editingApiConfig: defaultEditingApiConfig,\n },\n};\n"]}
|