@copilotkit/react-textarea 0.37.0-mme-fix-textarea-css.1 → 0.37.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (35) hide show
  1. package/.turbo/turbo-build.log +184 -184
  2. package/CHANGELOG.md +16 -0
  3. package/dist/{chunk-DMLXXOXD.mjs → chunk-O4LDWYJB.mjs} +2 -2
  4. package/dist/chunk-O4LDWYJB.mjs.map +1 -0
  5. package/dist/{chunk-RH5RLK5Q.mjs → chunk-VAJHETSN.mjs} +2 -2
  6. package/dist/{chunk-6MXMCWQT.mjs → chunk-ZRKQLLC7.mjs} +2 -2
  7. package/dist/components/base-copilot-textarea/base-copilot-textarea.css +2 -2
  8. package/dist/components/base-copilot-textarea/base-copilot-textarea.css.map +1 -1
  9. package/dist/components/base-copilot-textarea/base-copilot-textarea.js +1 -1
  10. package/dist/components/base-copilot-textarea/base-copilot-textarea.js.map +1 -1
  11. package/dist/components/base-copilot-textarea/base-copilot-textarea.mjs +2 -2
  12. package/dist/components/copilot-textarea/copilot-textarea.css +2 -2
  13. package/dist/components/copilot-textarea/copilot-textarea.css.map +1 -1
  14. package/dist/components/copilot-textarea/copilot-textarea.js +1 -1
  15. package/dist/components/copilot-textarea/copilot-textarea.js.map +1 -1
  16. package/dist/components/copilot-textarea/copilot-textarea.mjs +3 -3
  17. package/dist/components/hovering-toolbar/hovering-toolbar.js +1 -1
  18. package/dist/components/hovering-toolbar/hovering-toolbar.js.map +1 -1
  19. package/dist/components/hovering-toolbar/hovering-toolbar.mjs +1 -1
  20. package/dist/components/index.css +2 -2
  21. package/dist/components/index.css.map +1 -1
  22. package/dist/components/index.js +1 -1
  23. package/dist/components/index.js.map +1 -1
  24. package/dist/components/index.mjs +3 -3
  25. package/dist/index.css +179 -179
  26. package/dist/index.css.map +1 -1
  27. package/dist/index.js +1 -1
  28. package/dist/index.js.map +1 -1
  29. package/dist/index.mjs +3 -3
  30. package/package.json +7 -6
  31. package/postcss.config.js +3 -0
  32. package/src/components/hovering-toolbar/hovering-toolbar.tsx +3 -2
  33. package/dist/chunk-DMLXXOXD.mjs.map +0 -1
  34. /package/dist/{chunk-RH5RLK5Q.mjs.map → chunk-VAJHETSN.mjs.map} +0 -0
  35. /package/dist/{chunk-6MXMCWQT.mjs.map → chunk-ZRKQLLC7.mjs.map} +0 -0
package/dist/index.mjs CHANGED
@@ -4,7 +4,7 @@ import "./chunk-WADHCMPK.mjs";
4
4
  import "./chunk-MMVDU6DF.mjs";
5
5
  import {
6
6
  CopilotTextarea
7
- } from "./chunk-RH5RLK5Q.mjs";
7
+ } from "./chunk-VAJHETSN.mjs";
8
8
  import "./chunk-HE4GMS2P.mjs";
9
9
  import "./chunk-SJ2TM5GA.mjs";
10
10
  import "./chunk-RUV6NBIF.mjs";
@@ -16,7 +16,7 @@ import "./chunk-RKQ6RTZM.mjs";
16
16
  import "./chunk-KDVMG3XF.mjs";
17
17
  import {
18
18
  BaseCopilotTextarea
19
- } from "./chunk-6MXMCWQT.mjs";
19
+ } from "./chunk-ZRKQLLC7.mjs";
20
20
  import "./chunk-2C7O2EVM.mjs";
21
21
  import "./chunk-GQN2HYFJ.mjs";
22
22
  import "./chunk-QKS2IOUH.mjs";
@@ -27,7 +27,7 @@ import "./chunk-FMQG2ZM3.mjs";
27
27
  import "./chunk-5UNJXFUO.mjs";
28
28
  import "./chunk-LQ2OWQU7.mjs";
