@copilotkit/react-textarea 0.5.0 → 0.7.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 (135) hide show
  1. package/.turbo/turbo-build.log +192 -116
  2. package/CHANGELOG.md +12 -0
  3. package/dist/{chunk-JJASB23A.mjs → chunk-24IOWJS4.mjs} +2 -2
  4. package/dist/chunk-24IOWJS4.mjs.map +1 -0
  5. package/dist/{chunk-X4FJ6WVZ.mjs → chunk-3UQM3NLM.mjs} +1 -1
  6. package/dist/chunk-3UQM3NLM.mjs.map +1 -0
  7. package/dist/{chunk-RVJAOO4S.mjs → chunk-4XYYSJ5C.mjs} +1 -1
  8. package/dist/{chunk-RVJAOO4S.mjs.map → chunk-4XYYSJ5C.mjs.map} +1 -1
  9. package/dist/{chunk-5SJM4R4K.mjs → chunk-6LKDH2UJ.mjs} +2 -2
  10. package/dist/chunk-6LKDH2UJ.mjs.map +1 -0
  11. package/dist/{chunk-Y5BUWZOI.mjs → chunk-6Q4X3YEO.mjs} +1 -1
  12. package/dist/chunk-6Q4X3YEO.mjs.map +1 -0
  13. package/dist/{chunk-L24ZN4LL.mjs → chunk-6SYD77G6.mjs} +1 -1
  14. package/dist/chunk-6SYD77G6.mjs.map +1 -0
  15. package/dist/chunk-AZQCUNBV.mjs +3 -0
  16. package/dist/{chunk-GOAPCQCR.mjs → chunk-CHK3DSAA.mjs} +9 -9
  17. package/dist/chunk-CHK3DSAA.mjs.map +1 -0
  18. package/dist/chunk-FD6FGKYY.mjs +3 -0
  19. package/dist/chunk-MMVDU6DF.mjs +3 -0
  20. package/dist/{chunk-KKG2RK2T.mjs → chunk-OELUUJZY.mjs} +1 -1
  21. package/dist/chunk-OELUUJZY.mjs.map +1 -0
  22. package/dist/chunk-RJDWVMCN.mjs +85 -0
  23. package/dist/chunk-RJDWVMCN.mjs.map +1 -0
  24. package/dist/{chunk-4LJAS777.mjs → chunk-UW3ITU2Y.mjs} +2 -2
  25. package/dist/chunk-UW3ITU2Y.mjs.map +1 -0
  26. package/dist/chunk-VF6DFXKX.mjs +25 -0
  27. package/dist/chunk-VF6DFXKX.mjs.map +1 -0
  28. package/dist/chunk-WJHSY5T6.mjs +3 -0
  29. package/dist/{chunk-ETGKLURC.mjs → chunk-WJYQWL4I.mjs} +1 -1
  30. package/dist/chunk-WJYQWL4I.mjs.map +1 -0
  31. package/dist/chunk-ZPACRCJ6.mjs +69 -0
  32. package/dist/chunk-ZPACRCJ6.mjs.map +1 -0
  33. package/dist/components/{copilot-textarea/base-copilot-textarea → base-copilot-textarea}/base-copilot-textarea.d.ts +2 -2
  34. package/dist/components/base-copilot-textarea/base-copilot-textarea.mjs +18 -0
  35. package/dist/components/base-copilot-textarea/render-element.mjs +4 -0
  36. package/dist/components/base-copilot-textarea/render-placeholder.mjs +4 -0
  37. package/dist/components/copilot-textarea/copilot-textarea.d.ts +15 -0
  38. package/dist/components/copilot-textarea/copilot-textarea.mjs +22 -0
  39. package/dist/components/index.d.ts +6 -3
  40. package/dist/components/index.mjs +16 -11
  41. package/dist/hooks/make-autosuggestions-function/use-make-standard-autosuggestions-function.d.ts +23 -0
  42. package/dist/hooks/make-autosuggestions-function/use-make-standard-autosuggestions-function.mjs +4 -0
  43. package/dist/hooks/use-autosuggestions.d.ts +3 -3
  44. package/dist/hooks/use-autosuggestions.mjs +2 -2
  45. package/dist/hooks/use-copilot-textarea-editor.d.ts +1 -1
  46. package/dist/hooks/use-copilot-textarea-editor.mjs +1 -1
  47. package/dist/index.d.ts +6 -3
  48. package/dist/index.mjs +18 -13
  49. package/dist/lib/editor-to-text.mjs.map +1 -1
  50. package/dist/lib/get-text-around-cursor.d.ts +1 -1
  51. package/dist/lib/get-text-around-cursor.mjs +1 -1
  52. package/dist/lib/slatejs-edits/add-autocompletions.d.ts +1 -1
  53. package/dist/lib/slatejs-edits/add-autocompletions.mjs +1 -1
  54. package/dist/lib/slatejs-edits/clear-autocompletions.d.ts +1 -1
  55. package/dist/lib/slatejs-edits/clear-autocompletions.mjs +1 -1
  56. package/dist/lib/slatejs-edits/with-partial-history.d.ts +1 -1
  57. package/dist/types/base/autosuggestions-bare-function.mjs.map +1 -0
  58. package/dist/types/base/base-autosuggestions-config.mjs +4 -0
  59. package/dist/types/base/base-autosuggestions-config.mjs.map +1 -0
  60. package/dist/types/base/custom-editor.mjs.map +1 -0
  61. package/dist/types/base/editor-autocomplete-state.mjs +5 -0
  62. package/dist/types/base/editor-autocomplete-state.mjs.map +1 -0
  63. package/dist/types/base/index.d.ts +2 -0
  64. package/dist/types/base/index.mjs +5 -0
  65. package/dist/types/base/index.mjs.map +1 -0
  66. package/dist/types/index.d.ts +4 -2
  67. package/dist/types/index.mjs +5 -2
  68. package/dist/types/standard-autosuggestions/autosuggestions-config.d.ts +18 -0
  69. package/dist/types/standard-autosuggestions/autosuggestions-config.mjs +6 -0
  70. package/dist/types/standard-autosuggestions/autosuggestions-config.mjs.map +1 -0
  71. package/dist/types/standard-autosuggestions/index.d.ts +3 -0
  72. package/dist/types/standard-autosuggestions/index.mjs +7 -0
  73. package/dist/types/standard-autosuggestions/index.mjs.map +1 -0
  74. package/dist/types/standard-autosuggestions/minimal-chat-gpt-message.d.ts +7 -0
  75. package/dist/types/standard-autosuggestions/minimal-chat-gpt-message.mjs +3 -0
  76. package/dist/types/standard-autosuggestions/minimal-chat-gpt-message.mjs.map +1 -0
  77. package/package.json +4 -3
  78. package/src/components/{copilot-textarea/base-copilot-textarea → base-copilot-textarea}/base-copilot-textarea.tsx +9 -9
  79. package/src/components/copilot-textarea/copilot-textarea.tsx +40 -0
  80. package/src/components/index.ts +5 -2
  81. package/src/hooks/make-autosuggestions-function/use-make-standard-autosuggestions-function.tsx +101 -0
  82. package/src/hooks/use-autosuggestions.ts +3 -3
  83. package/src/hooks/use-copilot-textarea-editor.tsx +1 -1
  84. package/src/lib/editor-to-text.ts +1 -1
  85. package/src/lib/get-text-around-cursor.ts +1 -1
  86. package/src/lib/slatejs-edits/add-autocompletions.ts +1 -1
  87. package/src/lib/slatejs-edits/clear-autocompletions.ts +1 -1
  88. package/src/types/{editor-autocomplete-state.ts → base/editor-autocomplete-state.ts} +1 -1
  89. package/src/types/base/index.ts +4 -0
  90. package/src/types/index.ts +2 -4
  91. package/src/types/standard-autosuggestions/autosuggestions-config.tsx +94 -0
  92. package/src/types/standard-autosuggestions/index.ts +11 -0
  93. package/src/types/standard-autosuggestions/minimal-chat-gpt-message.tsx +5 -0
  94. package/dist/chunk-4LJAS777.mjs.map +0 -1
  95. package/dist/chunk-5SJM4R4K.mjs.map +0 -1
  96. package/dist/chunk-ETGKLURC.mjs.map +0 -1
  97. package/dist/chunk-GOAPCQCR.mjs.map +0 -1
  98. package/dist/chunk-JD7BAH7U.mjs +0 -3
  99. package/dist/chunk-JJASB23A.mjs.map +0 -1
  100. package/dist/chunk-KKG2RK2T.mjs.map +0 -1
  101. package/dist/chunk-L24ZN4LL.mjs.map +0 -1
  102. package/dist/chunk-X4FJ6WVZ.mjs.map +0 -1
  103. package/dist/chunk-Y5BUWZOI.mjs.map +0 -1
  104. package/dist/chunk-YPBKY4KY.mjs +0 -3
  105. package/dist/components/copilot-textarea/base-copilot-textarea/base-copilot-textarea.mjs +0 -17
  106. package/dist/components/copilot-textarea/base-copilot-textarea/render-element.mjs +0 -4
  107. package/dist/components/copilot-textarea/base-copilot-textarea/render-placeholder.mjs +0 -4
  108. package/dist/types/base-autosuggestions-config.mjs +0 -4
  109. package/dist/types/editor-autocomplete-state.mjs +0 -5
  110. /package/dist/{chunk-JD7BAH7U.mjs.map → chunk-AZQCUNBV.mjs.map} +0 -0
  111. /package/dist/{chunk-YPBKY4KY.mjs.map → chunk-FD6FGKYY.mjs.map} +0 -0
  112. /package/dist/{components/copilot-textarea/base-copilot-textarea/base-copilot-textarea.mjs.map → chunk-MMVDU6DF.mjs.map} +0 -0
  113. /package/dist/{components/copilot-textarea/base-copilot-textarea/render-element.mjs.map → chunk-WJHSY5T6.mjs.map} +0 -0
  114. /package/dist/components/{copilot-textarea/base-copilot-textarea/render-placeholder.mjs.map → base-copilot-textarea/base-copilot-textarea.mjs.map} +0 -0
  115. /package/dist/components/{copilot-textarea/base-copilot-textarea → base-copilot-textarea}/render-element.d.ts +0 -0
  116. /package/dist/{types/autosuggestion-state.mjs.map → components/base-copilot-textarea/render-element.mjs.map} +0 -0
  117. /package/dist/components/{copilot-textarea/base-copilot-textarea → base-copilot-textarea}/render-placeholder.d.ts +0 -0
  118. /package/dist/{types/autosuggestions-bare-function.mjs.map → components/base-copilot-textarea/render-placeholder.mjs.map} +0 -0
  119. /package/dist/{types/base-autosuggestions-config.mjs.map → components/copilot-textarea/copilot-textarea.mjs.map} +0 -0
  120. /package/dist/{types/custom-editor.mjs.map → hooks/make-autosuggestions-function/use-make-standard-autosuggestions-function.mjs.map} +0 -0
  121. /package/dist/types/{autosuggestion-state.d.ts → base/autosuggestion-state.d.ts} +0 -0
  122. /package/dist/types/{autosuggestion-state.mjs → base/autosuggestion-state.mjs} +0 -0
  123. /package/dist/types/{editor-autocomplete-state.mjs.map → base/autosuggestion-state.mjs.map} +0 -0
  124. /package/dist/types/{autosuggestions-bare-function.d.ts → base/autosuggestions-bare-function.d.ts} +0 -0
  125. /package/dist/types/{autosuggestions-bare-function.mjs → base/autosuggestions-bare-function.mjs} +0 -0
  126. /package/dist/types/{base-autosuggestions-config.d.ts → base/base-autosuggestions-config.d.ts} +0 -0
  127. /package/dist/types/{custom-editor.d.ts → base/custom-editor.d.ts} +0 -0
  128. /package/dist/types/{custom-editor.mjs → base/custom-editor.mjs} +0 -0
  129. /package/dist/types/{editor-autocomplete-state.d.ts → base/editor-autocomplete-state.d.ts} +0 -0
  130. /package/src/components/{copilot-textarea/base-copilot-textarea → base-copilot-textarea}/render-element.tsx +0 -0
  131. /package/src/components/{copilot-textarea/base-copilot-textarea → base-copilot-textarea}/render-placeholder.tsx +0 -0
  132. /package/src/types/{autosuggestion-state.ts → base/autosuggestion-state.ts} +0 -0
  133. /package/src/types/{autosuggestions-bare-function.ts → base/autosuggestions-bare-function.ts} +0 -0
  134. /package/src/types/{base-autosuggestions-config.tsx → base/base-autosuggestions-config.tsx} +0 -0
  135. /package/src/types/{custom-editor.tsx → base/custom-editor.tsx} +0 -0
