@copilotkit/react-textarea 0.19.0-alpha.6 → 0.19.0-alpha.8

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 (284) hide show
  1. package/.turbo/turbo-build.log +198 -195
  2. package/CHANGELOG.md +22 -0
  3. package/dist/components/base-copilot-textarea/base-copilot-textarea.mjs +1910 -33
  4. package/dist/components/base-copilot-textarea/base-copilot-textarea.mjs.map +1 -1
  5. package/dist/components/base-copilot-textarea/render-element.mjs +52 -3
  6. package/dist/components/base-copilot-textarea/render-element.mjs.map +1 -1
  7. package/dist/components/base-copilot-textarea/render-placeholder.mjs +46 -3
  8. package/dist/components/base-copilot-textarea/render-placeholder.mjs.map +1 -1
  9. package/dist/components/base-copilot-textarea/track-cursor-moved-since-last-text-change.mjs +86 -4
  10. package/dist/components/base-copilot-textarea/track-cursor-moved-since-last-text-change.mjs.map +1 -1
  11. package/dist/components/base-copilot-textarea/use-add-branding-css.mjs +57 -3
  12. package/dist/components/base-copilot-textarea/use-add-branding-css.mjs.map +1 -1
  13. package/dist/components/copilot-textarea/copilot-textarea.mjs +2378 -43
  14. package/dist/components/copilot-textarea/copilot-textarea.mjs.map +1 -1
  15. package/dist/components/hovering-toolbar/hovering-editor-provider.mjs +22 -3
  16. package/dist/components/hovering-toolbar/hovering-editor-provider.mjs.map +1 -1
  17. package/dist/components/hovering-toolbar/hovering-toolbar-components.mjs +125 -3
  18. package/dist/components/hovering-toolbar/hovering-toolbar-components.mjs.map +1 -1
  19. package/dist/components/hovering-toolbar/hovering-toolbar.mjs +1055 -16
  20. package/dist/components/hovering-toolbar/hovering-toolbar.mjs.map +1 -1
  21. package/dist/components/hovering-toolbar/text-insertion-prompt-box/hovering-insertion-prompt-box-core.mjs +761 -10
  22. package/dist/components/hovering-toolbar/text-insertion-prompt-box/hovering-insertion-prompt-box-core.mjs.map +1 -1
  23. package/dist/components/hovering-toolbar/text-insertion-prompt-box/hovering-insertion-prompt-box.mjs +774 -11
  24. package/dist/components/hovering-toolbar/text-insertion-prompt-box/hovering-insertion-prompt-box.mjs.map +1 -1
  25. package/dist/components/hovering-toolbar/text-insertion-prompt-box/index.mjs +774 -12
  26. package/dist/components/hovering-toolbar/text-insertion-prompt-box/index.mjs.map +1 -1
  27. package/dist/components/index.mjs +2379 -44
  28. package/dist/components/index.mjs.map +1 -1
  29. package/dist/components/manual-ui/chip-with-icon.mjs +5 -6
  30. package/dist/components/manual-ui/chip-with-icon.mjs.map +1 -1
  31. package/dist/components/source-search-box/source-search-box.mjs +356 -10
  32. package/dist/components/source-search-box/source-search-box.mjs.map +1 -1
  33. package/dist/components/ui/button.mjs +88 -4
  34. package/dist/components/ui/button.mjs.map +1 -1
  35. package/dist/components/ui/card.mjs +53 -7
  36. package/dist/components/ui/card.mjs.map +1 -1
  37. package/dist/components/ui/command.mjs +266 -5
  38. package/dist/components/ui/command.mjs.map +1 -1
  39. package/dist/components/ui/dialog.mjs +164 -4
  40. package/dist/components/ui/dialog.mjs.map +1 -1
  41. package/dist/components/ui/label.mjs +63 -4
  42. package/dist/components/ui/label.mjs.map +1 -1
  43. package/dist/components/ui/separator.mjs +50 -8
  44. package/dist/components/ui/separator.mjs.map +1 -1
  45. package/dist/components/ui/textarea.mjs +48 -7
  46. package/dist/components/ui/textarea.mjs.map +1 -1
  47. package/dist/context/index.mjs +0 -2
  48. package/dist/context/index.mjs.map +1 -1
  49. package/dist/hooks/base-copilot-textarea-implementation/use-autosuggestions.mjs +168 -6
  50. package/dist/hooks/base-copilot-textarea-implementation/use-autosuggestions.mjs.map +1 -1
  51. package/dist/hooks/base-copilot-textarea-implementation/use-copilot-textarea-editor.mjs +168 -4
  52. package/dist/hooks/base-copilot-textarea-implementation/use-copilot-textarea-editor.mjs.map +1 -1
  53. package/dist/hooks/base-copilot-textarea-implementation/use-populate-copilot-textarea-ref.mjs +155 -5
  54. package/dist/hooks/base-copilot-textarea-implementation/use-populate-copilot-textarea-ref.mjs.map +1 -1
  55. package/dist/hooks/index.mjs +0 -2
  56. package/dist/hooks/index.mjs.map +1 -1
  57. package/dist/hooks/make-autosuggestions-function/use-make-standard-autosuggestions-function.mjs +145 -4
  58. package/dist/hooks/make-autosuggestions-function/use-make-standard-autosuggestions-function.mjs.map +1 -1
  59. package/dist/hooks/make-autosuggestions-function/use-make-standard-insertion-function.mjs +199 -4
  60. package/dist/hooks/make-autosuggestions-function/use-make-standard-insertion-function.mjs.map +1 -1
  61. package/dist/hooks/misc/use-autosize-textarea.mjs +15 -3
  62. package/dist/hooks/misc/use-autosize-textarea.mjs.map +1 -1
  63. package/dist/index.mjs +2382 -48
  64. package/dist/index.mjs.map +1 -1
  65. package/dist/lib/debouncer.mjs +51 -3
  66. package/dist/lib/debouncer.mjs.map +1 -1
  67. package/dist/lib/editor-to-text.mjs +43 -3
  68. package/dist/lib/editor-to-text.mjs.map +1 -1
  69. package/dist/lib/get-text-around-cursor.mjs +109 -3
  70. package/dist/lib/get-text-around-cursor.mjs.map +1 -1
  71. package/dist/lib/retry.mjs +17 -3
  72. package/dist/lib/retry.mjs.map +1 -1
  73. package/dist/lib/slatejs-edits/add-autocompletions.mjs +25 -3
  74. package/dist/lib/slatejs-edits/add-autocompletions.mjs.map +1 -1
  75. package/dist/lib/slatejs-edits/clear-autocompletions.mjs +23 -3
  76. package/dist/lib/slatejs-edits/clear-autocompletions.mjs.map +1 -1
  77. package/dist/lib/slatejs-edits/replace-text.mjs +27 -3
  78. package/dist/lib/slatejs-edits/replace-text.mjs.map +1 -1
  79. package/dist/lib/slatejs-edits/with-partial-history.mjs +106 -3
  80. package/dist/lib/slatejs-edits/with-partial-history.mjs.map +1 -1
  81. package/dist/lib/stream-promise-flatten.mjs +47 -3
  82. package/dist/lib/stream-promise-flatten.mjs.map +1 -1
  83. package/dist/lib/utils.mjs +71 -3
  84. package/dist/lib/utils.mjs.map +1 -1
  85. package/dist/lib/utils.test.mjs +0 -1
  86. package/dist/lib/utils.test.mjs.map +1 -1
  87. package/dist/types/autosuggestions-config/autosuggestions-config-user-specified.mjs +0 -2
  88. package/dist/types/autosuggestions-config/autosuggestions-config-user-specified.mjs.map +1 -1
  89. package/dist/types/autosuggestions-config/autosuggestions-config.mjs +253 -9
  90. package/dist/types/autosuggestions-config/autosuggestions-config.mjs.map +1 -1
  91. package/dist/types/autosuggestions-config/editing-api-config.mjs +83 -4
  92. package/dist/types/autosuggestions-config/editing-api-config.mjs.map +1 -1
  93. package/dist/types/autosuggestions-config/index.mjs +309 -10
  94. package/dist/types/autosuggestions-config/index.mjs.map +1 -1
  95. package/dist/types/autosuggestions-config/insertions-api-config.mjs +77 -4
  96. package/dist/types/autosuggestions-config/insertions-api-config.mjs.map +1 -1
  97. package/dist/types/autosuggestions-config/subtypes/chatlike-api-endpoint.mjs +77 -3
  98. package/dist/types/autosuggestions-config/subtypes/chatlike-api-endpoint.mjs.map +1 -1
  99. package/dist/types/autosuggestions-config/subtypes/make-system-prompt.mjs +0 -2
  100. package/dist/types/autosuggestions-config/subtypes/make-system-prompt.mjs.map +1 -1
  101. package/dist/types/autosuggestions-config/subtypes/minimal-chat-gpt-message.mjs +0 -2
  102. package/dist/types/autosuggestions-config/subtypes/minimal-chat-gpt-message.mjs.map +1 -1
  103. package/dist/types/autosuggestions-config/suggestions-api-config.mjs +64 -4
  104. package/dist/types/autosuggestions-config/suggestions-api-config.mjs.map +1 -1
  105. package/dist/types/base/autosuggestion-state.mjs +0 -2
  106. package/dist/types/base/autosuggestion-state.mjs.map +1 -1
  107. package/dist/types/base/autosuggestions-bare-function.mjs +0 -2
  108. package/dist/types/base/autosuggestions-bare-function.mjs.map +1 -1
  109. package/dist/types/base/base-autosuggestions-config.mjs +11 -3
  110. package/dist/types/base/base-autosuggestions-config.mjs.map +1 -1
  111. package/dist/types/base/base-copilot-textarea-props.mjs +0 -2
  112. package/dist/types/base/base-copilot-textarea-props.mjs.map +1 -1
  113. package/dist/types/base/custom-editor.mjs +0 -2
  114. package/dist/types/base/custom-editor.mjs.map +1 -1
  115. package/dist/types/base/editor-autocomplete-state.mjs +17 -4
  116. package/dist/types/base/editor-autocomplete-state.mjs.map +1 -1
  117. package/dist/types/base/index.mjs +11 -4
  118. package/dist/types/base/index.mjs.map +1 -1
  119. package/dist/types/html-copilot-textarea-element.mjs +0 -2
  120. package/dist/types/html-copilot-textarea-element.mjs.map +1 -1
  121. package/dist/types/index.mjs +310 -12
  122. package/dist/types/index.mjs.map +1 -1
  123. package/package.json +4 -4
  124. package/src/hooks/make-autosuggestions-function/use-make-standard-autosuggestions-function.tsx +5 -2
  125. package/src/hooks/make-autosuggestions-function/use-make-standard-insertion-function.tsx +8 -4
  126. package/src/types/autosuggestions-config/autosuggestions-config-user-specified.tsx +2 -6
  127. package/src/types/autosuggestions-config/editing-api-config.tsx +0 -5
  128. package/src/types/autosuggestions-config/insertions-api-config.tsx +0 -5
  129. package/src/types/autosuggestions-config/subtypes/chatlike-api-endpoint.tsx +18 -9
  130. package/src/types/autosuggestions-config/suggestions-api-config.tsx +0 -6
  131. package/dist/chunk-2NURR2DX.mjs +0 -47
  132. package/dist/chunk-2NURR2DX.mjs.map +0 -1
  133. package/dist/chunk-4S5ZJH3I.mjs +0 -18
  134. package/dist/chunk-4S5ZJH3I.mjs.map +0 -1
  135. package/dist/chunk-55EGOC5T.mjs +0 -87
  136. package/dist/chunk-55EGOC5T.mjs.map +0 -1
  137. package/dist/chunk-5ARCOTW3.mjs +0 -34
  138. package/dist/chunk-5ARCOTW3.mjs.map +0 -1
  139. package/dist/chunk-5EJ5XOGP.mjs +0 -22
  140. package/dist/chunk-5EJ5XOGP.mjs.map +0 -1
  141. package/dist/chunk-5FO6ISW4.mjs +0 -3
  142. package/dist/chunk-5FO6ISW4.mjs.map +0 -1
  143. package/dist/chunk-6XP7KEMW.mjs +0 -20
  144. package/dist/chunk-6XP7KEMW.mjs.map +0 -1
  145. package/dist/chunk-A2RRLD23.mjs +0 -69
  146. package/dist/chunk-A2RRLD23.mjs.map +0 -1
  147. package/dist/chunk-CSGFJU3L.mjs +0 -65
  148. package/dist/chunk-CSGFJU3L.mjs.map +0 -1
  149. package/dist/chunk-D7SEV5PR.mjs +0 -12
  150. package/dist/chunk-D7SEV5PR.mjs.map +0 -1
  151. package/dist/chunk-DE5K76I2.mjs +0 -3
  152. package/dist/chunk-DE5K76I2.mjs.map +0 -1
  153. package/dist/chunk-F3MHL6ZY.mjs +0 -25
  154. package/dist/chunk-F3MHL6ZY.mjs.map +0 -1
  155. package/dist/chunk-FBDXI5QA.mjs +0 -501
  156. package/dist/chunk-FBDXI5QA.mjs.map +0 -1
  157. package/dist/chunk-FN7GDKKG.mjs +0 -29
  158. package/dist/chunk-FN7GDKKG.mjs.map +0 -1
  159. package/dist/chunk-H4VKQGVU.mjs +0 -3
  160. package/dist/chunk-H4VKQGVU.mjs.map +0 -1
  161. package/dist/chunk-HAFHLU4N.mjs +0 -55
  162. package/dist/chunk-HAFHLU4N.mjs.map +0 -1
  163. package/dist/chunk-IU3WTXLQ.mjs +0 -3
  164. package/dist/chunk-IU3WTXLQ.mjs.map +0 -1
  165. package/dist/chunk-IWTOQKC5.mjs +0 -201
  166. package/dist/chunk-IWTOQKC5.mjs.map +0 -1
  167. package/dist/chunk-IXJ2HCOA.mjs +0 -101
  168. package/dist/chunk-IXJ2HCOA.mjs.map +0 -1
  169. package/dist/chunk-JAFCXEPU.mjs +0 -10
  170. package/dist/chunk-JAFCXEPU.mjs.map +0 -1
  171. package/dist/chunk-KCHYD3EB.mjs +0 -107
  172. package/dist/chunk-KCHYD3EB.mjs.map +0 -1
  173. package/dist/chunk-KGKLUWKW.mjs +0 -47
  174. package/dist/chunk-KGKLUWKW.mjs.map +0 -1
  175. package/dist/chunk-L7VVZH4Q.mjs +0 -3
  176. package/dist/chunk-L7VVZH4Q.mjs.map +0 -1
  177. package/dist/chunk-LNAIMEB2.mjs +0 -34
  178. package/dist/chunk-LNAIMEB2.mjs.map +0 -1
  179. package/dist/chunk-MMVDU6DF.mjs +0 -3
  180. package/dist/chunk-MMVDU6DF.mjs.map +0 -1
  181. package/dist/chunk-MPME5BW2.mjs +0 -59
  182. package/dist/chunk-MPME5BW2.mjs.map +0 -1
  183. package/dist/chunk-MRXNTQOX.mjs +0 -55
  184. package/dist/chunk-MRXNTQOX.mjs.map +0 -1
  185. package/dist/chunk-N4JMCC7P.mjs +0 -44
  186. package/dist/chunk-N4JMCC7P.mjs.map +0 -1
  187. package/dist/chunk-ND5PXTAW.mjs +0 -17
  188. package/dist/chunk-ND5PXTAW.mjs.map +0 -1
  189. package/dist/chunk-NKW5OU2S.mjs +0 -33
  190. package/dist/chunk-NKW5OU2S.mjs.map +0 -1
  191. package/dist/chunk-O5OWT5GE.mjs +0 -114
  192. package/dist/chunk-O5OWT5GE.mjs.map +0 -1
  193. package/dist/chunk-OD7ZMOVE.mjs +0 -45
  194. package/dist/chunk-OD7ZMOVE.mjs.map +0 -1
  195. package/dist/chunk-OELUUJZY.mjs +0 -16
  196. package/dist/chunk-OELUUJZY.mjs.map +0 -1
  197. package/dist/chunk-QL2GYGG5.mjs +0 -19
  198. package/dist/chunk-QL2GYGG5.mjs.map +0 -1
  199. package/dist/chunk-RQHOUUXQ.mjs +0 -29
  200. package/dist/chunk-RQHOUUXQ.mjs.map +0 -1
  201. package/dist/chunk-UHD44NC5.mjs +0 -101
  202. package/dist/chunk-UHD44NC5.mjs.map +0 -1
  203. package/dist/chunk-VBIJPE3H.mjs +0 -108
  204. package/dist/chunk-VBIJPE3H.mjs.map +0 -1
  205. package/dist/chunk-WADHCMPK.mjs +0 -3
  206. package/dist/chunk-WADHCMPK.mjs.map +0 -1
  207. package/dist/chunk-WJHSY5T6.mjs +0 -3
  208. package/dist/chunk-WJHSY5T6.mjs.map +0 -1
  209. package/dist/chunk-WJYQWL4I.mjs +0 -27
  210. package/dist/chunk-WJYQWL4I.mjs.map +0 -1
  211. package/dist/chunk-XA7M72ZO.mjs +0 -106
  212. package/dist/chunk-XA7M72ZO.mjs.map +0 -1
  213. package/dist/chunk-XDT7BF3V.mjs +0 -81
  214. package/dist/chunk-XDT7BF3V.mjs.map +0 -1
  215. package/dist/chunk-XHUMROEY.mjs +0 -91
  216. package/dist/chunk-XHUMROEY.mjs.map +0 -1
  217. package/dist/chunk-YQU7WG7T.mjs +0 -83
  218. package/dist/chunk-YQU7WG7T.mjs.map +0 -1
  219. package/dist/chunk-YSZ7DO3X.mjs +0 -107
  220. package/dist/chunk-YSZ7DO3X.mjs.map +0 -1
  221. package/dist/chunk-YTOPHPSG.mjs +0 -45
  222. package/dist/chunk-YTOPHPSG.mjs.map +0 -1
  223. package/dist/chunk-YW3REYX6.mjs +0 -23
  224. package/dist/chunk-YW3REYX6.mjs.map +0 -1
  225. package/dist/components/base-copilot-textarea/base-copilot-textarea.d.ts +0 -13
  226. package/dist/components/base-copilot-textarea/render-element.d.ts +0 -6
  227. package/dist/components/base-copilot-textarea/render-placeholder.d.ts +0 -6
  228. package/dist/components/base-copilot-textarea/track-cursor-moved-since-last-text-change.d.ts +0 -6
  229. package/dist/components/base-copilot-textarea/use-add-branding-css.d.ts +0 -3
  230. package/dist/components/copilot-textarea/copilot-textarea.d.ts +0 -20
  231. package/dist/components/hovering-toolbar/hovering-editor-provider.d.ts +0 -13
  232. package/dist/components/hovering-toolbar/hovering-toolbar-components.d.ts +0 -18
  233. package/dist/components/hovering-toolbar/hovering-toolbar.d.ts +0 -8
  234. package/dist/components/hovering-toolbar/text-insertion-prompt-box/hovering-insertion-prompt-box-core.d.ts +0 -29
  235. package/dist/components/hovering-toolbar/text-insertion-prompt-box/hovering-insertion-prompt-box.d.ts +0 -12
  236. package/dist/components/hovering-toolbar/text-insertion-prompt-box/index.d.ts +0 -3
  237. package/dist/components/index.d.ts +0 -15
  238. package/dist/components/manual-ui/chip-with-icon.d.ts +0 -10
  239. package/dist/components/source-search-box/source-search-box.d.ts +0 -17
  240. package/dist/components/ui/button.d.ts +0 -14
  241. package/dist/components/ui/card.d.ts +0 -10
  242. package/dist/components/ui/command.d.ts +0 -48
  243. package/dist/components/ui/dialog.d.ts +0 -18
  244. package/dist/components/ui/label.d.ts +0 -8
  245. package/dist/components/ui/separator.d.ts +0 -6
  246. package/dist/components/ui/textarea.d.ts +0 -7
  247. package/dist/context/index.d.ts +0 -1
  248. package/dist/hooks/base-copilot-textarea-implementation/use-autosuggestions.d.ts +0 -13
  249. package/dist/hooks/base-copilot-textarea-implementation/use-copilot-textarea-editor.d.ts +0 -8
  250. package/dist/hooks/base-copilot-textarea-implementation/use-populate-copilot-textarea-ref.d.ts +0 -7
  251. package/dist/hooks/index.d.ts +0 -1
  252. package/dist/hooks/make-autosuggestions-function/use-make-standard-autosuggestions-function.d.ts +0 -22
  253. package/dist/hooks/make-autosuggestions-function/use-make-standard-insertion-function.d.ts +0 -23
  254. package/dist/hooks/misc/use-autosize-textarea.d.ts +0 -5
  255. package/dist/index.d.ts +0 -15
  256. package/dist/lib/debouncer.d.ts +0 -11
  257. package/dist/lib/editor-to-text.d.ts +0 -7
  258. package/dist/lib/get-text-around-cursor.d.ts +0 -15
  259. package/dist/lib/retry.d.ts +0 -3
  260. package/dist/lib/slatejs-edits/add-autocompletions.d.ts +0 -8
  261. package/dist/lib/slatejs-edits/clear-autocompletions.d.ts +0 -8
  262. package/dist/lib/slatejs-edits/replace-text.d.ts +0 -5
  263. package/dist/lib/slatejs-edits/with-partial-history.d.ts +0 -10
  264. package/dist/lib/stream-promise-flatten.d.ts +0 -3
  265. package/dist/lib/utils.d.ts +0 -10
  266. package/dist/lib/utils.test.d.ts +0 -1
  267. package/dist/types/autosuggestions-config/autosuggestions-config-user-specified.d.ts +0 -25
  268. package/dist/types/autosuggestions-config/autosuggestions-config.d.ts +0 -20
  269. package/dist/types/autosuggestions-config/editing-api-config.d.ts +0 -17
  270. package/dist/types/autosuggestions-config/index.d.ts +0 -10
  271. package/dist/types/autosuggestions-config/insertions-api-config.d.ts +0 -17
  272. package/dist/types/autosuggestions-config/subtypes/chatlike-api-endpoint.d.ts +0 -26
  273. package/dist/types/autosuggestions-config/subtypes/make-system-prompt.d.ts +0 -3
  274. package/dist/types/autosuggestions-config/subtypes/minimal-chat-gpt-message.d.ts +0 -7
  275. package/dist/types/autosuggestions-config/suggestions-api-config.d.ts +0 -17
  276. package/dist/types/base/autosuggestion-state.d.ts +0 -8
  277. package/dist/types/base/autosuggestions-bare-function.d.ts +0 -17
  278. package/dist/types/base/base-autosuggestions-config.d.ts +0 -14
  279. package/dist/types/base/base-copilot-textarea-props.d.ts +0 -40
  280. package/dist/types/base/custom-editor.d.ts +0 -29
  281. package/dist/types/base/editor-autocomplete-state.d.ts +0 -10
  282. package/dist/types/base/index.d.ts +0 -4
  283. package/dist/types/html-copilot-textarea-element.d.ts +0 -7
  284. package/dist/types/index.d.ts +0 -13