29
29
  import "./chunk-7LSRNPNI.mjs";
30
- import "./chunk-DMLXXOXD.mjs";
30
+ import "./chunk-O4LDWYJB.mjs";
31
31
  import "./chunk-L7VVZH4Q.mjs";
32
32
  import "./chunk-COQISBP2.mjs";
33
33
  import "./chunk-OGLVRSCO.mjs";
package/package.json CHANGED
@@ -4,7 +4,7 @@
4
4
  "publishConfig": {
5
5
  "access": "public"
6
6
  },
7
- "version": "0.37.0-mme-fix-textarea-css.1",
7
+ "version": "0.37.0",
8
8
  "sideEffects": [
9
9
  "**/*.css"
10
10
  ],
@@ -32,14 +32,15 @@
32
32
  "eslint": "^8.56.0",
33
33
  "jest": "^29.6.4",
34
34
  "postcss": "^8.4.20",
35
+ "postcss-prefix-selector": "^1.16.1",
35
36
  "react": "^18.2.0",
36
37
  "tailwindcss": "^3.3.0",
37
38
  "ts-jest": "^29.1.1",
38
39
  "tsup": "^6.7.0",
39
40
  "typescript": "^5.2.3",
40
- "eslint-config-custom": "0.12.0-mme-fix-textarea-css.1",
41
- "tailwind-config": "0.11.0-mme-fix-textarea-css.1",
42
- "tsconfig": "0.16.0-mme-fix-textarea-css.1"
41
+ "eslint-config-custom": "0.12.0",
42
+ "tailwind-config": "0.11.0",
43
+ "tsconfig": "0.16.0"
43
44
  },
44
45
  "dependencies": {
45
46
  "@emotion/css": "^11.11.2",
@@ -62,8 +63,8 @@
62
63
  "slate-history": "^0.93.0",
63
64
  "slate-react": "^0.98.1",
64
65
  "tailwind-merge": "^1.13.2",
65
- "@copilotkit/react-core": "0.37.0-mme-fix-textarea-css.1",
66
- "@copilotkit/shared": "0.37.0-mme-fix-textarea-css.1"
66
+ "@copilotkit/react-core": "0.37.0",
67
+ "@copilotkit/shared": "0.37.0"
67
68
  },