@@ -1,8 +1,8 @@
1
1
 
2
- > @copilotkit/react-textarea@0.5.0 build /Users/ataibarkai/LocalGit/Recursively.ai/CopilotKit/CopilotKit/packages/react-textarea
2
+ > @copilotkit/react-textarea@0.6.0 build /Users/ataibarkai/LocalGit/Recursively.ai/CopilotKit/CopilotKit/packages/react-textarea
3
3
  > tsup --treeshake
4
4
 
5
- CLI Building entry: src/index.tsx, src/components/index.ts, src/hooks/index.ts, src/hooks/use-autosuggestions.ts, src/hooks/use-copilot-textarea-editor.tsx, src/context/index.ts, src/lib/debouncer.ts, src/lib/editor-to-text.ts, src/lib/get-text-around-cursor.ts, src/lib/utils.ts, src/types/autosuggestion-state.ts, src/types/autosuggestions-bare-function.ts, src/types/base-autosuggestions-config.tsx, src/types/custom-editor.tsx, src/types/editor-autocomplete-state.ts, src/types/index.ts, src/lib/slatejs-edits/add-autocompletions.ts, src/lib/slatejs-edits/clear-autocompletions.ts, src/lib/slatejs-edits/replace-text.ts, src/lib/slatejs-edits/with-partial-history.ts, src/components/copilot-textarea/base-copilot-textarea/base-copilot-textarea.tsx, src/components/copilot-textarea/base-copilot-textarea/render-element.tsx, src/components/copilot-textarea/base-copilot-textarea/render-placeholder.tsx
5
+ CLI Building entry: src/index.tsx, src/context/index.ts, src/components/index.ts, src/hooks/index.ts, src/hooks/use-autosuggestions.ts, src/hooks/use-copilot-textarea-editor.tsx, src/types/index.ts, src/lib/debouncer.ts, src/lib/editor-to-text.ts, src/lib/get-text-around-cursor.ts, src/lib/utils.ts, src/components/base-copilot-textarea/base-copilot-textarea.tsx, src/components/base-copilot-textarea/render-element.tsx, src/components/base-copilot-textarea/render-placeholder.tsx, src/components/copilot-textarea/copilot-textarea.tsx, src/hooks/make-autosuggestions-function/use-make-standard-autosuggestions-function.tsx, src/types/base/autosuggestion-state.ts, src/types/base/autosuggestions-bare-function.ts, src/types/base/base-autosuggestions-config.tsx, src/types/base/custom-editor.tsx, src/types/base/editor-autocomplete-state.ts, src/types/base/index.ts, src/types/standard-autosuggestions/autosuggestions-config.tsx, src/types/standard-autosuggestions/index.ts, src/types/standard-autosuggestions/minimal-chat-gpt-message.tsx, src/lib/slatejs-edits/add-autocompletions.ts, src/lib/slatejs-edits/clear-autocompletions.ts, src/lib/slatejs-edits/replace-text.ts, src/lib/slatejs-edits/with-partial-history.ts
6
6
  CLI Using tsconfig: tsconfig.json
7
7
  CLI tsup v6.5.0
8
8
  CLI Using tsup config: /Users/ataibarkai/LocalGit/Recursively.ai/CopilotKit/CopilotKit/packages/react-textarea/tsup.config.ts
@@ -13,121 +13,197 @@ Browserslist: caniuse-lite is outdated. Please run:
13
13
  npx update-browserslist-db@latest
14
14
  Why you should do it regularly: https://github.com/browserslist/update-db#readme
15
15
  DTS Build start
16
+
17
+ WARN ▲ [WARNING] Ignoring this import because "../react-core/dist/chunk-MRXNTQOX.mjs" was marked as having no side effects [ignored-bare-import]
18
+
19
+ ../react-core/dist/chunk-YOYU25BE.mjs:1:7:
20
+  1 │ import './chunk-MRXNTQOX.mjs';
21
+ ╵ ~~~~~~~~~~~~~~~~~~~~~~
22
+
23
+ "sideEffects" is false in the enclosing "package.json" file
24
+
25
+ ../react-core/package.json:8:2:
26
+  8 │ "sideEffects": false,
27
+ ╵ ~~~~~~~~~~~~~
28
+
29
+
30
+
31
+
32
+ WARN ▲ [WARNING] Ignoring this import because "../react-core/dist/chunk-3BOHSSKR.mjs" was marked as having no side effects [ignored-bare-import]
33
+
34
+ ../react-core/dist/index.mjs:4:7:
35
+  4 │ import './chunk-3BOHSSKR.mjs';
36
+ ╵ ~~~~~~~~~~~~~~~~~~~~~~
37
+
38
+ "sideEffects" is false in the enclosing "package.json" file
39
+
40
+ ../react-core/package.json:8:2:
41
+  8 │ "sideEffects": false,
42
+ ╵ ~~~~~~~~~~~~~
43
+
44
+
45
+
46
+
47
+ WARN ▲ [WARNING] Ignoring this import because "../react-core/dist/chunk-MRXNTQOX.mjs" was marked as having no side effects [ignored-bare-import]
48
+
49
+ ../react-core/dist/index.mjs:11:7:
50
+  11 │ import './chunk-MRXNTQOX.mjs';
51
+ ╵ ~~~~~~~~~~~~~~~~~~~~~~
52
+
53
+ "sideEffects" is false in the enclosing "package.json" file
54
+
55
+ ../react-core/package.json:8:2:
56
+  8 │ "sideEffects": false,
57
+ ╵ ~~~~~~~~~~~~~
58
+
59
+
60
+
61
+ Generated an empty chunk: "minimal-chat-gpt-message".
16
62
  Generated an empty chunk: "autosuggestion-state".
17
63
  Generated an empty chunk: "autosuggestions-bare-function".
18
64
  Generated an empty chunk: "custom-editor".
19
- Generated an empty chunk: "chunk-YPBKY4KY".
20
- Generated an empty chunk: "chunk-JD7BAH7U".
21
- Generated an empty chunk: "chunk-H4VKQGVU".
22
65
  Generated an empty chunk: "chunk-IU3WTXLQ".
