@copilotkit/react-textarea 0.0.0-feat-dynamic-copilotcloud-qa-20250117190454

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 (451) hide show
  1. package/CHANGELOG.md +2456 -0
  2. package/README.md +46 -0
  3. package/dist/chunk-23Q6A46J.mjs +103 -0
  4. package/dist/chunk-23Q6A46J.mjs.map +1 -0
  5. package/dist/chunk-2C7O2EVM.mjs +27 -0
  6. package/dist/chunk-2C7O2EVM.mjs.map +1 -0
  7. package/dist/chunk-2QDCE7PD.mjs +32 -0
  8. package/dist/chunk-2QDCE7PD.mjs.map +1 -0
  9. package/dist/chunk-2VMZ5ZWT.mjs +229 -0
  10. package/dist/chunk-2VMZ5ZWT.mjs.map +1 -0
  11. package/dist/chunk-3PQ7GSFE.mjs +17 -0
  12. package/dist/chunk-3PQ7GSFE.mjs.map +1 -0
  13. package/dist/chunk-4CVSOOJY.mjs +30 -0
  14. package/dist/chunk-4CVSOOJY.mjs.map +1 -0
  15. package/dist/chunk-4NHVQZ67.mjs +108 -0
  16. package/dist/chunk-4NHVQZ67.mjs.map +1 -0
  17. package/dist/chunk-4PDYALMP.mjs +52 -0
  18. package/dist/chunk-4PDYALMP.mjs.map +1 -0
  19. package/dist/chunk-4XXU5BSA.mjs +125 -0
  20. package/dist/chunk-4XXU5BSA.mjs.map +1 -0
  21. package/dist/chunk-5UNJXFUO.mjs +29 -0
  22. package/dist/chunk-5UNJXFUO.mjs.map +1 -0
  23. package/dist/chunk-7L6GIHDM.mjs +39 -0
  24. package/dist/chunk-7L6GIHDM.mjs.map +1 -0
  25. package/dist/chunk-7LSRNPNI.mjs +59 -0
  26. package/dist/chunk-7LSRNPNI.mjs.map +1 -0
  27. package/dist/chunk-ABYCGF77.mjs +31 -0
  28. package/dist/chunk-ABYCGF77.mjs.map +1 -0
  29. package/dist/chunk-AJ5OMEXM.mjs +13 -0
  30. package/dist/chunk-AJ5OMEXM.mjs.map +1 -0
  31. package/dist/chunk-BNBGJBBM.mjs +60 -0
  32. package/dist/chunk-BNBGJBBM.mjs.map +1 -0
  33. package/dist/chunk-D47EKHIF.mjs +26 -0
  34. package/dist/chunk-D47EKHIF.mjs.map +1 -0
  35. package/dist/chunk-DE5K76I2.mjs +1 -0
  36. package/dist/chunk-DE5K76I2.mjs.map +1 -0
  37. package/dist/chunk-DFTV4TST.mjs +36 -0
  38. package/dist/chunk-DFTV4TST.mjs.map +1 -0
  39. package/dist/chunk-DRV2FOHZ.mjs +70 -0
  40. package/dist/chunk-DRV2FOHZ.mjs.map +1 -0
  41. package/dist/chunk-ECR45NSD.mjs +104 -0
  42. package/dist/chunk-ECR45NSD.mjs.map +1 -0
  43. package/dist/chunk-EJGGLWWR.mjs +82 -0
  44. package/dist/chunk-EJGGLWWR.mjs.map +1 -0
  45. package/dist/chunk-F6GMWOLE.mjs +93 -0
  46. package/dist/chunk-F6GMWOLE.mjs.map +1 -0
  47. package/dist/chunk-GQN2HYFJ.mjs +22 -0
  48. package/dist/chunk-GQN2HYFJ.mjs.map +1 -0
  49. package/dist/chunk-H4VKQGVU.mjs +1 -0
  50. package/dist/chunk-H4VKQGVU.mjs.map +1 -0
  51. package/dist/chunk-HDBI2WN5.mjs +113 -0
  52. package/dist/chunk-HDBI2WN5.mjs.map +1 -0
  53. package/dist/chunk-I72DKFHD.mjs +114 -0
  54. package/dist/chunk-I72DKFHD.mjs.map +1 -0
  55. package/dist/chunk-IU3WTXLQ.mjs +1 -0
  56. package/dist/chunk-IU3WTXLQ.mjs.map +1 -0
  57. package/dist/chunk-KMVGEY7Q.mjs +51 -0
  58. package/dist/chunk-KMVGEY7Q.mjs.map +1 -0
  59. package/dist/chunk-KNQIEOFP.mjs +19 -0
  60. package/dist/chunk-KNQIEOFP.mjs.map +1 -0
  61. package/dist/chunk-L7VVZH4Q.mjs +1 -0
  62. package/dist/chunk-L7VVZH4Q.mjs.map +1 -0
  63. package/dist/chunk-LQ2OWQU7.mjs +49 -0
  64. package/dist/chunk-LQ2OWQU7.mjs.map +1 -0
  65. package/dist/chunk-LYB4B6MK.mjs +19 -0
  66. package/dist/chunk-LYB4B6MK.mjs.map +1 -0
  67. package/dist/chunk-MCNXIA4Q.mjs +75 -0
  68. package/dist/chunk-MCNXIA4Q.mjs.map +1 -0
  69. package/dist/chunk-MGYT7RNL.mjs +32 -0
  70. package/dist/chunk-MGYT7RNL.mjs.map +1 -0
  71. package/dist/chunk-MMVDU6DF.mjs +1 -0
  72. package/dist/chunk-MMVDU6DF.mjs.map +1 -0
  73. package/dist/chunk-MRXNTQOX.mjs +59 -0
  74. package/dist/chunk-MRXNTQOX.mjs.map +1 -0
  75. package/dist/chunk-PZYM7K4Y.mjs +265 -0
  76. package/dist/chunk-PZYM7K4Y.mjs.map +1 -0
  77. package/dist/chunk-QFXR6DOA.mjs +64 -0
  78. package/dist/chunk-QFXR6DOA.mjs.map +1 -0
  79. package/dist/chunk-QJNFNPWH.mjs +85 -0
  80. package/dist/chunk-QJNFNPWH.mjs.map +1 -0
  81. package/dist/chunk-RUV6NBIF.mjs +1 -0
  82. package/dist/chunk-RUV6NBIF.mjs.map +1 -0
  83. package/dist/chunk-RXV67GJN.mjs +168 -0
  84. package/dist/chunk-RXV67GJN.mjs.map +1 -0
  85. package/dist/chunk-T6MTDQZ7.mjs +45 -0
  86. package/dist/chunk-T6MTDQZ7.mjs.map +1 -0
  87. package/dist/chunk-VSVQZUPW.mjs +124 -0
  88. package/dist/chunk-VSVQZUPW.mjs.map +1 -0
  89. package/dist/chunk-WADHCMPK.mjs +1 -0
  90. package/dist/chunk-WADHCMPK.mjs.map +1 -0
  91. package/dist/chunk-WGWQRALG.mjs +83 -0
  92. package/dist/chunk-WGWQRALG.mjs.map +1 -0
  93. package/dist/chunk-WJHSY5T6.mjs +1 -0
  94. package/dist/chunk-WJHSY5T6.mjs.map +1 -0
  95. package/dist/chunk-XW3ICO4S.mjs +25 -0
  96. package/dist/chunk-XW3ICO4S.mjs.map +1 -0
  97. package/dist/chunk-YLFAIYRY.mjs +50 -0
  98. package/dist/chunk-YLFAIYRY.mjs.map +1 -0
  99. package/dist/components/base-copilot-textarea/base-copilot-textarea.css +9 -0
  100. package/dist/components/base-copilot-textarea/base-copilot-textarea.css.map +1 -0
  101. package/dist/components/base-copilot-textarea/base-copilot-textarea.d.ts +43 -0
  102. package/dist/components/base-copilot-textarea/base-copilot-textarea.js +1795 -0
  103. package/dist/components/base-copilot-textarea/base-copilot-textarea.js.map +1 -0
  104. package/dist/components/base-copilot-textarea/base-copilot-textarea.mjs +40 -0
  105. package/dist/components/base-copilot-textarea/base-copilot-textarea.mjs.map +1 -0
  106. package/dist/components/base-copilot-textarea/render-element.d.ts +6 -0
  107. package/dist/components/base-copilot-textarea/render-element.js +75 -0
  108. package/dist/components/base-copilot-textarea/render-element.js.map +1 -0
  109. package/dist/components/base-copilot-textarea/render-element.mjs +8 -0
  110. package/dist/components/base-copilot-textarea/render-element.mjs.map +1 -0
  111. package/dist/components/base-copilot-textarea/render-placeholder.d.ts +6 -0
  112. package/dist/components/base-copilot-textarea/render-placeholder.js +72 -0
  113. package/dist/components/base-copilot-textarea/render-placeholder.js.map +1 -0
  114. package/dist/components/base-copilot-textarea/render-placeholder.mjs +8 -0
  115. package/dist/components/base-copilot-textarea/render-placeholder.mjs.map +1 -0
  116. package/dist/components/base-copilot-textarea/track-cursor-moved-since-last-text-change.d.ts +8 -0
  117. package/dist/components/base-copilot-textarea/track-cursor-moved-since-last-text-change.js +112 -0
  118. package/dist/components/base-copilot-textarea/track-cursor-moved-since-last-text-change.js.map +1 -0
  119. package/dist/components/base-copilot-textarea/track-cursor-moved-since-last-text-change.mjs +9 -0
  120. package/dist/components/base-copilot-textarea/track-cursor-moved-since-last-text-change.mjs.map +1 -0
  121. package/dist/components/base-copilot-textarea/use-add-branding-css.d.ts +3 -0
  122. package/dist/components/base-copilot-textarea/use-add-branding-css.js +83 -0
  123. package/dist/components/base-copilot-textarea/use-add-branding-css.js.map +1 -0
  124. package/dist/components/base-copilot-textarea/use-add-branding-css.mjs +8 -0
  125. package/dist/components/base-copilot-textarea/use-add-branding-css.mjs.map +1 -0
  126. package/dist/components/copilot-textarea/copilot-textarea.css +9 -0
  127. package/dist/components/copilot-textarea/copilot-textarea.css.map +1 -0
  128. package/dist/components/copilot-textarea/copilot-textarea.d.ts +171 -0
  129. package/dist/components/copilot-textarea/copilot-textarea.js +2289 -0
  130. package/dist/components/copilot-textarea/copilot-textarea.js.map +1 -0
  131. package/dist/components/copilot-textarea/copilot-textarea.mjs +49 -0
  132. package/dist/components/copilot-textarea/copilot-textarea.mjs.map +1 -0
  133. package/dist/components/hovering-toolbar/hovering-editor-provider.d.ts +18 -0
  134. package/dist/components/hovering-toolbar/hovering-editor-provider.js +44 -0
  135. package/dist/components/hovering-toolbar/hovering-editor-provider.js.map +1 -0
  136. package/dist/components/hovering-toolbar/hovering-editor-provider.mjs +10 -0
  137. package/dist/components/hovering-toolbar/hovering-editor-provider.mjs.map +1 -0
  138. package/dist/components/hovering-toolbar/hovering-toolbar-components.d.ts +18 -0
  139. package/dist/components/hovering-toolbar/hovering-toolbar-components.js +174 -0
  140. package/dist/components/hovering-toolbar/hovering-toolbar-components.js.map +1 -0
  141. package/dist/components/hovering-toolbar/hovering-toolbar-components.mjs +16 -0
  142. package/dist/components/hovering-toolbar/hovering-toolbar-components.mjs.map +1 -0
  143. package/dist/components/hovering-toolbar/hovering-toolbar.d.ts +12 -0
  144. package/dist/components/hovering-toolbar/hovering-toolbar.js +912 -0
  145. package/dist/components/hovering-toolbar/hovering-toolbar.js.map +1 -0
  146. package/dist/components/hovering-toolbar/hovering-toolbar.mjs +23 -0
  147. package/dist/components/hovering-toolbar/hovering-toolbar.mjs.map +1 -0
  148. package/dist/components/hovering-toolbar/text-insertion-prompt-box/hovering-insertion-prompt-box-core.d.ts +16 -0
  149. package/dist/components/hovering-toolbar/text-insertion-prompt-box/hovering-insertion-prompt-box-core.js +606 -0
  150. package/dist/components/hovering-toolbar/text-insertion-prompt-box/hovering-insertion-prompt-box-core.js.map +1 -0
  151. package/dist/components/hovering-toolbar/text-insertion-prompt-box/hovering-insertion-prompt-box-core.mjs +18 -0
  152. package/dist/components/hovering-toolbar/text-insertion-prompt-box/hovering-insertion-prompt-box-core.mjs.map +1 -0
  153. package/dist/components/hovering-toolbar/text-insertion-prompt-box/hovering-insertion-prompt-box.d.ts +14 -0
  154. package/dist/components/hovering-toolbar/text-insertion-prompt-box/hovering-insertion-prompt-box.js +629 -0
  155. package/dist/components/hovering-toolbar/text-insertion-prompt-box/hovering-insertion-prompt-box.js.map +1 -0
  156. package/dist/components/hovering-toolbar/text-insertion-prompt-box/hovering-insertion-prompt-box.mjs +19 -0
  157. package/dist/components/hovering-toolbar/text-insertion-prompt-box/hovering-insertion-prompt-box.mjs.map +1 -0
  158. package/dist/components/hovering-toolbar/text-insertion-prompt-box/included-files-preview.d.ts +16 -0
  159. package/dist/components/hovering-toolbar/text-insertion-prompt-box/included-files-preview.js +133 -0
  160. package/dist/components/hovering-toolbar/text-insertion-prompt-box/included-files-preview.js.map +1 -0
  161. package/dist/components/hovering-toolbar/text-insertion-prompt-box/included-files-preview.mjs +12 -0
  162. package/dist/components/hovering-toolbar/text-insertion-prompt-box/included-files-preview.mjs.map +1 -0
  163. package/dist/components/hovering-toolbar/text-insertion-prompt-box/index.d.ts +4 -0
  164. package/dist/components/hovering-toolbar/text-insertion-prompt-box/index.js +629 -0
  165. package/dist/components/hovering-toolbar/text-insertion-prompt-box/index.js.map +1 -0
  166. package/dist/components/hovering-toolbar/text-insertion-prompt-box/index.mjs +20 -0
  167. package/dist/components/hovering-toolbar/text-insertion-prompt-box/index.mjs.map +1 -0
  168. package/dist/components/index.css +9 -0
  169. package/dist/components/index.css.map +1 -0
  170. package/dist/components/index.d.ts +15 -0
  171. package/dist/components/index.js +2293 -0
  172. package/dist/components/index.js.map +1 -0
  173. package/dist/components/index.mjs +53 -0
  174. package/dist/components/index.mjs.map +1 -0
  175. package/dist/components/manual-ui/chip-with-icon.d.ts +10 -0
  176. package/dist/components/manual-ui/chip-with-icon.js +38 -0
  177. package/dist/components/manual-ui/chip-with-icon.js.map +1 -0
  178. package/dist/components/manual-ui/chip-with-icon.mjs +15 -0
  179. package/dist/components/manual-ui/chip-with-icon.mjs.map +1 -0
  180. package/dist/components/source-search-box/source-search-box.d.ts +16 -0
  181. package/dist/components/source-search-box/source-search-box.js +240 -0
  182. package/dist/components/source-search-box/source-search-box.js.map +1 -0
  183. package/dist/components/source-search-box/source-search-box.mjs +13 -0
  184. package/dist/components/source-search-box/source-search-box.mjs.map +1 -0
  185. package/dist/components/ui/button.d.ts +14 -0
  186. package/dist/components/ui/button.js +114 -0
  187. package/dist/components/ui/button.js.map +1 -0
  188. package/dist/components/ui/button.mjs +11 -0
  189. package/dist/components/ui/button.mjs.map +1 -0
  190. package/dist/components/ui/command.d.ts +53 -0
  191. package/dist/components/ui/command.js +285 -0
  192. package/dist/components/ui/command.js.map +1 -0
  193. package/dist/components/ui/command.mjs +26 -0
  194. package/dist/components/ui/command.mjs.map +1 -0
  195. package/dist/components/ui/dialog.d.ts +19 -0
  196. package/dist/components/ui/dialog.js +183 -0
  197. package/dist/components/ui/dialog.js.map +1 -0
  198. package/dist/components/ui/dialog.mjs +21 -0
  199. package/dist/components/ui/dialog.mjs.map +1 -0
  200. package/dist/components/ui/label.d.ts +8 -0
  201. package/dist/components/ui/label.js +87 -0
  202. package/dist/components/ui/label.js.map +1 -0
  203. package/dist/components/ui/label.mjs +9 -0
  204. package/dist/components/ui/label.mjs.map +1 -0
  205. package/dist/context/index.d.ts +2 -0
  206. package/dist/context/index.js +19 -0
  207. package/dist/context/index.js.map +1 -0
  208. package/dist/context/index.mjs +2 -0
  209. package/dist/context/index.mjs.map +1 -0
  210. package/dist/hooks/base-copilot-textarea-implementation/use-autosuggestions.d.ts +15 -0
  211. package/dist/hooks/base-copilot-textarea-implementation/use-autosuggestions.js +180 -0
  212. package/dist/hooks/base-copilot-textarea-implementation/use-autosuggestions.js.map +1 -0
  213. package/dist/hooks/base-copilot-textarea-implementation/use-autosuggestions.mjs +11 -0
  214. package/dist/hooks/base-copilot-textarea-implementation/use-autosuggestions.mjs.map +1 -0
  215. package/dist/hooks/base-copilot-textarea-implementation/use-copilot-textarea-editor.d.ts +8 -0
  216. package/dist/hooks/base-copilot-textarea-implementation/use-copilot-textarea-editor.js +194 -0
  217. package/dist/hooks/base-copilot-textarea-implementation/use-copilot-textarea-editor.js.map +1 -0
  218. package/dist/hooks/base-copilot-textarea-implementation/use-copilot-textarea-editor.mjs +9 -0
  219. package/dist/hooks/base-copilot-textarea-implementation/use-copilot-textarea-editor.mjs.map +1 -0
  220. package/dist/hooks/base-copilot-textarea-implementation/use-populate-copilot-textarea-ref.d.ts +7 -0
  221. package/dist/hooks/base-copilot-textarea-implementation/use-populate-copilot-textarea-ref.js +180 -0
  222. package/dist/hooks/base-copilot-textarea-implementation/use-populate-copilot-textarea-ref.js.map +1 -0
  223. package/dist/hooks/base-copilot-textarea-implementation/use-populate-copilot-textarea-ref.mjs +10 -0
  224. package/dist/hooks/base-copilot-textarea-implementation/use-populate-copilot-textarea-ref.mjs.map +1 -0
  225. package/dist/hooks/index.d.ts +2 -0
  226. package/dist/hooks/index.js +19 -0
  227. package/dist/hooks/index.js.map +1 -0
  228. package/dist/hooks/index.mjs +2 -0
  229. package/dist/hooks/index.mjs.map +1 -0
  230. package/dist/hooks/make-autosuggestions-function/use-make-standard-autosuggestions-function.d.ts +22 -0
  231. package/dist/hooks/make-autosuggestions-function/use-make-standard-autosuggestions-function.js +153 -0
  232. package/dist/hooks/make-autosuggestions-function/use-make-standard-autosuggestions-function.js.map +1 -0
  233. package/dist/hooks/make-autosuggestions-function/use-make-standard-autosuggestions-function.mjs +9 -0
  234. package/dist/hooks/make-autosuggestions-function/use-make-standard-autosuggestions-function.mjs.map +1 -0
  235. package/dist/hooks/make-autosuggestions-function/use-make-standard-insertion-function.d.ts +23 -0
  236. package/dist/hooks/make-autosuggestions-function/use-make-standard-insertion-function.js +228 -0
  237. package/dist/hooks/make-autosuggestions-function/use-make-standard-insertion-function.js.map +1 -0
  238. package/dist/hooks/make-autosuggestions-function/use-make-standard-insertion-function.mjs +9 -0
  239. package/dist/hooks/make-autosuggestions-function/use-make-standard-insertion-function.mjs.map +1 -0
  240. package/dist/hooks/misc/use-autosize-textarea.d.ts +5 -0
  241. package/dist/hooks/misc/use-autosize-textarea.js +37 -0
  242. package/dist/hooks/misc/use-autosize-textarea.js.map +1 -0
  243. package/dist/hooks/misc/use-autosize-textarea.mjs +8 -0
  244. package/dist/hooks/misc/use-autosize-textarea.mjs.map +1 -0
  245. package/dist/index.css +644 -0
  246. package/dist/index.css.map +1 -0
  247. package/dist/index.d.ts +15 -0
  248. package/dist/index.js +2298 -0
  249. package/dist/index.js.map +1 -0
  250. package/dist/index.mjs +64 -0
  251. package/dist/index.mjs.map +1 -0
  252. package/dist/lib/debouncer.d.ts +11 -0
  253. package/dist/lib/debouncer.js +76 -0
  254. package/dist/lib/debouncer.js.map +1 -0
  255. package/dist/lib/debouncer.mjs +8 -0
  256. package/dist/lib/debouncer.mjs.map +1 -0
  257. package/dist/lib/editor-to-text.d.ts +7 -0
  258. package/dist/lib/editor-to-text.js +69 -0
  259. package/dist/lib/editor-to-text.js.map +1 -0
  260. package/dist/lib/editor-to-text.mjs +8 -0
  261. package/dist/lib/editor-to-text.mjs.map +1 -0
  262. package/dist/lib/get-text-around-cursor.d.ts +15 -0
  263. package/dist/lib/get-text-around-cursor.js +131 -0
  264. package/dist/lib/get-text-around-cursor.js.map +1 -0
  265. package/dist/lib/get-text-around-cursor.mjs +14 -0
  266. package/dist/lib/get-text-around-cursor.mjs.map +1 -0
  267. package/dist/lib/retry.d.ts +3 -0
  268. package/dist/lib/retry.js +43 -0
  269. package/dist/lib/retry.js.map +1 -0
  270. package/dist/lib/retry.mjs +8 -0
  271. package/dist/lib/retry.mjs.map +1 -0
  272. package/dist/lib/slatejs-edits/add-autocompletions.d.ts +8 -0
  273. package/dist/lib/slatejs-edits/add-autocompletions.js +51 -0
  274. package/dist/lib/slatejs-edits/add-autocompletions.js.map +1 -0
  275. package/dist/lib/slatejs-edits/add-autocompletions.mjs +8 -0
  276. package/dist/lib/slatejs-edits/add-autocompletions.mjs.map +1 -0
  277. package/dist/lib/slatejs-edits/clear-autocompletions.d.ts +8 -0
  278. package/dist/lib/slatejs-edits/clear-autocompletions.js +46 -0
  279. package/dist/lib/slatejs-edits/clear-autocompletions.js.map +1 -0
  280. package/dist/lib/slatejs-edits/clear-autocompletions.mjs +8 -0
  281. package/dist/lib/slatejs-edits/clear-autocompletions.mjs.map +1 -0
  282. package/dist/lib/slatejs-edits/replace-text.d.ts +5 -0
  283. package/dist/lib/slatejs-edits/replace-text.js +53 -0
  284. package/dist/lib/slatejs-edits/replace-text.js.map +1 -0
  285. package/dist/lib/slatejs-edits/replace-text.mjs +8 -0
  286. package/dist/lib/slatejs-edits/replace-text.mjs.map +1 -0
  287. package/dist/lib/slatejs-edits/with-partial-history.d.ts +8 -0
  288. package/dist/lib/slatejs-edits/with-partial-history.js +133 -0
  289. package/dist/lib/slatejs-edits/with-partial-history.js.map +1 -0
  290. package/dist/lib/slatejs-edits/with-partial-history.mjs +10 -0
  291. package/dist/lib/slatejs-edits/with-partial-history.mjs.map +1 -0
  292. package/dist/lib/stream-promise-flatten.d.ts +12 -0
  293. package/dist/lib/stream-promise-flatten.js +72 -0
  294. package/dist/lib/stream-promise-flatten.js.map +1 -0
  295. package/dist/lib/stream-promise-flatten.mjs +8 -0
  296. package/dist/lib/stream-promise-flatten.mjs.map +1 -0
  297. package/dist/lib/utils.d.ts +9 -0
  298. package/dist/lib/utils.js +94 -0
  299. package/dist/lib/utils.js.map +1 -0
  300. package/dist/lib/utils.mjs +16 -0
  301. package/dist/lib/utils.mjs.map +1 -0
  302. package/dist/lib/utils.test.d.ts +2 -0
  303. package/dist/lib/utils.test.js +9 -0
  304. package/dist/lib/utils.test.js.map +1 -0
  305. package/dist/lib/utils.test.mjs +7 -0
  306. package/dist/lib/utils.test.mjs.map +1 -0
  307. package/dist/types/autosuggestions-config/autosuggestions-config-user-specified.d.ts +23 -0
  308. package/dist/types/autosuggestions-config/autosuggestions-config-user-specified.js +19 -0
  309. package/dist/types/autosuggestions-config/autosuggestions-config-user-specified.js.map +1 -0
  310. package/dist/types/autosuggestions-config/autosuggestions-config-user-specified.mjs +1 -0
  311. package/dist/types/autosuggestions-config/autosuggestions-config-user-specified.mjs.map +1 -0
  312. package/dist/types/autosuggestions-config/autosuggestions-config.d.ts +20 -0
  313. package/dist/types/autosuggestions-config/autosuggestions-config.js +287 -0
  314. package/dist/types/autosuggestions-config/autosuggestions-config.js.map +1 -0
  315. package/dist/types/autosuggestions-config/autosuggestions-config.mjs +13 -0
  316. package/dist/types/autosuggestions-config/autosuggestions-config.mjs.map +1 -0
  317. package/dist/types/autosuggestions-config/editing-api-config.d.ts +15 -0
  318. package/dist/types/autosuggestions-config/editing-api-config.js +108 -0
  319. package/dist/types/autosuggestions-config/editing-api-config.js.map +1 -0
  320. package/dist/types/autosuggestions-config/editing-api-config.mjs +12 -0
  321. package/dist/types/autosuggestions-config/editing-api-config.mjs.map +1 -0
  322. package/dist/types/autosuggestions-config/index.d.ts +10 -0
  323. package/dist/types/autosuggestions-config/index.js +287 -0
  324. package/dist/types/autosuggestions-config/index.js.map +1 -0
  325. package/dist/types/autosuggestions-config/index.mjs +14 -0
  326. package/dist/types/autosuggestions-config/index.mjs.map +1 -0
  327. package/dist/types/autosuggestions-config/insertions-api-config.d.ts +15 -0
  328. package/dist/types/autosuggestions-config/insertions-api-config.js +101 -0
  329. package/dist/types/autosuggestions-config/insertions-api-config.js.map +1 -0
  330. package/dist/types/autosuggestions-config/insertions-api-config.mjs +12 -0
  331. package/dist/types/autosuggestions-config/insertions-api-config.mjs.map +1 -0
  332. package/dist/types/autosuggestions-config/subtypes/make-system-prompt.d.ts +3 -0
  333. package/dist/types/autosuggestions-config/subtypes/make-system-prompt.js +19 -0
  334. package/dist/types/autosuggestions-config/subtypes/make-system-prompt.js.map +1 -0
  335. package/dist/types/autosuggestions-config/subtypes/make-system-prompt.mjs +1 -0
  336. package/dist/types/autosuggestions-config/subtypes/make-system-prompt.mjs.map +1 -0
  337. package/dist/types/autosuggestions-config/suggestions-api-config.d.ts +15 -0
  338. package/dist/types/autosuggestions-config/suggestions-api-config.js +90 -0
  339. package/dist/types/autosuggestions-config/suggestions-api-config.js.map +1 -0
  340. package/dist/types/autosuggestions-config/suggestions-api-config.mjs +12 -0
  341. package/dist/types/autosuggestions-config/suggestions-api-config.mjs.map +1 -0
  342. package/dist/types/base/autosuggestion-state.d.ts +8 -0
  343. package/dist/types/base/autosuggestion-state.js +19 -0
  344. package/dist/types/base/autosuggestion-state.js.map +1 -0
  345. package/dist/types/base/autosuggestion-state.mjs +1 -0
  346. package/dist/types/base/autosuggestion-state.mjs.map +1 -0
  347. package/dist/types/base/autosuggestions-bare-function.d.ts +19 -0
  348. package/dist/types/base/autosuggestions-bare-function.js +19 -0
  349. package/dist/types/base/autosuggestions-bare-function.js.map +1 -0
  350. package/dist/types/base/autosuggestions-bare-function.mjs +1 -0
  351. package/dist/types/base/autosuggestions-bare-function.mjs.map +1 -0
  352. package/dist/types/base/base-autosuggestions-config.d.ts +83 -0
  353. package/dist/types/base/base-autosuggestions-config.js +54 -0
  354. package/dist/types/base/base-autosuggestions-config.js.map +1 -0
  355. package/dist/types/base/base-autosuggestions-config.mjs +8 -0
  356. package/dist/types/base/base-autosuggestions-config.mjs.map +1 -0
  357. package/dist/types/base/base-copilot-textarea-props.d.ts +5 -0
  358. package/dist/types/base/base-copilot-textarea-props.js +19 -0
  359. package/dist/types/base/base-copilot-textarea-props.js.map +1 -0
  360. package/dist/types/base/base-copilot-textarea-props.mjs +1 -0
  361. package/dist/types/base/base-copilot-textarea-props.mjs.map +1 -0
  362. package/dist/types/base/custom-editor.d.ts +29 -0
  363. package/dist/types/base/custom-editor.js +19 -0
  364. package/dist/types/base/custom-editor.js.map +1 -0
  365. package/dist/types/base/custom-editor.mjs +1 -0
  366. package/dist/types/base/custom-editor.mjs.map +1 -0
  367. package/dist/types/base/editor-autocomplete-state.d.ts +10 -0
  368. package/dist/types/base/editor-autocomplete-state.js +40 -0
  369. package/dist/types/base/editor-autocomplete-state.js.map +1 -0
  370. package/dist/types/base/editor-autocomplete-state.mjs +9 -0
  371. package/dist/types/base/editor-autocomplete-state.mjs.map +1 -0
  372. package/dist/types/base/index.d.ts +54 -0
  373. package/dist/types/base/index.js +56 -0
  374. package/dist/types/base/index.js.map +1 -0
  375. package/dist/types/base/index.mjs +9 -0
  376. package/dist/types/base/index.mjs.map +1 -0
  377. package/dist/types/html-copilot-textarea-element.d.ts +7 -0
  378. package/dist/types/html-copilot-textarea-element.js +19 -0
  379. package/dist/types/html-copilot-textarea-element.js.map +1 -0
  380. package/dist/types/html-copilot-textarea-element.mjs +2 -0
  381. package/dist/types/html-copilot-textarea-element.mjs.map +1 -0
  382. package/dist/types/index.d.ts +13 -0
  383. package/dist/types/index.js +289 -0
  384. package/dist/types/index.js.map +1 -0
  385. package/dist/types/index.mjs +19 -0
  386. package/dist/types/index.mjs.map +1 -0
  387. package/jest.config.js +5 -0
  388. package/package.json +95 -0
  389. package/postcss.config.js +12 -0
  390. package/src/components/base-copilot-textarea/base-copilot-textarea.css +9 -0
  391. package/src/components/base-copilot-textarea/base-copilot-textarea.tsx +317 -0
  392. package/src/components/base-copilot-textarea/render-element.tsx +39 -0
  393. package/src/components/base-copilot-textarea/render-placeholder.tsx +23 -0
  394. package/src/components/base-copilot-textarea/track-cursor-moved-since-last-text-change.tsx +80 -0
  395. package/src/components/base-copilot-textarea/use-add-branding-css.tsx +74 -0
  396. package/src/components/copilot-textarea/copilot-textarea.tsx +210 -0
  397. package/src/components/hovering-toolbar/hovering-editor-provider.tsx +31 -0
  398. package/src/components/hovering-toolbar/hovering-toolbar-components.tsx +100 -0
  399. package/src/components/hovering-toolbar/hovering-toolbar.tsx +151 -0
  400. package/src/components/hovering-toolbar/text-insertion-prompt-box/hovering-insertion-prompt-box-core.tsx +276 -0
  401. package/src/components/hovering-toolbar/text-insertion-prompt-box/hovering-insertion-prompt-box.tsx +31 -0
  402. package/src/components/hovering-toolbar/text-insertion-prompt-box/included-files-preview.tsx +55 -0
  403. package/src/components/hovering-toolbar/text-insertion-prompt-box/index.ts +2 -0
  404. package/src/components/index.ts +4 -0
  405. package/src/components/manual-ui/chip-with-icon.tsx +17 -0
  406. package/src/components/source-search-box/source-search-box.tsx +117 -0
  407. package/src/components/ui/button.tsx +49 -0
  408. package/src/components/ui/command.tsx +141 -0
  409. package/src/components/ui/dialog.tsx +107 -0
  410. package/src/components/ui/label.tsx +19 -0
  411. package/src/context/index.ts +1 -0
  412. package/src/hooks/base-copilot-textarea-implementation/use-autosuggestions.ts +142 -0
  413. package/src/hooks/base-copilot-textarea-implementation/use-copilot-textarea-editor.tsx +100 -0
  414. package/src/hooks/base-copilot-textarea-implementation/use-populate-copilot-textarea-ref.ts +93 -0
  415. package/src/hooks/index.ts +1 -0
  416. package/src/hooks/make-autosuggestions-function/use-make-standard-autosuggestions-function.tsx +114 -0
  417. package/src/hooks/make-autosuggestions-function/use-make-standard-insertion-function.tsx +214 -0
  418. package/src/hooks/misc/use-autosize-textarea.tsx +18 -0
  419. package/src/index.tsx +7 -0
  420. package/src/lib/debouncer.ts +36 -0
  421. package/src/lib/editor-to-text.ts +61 -0
  422. package/src/lib/get-text-around-cursor.ts +135 -0
  423. package/src/lib/retry.tsx +23 -0
  424. package/src/lib/slatejs-edits/add-autocompletions.ts +30 -0
  425. package/src/lib/slatejs-edits/clear-autocompletions.ts +19 -0
  426. package/src/lib/slatejs-edits/replace-text.ts +28 -0
  427. package/src/lib/slatejs-edits/with-partial-history.ts +149 -0
  428. package/src/lib/stream-promise-flatten.ts +33 -0
  429. package/src/lib/utils.test.ts +7 -0
  430. package/src/lib/utils.ts +49 -0
  431. package/src/styles.css +3 -0
  432. package/src/types/autosuggestions-config/autosuggestions-config-user-specified.tsx +19 -0
  433. package/src/types/autosuggestions-config/autosuggestions-config.tsx +30 -0
  434. package/src/types/autosuggestions-config/editing-api-config.tsx +96 -0
  435. package/src/types/autosuggestions-config/index.ts +8 -0
  436. package/src/types/autosuggestions-config/insertions-api-config.tsx +87 -0
  437. package/src/types/autosuggestions-config/subtypes/make-system-prompt.ts +1 -0
  438. package/src/types/autosuggestions-config/suggestions-api-config.tsx +76 -0
  439. package/src/types/base/autosuggestion-state.ts +6 -0
  440. package/src/types/base/autosuggestions-bare-function.ts +30 -0
  441. package/src/types/base/base-autosuggestions-config.tsx +123 -0
  442. package/src/types/base/base-copilot-textarea-props.tsx +58 -0
  443. package/src/types/base/custom-editor.tsx +29 -0
  444. package/src/types/base/editor-autocomplete-state.ts +20 -0
  445. package/src/types/base/index.ts +6 -0
  446. package/src/types/html-copilot-textarea-element.ts +5 -0
  447. package/src/types/index.ts +3 -0
  448. package/tailwind.config.js +9 -0
  449. package/tsconfig.json +12 -0
  450. package/tsup.config.ts +16 -0
  451. package/typedoc.json +4 -0
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../src/components/hovering-toolbar/text-insertion-prompt-box/index.ts","../../../../src/hooks/misc/use-autosize-textarea.tsx","../../../../src/components/source-search-box/source-search-box.tsx","../../../../src/components/ui/command.tsx","../../../../src/lib/utils.ts","../../../../src/components/hovering-toolbar/text-insertion-prompt-box/hovering-insertion-prompt-box-core.tsx","../../../../src/components/ui/button.tsx","../../../../src/components/ui/label.tsx","../../../../src/lib/stream-promise-flatten.ts","../../../../src/components/hovering-toolbar/text-insertion-prompt-box/included-files-preview.tsx","../../../../src/components/hovering-toolbar/hovering-editor-provider.tsx","../../../../src/components/hovering-toolbar/text-insertion-prompt-box/hovering-insertion-prompt-box.tsx"],"sourcesContent":["export { HoveringInsertionPromptBox } from \"./hovering-insertion-prompt-box\";\nexport type { Props } from \"./hovering-insertion-prompt-box\";\n","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","import { useState } from \"react\";\nimport {\n Command,\n CommandDialog,\n CommandEmpty,\n CommandGroup,\n CommandInput,\n CommandItem,\n CommandList,\n CommandSeparator,\n CommandShortcut,\n} from \"../ui/command\";\n\nimport { Calculator, Calendar, CreditCard, Settings, Smile, User } from \"lucide-react\";\n\nimport { DocumentPointer } from \"@copilotkit/react-core\";\n\nexport interface SourceSearchBoxProps {\n searchTerm: string;\n suggestedFiles: DocumentPointer[];\n onSelectedFile: (filePointer: DocumentPointer) => void;\n}\n\nexport function SourceSearchBox(props: SourceSearchBoxProps) {\n const [selectedValue, setSelectedValue] = useState<string>(\"\");\n\n return (\n <Command\n className=\"rounded-lg border shadow-md\"\n value={selectedValue}\n onValueChange={(value) => {\n setSelectedValue(value);\n }}\n filter={(value, search) => {\n // if the search term is empty, show all commands\n if (props.searchTerm === \"\") return 1;\n\n // if the search term is a prefix of the command, show it\n if (value.startsWith(props.searchTerm)) return 1;\n\n // otherwise, don't show it\n return 0;\n }}\n >\n <CommandInput\n value={props.searchTerm}\n className=\"rounded-t-lg hidden\"\n placeholder=\"Search for a command...\"\n />\n <CommandList>\n <CommandEmpty>No results found.</CommandEmpty>\n\n <CommandGroup heading=\"Available resources\">\n {props.suggestedFiles.map((filePointer) => {\n return (\n <CommandItem\n key={`word-${filePointer.sourceApplication}.${filePointer.name}`}\n value={filePointer.name}\n onSelect={(value) => {\n props.onSelectedFile(filePointer);\n }}\n >\n <div className=\" px-3 flex flex-row gap-1 items-center\">\n <Logo width=\"20px\" height=\"20px\">\n <img\n src={filePointer.iconImageUri}\n alt={filePointer.sourceApplication}\n className=\"w-full h-full\"\n />\n </Logo>\n {filePointer.name}\n </div>\n </CommandItem>\n );\n })}\n </CommandGroup>\n\n {/* <CommandGroup heading=\"Suggestions\">\n <CommandItem\n onSelect={(value) => {\n console.log(value);\n console.log(value);\n }}\n >\n <Calendar className=\"mr-2 h-4 w-4\" />\n <span>Calendar</span>\n </CommandItem>\n <CommandItem>\n <Smile className=\"mr-2 h-4 w-4\" />\n <span>Search Emoji</span>\n </CommandItem>\n <CommandItem>\n <Calculator className=\"mr-2 h-4 w-4\" />\n <span>Calculator</span>\n </CommandItem>\n </CommandGroup> */}\n <CommandSeparator />\n </CommandList>\n </Command>\n );\n}\n\nexport function Logo({\n children,\n width,\n height,\n}: {\n children: React.ReactNode;\n width: string;\n height: string;\n}) {\n return (\n <div className=\"flex items-center justify-center\" style={{ width: width, height: height }}>\n {children}\n </div>\n );\n}\n","import * as React from \"react\";\nimport { DialogProps } from \"@radix-ui/react-dialog\";\nimport { Command as CommandPrimitive } from \"cmdk\";\nimport { cn } from \"../../lib/utils\";\nimport { Dialog, DialogContent } from \"./dialog\";\n\nconst Command = React.forwardRef<\n React.ElementRef<typeof CommandPrimitive>,\n React.ComponentPropsWithoutRef<typeof CommandPrimitive>\n>(({ className, ...props }, ref) => (\n <CommandPrimitive\n ref={ref}\n className={cn(\n \"flex h-full w-full flex-col overflow-hidden rounded-md bg-popover text-popover-foreground\",\n className,\n )}\n {...props}\n />\n));\nCommand.displayName = CommandPrimitive.displayName;\n\ninterface CommandDialogProps extends DialogProps {}\n\nconst CommandDialog = ({ children, ...props }: CommandDialogProps) => {\n return (\n <Dialog {...props}>\n <DialogContent className=\"overflow-hidden p-0 shadow-lg\">\n <Command className=\"[&_[cmdk-group-heading]]:px-2 [&_[cmdk-group-heading]]:font-medium [&_[cmdk-group-heading]]:text-muted-foreground [&_[cmdk-group]:not([hidden])_~[cmdk-group]]:pt-0 [&_[cmdk-group]]:px-2 [&_[cmdk-input-wrapper]_svg]:h-5 [&_[cmdk-input-wrapper]_svg]:w-5 [&_[cmdk-input]]:h-12 [&_[cmdk-item]]:px-2 [&_[cmdk-item]]:py-3 [&_[cmdk-item]_svg]:h-5 [&_[cmdk-item]_svg]:w-5\">\n {children}\n </Command>\n </DialogContent>\n </Dialog>\n );\n};\n\nconst CommandInput = React.forwardRef<\n React.ElementRef<typeof CommandPrimitive.Input>,\n React.ComponentPropsWithoutRef<typeof CommandPrimitive.Input>\n>(({ className, ...props }, ref) => (\n <div className=\"flex items-center border-b px-3\" cmdk-input-wrapper=\"\">\n {/* <Search className=\"mr-2 h-4 w-4 shrink-0 opacity-50\" /> */}\n <CommandPrimitive.Input\n ref={ref}\n className={cn(\n \"flex h-11 w-full rounded-md bg-transparent py-3 text-sm outline-none placeholder:text-muted-foreground disabled:cursor-not-allowed disabled:opacity-50\",\n className,\n )}\n {...props}\n />\n </div>\n));\n\nCommandInput.displayName = CommandPrimitive.Input.displayName;\n\nconst CommandList = React.forwardRef<\n React.ElementRef<typeof CommandPrimitive.List>,\n React.ComponentPropsWithoutRef<typeof CommandPrimitive.List>\n>(({ className, ...props }, ref) => (\n <CommandPrimitive.List\n ref={ref}\n className={cn(\"max-h-[300px] overflow-y-auto overflow-x-hidden pb-2\", className)}\n {...props}\n />\n));\n\nCommandList.displayName = CommandPrimitive.List.displayName;\n\nconst CommandEmpty = React.forwardRef<\n React.ElementRef<typeof CommandPrimitive.Empty>,\n React.ComponentPropsWithoutRef<typeof CommandPrimitive.Empty>\n>((props, ref) => (\n <CommandPrimitive.Empty ref={ref} className=\"py-6 text-center text-sm\" {...props} />\n));\n\nCommandEmpty.displayName = CommandPrimitive.Empty.displayName;\n\nconst CommandGroup = React.forwardRef<\n React.ElementRef<typeof CommandPrimitive.Group>,\n React.ComponentPropsWithoutRef<typeof CommandPrimitive.Group>\n>(({ className, ...props }, ref) => (\n <CommandPrimitive.Group\n ref={ref}\n className={cn(\n \"overflow-hidden p-1 text-foreground [&_[cmdk-group-heading]]:px-2 [&_[cmdk-group-heading]]:py-1.5 [&_[cmdk-group-heading]]:text-xs [&_[cmdk-group-heading]]:font-medium [&_[cmdk-group-heading]]:text-muted-foreground\",\n className,\n )}\n {...props}\n />\n));\n\nCommandGroup.displayName = CommandPrimitive.Group.displayName;\n\nconst CommandSeparator = React.forwardRef<\n React.ElementRef<typeof CommandPrimitive.Separator>,\n React.ComponentPropsWithoutRef<typeof CommandPrimitive.Separator>\n>(({ className, ...props }, ref) => (\n <CommandPrimitive.Separator\n ref={ref}\n className={cn(\"-mx-1 h-px bg-border\", className)}\n {...props}\n />\n));\nCommandSeparator.displayName = CommandPrimitive.Separator.displayName;\n\nconst CommandItem = React.forwardRef<\n React.ElementRef<typeof CommandPrimitive.Item>,\n React.ComponentPropsWithoutRef<typeof CommandPrimitive.Item>\n>(({ className, ...props }, ref) => (\n <CommandPrimitive.Item\n ref={ref}\n className={cn(\n \"relative flex cursor-default select-none items-center rounded-sm text-sm outline-none aria-selected:bg-accent aria-selected:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50\",\n className,\n )}\n {...props}\n />\n));\n\nCommandItem.displayName = CommandPrimitive.Item.displayName;\n\nconst CommandShortcut = ({ className, ...props }: React.HTMLAttributes<HTMLSpanElement>) => {\n return (\n <span\n className={cn(\"ml-auto text-xs tracking-widest text-muted-foreground\", className)}\n {...props}\n />\n );\n};\nCommandShortcut.displayName = \"CommandShortcut\";\n\nexport {\n Command,\n CommandDialog,\n CommandInput,\n CommandList,\n CommandEmpty,\n CommandGroup,\n CommandItem,\n CommandShortcut,\n CommandSeparator,\n};\n","import { clsx, type ClassValue } from \"clsx\";\nimport { twMerge } from \"tailwind-merge\";\n\nexport function cn(...inputs: ClassValue[]) {\n return twMerge(clsx(inputs));\n}\n\nexport async function fetcher<JSON = any>(input: RequestInfo, init?: RequestInit): Promise<JSON> {\n const res = await fetch(input, init);\n\n if (!res.ok) {\n const json = await res.json();\n if (json.error) {\n const error = new Error(json.error) as Error & {\n status: number;\n };\n error.status = res.status;\n throw error;\n } else {\n throw new Error(\"An unexpected error occurred\");\n }\n }\n\n return res.json();\n}\n\nexport function formatDate(input: string | number | Date): string {\n const date = new Date(input);\n return date.toLocaleDateString(\"en-US\", {\n month: \"long\",\n day: \"numeric\",\n year: \"numeric\",\n });\n}\n\nexport const arraysAreEqual = (arr1: number[], arr2: number[]): boolean =>\n arr1.length === arr2.length && arr1.every((value, index) => value === arr2[index]);\n\nexport function nullableCompatibleEqualityCheck<T>(\n naiveEqualityCheck: (a: T, b: T) => boolean,\n a: T | null | undefined,\n b: T | null | undefined,\n): boolean {\n if (a === null || a === undefined || b === null || b === undefined) {\n return a === b;\n }\n\n return naiveEqualityCheck(a, b);\n}\n","import useAutosizeTextArea from \"../../../hooks/misc/use-autosize-textarea\";\nimport {\n EditingEditorState,\n Generator_InsertionOrEditingSuggestion,\n} from \"../../../types/base/autosuggestions-bare-function\";\nimport { SourceSearchBox } from \"../../source-search-box/source-search-box\";\nimport { DocumentPointer, useCopilotContext } from \"@copilotkit/react-core\";\nimport { Button } from \"../../ui/button\";\nimport { Label } from \"../../ui/label\";\nimport { useCallback, useEffect, useRef, useState } from \"react\";\n\nimport { streamPromiseFlatten } from \"../../../lib/stream-promise-flatten\";\nimport { IncludedFilesPreview } from \"./included-files-preview\";\nimport { useHoveringEditorContext } from \"../hovering-editor-provider\";\n\nexport type SuggestionState = {\n editorState: EditingEditorState;\n};\n\nexport interface HoveringInsertionPromptBoxCoreProps {\n state: SuggestionState;\n performInsertion: (insertedText: string) => void;\n insertionOrEditingFunction: Generator_InsertionOrEditingSuggestion;\n contextCategories: string[];\n}\n\nexport const HoveringInsertionPromptBoxCore = ({\n performInsertion,\n state,\n insertionOrEditingFunction,\n contextCategories,\n}: HoveringInsertionPromptBoxCoreProps) => {\n const { getDocumentsContext } = useCopilotContext();\n\n const [editSuggestion, setEditSuggestion] = useState<string>(\"\");\n const [suggestionIsLoading, setSuggestionIsLoading] = useState<boolean>(false);\n\n const [adjustmentPrompt, setAdjustmentPrompt] = useState<string>(\"\");\n\n const [generatingSuggestion, setGeneratingSuggestion] = useState<ReadableStream<string> | null>(\n null,\n );\n\n const adjustmentTextAreaRef = useRef<HTMLTextAreaElement>(null);\n const suggestionTextAreaRef = useRef<HTMLTextAreaElement>(null);\n\n const [filePointers, setFilePointers] = useState<DocumentPointer[]>([]);\n\n const [suggestedFiles, setSuggestedFiles] = useState<DocumentPointer[]>([]);\n useEffect(() => {\n setSuggestedFiles(getDocumentsContext(contextCategories));\n }, [contextCategories, getDocumentsContext]);\n\n useAutosizeTextArea(suggestionTextAreaRef, editSuggestion || \"\");\n useAutosizeTextArea(adjustmentTextAreaRef, adjustmentPrompt || \"\");\n\n // initially focus on the adjustment prompt text area\n useEffect(() => {\n adjustmentTextAreaRef.current?.focus();\n }, []);\n\n // continuously read the generating suggestion stream and update the edit suggestion\n useEffect(() => {\n // if no generating suggestion, do nothing\n if (!generatingSuggestion) {\n return;\n }\n\n // Check if the stream is already locked (i.e. already reading from it)\n if (generatingSuggestion.locked) {\n return;\n }\n\n // reset the edit suggestion\n setEditSuggestion(\"\");\n\n // read the generating suggestion stream and continuously update the edit suggestion\n const reader = generatingSuggestion.getReader();\n const read = async () => {\n setSuggestionIsLoading(true);\n while (true) {\n const { done, value } = await reader.read();\n if (done) {\n break;\n }\n setEditSuggestion((prev) => {\n const newSuggestion = prev + value;\n\n // Scroll to the bottom of the textarea. We call this here to make sure scroll-to-bottom is synchronous with the state update.\n if (suggestionTextAreaRef.current) {\n suggestionTextAreaRef.current.scrollTop = suggestionTextAreaRef.current.scrollHeight;\n }\n return newSuggestion;\n });\n }\n\n setSuggestionIsLoading(false);\n };\n read();\n\n return () => {\n // release the lock if the reader is not closed on unmount\n const releaseLockIfNotClosed = async () => {\n try {\n await reader.closed;\n } catch {\n reader.releaseLock();\n }\n };\n\n releaseLockIfNotClosed();\n };\n }, [generatingSuggestion]);\n\n // generate an adjustment to the completed text, based on the adjustment prompt\n const beginGeneratingAdjustment = useCallback(async () => {\n // don't generate text if the prompt is empty\n if (!adjustmentPrompt.trim()) {\n return;\n }\n\n // editor state includes the text being edited, and the text before/after the selection\n // if the current edit suggestion is not empty, then use *it* as the \"selected text\" - instead of the editor state's selected text\n let modificationState = state.editorState;\n if (editSuggestion !== \"\") {\n modificationState.selectedText = editSuggestion;\n }\n\n // generate the adjustment suggestion\n const adjustmentSuggestionTextStreamPromise = insertionOrEditingFunction(\n modificationState,\n adjustmentPrompt,\n filePointers,\n new AbortController().signal,\n );\n const adjustmentSuggestionTextStream = streamPromiseFlatten(\n adjustmentSuggestionTextStreamPromise,\n );\n\n setGeneratingSuggestion(adjustmentSuggestionTextStream);\n }, [\n adjustmentPrompt,\n editSuggestion,\n state.editorState,\n insertionOrEditingFunction,\n filePointers,\n ]);\n\n const isLoading = suggestionIsLoading;\n\n const textToEdit = editSuggestion || state.editorState.selectedText;\n const adjustmentLabel =\n textToEdit === \"\"\n ? \"Describe the text you want to insert\"\n : \"Describe adjustments to the suggested text\";\n const placeholder =\n textToEdit === \"\"\n ? \"e.g. 'summarize the client's top 3 pain-points from @CallTranscript'\"\n : \"e.g. 'make it more formal', 'be more specific', ...\";\n\n const { setIsDisplayed } = useHoveringEditorContext();\n\n const AdjustmentPromptComponent = (\n <>\n <Label className=\"\">{adjustmentLabel}</Label>\n <div className=\"relative w-full flex items-center\">\n <textarea\n data-testid=\"adjustment-prompt\"\n disabled={suggestionIsLoading}\n ref={adjustmentTextAreaRef}\n value={adjustmentPrompt}\n onChange={(e) => setAdjustmentPrompt(e.target.value)}\n onKeyDown={(e) => {\n if (e.key === \"Enter\" && e.shiftKey) {\n e.preventDefault();\n setAdjustmentPrompt(adjustmentPrompt + \"\\n\");\n } else if (e.key === \"Enter\") {\n e.preventDefault();\n beginGeneratingAdjustment();\n } else if (e.key == \"Escape\") {\n e.preventDefault();\n setIsDisplayed(false);\n }\n }}\n placeholder={placeholder}\n style={{ minHeight: \"3rem\" }}\n className=\"w-full bg-slate-100 h-auto h-min-14 text-sm p-2 rounded-md resize-none overflow-visible focus:outline-none focus:ring-0 focus:border-non pr-[3rem]\"\n rows={1}\n />\n <button\n onClick={beginGeneratingAdjustment}\n className=\"absolute right-2 bg-blue-500 text-white w-8 h-8 rounded-full flex items-center justify-center\"\n data-testid=\"generate-button\"\n >\n <i className=\"material-icons\">arrow_forward</i>\n </button>\n </div>\n </>\n );\n\n const SuggestionComponent = (\n <>\n <div className=\"flex justify-between items-end w-full\">\n <Label className=\"mt-4\">Suggested:</Label>\n <div className=\"ml-auto\">\n {isLoading && (\n <div className=\"flex justify-center items-center\">\n <div\n className=\"inline-block h-4 w-4 animate-spin rounded-full border-4 border-solid border-current border-r-transparent align-[-0.125em] motion-reduce:animate-[spin_1.5s_linear_infinite]\"\n role=\"status\"\n >\n <span className=\"!absolute !-m-px !h-px !w-px !overflow-hidden !whitespace-nowrap !border-0 !p-0 ![clip:rect(0,0,0,0)]\">\n Loading...\n </span>\n </div>\n </div>\n )}\n </div>\n </div>\n <textarea\n data-testid=\"suggestion-result\"\n ref={suggestionTextAreaRef}\n value={editSuggestion}\n disabled={suggestionIsLoading}\n onChange={(e) => setEditSuggestion(e.target.value)}\n className=\"w-full text-base p-2 border border-gray-300 rounded-md resize-none bg-green-50\"\n style={{ overflow: \"auto\", maxHeight: \"10em\" }}\n />\n </>\n );\n\n const SubmitComponent = (\n <div className=\"flex w-full gap-4 justify-start\">\n <Button\n data-testid=\"insert-button\"\n className=\" bg-green-700 text-white\"\n onClick={() => {\n performInsertion(editSuggestion);\n }}\n >\n Insert <i className=\"material-icons\">check</i>\n </Button>\n </div>\n );\n\n // show source search if the last word in the adjustment prompt BEGINS with an @\n const sourceSearchCandidate = adjustmentPrompt.split(\" \").pop();\n // if the candidate is @someCandidate, then 'someCandidate', otherwise undefined\n const sourceSearchWord = sourceSearchCandidate?.startsWith(\"@\")\n ? sourceSearchCandidate.slice(1)\n : undefined;\n\n return (\n <div className=\"w-full flex flex-col items-start relative gap-2\">\n {AdjustmentPromptComponent}\n {filePointers.length > 0 && (\n <IncludedFilesPreview includedFiles={filePointers} setIncludedFiles={setFilePointers} />\n )}\n {sourceSearchWord !== undefined && (\n <SourceSearchBox\n searchTerm={sourceSearchWord}\n suggestedFiles={suggestedFiles}\n onSelectedFile={(filePointer) => {\n setAdjustmentPrompt(adjustmentPrompt.replace(new RegExp(`@${sourceSearchWord}$`), \"\"));\n setFilePointers((prev) => [...prev, filePointer]);\n\n // focus back on the adjustment prompt, and move the cursor to the end\n adjustmentTextAreaRef.current?.focus();\n }}\n />\n )}\n {generatingSuggestion ? SuggestionComponent : null}\n {generatingSuggestion ? SubmitComponent : null}\n </div>\n );\n};\n","import * as React from \"react\";\nimport { Slot } from \"@radix-ui/react-slot\";\nimport { cva, type VariantProps } from \"class-variance-authority\";\n\nimport { cn } from \"../../lib/utils\";\n\nconst buttonVariants = cva(\n \"inline-flex items-center justify-center rounded-md text-sm font-medium ring-offset-background transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50\",\n {\n variants: {\n variant: {\n default: \"bg-primary text-primary-foreground hover:bg-primary/90\",\n destructive: \"bg-destructive text-destructive-foreground hover:bg-destructive/90\",\n outline: \"border border-input bg-background hover:bg-accent hover:text-accent-foreground\",\n secondary: \"bg-secondary text-secondary-foreground hover:bg-secondary/80\",\n ghost: \"hover:bg-accent hover:text-accent-foreground\",\n link: \"text-primary underline-offset-4 hover:underline\",\n },\n size: {\n default: \"h-10 px-4 py-2\",\n sm: \"h-9 rounded-md px-3\",\n lg: \"h-11 rounded-md px-8\",\n icon: \"h-10 w-10\",\n },\n },\n defaultVariants: {\n variant: \"default\",\n size: \"default\",\n },\n },\n);\n\nexport interface ButtonProps\n extends React.ButtonHTMLAttributes<HTMLButtonElement>,\n VariantProps<typeof buttonVariants> {\n asChild?: boolean;\n}\n\nconst Button = React.forwardRef<HTMLButtonElement, ButtonProps>(\n ({ className, variant, size, asChild = false, ...props }, ref) => {\n const Comp = asChild ? Slot : \"button\";\n return (\n <Comp className={cn(buttonVariants({ variant, size, className }))} ref={ref} {...props} />\n );\n },\n);\nButton.displayName = \"Button\";\n\nexport { Button, buttonVariants };\n","import * as React from \"react\";\nimport * as LabelPrimitive from \"@radix-ui/react-label\";\nimport { cva, type VariantProps } from \"class-variance-authority\";\n\nimport { cn } from \"../../lib/utils\";\n\nconst labelVariants = cva(\n \"text-sm font-medium leading-none peer-disabled:cursor-not-allowed peer-disabled:opacity-70\",\n);\n\nconst Label = React.forwardRef<\n React.ElementRef<typeof LabelPrimitive.Root>,\n React.ComponentPropsWithoutRef<typeof LabelPrimitive.Root> & VariantProps<typeof labelVariants>\n>(({ className, ...props }, ref) => (\n <LabelPrimitive.Root ref={ref} className={cn(labelVariants(), className)} {...props} />\n));\nLabel.displayName = LabelPrimitive.Root.displayName;\n\nexport { Label };\n","/**\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","import { DocumentPointer } from \"@copilotkit/react-core\";\nimport { Label } from \"../../ui/label\";\nimport React from \"react\";\nimport Chip from \"@mui/material/Chip/Chip.js\";\nimport Avatar from \"@mui/material/Avatar/Avatar.js\";\n\nexport interface IncludedFilesPreviewProps {\n includedFiles: DocumentPointer[];\n setIncludedFiles: React.Dispatch<React.SetStateAction<DocumentPointer[]>>;\n}\n\nexport const IncludedFilesPreview = ({\n includedFiles,\n setIncludedFiles,\n}: IncludedFilesPreviewProps) => {\n return (\n <div className=\"flex flex-col gap-2 mt-2\">\n <Label className=\"\">Included context:</Label>\n <div className=\"flex flex-wrap gap-2\">\n {includedFiles.map((filePointer, index) => {\n return (\n <FileChipPreview\n key={`file-${filePointer.sourceApplication}.${filePointer.name}`}\n filePointer={filePointer}\n onDelete={() => {\n setIncludedFiles((prev) => prev.filter((fp) => fp !== filePointer));\n }}\n />\n );\n })}\n </div>\n </div>\n );\n};\n\nexport interface FileChipPreviewProps {\n filePointer: DocumentPointer;\n onDelete: () => void;\n}\n\nexport const FileChipPreview = ({ filePointer, onDelete }: FileChipPreviewProps) => {\n return (\n <Chip\n label={filePointer.name}\n onDelete={onDelete}\n avatar={\n <Avatar\n src={filePointer.iconImageUri}\n alt={filePointer.sourceApplication}\n sx={{ backgroundColor: \"transparent\" }}\n ></Avatar>\n }\n />\n );\n};\n","import { createContext, useState, useContext, ReactNode } from \"react\";\n\ninterface HoveringEditorContextProps {\n isDisplayed: boolean;\n setIsDisplayed: (value: boolean) => void;\n}\n\nconst HoveringEditorContext = createContext<HoveringEditorContextProps>({\n isDisplayed: false,\n setIsDisplayed: () => {},\n});\n\nexport interface HoveringEditorProviderProps {\n children: ReactNode;\n}\n\n/**\n * A context provider for the hovering editor over the `CopilotTextarea`\n * (used to edit and insert text into the `CopilotTextarea`).\n */\nexport const HoveringEditorProvider = ({ children }: HoveringEditorProviderProps) => {\n const [isDisplayed, setIsDisplayed] = useState<boolean>(false);\n\n return (\n <HoveringEditorContext.Provider value={{ isDisplayed, setIsDisplayed }}>\n {children}\n </HoveringEditorContext.Provider>\n );\n};\n\nexport const useHoveringEditorContext = () => useContext(HoveringEditorContext);\n","import { HoveringInsertionPromptBoxCore } from \"./hovering-insertion-prompt-box-core\";\nimport {\n EditingEditorState,\n InsertionEditorApiConfig,\n} from \"../../../types/base/autosuggestions-bare-function\";\n\nexport interface Props {\n editorState: EditingEditorState;\n apiConfig: InsertionEditorApiConfig;\n performInsertion: (insertedText: string) => void;\n closeWindow: () => void;\n contextCategories: string[];\n}\n\nexport const HoveringInsertionPromptBox = (props: Props) => {\n return (\n <div\n className=\"flex flex-col justify-center items-center space-y-4 rounded-md border shadow-lg p-4 border-gray- bg-white\"\n style={{ width: \"35rem\" }}\n >\n <HoveringInsertionPromptBoxCore\n state={{\n editorState: props.editorState,\n }}\n insertionOrEditingFunction={props.apiConfig.insertionOrEditingFunction}\n performInsertion={props.performInsertion}\n contextCategories={props.contextCategories}\n />\n </div>\n );\n};\n"],"mappings":"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","names":["import_react","CommandPrimitive","CommandPrimitive","import_jsx_runtime","React","import_jsx_runtime","React","import_class_variance_authority","import_jsx_runtime","import_react","import_jsx_runtime","Chip","Avatar","import_react","import_jsx_runtime","import_jsx_runtime","import_jsx_runtime"]}
@@ -0,0 +1,20 @@
1
+ import "../../../chunk-L7VVZH4Q.mjs";
2
+ import {
3
+ HoveringInsertionPromptBox
4
+ } from "../../../chunk-ABYCGF77.mjs";
5
+ import "../../../chunk-2VMZ5ZWT.mjs";
6
+ import "../../../chunk-KMVGEY7Q.mjs";
7
+ import "../../../chunk-3PQ7GSFE.mjs";
8
+ import "../../../chunk-4PDYALMP.mjs";
9
+ import "../../../chunk-D47EKHIF.mjs";
10
+ import "../../../chunk-LYB4B6MK.mjs";
11
+ import "../../../chunk-WGWQRALG.mjs";
12
+ import "../../../chunk-VSVQZUPW.mjs";
13
+ import "../../../chunk-I72DKFHD.mjs";
14
+ import "../../../chunk-2QDCE7PD.mjs";
15
+ import "../../../chunk-YLFAIYRY.mjs";
16
+ import "../../../chunk-MRXNTQOX.mjs";
17
+ export {
18
+ HoveringInsertionPromptBox
19
+ };
20
+ //# sourceMappingURL=index.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":[],"sourcesContent":[],"mappings":"","names":[]}
@@ -0,0 +1,9 @@
1
+ /* src/components/base-copilot-textarea/base-copilot-textarea.css */
2
+ .copilot-kit-textarea-css-scope .copilot-textarea.with-branding::after {
3
+ content: "";
4
+ position: absolute;
5
+ }
6
+ .copilot-kit-textarea-css-scope .copilot-textarea.no-branding::after {
7
+ content: "";
8
+ }
9
+ /*# sourceMappingURL=index.css.map */
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/components/base-copilot-textarea/base-copilot-textarea.css"],"sourcesContent":[".copilot-kit-textarea-css-scope .copilot-textarea.with-branding::after {\n content: ''; /* Initially empty because we overrdie this CSS dynamically and we want to avoid flashing */\n position: absolute;\n}\n \n \n.copilot-kit-textarea-css-scope .copilot-textarea.no-branding::after {\n content: '';\n}"],"mappings":";AAAA;AACI;AACA;AAAA;AAIJ;AACI;AAAA;","names":[]}
@@ -0,0 +1,15 @@
1
+ export { BaseCopilotTextarea } from './base-copilot-textarea/base-copilot-textarea.js';
2
+ export { CopilotTextarea, CopilotTextareaProps } from './copilot-textarea/copilot-textarea.js';
3
+ import '../types/base/base-autosuggestions-config.js';
4
+ import '../types/base/autosuggestions-bare-function.js';
5
+ import '../types/base/index.js';
6
+ import '../types/html-copilot-textarea-element.js';
7
+ import '../types/autosuggestions-config/autosuggestions-config.js';
8
+ import '../types/autosuggestions-config/subtypes/make-system-prompt.js';
9
+ import '../types/autosuggestions-config/autosuggestions-config-user-specified.js';
10
+ import 'react';
11
+ import '@copilotkit/react-core';
12
+ import '../types/autosuggestions-config/suggestions-api-config.js';
13
+ import '@copilotkit/runtime-client-gql';
14
+ import '../types/autosuggestions-config/insertions-api-config.js';
15
+ import '../types/autosuggestions-config/editing-api-config.js';