@@ -1,83 +0,0 @@
1
- import { replaceEditorText } from './chunk-RQHOUUXQ.mjs';
2
- import { getFullEditorTextWithNewlines } from './chunk-IXJ2HCOA.mjs';
3
- import React from 'react';
4
- import { ReactEditor } from 'slate-react';
5
-
6
- function usePopulateCopilotTextareaRef(editor, ref) {
7
- React.useImperativeHandle(
8
- ref,
9
- () => {
10
- class Combined {
11
- constructor(customMethods2, editorHtmlElement2) {
12
- this.customMethods = customMethods2;
13
- this.editorHtmlElement = editorHtmlElement2;
14
- }
15
- get(target, propKey) {
16
- if (this.isKeyOfCustomMethods(propKey)) {
17
- const value = this.customMethods[propKey];
18
- if (typeof value === "function") {
19
- return value.bind(this.customMethods);
20
- }
21
- return value;
22
- } else if (this.isKeyOfHTMLElement(propKey)) {
23
- const value = this.editorHtmlElement[propKey];
24
- if (typeof value === "function") {
25
- return value.bind(this.editorHtmlElement);
26
- }
27
- return value;
28
- }
29
- }
30
- set(target, propKey, value) {
31
- if (this.isKeyOfCustomMethods(propKey)) {
32
- this.customMethods[propKey] = value;
33
- } else if (this.isKeyOfHTMLElement(propKey)) {
34
- this.editorHtmlElement[propKey] = value;
35
- } else {
36
- target[propKey] = value;
37
- }
38
- return true;
39
- }
40
- isKeyOfCustomMethods(key) {
41
- return key in this.customMethods;
42
- }
43
- isKeyOfHTMLElement(key) {
44
- return key in this.editorHtmlElement;
45
- }
46
- }
47
- const handler = {
48
- get(target, propKey) {
49
- return target.get(target, propKey);
50
- },
51
- set(target, propKey, value) {
52
- return target.set(target, propKey, value);
53
- }
54
- };
55
- class CustomMethods {
56
- constructor(editor2) {
57
- this.editor = editor2;
58
- }
59
- focus() {
60
- ReactEditor.focus(this.editor);
61
- }
62
- blur() {
63
- ReactEditor.blur(this.editor);
64
- }
65
- get value() {
66
- return getFullEditorTextWithNewlines(this.editor);
67
- }
68
- set value(value) {
69
- replaceEditorText(this.editor, value);
70
- }
71
- }
72
- const editorHtmlElement = ReactEditor.toDOMNode(editor, editor);
73
- const customMethods = new CustomMethods(editor);
74
- const combined = new Combined(customMethods, editorHtmlElement);
75
- return new Proxy(combined, handler);
76
- },
77
- [editor]
78
- );
79
- }
80
-
81
- export { usePopulateCopilotTextareaRef };
82
- //# sourceMappingURL=out.js.map
83
- //# sourceMappingURL=chunk-YQU7WG7T.mjs.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/hooks/base-copilot-textarea-implementation/use-populate-copilot-textarea-ref.ts"],"names":["customMethods","editorHtmlElement","editor"],"mappings":";;;;;;;;AAAA,OAAO,WAAW;AAElB,SAAS,mBAAmB;AAMrB,SAAS,8BACd,QACA,KACA;AACA,QAAM;AAAA,IACJ;AAAA,IACA,MAAM;AACJ,YAAM,SAAS;AAAA,QACb,YACUA,gBACAC,oBACR;AAFQ,+BAAAD;AACA,mCAAAC;AAAA,QACP;AAAA,QAIH,IAAI,QAAa,SAAsB;AACrC,cAAI,KAAK,qBAAqB,OAAO,GAAG;AACtC,kBAAM,QAAQ,KAAK,cAAc;AACjC,gBAAI,OAAO,UAAU,YAAY;AAC/B,qBAAO,MAAM,KAAK,KAAK,aAAa;AAAA,YACtC;AACA,mBAAO;AAAA,UACT,WAAW,KAAK,mBAAmB,OAAO,GAAG;AAC3C,kBAAM,QAAQ,KAAK,kBAAkB;AACrC,gBAAI,OAAO,UAAU,YAAY;AAC/B,qBAAO,MAAM,KAAK,KAAK,iBAAiB;AAAA,YAC1C;AACA,mBAAO;AAAA,UACT;AAAA,QACF;AAAA,QAEA,IAAI,QAAa,SAAiB,OAAqB;AACrD,cAAI,KAAK,qBAAqB,OAAO,GAAG;AACtC,YAAC,KAAK,cAAsB,WAAW;AAAA,UACzC,WAAW,KAAK,mBAAmB,OAAO,GAAG;AAC3C,YAAC,KAAK,kBAA0B,WAAW;AAAA,UAC7C,OAAO;AAEL,mBAAO,WAAW;AAAA,UACpB;AACA,iBAAO;AAAA,QACT;AAAA,QAEQ,qBAAqB,KAAyC;AACpE,iBAAO,OAAO,KAAK;AAAA,QACrB;AAAA,QAEQ,mBAAmB,KAAuC;AAChE,iBAAO,OAAO,KAAK;AAAA,QACrB;AAAA,MACF;AAEA,YAAM,UAAU;AAAA,QACd,IAAI,QAAa,SAAkD;AACjE,iBAAO,OAAO,IAAI,QAAQ,OAAO;AAAA,QACnC;AAAA,QACA,IACE,QACA,SACA,OACA;AACA,iBAAO,OAAO,IAAI,QAAQ,SAAS,KAAK;AAAA,QAC1C;AAAA,MACF;AAEA,YAAM,cAAc;AAAA,QAClB,YAAoBC,SAAsB;AAAtB,wBAAAA;AAAA,QAAuB;AAAA,QAE3C,QAAQ;AACN,sBAAY,MAAM,KAAK,MAAM;AAAA,QAC/B;AAAA,QAEA,OAAO;AACL,sBAAY,KAAK,KAAK,MAAM;AAAA,QAC9B;AAAA,QAEA,IAAI,QAAQ;AACV,iBAAO,8BAA8B,KAAK,MAAM;AAAA,QAClD;AAAA,QACA,IAAI,MAAM,OAAe;AACvB,4BAAkB,KAAK,QAAQ,KAAK;AAAA,QACtC;AAAA,MACF;AAEA,YAAM,oBAAoB,YAAY,UAAU,QAAQ,MAAM;AAC9D,YAAM,gBAAgB,IAAI,cAAc,MAAM;AAE9C,YAAM,WAAW,IAAI,SAAS,eAAe,iBAAiB;AAC9D,aAAO,IAAI,MAAM,UAAU,OAAO;AAAA,IACpC;AAAA,IACA,CAAC,MAAM;AAAA,EACT;AACF","sourcesContent":["import React from \"react\";\nimport { Editor } from \"slate\";\nimport { ReactEditor } from \"slate-react\";\nimport { getFullEditorTextWithNewlines } from \"../../lib/get-text-around-cursor\";\nimport { replaceEditorText } from \"../../lib/slatejs-edits/replace-text\";\nimport { HTMLCopilotTextAreaElement } from \"../../types\";\nimport { CustomEditor } from \"../../types/base/custom-editor\";\n\nexport function usePopulateCopilotTextareaRef(\n editor: Editor,\n ref: React.Ref<HTMLCopilotTextAreaElement>\n) {\n React.useImperativeHandle(\n ref,\n () => {\n class Combined {\n constructor(\n private customMethods: CustomMethods,\n private editorHtmlElement: HTMLElement\n ) {}\n\n [key: string]: any;\n\n get(target: any, propKey: string): any {\n if (this.isKeyOfCustomMethods(propKey)) {\n const value = this.customMethods[propKey];\n if (typeof value === \"function\") {\n return value.bind(this.customMethods);\n }\n return value;\n } else if (this.isKeyOfHTMLElement(propKey)) {\n const value = this.editorHtmlElement[propKey];\n if (typeof value === \"function\") {\n return value.bind(this.editorHtmlElement);\n }\n return value;\n }\n }\n\n set(target: any, propKey: string, value: any): boolean {\n if (this.isKeyOfCustomMethods(propKey)) {\n (this.customMethods as any)[propKey] = value;\n } else if (this.isKeyOfHTMLElement(propKey)) {\n (this.editorHtmlElement as any)[propKey] = value;\n } else {\n // Default behavior (optional)\n target[propKey] = value;\n }\n return true;\n }\n\n private isKeyOfCustomMethods(key: string): key is keyof CustomMethods {\n return key in this.customMethods;\n }\n\n private isKeyOfHTMLElement(key: string): key is keyof HTMLElement {\n return key in this.editorHtmlElement;\n }\n }\n\n const handler = {\n get(target: any, propKey: keyof CustomMethods | keyof HTMLElement) {\n return target.get(target, propKey);\n },\n set(\n target: any,\n propKey: keyof CustomMethods | keyof HTMLElement,\n value: any\n ) {\n return target.set(target, propKey, value);\n },\n };\n\n class CustomMethods {\n constructor(private editor: CustomEditor) {}\n\n focus() {\n ReactEditor.focus(this.editor);\n }\n\n blur() {\n ReactEditor.blur(this.editor);\n }\n\n get value() {\n return getFullEditorTextWithNewlines(this.editor);\n }\n set value(value: string) {\n replaceEditorText(this.editor, value);\n }\n }\n\n const editorHtmlElement = ReactEditor.toDOMNode(editor, editor);\n const customMethods = new CustomMethods(editor);\n\n const combined = new Combined(customMethods, editorHtmlElement);\n return new Proxy(combined, handler);\n },\n [editor]\n );\n}\n"]}
@@ -1,107 +0,0 @@
1
- import { HoveringInsertionPromptBox } from './chunk-6XP7KEMW.mjs';
2
- import { useHoveringEditorContext } from './chunk-YW3REYX6.mjs';
3
- import { Portal, Menu } from './chunk-XHUMROEY.mjs';
4
- import { getTextAroundSelection, getFullEditorTextWithNewlines } from './chunk-IXJ2HCOA.mjs';
5
- import { useRef, useState, useEffect } from 'react';
6
- import { Transforms } from 'slate';
7
- import { useSlate, useSlateSelection } from 'slate-react';
8
- import { jsx } from 'react/jsx-runtime';
9
-
10
- var HoveringToolbar = (props) => {
11
- const ref = useRef(null);
12
- const editor = useSlate();
13
- const selection = useSlateSelection();
14
- const { isDisplayed, setIsDisplayed } = useHoveringEditorContext();
15
- const [isClient, setIsClient] = useState(false);
16
- useEffect(() => {
17
- setIsClient(true);
18
- }, []);
19
- useEffect(() => {
20
- const el = ref.current;
21
- const { selection: selection2 } = editor;
22
- if (!el) {
23
- return;
24
- }
25
- if (!selection2) {
26
- el.removeAttribute("style");
27
- return;
28
- }
29
- const domSelection = window.getSelection();
30
- if (!domSelection) {
31
- return;
32
- }
33
- const domRange = domSelection.getRangeAt(0);
34
- const rect = domRange.getBoundingClientRect();
35
- if (rect.top === 0 && rect.left === 0 && rect.width === 0 && rect.height === 0) {
36
- return;
37
- }
38
- const minGapFromEdge = 60;
39
- const verticalOffsetFromCorner = 35;
40
- const horizontalOffsetFromCorner = 15;
41
- let top = rect.top + window.scrollY - el.offsetHeight + verticalOffsetFromCorner;
42
- if (top < minGapFromEdge) {
43
- top = rect.bottom + window.scrollY + minGapFromEdge;
44
- } else if (top + el.offsetHeight > window.innerHeight - minGapFromEdge) {
45
- top = rect.top + window.scrollY - el.offsetHeight - minGapFromEdge;
46
- }
47
- let left = rect.left + window.scrollX - el.offsetWidth / 2 + rect.width / 2 + horizontalOffsetFromCorner;
48
- if (left < minGapFromEdge) {
49
- left = minGapFromEdge;
50
- } else if (left + el.offsetWidth > window.innerWidth - minGapFromEdge) {
51
- left = window.innerWidth - el.offsetWidth - minGapFromEdge;
52
- }
53
- el.style.opacity = "1";
54
- el.style.top = `${top}px`;
55
- el.style.left = `${left}px`;
56
- });
57
- useEffect(() => {
58
- const handleClickOutside = (event) => {
59
- if (ref.current && !ref.current.contains(event.target)) {
60
- setIsDisplayed(false);
61
- }
62
- };
63
- document.addEventListener("mousedown", handleClickOutside);
64
- return () => {
65
- document.removeEventListener("mousedown", handleClickOutside);
66
- };
67
- }, [ref, setIsDisplayed]);
68
- if (!isClient) {
69
- return null;
70
- }
71
- return /* @__PURE__ */ jsx(Portal, {
72
- children: /* @__PURE__ */ jsx(Menu, {
73
- ref,
74
- className: "p-2 absolute z-10 top-[-10000px] left-[-10000px] mt-[-6px] opacity-0 transition-opacity duration-700",
75
- children: isDisplayed && selection && /* @__PURE__ */ jsx(HoveringInsertionPromptBox, {
76
- editorState: editorState(editor),
77
- apiConfig: props.apiConfig,
78
- closeWindow: () => {
79
- setIsDisplayed(false);
80
- },
81
- performInsertion: (insertedText) => {
82
- console.log("inserted text", insertedText);
83
- Transforms.delete(editor, { at: selection });
84
- Transforms.insertText(editor, insertedText, {
85
- at: selection
86
- });
87
- setIsDisplayed(false);
88
- }
89
- })
90
- })
91
- });
92
- };
93
- function editorState(editor, selection) {
94
- const textAroundCursor = getTextAroundSelection(editor);
95
- if (textAroundCursor) {
96
- return textAroundCursor;
97
- }
98
- return {
99
- textBeforeCursor: getFullEditorTextWithNewlines(editor),
100
- textAfterCursor: "",
101
- selectedText: ""
102
- };
103
- }
104
-
105
- export { HoveringToolbar };
106
- //# sourceMappingURL=out.js.map
107
- //# sourceMappingURL=chunk-YSZ7DO3X.mjs.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/components/hovering-toolbar/hovering-toolbar.tsx"],"names":["selection"],"mappings":";;;;;;;;;;;;;;;;AACA,SAAS,WAAoB,QAAQ,gBAAgB;AACrD,SAAiD,kBAAkB;AACnE,SAAS,UAAU,yBAAyB;AAuHlC;AAtGH,IAAM,kBAEa,CAAC,UAAU;AACnC,QAAM,MAAM,OAAuB,IAAI;AACvC,QAAM,SAAS,SAAS;AACxB,QAAM,YAAY,kBAAkB;AACpC,QAAM,EAAE,aAAa,eAAe,IAAI,yBAAyB;AAGjE,QAAM,CAAC,UAAU,WAAW,IAAI,SAAS,KAAK;AAC9C,YAAU,MAAM;AACd,gBAAY,IAAI;AAAA,EAClB,GAAG,CAAC,CAAC;AAEL,YAAU,MAAM;AACd,UAAM,KAAK,IAAI;AACf,UAAM,EAAE,WAAAA,WAAU,IAAI;AAEtB,QAAI,CAAC,IAAI;AACP;AAAA,IACF;AAEA,QAAI,CAACA,YAAW;AACd,SAAG,gBAAgB,OAAO;AAC1B;AAAA,IACF;AAEA,UAAM,eAAe,OAAO,aAAa;AACzC,QAAI,CAAC,cAAc;AACjB;AAAA,IACF;AAEA,UAAM,WAAW,aAAa,WAAW,CAAC;AAC1C,UAAM,OAAO,SAAS,sBAAsB;AAM5C,QACE,KAAK,QAAQ,KACb,KAAK,SAAS,KACd,KAAK,UAAU,KACf,KAAK,WAAW,GAChB;AACA;AAAA,IACF;AAEA,UAAM,iBAAiB;AACvB,UAAM,2BAA2B;AACjC,UAAM,6BAA6B;AACnC,QAAI,MACF,KAAK,MAAM,OAAO,UAAU,GAAG,eAAe;AAEhD,QAAI,MAAM,gBAAgB;AACxB,YAAM,KAAK,SAAS,OAAO,UAAU;AAAA,IACvC,WAAW,MAAM,GAAG,eAAe,OAAO,cAAc,gBAAgB;AACtE,YAAM,KAAK,MAAM,OAAO,UAAU,GAAG,eAAe;AAAA,IACtD;AAEA,QAAI,OACF,KAAK,OACL,OAAO,UACP,GAAG,cAAc,IACjB,KAAK,QAAQ,IACb;AAEF,QAAI,OAAO,gBAAgB;AACzB,aAAO;AAAA,IACT,WAAW,OAAO,GAAG,cAAc,OAAO,aAAa,gBAAgB;AACrE,aAAO,OAAO,aAAa,GAAG,cAAc;AAAA,IAC9C;AAEA,OAAG,MAAM,UAAU;AACnB,OAAG,MAAM,MAAM,GAAG;AAClB,OAAG,MAAM,OAAO,GAAG;AAAA,EACrB,CAAC;AAED,YAAU,MAAM;AACd,UAAM,qBAAqB,CAAC,UAAsB;AAChD,UAAI,IAAI,WAAW,CAAC,IAAI,QAAQ,SAAS,MAAM,MAAc,GAAG;AAC9D,uBAAe,KAAK;AAAA,MACtB;AAAA,IACF;AAEA,aAAS,iBAAiB,aAAa,kBAAkB;AACzD,WAAO,MAAM;AACX,eAAS,oBAAoB,aAAa,kBAAkB;AAAA,IAC9D;AAAA,EACF,GAAG,CAAC,KAAK,cAAc,CAAC;AAExB,MAAI,CAAC,UAAU;AACb,WAAO;AAAA,EACT;AAEA,SACE,oBAAC;AAAA,IACC,8BAAC;AAAA,MACC;AAAA,MACA,WAAU;AAAA,MAET,yBAAe,aACd,oBAAC;AAAA,QACC,aAAa,YAAY,QAAQ,SAAS;AAAA,QAC1C,WAAW,MAAM;AAAA,QACjB,aAAa,MAAM;AACjB,yBAAe,KAAK;AAAA,QACtB;AAAA,QACA,kBAAkB,CAAC,iBAAiB;AAClC,kBAAQ,IAAI,iBAAiB,YAAY;AAEzC,qBAAW,OAAO,QAAQ,EAAE,IAAI,UAAU,CAAC;AAC3C,qBAAW,WAAW,QAAQ,cAAc;AAAA,YAC1C,IAAI;AAAA,UACN,CAAC;AACD,yBAAe,KAAK;AAAA,QACtB;AAAA,OACF;AAAA,KAEJ;AAAA,GACF;AAEJ;AAEA,SAAS,YAAY,QAAgB,WAAyC;AAC5E,QAAM,mBAAmB,uBAAuB,MAAM;AACtD,MAAI,kBAAkB;AACpB,WAAO;AAAA,EACT;AAEA,SAAO;AAAA,IACL,kBAAkB,8BAA8B,MAAM;AAAA,IACtD,iBAAiB;AAAA,IACjB,cAAc;AAAA,EAChB;AACF","sourcesContent":["import { css } from \"@emotion/css\";\nimport { useEffect, useMemo, useRef, useState } from \"react\";\nimport { BaseSelection, Editor, Range, Location, Transforms } from \"slate\";\nimport { useSlate, useSlateSelection } from \"slate-react\";\nimport { HoveringInsertionPromptBox } from \"./text-insertion-prompt-box\";\nimport { Button, Icon, Menu, Portal } from \"./hovering-toolbar-components\";\nimport { useHoveringEditorContext } from \"./hovering-editor-provider\";\nimport {\n getFullEditorTextWithNewlines,\n getTextAroundSelection,\n} from \"../../lib/get-text-around-cursor\";\nimport {\n EditingEditorState,\n InsertionEditorApiConfig,\n} from \"../../types/base/autosuggestions-bare-function\";\n\nexport interface HoveringToolbarProps {\n apiConfig: InsertionEditorApiConfig;\n}\n\nexport const HoveringToolbar: (\n props: HoveringToolbarProps\n) => JSX.Element | null = (props) => {\n const ref = useRef<HTMLDivElement>(null);\n const editor = useSlate();\n const selection = useSlateSelection();\n const { isDisplayed, setIsDisplayed } = useHoveringEditorContext();\n\n // only render on client\n const [isClient, setIsClient] = useState(false);\n useEffect(() => {\n setIsClient(true);\n }, []);\n\n useEffect(() => {\n const el = ref.current;\n const { selection } = editor;\n\n if (!el) {\n return;\n }\n\n if (!selection) {\n el.removeAttribute(\"style\");\n return;\n }\n\n const domSelection = window.getSelection();\n if (!domSelection) {\n return;\n }\n\n const domRange = domSelection.getRangeAt(0);\n const rect = domRange.getBoundingClientRect();\n\n // We use window = (0,0,0,0) as a signal that the selection is not in the original copilot-textarea,\n // but inside the hovering window.\n //\n // in such case, we simply do nothing.\n if (\n rect.top === 0 &&\n rect.left === 0 &&\n rect.width === 0 &&\n rect.height === 0\n ) {\n return;\n }\n\n const minGapFromEdge = 60;\n const verticalOffsetFromCorner = 35;\n const horizontalOffsetFromCorner = 15;\n let top =\n rect.top + window.scrollY - el.offsetHeight + verticalOffsetFromCorner;\n // make sure top is in the viewport and not too close to the edge\n if (top < minGapFromEdge) {\n top = rect.bottom + window.scrollY + minGapFromEdge;\n } else if (top + el.offsetHeight > window.innerHeight - minGapFromEdge) {\n top = rect.top + window.scrollY - el.offsetHeight - minGapFromEdge;\n }\n\n let left =\n rect.left +\n window.scrollX -\n el.offsetWidth / 2 +\n rect.width / 2 +\n horizontalOffsetFromCorner;\n // make sure left is in the viewport and not too close to the edge\n if (left < minGapFromEdge) {\n left = minGapFromEdge;\n } else if (left + el.offsetWidth > window.innerWidth - minGapFromEdge) {\n left = window.innerWidth - el.offsetWidth - minGapFromEdge;\n }\n\n el.style.opacity = \"1\";\n el.style.top = `${top}px`;\n el.style.left = `${left}px`;\n });\n\n useEffect(() => {\n const handleClickOutside = (event: MouseEvent) => {\n if (ref.current && !ref.current.contains(event.target as Node)) {\n setIsDisplayed(false);\n }\n };\n\n document.addEventListener(\"mousedown\", handleClickOutside);\n return () => {\n document.removeEventListener(\"mousedown\", handleClickOutside);\n };\n }, [ref, setIsDisplayed]);\n\n if (!isClient) {\n return null;\n }\n\n return (\n <Portal>\n <Menu\n ref={ref}\n className=\"p-2 absolute z-10 top-[-10000px] left-[-10000px] mt-[-6px] opacity-0 transition-opacity duration-700\"\n >\n {isDisplayed && selection && (\n <HoveringInsertionPromptBox\n editorState={editorState(editor, selection)}\n apiConfig={props.apiConfig}\n closeWindow={() => {\n setIsDisplayed(false);\n }}\n performInsertion={(insertedText) => {\n console.log(\"inserted text\", insertedText);\n // replace the selection with the inserted text\n Transforms.delete(editor, { at: selection });\n Transforms.insertText(editor, insertedText, {\n at: selection,\n });\n setIsDisplayed(false);\n }}\n />\n )}\n </Menu>\n </Portal>\n );\n};\n\nfunction editorState(editor: Editor, selection: Location): EditingEditorState {\n const textAroundCursor = getTextAroundSelection(editor);\n if (textAroundCursor) {\n return textAroundCursor;\n }\n\n return {\n textBeforeCursor: getFullEditorTextWithNewlines(editor),\n textAfterCursor: \"\",\n selectedText: \"\",\n };\n}\n"]}
@@ -1,45 +0,0 @@
1
- import { Element } from 'slate';
2
-
3
- // src/lib/editor-to-text.ts
4
- function nodeChildrenToTextComponents(editor, nodes) {
5
- const indeciesOfInlineElements = new Set(
6
- nodes.map((node, index) => {
7
- if (Element.isElement(node) && editor.isInline(node)) {
8
- return index;
9
- }
10
- return -1;
11
- }).filter((index) => index !== -1)
12
- );
13
- const nonIgnorableItems = nodes.filter((node, index) => {
14
- const isInline = indeciesOfInlineElements.has(index);
15
- if (isInline) {
16
- return false;
17
- }
18
- const isNeighbourOfInline = indeciesOfInlineElements.has(index - 1) || indeciesOfInlineElements.has(index + 1);
19
- if (isNeighbourOfInline) {
20
- return node.text !== "";
21
- }
22
- return true;
23
- });
24
- return nonIgnorableItems.map((node) => {
25
- if (Element.isElement(node)) {
26
- switch (node.type) {
27
- case "paragraph":
28
- return nodeChildrenToTextComponents(editor, node.children);
29
- case "suggestion":
30
- return [];
31
- }
32
- } else {
33
- return [node];
34
- }
35
- }).reduce((acc, val) => acc.concat(val), []);
36
- }
37
- var editorToText = (editor) => {
38
- const flattened = nodeChildrenToTextComponents(editor, editor.children);
39
- const text = flattened.map((textComponent) => textComponent.text).join("\n");
40
- return text;
41
- };
42
-
43
- export { editorToText };
44
- //# sourceMappingURL=out.js.map
45
- //# sourceMappingURL=chunk-YTOPHPSG.mjs.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/lib/editor-to-text.ts"],"names":[],"mappings":";AAAA,SAAiC,eAAe;AAKhD,SAAS,6BACP,QACA,OACuB;AAEvB,QAAM,2BAA2B,IAAI;AAAA,IACnC,MACG,IAAI,CAAC,MAAM,UAAU;AACpB,UAAI,QAAQ,UAAU,IAAI,KAAK,OAAO,SAAS,IAAI,GAAG;AACpD,eAAO;AAAA,MACT;AACA,aAAO;AAAA,IACT,CAAC,EACA,OAAO,CAAC,UAAU,UAAU,EAAE;AAAA,EACnC;AAIA,QAAM,oBAAoB,MAAM,OAAO,CAAC,MAAM,UAAU;AACtD,UAAM,WAAW,yBAAyB,IAAI,KAAK;AACnD,QAAI,UAAU;AACZ,aAAO;AAAA,IACT;AAEA,UAAM,sBACJ,yBAAyB,IAAI,QAAQ,CAAC,KACtC,yBAAyB,IAAI,QAAQ,CAAC;AACxC,QAAI,qBAAqB;AACvB,aAAQ,KAAa,SAAS;AAAA,IAChC;AAEA,WAAO;AAAA,EACT,CAAC;AAED,SAAO,kBACJ,IAAI,CAAC,SAAS;AACb,QAAI,QAAQ,UAAU,IAAI,GAAG;AAC3B,cAAQ,KAAK,MAAM;AAAA,QACjB,KAAK;AACH,iBAAO,6BAA6B,QAAQ,KAAK,QAAQ;AAAA,QAC3D,KAAK;AACH,iBAAO,CAAC;AAAA,MACZ;AAAA,IACF,OAAO;AACL,aAAO,CAAC,IAAI;AAAA,IACd;AAAA,EACF,CAAC,EACA,OAAO,CAAC,KAAK,QAAQ,IAAI,OAAO,GAAG,GAAG,CAAC,CAAC;AAC7C;AAEO,IAAM,eAAe,CAC1B,WACG;AACH,QAAM,YAAY,6BAA6B,QAAQ,OAAO,QAAQ;AAEtE,QAAM,OAAO,UAAU,IAAI,CAAC,kBAAkB,cAAc,IAAI,EAAE,KAAK,IAAI;AAE3E,SAAO;AACT","sourcesContent":["import { BaseEditor, Descendant, Element } from \"slate\";\nimport { HistoryEditor } from \"slate-history\";\nimport { ReactEditor } from \"slate-react\";\nimport { SuggestionAwareText } from \"../types/base/custom-editor\";\n\nfunction nodeChildrenToTextComponents(\n editor: BaseEditor & ReactEditor & HistoryEditor,\n nodes: Descendant[]\n): SuggestionAwareText[] {\n // find inlineable elements\n const indeciesOfInlineElements = new Set(\n nodes\n .map((node, index) => {\n if (Element.isElement(node) && editor.isInline(node)) {\n return index;\n }\n return -1;\n })\n .filter((index) => index !== -1)\n );\n\n // ignorable elements = inline elements,\n // or neighbors of inline elements that are {text: \"\"}\n const nonIgnorableItems = nodes.filter((node, index) => {\n const isInline = indeciesOfInlineElements.has(index);\n if (isInline) {\n return false;\n }\n\n const isNeighbourOfInline =\n indeciesOfInlineElements.has(index - 1) ||\n indeciesOfInlineElements.has(index + 1);\n if (isNeighbourOfInline) {\n return (node as any).text !== \"\";\n }\n\n return true;\n });\n\n return nonIgnorableItems\n .map((node) => {\n if (Element.isElement(node)) {\n switch (node.type) {\n case \"paragraph\":\n return nodeChildrenToTextComponents(editor, node.children);\n case \"suggestion\":\n return [];\n }\n } else {\n return [node];\n }\n })\n .reduce((acc, val) => acc.concat(val), []);\n}\n\nexport const editorToText = (\n editor: BaseEditor & ReactEditor & HistoryEditor\n) => {\n const flattened = nodeChildrenToTextComponents(editor, editor.children);\n\n const text = flattened.map((textComponent) => textComponent.text).join(\"\\n\");\n\n return text;\n};\n"]}
@@ -1,23 +0,0 @@
1
- import { createContext, useState, useContext } from 'react';
2
- import { jsx } from 'react/jsx-runtime';
3
-
4
- // src/components/hovering-toolbar/hovering-editor-provider.tsx
5
- var HoveringEditorContext = createContext({
6
- isDisplayed: false,
7
- setIsDisplayed: () => {
8
- }
9
- });
10
- var HoveringEditorProvider = ({
11
- children
12
- }) => {
13
- const [isDisplayed, setIsDisplayed] = useState(false);
14
- return /* @__PURE__ */ jsx(HoveringEditorContext.Provider, {
15
- value: { isDisplayed, setIsDisplayed },
16
- children
17
- });
18
- };
19
- var useHoveringEditorContext = () => useContext(HoveringEditorContext);
20
-
21
- export { HoveringEditorProvider, useHoveringEditorContext };
22
- //# sourceMappingURL=out.js.map
23
- //# sourceMappingURL=chunk-YW3REYX6.mjs.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/components/hovering-toolbar/hovering-editor-provider.tsx"],"names":[],"mappings":";AAAA,SAAgB,eAAe,UAAU,kBAA6B;AAsBlE;AAfJ,IAAM,wBAAwB,cAA0C;AAAA,EACtE,aAAa;AAAA,EACb,gBAAgB,MAAM;AAAA,EAAC;AACzB,CAAC;AAMM,IAAM,yBAAyB,CAAC;AAAA,EACrC;AACF,MAAmC;AACjC,QAAM,CAAC,aAAa,cAAc,IAAI,SAAS,KAAK;AAEpD,SACE,oBAAC,sBAAsB,UAAtB;AAAA,IAA+B,OAAO,EAAE,aAAa,eAAe;AAAA,IAClE;AAAA,GACH;AAEJ;AAEO,IAAM,2BAA2B,MAAM,WAAW,qBAAqB","sourcesContent":["import React, { 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\ninterface HoveringEditorProviderProps {\n children: ReactNode;\n}\n\nexport const HoveringEditorProvider = ({\n children,\n}: HoveringEditorProviderProps) => {\n const [isDisplayed, setIsDisplayed] = useState(false);\n\n return (\n <HoveringEditorContext.Provider value={{ isDisplayed, setIsDisplayed }}>\n {children}\n </HoveringEditorContext.Provider>\n );\n};\n\nexport const useHoveringEditorContext = () => useContext(HoveringEditorContext);\n"]}
@@ -1,13 +0,0 @@
1
- import React__default from 'react';
2
- import { BaseCopilotTextareaProps } from '../../types/base/base-copilot-textarea-props.js';
3
- import '../../types/base/base-autosuggestions-config.js';
4
- import '../../types/base/autosuggestions-bare-function.js';
5
-
6
- interface HTMLCopilotTextAreaElement extends HTMLElement {
7
- value: string;
8
- focus: () => void;
9
- blur: () => void;
10
- }
11
- declare const BaseCopilotTextarea: React__default.ForwardRefExoticComponent<BaseCopilotTextareaProps & React__default.RefAttributes<HTMLCopilotTextAreaElement>>;
12
-
13
- export { BaseCopilotTextarea, HTMLCopilotTextAreaElement };
@@ -1,6 +0,0 @@
1
- import { RenderElementProps } from 'slate-react';
2
-
3
- type RenderElementFunction = (props: RenderElementProps) => JSX.Element;
4
- declare function makeRenderElementFunction(suggestionsStyle: React.CSSProperties): RenderElementFunction;
5
-
6
- export { RenderElementFunction, makeRenderElementFunction };
@@ -1,6 +0,0 @@
1
- import { RenderPlaceholderProps } from 'slate-react';
2
-
3
- type RenderPlaceholderFunction = (props: RenderPlaceholderProps) => JSX.Element;
4
- declare function makeRenderPlaceholderFunction(placeholderStyle?: React.CSSProperties): RenderPlaceholderFunction;
5
-
6
- export { RenderPlaceholderFunction, makeRenderPlaceholderFunction };
@@ -1,6 +0,0 @@
1
- interface TrackerTextEditedSinceLastCursorMovementProps {
2
- setCursorMovedSinceLastTextChange: (value: boolean) => void;
3
- }
4
- declare function TrackerTextEditedSinceLastCursorMovement(props: TrackerTextEditedSinceLastCursorMovementProps): JSX.Element;
5
-
6
- export { TrackerTextEditedSinceLastCursorMovement };
@@ -1,3 +0,0 @@
1
- declare function useAddBrandingCss(suggestionStyleAugmented: React.CSSProperties, disableBranding: boolean | undefined): void;
2
-
3
- export { useAddBrandingCss };
@@ -1,20 +0,0 @@
1
- import React__default from 'react';
2
- import { BaseCopilotTextareaProps } from '../../types/base/base-copilot-textarea-props.js';
3
- import { HTMLCopilotTextAreaElement } from '../../types/html-copilot-textarea-element.js';
4
- import { AutosuggestionsConfigUserSpecified } from '../../types/autosuggestions-config/autosuggestions-config-user-specified.js';
5
- import '../../types/base/base-autosuggestions-config.js';
6
- import '../../types/base/autosuggestions-bare-function.js';
7
- import '../../types/autosuggestions-config/autosuggestions-config.js';
8
- import '../../types/autosuggestions-config/suggestions-api-config.js';
9
- import '../../types/autosuggestions-config/subtypes/minimal-chat-gpt-message.js';
10
- import '../../types/autosuggestions-config/subtypes/make-system-prompt.js';
11
- import '../../types/autosuggestions-config/subtypes/chatlike-api-endpoint.js';
12
- import '../../types/autosuggestions-config/insertions-api-config.js';
13
- import '../../types/autosuggestions-config/editing-api-config.js';
14
-
15
- interface CopilotTextareaProps extends Omit<BaseCopilotTextareaProps, "baseAutosuggestionsConfig"> {
16
- autosuggestionsConfig: AutosuggestionsConfigUserSpecified;
17
- }
18
- declare const CopilotTextarea: React__default.ForwardRefExoticComponent<CopilotTextareaProps & React__default.RefAttributes<HTMLCopilotTextAreaElement>>;
19
-
20
- export { CopilotTextarea, CopilotTextareaProps };
@@ -1,13 +0,0 @@
1
- import { ReactNode } from 'react';
2
-
3
- interface HoveringEditorContextProps {
4
- isDisplayed: boolean;
5
- setIsDisplayed: (value: boolean) => void;
6
- }
7
- interface HoveringEditorProviderProps {
8
- children: ReactNode;
9
- }
10
- declare const HoveringEditorProvider: ({ children, }: HoveringEditorProviderProps) => JSX.Element;
11
- declare const useHoveringEditorContext: () => HoveringEditorContextProps;
12
-
13
- export { HoveringEditorProvider, useHoveringEditorContext };
@@ -1,18 +0,0 @@
1
- import React__default from 'react';
2
-
3
- interface BaseProps {
4
- className: string;
5
- [key: string]: unknown;
6
- }
7
- declare const Button: React__default.ForwardRefExoticComponent<Omit<React__default.PropsWithChildren<{
8
- active: boolean;
9
- reversed: boolean;
10
- } & BaseProps>, "ref"> & React__default.RefAttributes<HTMLSpanElement>>;
11
- declare const Icon: React__default.ForwardRefExoticComponent<Omit<React__default.PropsWithChildren<BaseProps>, "ref"> & React__default.RefAttributes<HTMLSpanElement>>;
12
- declare const Menu: React__default.ForwardRefExoticComponent<Omit<React__default.PropsWithChildren<BaseProps>, "ref"> & React__default.RefAttributes<HTMLDivElement>>;
13
- declare const Portal: ({ children }: {
14
- children: React__default.ReactNode;
15
- }) => React__default.ReactPortal | null;
16
- declare const Toolbar: React__default.ForwardRefExoticComponent<Omit<React__default.PropsWithChildren<BaseProps>, "ref"> & React__default.RefAttributes<HTMLDivElement>>;
17
-
18
- export { Button, Icon, Menu, Portal, Toolbar };
@@ -1,8 +0,0 @@
1
- import { InsertionEditorApiConfig } from '../../types/base/autosuggestions-bare-function.js';
2
-
3
- interface HoveringToolbarProps {
4
- apiConfig: InsertionEditorApiConfig;
5
- }
6
- declare const HoveringToolbar: (props: HoveringToolbarProps) => JSX.Element | null;
7
-
8
- export { HoveringToolbar, HoveringToolbarProps };
@@ -1,29 +0,0 @@
1
- import { EditingEditorState, Generator_InsertionOrEditingSuggestion } from '../../../types/base/autosuggestions-bare-function.js';
2
- import { FilePointer } from '../../source-search-box/source-search-box.js';
3
- import React__default from 'react';
4
-
5
- type SuggestionState = {
6
- editorState: EditingEditorState;
7
- };
8
- interface HoveringInsertionPromptBoxCoreProps {
9
- state: SuggestionState;
10
- performInsertion: (insertedText: string) => void;
11
- insertionOrEditingFunction: Generator_InsertionOrEditingSuggestion;
12
- }
13
- declare const HoveringInsertionPromptBoxCore: React__default.FC<HoveringInsertionPromptBoxCoreProps>;
14
- interface IncludedFilesPreviewProps {
15
- includedFiles: FilePointer[];
16
- setIncludedFiles: React__default.Dispatch<React__default.SetStateAction<FilePointer[]>>;
17
- }
18
- declare const IncludedFilesPreview: React__default.FC<IncludedFilesPreviewProps>;
19
- interface FileChipPreviewProp {
20
- filePointer: FilePointer;
21
- onDelete: () => void;
22
- }
23
- declare const FileChipPreview: React__default.FC<FileChipPreviewProp>;
24
- declare function IconForFilePointer({ filePointer, className, }: {
25
- filePointer: FilePointer;
26
- className: string;
27
- }): JSX.Element;
28
-
29
- export { FileChipPreview, FileChipPreviewProp, HoveringInsertionPromptBoxCore, HoveringInsertionPromptBoxCoreProps, IconForFilePointer, IncludedFilesPreview, SuggestionState };
@@ -1,12 +0,0 @@
1
- import React__default from 'react';
2
- import { EditingEditorState, InsertionEditorApiConfig } from '../../../types/base/autosuggestions-bare-function.js';
3
-
4
- interface Props {
5
- editorState: EditingEditorState;
6
- apiConfig: InsertionEditorApiConfig;
7
- performInsertion: (insertedText: string) => void;
8
- closeWindow: () => void;
9
- }
10
- declare const HoveringInsertionPromptBox: React__default.FC<Props>;
11
-
12
- export { HoveringInsertionPromptBox, Props };
@@ -1,3 +0,0 @@
1
- export { HoveringInsertionPromptBox, Props } from './hovering-insertion-prompt-box.js';
2
- import 'react';
3
- import '../../../types/base/autosuggestions-bare-function.js';
@@ -1,15 +0,0 @@
1
- export { BaseCopilotTextarea } from './base-copilot-textarea/base-copilot-textarea.js';
2
- export { CopilotTextarea, CopilotTextareaProps } from './copilot-textarea/copilot-textarea.js';
3
- import 'react';
4
- import '../types/base/base-copilot-textarea-props.js';
5
- import '../types/base/base-autosuggestions-config.js';
6
- import '../types/base/autosuggestions-bare-function.js';
7
- import '../types/html-copilot-textarea-element.js';
8
- import '../types/autosuggestions-config/autosuggestions-config-user-specified.js';
9
- import '../types/autosuggestions-config/autosuggestions-config.js';
10
- import '../types/autosuggestions-config/suggestions-api-config.js';
11
- import '../types/autosuggestions-config/subtypes/minimal-chat-gpt-message.js';
12
- import '../types/autosuggestions-config/subtypes/make-system-prompt.js';
13
- import '../types/autosuggestions-config/subtypes/chatlike-api-endpoint.js';
14
- import '../types/autosuggestions-config/insertions-api-config.js';
15
- import '../types/autosuggestions-config/editing-api-config.js';
@@ -1,10 +0,0 @@
1
- import React__default from 'react';
2
-
3
- interface ChipWithIconProps {
4
- label: string;
5
- onDelete: () => void;
6
- iconUrl: string;
7
- }
8
- declare const ChipWithIcon: React__default.FC<ChipWithIconProps>;
9
-
10
- export { ChipWithIcon, ChipWithIconProps };
@@ -1,17 +0,0 @@
1
- interface FilePointer {
2
- name: string;
3
- sourceApplication: string;
4
- getContents: () => Promise<string>;
5
- }
6
- interface SourceSearchBoxProps {
7
- searchTerm: string;
8
- recentFiles: FilePointer[];
9
- onSelectedFile: (filePointer: FilePointer) => void;
10
- }
11
- declare function SourceSearchBox(props: SourceSearchBoxProps): JSX.Element;
12
- declare function Logo({ children, size, }: {
13
- children: React.ReactNode;
14
- size?: string;
15
- }): JSX.Element;
16
-
17
- export { FilePointer, Logo, SourceSearchBox, SourceSearchBoxProps };
@@ -1,14 +0,0 @@
1
- import * as class_variance_authority_dist_types from 'class-variance-authority/dist/types';
2
- import * as React from 'react';
3
- import { VariantProps } from 'class-variance-authority';
4
-
5
- declare const buttonVariants: (props?: ({
6
- variant?: "link" | "default" | "destructive" | "outline" | "secondary" | "ghost" | null | undefined;
7
- size?: "default" | "sm" | "lg" | "icon" | null | undefined;
8
- } & class_variance_authority_dist_types.ClassProp) | undefined) => string;
9
- interface ButtonProps extends React.ButtonHTMLAttributes<HTMLButtonElement>, VariantProps<typeof buttonVariants> {
10
- asChild?: boolean;
11
- }
12
- declare const Button: React.ForwardRefExoticComponent<ButtonProps & React.RefAttributes<HTMLButtonElement>>;
13
-
14
- export { Button, ButtonProps, buttonVariants };
@@ -1,10 +0,0 @@
1
- import * as React from 'react';
2
-
3
- declare const Card: React.ForwardRefExoticComponent<React.HTMLAttributes<HTMLDivElement> & React.RefAttributes<HTMLDivElement>>;
4
- declare const CardHeader: React.ForwardRefExoticComponent<React.HTMLAttributes<HTMLDivElement> & React.RefAttributes<HTMLDivElement>>;
5
- declare const CardTitle: React.ForwardRefExoticComponent<React.HTMLAttributes<HTMLHeadingElement> & React.RefAttributes<HTMLParagraphElement>>;
6
- declare const CardDescription: React.ForwardRefExoticComponent<React.HTMLAttributes<HTMLParagraphElement> & React.RefAttributes<HTMLParagraphElement>>;
7
- declare const CardContent: React.ForwardRefExoticComponent<React.HTMLAttributes<HTMLDivElement> & React.RefAttributes<HTMLDivElement>>;
8
- declare const CardFooter: React.ForwardRefExoticComponent<React.HTMLAttributes<HTMLDivElement> & React.RefAttributes<HTMLDivElement>>;
9
-
10
- export { Card, CardContent, CardDescription, CardFooter, CardHeader, CardTitle };
@@ -1,48 +0,0 @@
1
- import * as React from 'react';
2
- import { DialogProps } from '@radix-ui/react-dialog';
3
-
4
- declare const Command: React.ForwardRefExoticComponent<Omit<{
5
- children?: React.ReactNode;
6
- } & React.HTMLAttributes<HTMLDivElement> & {
7
- label?: string | undefined;
8
- shouldFilter?: boolean | undefined;
9
- filter?: ((value: string, search: string) => number) | undefined;
10
- value?: string | undefined;
11
- onValueChange?: ((value: string) => void) | undefined;
12
- loop?: boolean | undefined;
13
- } & React.RefAttributes<HTMLDivElement>, "ref"> & React.RefAttributes<HTMLDivElement>>;
14
- interface CommandDialogProps extends DialogProps {
15
- }
16
- declare const CommandDialog: ({ children, ...props }: CommandDialogProps) => JSX.Element;
17
- declare const CommandInput: React.ForwardRefExoticComponent<Omit<Omit<React.InputHTMLAttributes<HTMLInputElement>, "onChange" | "value" | "type"> & {
18
- value?: string | undefined;
19
- onValueChange?: ((search: string) => void) | undefined;
20
- } & React.RefAttributes<HTMLInputElement>, "ref"> & React.RefAttributes<HTMLInputElement>>;
21
- declare const CommandList: React.ForwardRefExoticComponent<Omit<{
22
- children?: React.ReactNode;
23
- } & React.HTMLAttributes<HTMLDivElement> & React.RefAttributes<HTMLDivElement>, "ref"> & React.RefAttributes<HTMLDivElement>>;
24
- declare const CommandEmpty: React.ForwardRefExoticComponent<Omit<{
25
- children?: React.ReactNode;
26
- } & React.HTMLAttributes<HTMLDivElement> & React.RefAttributes<HTMLDivElement>, "ref"> & React.RefAttributes<HTMLDivElement>>;
27
- declare const CommandGroup: React.ForwardRefExoticComponent<Omit<{
28
- children?: React.ReactNode;
29
- } & Omit<React.HTMLAttributes<HTMLDivElement>, "value" | "heading"> & {
30
- heading?: React.ReactNode;
31
- value?: string | undefined;
32
- } & React.RefAttributes<HTMLDivElement>, "ref"> & React.RefAttributes<HTMLDivElement>>;
33
- declare const CommandSeparator: React.ForwardRefExoticComponent<Omit<React.HTMLAttributes<HTMLDivElement> & {
34
- alwaysRender?: boolean | undefined;
35
- } & React.RefAttributes<HTMLDivElement>, "ref"> & React.RefAttributes<HTMLDivElement>>;
36
- declare const CommandItem: React.ForwardRefExoticComponent<Omit<{
37
- children?: React.ReactNode;
38
- } & Omit<React.HTMLAttributes<HTMLDivElement>, "disabled" | "value" | "onSelect"> & {
39
- disabled?: boolean | undefined;
40
- onSelect?: ((value: string) => void) | undefined;
41
- value?: string | undefined;
42
- } & React.RefAttributes<HTMLDivElement>, "ref"> & React.RefAttributes<HTMLDivElement>>;
43
- declare const CommandShortcut: {
44
- ({ className, ...props }: React.HTMLAttributes<HTMLSpanElement>): JSX.Element;
45
- displayName: string;
46
- };
47
-
48
- export { Command, CommandDialog, CommandEmpty, CommandGroup, CommandInput, CommandItem, CommandList, CommandSeparator, CommandShortcut };
@@ -1,18 +0,0 @@
1
- import * as React from 'react';
2
- import * as DialogPrimitive from '@radix-ui/react-dialog';
3
-
4
- declare const Dialog: React.FC<DialogPrimitive.DialogProps>;
5
- declare const DialogTrigger: React.ForwardRefExoticComponent<DialogPrimitive.DialogTriggerProps & React.RefAttributes<HTMLButtonElement>>;
6
- declare const DialogContent: React.ForwardRefExoticComponent<Omit<DialogPrimitive.DialogContentProps & React.RefAttributes<HTMLDivElement>, "ref"> & React.RefAttributes<HTMLDivElement>>;
7
- declare const DialogHeader: {
8
- ({ className, ...props }: React.HTMLAttributes<HTMLDivElement>): JSX.Element;
9
- displayName: string;
10
- };
11
- declare const DialogFooter: {
12
- ({ className, ...props }: React.HTMLAttributes<HTMLDivElement>): JSX.Element;
13
- displayName: string;
14
- };
15
- declare const DialogTitle: React.ForwardRefExoticComponent<Omit<DialogPrimitive.DialogTitleProps & React.RefAttributes<HTMLHeadingElement>, "ref"> & React.RefAttributes<HTMLHeadingElement>>;
16
- declare const DialogDescription: React.ForwardRefExoticComponent<Omit<DialogPrimitive.DialogDescriptionProps & React.RefAttributes<HTMLParagraphElement>, "ref"> & React.RefAttributes<HTMLParagraphElement>>;
17
-
18
- export { Dialog, DialogContent, DialogDescription, DialogFooter, DialogHeader, DialogTitle, DialogTrigger };
@@ -1,8 +0,0 @@
1
- import * as class_variance_authority_dist_types from 'class-variance-authority/dist/types';
2
- import * as React from 'react';
3
- import * as LabelPrimitive from '@radix-ui/react-label';
4
- import { VariantProps } from 'class-variance-authority';
5
-
6
- declare const Label: React.ForwardRefExoticComponent<Omit<LabelPrimitive.LabelProps & React.RefAttributes<HTMLLabelElement>, "ref"> & VariantProps<(props?: class_variance_authority_dist_types.ClassProp | undefined) => string> & React.RefAttributes<HTMLLabelElement>>;
7
-
8
- export { Label };
@@ -1,6 +0,0 @@
1
- import * as React from 'react';
2
- import * as SeparatorPrimitive from '@radix-ui/react-separator';
3
-
4
- declare const Separator: React.ForwardRefExoticComponent<Omit<SeparatorPrimitive.SeparatorProps & React.RefAttributes<HTMLDivElement>, "ref"> & React.RefAttributes<HTMLDivElement>>;
5
-
6
- export { Separator };
@@ -1,7 +0,0 @@
1
- import * as React from 'react';
2
-
3
- interface TextareaProps extends React.TextareaHTMLAttributes<HTMLTextAreaElement> {
4
- }
5
- declare const Textarea: React.ForwardRefExoticComponent<TextareaProps & React.RefAttributes<HTMLTextAreaElement>>;
6
-
7
- export { Textarea, TextareaProps };
@@ -1 +0,0 @@
1
-