23
- ESM dist/index.css 5.52 KB
24
- ESM dist/index.css.map 11.97 KB
25
- ESM dist/types/autosuggestion-state.mjs 82.00 B
26
- ESM dist/lib/get-text-around-cursor.mjs 232.00 B
27
- ESM dist/components/index.mjs 607.00 B
28
- ESM dist/hooks/use-copilot-textarea-editor.mjs 218.00 B
29
- ESM dist/context/index.mjs 98.00 B
30
- ESM dist/types/custom-editor.mjs 75.00 B
31
- ESM dist/chunk-H4VKQGVU.mjs 76.00 B
32
- ESM dist/chunk-JD7BAH7U.mjs 76.00 B
33
- ESM dist/chunk-IU3WTXLQ.mjs 76.00 B
34
- ESM dist/types/autosuggestions-bare-function.mjs 91.00 B
35
- ESM dist/chunk-YPBKY4KY.mjs 76.00 B
36
- ESM dist/types/base-autosuggestions-config.mjs 194.00 B
37
- ESM dist/lib/utils.mjs 220.00 B
38
- ESM dist/types/index.mjs 204.00 B
39
- ESM dist/index.mjs 726.00 B
40
- ESM dist/chunk-MRXNTQOX.mjs 1.92 KB
41
- ESM dist/chunk-ETGKLURC.mjs 595.00 B
42
- ESM dist/chunk-RVJAOO4S.mjs 527.00 B
43
- ESM dist/chunk-TSF4AJIK.mjs 716.00 B
44
- ESM dist/types/editor-autocomplete-state.mjs 218.00 B
45
- ESM dist/chunk-X4FJ6WVZ.mjs 1.76 KB
46
- ESM dist/chunk-Y5BUWZOI.mjs 1.14 KB
47
- ESM dist/chunk-JJASB23A.mjs 2.93 KB
48
- ESM dist/hooks/use-autosuggestions.mjs 268.00 B
49
- ESM dist/chunk-KCHYD3EB.mjs 3.08 KB
50
- ESM dist/chunk-GOAPCQCR.mjs 4.69 KB
51
- ESM dist/chunk-KGKLUWKW.mjs 1.37 KB
52
- ESM dist/chunk-5SJM4R4K.mjs 290.00 B
53
- ESM dist/chunk-NKW5OU2S.mjs 959.00 B
54
- ESM dist/chunk-L24ZN4LL.mjs 2.01 KB
55
- ESM dist/lib/debouncer.mjs 153.00 B
56
- ESM dist/chunk-KKG2RK2T.mjs 625.00 B
57
- ESM dist/hooks/index.mjs 98.00 B
58
- ESM dist/components/copilot-textarea/base-copilot-textarea/base-copilot-textarea.mjs 681.00 B
59
- ESM dist/chunk-4LJAS777.mjs 491.00 B
60
- ESM dist/lib/editor-to-text.mjs 1.34 KB
61
- ESM dist/lib/slatejs-edits/clear-autocompletions.mjs 192.00 B
62
- ESM dist/lib/slatejs-edits/with-partial-history.mjs 198.00 B
63
- ESM dist/components/copilot-textarea/base-copilot-textarea/render-placeholder.mjs 194.00 B
64
- ESM dist/lib/slatejs-edits/replace-text.mjs 170.00 B
65
- ESM dist/lib/slatejs-edits/add-autocompletions.mjs 186.00 B
66
- ESM dist/types/autosuggestion-state.mjs.map 51.00 B
67
- ESM dist/components/copilot-textarea/base-copilot-textarea/render-element.mjs 186.00 B
68
- ESM dist/lib/get-text-around-cursor.mjs.map 51.00 B
69
- ESM dist/components/index.mjs.map 51.00 B
70
- ESM dist/types/custom-editor.mjs.map 51.00 B
71
- ESM dist/chunk-H4VKQGVU.mjs.map 51.00 B
72
- ESM dist/hooks/use-copilot-textarea-editor.mjs.map 51.00 B
73
- ESM dist/chunk-IU3WTXLQ.mjs.map 51.00 B
74
- ESM dist/types/autosuggestions-bare-function.mjs.map 51.00 B
75
- ESM dist/chunk-YPBKY4KY.mjs.map 51.00 B
76
- ESM dist/types/base-autosuggestions-config.mjs.map 51.00 B
77
- ESM dist/types/index.mjs.map 51.00 B
78
- ESM dist/lib/utils.mjs.map 51.00 B
79
- ESM dist/index.mjs.map 51.00 B
80
- ESM dist/chunk-MRXNTQOX.mjs.map 71.00 B
81
- ESM dist/chunk-ETGKLURC.mjs.map 1.03 KB
82
- ESM dist/chunk-TSF4AJIK.mjs.map 1.31 KB
83
- ESM dist/types/editor-autocomplete-state.mjs.map 51.00 B
84
- ESM dist/chunk-X4FJ6WVZ.mjs.map 3.63 KB
85
- ESM dist/chunk-Y5BUWZOI.mjs.map 1.84 KB
86
- ESM dist/hooks/use-autosuggestions.mjs.map 51.00 B
87
- ESM dist/chunk-JJASB23A.mjs.map 5.56 KB
88
- ESM dist/chunk-KCHYD3EB.mjs.map 6.12 KB
89
- ESM dist/chunk-GOAPCQCR.mjs.map 8.17 KB
90
- ESM dist/chunk-KGKLUWKW.mjs.map 2.45 KB
91
- ESM dist/chunk-NKW5OU2S.mjs.map 1.60 KB
92
- ESM dist/chunk-5SJM4R4K.mjs.map 561.00 B
93
- ESM dist/lib/debouncer.mjs.map 51.00 B
94
- ESM dist/chunk-L24ZN4LL.mjs.map 3.77 KB
95
- ESM dist/components/copilot-textarea/base-copilot-textarea/base-copilot-textarea.mjs.map 51.00 B
96
- ESM dist/chunk-KKG2RK2T.mjs.map 974.00 B
97
- ESM dist/hooks/index.mjs.map 51.00 B
98
- ESM dist/chunk-RVJAOO4S.mjs.map 916.00 B
99
- ESM dist/context/index.mjs.map 51.00 B
100
- ESM dist/chunk-4LJAS777.mjs.map 870.00 B
101
- ESM dist/lib/editor-to-text.mjs.map 2.83 KB
102
- ESM dist/lib/slatejs-edits/clear-autocompletions.mjs.map 51.00 B
103
- ESM dist/chunk-JD7BAH7U.mjs.map 51.00 B
104
- ESM dist/lib/slatejs-edits/with-partial-history.mjs.map 51.00 B
105
- ESM dist/components/copilot-textarea/base-copilot-textarea/render-placeholder.mjs.map 51.00 B
106
- ESM dist/lib/slatejs-edits/replace-text.mjs.map 51.00 B
107
- ESM dist/lib/slatejs-edits/add-autocompletions.mjs.map 51.00 B
108
- ESM dist/components/copilot-textarea/base-copilot-textarea/render-element.mjs.map 51.00 B
109
- ESM ⚡️ Build success in 507ms
110
- DTS ⚡️ Build success in 828ms
111
- DTS dist/index.d.ts 364.00 B
112
- DTS dist/components/copilot-textarea/base-copilot-textarea/base-copilot-textarea.d.ts 785.00 B
113
- DTS dist/types/base-autosuggestions-config.d.ts 332.00 B
114
- DTS dist/types/autosuggestions-bare-function.d.ts 162.00 B
115
- DTS dist/components/index.d.ts 249.00 B
116
- DTS dist/hooks/index.d.ts 1.00 B
117
- DTS dist/hooks/use-autosuggestions.d.ts 845.00 B
118
- DTS dist/types/autosuggestion-state.d.ts 143.00 B
119
- DTS dist/types/editor-autocomplete-state.d.ts 342.00 B
120
- DTS dist/hooks/use-copilot-textarea-editor.d.ts 218.00 B
121
- DTS dist/types/custom-editor.d.ts 801.00 B
122
- DTS dist/context/index.d.ts 1.00 B
123
- DTS dist/lib/debouncer.d.ts 372.00 B
124
- DTS dist/lib/editor-to-text.d.ts 243.00 B
125
- DTS dist/lib/get-text-around-cursor.d.ts 448.00 B
126
- DTS dist/lib/utils.d.ts 638.00 B
127
- DTS dist/types/index.d.ts 194.00 B
128
- DTS dist/lib/slatejs-edits/add-autocompletions.d.ts 297.00 B
129
- DTS dist/lib/slatejs-edits/clear-autocompletions.d.ts 245.00 B
130
- DTS dist/lib/slatejs-edits/replace-text.d.ts 139.00 B
131
- DTS dist/lib/slatejs-edits/with-partial-history.d.ts 537.00 B
132
- DTS dist/components/copilot-textarea/base-copilot-textarea/render-element.d.ts 292.00 B
133
- DTS dist/components/copilot-textarea/base-copilot-textarea/render-placeholder.d.ts 321.00 B
66
+ Generated an empty chunk: "chunk-MMVDU6DF".
67
+ Generated an empty chunk: "chunk-H4VKQGVU".
68
+ Generated an empty chunk: "chunk-FD6FGKYY".
69
+ Generated an empty chunk: "chunk-AZQCUNBV".
70
+ Generated an empty chunk: "chunk-WJHSY5T6".
71
+ ESM dist/index.css 5.52 KB
72
+ ESM dist/index.css.map 11.97 KB
73
+ ESM dist/chunk-H4VKQGVU.mjs 76.00 B
74
+ ESM dist/chunk-MMVDU6DF.mjs 76.00 B
75
+ ESM dist/chunk-AZQCUNBV.mjs 76.00 B
76
+ ESM dist/types/base/autosuggestions-bare-function.mjs 91.00 B
77
+ ESM dist/chunk-6LKDH2UJ.mjs 295.00 B
78
+ ESM dist/types/base/autosuggestion-state.mjs 82.00 B
79
+ ESM dist/lib/slatejs-edits/add-autocompletions.mjs 186.00 B
80
+ ESM dist/lib/slatejs-edits/replace-text.mjs 170.00 B
81
+ ESM dist/lib/slatejs-edits/clear-autocompletions.mjs 192.00 B
82
+ ESM dist/types/base/base-autosuggestions-config.mjs 200.00 B
83
+ ESM dist/types/base/editor-autocomplete-state.mjs 227.00 B
84
+ ESM dist/chunk-FD6FGKYY.mjs 76.00 B
85
+ ESM dist/chunk-MRXNTQOX.mjs 1.92 KB
86
+ ESM dist/lib/slatejs-edits/with-partial-history.mjs 198.00 B
87
+ ESM dist/types/base/custom-editor.mjs 75.00 B
88
+ ESM dist/types/base/index.mjs 213.00 B
89
+ ESM dist/chunk-IU3WTXLQ.mjs 76.00 B
90
+ ESM dist/lib/get-text-around-cursor.mjs 232.00 B
91
+ ESM dist/types/standard-autosuggestions/minimal-chat-gpt-message.mjs 86.00 B
92
+ ESM dist/components/base-copilot-textarea/render-placeholder.mjs 188.00 B
93
+ ESM dist/lib/utils.mjs 220.00 B
94
+ ESM dist/components/base-copilot-textarea/render-element.mjs 180.00 B
95
+ ESM dist/types/standard-autosuggestions/index.mjs 328.00 B
96
+ ESM dist/components/copilot-textarea/copilot-textarea.mjs 802.00 B
97
+ ESM dist/chunk-VF6DFXKX.mjs 1.06 KB
98
+ ESM dist/chunk-CHK3DSAA.mjs 4.69 KB
99
+ ESM dist/chunk-TSF4AJIK.mjs 716.00 B
100
+ ESM dist/chunk-WJYQWL4I.mjs 595.00 B
101
+ ESM dist/chunk-4XYYSJ5C.mjs 527.00 B
102
+ ESM dist/chunk-3UQM3NLM.mjs 1.76 KB
103
+ ESM dist/context/index.mjs 98.00 B
104
+ ESM dist/hooks/index.mjs 98.00 B
105
+ ESM dist/chunk-6Q4X3YEO.mjs 1.14 KB
106
+ ESM dist/chunk-RJDWVMCN.mjs 2.59 KB
107
+ ESM dist/index.mjs 993.00 B
108
+ ESM dist/chunk-KGKLUWKW.mjs 1.37 KB
109
+ ESM dist/chunk-UW3ITU2Y.mjs 496.00 B
110
+ ESM dist/hooks/make-autosuggestions-function/use-make-standard-autosuggestions-function.mjs 220.00 B
111
+ ESM dist/hooks/use-copilot-textarea-editor.mjs 218.00 B
112
+ ESM dist/chunk-6SYD77G6.mjs 2.01 KB
113
+ ESM dist/chunk-OELUUJZY.mjs 625.00 B
114
+ ESM dist/components/base-copilot-textarea/base-copilot-textarea.mjs 671.00 B
115
+ ESM dist/types/index.mjs 387.00 B
116
+ ESM dist/lib/debouncer.mjs 153.00 B
117
+ ESM dist/types/standard-autosuggestions/autosuggestions-config.mjs 310.00 B
118
+ ESM dist/chunk-NKW5OU2S.mjs 959.00 B
119
+ ESM dist/lib/editor-to-text.mjs 1.34 KB
120
+ ESM dist/chunk-KCHYD3EB.mjs 3.08 KB
121
+ ESM dist/chunk-24IOWJS4.mjs 2.93 KB
122
+ ESM dist/chunk-ZPACRCJ6.mjs 2.75 KB
123
+ ESM dist/hooks/use-autosuggestions.mjs 268.00 B
124
+ ESM dist/components/index.mjs 792.00 B
125
+ ESM dist/chunk-WJHSY5T6.mjs 76.00 B
126
+ ESM dist/chunk-H4VKQGVU.mjs.map 51.00 B
127
+ ESM dist/chunk-MMVDU6DF.mjs.map 51.00 B
128
+ ESM dist/chunk-6LKDH2UJ.mjs.map 566.00 B
129
+ ESM dist/lib/slatejs-edits/replace-text.mjs.map 51.00 B
130
+ ESM dist/types/base/autosuggestion-state.mjs.map 51.00 B
131
+ ESM dist/lib/slatejs-edits/clear-autocompletions.mjs.map 51.00 B
132
+ ESM dist/types/base/editor-autocomplete-state.mjs.map 51.00 B
133
+ ESM dist/chunk-FD6FGKYY.mjs.map 51.00 B
134
+ ESM dist/chunk-MRXNTQOX.mjs.map 71.00 B
135
+ ESM dist/types/base/autosuggestions-bare-function.mjs.map 51.00 B
136
+ ESM dist/chunk-AZQCUNBV.mjs.map 51.00 B
137
+ ESM dist/chunk-IU3WTXLQ.mjs.map 51.00 B
138
+ ESM dist/lib/get-text-around-cursor.mjs.map 51.00 B
139
+ ESM dist/types/base/custom-editor.mjs.map 51.00 B
140
+ ESM dist/types/base/base-autosuggestions-config.mjs.map 51.00 B
141
+ ESM dist/types/standard-autosuggestions/index.mjs.map 51.00 B
142
+ ESM dist/types/standard-autosuggestions/minimal-chat-gpt-message.mjs.map 51.00 B
143
+ ESM dist/chunk-VF6DFXKX.mjs.map 1.75 KB
144
+ ESM dist/lib/utils.mjs.map 51.00 B
145
+ ESM dist/components/base-copilot-textarea/render-element.mjs.map 51.00 B
146
+ ESM dist/types/base/index.mjs.map 51.00 B
147
+ ESM dist/chunk-TSF4AJIK.mjs.map 1.31 KB
148
+ ESM dist/components/copilot-textarea/copilot-textarea.mjs.map 51.00 B
149
+ ESM dist/lib/slatejs-edits/with-partial-history.mjs.map 51.00 B
150
+ ESM dist/chunk-WJYQWL4I.mjs.map 1.04 KB
151
+ ESM dist/chunk-6Q4X3YEO.mjs.map 1.82 KB
152
+ ESM dist/chunk-4XYYSJ5C.mjs.map 921.00 B
153
+ ESM dist/chunk-CHK3DSAA.mjs.map 8.05 KB
154
+ ESM dist/chunk-RJDWVMCN.mjs.map 6.55 KB
155
+ ESM dist/chunk-3UQM3NLM.mjs.map 3.63 KB
156
+ ESM dist/index.mjs.map 51.00 B
157
+ ESM dist/hooks/make-autosuggestions-function/use-make-standard-autosuggestions-function.mjs.map 51.00 B
158
+ ESM dist/chunk-KGKLUWKW.mjs.map 2.45 KB
159
+ ESM dist/chunk-OELUUJZY.mjs.map 957.00 B
160
+ ESM dist/chunk-UW3ITU2Y.mjs.map 878.00 B
161
+ ESM dist/chunk-6SYD77G6.mjs.map 3.78 KB
162
+ ESM dist/types/index.mjs.map 51.00 B
163
+ ESM dist/hooks/use-copilot-textarea-editor.mjs.map 51.00 B
164
+ ESM dist/lib/debouncer.mjs.map 51.00 B
165
+ ESM dist/types/standard-autosuggestions/autosuggestions-config.mjs.map 51.00 B
166
+ ESM dist/lib/editor-to-text.mjs.map 2.83 KB
167
+ ESM dist/chunk-NKW5OU2S.mjs.map 1.60 KB
168
+ ESM dist/context/index.mjs.map 51.00 B
169
+ ESM dist/chunk-KCHYD3EB.mjs.map 6.12 KB
170
+ ESM dist/chunk-24IOWJS4.mjs.map 5.54 KB
171
+ ESM dist/components/base-copilot-textarea/base-copilot-textarea.mjs.map 51.00 B
172
+ ESM dist/hooks/index.mjs.map 51.00 B
173
+ ESM dist/lib/slatejs-edits/add-autocompletions.mjs.map 51.00 B
174
+ ESM dist/hooks/use-autosuggestions.mjs.map 51.00 B
175
+ ESM dist/components/index.mjs.map 51.00 B
176
+ ESM dist/components/base-copilot-textarea/render-placeholder.mjs.map 51.00 B
177
+ ESM dist/chunk-ZPACRCJ6.mjs.map 4.01 KB
178
+ ESM dist/chunk-WJHSY5T6.mjs.map 51.00 B
179
+ ESM ⚡️ Build success in 435ms
180
+ DTS ⚡️ Build success in 826ms
181
+ DTS dist/index.d.ts 763.00 B
182
+ DTS dist/components/base-copilot-textarea/base-copilot-textarea.d.ts 789.00 B
183
+ DTS dist/components/copilot-textarea/copilot-textarea.d.ts 703.00 B
184
+ DTS dist/types/base/base-autosuggestions-config.d.ts 332.00 B
185
+ DTS dist/types/base/autosuggestions-bare-function.d.ts 162.00 B
186
+ DTS dist/types/standard-autosuggestions/autosuggestions-config.d.ts 884.00 B
187
+ DTS dist/types/standard-autosuggestions/minimal-chat-gpt-message.d.ts 129.00 B
188
+ DTS dist/context/index.d.ts 1.00 B
189
+ DTS dist/components/index.d.ts 480.00 B
190
+ DTS dist/hooks/index.d.ts 1.00 B
191
+ DTS dist/hooks/use-autosuggestions.d.ts 860.00 B
192
+ DTS dist/types/base/autosuggestion-state.d.ts 143.00 B
193
+ DTS dist/types/base/editor-autocomplete-state.d.ts 342.00 B
194
+ DTS dist/hooks/use-copilot-textarea-editor.d.ts 223.00 B
195
+ DTS dist/types/base/custom-editor.d.ts 801.00 B
196
+ DTS dist/types/index.d.ts 491.00 B
197
+ DTS dist/lib/debouncer.d.ts 372.00 B
198
+ DTS dist/lib/editor-to-text.d.ts 243.00 B
199
+ DTS dist/lib/get-text-around-cursor.d.ts 453.00 B
200
+ DTS dist/lib/utils.d.ts 638.00 B
201
+ DTS dist/components/base-copilot-textarea/render-element.d.ts 292.00 B
202
+ DTS dist/components/base-copilot-textarea/render-placeholder.d.ts 321.00 B
203
+ DTS dist/hooks/make-autosuggestions-function/use-make-standard-autosuggestions-function.d.ts 1.79 KB
204
+ DTS dist/types/base/index.d.ts 194.00 B
205
+ DTS dist/types/standard-autosuggestions/index.d.ts 286.00 B
206
+ DTS dist/lib/slatejs-edits/add-autocompletions.d.ts 302.00 B
207
+ DTS dist/lib/slatejs-edits/clear-autocompletions.d.ts 250.00 B
208
+ DTS dist/lib/slatejs-edits/replace-text.d.ts 139.00 B
209
+ DTS dist/lib/slatejs-edits/with-partial-history.d.ts 542.00 B
package/CHANGELOG.md CHANGED
@@ -1,5 +1,17 @@
1
1
  # ui
