@copilotkit/react-textarea 1.5.1-test-custom-tag-prerelease-1.0 → 1.5.2-next.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 (386) hide show
  1. package/CHANGELOG.md +71 -6
  2. package/package.json +4 -4
  3. package/dist/chunk-23Q6A46J.mjs +0 -103
  4. package/dist/chunk-23Q6A46J.mjs.map +0 -1
  5. package/dist/chunk-2C7O2EVM.mjs +0 -27
  6. package/dist/chunk-2C7O2EVM.mjs.map +0 -1
  7. package/dist/chunk-2QDCE7PD.mjs +0 -32
  8. package/dist/chunk-2QDCE7PD.mjs.map +0 -1
  9. package/dist/chunk-2VMZ5ZWT.mjs +0 -229
  10. package/dist/chunk-2VMZ5ZWT.mjs.map +0 -1
  11. package/dist/chunk-3PQ7GSFE.mjs +0 -17
  12. package/dist/chunk-3PQ7GSFE.mjs.map +0 -1
  13. package/dist/chunk-4CVSOOJY.mjs +0 -30
  14. package/dist/chunk-4CVSOOJY.mjs.map +0 -1
  15. package/dist/chunk-4NHVQZ67.mjs +0 -108
  16. package/dist/chunk-4NHVQZ67.mjs.map +0 -1
  17. package/dist/chunk-4PDYALMP.mjs +0 -52
  18. package/dist/chunk-4PDYALMP.mjs.map +0 -1
  19. package/dist/chunk-4XXU5BSA.mjs +0 -125
  20. package/dist/chunk-4XXU5BSA.mjs.map +0 -1
  21. package/dist/chunk-5UNJXFUO.mjs +0 -29
  22. package/dist/chunk-5UNJXFUO.mjs.map +0 -1
  23. package/dist/chunk-7L6GIHDM.mjs +0 -39
  24. package/dist/chunk-7L6GIHDM.mjs.map +0 -1
  25. package/dist/chunk-7LSRNPNI.mjs +0 -59
  26. package/dist/chunk-7LSRNPNI.mjs.map +0 -1
  27. package/dist/chunk-ABYCGF77.mjs +0 -31
  28. package/dist/chunk-ABYCGF77.mjs.map +0 -1
  29. package/dist/chunk-AJ5OMEXM.mjs +0 -13
  30. package/dist/chunk-AJ5OMEXM.mjs.map +0 -1
  31. package/dist/chunk-BNBGJBBM.mjs +0 -60
  32. package/dist/chunk-BNBGJBBM.mjs.map +0 -1
  33. package/dist/chunk-D47EKHIF.mjs +0 -26
  34. package/dist/chunk-D47EKHIF.mjs.map +0 -1
  35. package/dist/chunk-DE5K76I2.mjs +0 -1
  36. package/dist/chunk-DE5K76I2.mjs.map +0 -1
  37. package/dist/chunk-DFTV4TST.mjs +0 -36
  38. package/dist/chunk-DFTV4TST.mjs.map +0 -1
  39. package/dist/chunk-DRV2FOHZ.mjs +0 -70
  40. package/dist/chunk-DRV2FOHZ.mjs.map +0 -1
  41. package/dist/chunk-ECR45NSD.mjs +0 -104
  42. package/dist/chunk-ECR45NSD.mjs.map +0 -1
  43. package/dist/chunk-EJGGLWWR.mjs +0 -82
  44. package/dist/chunk-EJGGLWWR.mjs.map +0 -1
  45. package/dist/chunk-F6GMWOLE.mjs +0 -93
  46. package/dist/chunk-F6GMWOLE.mjs.map +0 -1
  47. package/dist/chunk-GQN2HYFJ.mjs +0 -22
  48. package/dist/chunk-GQN2HYFJ.mjs.map +0 -1
  49. package/dist/chunk-H4VKQGVU.mjs +0 -1
  50. package/dist/chunk-H4VKQGVU.mjs.map +0 -1
  51. package/dist/chunk-HDBI2WN5.mjs +0 -113
  52. package/dist/chunk-HDBI2WN5.mjs.map +0 -1
  53. package/dist/chunk-I72DKFHD.mjs +0 -114
  54. package/dist/chunk-I72DKFHD.mjs.map +0 -1
  55. package/dist/chunk-IU3WTXLQ.mjs +0 -1
  56. package/dist/chunk-IU3WTXLQ.mjs.map +0 -1
  57. package/dist/chunk-KMVGEY7Q.mjs +0 -51
  58. package/dist/chunk-KMVGEY7Q.mjs.map +0 -1
  59. package/dist/chunk-KNQIEOFP.mjs +0 -19
  60. package/dist/chunk-KNQIEOFP.mjs.map +0 -1
  61. package/dist/chunk-L7VVZH4Q.mjs +0 -1
  62. package/dist/chunk-L7VVZH4Q.mjs.map +0 -1
  63. package/dist/chunk-LQ2OWQU7.mjs +0 -49
  64. package/dist/chunk-LQ2OWQU7.mjs.map +0 -1
  65. package/dist/chunk-LYB4B6MK.mjs +0 -19
  66. package/dist/chunk-LYB4B6MK.mjs.map +0 -1
  67. package/dist/chunk-MCNXIA4Q.mjs +0 -75
  68. package/dist/chunk-MCNXIA4Q.mjs.map +0 -1
  69. package/dist/chunk-MGYT7RNL.mjs +0 -32
  70. package/dist/chunk-MGYT7RNL.mjs.map +0 -1
  71. package/dist/chunk-MMVDU6DF.mjs +0 -1
  72. package/dist/chunk-MMVDU6DF.mjs.map +0 -1
  73. package/dist/chunk-MRXNTQOX.mjs +0 -59
  74. package/dist/chunk-MRXNTQOX.mjs.map +0 -1
  75. package/dist/chunk-PZYM7K4Y.mjs +0 -265
  76. package/dist/chunk-PZYM7K4Y.mjs.map +0 -1
  77. package/dist/chunk-QFXR6DOA.mjs +0 -64
  78. package/dist/chunk-QFXR6DOA.mjs.map +0 -1
  79. package/dist/chunk-QJNFNPWH.mjs +0 -85
  80. package/dist/chunk-QJNFNPWH.mjs.map +0 -1
  81. package/dist/chunk-RUV6NBIF.mjs +0 -1
  82. package/dist/chunk-RUV6NBIF.mjs.map +0 -1
  83. package/dist/chunk-RXV67GJN.mjs +0 -168
  84. package/dist/chunk-RXV67GJN.mjs.map +0 -1
  85. package/dist/chunk-T6MTDQZ7.mjs +0 -45
  86. package/dist/chunk-T6MTDQZ7.mjs.map +0 -1
  87. package/dist/chunk-VSVQZUPW.mjs +0 -124
  88. package/dist/chunk-VSVQZUPW.mjs.map +0 -1
  89. package/dist/chunk-WADHCMPK.mjs +0 -1
  90. package/dist/chunk-WADHCMPK.mjs.map +0 -1
  91. package/dist/chunk-WGWQRALG.mjs +0 -83
  92. package/dist/chunk-WGWQRALG.mjs.map +0 -1
  93. package/dist/chunk-WJHSY5T6.mjs +0 -1
  94. package/dist/chunk-WJHSY5T6.mjs.map +0 -1
  95. package/dist/chunk-XW3ICO4S.mjs +0 -25
  96. package/dist/chunk-XW3ICO4S.mjs.map +0 -1
  97. package/dist/chunk-YLFAIYRY.mjs +0 -50
  98. package/dist/chunk-YLFAIYRY.mjs.map +0 -1
  99. package/dist/components/base-copilot-textarea/base-copilot-textarea.css +0 -9
  100. package/dist/components/base-copilot-textarea/base-copilot-textarea.css.map +0 -1
  101. package/dist/components/base-copilot-textarea/base-copilot-textarea.d.ts +0 -43
  102. package/dist/components/base-copilot-textarea/base-copilot-textarea.js +0 -1795
  103. package/dist/components/base-copilot-textarea/base-copilot-textarea.js.map +0 -1
  104. package/dist/components/base-copilot-textarea/base-copilot-textarea.mjs +0 -40
  105. package/dist/components/base-copilot-textarea/base-copilot-textarea.mjs.map +0 -1
  106. package/dist/components/base-copilot-textarea/render-element.d.ts +0 -6
  107. package/dist/components/base-copilot-textarea/render-element.js +0 -75
  108. package/dist/components/base-copilot-textarea/render-element.js.map +0 -1
  109. package/dist/components/base-copilot-textarea/render-element.mjs +0 -8
  110. package/dist/components/base-copilot-textarea/render-element.mjs.map +0 -1
  111. package/dist/components/base-copilot-textarea/render-placeholder.d.ts +0 -6
  112. package/dist/components/base-copilot-textarea/render-placeholder.js +0 -72
  113. package/dist/components/base-copilot-textarea/render-placeholder.js.map +0 -1
  114. package/dist/components/base-copilot-textarea/render-placeholder.mjs +0 -8
  115. package/dist/components/base-copilot-textarea/render-placeholder.mjs.map +0 -1
  116. package/dist/components/base-copilot-textarea/track-cursor-moved-since-last-text-change.d.ts +0 -8
  117. package/dist/components/base-copilot-textarea/track-cursor-moved-since-last-text-change.js +0 -112
  118. package/dist/components/base-copilot-textarea/track-cursor-moved-since-last-text-change.js.map +0 -1
  119. package/dist/components/base-copilot-textarea/track-cursor-moved-since-last-text-change.mjs +0 -9
  120. package/dist/components/base-copilot-textarea/track-cursor-moved-since-last-text-change.mjs.map +0 -1
  121. package/dist/components/base-copilot-textarea/use-add-branding-css.d.ts +0 -3
  122. package/dist/components/base-copilot-textarea/use-add-branding-css.js +0 -83
  123. package/dist/components/base-copilot-textarea/use-add-branding-css.js.map +0 -1
  124. package/dist/components/base-copilot-textarea/use-add-branding-css.mjs +0 -8
  125. package/dist/components/base-copilot-textarea/use-add-branding-css.mjs.map +0 -1
  126. package/dist/components/copilot-textarea/copilot-textarea.css +0 -9
  127. package/dist/components/copilot-textarea/copilot-textarea.css.map +0 -1
  128. package/dist/components/copilot-textarea/copilot-textarea.d.ts +0 -171
  129. package/dist/components/copilot-textarea/copilot-textarea.js +0 -2289
  130. package/dist/components/copilot-textarea/copilot-textarea.js.map +0 -1
  131. package/dist/components/copilot-textarea/copilot-textarea.mjs +0 -49
  132. package/dist/components/copilot-textarea/copilot-textarea.mjs.map +0 -1
  133. package/dist/components/hovering-toolbar/hovering-editor-provider.d.ts +0 -18
  134. package/dist/components/hovering-toolbar/hovering-editor-provider.js +0 -44
  135. package/dist/components/hovering-toolbar/hovering-editor-provider.js.map +0 -1
  136. package/dist/components/hovering-toolbar/hovering-editor-provider.mjs +0 -10
  137. package/dist/components/hovering-toolbar/hovering-editor-provider.mjs.map +0 -1
  138. package/dist/components/hovering-toolbar/hovering-toolbar-components.d.ts +0 -18
  139. package/dist/components/hovering-toolbar/hovering-toolbar-components.js +0 -174
  140. package/dist/components/hovering-toolbar/hovering-toolbar-components.js.map +0 -1
  141. package/dist/components/hovering-toolbar/hovering-toolbar-components.mjs +0 -16
  142. package/dist/components/hovering-toolbar/hovering-toolbar-components.mjs.map +0 -1
  143. package/dist/components/hovering-toolbar/hovering-toolbar.d.ts +0 -12
  144. package/dist/components/hovering-toolbar/hovering-toolbar.js +0 -912
  145. package/dist/components/hovering-toolbar/hovering-toolbar.js.map +0 -1
  146. package/dist/components/hovering-toolbar/hovering-toolbar.mjs +0 -23
  147. package/dist/components/hovering-toolbar/hovering-toolbar.mjs.map +0 -1
  148. package/dist/components/hovering-toolbar/text-insertion-prompt-box/hovering-insertion-prompt-box-core.d.ts +0 -16
  149. package/dist/components/hovering-toolbar/text-insertion-prompt-box/hovering-insertion-prompt-box-core.js +0 -606
  150. package/dist/components/hovering-toolbar/text-insertion-prompt-box/hovering-insertion-prompt-box-core.js.map +0 -1
  151. package/dist/components/hovering-toolbar/text-insertion-prompt-box/hovering-insertion-prompt-box-core.mjs +0 -18
  152. package/dist/components/hovering-toolbar/text-insertion-prompt-box/hovering-insertion-prompt-box-core.mjs.map +0 -1
  153. package/dist/components/hovering-toolbar/text-insertion-prompt-box/hovering-insertion-prompt-box.d.ts +0 -14
  154. package/dist/components/hovering-toolbar/text-insertion-prompt-box/hovering-insertion-prompt-box.js +0 -629
  155. package/dist/components/hovering-toolbar/text-insertion-prompt-box/hovering-insertion-prompt-box.js.map +0 -1
  156. package/dist/components/hovering-toolbar/text-insertion-prompt-box/hovering-insertion-prompt-box.mjs +0 -19
  157. package/dist/components/hovering-toolbar/text-insertion-prompt-box/hovering-insertion-prompt-box.mjs.map +0 -1
  158. package/dist/components/hovering-toolbar/text-insertion-prompt-box/included-files-preview.d.ts +0 -16
  159. package/dist/components/hovering-toolbar/text-insertion-prompt-box/included-files-preview.js +0 -133
  160. package/dist/components/hovering-toolbar/text-insertion-prompt-box/included-files-preview.js.map +0 -1
  161. package/dist/components/hovering-toolbar/text-insertion-prompt-box/included-files-preview.mjs +0 -12
  162. package/dist/components/hovering-toolbar/text-insertion-prompt-box/included-files-preview.mjs.map +0 -1
  163. package/dist/components/hovering-toolbar/text-insertion-prompt-box/index.d.ts +0 -4
  164. package/dist/components/hovering-toolbar/text-insertion-prompt-box/index.js +0 -629
  165. package/dist/components/hovering-toolbar/text-insertion-prompt-box/index.js.map +0 -1
  166. package/dist/components/hovering-toolbar/text-insertion-prompt-box/index.mjs +0 -20
  167. package/dist/components/hovering-toolbar/text-insertion-prompt-box/index.mjs.map +0 -1
  168. package/dist/components/index.css +0 -9
  169. package/dist/components/index.css.map +0 -1
  170. package/dist/components/index.d.ts +0 -15
  171. package/dist/components/index.js +0 -2293
  172. package/dist/components/index.js.map +0 -1
  173. package/dist/components/index.mjs +0 -53
  174. package/dist/components/index.mjs.map +0 -1
  175. package/dist/components/manual-ui/chip-with-icon.d.ts +0 -10
  176. package/dist/components/manual-ui/chip-with-icon.js +0 -38
  177. package/dist/components/manual-ui/chip-with-icon.js.map +0 -1
  178. package/dist/components/manual-ui/chip-with-icon.mjs +0 -15
  179. package/dist/components/manual-ui/chip-with-icon.mjs.map +0 -1
  180. package/dist/components/source-search-box/source-search-box.d.ts +0 -16
  181. package/dist/components/source-search-box/source-search-box.js +0 -240
  182. package/dist/components/source-search-box/source-search-box.js.map +0 -1
  183. package/dist/components/source-search-box/source-search-box.mjs +0 -13
  184. package/dist/components/source-search-box/source-search-box.mjs.map +0 -1
  185. package/dist/components/ui/button.d.ts +0 -14
  186. package/dist/components/ui/button.js +0 -114
  187. package/dist/components/ui/button.js.map +0 -1
  188. package/dist/components/ui/button.mjs +0 -11
  189. package/dist/components/ui/button.mjs.map +0 -1
  190. package/dist/components/ui/command.d.ts +0 -53
  191. package/dist/components/ui/command.js +0 -285
  192. package/dist/components/ui/command.js.map +0 -1
  193. package/dist/components/ui/command.mjs +0 -26
  194. package/dist/components/ui/command.mjs.map +0 -1
  195. package/dist/components/ui/dialog.d.ts +0 -19
  196. package/dist/components/ui/dialog.js +0 -183
  197. package/dist/components/ui/dialog.js.map +0 -1
  198. package/dist/components/ui/dialog.mjs +0 -21
  199. package/dist/components/ui/dialog.mjs.map +0 -1
  200. package/dist/components/ui/label.d.ts +0 -8
  201. package/dist/components/ui/label.js +0 -87
  202. package/dist/components/ui/label.js.map +0 -1
  203. package/dist/components/ui/label.mjs +0 -9
  204. package/dist/components/ui/label.mjs.map +0 -1
  205. package/dist/context/index.d.ts +0 -2
  206. package/dist/context/index.js +0 -19
  207. package/dist/context/index.js.map +0 -1
  208. package/dist/context/index.mjs +0 -2
  209. package/dist/context/index.mjs.map +0 -1
  210. package/dist/hooks/base-copilot-textarea-implementation/use-autosuggestions.d.ts +0 -15
  211. package/dist/hooks/base-copilot-textarea-implementation/use-autosuggestions.js +0 -180
  212. package/dist/hooks/base-copilot-textarea-implementation/use-autosuggestions.js.map +0 -1
  213. package/dist/hooks/base-copilot-textarea-implementation/use-autosuggestions.mjs +0 -11
  214. package/dist/hooks/base-copilot-textarea-implementation/use-autosuggestions.mjs.map +0 -1
  215. package/dist/hooks/base-copilot-textarea-implementation/use-copilot-textarea-editor.d.ts +0 -8
  216. package/dist/hooks/base-copilot-textarea-implementation/use-copilot-textarea-editor.js +0 -194
  217. package/dist/hooks/base-copilot-textarea-implementation/use-copilot-textarea-editor.js.map +0 -1
  218. package/dist/hooks/base-copilot-textarea-implementation/use-copilot-textarea-editor.mjs +0 -9
  219. package/dist/hooks/base-copilot-textarea-implementation/use-copilot-textarea-editor.mjs.map +0 -1
  220. package/dist/hooks/base-copilot-textarea-implementation/use-populate-copilot-textarea-ref.d.ts +0 -7
  221. package/dist/hooks/base-copilot-textarea-implementation/use-populate-copilot-textarea-ref.js +0 -180
  222. package/dist/hooks/base-copilot-textarea-implementation/use-populate-copilot-textarea-ref.js.map +0 -1
  223. package/dist/hooks/base-copilot-textarea-implementation/use-populate-copilot-textarea-ref.mjs +0 -10
  224. package/dist/hooks/base-copilot-textarea-implementation/use-populate-copilot-textarea-ref.mjs.map +0 -1
  225. package/dist/hooks/index.d.ts +0 -2
  226. package/dist/hooks/index.js +0 -19
  227. package/dist/hooks/index.js.map +0 -1
  228. package/dist/hooks/index.mjs +0 -2
  229. package/dist/hooks/index.mjs.map +0 -1
  230. package/dist/hooks/make-autosuggestions-function/use-make-standard-autosuggestions-function.d.ts +0 -22
  231. package/dist/hooks/make-autosuggestions-function/use-make-standard-autosuggestions-function.js +0 -153
  232. package/dist/hooks/make-autosuggestions-function/use-make-standard-autosuggestions-function.js.map +0 -1
  233. package/dist/hooks/make-autosuggestions-function/use-make-standard-autosuggestions-function.mjs +0 -9
  234. package/dist/hooks/make-autosuggestions-function/use-make-standard-autosuggestions-function.mjs.map +0 -1
  235. package/dist/hooks/make-autosuggestions-function/use-make-standard-insertion-function.d.ts +0 -23
  236. package/dist/hooks/make-autosuggestions-function/use-make-standard-insertion-function.js +0 -228
  237. package/dist/hooks/make-autosuggestions-function/use-make-standard-insertion-function.js.map +0 -1
  238. package/dist/hooks/make-autosuggestions-function/use-make-standard-insertion-function.mjs +0 -9
  239. package/dist/hooks/make-autosuggestions-function/use-make-standard-insertion-function.mjs.map +0 -1
  240. package/dist/hooks/misc/use-autosize-textarea.d.ts +0 -5
  241. package/dist/hooks/misc/use-autosize-textarea.js +0 -37
  242. package/dist/hooks/misc/use-autosize-textarea.js.map +0 -1
  243. package/dist/hooks/misc/use-autosize-textarea.mjs +0 -8
  244. package/dist/hooks/misc/use-autosize-textarea.mjs.map +0 -1
  245. package/dist/index.css +0 -644
  246. package/dist/index.css.map +0 -1
  247. package/dist/index.d.ts +0 -15
  248. package/dist/index.js +0 -2298
  249. package/dist/index.js.map +0 -1
  250. package/dist/index.mjs +0 -64
  251. package/dist/index.mjs.map +0 -1
  252. package/dist/lib/debouncer.d.ts +0 -11
  253. package/dist/lib/debouncer.js +0 -76
  254. package/dist/lib/debouncer.js.map +0 -1
  255. package/dist/lib/debouncer.mjs +0 -8
  256. package/dist/lib/debouncer.mjs.map +0 -1
  257. package/dist/lib/editor-to-text.d.ts +0 -7
  258. package/dist/lib/editor-to-text.js +0 -69
  259. package/dist/lib/editor-to-text.js.map +0 -1
  260. package/dist/lib/editor-to-text.mjs +0 -8
  261. package/dist/lib/editor-to-text.mjs.map +0 -1
  262. package/dist/lib/get-text-around-cursor.d.ts +0 -15
  263. package/dist/lib/get-text-around-cursor.js +0 -131
  264. package/dist/lib/get-text-around-cursor.js.map +0 -1
  265. package/dist/lib/get-text-around-cursor.mjs +0 -14
  266. package/dist/lib/get-text-around-cursor.mjs.map +0 -1
  267. package/dist/lib/retry.d.ts +0 -3
  268. package/dist/lib/retry.js +0 -43
  269. package/dist/lib/retry.js.map +0 -1
  270. package/dist/lib/retry.mjs +0 -8
  271. package/dist/lib/retry.mjs.map +0 -1
  272. package/dist/lib/slatejs-edits/add-autocompletions.d.ts +0 -8
  273. package/dist/lib/slatejs-edits/add-autocompletions.js +0 -51
  274. package/dist/lib/slatejs-edits/add-autocompletions.js.map +0 -1
  275. package/dist/lib/slatejs-edits/add-autocompletions.mjs +0 -8
  276. package/dist/lib/slatejs-edits/add-autocompletions.mjs.map +0 -1
  277. package/dist/lib/slatejs-edits/clear-autocompletions.d.ts +0 -8
  278. package/dist/lib/slatejs-edits/clear-autocompletions.js +0 -46
  279. package/dist/lib/slatejs-edits/clear-autocompletions.js.map +0 -1
  280. package/dist/lib/slatejs-edits/clear-autocompletions.mjs +0 -8
  281. package/dist/lib/slatejs-edits/clear-autocompletions.mjs.map +0 -1
  282. package/dist/lib/slatejs-edits/replace-text.d.ts +0 -5
  283. package/dist/lib/slatejs-edits/replace-text.js +0 -53
  284. package/dist/lib/slatejs-edits/replace-text.js.map +0 -1
  285. package/dist/lib/slatejs-edits/replace-text.mjs +0 -8
  286. package/dist/lib/slatejs-edits/replace-text.mjs.map +0 -1
  287. package/dist/lib/slatejs-edits/with-partial-history.d.ts +0 -8
  288. package/dist/lib/slatejs-edits/with-partial-history.js +0 -133
  289. package/dist/lib/slatejs-edits/with-partial-history.js.map +0 -1
  290. package/dist/lib/slatejs-edits/with-partial-history.mjs +0 -10
  291. package/dist/lib/slatejs-edits/with-partial-history.mjs.map +0 -1
  292. package/dist/lib/stream-promise-flatten.d.ts +0 -12
  293. package/dist/lib/stream-promise-flatten.js +0 -72
  294. package/dist/lib/stream-promise-flatten.js.map +0 -1
  295. package/dist/lib/stream-promise-flatten.mjs +0 -8
  296. package/dist/lib/stream-promise-flatten.mjs.map +0 -1
  297. package/dist/lib/utils.d.ts +0 -9
  298. package/dist/lib/utils.js +0 -94
  299. package/dist/lib/utils.js.map +0 -1
  300. package/dist/lib/utils.mjs +0 -16
  301. package/dist/lib/utils.mjs.map +0 -1
  302. package/dist/lib/utils.test.d.ts +0 -2
  303. package/dist/lib/utils.test.js +0 -9
  304. package/dist/lib/utils.test.js.map +0 -1
  305. package/dist/lib/utils.test.mjs +0 -7
  306. package/dist/lib/utils.test.mjs.map +0 -1
  307. package/dist/types/autosuggestions-config/autosuggestions-config-user-specified.d.ts +0 -23
  308. package/dist/types/autosuggestions-config/autosuggestions-config-user-specified.js +0 -19
  309. package/dist/types/autosuggestions-config/autosuggestions-config-user-specified.js.map +0 -1
  310. package/dist/types/autosuggestions-config/autosuggestions-config-user-specified.mjs +0 -1
  311. package/dist/types/autosuggestions-config/autosuggestions-config-user-specified.mjs.map +0 -1
  312. package/dist/types/autosuggestions-config/autosuggestions-config.d.ts +0 -20
  313. package/dist/types/autosuggestions-config/autosuggestions-config.js +0 -287
  314. package/dist/types/autosuggestions-config/autosuggestions-config.js.map +0 -1
  315. package/dist/types/autosuggestions-config/autosuggestions-config.mjs +0 -13
  316. package/dist/types/autosuggestions-config/autosuggestions-config.mjs.map +0 -1
  317. package/dist/types/autosuggestions-config/editing-api-config.d.ts +0 -15
  318. package/dist/types/autosuggestions-config/editing-api-config.js +0 -108
  319. package/dist/types/autosuggestions-config/editing-api-config.js.map +0 -1
  320. package/dist/types/autosuggestions-config/editing-api-config.mjs +0 -12
  321. package/dist/types/autosuggestions-config/editing-api-config.mjs.map +0 -1
  322. package/dist/types/autosuggestions-config/index.d.ts +0 -10
  323. package/dist/types/autosuggestions-config/index.js +0 -287
  324. package/dist/types/autosuggestions-config/index.js.map +0 -1
  325. package/dist/types/autosuggestions-config/index.mjs +0 -14
  326. package/dist/types/autosuggestions-config/index.mjs.map +0 -1
  327. package/dist/types/autosuggestions-config/insertions-api-config.d.ts +0 -15
  328. package/dist/types/autosuggestions-config/insertions-api-config.js +0 -101
  329. package/dist/types/autosuggestions-config/insertions-api-config.js.map +0 -1
  330. package/dist/types/autosuggestions-config/insertions-api-config.mjs +0 -12
  331. package/dist/types/autosuggestions-config/insertions-api-config.mjs.map +0 -1
  332. package/dist/types/autosuggestions-config/subtypes/make-system-prompt.d.ts +0 -3
  333. package/dist/types/autosuggestions-config/subtypes/make-system-prompt.js +0 -19
  334. package/dist/types/autosuggestions-config/subtypes/make-system-prompt.js.map +0 -1
  335. package/dist/types/autosuggestions-config/subtypes/make-system-prompt.mjs +0 -1
  336. package/dist/types/autosuggestions-config/subtypes/make-system-prompt.mjs.map +0 -1
  337. package/dist/types/autosuggestions-config/suggestions-api-config.d.ts +0 -15
  338. package/dist/types/autosuggestions-config/suggestions-api-config.js +0 -90
  339. package/dist/types/autosuggestions-config/suggestions-api-config.js.map +0 -1
  340. package/dist/types/autosuggestions-config/suggestions-api-config.mjs +0 -12
  341. package/dist/types/autosuggestions-config/suggestions-api-config.mjs.map +0 -1
  342. package/dist/types/base/autosuggestion-state.d.ts +0 -8
  343. package/dist/types/base/autosuggestion-state.js +0 -19
  344. package/dist/types/base/autosuggestion-state.js.map +0 -1
  345. package/dist/types/base/autosuggestion-state.mjs +0 -1
  346. package/dist/types/base/autosuggestion-state.mjs.map +0 -1
  347. package/dist/types/base/autosuggestions-bare-function.d.ts +0 -19
  348. package/dist/types/base/autosuggestions-bare-function.js +0 -19
  349. package/dist/types/base/autosuggestions-bare-function.js.map +0 -1
  350. package/dist/types/base/autosuggestions-bare-function.mjs +0 -1
  351. package/dist/types/base/autosuggestions-bare-function.mjs.map +0 -1
  352. package/dist/types/base/base-autosuggestions-config.d.ts +0 -83
  353. package/dist/types/base/base-autosuggestions-config.js +0 -54
  354. package/dist/types/base/base-autosuggestions-config.js.map +0 -1
  355. package/dist/types/base/base-autosuggestions-config.mjs +0 -8
  356. package/dist/types/base/base-autosuggestions-config.mjs.map +0 -1
  357. package/dist/types/base/base-copilot-textarea-props.d.ts +0 -5
  358. package/dist/types/base/base-copilot-textarea-props.js +0 -19
  359. package/dist/types/base/base-copilot-textarea-props.js.map +0 -1
  360. package/dist/types/base/base-copilot-textarea-props.mjs +0 -1
  361. package/dist/types/base/base-copilot-textarea-props.mjs.map +0 -1
  362. package/dist/types/base/custom-editor.d.ts +0 -29
  363. package/dist/types/base/custom-editor.js +0 -19
  364. package/dist/types/base/custom-editor.js.map +0 -1
  365. package/dist/types/base/custom-editor.mjs +0 -1
  366. package/dist/types/base/custom-editor.mjs.map +0 -1
  367. package/dist/types/base/editor-autocomplete-state.d.ts +0 -10
  368. package/dist/types/base/editor-autocomplete-state.js +0 -40
  369. package/dist/types/base/editor-autocomplete-state.js.map +0 -1
  370. package/dist/types/base/editor-autocomplete-state.mjs +0 -9
  371. package/dist/types/base/editor-autocomplete-state.mjs.map +0 -1
  372. package/dist/types/base/index.d.ts +0 -54
  373. package/dist/types/base/index.js +0 -56
  374. package/dist/types/base/index.js.map +0 -1
  375. package/dist/types/base/index.mjs +0 -9
  376. package/dist/types/base/index.mjs.map +0 -1
  377. package/dist/types/html-copilot-textarea-element.d.ts +0 -7
  378. package/dist/types/html-copilot-textarea-element.js +0 -19
  379. package/dist/types/html-copilot-textarea-element.js.map +0 -1
  380. package/dist/types/html-copilot-textarea-element.mjs +0 -2
  381. package/dist/types/html-copilot-textarea-element.mjs.map +0 -1
  382. package/dist/types/index.d.ts +0 -13
  383. package/dist/types/index.js +0 -289
  384. package/dist/types/index.js.map +0 -1
  385. package/dist/types/index.mjs +0 -19
  386. package/dist/types/index.mjs.map +0 -1
