@copilotkit/react-textarea 0.19.0-alpha.2 → 0.19.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 +292 -288
- package/CHANGELOG.md +17 -0
- package/dist/components/base-copilot-textarea/base-copilot-textarea.mjs +1870 -33
- package/dist/components/base-copilot-textarea/base-copilot-textarea.mjs.map +1 -1
- package/dist/components/base-copilot-textarea/render-element.mjs +52 -3
- package/dist/components/base-copilot-textarea/render-element.mjs.map +1 -1
- package/dist/components/base-copilot-textarea/render-placeholder.mjs +46 -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 +2339 -43
- package/dist/components/copilot-textarea/copilot-textarea.mjs.map +1 -1
- package/dist/components/hovering-toolbar/hovering-editor-provider.mjs +22 -3
- package/dist/components/hovering-toolbar/hovering-editor-provider.mjs.map +1 -1
- package/dist/components/hovering-toolbar/hovering-toolbar-components.mjs +125 -3
- package/dist/components/hovering-toolbar/hovering-toolbar-components.mjs.map +1 -1
- package/dist/components/hovering-toolbar/hovering-toolbar.mjs +1015 -16
- package/dist/components/hovering-toolbar/hovering-toolbar.mjs.map +1 -1
- 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/{chunk-ITZHK3YV.mjs → components/hovering-toolbar/text-insertion-prompt-box/hovering-insertion-prompt-box-core.mjs} +488 -243
- package/dist/components/hovering-toolbar/text-insertion-prompt-box/hovering-insertion-prompt-box-core.mjs.map +1 -0
- package/dist/components/hovering-toolbar/text-insertion-prompt-box/hovering-insertion-prompt-box.mjs +734 -11
- 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/index.mjs +734 -12
- package/dist/components/hovering-toolbar/text-insertion-prompt-box/index.mjs.map +1 -1
- package/dist/components/index.mjs +2340 -44
- 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 +323 -9
- package/dist/components/source-search-box/source-search-box.mjs.map +1 -1
- package/dist/components/ui/button.d.ts +1 -1
- package/dist/components/ui/button.mjs +88 -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 +266 -5
- package/dist/components/ui/command.mjs.map +1 -1
- package/dist/components/ui/dialog.mjs +164 -4
- package/dist/components/ui/dialog.mjs.map +1 -1
- package/dist/components/ui/label.mjs +63 -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 +168 -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 +155 -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 +90 -4
- 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 +143 -4
- 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 +3 -27
- package/dist/index.css.map +1 -1
- package/dist/index.mjs +2343 -48
- 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 +109 -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 +23 -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.d.ts +3 -0
- package/dist/lib/stream-promise-flatten.mjs +48 -0
- package/dist/lib/stream-promise-flatten.mjs.map +1 -0
- 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 +312 -9
- package/dist/types/autosuggestions-config/autosuggestions-config.mjs.map +1 -1
- package/dist/types/autosuggestions-config/editing-api-config.mjs +155 -4
- package/dist/types/autosuggestions-config/editing-api-config.mjs.map +1 -1
- package/dist/types/autosuggestions-config/index.mjs +313 -10
- package/dist/types/autosuggestions-config/index.mjs.map +1 -1
- package/dist/types/autosuggestions-config/insertions-api-config.mjs +149 -4
- package/dist/types/autosuggestions-config/insertions-api-config.mjs.map +1 -1
- package/dist/types/autosuggestions-config/subtypes/chatlike-api-endpoint.mjs +71 -3
- package/dist/types/autosuggestions-config/subtypes/chatlike-api-endpoint.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 +137 -4
- 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 +11 -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 +11 -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.mjs +314 -12
- package/dist/types/index.mjs.map +1 -1
- package/package.json +3 -3
- package/src/components/hovering-toolbar/text-insertion-prompt-box/{mode-suggestion-appearing.tsx → hovering-insertion-prompt-box-core.tsx} +59 -65
- 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 +7 -10
- package/src/components/ui/command.tsx +1 -1
- package/src/lib/stream-promise-flatten.ts +25 -0
- package/dist/chunk-2NURR2DX.mjs +0 -47
- package/dist/chunk-2NURR2DX.mjs.map +0 -1
- package/dist/chunk-3YJ63D5D.mjs +0 -106
- package/dist/chunk-3YJ63D5D.mjs.map +0 -1
- package/dist/chunk-4S5ZJH3I.mjs +0 -18
- package/dist/chunk-4S5ZJH3I.mjs.map +0 -1
- package/dist/chunk-55EGOC5T.mjs +0 -87
- package/dist/chunk-55EGOC5T.mjs.map +0 -1
- package/dist/chunk-5ARCOTW3.mjs +0 -34
- package/dist/chunk-5ARCOTW3.mjs.map +0 -1
- package/dist/chunk-5EJ5XOGP.mjs +0 -22
- package/dist/chunk-5EJ5XOGP.mjs.map +0 -1
- package/dist/chunk-5FO6ISW4.mjs +0 -3
- package/dist/chunk-5FO6ISW4.mjs.map +0 -1
- package/dist/chunk-7SMDOAG2.mjs +0 -201
- package/dist/chunk-7SMDOAG2.mjs.map +0 -1
- package/dist/chunk-A2RRLD23.mjs +0 -69
- package/dist/chunk-A2RRLD23.mjs.map +0 -1
- package/dist/chunk-CDB7HFCY.mjs +0 -65
- package/dist/chunk-CDB7HFCY.mjs.map +0 -1
- package/dist/chunk-CSGFJU3L.mjs +0 -65
- package/dist/chunk-CSGFJU3L.mjs.map +0 -1
- package/dist/chunk-D7SEV5PR.mjs +0 -12
- package/dist/chunk-D7SEV5PR.mjs.map +0 -1
- package/dist/chunk-DE5K76I2.mjs +0 -3
- package/dist/chunk-DE5K76I2.mjs.map +0 -1
- package/dist/chunk-F3MHL6ZY.mjs +0 -25
- package/dist/chunk-F3MHL6ZY.mjs.map +0 -1
- package/dist/chunk-H4VKQGVU.mjs +0 -3
- package/dist/chunk-H4VKQGVU.mjs.map +0 -1
- package/dist/chunk-HAFHLU4N.mjs +0 -55
- package/dist/chunk-HAFHLU4N.mjs.map +0 -1
- package/dist/chunk-ITZHK3YV.mjs.map +0 -1
- package/dist/chunk-IU3WTXLQ.mjs +0 -3
- package/dist/chunk-IU3WTXLQ.mjs.map +0 -1
- package/dist/chunk-IXJ2HCOA.mjs +0 -101
- package/dist/chunk-IXJ2HCOA.mjs.map +0 -1
- package/dist/chunk-JAFCXEPU.mjs +0 -10
- package/dist/chunk-JAFCXEPU.mjs.map +0 -1
- package/dist/chunk-KCHYD3EB.mjs +0 -107
- package/dist/chunk-KCHYD3EB.mjs.map +0 -1
- package/dist/chunk-KGKLUWKW.mjs +0 -47
- package/dist/chunk-KGKLUWKW.mjs.map +0 -1
- package/dist/chunk-L7VVZH4Q.mjs +0 -3
- package/dist/chunk-L7VVZH4Q.mjs.map +0 -1
- package/dist/chunk-LNAIMEB2.mjs +0 -34
- package/dist/chunk-LNAIMEB2.mjs.map +0 -1
- package/dist/chunk-MMVDU6DF.mjs +0 -3
- package/dist/chunk-MMVDU6DF.mjs.map +0 -1
- package/dist/chunk-MPME5BW2.mjs +0 -59
- package/dist/chunk-MPME5BW2.mjs.map +0 -1
- package/dist/chunk-MRXNTQOX.mjs +0 -55
- package/dist/chunk-MRXNTQOX.mjs.map +0 -1
- package/dist/chunk-ND5PXTAW.mjs +0 -17
- package/dist/chunk-ND5PXTAW.mjs.map +0 -1
- package/dist/chunk-NKW5OU2S.mjs +0 -33
- package/dist/chunk-NKW5OU2S.mjs.map +0 -1
- package/dist/chunk-O5OWT5GE.mjs +0 -114
- package/dist/chunk-O5OWT5GE.mjs.map +0 -1
- package/dist/chunk-OD7ZMOVE.mjs +0 -45
- package/dist/chunk-OD7ZMOVE.mjs.map +0 -1
- package/dist/chunk-OELUUJZY.mjs +0 -16
- package/dist/chunk-OELUUJZY.mjs.map +0 -1
- package/dist/chunk-OM5WQQOU.mjs +0 -47
- package/dist/chunk-OM5WQQOU.mjs.map +0 -1
- package/dist/chunk-PF3XRNDB.mjs +0 -44
- package/dist/chunk-PF3XRNDB.mjs.map +0 -1
- package/dist/chunk-QL2GYGG5.mjs +0 -19
- package/dist/chunk-QL2GYGG5.mjs.map +0 -1
- package/dist/chunk-RPDVSCLO.mjs +0 -107
- package/dist/chunk-RPDVSCLO.mjs.map +0 -1
- package/dist/chunk-RQHOUUXQ.mjs +0 -29
- package/dist/chunk-RQHOUUXQ.mjs.map +0 -1
- package/dist/chunk-UHD44NC5.mjs +0 -101
- package/dist/chunk-UHD44NC5.mjs.map +0 -1
- package/dist/chunk-VBIJPE3H.mjs +0 -108
- package/dist/chunk-VBIJPE3H.mjs.map +0 -1
- package/dist/chunk-WADHCMPK.mjs +0 -3
- package/dist/chunk-WADHCMPK.mjs.map +0 -1
- package/dist/chunk-WJHSY5T6.mjs +0 -3
- package/dist/chunk-WJHSY5T6.mjs.map +0 -1
- package/dist/chunk-WJYQWL4I.mjs +0 -27
- package/dist/chunk-WJYQWL4I.mjs.map +0 -1
- package/dist/chunk-XDT7BF3V.mjs +0 -81
- package/dist/chunk-XDT7BF3V.mjs.map +0 -1
- package/dist/chunk-XHUMROEY.mjs +0 -91
- package/dist/chunk-XHUMROEY.mjs.map +0 -1
- package/dist/chunk-YQU7WG7T.mjs +0 -83
- package/dist/chunk-YQU7WG7T.mjs.map +0 -1
- package/dist/chunk-YTOPHPSG.mjs +0 -45
- package/dist/chunk-YTOPHPSG.mjs.map +0 -1
- package/dist/chunk-YW3REYX6.mjs +0 -23
- package/dist/chunk-YW3REYX6.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/dist/components/hovering-toolbar/text-insertion-prompt-box/mode-pre-suggestion.mjs.map +0 -1
- package/dist/components/hovering-toolbar/text-insertion-prompt-box/mode-suggestion-appearing.mjs +0 -10
- package/dist/components/hovering-toolbar/text-insertion-prompt-box/mode-suggestion-appearing.mjs.map +0 -1
- package/src/components/hovering-toolbar/text-insertion-prompt-box/mode-pre-suggestion.tsx +0 -83
package/dist/chunk-LNAIMEB2.mjs
DELETED
|
@@ -1,34 +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), {
|
|
11
|
-
suggestionsStyle
|
|
12
|
-
}));
|
|
13
|
-
}
|
|
14
|
-
};
|
|
15
|
-
}
|
|
16
|
-
var DefaultElement = (props) => {
|
|
17
|
-
return /* @__PURE__ */ jsx("div", __spreadProps(__spreadValues({}, props.attributes), {
|
|
18
|
-
children: props.children
|
|
19
|
-
}));
|
|
20
|
-
};
|
|
21
|
-
var SuggestionElement = (props) => {
|
|
22
|
-
return /* @__PURE__ */ jsxs("span", __spreadProps(__spreadValues({}, props.attributes), {
|
|
23
|
-
style: __spreadValues({}, props.suggestionsStyle),
|
|
24
|
-
contentEditable: false,
|
|
25
|
-
children: [
|
|
26
|
-
props.children,
|
|
27
|
-
props.element.type === "suggestion" && props.element.content
|
|
28
|
-
]
|
|
29
|
-
}));
|
|
30
|
-
};
|
|
31
|
-
|
|
32
|
-
export { makeRenderElementFunction };
|
|
33
|
-
//# sourceMappingURL=out.js.map
|
|
34
|
-
//# sourceMappingURL=chunk-LNAIMEB2.mjs.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/components/base-copilot-textarea/render-element.tsx"],"names":[],"mappings":";;;;;;AAUe,cAkBX,YAlBW;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,eACE,oBAAC,oDAAsB,QAAtB;AAAA,UAA6B;AAAA,UAAoC;AAAA,IAExE;AAAA,EACF;AACF;AAEA,IAAM,iBAAiB,CAAC,UAA8B;AACpD,SAAO,oBAAC,wCAAQ,MAAM,aAAd;AAAA,IAA2B,gBAAM;AAAA,IAAS;AACpD;AACA,IAAM,oBAAoB,CACxB,UAGG;AACH,SACE,qBAAC,yCACK,MAAM,aADX;AAAA,IAEC,OAAO,mBACF,MAAM;AAAA,IAEX,iBAAiB;AAAA,IAEhB;AAAA,YAAM;AAAA,MACN,MAAM,QAAQ,SAAS,gBAAgB,MAAM,QAAQ;AAAA;AAAA,IACxD;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 (\n <SuggestionElement {...props} suggestionsStyle={suggestionsStyle} />\n );\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-MMVDU6DF.mjs
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":[],"names":[],"mappings":""}
|
package/dist/chunk-MPME5BW2.mjs
DELETED
|
@@ -1,59 +0,0 @@
|
|
|
1
|
-
import { useEffect } from 'react';
|
|
2
|
-
|
|
3
|
-
// src/components/base-copilot-textarea/use-add-branding-css.tsx
|
|
4
|
-
function useAddBrandingCss(suggestionStyleAugmented, disableBranding) {
|
|
5
|
-
const cssSelector = ".copilot-textarea.with-branding";
|
|
6
|
-
useEffect(() => {
|
|
7
|
-
if (disableBranding) {
|
|
8
|
-
return;
|
|
9
|
-
}
|
|
10
|
-
const styleEl = document.createElement("style");
|
|
11
|
-
styleEl.id = "dynamic-styles";
|
|
12
|
-
let dynamicStyles = Object.entries(suggestionStyleAugmented).map(([key, value]) => {
|
|
13
|
-
const kebabCaseKey = key.replace(/([a-z0-9]|(?=[A-Z]))([A-Z])/g, "$1-$2").toLowerCase();
|
|
14
|
-
return `${kebabCaseKey}: ${value};`;
|
|
15
|
-
}).join(" ");
|
|
16
|
-
dynamicStyles += `font-style: normal; font-size: x-small;`;
|
|
17
|
-
dynamicStyles += `content: "CopilotKit";`;
|
|
18
|
-
dynamicStyles += `bottom: 6px;`;
|
|
19
|
-
dynamicStyles += `right: 6px;`;
|
|
20
|
-
dynamicStyles += `pointer-events: none;`;
|
|
21
|
-
dynamicStyles += `font-weight: 200;`;
|
|
22
|
-
dynamicStyles += `padding: 0;`;
|
|
23
|
-
dynamicStyles += `margin: 0;`;
|
|
24
|
-
dynamicStyles += `border: 0;`;
|
|
25
|
-
dynamicStyles += `line-height: 1;`;
|
|
26
|
-
dynamicStyles += `position: absolute;`;
|
|
27
|
-
styleEl.innerHTML = `
|
|
28
|
-
${cssSelector}::after {
|
|
29
|
-
${dynamicStyles}
|
|
30
|
-
}
|
|
31
|
-
`;
|
|
32
|
-
document.head.appendChild(styleEl);
|
|
33
|
-
const textarea = document.querySelector(cssSelector);
|
|
34
|
-
const handleScroll = () => {
|
|
35
|
-
const styleEl2 = document.getElementById("dynamic-styles");
|
|
36
|
-
if (styleEl2 && textarea) {
|
|
37
|
-
const offsetFromBottom = -textarea.scrollTop + 6;
|
|
38
|
-
const offsetFromRight = -textarea.scrollLeft + 6;
|
|
39
|
-
styleEl2.innerHTML = `
|
|
40
|
-
${cssSelector}::after {
|
|
41
|
-
${dynamicStyles}
|
|
42
|
-
bottom: ${offsetFromBottom}px;
|
|
43
|
-
right: ${offsetFromRight}px;
|
|
44
|
-
}
|
|
45
|
-
`;
|
|
46
|
-
}
|
|
47
|
-
};
|
|
48
|
-
textarea == null ? void 0 : textarea.addEventListener("scroll", handleScroll);
|
|
49
|
-
return () => {
|
|
50
|
-
var _a;
|
|
51
|
-
(_a = document.getElementById("dynamic-styles")) == null ? void 0 : _a.remove();
|
|
52
|
-
textarea == null ? void 0 : textarea.removeEventListener("scroll", handleScroll);
|
|
53
|
-
};
|
|
54
|
-
}, [disableBranding, suggestionStyleAugmented]);
|
|
55
|
-
}
|
|
56
|
-
|
|
57
|
-
export { useAddBrandingCss };
|
|
58
|
-
//# sourceMappingURL=out.js.map
|
|
59
|
-
//# sourceMappingURL=chunk-MPME5BW2.mjs.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/components/base-copilot-textarea/use-add-branding-css.tsx"],"names":["styleEl"],"mappings":";AAAA,SAAS,iBAAiB;AAEnB,SAAS,kBACd,0BACA,iBACA;AACA,QAAM,cAAc;AACpB,YAAU,MAAM;AACd,QAAI,iBAAiB;AACnB;AAAA,IACF;AAIA,UAAM,UAAU,SAAS,cAAc,OAAO;AAC9C,YAAQ,KAAK;AAGb,QAAI,gBAAgB,OAAO,QAAQ,wBAAwB,EACxD,IAAI,CAAC,CAAC,KAAK,KAAK,MAAM;AACrB,YAAM,eAAe,IAClB,QAAQ,gCAAgC,OAAO,EAC/C,YAAY;AACf,aAAO,GAAG,iBAAiB;AAAA,IAC7B,CAAC,EACA,KAAK,GAAG;AAGX,qBAAiB;AACjB,qBAAiB;AACjB,qBAAiB;AACjB,qBAAiB;AACjB,qBAAiB;AACjB,qBAAiB;AACjB,qBAAiB;AACjB,qBAAiB;AACjB,qBAAiB;AACjB,qBAAiB;AACjB,qBAAiB;AAGjB,YAAQ,YAAY;AAAA,QAChB;AAAA,UACE;AAAA;AAAA;AAIN,aAAS,KAAK,YAAY,OAAO;AAIjC,UAAM,WAAW,SAAS,cAAc,WAAW;AACnD,UAAM,eAAe,MAAM;AACzB,YAAMA,WAAU,SAAS,eAAe,gBAAgB;AACxD,UAAIA,YAAW,UAAU;AACvB,cAAM,mBAAmB,CAAC,SAAS,YAAY;AAC/C,cAAM,kBAAkB,CAAC,SAAS,aAAa;AAC/C,QAAAA,SAAQ,YAAY;AAAA,YAChB;AAAA,cACE;AAAA,sBACQ;AAAA,qBACD;AAAA;AAAA;AAAA,MAGf;AAAA,IACF;AAEA,yCAAU,iBAAiB,UAAU;AAGrC,WAAO,MAAM;AAtEjB;AAuEM,qBAAS,eAAe,gBAAgB,MAAxC,mBAA2C;AAC3C,2CAAU,oBAAoB,UAAU;AAAA,IAC1C;AAAA,EACF,GAAG,CAAC,iBAAiB,wBAAwB,CAAC;AAChD","sourcesContent":["import { useEffect } from \"react\";\n\nexport function useAddBrandingCss(\n suggestionStyleAugmented: React.CSSProperties,\n disableBranding: boolean | undefined\n) {\n const cssSelector = \".copilot-textarea.with-branding\";\n useEffect(() => {\n if (disableBranding) {\n return;\n }\n\n // ---\n // 1: Add the CSS to the DOM\n const styleEl = document.createElement(\"style\");\n styleEl.id = \"dynamic-styles\";\n\n // Build the CSS string dynamically\n let dynamicStyles = Object.entries(suggestionStyleAugmented)\n .map(([key, value]) => {\n const kebabCaseKey = key\n .replace(/([a-z0-9]|(?=[A-Z]))([A-Z])/g, \"$1-$2\")\n .toLowerCase();\n return `${kebabCaseKey}: ${value};`;\n })\n .join(\" \");\n\n // Append overrides for italics and font-size\n dynamicStyles += `font-style: normal; font-size: x-small;`;\n dynamicStyles += `content: \"CopilotKit\";`;\n dynamicStyles += `bottom: 6px;`;\n dynamicStyles += `right: 6px;`;\n dynamicStyles += `pointer-events: none;`;\n dynamicStyles += `font-weight: 200;`;\n dynamicStyles += `padding: 0;`;\n dynamicStyles += `margin: 0;`;\n dynamicStyles += `border: 0;`;\n dynamicStyles += `line-height: 1;`;\n dynamicStyles += `position: absolute;`;\n\n // Append it to the ::after class\n styleEl.innerHTML = `\n ${cssSelector}::after {\n ${dynamicStyles}\n }\n `;\n\n document.head.appendChild(styleEl);\n\n // ---\n // 2: Add the scroll listener (to keep the branding in the bottom right as the textarea scrolls)\n const textarea = document.querySelector(cssSelector);\n const handleScroll = () => {\n const styleEl = document.getElementById(\"dynamic-styles\");\n if (styleEl && textarea) {\n const offsetFromBottom = -textarea.scrollTop + 6;\n const offsetFromRight = -textarea.scrollLeft + 6;\n styleEl.innerHTML = `\n ${cssSelector}::after {\n ${dynamicStyles}\n bottom: ${offsetFromBottom}px;\n right: ${offsetFromRight}px;\n }\n `;\n }\n };\n\n textarea?.addEventListener(\"scroll\", handleScroll);\n\n // Cleanup\n return () => {\n document.getElementById(\"dynamic-styles\")?.remove();\n textarea?.removeEventListener(\"scroll\", handleScroll);\n };\n }, [disableBranding, suggestionStyleAugmented]);\n}\n"]}
|
package/dist/chunk-MRXNTQOX.mjs
DELETED
|
@@ -1,55 +0,0 @@
|
|
|
1
|
-
var __defProp = Object.defineProperty;
|
|
2
|
-
var __defProps = Object.defineProperties;
|
|
3
|
-
var __getOwnPropDescs = Object.getOwnPropertyDescriptors;
|
|
4
|
-
var __getOwnPropSymbols = Object.getOwnPropertySymbols;
|
|
5
|
-
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
6
|
-
var __propIsEnum = Object.prototype.propertyIsEnumerable;
|
|
7
|
-
var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
|
|
8
|
-
var __spreadValues = (a, b) => {
|
|
9
|
-
for (var prop in b || (b = {}))
|
|
10
|
-
if (__hasOwnProp.call(b, prop))
|
|
11
|
-
__defNormalProp(a, prop, b[prop]);
|
|
12
|
-
if (__getOwnPropSymbols)
|
|
13
|
-
for (var prop of __getOwnPropSymbols(b)) {
|
|
14
|
-
if (__propIsEnum.call(b, prop))
|
|
15
|
-
__defNormalProp(a, prop, b[prop]);
|
|
16
|
-
}
|
|
17
|
-
return a;
|
|
18
|
-
};
|
|
19
|
-
var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));
|
|
20
|
-
var __objRest = (source, exclude) => {
|
|
21
|
-
var target = {};
|
|
22
|
-
for (var prop in source)
|
|
23
|
-
if (__hasOwnProp.call(source, prop) && exclude.indexOf(prop) < 0)
|
|
24
|
-
target[prop] = source[prop];
|
|
25
|
-
if (source != null && __getOwnPropSymbols)
|
|
26
|
-
for (var prop of __getOwnPropSymbols(source)) {
|
|
27
|
-
if (exclude.indexOf(prop) < 0 && __propIsEnum.call(source, prop))
|
|
28
|
-
target[prop] = source[prop];
|
|
29
|
-
}
|
|
30
|
-
return target;
|
|
31
|
-
};
|
|
32
|
-
var __async = (__this, __arguments, generator) => {
|
|
33
|
-
return new Promise((resolve, reject) => {
|
|
34
|
-
var fulfilled = (value) => {
|
|
35
|
-
try {
|
|
36
|
-
step(generator.next(value));
|
|
37
|
-
} catch (e) {
|
|
38
|
-
reject(e);
|
|
39
|
-
}
|
|
40
|
-
};
|
|
41
|
-
var rejected = (value) => {
|
|
42
|
-
try {
|
|
43
|
-
step(generator.throw(value));
|
|
44
|
-
} catch (e) {
|
|
45
|
-
reject(e);
|
|
46
|
-
}
|
|
47
|
-
};
|
|
48
|
-
var step = (x) => x.done ? resolve(x.value) : Promise.resolve(x.value).then(fulfilled, rejected);
|
|
49
|
-
step((generator = generator.apply(__this, __arguments)).next());
|
|
50
|
-
});
|
|
51
|
-
};
|
|
52
|
-
|
|
53
|
-
export { __async, __objRest, __spreadProps, __spreadValues };
|
|
54
|
-
//# sourceMappingURL=out.js.map
|
|
55
|
-
//# sourceMappingURL=chunk-MRXNTQOX.mjs.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":[],"names":[],"mappings":"","sourcesContent":[]}
|
package/dist/chunk-ND5PXTAW.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-ND5PXTAW.mjs.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/hooks/misc/use-autosize-textarea.tsx"],"names":[],"mappings":";AAAA,SAAyB,iBAAiB;AAG1C,IAAM,sBAAsB,CAC1B,aACA,UACG;AACH,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 = (\n textAreaRef: RefObject<HTMLTextAreaElement>,\n value: string\n) => {\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-NKW5OU2S.mjs
DELETED
|
@@ -1,33 +0,0 @@
|
|
|
1
|
-
import { __async } from './chunk-MRXNTQOX.mjs';
|
|
2
|
-
|
|
3
|
-
// src/lib/debouncer.ts
|
|
4
|
-
var Debouncer = class {
|
|
5
|
-
constructor(wait) {
|
|
6
|
-
this.wait = wait;
|
|
7
|
-
this.debounce = (func, ...args) => __async(this, null, function* () {
|
|
8
|
-
this.cancel();
|
|
9
|
-
this.timeoutId = setTimeout(() => __async(this, null, function* () {
|
|
10
|
-
try {
|
|
11
|
-
this.activeAbortController = new AbortController();
|
|
12
|
-
yield func(...args, this.activeAbortController.signal);
|
|
13
|
-
this.activeAbortController = void 0;
|
|
14
|
-
} catch (error) {
|
|
15
|
-
}
|
|
16
|
-
}), this.wait);
|
|
17
|
-
});
|
|
18
|
-
this.cancel = () => {
|
|
19
|
-
if (this.activeAbortController) {
|
|
20
|
-
this.activeAbortController.abort();
|
|
21
|
-
this.activeAbortController = void 0;
|
|
22
|
-
}
|
|
23
|
-
if (this.timeoutId !== void 0) {
|
|
24
|
-
clearTimeout(this.timeoutId);
|
|
25
|
-
this.timeoutId = void 0;
|
|
26
|
-
}
|
|
27
|
-
};
|
|
28
|
-
}
|
|
29
|
-
};
|
|
30
|
-
|
|
31
|
-
export { Debouncer };
|
|
32
|
-
//# sourceMappingURL=out.js.map
|
|
33
|
-
//# sourceMappingURL=chunk-NKW5OU2S.mjs.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/lib/debouncer.ts"],"names":[],"mappings":";;;;;AAIO,IAAM,YAAN,MAAiC;AAAA,EAItC,YAAoB,MAAc;AAAd;AAEpB,oBAAW,CAAO,SAA2B,SAAY;AAEvD,WAAK,OAAO;AAEZ,WAAK,YAAY,WAAW,MAAY;AACtC,YAAI;AACF,eAAK,wBAAwB,IAAI,gBAAgB;AAGjD,gBAAM,KAAK,GAAG,MAAM,KAAK,sBAAsB,MAAM;AAErD,eAAK,wBAAwB;AAAA,QAC/B,SAAS,OAAP;AAAA,QAAe;AAAA,MACnB,IAAG,KAAK,IAAI;AAAA,IACd;AAEA,kBAAS,MAAM;AACb,UAAI,KAAK,uBAAuB;AAC9B,aAAK,sBAAsB,MAAM;AACjC,aAAK,wBAAwB;AAAA,MAC/B;AAEA,UAAI,KAAK,cAAc,QAAW;AAChC,qBAAa,KAAK,SAAS;AAC3B,aAAK,YAAY;AAAA,MACnB;AAAA,IACF;AAAA,EA5BmC;AA6BrC","sourcesContent":["export type AsyncFunction<T extends any[]> = (\n ...args: [...T, AbortSignal]\n) => Promise<void>;\n\nexport class Debouncer<T extends any[]> {\n private timeoutId?: number;\n private activeAbortController?: AbortController;\n\n constructor(private wait: number) {}\n\n debounce = async (func: AsyncFunction<T>, ...args: T) => {\n // Abort the previous promise immediately\n this.cancel();\n\n this.timeoutId = setTimeout(async () => {\n try {\n this.activeAbortController = new AbortController();\n\n // Pass the signal to the async function, assuming it supports it\n await func(...args, this.activeAbortController.signal);\n\n this.activeAbortController = undefined;\n } catch (error) {}\n }, this.wait);\n };\n\n cancel = () => {\n if (this.activeAbortController) {\n this.activeAbortController.abort();\n this.activeAbortController = undefined;\n }\n\n if (this.timeoutId !== undefined) {\n clearTimeout(this.timeoutId);\n this.timeoutId = undefined;\n }\n };\n}\n"]}
|
package/dist/chunk-O5OWT5GE.mjs
DELETED
|
@@ -1,114 +0,0 @@
|
|
|
1
|
-
import { cn } from './chunk-KGKLUWKW.mjs';
|
|
2
|
-
import { __objRest, __spreadValues, __spreadProps } from './chunk-MRXNTQOX.mjs';
|
|
3
|
-
import * as React from 'react';
|
|
4
|
-
import * as DialogPrimitive from '@radix-ui/react-dialog';
|
|
5
|
-
import { X } from 'lucide-react';
|
|
6
|
-
import { jsx, jsxs } from 'react/jsx-runtime';
|
|
7
|
-
|
|
8
|
-
var Dialog = DialogPrimitive.Root;
|
|
9
|
-
var DialogTrigger = DialogPrimitive.Trigger;
|
|
10
|
-
var DialogPortal = (_a) => {
|
|
11
|
-
var _b = _a, {
|
|
12
|
-
className
|
|
13
|
-
} = _b, props = __objRest(_b, [
|
|
14
|
-
"className"
|
|
15
|
-
]);
|
|
16
|
-
return /* @__PURE__ */ jsx(DialogPrimitive.Portal, __spreadValues({
|
|
17
|
-
className: cn(className)
|
|
18
|
-
}, props));
|
|
19
|
-
};
|
|
20
|
-
DialogPortal.displayName = DialogPrimitive.Portal.displayName;
|
|
21
|
-
var DialogOverlay = React.forwardRef((_a, ref) => {
|
|
22
|
-
var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
|
|
23
|
-
return /* @__PURE__ */ jsx(DialogPrimitive.Overlay, __spreadValues({
|
|
24
|
-
ref,
|
|
25
|
-
className: cn(
|
|
26
|
-
"fixed inset-0 z-50 bg-background/80 backdrop-blur-sm data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0",
|
|
27
|
-
className
|
|
28
|
-
)
|
|
29
|
-
}, props));
|
|
30
|
-
});
|
|
31
|
-
DialogOverlay.displayName = DialogPrimitive.Overlay.displayName;
|
|
32
|
-
var DialogContent = React.forwardRef((_a, ref) => {
|
|
33
|
-
var _b = _a, { className, children } = _b, props = __objRest(_b, ["className", "children"]);
|
|
34
|
-
return /* @__PURE__ */ jsxs(DialogPortal, {
|
|
35
|
-
children: [
|
|
36
|
-
/* @__PURE__ */ jsx(DialogOverlay, {}),
|
|
37
|
-
/* @__PURE__ */ jsxs(DialogPrimitive.Content, __spreadProps(__spreadValues({
|
|
38
|
-
ref,
|
|
39
|
-
className: cn(
|
|
40
|
-
"fixed left-[50%] top-[50%] z-50 grid w-full max-w-lg translate-x-[-50%] translate-y-[-50%] gap-4 border bg-background p-6 shadow-lg duration-200 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[state=closed]:slide-out-to-left-1/2 data-[state=closed]:slide-out-to-top-[48%] data-[state=open]:slide-in-from-left-1/2 data-[state=open]:slide-in-from-top-[48%] sm:rounded-lg md:w-full",
|
|
41
|
-
className
|
|
42
|
-
)
|
|
43
|
-
}, props), {
|
|
44
|
-
children: [
|
|
45
|
-
children,
|
|
46
|
-
/* @__PURE__ */ jsxs(DialogPrimitive.Close, {
|
|
47
|
-
className: "absolute right-4 top-4 rounded-sm opacity-70 ring-offset-background transition-opacity hover:opacity-100 focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2 disabled:pointer-events-none data-[state=open]:bg-accent data-[state=open]:text-muted-foreground",
|
|
48
|
-
children: [
|
|
49
|
-
/* @__PURE__ */ jsx(X, {
|
|
50
|
-
className: "h-4 w-4"
|
|
51
|
-
}),
|
|
52
|
-
/* @__PURE__ */ jsx("span", {
|
|
53
|
-
className: "sr-only",
|
|
54
|
-
children: "Close"
|
|
55
|
-
})
|
|
56
|
-
]
|
|
57
|
-
})
|
|
58
|
-
]
|
|
59
|
-
}))
|
|
60
|
-
]
|
|
61
|
-
});
|
|
62
|
-
});
|
|
63
|
-
DialogContent.displayName = DialogPrimitive.Content.displayName;
|
|
64
|
-
var DialogHeader = (_a) => {
|
|
65
|
-
var _b = _a, {
|
|
66
|
-
className
|
|
67
|
-
} = _b, props = __objRest(_b, [
|
|
68
|
-
"className"
|
|
69
|
-
]);
|
|
70
|
-
return /* @__PURE__ */ jsx("div", __spreadValues({
|
|
71
|
-
className: cn(
|
|
72
|
-
"flex flex-col space-y-1.5 text-center sm:text-left",
|
|
73
|
-
className
|
|
74
|
-
)
|
|
75
|
-
}, props));
|
|
76
|
-
};
|
|
77
|
-
DialogHeader.displayName = "DialogHeader";
|
|
78
|
-
var DialogFooter = (_a) => {
|
|
79
|
-
var _b = _a, {
|
|
80
|
-
className
|
|
81
|
-
} = _b, props = __objRest(_b, [
|
|
82
|
-
"className"
|
|
83
|
-
]);
|
|
84
|
-
return /* @__PURE__ */ jsx("div", __spreadValues({
|
|
85
|
-
className: cn(
|
|
86
|
-
"flex flex-col-reverse sm:flex-row sm:justify-end sm:space-x-2",
|
|
87
|
-
className
|
|
88
|
-
)
|
|
89
|
-
}, props));
|
|
90
|
-
};
|
|
91
|
-
DialogFooter.displayName = "DialogFooter";
|
|
92
|
-
var DialogTitle = React.forwardRef((_a, ref) => {
|
|
93
|
-
var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
|
|
94
|
-
return /* @__PURE__ */ jsx(DialogPrimitive.Title, __spreadValues({
|
|
95
|
-
ref,
|
|
96
|
-
className: cn(
|
|
97
|
-
"text-lg font-semibold leading-none tracking-tight",
|
|
98
|
-
className
|
|
99
|
-
)
|
|
100
|
-
}, props));
|
|
101
|
-
});
|
|
102
|
-
DialogTitle.displayName = DialogPrimitive.Title.displayName;
|
|
103
|
-
var DialogDescription = React.forwardRef((_a, ref) => {
|
|
104
|
-
var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
|
|
105
|
-
return /* @__PURE__ */ jsx(DialogPrimitive.Description, __spreadValues({
|
|
106
|
-
ref,
|
|
107
|
-
className: cn("text-sm text-muted-foreground", className)
|
|
108
|
-
}, props));
|
|
109
|
-
});
|
|
110
|
-
DialogDescription.displayName = DialogPrimitive.Description.displayName;
|
|
111
|
-
|
|
112
|
-
export { Dialog, DialogContent, DialogDescription, DialogFooter, DialogHeader, DialogTitle, DialogTrigger };
|
|
113
|
-
//# sourceMappingURL=out.js.map
|
|
114
|
-
//# sourceMappingURL=chunk-O5OWT5GE.mjs.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/components/ui/dialog.tsx"],"names":[],"mappings":";;;;;;;;;;AAEA,YAAY,WAAW;AACvB,YAAY,qBAAqB;AACjC,SAAS,SAAS;AAYhB,cAkCI,YAlCJ;AAhBF;AAQA,IAAM,SAAyB;AAE/B,IAAM,gBAAgC;AAEtC,IAAM,eAAe,CAAC,OAGgB;AAHhB,eACpB;AAAA;AAAA,EAbF,IAYsB,IAEjB,kBAFiB,IAEjB;AAAA,IADH;AAAA;AAGA,6BAAiB,wBAAhB;AAAA,IAAuB,WAAW,GAAG,SAAS;AAAA,KAAO,MAAO;AAAA;AAE/D,aAAa,cAA8B,uBAAO;AAElD,IAAM,gBAAsB,iBAG1B,CAAC,IAAyB,QAAK;AAA9B,eAAE,YAvBL,IAuBG,IAAgB,kBAAhB,IAAgB,CAAd;AACH,6BAAiB,yBAAhB;AAAA,IACC;AAAA,IACA,WAAW;AAAA,MACT;AAAA,MACA;AAAA,IACF;AAAA,KACI,MACN;AAAA,CACD;AACD,cAAc,cAA8B,wBAAQ;AAEpD,IAAM,gBAAsB,iBAG1B,CAAC,IAAmC,QAAK;AAAxC,eAAE,aAAW,SAtChB,IAsCG,IAA0B,kBAA1B,IAA0B,CAAxB,aAAW;AACd,8BAAC;AAAA,IACC;AAAA,0BAAC,iBAAc;AAAA,MACf,qBAAiB,yBAAhB;AAAA,QACC;AAAA,QACA,WAAW;AAAA,UACT;AAAA,UACA;AAAA,QACF;AAAA,SACI,QANL;AAAA,QAQE;AAAA;AAAA,UACD,qBAAiB,uBAAhB;AAAA,YAAsB,WAAU;AAAA,YAC/B;AAAA,kCAAC;AAAA,gBAAE,WAAU;AAAA,eAAU;AAAA,cACvB,oBAAC;AAAA,gBAAK,WAAU;AAAA,gBAAU;AAAA,eAAK;AAAA;AAAA,WACjC;AAAA;AAAA,QACF;AAAA;AAAA,GACF;AAAA,CACD;AACD,cAAc,cAA8B,wBAAQ;AAEpD,IAAM,eAAe,CAAC,OAGmB;AAHnB,eACpB;AAAA;AAAA,EA5DF,IA2DsB,IAEjB,kBAFiB,IAEjB;AAAA,IADH;AAAA;AAGA,6BAAC;AAAA,IACC,WAAW;AAAA,MACT;AAAA,MACA;AAAA,IACF;AAAA,KACI,MACN;AAAA;AAEF,aAAa,cAAc;AAE3B,IAAM,eAAe,CAAC,OAGmB;AAHnB,eACpB;AAAA;AAAA,EA1EF,IAyEsB,IAEjB,kBAFiB,IAEjB;AAAA,IADH;AAAA;AAGA,6BAAC;AAAA,IACC,WAAW;AAAA,MACT;AAAA,MACA;AAAA,IACF;AAAA,KACI,MACN;AAAA;AAEF,aAAa,cAAc;AAE3B,IAAM,cAAoB,iBAGxB,CAAC,IAAyB,QAAK;AAA9B,eAAE,YA1FL,IA0FG,IAAgB,kBAAhB,IAAgB,CAAd;AACH,6BAAiB,uBAAhB;AAAA,IACC;AAAA,IACA,WAAW;AAAA,MACT;AAAA,MACA;AAAA,IACF;AAAA,KACI,MACN;AAAA,CACD;AACD,YAAY,cAA8B,sBAAM;AAEhD,IAAM,oBAA0B,iBAG9B,CAAC,IAAyB,QAAK;AAA9B,eAAE,YAzGL,IAyGG,IAAgB,kBAAhB,IAAgB,CAAd;AACH,6BAAiB,6BAAhB;AAAA,IACC;AAAA,IACA,WAAW,GAAG,iCAAiC,SAAS;AAAA,KACpD,MACN;AAAA,CACD;AACD,kBAAkB,cAA8B,4BAAY","sourcesContent":["\"use client\";\n\nimport * as React from \"react\";\nimport * as DialogPrimitive from \"@radix-ui/react-dialog\";\nimport { X } from \"lucide-react\";\n\nimport { cn } from \"../../lib/utils\";\n\nconst Dialog = DialogPrimitive.Root;\n\nconst DialogTrigger = DialogPrimitive.Trigger;\n\nconst DialogPortal = ({\n className,\n ...props\n}: DialogPrimitive.DialogPortalProps) => (\n <DialogPrimitive.Portal className={cn(className)} {...props} />\n);\nDialogPortal.displayName = DialogPrimitive.Portal.displayName;\n\nconst DialogOverlay = React.forwardRef<\n React.ElementRef<typeof DialogPrimitive.Overlay>,\n React.ComponentPropsWithoutRef<typeof DialogPrimitive.Overlay>\n>(({ className, ...props }, ref) => (\n <DialogPrimitive.Overlay\n ref={ref}\n className={cn(\n \"fixed inset-0 z-50 bg-background/80 backdrop-blur-sm data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0\",\n className\n )}\n {...props}\n />\n));\nDialogOverlay.displayName = DialogPrimitive.Overlay.displayName;\n\nconst DialogContent = React.forwardRef<\n React.ElementRef<typeof DialogPrimitive.Content>,\n React.ComponentPropsWithoutRef<typeof DialogPrimitive.Content>\n>(({ className, children, ...props }, ref) => (\n <DialogPortal>\n <DialogOverlay />\n <DialogPrimitive.Content\n ref={ref}\n className={cn(\n \"fixed left-[50%] top-[50%] z-50 grid w-full max-w-lg translate-x-[-50%] translate-y-[-50%] gap-4 border bg-background p-6 shadow-lg duration-200 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[state=closed]:slide-out-to-left-1/2 data-[state=closed]:slide-out-to-top-[48%] data-[state=open]:slide-in-from-left-1/2 data-[state=open]:slide-in-from-top-[48%] sm:rounded-lg md:w-full\",\n className\n )}\n {...props}\n >\n {children}\n <DialogPrimitive.Close className=\"absolute right-4 top-4 rounded-sm opacity-70 ring-offset-background transition-opacity hover:opacity-100 focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2 disabled:pointer-events-none data-[state=open]:bg-accent data-[state=open]:text-muted-foreground\">\n <X className=\"h-4 w-4\" />\n <span className=\"sr-only\">Close</span>\n </DialogPrimitive.Close>\n </DialogPrimitive.Content>\n </DialogPortal>\n));\nDialogContent.displayName = DialogPrimitive.Content.displayName;\n\nconst DialogHeader = ({\n className,\n ...props\n}: React.HTMLAttributes<HTMLDivElement>) => (\n <div\n className={cn(\n \"flex flex-col space-y-1.5 text-center sm:text-left\",\n className\n )}\n {...props}\n />\n);\nDialogHeader.displayName = \"DialogHeader\";\n\nconst DialogFooter = ({\n className,\n ...props\n}: React.HTMLAttributes<HTMLDivElement>) => (\n <div\n className={cn(\n \"flex flex-col-reverse sm:flex-row sm:justify-end sm:space-x-2\",\n className\n )}\n {...props}\n />\n);\nDialogFooter.displayName = \"DialogFooter\";\n\nconst DialogTitle = React.forwardRef<\n React.ElementRef<typeof DialogPrimitive.Title>,\n React.ComponentPropsWithoutRef<typeof DialogPrimitive.Title>\n>(({ className, ...props }, ref) => (\n <DialogPrimitive.Title\n ref={ref}\n className={cn(\n \"text-lg font-semibold leading-none tracking-tight\",\n className\n )}\n {...props}\n />\n));\nDialogTitle.displayName = DialogPrimitive.Title.displayName;\n\nconst DialogDescription = React.forwardRef<\n React.ElementRef<typeof DialogPrimitive.Description>,\n React.ComponentPropsWithoutRef<typeof DialogPrimitive.Description>\n>(({ className, ...props }, ref) => (\n <DialogPrimitive.Description\n ref={ref}\n className={cn(\"text-sm text-muted-foreground\", className)}\n {...props}\n />\n));\nDialogDescription.displayName = DialogPrimitive.Description.displayName;\n\nexport {\n Dialog,\n DialogTrigger,\n DialogContent,\n DialogHeader,\n DialogFooter,\n DialogTitle,\n DialogDescription,\n};\n"]}
|
package/dist/chunk-OD7ZMOVE.mjs
DELETED
|
@@ -1,45 +0,0 @@
|
|
|
1
|
-
import { editorToText } from './chunk-YTOPHPSG.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-OD7ZMOVE.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;AAKA,IAAM,kCAAkC,CACtC,MACA,SACG;AAEH,QAAM,qBAAqB,CAAC,iBAAiB,KAAK,WAAW,KAAK,SAAS;AAG3E,QAAM,aAAa,KAAK,SAAS,KAAK;AAEtC,SAAO,sBAAsB;AAC/B;AACA,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;AACA,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}\ntype RelevantEditorState = {\n selection: BaseSelection;\n text: string;\n};\nconst cursorChangedWithoutTextChanged = (\n prev: RelevantEditorState,\n next: RelevantEditorState\n) => {\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};\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};\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-OELUUJZY.mjs
DELETED
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
import { __objRest, __spreadProps, __spreadValues } from './chunk-MRXNTQOX.mjs';
|
|
2
|
-
import { jsx } from 'react/jsx-runtime';
|
|
3
|
-
|
|
4
|
-
function makeRenderPlaceholderFunction(placeholderStyle) {
|
|
5
|
-
return (props) => {
|
|
6
|
-
const _a = props.attributes, { style } = _a, restAttributes = __objRest(_a, ["style"]);
|
|
7
|
-
return /* @__PURE__ */ jsx("div", __spreadProps(__spreadValues({}, restAttributes), {
|
|
8
|
-
style: __spreadValues(__spreadValues({}, style), placeholderStyle),
|
|
9
|
-
children: props.children
|
|
10
|
-
}));
|
|
11
|
-
};
|
|
12
|
-
}
|
|
13
|
-
|
|
14
|
-
export { makeRenderPlaceholderFunction };
|
|
15
|
-
//# sourceMappingURL=out.js.map
|
|
16
|
-
//# sourceMappingURL=chunk-OELUUJZY.mjs.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/components/base-copilot-textarea/render-placeholder.tsx"],"names":[],"mappings":";;;;;;;AAaM;AAPC,SAAS,8BACd,kBAC2B;AAC3B,SAAO,CAAC,UAAkC;AACxC,UAAqC,WAAM,YAAnC,QAVZ,IAUyC,IAAnB,2BAAmB,IAAnB,CAAV;AAER,WACE,oBAAC,wCACK,iBADL;AAAA,MAEC,OAAO,kCACF,QACA;AAAA,MAGJ,gBAAM;AAAA,MACT;AAAA,EAEJ;AACF","sourcesContent":["import { RenderElementProps, RenderPlaceholderProps } from \"slate-react\";\n\nexport type RenderPlaceholderFunction = (\n props: RenderPlaceholderProps\n) => JSX.Element;\n\nexport function makeRenderPlaceholderFunction(\n placeholderStyle?: React.CSSProperties\n): RenderPlaceholderFunction {\n return (props: RenderPlaceholderProps) => {\n const { style, ...restAttributes } = props.attributes;\n\n return (\n <div\n {...restAttributes}\n style={{\n ...style,\n ...placeholderStyle,\n }}\n >\n {props.children}\n </div>\n );\n };\n}\n"]}
|
package/dist/chunk-OM5WQQOU.mjs
DELETED
|
@@ -1,47 +0,0 @@
|
|
|
1
|
-
import { PreSuggestion } from './chunk-CDB7HFCY.mjs';
|
|
2
|
-
import { SuggestionAppearing } from './chunk-ITZHK3YV.mjs';
|
|
3
|
-
import { __spreadProps, __spreadValues } from './chunk-MRXNTQOX.mjs';
|
|
4
|
-
import { useState, useCallback } from 'react';
|
|
5
|
-
import { jsx } from 'react/jsx-runtime';
|
|
6
|
-
|
|
7
|
-
var HoveringInsertionPromptBox = (props) => {
|
|
8
|
-
const [insertionPrompt, setInsertionPrompt] = useState("");
|
|
9
|
-
const [mode, setMode] = useState({
|
|
10
|
-
type: "pre-suggestion"
|
|
11
|
-
});
|
|
12
|
-
const handleGeneratedText = useCallback(
|
|
13
|
-
(generatingText) => {
|
|
14
|
-
setMode({
|
|
15
|
-
type: "suggestion-appearing",
|
|
16
|
-
initialSuggestion: {
|
|
17
|
-
editorState: props.editorState,
|
|
18
|
-
adjustmentPrompt: insertionPrompt,
|
|
19
|
-
generatingSuggestion: generatingText
|
|
20
|
-
}
|
|
21
|
-
});
|
|
22
|
-
},
|
|
23
|
-
[setMode, insertionPrompt]
|
|
24
|
-
);
|
|
25
|
-
const goBack = () => {
|
|
26
|
-
setMode({ type: "pre-suggestion" });
|
|
27
|
-
};
|
|
28
|
-
return /* @__PURE__ */ jsx("div", {
|
|
29
|
-
className: "flex flex-col justify-center items-center space-y-4 rounded-md border shadow-lg p-4 border-gray- bg-white",
|
|
30
|
-
style: { width: "30rem" },
|
|
31
|
-
children: mode.type === "pre-suggestion" ? /* @__PURE__ */ jsx(PreSuggestion, __spreadProps(__spreadValues({}, props), {
|
|
32
|
-
insertionOrEditingFunction: props.apiConfig.insertionOrEditingFunction,
|
|
33
|
-
insertionOrEditingPrompt: insertionPrompt,
|
|
34
|
-
setInsertionOrEditingPrompt: setInsertionPrompt,
|
|
35
|
-
onGeneratedText: handleGeneratedText
|
|
36
|
-
})) : /* @__PURE__ */ jsx(SuggestionAppearing, __spreadProps(__spreadValues({}, props), {
|
|
37
|
-
state: mode,
|
|
38
|
-
goBack,
|
|
39
|
-
insertionOrEditingFunction: props.apiConfig.insertionOrEditingFunction,
|
|
40
|
-
onGeneratedText: handleGeneratedText
|
|
41
|
-
}))
|
|
42
|
-
});
|
|
43
|
-
};
|
|
44
|
-
|
|
45
|
-
export { HoveringInsertionPromptBox };
|
|
46
|
-
//# sourceMappingURL=out.js.map
|
|
47
|
-
//# sourceMappingURL=chunk-OM5WQQOU.mjs.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/components/hovering-toolbar/text-insertion-prompt-box/hovering-insertion-prompt-box.tsx"],"names":[],"mappings":";;;;;;;;;;;;AAAA,SAAgB,aAAa,gBAAgB;AAkDrC;AA9BD,IAAM,6BAA8C,CAAC,UAAU;AACpE,QAAM,CAAC,iBAAiB,kBAAkB,IAAI,SAAiB,EAAE;AACjE,QAAM,CAAC,MAAM,OAAO,IAAI,SAA+B;AAAA,IACrD,MAAM;AAAA,EACR,CAAC;AAED,QAAM,sBAAsB;AAAA,IAC1B,CAAC,mBAA2C;AAC1C,cAAQ;AAAA,QACN,MAAM;AAAA,QACN,mBAAmB;AAAA,UACjB,aAAa,MAAM;AAAA,UACnB,kBAAkB;AAAA,UAClB,sBAAsB;AAAA,QACxB;AAAA,MACF,CAAC;AAAA,IACH;AAAA,IACA,CAAC,SAAS,eAAe;AAAA,EAC3B;AAEA,QAAM,SAAS,MAAM;AACnB,YAAQ,EAAE,MAAM,iBAAiB,CAAC;AAAA,EACpC;AAEA,SACE,oBAAC;AAAA,IACC,WAAU;AAAA,IACV,OAAO,EAAE,OAAO,QAAQ;AAAA,IAEvB,eAAK,SAAS,mBACb,oBAAC,gDACK,QADL;AAAA,MAEC,4BACE,MAAM,UAAU;AAAA,MAElB,0BAA0B;AAAA,MAC1B,6BAA6B;AAAA,MAC7B,iBAAiB;AAAA,MACnB,IAEA,oBAAC,sDACK,QADL;AAAA,MAEC,OAAO;AAAA,MACP;AAAA,MACA,4BACE,MAAM,UAAU;AAAA,MAElB,iBAAiB;AAAA,MACnB;AAAA,GAEJ;AAEJ","sourcesContent":["import React, { useCallback, useState } from \"react\";\nimport {\n State_SuggestionAppearing,\n SuggestionAppearing,\n} from \"./mode-suggestion-appearing\";\nimport { PreSuggestion, State_PreSuggestion } from \"./mode-pre-suggestion\";\nimport {\n EditingEditorState,\n InsertionEditorApiConfig,\n} from \"../../../types/base/autosuggestions-bare-function\";\n\ntype InsertionPromptState = State_PreSuggestion | State_SuggestionAppearing;\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 const [insertionPrompt, setInsertionPrompt] = useState<string>(\"\");\n const [mode, setMode] = useState<InsertionPromptState>({\n type: \"pre-suggestion\",\n });\n\n const handleGeneratedText = useCallback(\n (generatingText: ReadableStream<string>) => {\n setMode({\n type: \"suggestion-appearing\",\n initialSuggestion: {\n editorState: props.editorState,\n adjustmentPrompt: insertionPrompt,\n generatingSuggestion: generatingText,\n },\n });\n },\n [setMode, insertionPrompt]\n );\n\n const goBack = () => {\n setMode({ type: \"pre-suggestion\" });\n };\n\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: \"30rem\" }}\n >\n {mode.type === \"pre-suggestion\" ? (\n <PreSuggestion\n {...props}\n insertionOrEditingFunction={\n props.apiConfig.insertionOrEditingFunction\n }\n insertionOrEditingPrompt={insertionPrompt}\n setInsertionOrEditingPrompt={setInsertionPrompt}\n onGeneratedText={handleGeneratedText}\n />\n ) : (\n <SuggestionAppearing\n {...props}\n state={mode}\n goBack={goBack}\n insertionOrEditingFunction={\n props.apiConfig.insertionOrEditingFunction\n }\n onGeneratedText={handleGeneratedText}\n />\n )}\n </div>\n );\n};\n"]}
|
package/dist/chunk-PF3XRNDB.mjs
DELETED
|
@@ -1,44 +0,0 @@
|
|
|
1
|
-
import { useMakeStandardAutosuggestionFunction } from './chunk-HAFHLU4N.mjs';
|
|
2
|
-
import { useMakeStandardInsertionOrEditingFunction } from './chunk-VBIJPE3H.mjs';
|
|
3
|
-
import { defaultAutosuggestionsConfig } from './chunk-QL2GYGG5.mjs';
|
|
4
|
-
import { BaseCopilotTextarea } from './chunk-7SMDOAG2.mjs';
|
|
5
|
-
import { __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 autosuggestionsConfig = merge(
|
|
13
|
-
defaultAutosuggestionsConfig,
|
|
14
|
-
props.autosuggestionsConfig
|
|
15
|
-
);
|
|
16
|
-
const autosuggestionsFunction = useMakeStandardAutosuggestionFunction(
|
|
17
|
-
autosuggestionsConfig.textareaPurpose,
|
|
18
|
-
autosuggestionsConfig.externalContextCategories,
|
|
19
|
-
autosuggestionsConfig.chatApiConfigs.suggestionsApiConfig
|
|
20
|
-
);
|
|
21
|
-
const insertionOrEditingFunction = useMakeStandardInsertionOrEditingFunction(
|
|
22
|
-
autosuggestionsConfig.textareaPurpose,
|
|
23
|
-
autosuggestionsConfig.externalContextCategories,
|
|
24
|
-
autosuggestionsConfig.chatApiConfigs.insertionApiConfig,
|
|
25
|
-
autosuggestionsConfig.chatApiConfigs.editingApiConfig
|
|
26
|
-
);
|
|
27
|
-
return /* @__PURE__ */ jsx(Fragment, {
|
|
28
|
-
children: /* @__PURE__ */ jsx(BaseCopilotTextarea, __spreadProps(__spreadValues({
|
|
29
|
-
ref
|
|
30
|
-
}, props), {
|
|
31
|
-
baseAutosuggestionsConfig: __spreadProps(__spreadValues({}, autosuggestionsConfig), {
|
|
32
|
-
apiConfig: {
|
|
33
|
-
insertionOrEditingFunction,
|
|
34
|
-
autosuggestionsFunction
|
|
35
|
-
}
|
|
36
|
-
})
|
|
37
|
-
}))
|
|
38
|
-
});
|
|
39
|
-
}
|
|
40
|
-
);
|
|
41
|
-
|
|
42
|
-
export { CopilotTextarea };
|
|
43
|
-
//# sourceMappingURL=out.js.map
|
|
44
|
-
//# sourceMappingURL=chunk-PF3XRNDB.mjs.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/components/copilot-textarea/copilot-textarea.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;AACA,OAAO,WAAW;AAUlB,OAAO,WAAW;AAmCZ,mBACE,WADF;AAzBC,IAAM,kBAAkB,MAAM;AAAA,EACnC,CACE,OACA,QACgB;AAChB,UAAM,wBAA+C;AAAA,MACnD;AAAA,MACA,MAAM;AAAA,IACR;AAEA,UAAM,0BAA0B;AAAA,MAC9B,sBAAsB;AAAA,MACtB,sBAAsB;AAAA,MACtB,sBAAsB,eAAe;AAAA,IACvC;AAEA,UAAM,6BACJ;AAAA,MACE,sBAAsB;AAAA,MACtB,sBAAsB;AAAA,MACtB,sBAAsB,eAAe;AAAA,MACrC,sBAAsB,eAAe;AAAA,IACvC;AAEF,WACE;AAAA,MACE,8BAAC;AAAA,QACC;AAAA,SACI,QAFL;AAAA,QAGC,2BAA2B,iCACtB,wBADsB;AAAA,UAEzB,WAAW;AAAA,YACT;AAAA,YACA;AAAA,UACF;AAAA,QACF;AAAA,QACF;AAAA,KACF;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\nexport const CopilotTextarea = React.forwardRef(\n (\n props: CopilotTextareaProps,\n ref: React.Ref<HTMLCopilotTextAreaElement>\n ): JSX.Element => {\n const autosuggestionsConfig: AutosuggestionsConfig = merge(\n defaultAutosuggestionsConfig,\n props.autosuggestionsConfig\n );\n\n const autosuggestionsFunction = useMakeStandardAutosuggestionFunction(\n autosuggestionsConfig.textareaPurpose,\n autosuggestionsConfig.externalContextCategories,\n autosuggestionsConfig.chatApiConfigs.suggestionsApiConfig\n );\n\n const insertionOrEditingFunction =\n useMakeStandardInsertionOrEditingFunction(\n autosuggestionsConfig.textareaPurpose,\n autosuggestionsConfig.externalContextCategories,\n autosuggestionsConfig.chatApiConfigs.insertionApiConfig,\n autosuggestionsConfig.chatApiConfigs.editingApiConfig\n );\n\n return (\n <>\n <BaseCopilotTextarea\n ref={ref}\n {...props}\n baseAutosuggestionsConfig={{\n ...autosuggestionsConfig,\n apiConfig: {\n insertionOrEditingFunction: insertionOrEditingFunction,\n autosuggestionsFunction: autosuggestionsFunction,\n },\n }}\n />\n </>\n );\n }\n);\n"]}
|
package/dist/chunk-QL2GYGG5.mjs
DELETED
|
@@ -1,19 +0,0 @@
|
|
|
1
|
-
import { defaultEditingApiConfig } from './chunk-55EGOC5T.mjs';
|
|
2
|
-
import { defaultInsertionsApiConfig } from './chunk-XDT7BF3V.mjs';
|
|
3
|
-
import { defaultSuggestionsApiConfig } from './chunk-A2RRLD23.mjs';
|
|
4
|
-
import { defaultBaseAutosuggestionsConfig } from './chunk-D7SEV5PR.mjs';
|
|
5
|
-
import { __spreadProps, __spreadValues } from './chunk-MRXNTQOX.mjs';
|
|
6
|
-
|
|
7
|
-
// src/types/autosuggestions-config/autosuggestions-config.tsx
|
|
8
|
-
var defaultAutosuggestionsConfig = __spreadProps(__spreadValues({}, defaultBaseAutosuggestionsConfig), {
|
|
9
|
-
externalContextCategories: void 0,
|
|
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-QL2GYGG5.mjs.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/types/autosuggestions-config/autosuggestions-config.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;AA+BO,IAAM,+BAGT,iCACC,mCADD;AAAA,EAEF,2BAA2B;AAAA,EAC3B,gBAAgB;AAAA,IACd,sBAAsB;AAAA,IACtB,oBAAoB;AAAA,IACpB,kBAAkB;AAAA,EACpB;AACF","sourcesContent":["import {\n BaseAutosuggestionsConfig,\n defaultBaseAutosuggestionsConfig,\n} from \"../base\";\nimport {\n SuggestionsApiConfig,\n defaultSuggestionsApiConfig,\n} from \"./suggestions-api-config\";\nimport {\n InsertionsApiConfig,\n defaultInsertionsApiConfig,\n} from \"./insertions-api-config\";\nimport { ChatlikeApiEndpoint } from \".\";\nimport {\n EditingApiConfig,\n defaultEditingApiConfig,\n} from \"./editing-api-config\";\n\n// Like the base autosuggestions config, with 2 additional fields:\n// 1. externalContextCategories: string[] | undefined;\n// 2. instead of apiConfigs, we have chatApiConfigs: a higher-level abstraction that uses a ChatGPT-like API endpoint.\nexport interface AutosuggestionsConfig\n extends Omit<BaseAutosuggestionsConfig, \"apiConfig\"> {\n externalContextCategories: string[] | undefined;\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 externalContextCategories: undefined,\n chatApiConfigs: {\n suggestionsApiConfig: defaultSuggestionsApiConfig,\n insertionApiConfig: defaultInsertionsApiConfig,\n editingApiConfig: defaultEditingApiConfig,\n },\n};\n"]}
|