68
69
  "scripts": {
69
70
  "build": "tsup --clean",
package/postcss.config.js CHANGED
@@ -5,5 +5,8 @@ module.exports = {
5
5
  plugins: {
6
6
  tailwindcss: {},
7
7
  autoprefixer: {},
8
+ "postcss-prefix-selector": {
9
+ prefix: ".copilot-kit-textarea-css-scope",
10
+ },
8
11
  },
9
12
  };
@@ -107,8 +107,9 @@ export const HoveringToolbar = (props: HoveringToolbarProps) => {
107
107
  <Menu
108
108
  ref={ref}
109
109
  className={
110
- props.hoverMenuClassname ||
111
- "p-2 absolute z-10 top-[-10000px] left-[-10000px] mt-[-6px] opacity-0 transition-opacity duration-700"
110
+ "copilot-kit-textarea-css-scope " +
111
+ (props.hoverMenuClassname ||
112
+ "p-2 absolute z-10 top-[-10000px] left-[-10000px] mt-[-6px] opacity-0 transition-opacity duration-700")
112
113
  }
113
114
  >
114
115
  {isDisplayed && selection && (
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/components/hovering-toolbar/hovering-toolbar.tsx"],"sourcesContent":["import { useEffect, useRef, useState } from \"react\";\nimport { Editor, Location, Transforms } from \"slate\";\nimport { useSlate, useSlateSelection } from \"slate-react\";\nimport { HoveringInsertionPromptBox } from \"./text-insertion-prompt-box\";\nimport { Menu, Portal } from \"./hovering-toolbar-components\";\nimport { useHoveringEditorContext } from \"./hovering-editor-provider\";\nimport {\n getFullEditorTextWithNewlines,\n getTextAroundSelection,\n} from \"../../lib/get-text-around-cursor\";\nimport {\n EditingEditorState,\n InsertionEditorApiConfig,\n} from \"../../types/base/autosuggestions-bare-function\";\n\nexport interface HoveringToolbarProps {\n apiConfig: InsertionEditorApiConfig;\n contextCategories: string[];\n hoverMenuClassname: string | undefined;\n}\n\nexport const HoveringToolbar = (props: HoveringToolbarProps) => {\n const ref = useRef<HTMLDivElement>(null);\n const editor = useSlate();\n const selection = useSlateSelection();\n const { isDisplayed, setIsDisplayed } = useHoveringEditorContext();\n\n // only render on client\n const [isClient, setIsClient] = useState(false);\n useEffect(() => {\n setIsClient(true);\n }, []);\n\n useEffect(() => {\n const el = ref.current;\n const { selection } = editor;\n\n if (!el) {\n return;\n }\n\n if (!selection) {\n el.removeAttribute(\"style\");\n return;\n }\n\n const domSelection = window.getSelection();\n if (!domSelection || domSelection.rangeCount === 0) {\n return;\n }\n\n const domRange = domSelection.getRangeAt(0);\n const rect = domRange.getBoundingClientRect();\n\n // We use window = (0,0,0,0) as a signal that the selection is not in the original copilot-textarea,\n // but inside the hovering window.\n //\n // in such case, we simply do nothing.\n if (rect.top === 0 && rect.left === 0 && rect.width === 0 && rect.height === 0) {\n return;\n }\n\n const minGapFromEdge = 60;\n const verticalOffsetFromCorner = 35;\n const horizontalOffsetFromCorner = 15;\n let top = rect.top + window.scrollY - el.offsetHeight + verticalOffsetFromCorner;\n // make sure top is in the viewport and not too close to the edge\n if (top < minGapFromEdge) {\n top = rect.bottom + window.scrollY + minGapFromEdge;\n } else if (top + el.offsetHeight > window.innerHeight - minGapFromEdge) {\n top = rect.top + window.scrollY - el.offsetHeight - minGapFromEdge;\n }\n\n let left =\n rect.left + window.scrollX - el.offsetWidth / 2 + rect.width / 2 + horizontalOffsetFromCorner;\n // make sure left is in the viewport and not too close to the edge\n if (left < minGapFromEdge) {\n left = minGapFromEdge;\n } else if (left + el.offsetWidth > window.innerWidth - minGapFromEdge) {\n left = window.innerWidth - el.offsetWidth - minGapFromEdge;\n }\n\n el.style.opacity = \"1\";\n el.style.top = `${top}px`;\n el.style.left = `${left}px`;\n });\n\n useEffect(() => {\n const handleClickOutside = (event: MouseEvent) => {\n if (ref.current && !ref.current.contains(event.target as Node)) {\n setIsDisplayed(false);\n }\n };\n\n document.addEventListener(\"mousedown\", handleClickOutside);\n return () => {\n document.removeEventListener(\"mousedown\", handleClickOutside);\n };\n }, [ref, setIsDisplayed]);\n\n if (!isClient) {\n return null;\n }\n\n return (\n <Portal>\n <Menu\n ref={ref}\n className={\n props.hoverMenuClassname ||\n \"p-2 absolute z-10 top-[-10000px] left-[-10000px] mt-[-6px] opacity-0 transition-opacity duration-700\"\n }\n >\n {isDisplayed && selection && (\n <HoveringInsertionPromptBox\n editorState={editorState(editor, selection)}\n apiConfig={props.apiConfig}\n closeWindow={() => {\n setIsDisplayed(false);\n }}\n performInsertion={(insertedText) => {\n console.log(\"inserted text\", insertedText);\n // replace the selection with the inserted text\n Transforms.delete(editor, { at: selection });\n Transforms.insertText(editor, insertedText, {\n at: selection,\n });\n setIsDisplayed(false);\n }}\n contextCategories={props.contextCategories}\n />\n )}\n </Menu>\n </Portal>\n );\n};\n\nfunction editorState(editor: Editor, selection: Location): EditingEditorState {\n const textAroundCursor = getTextAroundSelection(editor);\n if (textAroundCursor) {\n return textAroundCursor;\n }\n\n return {\n textBeforeCursor: getFullEditorTextWithNewlines(editor),\n textAfterCursor: \"\",\n selectedText: \"\",\n };\n}\n"],"mappings":"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","names":["selection"]}