@@ -1,87 +0,0 @@
1
- "use strict";
2
- var __create = Object.create;
3
- var __defProp = Object.defineProperty;
4
- var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
5
- var __getOwnPropNames = Object.getOwnPropertyNames;
6
- var __getOwnPropSymbols = Object.getOwnPropertySymbols;
7
- var __getProtoOf = Object.getPrototypeOf;
8
- var __hasOwnProp = Object.prototype.hasOwnProperty;
9
- var __propIsEnum = Object.prototype.propertyIsEnumerable;
10
- var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
11
- var __spreadValues = (a, b) => {
12
- for (var prop in b || (b = {}))
13
- if (__hasOwnProp.call(b, prop))
14
- __defNormalProp(a, prop, b[prop]);
15
- if (__getOwnPropSymbols)
16
- for (var prop of __getOwnPropSymbols(b)) {
17
- if (__propIsEnum.call(b, prop))
18
- __defNormalProp(a, prop, b[prop]);
19
- }
20
- return a;
21
- };
22
- var __objRest = (source, exclude) => {
23
- var target = {};
24
- for (var prop in source)
25
- if (__hasOwnProp.call(source, prop) && exclude.indexOf(prop) < 0)
26
- target[prop] = source[prop];
27
- if (source != null && __getOwnPropSymbols)
28
- for (var prop of __getOwnPropSymbols(source)) {
29
- if (exclude.indexOf(prop) < 0 && __propIsEnum.call(source, prop))
30
- target[prop] = source[prop];
31
- }
32
- return target;
33
- };
34
- var __export = (target, all) => {
35
- for (var name in all)
36
- __defProp(target, name, { get: all[name], enumerable: true });
37
- };
38
- var __copyProps = (to, from, except, desc) => {
39
- if (from && typeof from === "object" || typeof from === "function") {
40
- for (let key of __getOwnPropNames(from))
41
- if (!__hasOwnProp.call(to, key) && key !== except)
42
- __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
43
- }
44
- return to;
45
- };
46
- var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
47
- // If the importer is in node compatibility mode or this is not an ESM
48
- // file that has been converted to a CommonJS file using a Babel-
49
- // compatible transform (i.e. "__esModule" has not been set), then set
50
- // "default" to the CommonJS "module.exports" for node compatibility.
51
- isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
52
- mod
53
- ));
54
- var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
55
-
56
- // src/components/ui/label.tsx
57
- var label_exports = {};
58
- __export(label_exports, {
59
- Label: () => Label
60
- });
61
- module.exports = __toCommonJS(label_exports);
62
- var React = __toESM(require("react"));
63
- var LabelPrimitive = __toESM(require("@radix-ui/react-label"));
64
- var import_class_variance_authority = require("class-variance-authority");
65
-
66
- // src/lib/utils.ts
67
- var import_clsx = require("clsx");
68
- var import_tailwind_merge = require("tailwind-merge");
69
- function cn(...inputs) {
70
- return (0, import_tailwind_merge.twMerge)((0, import_clsx.clsx)(inputs));
71
- }
72
-
73
- // src/components/ui/label.tsx
74
- var import_jsx_runtime = require("react/jsx-runtime");
75
- var labelVariants = (0, import_class_variance_authority.cva)(
76
- "text-sm font-medium leading-none peer-disabled:cursor-not-allowed peer-disabled:opacity-70"
77
- );
78
- var Label = React.forwardRef((_a, ref) => {
79
- var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
80
- return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(LabelPrimitive.Root, __spreadValues({ ref, className: cn(labelVariants(), className) }, props));
81
- });
82
- Label.displayName = LabelPrimitive.Root.displayName;
83
- // Annotate the CommonJS export names for ESM import in node:
84
- 0 && (module.exports = {
85
- Label
86
- });
87
- //# sourceMappingURL=label.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../src/components/ui/label.tsx","../../../src/lib/utils.ts"],"sourcesContent":["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","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"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,YAAuB;AACvB,qBAAgC;AAChC,sCAAuC;;;ACFvC,kBAAsC;AACtC,4BAAwB;AAEjB,SAAS,MAAM,QAAsB;AAC1C,aAAO,mCAAQ,kBAAK,MAAM,CAAC;AAC7B;;;ADSE;AARF,IAAM,oBAAgB;AAAA,EACpB;AACF;AAEA,IAAM,QAAc,iBAGlB,CAAC,IAAyB,QAAK;AAA9B,eAAE,YAbL,IAaG,IAAgB,kBAAhB,IAAgB,CAAd;AACH,qDAAgB,qBAAf,iBAAoB,KAAU,WAAW,GAAG,cAAc,GAAG,SAAS,KAAO,MAAO;AAAA,CACtF;AACD,MAAM,cAA6B,oBAAK;","names":[]}
@@ -1,9 +0,0 @@
1
- import {
2
- Label
3
- } from "../../chunk-D47EKHIF.mjs";
4
- import "../../chunk-YLFAIYRY.mjs";
5
- import "../../chunk-MRXNTQOX.mjs";
6
- export {
7
- Label
8
- };
9
- //# sourceMappingURL=label.mjs.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":[],"sourcesContent":[],"mappings":"","names":[]}
@@ -1,2 +0,0 @@
1
-
2
- export { }
@@ -1,19 +0,0 @@
1
- "use strict";
2
- var __defProp = Object.defineProperty;
3
- var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
- var __getOwnPropNames = Object.getOwnPropertyNames;
5
- var __hasOwnProp = Object.prototype.hasOwnProperty;
6
- var __copyProps = (to, from, except, desc) => {
7
- if (from && typeof from === "object" || typeof from === "function") {
8
- for (let key of __getOwnPropNames(from))
9
- if (!__hasOwnProp.call(to, key) && key !== except)
10
- __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
11
- }
12
- return to;
13
- };
14
- var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
15
-
16
- // src/context/index.ts
17
- var context_exports = {};
18
- module.exports = __toCommonJS(context_exports);
19
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../src/context/index.ts"],"sourcesContent":["export {};\n"],"mappings":";;;;;;;;;;;;;;;;AAAA;AAAA;","names":[]}
@@ -1,2 +0,0 @@
1
- import "../chunk-IU3WTXLQ.mjs";
2
- //# sourceMappingURL=index.mjs.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":[],"sourcesContent":[],"mappings":"","names":[]}
@@ -1,15 +0,0 @@
1
- import { AutosuggestionsBareFunction } from '../../types/base/autosuggestions-bare-function.js';
2
- import { AutosuggestionState } from '../../types/base/autosuggestion-state.js';
3
- import { EditorAutocompleteState } from '../../types/base/editor-autocomplete-state.js';
4
- import '@copilotkit/react-core';
5
- import 'slate';
6
-
7
- interface UseAutosuggestionsResult {
8
- currentAutocompleteSuggestion: AutosuggestionState | null;
9
- onChangeHandler: (newEditorState: EditorAutocompleteState | null) => void;
10
- onKeyDownHandler: (event: React.KeyboardEvent<HTMLDivElement>) => void;
11
- onTouchStartHandler: (event: React.TouchEvent<HTMLDivElement>) => void;
12
- }
13
- declare function useAutosuggestions(debounceTime: number, shouldAcceptAutosuggestionOnKeyPress: (event: React.KeyboardEvent<HTMLDivElement>) => boolean, shouldAcceptAutosuggestionOnTouch: (event: React.TouchEvent<HTMLDivElement>) => boolean, autosuggestionFunction: AutosuggestionsBareFunction, insertAutocompleteSuggestion: (suggestion: AutosuggestionState) => void, disableWhenEmpty: boolean, disabled: boolean): UseAutosuggestionsResult;
14
-
15
- export { UseAutosuggestionsResult, useAutosuggestions };
@@ -1,180 +0,0 @@
1
- "use strict";
2
- var __defProp = Object.defineProperty;
3
- var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
- var __getOwnPropNames = Object.getOwnPropertyNames;
5
- var __hasOwnProp = Object.prototype.hasOwnProperty;
6
- var __export = (target, all) => {
7
- for (var name in all)
8
- __defProp(target, name, { get: all[name], enumerable: true });
9
- };
10
- var __copyProps = (to, from, except, desc) => {
11
- if (from && typeof from === "object" || typeof from === "function") {
12
- for (let key of __getOwnPropNames(from))
13
- if (!__hasOwnProp.call(to, key) && key !== except)
14
- __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
15
- }
16
- return to;
17
- };
18
- var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
- var __async = (__this, __arguments, generator) => {
20
- return new Promise((resolve, reject) => {
21
- var fulfilled = (value) => {
22
- try {
23
- step(generator.next(value));
24
- } catch (e) {
25
- reject(e);
26
- }
27
- };
28
- var rejected = (value) => {
29
- try {
30
- step(generator.throw(value));
31
- } catch (e) {
32
- reject(e);
33
- }
34
- };
35
- var step = (x) => x.done ? resolve(x.value) : Promise.resolve(x.value).then(fulfilled, rejected);
36
- step((generator = generator.apply(__this, __arguments)).next());
37
- });
38
- };
39
-
40
- // src/hooks/base-copilot-textarea-implementation/use-autosuggestions.ts
41
- var use_autosuggestions_exports = {};
42
- __export(use_autosuggestions_exports, {
43
- useAutosuggestions: () => useAutosuggestions
44
- });
45
- module.exports = __toCommonJS(use_autosuggestions_exports);
46
- var import_react = require("react");
47
-
48
- // src/lib/debouncer.ts
49
- var Debouncer = class {
50
- constructor(wait) {
51
- this.wait = wait;
52
- this.debounce = (func, ...args) => __async(this, null, function* () {
53
- this.cancel();
54
- this.timeoutId = setTimeout(() => __async(this, null, function* () {
55
- try {
56
- this.activeAbortController = new AbortController();
57
- yield func(...args, this.activeAbortController.signal);
58
- this.activeAbortController = void 0;
59
- } catch (error) {
60
- }
61
- }), this.wait);
62
- });
63
- this.cancel = () => {
64
- if (this.activeAbortController) {
65
- this.activeAbortController.abort();
66
- this.activeAbortController = void 0;
67
- }
68
- if (this.timeoutId !== void 0) {
69
- clearTimeout(this.timeoutId);
70
- this.timeoutId = void 0;
71
- }
72
- };
73
- }
74
- };
75
-
76
- // src/lib/utils.ts
77
- var import_clsx = require("clsx");
78
- var import_tailwind_merge = require("tailwind-merge");
79
- var arraysAreEqual = (arr1, arr2) => arr1.length === arr2.length && arr1.every((value, index) => value === arr2[index]);
80
- function nullableCompatibleEqualityCheck(naiveEqualityCheck, a, b) {
81
- if (a === null || a === void 0 || b === null || b === void 0) {
82
- return a === b;
83
- }
84
- return naiveEqualityCheck(a, b);
85
- }
86
-
87
- // src/types/base/editor-autocomplete-state.ts
88
- function areEqual_autocompleteState(prev, next) {
89
- return prev.cursorPoint.offset === next.cursorPoint.offset && arraysAreEqual(prev.cursorPoint.path, next.cursorPoint.path) && prev.textBeforeCursor === next.textBeforeCursor && prev.textAfterCursor === next.textAfterCursor;
90
- }
91
-
92
- // src/hooks/base-copilot-textarea-implementation/use-autosuggestions.ts
93
- function useAutosuggestions(debounceTime, shouldAcceptAutosuggestionOnKeyPress, shouldAcceptAutosuggestionOnTouch, autosuggestionFunction, insertAutocompleteSuggestion, disableWhenEmpty, disabled) {
94
- const [previousAutocompleteState, setPreviousAutocompleteState] = (0, import_react.useState)(null);
95
- const [currentAutocompleteSuggestion, setCurrentAutocompleteSuggestion] = (0, import_react.useState)(null);
96
- const awaitForAndAppendSuggestion = (0, import_react.useCallback)(
97
- (editorAutocompleteState, abortSignal) => __async(this, null, function* () {
98
- if (disabled) {
99
- return;
100
- }
101
- if (disableWhenEmpty && editorAutocompleteState.textBeforeCursor === "" && editorAutocompleteState.textAfterCursor === "") {
102
- return;
103
- }
104
- const suggestion = yield autosuggestionFunction(editorAutocompleteState, abortSignal);
105
- if (!suggestion || abortSignal.aborted) {
106
- throw new DOMException("Aborted", "AbortError");
107
- }
108
- setCurrentAutocompleteSuggestion({
109
- text: suggestion,
110
- point: editorAutocompleteState.cursorPoint
111
- });
112
- }),
113
- [autosuggestionFunction, setCurrentAutocompleteSuggestion, disableWhenEmpty, disabled]
114
- );
115
- const debouncedFunction = (0, import_react.useMemo)(
116
- () => new Debouncer(debounceTime),
117
- [debounceTime]
118
- );
119
- (0, import_react.useEffect)(() => {
120
- return () => {
121
- debouncedFunction.cancel();
122
- setCurrentAutocompleteSuggestion(null);
123
- };
124
- }, [debouncedFunction, disabled]);
125
- const onChange = (0, import_react.useCallback)(
126
- (newEditorState) => {
127
- const editorStateHasChanged = !nullableCompatibleEqualityCheck(
128
- areEqual_autocompleteState,
129
- previousAutocompleteState,
130
- newEditorState
131
- );
132
- setPreviousAutocompleteState(newEditorState);
133
- if (!editorStateHasChanged) {
134
- return;
135
- }
136
- setCurrentAutocompleteSuggestion(null);
137
- if (newEditorState) {
138
- debouncedFunction.debounce(awaitForAndAppendSuggestion, newEditorState);
139
- } else {
140
- debouncedFunction.cancel();
141
- }
142
- },
143
- [
144
- previousAutocompleteState,
145
- setPreviousAutocompleteState,
146
- debouncedFunction,
147
- awaitForAndAppendSuggestion,
148
- setCurrentAutocompleteSuggestion
149
- ]
150
- );
151
- const keyDownOrTouchHandler = (0, import_react.useCallback)(
152
- (event) => {
153
- if (currentAutocompleteSuggestion) {
154
- const shouldAcceptSuggestion = event.type === "touchstart" ? shouldAcceptAutosuggestionOnTouch(event) : shouldAcceptAutosuggestionOnKeyPress(event);
155
- if (shouldAcceptSuggestion) {
156
- event.preventDefault();
157
- insertAutocompleteSuggestion(currentAutocompleteSuggestion);
158
- setCurrentAutocompleteSuggestion(null);
159
- }
160
- }
161
- },
162
- [
163
- currentAutocompleteSuggestion,
164
- setCurrentAutocompleteSuggestion,
165
- insertAutocompleteSuggestion,
166
- shouldAcceptAutosuggestionOnKeyPress
167
- ]
168
- );
169
- return {
170
- currentAutocompleteSuggestion,
171
- onChangeHandler: onChange,
172
- onKeyDownHandler: keyDownOrTouchHandler,
173
- onTouchStartHandler: keyDownOrTouchHandler
174
- };
175
- }
176
- // Annotate the CommonJS export names for ESM import in node:
177
- 0 && (module.exports = {
178
- useAutosuggestions
179
- });
180
- //# sourceMappingURL=use-autosuggestions.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../src/hooks/base-copilot-textarea-implementation/use-autosuggestions.ts","../../../src/lib/debouncer.ts","../../../src/lib/utils.ts","../../../src/types/base/editor-autocomplete-state.ts"],"sourcesContent":["import { useCallback, useEffect, useMemo, useState } from \"react\";\nimport { Debouncer } from \"../../lib/debouncer\";\nimport { nullableCompatibleEqualityCheck } from \"../../lib/utils\";\nimport { AutosuggestionsBareFunction } from \"../../types/base\";\nimport { AutosuggestionState } from \"../../types/base/autosuggestion-state\";\nimport {\n EditorAutocompleteState,\n areEqual_autocompleteState,\n} from \"../../types/base/editor-autocomplete-state\";\n\nexport interface UseAutosuggestionsResult {\n currentAutocompleteSuggestion: AutosuggestionState | null;\n onChangeHandler: (newEditorState: EditorAutocompleteState | null) => void;\n onKeyDownHandler: (event: React.KeyboardEvent<HTMLDivElement>) => void;\n onTouchStartHandler: (event: React.TouchEvent<HTMLDivElement>) => void;\n}\n\nexport function useAutosuggestions(\n debounceTime: number,\n shouldAcceptAutosuggestionOnKeyPress: (event: React.KeyboardEvent<HTMLDivElement>) => boolean,\n shouldAcceptAutosuggestionOnTouch: (event: React.TouchEvent<HTMLDivElement>) => boolean,\n autosuggestionFunction: AutosuggestionsBareFunction,\n insertAutocompleteSuggestion: (suggestion: AutosuggestionState) => void,\n disableWhenEmpty: boolean,\n disabled: boolean,\n): UseAutosuggestionsResult {\n const [previousAutocompleteState, setPreviousAutocompleteState] =\n useState<EditorAutocompleteState | null>(null);\n\n const [currentAutocompleteSuggestion, setCurrentAutocompleteSuggestion] =\n useState<AutosuggestionState | null>(null);\n\n const awaitForAndAppendSuggestion: (\n editorAutocompleteState: EditorAutocompleteState,\n abortSignal: AbortSignal,\n ) => Promise<void> = useCallback(\n async (editorAutocompleteState: EditorAutocompleteState, abortSignal: AbortSignal) => {\n // early return if disabled\n if (disabled) {\n return;\n }\n\n if (\n disableWhenEmpty &&\n editorAutocompleteState.textBeforeCursor === \"\" &&\n editorAutocompleteState.textAfterCursor === \"\"\n ) {\n return;\n }\n\n // fetch the suggestion\n const suggestion = await autosuggestionFunction(editorAutocompleteState, abortSignal);\n\n // We'll assume for now that the autocomplete function might or might not respect the abort signal.\n if (!suggestion || abortSignal.aborted) {\n throw new DOMException(\"Aborted\", \"AbortError\");\n }\n\n setCurrentAutocompleteSuggestion({\n text: suggestion,\n point: editorAutocompleteState.cursorPoint,\n });\n },\n [autosuggestionFunction, setCurrentAutocompleteSuggestion, disableWhenEmpty, disabled],\n );\n\n const debouncedFunction = useMemo(\n () => new Debouncer<[editorAutocompleteState: EditorAutocompleteState]>(debounceTime),\n [debounceTime],\n );\n\n // clean current state when unmounting or disabling\n useEffect(() => {\n return () => {\n debouncedFunction.cancel();\n setCurrentAutocompleteSuggestion(null);\n };\n }, [debouncedFunction, disabled]);\n\n const onChange = useCallback(\n (newEditorState: EditorAutocompleteState | null) => {\n const editorStateHasChanged = !nullableCompatibleEqualityCheck(\n areEqual_autocompleteState,\n previousAutocompleteState,\n newEditorState,\n );\n setPreviousAutocompleteState(newEditorState);\n\n // if no change, do nothing\n if (!editorStateHasChanged) {\n return;\n }\n\n // if change, then first null out the current suggestion\n setCurrentAutocompleteSuggestion(null);\n\n // then try to get a new suggestion, debouncing to avoid too many requests while typing\n if (newEditorState) {\n debouncedFunction.debounce(awaitForAndAppendSuggestion, newEditorState);\n } else {\n debouncedFunction.cancel();\n }\n },\n [\n previousAutocompleteState,\n setPreviousAutocompleteState,\n debouncedFunction,\n awaitForAndAppendSuggestion,\n setCurrentAutocompleteSuggestion,\n ],\n );\n\n const keyDownOrTouchHandler = useCallback(\n (event: React.KeyboardEvent<HTMLDivElement> | React.TouchEvent<HTMLDivElement>) => {\n if (currentAutocompleteSuggestion) {\n const shouldAcceptSuggestion =\n event.type === \"touchstart\"\n ? shouldAcceptAutosuggestionOnTouch(event as React.TouchEvent<HTMLDivElement>)\n : shouldAcceptAutosuggestionOnKeyPress(event as React.KeyboardEvent<HTMLDivElement>);\n\n if (shouldAcceptSuggestion) {\n event.preventDefault();\n insertAutocompleteSuggestion(currentAutocompleteSuggestion);\n setCurrentAutocompleteSuggestion(null);\n }\n }\n },\n [\n currentAutocompleteSuggestion,\n setCurrentAutocompleteSuggestion,\n insertAutocompleteSuggestion,\n shouldAcceptAutosuggestionOnKeyPress,\n ],\n );\n\n return {\n currentAutocompleteSuggestion,\n onChangeHandler: onChange,\n onKeyDownHandler: keyDownOrTouchHandler,\n onTouchStartHandler: keyDownOrTouchHandler,\n };\n}\n","export type AsyncFunction<T extends any[]> = (...args: [...T, AbortSignal]) => Promise<void>;\n\nexport class Debouncer<T extends any[]> {\n private timeoutId?: ReturnType<typeof setTimeout>;\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","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 { BasePoint } from \"slate\";\nimport { arraysAreEqual } from \"../../lib/utils\";\n\nexport interface EditorAutocompleteState {\n cursorPoint: BasePoint;\n textBeforeCursor: string;\n textAfterCursor: string;\n}\n\nexport function areEqual_autocompleteState(\n prev: EditorAutocompleteState,\n next: EditorAutocompleteState,\n) {\n return (\n prev.cursorPoint.offset === next.cursorPoint.offset &&\n arraysAreEqual(prev.cursorPoint.path, next.cursorPoint.path) &&\n prev.textBeforeCursor === next.textBeforeCursor &&\n prev.textAfterCursor === next.textAfterCursor\n );\n}\n"],"mappings":"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","names":[]}
@@ -1,11 +0,0 @@
1
- import {
2
- useAutosuggestions
3
- } from "../../chunk-23Q6A46J.mjs";
4
- import "../../chunk-AJ5OMEXM.mjs";
5
- import "../../chunk-YLFAIYRY.mjs";
6
- import "../../chunk-DFTV4TST.mjs";
7
- import "../../chunk-MRXNTQOX.mjs";
8
- export {
9
- useAutosuggestions
10
- };
11
- //# sourceMappingURL=use-autosuggestions.mjs.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":[],"sourcesContent":[],"mappings":"","names":[]}
@@ -1,8 +0,0 @@
1
- import { CustomEditor } from '../../types/base/custom-editor.js';
2
- import 'slate';
3
- import 'slate-react';
4
- import 'slate-history';
5
-
6
- declare function useCopilotTextareaEditor(): CustomEditor;
7
-
8
- export { useCopilotTextareaEditor };
@@ -1,194 +0,0 @@
1
- "use strict";
2
- var __defProp = Object.defineProperty;
3
- var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
- var __getOwnPropNames = Object.getOwnPropertyNames;
5
- var __hasOwnProp = Object.prototype.hasOwnProperty;
6
- var __export = (target, all) => {
7
- for (var name in all)
8
- __defProp(target, name, { get: all[name], enumerable: true });
9
- };
10
- var __copyProps = (to, from, except, desc) => {
11
- if (from && typeof from === "object" || typeof from === "function") {
12
- for (let key of __getOwnPropNames(from))
13
- if (!__hasOwnProp.call(to, key) && key !== except)
14
- __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
15
- }
16
- return to;
17
- };
18
- var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
-
20
- // src/hooks/base-copilot-textarea-implementation/use-copilot-textarea-editor.tsx
21
- var use_copilot_textarea_editor_exports = {};
22
- __export(use_copilot_textarea_editor_exports, {
23
- useCopilotTextareaEditor: () => useCopilotTextareaEditor
24
- });
25
- module.exports = __toCommonJS(use_copilot_textarea_editor_exports);
26
- var import_react = require("react");
27
- var import_slate2 = require("slate");
28
- var import_slate_react = require("slate-react");
29
-
30
- // src/lib/slatejs-edits/with-partial-history.ts
31
- var import_slate = require("slate");
32
- var import_slate_history = require("slate-history");
33
- var withPartialHistory = (editor, shouldSave2) => {
34
- const e = editor;
35
- const { apply } = e;
36
- e.history = { undos: [], redos: [] };
37
- e.redo = () => {
38
- const { history } = e;
39
- const { redos } = history;
40
- if (redos.length > 0) {
41
- const batch = redos[redos.length - 1];
42
- if (batch.selectionBefore) {
43
- import_slate.Transforms.setSelection(e, batch.selectionBefore);
44
- }
45
- import_slate_history.HistoryEditor.withoutSaving(e, () => {
46
- import_slate.Editor.withoutNormalizing(e, () => {
47
- for (const op of batch.operations) {
48
- e.apply(op);
49
- }
50
- });
51
- });
52
- history.redos.pop();
53
- e.writeHistory("undos", batch);
54
- }
55
- };
56
- e.undo = () => {
57
- const { history } = e;
58
- const { undos } = history;
59
- if (undos.length > 0) {
60
- const batch = undos[undos.length - 1];
61
- import_slate_history.HistoryEditor.withoutSaving(e, () => {
62
- import_slate.Editor.withoutNormalizing(e, () => {
63
- const inverseOps = batch.operations.map(import_slate.Operation.inverse).reverse();
64
- for (const op of inverseOps) {
65
- e.apply(op);
66
- }
67
- if (batch.selectionBefore) {
68
- import_slate.Transforms.setSelection(e, batch.selectionBefore);
69
- }
70
- });
71
- });
72
- e.writeHistory("redos", batch);
73
- history.undos.pop();
74
- }
75
- };
76
- e.apply = (op) => {
77
- const { operations, history } = e;
78
- const { undos } = history;
79
- const lastBatch = undos[undos.length - 1];
80
- const lastOp = lastBatch && lastBatch.operations[lastBatch.operations.length - 1];
81
- let save = import_slate_history.HistoryEditor.isSaving(e);
82
- let merge = import_slate_history.HistoryEditor.isMerging(e);
83
- if (save == null) {
84
- save = shouldSave2(op, lastOp);
85
- }
86
- if (save) {
87
- if (merge == null) {
88
- if (lastBatch == null) {
89
- merge = false;
90
- } else if (operations.length !== 0) {
91
- merge = true;
92
- } else {
93
- merge = shouldMerge(op, lastOp);
94
- }
95
- }
96
- if (lastBatch && merge) {
97
- lastBatch.operations.push(op);
98
- } else {
99
- const batch = {
100
- operations: [op],
101
- selectionBefore: e.selection
102
- };
103
- e.writeHistory("undos", batch);
104
- }
105
- while (undos.length > 100) {
106
- undos.shift();
107
- }
108
- history.redos = [];
109
- }
110
- apply(op);
111
- };
112
- e.writeHistory = (stack, batch) => {
113
- e.history[stack].push(batch);
114
- };
115
- return e;
116
- };
117
- var shouldMerge = (op, prev) => {
118
- if (prev && op.type === "insert_text" && prev.type === "insert_text" && op.offset === prev.offset + prev.text.length && import_slate.Path.equals(op.path, prev.path)) {
119
- return true;
120
- }
121
- if (prev && op.type === "remove_text" && prev.type === "remove_text" && op.offset + op.text.length === prev.offset && import_slate.Path.equals(op.path, prev.path)) {
122
- return true;
123
- }
124
- return false;
125
- };
126
- var defaultShouldSave = (op, prev) => {
127
- if (op.type === "set_selection") {
128
- return false;
129
- }
130
- return true;
131
- };
132
-
133
- // src/hooks/base-copilot-textarea-implementation/use-copilot-textarea-editor.tsx
134
- var shouldSave = (op, prev) => {
135
- const excludedNodeType = "suggestion";
136
- if (op.type === "insert_node" && import_slate2.Element.isElement(op.node) && op.node.type === excludedNodeType) {
137
- return false;
138
- }
139
- if (op.type === "remove_node" && import_slate2.Element.isElement(op.node) && op.node.type === excludedNodeType) {
140
- return false;
141
- }
142
- if (op.type === "set_node" && "type" in op.newProperties && op.newProperties.type === excludedNodeType) {
143
- return false;
144
- }
145
- if (op.type == "set_node" && "type" in op.properties && op.properties.type === excludedNodeType) {
146
- return false;
147
- }
148
- if (op.type === "merge_node" && "type" in op.properties && op.properties.type === excludedNodeType) {
149
- return false;
150
- }
151
- if (op.type === "split_node" && "type" in op.properties && op.properties.type === excludedNodeType) {
152
- return false;
153
- }
154
- return defaultShouldSave(op, prev);
155
- };
156
- function useCopilotTextareaEditor() {
157
- const editor = (0, import_react.useMemo)(() => {
158
- const editor2 = withPartialHistory((0, import_slate_react.withReact)((0, import_slate2.createEditor)()), shouldSave);
159
- const { isVoid } = editor2;
160
- editor2.isVoid = (element) => {
161
- switch (element.type) {
162
- case "suggestion":
163
- return true;
164
- default:
165
- return isVoid(element);
166
- }
167
- };
168
- const { markableVoid } = editor2;
169
- editor2.markableVoid = (element) => {
170
- switch (element.type) {
171
- case "suggestion":
172
- return true;
173
- default:
174
- return markableVoid(element);
175
- }
176
- };
177
- const { isInline } = editor2;
178
- editor2.isInline = (element) => {
179
- switch (element.type) {
180
- case "suggestion":
181
- return element.inline;
182
- default:
183
- return isInline(element);
184
- }
185
- };
186
- return editor2;
187
- }, []);
188
- return editor;
189
- }
190
- // Annotate the CommonJS export names for ESM import in node:
191
- 0 && (module.exports = {
192
- useCopilotTextareaEditor
193
- });
194
- //# sourceMappingURL=use-copilot-textarea-editor.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../src/hooks/base-copilot-textarea-implementation/use-copilot-textarea-editor.tsx","../../../src/lib/slatejs-edits/with-partial-history.ts"],"sourcesContent":["import { useMemo } from \"react\";\nimport { createEditor, Element } from \"slate\";\nimport { withReact } from \"slate-react\";\nimport {\n defaultShouldSave,\n ShouldSaveToHistory,\n withPartialHistory,\n} from \"../../lib/slatejs-edits/with-partial-history\";\nimport { CustomEditor } from \"../../types/base/custom-editor\";\n\nconst shouldSave: ShouldSaveToHistory = (op, prev) => {\n const excludedNodeType = \"suggestion\";\n // Check if the operation involves the suggestion inline node type\n if (\n op.type === \"insert_node\" &&\n Element.isElement(op.node) &&\n op.node.type === excludedNodeType\n ) {\n return false;\n }\n\n if (\n op.type === \"remove_node\" &&\n Element.isElement(op.node) &&\n op.node.type === excludedNodeType\n ) {\n return false;\n }\n\n if (\n op.type === \"set_node\" &&\n \"type\" in op.newProperties &&\n op.newProperties.type === excludedNodeType\n ) {\n return false;\n }\n\n if (op.type == \"set_node\" && \"type\" in op.properties && op.properties.type === excludedNodeType) {\n return false;\n }\n\n if (\n op.type === \"merge_node\" &&\n \"type\" in op.properties &&\n op.properties.type === excludedNodeType\n ) {\n return false;\n }\n\n if (\n op.type === \"split_node\" &&\n \"type\" in op.properties &&\n op.properties.type === excludedNodeType\n ) {\n return false;\n }\n\n // Otherwise, save the operation to history\n return defaultShouldSave(op, prev);\n};\n\nexport function useCopilotTextareaEditor(): CustomEditor {\n const editor = useMemo(() => {\n const editor = withPartialHistory(withReact(createEditor()), shouldSave);\n\n const { isVoid } = editor;\n editor.isVoid = (element) => {\n switch (element.type) {\n case \"suggestion\":\n return true;\n default:\n return isVoid(element);\n }\n };\n\n const { markableVoid } = editor;\n editor.markableVoid = (element) => {\n switch (element.type) {\n case \"suggestion\":\n return true;\n default:\n return markableVoid(element);\n }\n };\n\n const { isInline } = editor;\n editor.isInline = (element) => {\n switch (element.type) {\n case \"suggestion\":\n return element.inline;\n default:\n return isInline(element);\n }\n };\n\n return editor;\n }, []);\n\n return editor;\n}\n","import { Editor, Operation, Path, Range, Transforms } from \"slate\";\nimport { HistoryEditor } from \"slate-history\";\n\n// Copy-pasted from `https://github.com/ianstormtaylor/slate/blob/main/packages/slate-history/src/with-history.ts`\n// With one exception: the `shouldSave` function is passed in as an argument to `withPartialHistory` instead of being hardcoded\nexport type ShouldSaveToHistory = (op: Operation, prev: Operation | undefined) => boolean;\n\nexport const withPartialHistory = <T extends Editor>(\n editor: T,\n shouldSave: ShouldSaveToHistory,\n) => {\n const e = editor as T & HistoryEditor;\n const { apply } = e;\n e.history = { undos: [], redos: [] };\n\n e.redo = () => {\n const { history } = e;\n const { redos } = history;\n\n if (redos.length > 0) {\n const batch = redos[redos.length - 1];\n\n if (batch.selectionBefore) {\n Transforms.setSelection(e, batch.selectionBefore);\n }\n\n HistoryEditor.withoutSaving(e, () => {\n Editor.withoutNormalizing(e, () => {\n for (const op of batch.operations) {\n e.apply(op);\n }\n });\n });\n\n history.redos.pop();\n e.writeHistory(\"undos\", batch);\n }\n };\n\n e.undo = () => {\n const { history } = e;\n const { undos } = history;\n\n if (undos.length > 0) {\n const batch = undos[undos.length - 1];\n\n HistoryEditor.withoutSaving(e, () => {\n Editor.withoutNormalizing(e, () => {\n const inverseOps = batch.operations.map(Operation.inverse).reverse();\n\n for (const op of inverseOps) {\n e.apply(op);\n }\n if (batch.selectionBefore) {\n Transforms.setSelection(e, batch.selectionBefore);\n }\n });\n });\n\n e.writeHistory(\"redos\", batch);\n history.undos.pop();\n }\n };\n\n e.apply = (op: Operation) => {\n const { operations, history } = e;\n const { undos } = history;\n const lastBatch = undos[undos.length - 1];\n const lastOp = lastBatch && lastBatch.operations[lastBatch.operations.length - 1];\n let save = HistoryEditor.isSaving(e);\n let merge = HistoryEditor.isMerging(e);\n\n if (save == null) {\n save = shouldSave(op, lastOp);\n }\n\n if (save) {\n if (merge == null) {\n if (lastBatch == null) {\n merge = false;\n } else if (operations.length !== 0) {\n merge = true;\n } else {\n merge = shouldMerge(op, lastOp);\n }\n }\n\n if (lastBatch && merge) {\n lastBatch.operations.push(op);\n } else {\n const batch = {\n operations: [op],\n selectionBefore: e.selection,\n };\n e.writeHistory(\"undos\", batch);\n }\n\n while (undos.length > 100) {\n undos.shift();\n }\n\n history.redos = [];\n }\n\n apply(op);\n };\n\n e.writeHistory = (stack: \"undos\" | \"redos\", batch: any) => {\n e.history[stack].push(batch);\n };\n\n return e;\n};\n\n/**\n * Check whether to merge an operation into the previous operation.\n */\n\nconst shouldMerge = (op: Operation, prev: Operation | undefined): boolean => {\n if (\n prev &&\n op.type === \"insert_text\" &&\n prev.type === \"insert_text\" &&\n op.offset === prev.offset + prev.text.length &&\n Path.equals(op.path, prev.path)\n ) {\n return true;\n }\n\n if (\n prev &&\n op.type === \"remove_text\" &&\n prev.type === \"remove_text\" &&\n op.offset + op.text.length === prev.offset &&\n Path.equals(op.path, prev.path)\n ) {\n return true;\n }\n\n return false;\n};\n\nexport const defaultShouldSave = (op: Operation, prev: Operation | undefined): boolean => {\n if (op.type === \"set_selection\") {\n return false;\n }\n\n return true;\n};\n"],"mappings":"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","names":["import_slate","shouldSave","editor"]}
@@ -1,9 +0,0 @@
1
- import {
2
- useCopilotTextareaEditor
3
- } from "../../chunk-DRV2FOHZ.mjs";
4
- import "../../chunk-4NHVQZ67.mjs";
5
- import "../../chunk-MRXNTQOX.mjs";
6
- export {
7
- useCopilotTextareaEditor
8
- };
9
- //# sourceMappingURL=use-copilot-textarea-editor.mjs.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":[],"sourcesContent":[],"mappings":"","names":[]}
@@ -1,7 +0,0 @@
1
- import React__default from 'react';
2
- import { Editor } from 'slate';
3
- import { HTMLCopilotTextAreaElement } from '../../types/html-copilot-textarea-element.js';
4
-
5
- declare function usePopulateCopilotTextareaRef(editor: Editor, ref: React__default.Ref<HTMLCopilotTextAreaElement>): void;
6
-
7
- export { usePopulateCopilotTextareaRef };