2
2
 
3
+ ## 0.7.0
4
+
5
+ ### Minor Changes
6
+
7
+ - Made CopilotTextarea standalone for clarity
8
+
9
+ ## 0.6.0
10
+
11
+ ### Minor Changes
12
+
13
+ - Introduced CopilotTextarea
14
+
3
15
  ## 0.5.0
4
16
 
5
17
  ### Minor Changes
@@ -1,4 +1,4 @@
1
- import { areEqual_autocompleteState } from './chunk-4LJAS777.mjs';
1
+ import { areEqual_autocompleteState } from './chunk-UW3ITU2Y.mjs';
2
2
  import { nullableCompatibleEqualityCheck } from './chunk-KGKLUWKW.mjs';
3
3
  import { Debouncer } from './chunk-NKW5OU2S.mjs';
4
4
  import { __async } from './chunk-MRXNTQOX.mjs';
@@ -85,4 +85,4 @@ function useAutosuggestions(debounceTime, acceptAutosuggestionKey, autosuggestio
85
85
 
86
86
  export { useAutosuggestions };
87
87
  //# sourceMappingURL=out.js.map
88
- //# sourceMappingURL=chunk-JJASB23A.mjs.map
88
+ //# sourceMappingURL=chunk-24IOWJS4.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/hooks/use-autosuggestions.ts"],"names":[],"mappings":";;;;;;;;;;;;;;AAAA,SAAS,aAAa,SAAS,gBAAgB;AAgBxC,SAAS,mBACd,cACA,yBACA,wBACA,8BACA,kBAC0B;AAC1B,QAAM,CAAC,2BAA2B,4BAA4B,IAC5D,SAAyC,IAAI;AAE/C,QAAM,CAAC,+BAA+B,gCAAgC,IACpE,SAAqC,IAAI;AAE3C,QAAM,8BAGe;AAAA,IACnB,CACE,yBACA,gBACG;AACH,UACE,oBACA,wBAAwB,qBAAqB,MAC7C,wBAAwB,oBAAoB,IAC5C;AACA;AAAA,MACF;AAEA,YAAM,aAAa,MAAM;AAAA,QACvB,wBAAwB;AAAA,QACxB,wBAAwB;AAAA,QACxB;AAAA,MACF;AAGA,UAAI,CAAC,cAAc,YAAY,SAAS;AACtC,cAAM,IAAI,aAAa,WAAW,YAAY;AAAA,MAChD;AAEA,uCAAiC;AAAA,QAC/B,MAAM;AAAA,QACN,OAAO,wBAAwB;AAAA,MACjC,CAAC;AAAA,IACH;AAAA,IACA,CAAC,wBAAwB,kCAAkC,gBAAgB;AAAA,EAC7E;AAEA,QAAM,oBAAoB;AAAA,IACxB,MACE,IAAI;AAAA,MACF;AAAA,IACF;AAAA,IACF,CAAC,YAAY;AAAA,EACf;AAEA,QAAM,WAAW;AAAA,IACf,CAAC,mBAAmD;AAClD,YAAM,wBAAwB,CAAC;AAAA,QAC7B;AAAA,QACA;AAAA,QACA;AAAA,MACF;AACA,mCAA6B,cAAc;AAG3C,UAAI,CAAC,uBAAuB;AAC1B;AAAA,MACF;AAGA,uCAAiC,IAAI;AAGrC,UAAI,gBAAgB;AAClB,0BAAkB,SAAS,6BAA6B,cAAc;AAAA,MACxE,OAAO;AACL,0BAAkB,OAAO;AAAA,MAC3B;AAAA,IACF;AAAA,IACA;AAAA,MACE;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IACF;AAAA,EACF;AAEA,QAAM,iBAAiB;AAAA,IACrB,CAAC,UAA+C;AAC9C,UAAI,+BAA+B;AACjC,YAAI,MAAM,QAAQ,yBAAyB;AACzC,gBAAM,eAAe;AACrB,uCAA6B,6BAA6B;AAC1D,2CAAiC,IAAI;AAAA,QACvC;AAAA,MACF;AAAA,IACF;AAAA,IACA;AAAA,MACE;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IACF;AAAA,EACF;AAEA,SAAO;AAAA,IACL;AAAA,IACA,iBAAiB;AAAA,IACjB,kBAAkB;AAAA,EACpB;AACF","sourcesContent":["import { useCallback, 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}\n\nexport function useAutosuggestions(\n debounceTime: number,\n acceptAutosuggestionKey: string,\n autosuggestionFunction: AutosuggestionsBareFunction,\n insertAutocompleteSuggestion: (suggestion: AutosuggestionState) => void,\n disableWhenEmpty: 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 (\n editorAutocompleteState: EditorAutocompleteState,\n abortSignal: AbortSignal\n ) => {\n if (\n disableWhenEmpty &&\n editorAutocompleteState.textBeforeCursor === \"\" &&\n editorAutocompleteState.textAfterCursor === \"\"\n ) {\n return;\n }\n\n const suggestion = await autosuggestionFunction(\n editorAutocompleteState.textBeforeCursor,\n editorAutocompleteState.textAfterCursor,\n abortSignal\n );\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]\n );\n\n const debouncedFunction = useMemo(\n () =>\n new Debouncer<[editorAutocompleteState: EditorAutocompleteState]>(\n debounceTime\n ),\n [debounceTime]\n );\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 keyDownHandler = useCallback(\n (event: React.KeyboardEvent<HTMLDivElement>) => {\n if (currentAutocompleteSuggestion) {\n if (event.key === acceptAutosuggestionKey) {\n event.preventDefault();\n insertAutocompleteSuggestion(currentAutocompleteSuggestion);\n setCurrentAutocompleteSuggestion(null);\n }\n }\n },\n [\n currentAutocompleteSuggestion,\n setCurrentAutocompleteSuggestion,\n insertAutocompleteSuggestion,\n acceptAutosuggestionKey,\n ]\n );\n\n return {\n currentAutocompleteSuggestion,\n onChangeHandler: onChange,\n onKeyDownHandler: keyDownHandler,\n };\n}\n"]}
@@ -63,4 +63,4 @@ function extractTextWithNewlines(editor, range) {
63
63
 
64
64
  export { extractTextWithNewlines, getFullEditorTextWithNewlines, getTextAroundCursor };
65
65
  //# sourceMappingURL=out.js.map
66
- //# sourceMappingURL=chunk-X4FJ6WVZ.mjs.map
66
+ //# sourceMappingURL=chunk-3UQM3NLM.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/lib/get-text-around-cursor.ts"],"names":[],"mappings":";AAAA,SAAS,QAAc,MAAM,OAAO,MAAM,eAAe;AAGlD,SAAS,oBACd,QACgC;AAChC,QAAM,EAAE,UAAU,IAAI;AAEtB,MAAI,CAAC,aAAa,CAAC,MAAM,YAAY,SAAS,GAAG;AAC/C,WAAO;AAAA,EACT;AAEA,QAAM,cAAqB;AAAA,IACzB,QAAQ,OAAO,MAAM,QAAQ,CAAC,CAAC;AAAA,IAC/B,OAAO,UAAU;AAAA,EACnB;AACA,QAAM,aAAoB;AAAA,IACxB,QAAQ,UAAU;AAAA,IAClB,OAAO,OAAO,IAAI,QAAQ,CAAC,CAAC;AAAA,EAC9B;AAGA,QAAM,SAAS,wBAAwB,QAAQ,WAAW;AAC1D,QAAM,QAAQ,wBAAwB,QAAQ,UAAU;AAExD,SAAO;AAAA,IACL,aAAa,UAAU;AAAA,IACvB,kBAAkB;AAAA,IAClB,iBAAiB;AAAA,EACnB;AACF;AAEO,SAAS,8BAA8B,QAAwB;AACpE,QAAM,oBAA2B;AAAA,IAC/B,QAAQ,OAAO,MAAM,QAAQ,CAAC,CAAC;AAAA,IAC/B,OAAO,OAAO,IAAI,QAAQ,CAAC,CAAC;AAAA,EAC9B;AACA,SAAO,wBAAwB,QAAQ,iBAAiB;AAC1D;AAGO,SAAS,wBAAwB,QAAgB,OAAsB;AAC5E,QAAM,QAAQ;AACd,QAAM,CAAC,OAAO,GAAG,IAAI,MAAM,MAAM,KAAK;AACtC,MAAI,OAAO;AACX,MAAI,YAAyB;AAE7B,aAAW,CAAC,MAAM,IAAI,KAAK,OAAO,MAAM,QAAQ;AAAA,IAC9C,IAAI;AAAA,IACJ,OAAO,KAAK;AAAA,IACZ;AAAA,EACF,CAAC,GAAG;AACF,QAAI,IAAI,KAAK;AAGb,UAAM,CAAC,KAAK,IAAI,OAAO,MAAM,QAAQ;AAAA,MACnC,IAAI;AAAA,MACJ,OAAO,CAAC,MAAM,QAAQ,UAAU,CAAC,KAAK,EAAE,SAAS;AAAA,IACnD,CAAC,KAAK,CAAC,IAAI;AAGX,QAAI,cAAc,SAAS,OAAO;AAEhC,UAAI,WAAW;AACb,gBAAQ;AAAA,MACV;AACA,kBAAY;AAAA,IACd;AAEA,QAAI,KAAK,OAAO,MAAM,IAAI,IAAI,GAAG;AAC/B,UAAI,EAAE,MAAM,GAAG,IAAI,MAAM;AAAA,IAC3B;AAEA,QAAI,KAAK,OAAO,MAAM,MAAM,IAAI,GAAG;AACjC,UAAI,EAAE,MAAM,MAAM,MAAM;AAAA,IAC1B;AAEA,YAAQ;AAAA,EACV;AAEA,SAAO;AACT","sourcesContent":["import { Editor, Node, Path, Range, Text, Element } from \"slate\";\nimport { EditorAutocompleteState } from \"../types/base/editor-autocomplete-state\";\n\nexport function getTextAroundCursor(\n editor: Editor\n): EditorAutocompleteState | null {\n const { selection } = editor;\n\n if (!selection || !Range.isCollapsed(selection)) {\n return null;\n }\n // Create two ranges: one before the anchor and one after\n const beforeRange: Range = {\n anchor: Editor.start(editor, []),\n focus: selection.anchor,\n };\n const afterRange: Range = {\n anchor: selection.anchor,\n focus: Editor.end(editor, []),\n };\n\n // Extract text for these ranges\n const before = extractTextWithNewlines(editor, beforeRange);\n const after = extractTextWithNewlines(editor, afterRange);\n\n return {\n cursorPoint: selection.anchor,\n textBeforeCursor: before,\n textAfterCursor: after,\n };\n}\n\nexport function getFullEditorTextWithNewlines(editor: Editor): string {\n const fullDocumentRange: Range = {\n anchor: Editor.start(editor, []),\n focus: Editor.end(editor, []),\n };\n return extractTextWithNewlines(editor, fullDocumentRange);\n}\n\n// Helper function to extract text with newlines\nexport function extractTextWithNewlines(editor: Editor, range: Range): string {\n const voids = false;\n const [start, end] = Range.edges(range);\n let text = \"\";\n let lastBlock: Node | null = null;\n\n for (const [node, path] of Editor.nodes(editor, {\n at: range,\n match: Text.isText,\n voids,\n })) {\n let t = node.text;\n\n // Determine the parent block of the current text node\n const [block] = Editor.above(editor, {\n at: path,\n match: (n) => Element.isElement(n) && n.type === \"paragraph\",\n }) || [null];\n\n // If we encounter a new block, prepend a newline\n if (lastBlock !== block && block) {\n // check that lastBlock is not null to avoid adding a newline at the beginning\n if (lastBlock) {\n text += \"\\n\";\n }\n lastBlock = block;\n }\n\n if (Path.equals(path, end.path)) {\n t = t.slice(0, end.offset);\n }\n\n if (Path.equals(path, start.path)) {\n t = t.slice(start.offset);\n }\n\n text += t;\n }\n\n return text;\n}\n"]}
@@ -15,4 +15,4 @@ function clearAutocompletionsFromEditor(editor) {
15
15
 
16
16
  export { clearAutocompletionsFromEditor };
17
17
  //# sourceMappingURL=out.js.map
18
- //# sourceMappingURL=chunk-RVJAOO4S.mjs.map
18
+ //# sourceMappingURL=chunk-4XYYSJ5C.mjs.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/lib/slatejs-edits/clear-autocompletions.ts"],"names":[],"mappings":";AAAA,SAAe,MAAM,SAAS,kBAAkB;AAGzC,SAAS,+BAA+B,QAAsB;AAEnE,QAAM,QAAgB,CAAC;AACvB,aAAW,CAAC,MAAM,IAAI,KAAK,KAAK,MAAM,MAAM,GAAG;AAC7C,QAAI,QAAQ,UAAU,IAAI,KAAK,KAAK,SAAS,cAAc;AACzD,YAAM,KAAK,IAAI;AAAA,IACjB;AAAA,EACF;AACA,aAAW,QAAQ,OAAO;AACxB,eAAW,YAAY,QAAQ,EAAE,IAAI,KAAK,CAAC;AAAA,EAC7C;AACF","sourcesContent":["import { Path, Node, Element, Transforms } from \"slate\";\nimport { CustomEditor } from \"../../types/custom-editor\";\n\nexport function clearAutocompletionsFromEditor(editor: CustomEditor) {\n // clear previous suggestion\n const paths: Path[] = [];\n for (const [node, path] of Node.nodes(editor)) {\n if (Element.isElement(node) && node.type === \"suggestion\") {\n paths.push(path);\n }\n }\n for (const path of paths) {\n Transforms.removeNodes(editor, { at: path });\n }\n}\n"]}
1
+ {"version":3,"sources":["../src/lib/slatejs-edits/clear-autocompletions.ts"],"names":[],"mappings":";AAAA,SAAe,MAAM,SAAS,kBAAkB;AAGzC,SAAS,+BAA+B,QAAsB;AAEnE,QAAM,QAAgB,CAAC;AACvB,aAAW,CAAC,MAAM,IAAI,KAAK,KAAK,MAAM,MAAM,GAAG;AAC7C,QAAI,QAAQ,UAAU,IAAI,KAAK,KAAK,SAAS,cAAc;AACzD,YAAM,KAAK,IAAI;AAAA,IACjB;AAAA,EACF;AACA,aAAW,QAAQ,OAAO;AACxB,eAAW,YAAY,QAAQ,EAAE,IAAI,KAAK,CAAC;AAAA,EAC7C;AACF","sourcesContent":["import { Path, Node, Element, Transforms } from \"slate\";\nimport { CustomEditor } from \"../../types/base/custom-editor\";\n\nexport function clearAutocompletionsFromEditor(editor: CustomEditor) {\n // clear previous suggestion\n const paths: Path[] = [];\n for (const [node, path] of Node.nodes(editor)) {\n if (Element.isElement(node) && node.type === \"suggestion\") {\n paths.push(path);\n }\n }\n for (const path of paths) {\n Transforms.removeNodes(editor, { at: path });\n }\n}\n"]}
@@ -1,4 +1,4 @@
1
- // src/types/base-autosuggestions-config.tsx
1
+ // src/types/base/base-autosuggestions-config.tsx
2
2
  var defaultBaseAutosuggestionsConfig = {
3
3
  debounceTime: 500,
4
4
  acceptAutosuggestionKey: "Tab",
@@ -7,4 +7,4 @@ var defaultBaseAutosuggestionsConfig = {
7
7
 
8
8
  export { defaultBaseAutosuggestionsConfig };
9
9
  //# sourceMappingURL=out.js.map
10
- //# sourceMappingURL=chunk-5SJM4R4K.mjs.map
10
+ //# sourceMappingURL=chunk-6LKDH2UJ.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/types/base/base-autosuggestions-config.tsx"],"names":[],"mappings":";AAOO,IAAM,mCAGT;AAAA,EACF,cAAc;AAAA,EACd,yBAAyB;AAAA,EACzB,kBAAkB;AACpB","sourcesContent":["export interface BaseAutosuggestionsConfig {\n purposePrompt: string;\n debounceTime: number;\n acceptAutosuggestionKey: string;\n disableWhenEmpty: boolean;\n}\n\nexport const defaultBaseAutosuggestionsConfig: Omit<\n BaseAutosuggestionsConfig,\n \"purposePrompt\"\n> = {\n debounceTime: 500,\n acceptAutosuggestionKey: \"Tab\",\n disableWhenEmpty: true,\n};\n"]}
@@ -34,4 +34,4 @@ var SuggestionElement = (props) => {
34
34
 
35
35
  export { makeRenderElementFunction };
36
36
  //# sourceMappingURL=out.js.map
37
- //# sourceMappingURL=chunk-Y5BUWZOI.mjs.map
37
+ //# sourceMappingURL=chunk-6Q4X3YEO.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/components/base-copilot-textarea/render-element.tsx"],"names":[],"mappings":";;;;;;AAUe,cAkBX,YAlBW;AANR,SAAS,0BACd,kBACuB;AACvB,SAAO,CAAC,UAA8B;AACpC,YAAQ,MAAM,QAAQ,MAAM;AAAA,MAC1B,KAAK;AACH,eAAO,oBAAC,mCAAmB,MAAO;AAAA,MACpC,KAAK;AACH,eACE,oBAAC,oDAAsB,QAAtB;AAAA,UAA6B;AAAA,UAAoC;AAAA,IAExE;AAAA,EACF;AACF;AAEA,IAAM,iBAAiB,CAAC,UAA8B;AACpD,SAAO,oBAAC,wCAAQ,MAAM,aAAd;AAAA,IAA2B,gBAAM;AAAA,IAAS;AACpD;AACA,IAAM,oBAAoB,CACxB,UAGG;AACH,SACE,qBAAC,yCACK,MAAM,aADX;AAAA,IAEC,OAAO;AAAA,MACL,WAAW;AAAA,MACX,OAAO;AAAA,OACJ,MAAM;AAAA,IAEX,iBAAiB;AAAA,IAEhB;AAAA,YAAM;AAAA,MACN,MAAM,QAAQ,SAAS,gBAAgB,MAAM,QAAQ;AAAA;AAAA,IACxD;AAEJ","sourcesContent":["import { RenderElementProps } from \"slate-react\";\n\nexport type RenderElementFunction = (props: RenderElementProps) => JSX.Element;\n\nexport function makeRenderElementFunction(\n suggestionsStyle: React.CSSProperties\n): RenderElementFunction {\n return (props: RenderElementProps) => {\n switch (props.element.type) {\n case \"paragraph\":\n return <DefaultElement {...props} />;\n case \"suggestion\":\n return (\n <SuggestionElement {...props} suggestionsStyle={suggestionsStyle} />\n );\n }\n };\n}\n\nconst DefaultElement = (props: RenderElementProps) => {\n return <div {...props.attributes}>{props.children}</div>;\n};\nconst SuggestionElement = (\n props: RenderElementProps & {\n suggestionsStyle: React.CSSProperties;\n }\n) => {\n return (\n <span\n {...props.attributes}\n style={{\n fontStyle: \"italic\",\n color: \"gray\",\n ...props.suggestionsStyle,\n }}\n contentEditable={false}\n >\n {props.children /* https://github.com/ianstormtaylor/slate/issues/3930 */}\n {props.element.type === \"suggestion\" && props.element.content}\n </span>\n );\n};\n"]}
@@ -62,4 +62,4 @@ function useCopilotTextareaEditor() {
62
62
 
63
63
  export { useCopilotTextareaEditor };
64
64
  //# sourceMappingURL=out.js.map
65
- //# sourceMappingURL=chunk-L24ZN4LL.mjs.map
65
+ //# sourceMappingURL=chunk-6SYD77G6.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/hooks/use-copilot-textarea-editor.tsx"],"names":["editor"],"mappings":";;;;;;AAAA,SAAS,cAAc,eAAe;AACtC,SAAS,iBAAiB;AAC1B,SAAS,eAAe;AAQxB,IAAM,aAAkC,CAAC,IAAI,SAAS;AACpD,QAAM,mBAAmB;AAEzB,MACE,GAAG,SAAS,iBACZ,QAAQ,UAAU,GAAG,IAAI,KACzB,GAAG,KAAK,SAAS,kBACjB;AACA,WAAO;AAAA,EACT;AAEA,MACE,GAAG,SAAS,iBACZ,QAAQ,UAAU,GAAG,IAAI,KACzB,GAAG,KAAK,SAAS,kBACjB;AACA,WAAO;AAAA,EACT;AAEA,MACE,GAAG,SAAS,cACZ,UAAU,GAAG,iBACb,GAAG,cAAc,SAAS,kBAC1B;AACA,WAAO;AAAA,EACT;AAEA,MACE,GAAG,QAAQ,cACX,UAAU,GAAG,cACb,GAAG,WAAW,SAAS,kBACvB;AACA,WAAO;AAAA,EACT;AAEA,MACE,GAAG,SAAS,gBACZ,UAAU,GAAG,cACb,GAAG,WAAW,SAAS,kBACvB;AACA,WAAO;AAAA,EACT;AAEA,MACE,GAAG,SAAS,gBACZ,UAAU,GAAG,cACb,GAAG,WAAW,SAAS,kBACvB;AACA,WAAO;AAAA,EACT;AAGA,SAAO,kBAAkB,IAAI,IAAI;AACnC;AAEO,SAAS,2BAAyC;AACvD,QAAM,SAAS,QAAQ,MAAM;AAC3B,UAAMA,UAAS,mBAAmB,UAAU,aAAa,CAAC,GAAG,UAAU;AAEvE,UAAM,EAAE,OAAO,IAAIA;AACnB,IAAAA,QAAO,SAAS,CAAC,YAAY;AAC3B,cAAQ,QAAQ,MAAM;AAAA,QACpB,KAAK;AACH,iBAAO;AAAA,QACT;AACE,iBAAO,OAAO,OAAO;AAAA,MACzB;AAAA,IACF;AAEA,UAAM,EAAE,aAAa,IAAIA;AACzB,IAAAA,QAAO,eAAe,CAAC,YAAY;AACjC,cAAQ,QAAQ,MAAM;AAAA,QACpB,KAAK;AACH,iBAAO;AAAA,QACT;AACE,iBAAO,aAAa,OAAO;AAAA,MAC/B;AAAA,IACF;AAEA,UAAM,EAAE,SAAS,IAAIA;AACrB,IAAAA,QAAO,WAAW,CAAC,YAAY;AAC7B,cAAQ,QAAQ,MAAM;AAAA,QACpB,KAAK;AACH,iBAAO,QAAQ;AAAA,QACjB;AACE,iBAAO,SAAS,OAAO;AAAA,MAC3B;AAAA,IACF;AAEA,WAAOA;AAAA,EACT,GAAG,CAAC,CAAC;AAEL,SAAO;AACT","sourcesContent":["import { createEditor, Element } from \"slate\";\nimport { withReact } from \"slate-react\";\nimport { useMemo } from \"react\";\nimport {\n withPartialHistory,\n ShouldSaveToHistory,\n defaultShouldSave,\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 (\n op.type == \"set_node\" &&\n \"type\" in op.properties &&\n op.properties.type === excludedNodeType\n ) {\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"]}
@@ -0,0 +1,3 @@
1
+
2
+ //# sourceMappingURL=out.js.map
3
+ //# sourceMappingURL=chunk-AZQCUNBV.mjs.map
@@ -1,12 +1,12 @@
1
- import { addAutocompletionsToEditor } from './chunk-ETGKLURC.mjs';
2
- import { clearAutocompletionsFromEditor } from './chunk-RVJAOO4S.mjs';
1
+ import { addAutocompletionsToEditor } from './chunk-WJYQWL4I.mjs';
2
+ import { clearAutocompletionsFromEditor } from './chunk-4XYYSJ5C.mjs';
3
3
  import { replaceEditorText } from './chunk-TSF4AJIK.mjs';
4
- import { makeRenderElementFunction } from './chunk-Y5BUWZOI.mjs';
5
- import { makeRenderPlaceholderFunction } from './chunk-KKG2RK2T.mjs';
6
- import { getTextAroundCursor, getFullEditorTextWithNewlines } from './chunk-X4FJ6WVZ.mjs';
7
- import { defaultBaseAutosuggestionsConfig } from './chunk-5SJM4R4K.mjs';
8
- import { useAutosuggestions } from './chunk-JJASB23A.mjs';
9
- import { useCopilotTextareaEditor } from './chunk-L24ZN4LL.mjs';
4
+ import { getTextAroundCursor, getFullEditorTextWithNewlines } from './chunk-3UQM3NLM.mjs';
5
+ import { makeRenderElementFunction } from './chunk-6Q4X3YEO.mjs';
6
+ import { makeRenderPlaceholderFunction } from './chunk-OELUUJZY.mjs';
7
+ import { useAutosuggestions } from './chunk-24IOWJS4.mjs';
8
+ import { useCopilotTextareaEditor } from './chunk-6SYD77G6.mjs';
9
+ import { defaultBaseAutosuggestionsConfig } from './chunk-6LKDH2UJ.mjs';
10
10
  import { __spreadValues, __objRest } from './chunk-MRXNTQOX.mjs';
11
11
  import { useMemo, useState, useCallback, useEffect } from 'react';
12
12
  import { Editor } from 'slate';
@@ -121,4 +121,4 @@ function BaseCopilotTextarea(props) {
121
121
 
122
122
  export { BaseCopilotTextarea };
123
123
  //# sourceMappingURL=out.js.map
124
- //# sourceMappingURL=chunk-GOAPCQCR.mjs.map
124
+ //# sourceMappingURL=chunk-CHK3DSAA.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/components/base-copilot-textarea/base-copilot-textarea.tsx"],"names":["_a","value"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AACA;AAAA,EAEE;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,OACK;AACP,SAAqB,cAAc;AACnC,SAAS,UAAU,aAAa;AAChC,SAAS,eAAe;AA2JlB;AA7HC,SAAS,oBACd,OAGa;AACb,QAAM,wBAAmD,kCACpD,mCACA,MAAM;AAGX,QAAM,uBAAuB,QAAQ,MAAG;AAlD1C,QAAAA;AAkD6C,YAAAA,MAAA,MAAM,UAAN,OAAAA,MAAe;AAAA,KAAI,CAAC,CAAC;AAChE,QAAM,CAAC,yBAAyB,0BAA0B,IACxD,SAAS,oBAAoB;AAE/B,QAAM,eAA6B,QAAQ,MAAM;AAC/C,WAAO;AAAA,MACL;AAAA,QACE,MAAM;AAAA,QACN,UAAU,CAAC,EAAE,MAAM,qBAAqB,CAAC;AAAA,MAC3C;AAAA,IACF;AAAA,EACF,GAAG,CAAC,oBAAoB,CAAC;AAEzB,QAAM,SAAS,yBAAyB;AAExC,QAAM,aAAa;AAAA,IACjB,CAAC,mBAAwC;AACvC,aAAO,WAAW,QAAQ,eAAe,MAAM;AAAA,QAC7C,IAAI,eAAe;AAAA,MACrB,CAAC;AAAA,IACH;AAAA,IACA,CAAC,MAAM;AAAA,EACT;AAEA,QAAM;AAAA,IACJ;AAAA,IACA,iBAAiB;AAAA,IACjB,kBAAkB;AAAA,EACpB,IAAI;AAAA,IACF,sBAAsB;AAAA,IACtB,sBAAsB;AAAA,IACtB,MAAM;AAAA,IACN;AAAA,IACA,sBAAsB;AAAA,EACxB;AAGA,YAAU,MAAM;AACd,mCAA+B,MAAM;AACrC,QAAI,+BAA+B;AACjC;AAAA,QACE;AAAA,QACA,8BAA8B;AAAA,QAC9B,8BAA8B;AAAA,MAChC;AAAA,IACF;AAAA,EACF,GAAG,CAAC,6BAA6B,CAAC;AAElC,QAAM,wBAAwB,QAAQ,MAAM;AAC1C,UAAM,2BAAgD,mBACjD,MAAM;AAGX,WAAO,0BAA0B,wBAAwB;AAAA,EAC3D,GAAG,CAAC,MAAM,gBAAgB,CAAC;AAE3B,QAAM,4BAA4B,QAAQ,MAAM;AAE9C,UAAM,mCAAwD;AAAA,MAC5D,KAAK;AAAA,IACP;AAEA,UAAM,4BAAiD,kCAClD,mCACA,MAAM;AAGX,WAAO,8BAA8B,yBAAyB;AAAA,EAChE,GAAG,CAAC,MAAM,gBAAgB,CAAC;AAG3B,YAAU,MAAM;AAzHlB,QAAAA,KAAA;AA0HI,QAAI,MAAM,UAAU,yBAAyB;AAC3C;AAAA,IACF;AAEA,gCAA2BA,MAAA,MAAM,UAAN,OAAAA,MAAe,EAAE;AAC5C,sBAAkB,SAAQ,WAAM,UAAN,YAAe,EAAE;AAAA,EAC7C,GAAG,CAAC,MAAM,KAAK,CAAC;AAGhB,QAQI,YAPF;AAAA;AAAA,IACA;AAAA,IACA;AAAA,IACA,uBAAuB;AAAA,IACvB;AAAA,IACA;AAAA,EAzIJ,IA2IM,IADC,2BACD,IADC;AAAA,IANH;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA;AAIF,QAAM,mBAAmB,MAAM;AAC7B,UAAM,gBAAgB;AACtB,UAAM,2BAA2B;AACjC,UAAM,kBAAkB,QAAQ,0BAA0B,gCAAa,EAAE;AACzE,WAAO,GAAG,iBAAiB;AAAA,EAC7B,GAAG;AAEH,SAEE,oBAAC;AAAA,IACC;AAAA,IACA;AAAA,IACA,UAAU,CAACC,WAAU;AAzJ3B,UAAAD;AA0JQ,YAAM,iBAAiB,oBAAoB,MAAM;AAEjD,YAAM,iBAAiB,iBACnB,eAAe,mBAAmB,eAAe,kBACjD,8BAA8B,MAAM;AAExC,iCAA2B,cAAc;AACzC,qCAA+B,cAAc;AAC7C,OAAAA,MAAA,MAAM,kBAAN,gBAAAA,IAAA,YAAsB;AAAA,IACxB;AAAA,IAEA,8BAAC;AAAA,MACC,eAAe;AAAA,MACf,mBAAmB;AAAA,MACnB,WAAW;AAAA,MACX,WAAW;AAAA,OACP,eACN;AAAA,GACF;AAEJ","sourcesContent":["// This example is for an Editor with `ReactEditor` and `HistoryEditor`\nimport {\n TextareaHTMLAttributes,\n useCallback,\n useEffect,\n useMemo,\n useState,\n} from \"react\";\nimport { Descendant, Editor } from \"slate\";\nimport { Editable, Slate } from \"slate-react\";\nimport { twMerge } from \"tailwind-merge\";\nimport { useAutosuggestions } from \"../../hooks/use-autosuggestions\";\nimport { useCopilotTextareaEditor } from \"../../hooks/use-copilot-textarea-editor\";\nimport {\n getFullEditorTextWithNewlines,\n getTextAroundCursor,\n} from \"../../lib/get-text-around-cursor\";\nimport { addAutocompletionsToEditor } from \"../../lib/slatejs-edits/add-autocompletions\";\nimport { clearAutocompletionsFromEditor } from \"../../lib/slatejs-edits/clear-autocompletions\";\nimport { replaceEditorText } from \"../../lib/slatejs-edits/replace-text\";\nimport {\n AutosuggestionsBareFunction,\n BaseAutosuggestionsConfig,\n defaultBaseAutosuggestionsConfig,\n} from \"../../types/base\";\nimport { AutosuggestionState } from \"../../types/base/autosuggestion-state\";\nimport { makeRenderElementFunction } from \"./render-element\";\nimport { makeRenderPlaceholderFunction } from \"./render-placeholder\";\n\nexport interface BaseCopilotTextareaProps\n extends TextareaHTMLAttributes<HTMLDivElement> {\n placeholderStyle?: React.CSSProperties;\n suggestionsStyle?: React.CSSProperties;\n value?: string;\n onValueChange?: (value: string) => void;\n autosuggestionsConfig: Partial<BaseAutosuggestionsConfig> & {\n purposePrompt: string;\n };\n}\n\nexport function BaseCopilotTextarea(\n props: BaseCopilotTextareaProps & {\n autosuggestionsFunction: AutosuggestionsBareFunction;\n }\n): JSX.Element {\n const autosuggestionsConfig: BaseAutosuggestionsConfig = {\n ...defaultBaseAutosuggestionsConfig,\n ...props.autosuggestionsConfig,\n };\n\n const valueOnInitialRender = useMemo(() => props.value ?? \"\", []);\n const [lastKnownFullEditorText, setLastKnownFullEditorText] =\n useState(valueOnInitialRender);\n\n const initialValue: Descendant[] = useMemo(() => {\n return [\n {\n type: \"paragraph\",\n children: [{ text: valueOnInitialRender }],\n },\n ];\n }, [valueOnInitialRender]);\n\n const editor = useCopilotTextareaEditor();\n\n const insertText = useCallback(\n (autosuggestion: AutosuggestionState) => {\n Editor.insertText(editor, autosuggestion.text, {\n at: autosuggestion.point,\n });\n },\n [editor]\n );\n\n const {\n currentAutocompleteSuggestion,\n onChangeHandler: onChangeHandlerForAutocomplete,\n onKeyDownHandler: onKeyDownHandlerForAutocomplete,\n } = useAutosuggestions(\n autosuggestionsConfig.debounceTime,\n autosuggestionsConfig.acceptAutosuggestionKey,\n props.autosuggestionsFunction,\n insertText,\n autosuggestionsConfig.disableWhenEmpty\n );\n\n // sync autosuggestions state with the editor\n useEffect(() => {\n clearAutocompletionsFromEditor(editor);\n if (currentAutocompleteSuggestion) {\n addAutocompletionsToEditor(\n editor,\n currentAutocompleteSuggestion.text,\n currentAutocompleteSuggestion.point\n );\n }\n }, [currentAutocompleteSuggestion]);\n\n const renderElementMemoized = useMemo(() => {\n const suggestionStyleAugmented: React.CSSProperties = {\n ...props.suggestionsStyle,\n };\n\n return makeRenderElementFunction(suggestionStyleAugmented);\n }, [props.suggestionsStyle]);\n\n const renderPlaceholderMemoized = useMemo(() => {\n // For some reason slateJS specifies a top value of 0, which makes for strange styling. We override this here.\n const placeholderStyleSlatejsOverrides: React.CSSProperties = {\n top: undefined,\n };\n\n const placeholderStyleAugmented: React.CSSProperties = {\n ...placeholderStyleSlatejsOverrides,\n ...props.placeholderStyle,\n };\n\n return makeRenderPlaceholderFunction(placeholderStyleAugmented);\n }, [props.placeholderStyle]);\n\n // update the editor text, but only when the value changes from outside the component\n useEffect(() => {\n if (props.value === lastKnownFullEditorText) {\n return;\n }\n\n setLastKnownFullEditorText(props.value ?? \"\");\n replaceEditorText(editor, props.value ?? \"\");\n }, [props.value]);\n\n // separate into TextareaHTMLAttributes<HTMLDivElement> and CopilotTextareaProps\n const {\n placeholderStyle,\n value,\n onValueChange,\n autosuggestionsConfig: autosuggestionsConfigFromProps,\n autosuggestionsFunction,\n className,\n ...propsToForward\n } = props;\n\n const moddedClassName = (() => {\n const baseClassName = \"copilot-textarea\";\n const defaultTailwindClassName = \"bg-white overflow-y-auto resize-y\";\n const mergedClassName = twMerge(defaultTailwindClassName, className ?? \"\");\n return `${baseClassName} ${mergedClassName}`;\n })();\n\n return (\n // Add the editable component inside the context.\n <Slate\n editor={editor}\n initialValue={initialValue}\n onChange={(value) => {\n const newEditorState = getTextAroundCursor(editor);\n\n const fullEditorText = newEditorState\n ? newEditorState.textBeforeCursor + newEditorState.textAfterCursor\n : getFullEditorTextWithNewlines(editor); // we don't double-parse the editor. When `newEditorState` is null, we didn't parse the editor yet.\n\n setLastKnownFullEditorText(fullEditorText);\n onChangeHandlerForAutocomplete(newEditorState);\n props.onValueChange?.(fullEditorText);\n }}\n >\n <Editable\n renderElement={renderElementMemoized}\n renderPlaceholder={renderPlaceholderMemoized}\n onKeyDown={onKeyDownHandlerForAutocomplete}\n className={moddedClassName}\n {...propsToForward}\n />\n </Slate>\n );\n}\n"]}
@@ -0,0 +1,3 @@
1
+
2
+ //# sourceMappingURL=out.js.map
3
+ //# sourceMappingURL=chunk-FD6FGKYY.mjs.map
@@ -0,0 +1,3 @@
1
+
2
+ //# sourceMappingURL=out.js.map
3
+ //# sourceMappingURL=chunk-MMVDU6DF.mjs.map
@@ -13,4 +13,4 @@ function makeRenderPlaceholderFunction(placeholderStyle) {
13
13
 
14
14
  export { makeRenderPlaceholderFunction };
15
15
  //# sourceMappingURL=out.js.map
16
- //# sourceMappingURL=chunk-KKG2RK2T.mjs.map
16
+ //# sourceMappingURL=chunk-OELUUJZY.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/components/base-copilot-textarea/render-placeholder.tsx"],"names":[],"mappings":";;;;;;;AAaM;AAPC,SAAS,8BACd,kBAC2B;AAC3B,SAAO,CAAC,UAAkC;AACxC,UAAqC,WAAM,YAAnC,QAVZ,IAUyC,IAAnB,2BAAmB,IAAnB,CAAV;AAER,WACE,oBAAC,wCACK,iBADL;AAAA,MAEC,OAAO,kCACF,QACA;AAAA,MAGJ,gBAAM;AAAA,MACT;AAAA,EAEJ;AACF","sourcesContent":["import { RenderElementProps, RenderPlaceholderProps } from \"slate-react\";\n\nexport type RenderPlaceholderFunction = (\n props: RenderPlaceholderProps\n) => JSX.Element;\n\nexport function makeRenderPlaceholderFunction(\n placeholderStyle?: React.CSSProperties\n): RenderPlaceholderFunction {\n return (props: RenderPlaceholderProps) => {\n const { style, ...restAttributes } = props.attributes;\n\n return (\n <div\n {...restAttributes}\n style={{\n ...style,\n ...placeholderStyle,\n }}\n >\n {props.children}\n </div>\n );\n };\n}\n"]}