@copilotkit/react-textarea 0.8.0 → 0.10.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 (53) hide show
  1. package/.turbo/turbo-build.log +101 -90
  2. package/CHANGELOG.md +12 -0
  3. package/dist/{chunk-6LKDH2UJ.mjs → chunk-7KWRVIYV.mjs} +3 -2
  4. package/dist/chunk-7KWRVIYV.mjs.map +1 -0
  5. package/dist/{chunk-6FAYV255.mjs → chunk-CU2M5BIJ.mjs} +17 -8
  6. package/dist/chunk-CU2M5BIJ.mjs.map +1 -0
  7. package/dist/{chunk-24IOWJS4.mjs → chunk-E2UEE45I.mjs} +11 -3
  8. package/dist/chunk-E2UEE45I.mjs.map +1 -0
  9. package/dist/{chunk-ZPACRCJ6.mjs → chunk-EHQ5TN4R.mjs} +2 -2
  10. package/dist/{chunk-6Q4X3YEO.mjs → chunk-LNAIMEB2.mjs} +2 -5
  11. package/dist/chunk-LNAIMEB2.mjs.map +1 -0
  12. package/dist/{chunk-PP225CLG.mjs → chunk-NHLYAJCQ.mjs} +3 -3
  13. package/dist/chunk-THWPPG6M.mjs +40 -0
  14. package/dist/chunk-THWPPG6M.mjs.map +1 -0
  15. package/dist/components/base-copilot-textarea/base-copilot-textarea.css +9 -0
  16. package/dist/components/base-copilot-textarea/base-copilot-textarea.css.map +1 -0
  17. package/dist/components/base-copilot-textarea/base-copilot-textarea.d.ts +1 -0
  18. package/dist/components/base-copilot-textarea/base-copilot-textarea.mjs +5 -4
  19. package/dist/components/base-copilot-textarea/render-element.mjs +1 -1
  20. package/dist/components/base-copilot-textarea/use-add-branding-css.d.ts +3 -0
  21. package/dist/components/base-copilot-textarea/use-add-branding-css.mjs +4 -0
  22. package/dist/components/base-copilot-textarea/use-add-branding-css.mjs.map +1 -0
  23. package/dist/components/copilot-textarea/copilot-textarea.css +9 -0
  24. package/dist/components/copilot-textarea/copilot-textarea.css.map +1 -0
  25. package/dist/components/copilot-textarea/copilot-textarea.mjs +7 -6
  26. package/dist/components/index.css +9 -0
  27. package/dist/components/index.css.map +1 -0
  28. package/dist/components/index.mjs +7 -6
  29. package/dist/hooks/use-autosuggestions.d.ts +1 -1
  30. package/dist/hooks/use-autosuggestions.mjs +1 -1
  31. package/dist/index.css +12 -0
  32. package/dist/index.css.map +1 -1
  33. package/dist/index.mjs +7 -6
  34. package/dist/types/base/base-autosuggestions-config.d.ts +1 -0
  35. package/dist/types/base/base-autosuggestions-config.mjs +1 -1
  36. package/dist/types/base/index.mjs +1 -1
  37. package/dist/types/index.mjs +2 -2
  38. package/dist/types/standard-autosuggestions/autosuggestions-config.mjs +2 -2
  39. package/dist/types/standard-autosuggestions/index.mjs +2 -2
  40. package/package.json +1 -1
  41. package/src/components/base-copilot-textarea/base-copilot-textarea.css +9 -0
  42. package/src/components/base-copilot-textarea/base-copilot-textarea.tsx +18 -6
  43. package/src/components/base-copilot-textarea/render-element.tsx +0 -2
  44. package/src/components/base-copilot-textarea/use-add-branding-css.tsx +51 -0
  45. package/src/hooks/use-autosuggestions.ts +14 -2
  46. package/src/types/base/base-autosuggestions-config.tsx +2 -0
  47. package/.turbo/turbo-check-types.log +0 -4
  48. package/dist/chunk-24IOWJS4.mjs.map +0 -1
  49. package/dist/chunk-6FAYV255.mjs.map +0 -1
  50. package/dist/chunk-6LKDH2UJ.mjs.map +0 -1
  51. package/dist/chunk-6Q4X3YEO.mjs.map +0 -1
  52. /package/dist/{chunk-ZPACRCJ6.mjs.map → chunk-EHQ5TN4R.mjs.map} +0 -0
  53. /package/dist/{chunk-PP225CLG.mjs.map → chunk-NHLYAJCQ.mjs.map} +0 -0
@@ -1,8 +1,8 @@
1
1
 
2
- > @copilotkit/react-textarea@0.7.0 build /Users/ataibarkai/LocalGit/Recursively.ai/CopilotKit/CopilotKit/packages/react-textarea
2
+ > @copilotkit/react-textarea@0.10.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/context/index.ts, src/components/index.ts, src/hooks/index.ts, src/hooks/use-autosuggestions.ts, src/hooks/use-copilot-textarea-editor.tsx, src/lib/debouncer.ts, src/lib/editor-to-text.ts, src/lib/get-text-around-cursor.ts, src/lib/utils.test.ts, src/lib/utils.ts, src/types/index.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/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/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
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/lib/debouncer.ts, src/lib/editor-to-text.ts, src/lib/get-text-around-cursor.ts, src/lib/utils.test.ts, src/lib/utils.ts, src/types/index.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/base-copilot-textarea/use-add-branding-css.tsx, src/components/copilot-textarea/copilot-textarea.tsx, src/hooks/make-autosuggestions-function/use-make-standard-autosuggestions-function.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, src/types/standard-autosuggestions/autosuggestions-config.tsx, src/types/standard-autosuggestions/index.ts, src/types/standard-autosuggestions/minimal-chat-gpt-message.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
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,139 +13,149 @@ 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
- Generated an empty chunk: "custom-editor".
17
16
  Generated an empty chunk: "minimal-chat-gpt-message".
18
17
  Generated an empty chunk: "autosuggestion-state".
19
18
  Generated an empty chunk: "autosuggestions-bare-function".
19
+ Generated an empty chunk: "custom-editor".
20
20
  Generated an empty chunk: "chunk-FD6FGKYY".
21
21
  Generated an empty chunk: "chunk-IU3WTXLQ".
22
22
  Generated an empty chunk: "chunk-MMVDU6DF".
23
23
  Generated an empty chunk: "chunk-AZQCUNBV".
24
24
  Generated an empty chunk: "chunk-WJHSY5T6".
25
25
  Generated an empty chunk: "chunk-H4VKQGVU".
26
- ESM dist/index.css 5.52 KB
27
- ESM dist/index.css.map 11.97 KB
26
+ ESM dist/components/copilot-textarea/copilot-textarea.css 253.00 B
27
+ ESM dist/components/base-copilot-textarea/base-copilot-textarea.css 258.00 B
28
+ ESM dist/index.css 5.75 KB
29
+ ESM dist/components/index.css 242.00 B
30
+ ESM dist/components/copilot-textarea/copilot-textarea.css.map 432.00 B
31
+ ESM dist/components/base-copilot-textarea/base-copilot-textarea.css.map 432.00 B
32
+ ESM dist/index.css.map 12.37 KB
33
+ ESM dist/components/index.css.map 429.00 B
34
+ ESM dist/types/standard-autosuggestions/minimal-chat-gpt-message.mjs 86.00 B
35
+ ESM dist/types/base/autosuggestion-state.mjs 82.00 B
36
+ ESM dist/types/base/autosuggestions-bare-function.mjs 91.00 B
28
37
  ESM dist/lib/utils.test.mjs 200.00 B
29
- ESM dist/lib/slatejs-edits/add-autocompletions.mjs 186.00 B
30
- ESM dist/types/index.mjs 387.00 B
31
- ESM dist/context/index.mjs 98.00 B
32
- ESM dist/components/index.mjs 792.00 B
33
- ESM dist/hooks/index.mjs 98.00 B
38
+ ESM dist/chunk-MMVDU6DF.mjs 76.00 B
39
+ ESM dist/chunk-AZQCUNBV.mjs 76.00 B
40
+ ESM dist/chunk-WJHSY5T6.mjs 76.00 B
34
41
  ESM dist/chunk-FD6FGKYY.mjs 76.00 B
42
+ ESM dist/types/base/custom-editor.mjs 75.00 B
35
43
  ESM dist/chunk-IU3WTXLQ.mjs 76.00 B
36
- ESM dist/chunk-MMVDU6DF.mjs 76.00 B
37
- ESM dist/chunk-H4VKQGVU.mjs 76.00 B
38
- ESM dist/chunk-MRXNTQOX.mjs 1.92 KB
44
+ ESM dist/types/base/editor-autocomplete-state.mjs 227.00 B
45
+ ESM dist/types/base/index.mjs 213.00 B
46
+ ESM dist/components/copilot-textarea/copilot-textarea.mjs 837.00 B
47
+ ESM dist/types/base/base-autosuggestions-config.mjs 200.00 B
48
+ ESM dist/lib/slatejs-edits/add-autocompletions.mjs 186.00 B
49
+ ESM dist/hooks/make-autosuggestions-function/use-make-standard-autosuggestions-function.mjs 220.00 B
39
50
  ESM dist/lib/slatejs-edits/clear-autocompletions.mjs 192.00 B
40
- ESM dist/lib/slatejs-edits/replace-text.mjs 170.00 B
41
51
  ESM dist/lib/slatejs-edits/with-partial-history.mjs 198.00 B
42
- ESM dist/lib/get-text-around-cursor.mjs 232.00 B
52
+ ESM dist/types/standard-autosuggestions/index.mjs 328.00 B
53
+ ESM dist/lib/slatejs-edits/replace-text.mjs 170.00 B
54
+ ESM dist/types/standard-autosuggestions/autosuggestions-config.mjs 310.00 B
43
55
  ESM dist/lib/utils.mjs 220.00 B
44
- ESM dist/index.mjs 993.00 B
45
- ESM dist/chunk-PP225CLG.mjs 1.06 KB
46
- ESM dist/chunk-A3SFEHWZ.mjs 2.09 KB
47
- ESM dist/chunk-ZPACRCJ6.mjs 2.75 KB
48
- ESM dist/chunk-6FAYV255.mjs 4.69 KB
49
- ESM dist/chunk-WJYQWL4I.mjs 595.00 B
56
+ ESM dist/lib/get-text-around-cursor.mjs 232.00 B
57
+ ESM dist/components/base-copilot-textarea/base-copilot-textarea.mjs 706.00 B
58
+ ESM dist/components/base-copilot-textarea/use-add-branding-css.mjs 178.00 B
59
+ ESM dist/components/base-copilot-textarea/render-placeholder.mjs 188.00 B
60
+ ESM dist/index.mjs 1.00 KB
61
+ ESM dist/components/index.mjs 824.00 B
62
+ ESM dist/chunk-NHLYAJCQ.mjs 1.06 KB
63
+ ESM dist/components/base-copilot-textarea/render-element.mjs 180.00 B
64
+ ESM dist/chunk-7KWRVIYV.mjs 314.00 B
65
+ ESM dist/chunk-H4VKQGVU.mjs 76.00 B
66
+ ESM dist/chunk-MRXNTQOX.mjs 1.92 KB
50
67
  ESM dist/chunk-4XYYSJ5C.mjs 527.00 B
51
68
  ESM dist/chunk-TSF4AJIK.mjs 716.00 B
52
- ESM dist/chunk-3UQM3NLM.mjs 1.76 KB
53
- ESM dist/chunk-6Q4X3YEO.mjs 1.14 KB
69
+ ESM dist/types/index.mjs 387.00 B
70
+ ESM dist/chunk-A3SFEHWZ.mjs 2.09 KB
54
71
  ESM dist/chunk-OELUUJZY.mjs 625.00 B
72
+ ESM dist/chunk-LNAIMEB2.mjs 1.09 KB
55
73
  ESM dist/hooks/use-autosuggestions.mjs 268.00 B
56
- ESM dist/chunk-24IOWJS4.mjs 2.93 KB
74
+ ESM dist/context/index.mjs 98.00 B
75
+ ESM dist/hooks/index.mjs 98.00 B
76
+ ESM dist/chunk-THWPPG6M.mjs 1.40 KB
77
+ ESM dist/chunk-CU2M5BIJ.mjs 5.05 KB
78
+ ESM dist/chunk-6SYD77G6.mjs 2.01 KB
57
79
  ESM dist/chunk-UW3ITU2Y.mjs 496.00 B
80
+ ESM dist/chunk-KCHYD3EB.mjs 3.08 KB
58
81
  ESM dist/chunk-KGKLUWKW.mjs 1.37 KB
82
+ ESM dist/chunk-3UQM3NLM.mjs 1.76 KB
59
83
  ESM dist/hooks/use-copilot-textarea-editor.mjs 218.00 B
60
- ESM dist/chunk-6SYD77G6.mjs 2.01 KB
61
- ESM dist/chunk-KCHYD3EB.mjs 3.08 KB
62
84
  ESM dist/lib/debouncer.mjs 153.00 B
63
- ESM dist/chunk-NKW5OU2S.mjs 959.00 B
85
+ ESM dist/chunk-E2UEE45I.mjs 3.02 KB
64
86
  ESM dist/lib/editor-to-text.mjs 1.34 KB
65
- ESM dist/chunk-AZQCUNBV.mjs 76.00 B
66
- ESM dist/chunk-WJHSY5T6.mjs 76.00 B
67
- ESM dist/chunk-6LKDH2UJ.mjs 295.00 B
68
- ESM dist/types/base/custom-editor.mjs 75.00 B
69
- ESM dist/types/standard-autosuggestions/minimal-chat-gpt-message.mjs 86.00 B
70
- ESM dist/hooks/make-autosuggestions-function/use-make-standard-autosuggestions-function.mjs 220.00 B
71
- ESM dist/components/base-copilot-textarea/base-copilot-textarea.mjs 671.00 B
72
- ESM dist/components/copilot-textarea/copilot-textarea.mjs 802.00 B
73
- ESM dist/types/base/autosuggestion-state.mjs 82.00 B
74
- ESM dist/types/base/autosuggestions-bare-function.mjs 91.00 B
75
- ESM dist/types/base/editor-autocomplete-state.mjs 227.00 B
76
- ESM dist/types/base/index.mjs 213.00 B
77
- ESM dist/types/standard-autosuggestions/index.mjs 328.00 B
78
- ESM dist/types/base/base-autosuggestions-config.mjs 200.00 B
79
- ESM dist/components/base-copilot-textarea/render-element.mjs 180.00 B
80
- ESM dist/components/base-copilot-textarea/render-placeholder.mjs 188.00 B
87
+ ESM dist/chunk-NKW5OU2S.mjs 959.00 B
88
+ ESM dist/chunk-EHQ5TN4R.mjs 2.75 KB
89
+ ESM dist/chunk-WJYQWL4I.mjs 595.00 B
90
+ ESM dist/types/standard-autosuggestions/minimal-chat-gpt-message.mjs.map 51.00 B
81
91
  ESM dist/lib/utils.test.mjs.map 349.00 B
82
- ESM dist/lib/slatejs-edits/add-autocompletions.mjs.map 51.00 B
83
- ESM dist/context/index.mjs.map 51.00 B
84
- ESM dist/components/index.mjs.map 51.00 B
85
- ESM dist/types/index.mjs.map 51.00 B
86
- ESM dist/types/standard-autosuggestions/autosuggestions-config.mjs 310.00 B
87
- ESM dist/hooks/index.mjs.map 51.00 B
92
+ ESM dist/types/base/autosuggestion-state.mjs.map 51.00 B
93
+ ESM dist/chunk-MMVDU6DF.mjs.map 51.00 B
94
+ ESM dist/types/base/custom-editor.mjs.map 51.00 B
95
+ ESM dist/chunk-WJHSY5T6.mjs.map 51.00 B
96
+ ESM dist/chunk-AZQCUNBV.mjs.map 51.00 B
88
97
  ESM dist/chunk-FD6FGKYY.mjs.map 51.00 B
89
- ESM dist/chunk-MRXNTQOX.mjs.map 71.00 B
90
- ESM dist/lib/slatejs-edits/clear-autocompletions.mjs.map 51.00 B
91
- ESM dist/lib/slatejs-edits/replace-text.mjs.map 51.00 B
98
+ ESM dist/chunk-IU3WTXLQ.mjs.map 51.00 B
99
+ ESM dist/components/copilot-textarea/copilot-textarea.mjs.map 51.00 B
100
+ ESM dist/types/base/index.mjs.map 51.00 B
101
+ ESM dist/lib/slatejs-edits/add-autocompletions.mjs.map 51.00 B
102
+ ESM dist/types/base/autosuggestions-bare-function.mjs.map 51.00 B
92
103
  ESM dist/lib/slatejs-edits/with-partial-history.mjs.map 51.00 B
104
+ ESM dist/lib/slatejs-edits/clear-autocompletions.mjs.map 51.00 B
105
+ ESM dist/types/base/editor-autocomplete-state.mjs.map 51.00 B
106
+ ESM dist/types/base/base-autosuggestions-config.mjs.map 51.00 B
107
+ ESM dist/hooks/make-autosuggestions-function/use-make-standard-autosuggestions-function.mjs.map 51.00 B
93
108
  ESM dist/lib/get-text-around-cursor.mjs.map 51.00 B
94
- ESM dist/chunk-IU3WTXLQ.mjs.map 51.00 B
109
+ ESM dist/components/base-copilot-textarea/use-add-branding-css.mjs.map 51.00 B
110
+ ESM dist/components/base-copilot-textarea/base-copilot-textarea.mjs.map 51.00 B
111
+ ESM dist/index.mjs.map 51.00 B
95
112
  ESM dist/lib/utils.mjs.map 51.00 B
96
- ESM dist/chunk-PP225CLG.mjs.map 1.75 KB
97
- ESM dist/chunk-6FAYV255.mjs.map 8.05 KB
98
- ESM dist/chunk-ZPACRCJ6.mjs.map 4.01 KB
99
- ESM dist/chunk-3UQM3NLM.mjs.map 3.63 KB
113
+ ESM dist/chunk-NHLYAJCQ.mjs.map 1.75 KB
114
+ ESM dist/types/standard-autosuggestions/index.mjs.map 51.00 B
115
+ ESM dist/types/standard-autosuggestions/autosuggestions-config.mjs.map 51.00 B
116
+ ESM dist/lib/slatejs-edits/replace-text.mjs.map 51.00 B
117
+ ESM dist/chunk-7KWRVIYV.mjs.map 623.00 B
118
+ ESM dist/components/base-copilot-textarea/render-element.mjs.map 51.00 B
119
+ ESM dist/components/base-copilot-textarea/render-placeholder.mjs.map 51.00 B
120
+ ESM dist/chunk-H4VKQGVU.mjs.map 51.00 B
100
121
  ESM dist/chunk-TSF4AJIK.mjs.map 1.31 KB
122
+ ESM dist/types/index.mjs.map 51.00 B
101
123
  ESM dist/chunk-4XYYSJ5C.mjs.map 921.00 B
102
- ESM dist/chunk-6Q4X3YEO.mjs.map 1.82 KB
124
+ ESM dist/chunk-LNAIMEB2.mjs.map 1.73 KB
103
125
  ESM dist/hooks/use-autosuggestions.mjs.map 51.00 B
104
126
  ESM dist/chunk-OELUUJZY.mjs.map 957.00 B
105
- ESM dist/chunk-24IOWJS4.mjs.map 5.54 KB
127
+ ESM dist/chunk-A3SFEHWZ.mjs.map 4.73 KB
128
+ ESM dist/hooks/index.mjs.map 51.00 B
129
+ ESM dist/chunk-THWPPG6M.mjs.map 2.24 KB
130
+ ESM dist/context/index.mjs.map 51.00 B
131
+ ESM dist/chunk-6SYD77G6.mjs.map 3.78 KB
132
+ ESM dist/chunk-KGKLUWKW.mjs.map 2.45 KB
133
+ ESM dist/chunk-KCHYD3EB.mjs.map 6.12 KB
134
+ ESM dist/chunk-MRXNTQOX.mjs.map 71.00 B
106
135
  ESM dist/chunk-UW3ITU2Y.mjs.map 878.00 B
136
+ ESM dist/components/index.mjs.map 51.00 B
137
+ ESM dist/chunk-CU2M5BIJ.mjs.map 8.62 KB
107
138
  ESM dist/hooks/use-copilot-textarea-editor.mjs.map 51.00 B
108
- ESM dist/chunk-KGKLUWKW.mjs.map 2.45 KB
109
- ESM dist/chunk-6SYD77G6.mjs.map 3.78 KB
139
+ ESM dist/chunk-E2UEE45I.mjs.map 5.78 KB
110
140
  ESM dist/lib/debouncer.mjs.map 51.00 B
111
- ESM dist/chunk-NKW5OU2S.mjs.map 1.60 KB
112
- ESM dist/chunk-AZQCUNBV.mjs.map 51.00 B
141
+ ESM dist/chunk-3UQM3NLM.mjs.map 3.63 KB
113
142
  ESM dist/lib/editor-to-text.mjs.map 2.83 KB
143
+ ESM dist/chunk-EHQ5TN4R.mjs.map 4.01 KB
144
+ ESM dist/chunk-NKW5OU2S.mjs.map 1.60 KB
114
145
  ESM dist/chunk-WJYQWL4I.mjs.map 1.04 KB
115
- ESM dist/index.mjs.map 51.00 B
116
- ESM dist/chunk-WJHSY5T6.mjs.map 51.00 B
117
- ESM dist/chunk-6LKDH2UJ.mjs.map 566.00 B
118
- ESM dist/chunk-A3SFEHWZ.mjs.map 4.73 KB
119
- ESM dist/chunk-MMVDU6DF.mjs.map 51.00 B
120
- ESM dist/chunk-H4VKQGVU.mjs.map 51.00 B
121
- ESM dist/chunk-KCHYD3EB.mjs.map 6.12 KB
122
- ESM dist/types/base/custom-editor.mjs.map 51.00 B
123
- ESM dist/hooks/make-autosuggestions-function/use-make-standard-autosuggestions-function.mjs.map 51.00 B
124
- ESM dist/types/standard-autosuggestions/minimal-chat-gpt-message.mjs.map 51.00 B
125
- ESM dist/components/base-copilot-textarea/base-copilot-textarea.mjs.map 51.00 B
126
- ESM dist/components/copilot-textarea/copilot-textarea.mjs.map 51.00 B
127
- ESM dist/types/base/autosuggestion-state.mjs.map 51.00 B
128
- ESM dist/types/base/autosuggestions-bare-function.mjs.map 51.00 B
129
- ESM dist/types/base/editor-autocomplete-state.mjs.map 51.00 B
130
- ESM dist/types/base/index.mjs.map 51.00 B
131
- ESM dist/types/standard-autosuggestions/index.mjs.map 51.00 B
132
- ESM dist/types/base/base-autosuggestions-config.mjs.map 51.00 B
133
- ESM dist/components/base-copilot-textarea/render-element.mjs.map 51.00 B
134
- ESM dist/components/base-copilot-textarea/render-placeholder.mjs.map 51.00 B
135
- ESM dist/types/standard-autosuggestions/autosuggestions-config.mjs.map 51.00 B
136
- ESM ⚡️ Build success in 548ms
137
- DTS ⚡️ Build success in 1038ms
146
+ ESM ⚡️ Build success in 544ms
147
+ DTS ⚡️ Build success in 1401ms
138
148
  DTS dist/index.d.ts 763.00 B
139
- DTS dist/components/base-copilot-textarea/base-copilot-textarea.d.ts 789.00 B
149
+ DTS dist/components/base-copilot-textarea/base-copilot-textarea.d.ts 820.00 B
140
150
  DTS dist/components/copilot-textarea/copilot-textarea.d.ts 703.00 B
141
- DTS dist/types/base/base-autosuggestions-config.d.ts 332.00 B
151
+ DTS dist/types/base/base-autosuggestions-config.d.ts 355.00 B
142
152
  DTS dist/types/base/autosuggestions-bare-function.d.ts 162.00 B
143
153
  DTS dist/types/standard-autosuggestions/autosuggestions-config.d.ts 884.00 B
144
154
  DTS dist/types/standard-autosuggestions/minimal-chat-gpt-message.d.ts 129.00 B
145
155
  DTS dist/context/index.d.ts 1.00 B
146
156
  DTS dist/components/index.d.ts 480.00 B
147
157
  DTS dist/hooks/index.d.ts 1.00 B
148
- DTS dist/hooks/use-autosuggestions.d.ts 860.00 B
158
+ DTS dist/hooks/use-autosuggestions.d.ts 879.00 B
149
159
  DTS dist/types/base/autosuggestion-state.d.ts 143.00 B
150
160
  DTS dist/types/base/editor-autocomplete-state.d.ts 342.00 B
151
161
  DTS dist/hooks/use-copilot-textarea-editor.d.ts 223.00 B
@@ -158,10 +168,11 @@ DTS dist/lib/utils.d.ts
158
168
  DTS dist/types/index.d.ts 491.00 B
159
169
  DTS dist/components/base-copilot-textarea/render-element.d.ts 292.00 B
160
170
  DTS dist/components/base-copilot-textarea/render-placeholder.d.ts 321.00 B
171
+ DTS dist/components/base-copilot-textarea/use-add-branding-css.d.ts 158.00 B
161
172
  DTS dist/hooks/make-autosuggestions-function/use-make-standard-autosuggestions-function.d.ts 1.79 KB
162
173
  DTS dist/lib/slatejs-edits/add-autocompletions.d.ts 302.00 B
163
174
  DTS dist/lib/slatejs-edits/clear-autocompletions.d.ts 250.00 B
164
175
  DTS dist/lib/slatejs-edits/replace-text.d.ts 139.00 B
165
176
  DTS dist/lib/slatejs-edits/with-partial-history.d.ts 542.00 B
166
- DTS dist/types/base/index.d.ts 194.00 B
167
177
  DTS dist/types/standard-autosuggestions/index.d.ts 286.00 B
178
+ DTS dist/types/base/index.d.ts 194.00 B
package/CHANGELOG.md CHANGED
@@ -1,5 +1,17 @@
1
1
  # ui
2
2
 
3
+ ## 0.10.0
4
+
5
+ ### Minor Changes
6
+
7
+ - 7ae5549: Added support for a disabled parameter on CopilotTextarea
8
+
9
+ ## 0.9.0
10
+
11
+ ### Minor Changes
12
+
13
+ - 59f9fc4: code quality and optional branding
14
+
3
15
  ## 0.8.0
4
16
 
5
17
  ### Minor Changes
@@ -2,9 +2,10 @@
2
2
  var defaultBaseAutosuggestionsConfig = {
3
3
  debounceTime: 500,
4
4
  acceptAutosuggestionKey: "Tab",
5
- disableWhenEmpty: true
5
+ disableWhenEmpty: true,
6
+ disabled: false
6
7
  };
7
8
 
8
9
  export { defaultBaseAutosuggestionsConfig };
9
10
  //# sourceMappingURL=out.js.map
10
- //# sourceMappingURL=chunk-6LKDH2UJ.mjs.map
11
+ //# sourceMappingURL=chunk-7KWRVIYV.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/types/base/base-autosuggestions-config.tsx"],"names":[],"mappings":";AAQO,IAAM,mCAGT;AAAA,EACF,cAAc;AAAA,EACd,yBAAyB;AAAA,EACzB,kBAAkB;AAAA,EAClB,UAAU;AACZ","sourcesContent":["export interface BaseAutosuggestionsConfig {\n purposePrompt: string;\n debounceTime: number;\n acceptAutosuggestionKey: string;\n disableWhenEmpty: boolean;\n disabled: boolean;\n}\n\nexport const defaultBaseAutosuggestionsConfig: Omit<\n BaseAutosuggestionsConfig,\n \"purposePrompt\"\n> = {\n debounceTime: 500,\n acceptAutosuggestionKey: \"Tab\",\n disableWhenEmpty: true,\n disabled: false,\n};\n"]}
@@ -2,10 +2,11 @@ import { addAutocompletionsToEditor } from './chunk-WJYQWL4I.mjs';
2
2
  import { clearAutocompletionsFromEditor } from './chunk-4XYYSJ5C.mjs';
3
3
  import { replaceEditorText } from './chunk-TSF4AJIK.mjs';
4
4
  import { getTextAroundCursor, getFullEditorTextWithNewlines } from './chunk-3UQM3NLM.mjs';
5
- import { defaultBaseAutosuggestionsConfig } from './chunk-6LKDH2UJ.mjs';
6
- import { makeRenderElementFunction } from './chunk-6Q4X3YEO.mjs';
5
+ import { defaultBaseAutosuggestionsConfig } from './chunk-7KWRVIYV.mjs';
6
+ import { makeRenderElementFunction } from './chunk-LNAIMEB2.mjs';
7
7
  import { makeRenderPlaceholderFunction } from './chunk-OELUUJZY.mjs';
8
- import { useAutosuggestions } from './chunk-24IOWJS4.mjs';
8
+ import { useAddBrandingCss } from './chunk-THWPPG6M.mjs';
9
+ import { useAutosuggestions } from './chunk-E2UEE45I.mjs';
9
10
  import { useCopilotTextareaEditor } from './chunk-6SYD77G6.mjs';
10
11
  import { __spreadValues, __objRest } from './chunk-MRXNTQOX.mjs';
11
12
  import { useMemo, useState, useCallback, useEffect } from 'react';
@@ -47,7 +48,8 @@ function BaseCopilotTextarea(props) {
47
48
  autosuggestionsConfig.acceptAutosuggestionKey,
48
49
  props.autosuggestionsFunction,
49
50
  insertText,
50
- autosuggestionsConfig.disableWhenEmpty
51
+ autosuggestionsConfig.disableWhenEmpty,
52
+ autosuggestionsConfig.disabled
51
53
  );
52
54
  useEffect(() => {
53
55
  clearAutocompletionsFromEditor(editor);
@@ -59,10 +61,16 @@ function BaseCopilotTextarea(props) {
59
61
  );
60
62
  }
61
63
  }, [currentAutocompleteSuggestion]);
64
+ const suggestionStyleAugmented = useMemo(() => {
65
+ return __spreadValues({
66
+ fontStyle: "italic",
67
+ color: "gray"
68
+ }, props.suggestionsStyle);
69
+ }, [props.suggestionsStyle]);
70
+ useAddBrandingCss(suggestionStyleAugmented, props.disableBranding);
62
71
  const renderElementMemoized = useMemo(() => {
63
- const suggestionStyleAugmented = __spreadValues({}, props.suggestionsStyle);
64
72
  return makeRenderElementFunction(suggestionStyleAugmented);
65
- }, [props.suggestionsStyle]);
73
+ }, [suggestionStyleAugmented]);
66
74
  const renderPlaceholderMemoized = useMemo(() => {
67
75
  const placeholderStyleSlatejsOverrides = {
68
76
  top: void 0
@@ -95,9 +103,10 @@ function BaseCopilotTextarea(props) {
95
103
  ]);
96
104
  const moddedClassName = (() => {
97
105
  const baseClassName = "copilot-textarea";
106
+ const brandingClass = props.disableBranding ? "no-branding" : "with-branding";
98
107
  const defaultTailwindClassName = "bg-white overflow-y-auto resize-y";
99
108
  const mergedClassName = twMerge(defaultTailwindClassName, className != null ? className : "");
100
- return `${baseClassName} ${mergedClassName}`;
109
+ return `${baseClassName} ${brandingClass} ${mergedClassName}`;
101
110
  })();
102
111
  return /* @__PURE__ */ jsx(Slate, {
103
112
  editor,
@@ -121,4 +130,4 @@ function BaseCopilotTextarea(props) {
121
130
 
122
131
  export { BaseCopilotTextarea };
123
132
  //# sourceMappingURL=out.js.map
124
- //# sourceMappingURL=chunk-6FAYV255.mjs.map
133
+ //# sourceMappingURL=chunk-CU2M5BIJ.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/components/base-copilot-textarea/base-copilot-textarea.tsx"],"names":["_a","value"],"mappings":"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","sourcesContent":["import \"./base-copilot-textarea.css\";\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\";\nimport { useAddBrandingCss } from \"./use-add-branding-css\";\n\nexport interface BaseCopilotTextareaProps\n extends TextareaHTMLAttributes<HTMLDivElement> {\n disableBranding?: boolean;\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 autosuggestionsConfig.disabled\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 suggestionStyleAugmented: React.CSSProperties = useMemo(() => {\n return {\n fontStyle: \"italic\",\n color: \"gray\",\n ...props.suggestionsStyle,\n };\n }, [props.suggestionsStyle]);\n\n useAddBrandingCss(suggestionStyleAugmented, props.disableBranding);\n\n const renderElementMemoized = useMemo(() => {\n return makeRenderElementFunction(suggestionStyleAugmented);\n }, [suggestionStyleAugmented]);\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 brandingClass = props.disableBranding\n ? \"no-branding\"\n : \"with-branding\";\n const defaultTailwindClassName = \"bg-white overflow-y-auto resize-y\";\n const mergedClassName = twMerge(defaultTailwindClassName, className ?? \"\");\n return `${baseClassName} ${brandingClass} ${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"]}
@@ -4,11 +4,14 @@ import { Debouncer } from './chunk-NKW5OU2S.mjs';
4
4
  import { __async } from './chunk-MRXNTQOX.mjs';
5
5
  import { useState, useCallback, useMemo } from 'react';
6
6
 
7
- function useAutosuggestions(debounceTime, acceptAutosuggestionKey, autosuggestionFunction, insertAutocompleteSuggestion, disableWhenEmpty) {
7
+ function useAutosuggestions(debounceTime, acceptAutosuggestionKey, autosuggestionFunction, insertAutocompleteSuggestion, disableWhenEmpty, disabled) {
8
8
  const [previousAutocompleteState, setPreviousAutocompleteState] = useState(null);
9
9
  const [currentAutocompleteSuggestion, setCurrentAutocompleteSuggestion] = useState(null);
10
10
  const awaitForAndAppendSuggestion = useCallback(
11
11
  (editorAutocompleteState, abortSignal) => __async(this, null, function* () {
12
+ if (disabled) {
13
+ return;
14
+ }
12
15
  if (disableWhenEmpty && editorAutocompleteState.textBeforeCursor === "" && editorAutocompleteState.textAfterCursor === "") {
13
16
  return;
14
17
  }
@@ -25,7 +28,12 @@ function useAutosuggestions(debounceTime, acceptAutosuggestionKey, autosuggestio
25
28
  point: editorAutocompleteState.cursorPoint
26
29
  });
27
30
  }),
28
- [autosuggestionFunction, setCurrentAutocompleteSuggestion, disableWhenEmpty]
31
+ [
32
+ autosuggestionFunction,
33
+ setCurrentAutocompleteSuggestion,
34
+ disableWhenEmpty,
35
+ disabled
36
+ ]
29
37
  );
30
38
  const debouncedFunction = useMemo(
31
39
  () => new Debouncer(
@@ -85,4 +93,4 @@ function useAutosuggestions(debounceTime, acceptAutosuggestionKey, autosuggestio
85
93
 
86
94
  export { useAutosuggestions };
87
95
  //# sourceMappingURL=out.js.map
88
- //# sourceMappingURL=chunk-24IOWJS4.mjs.map
96
+ //# sourceMappingURL=chunk-E2UEE45I.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,kBACA,UAC0B;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;AAEH,UAAI,UAAU;AACZ;AAAA,MACF;AAEA,UACE,oBACA,wBAAwB,qBAAqB,MAC7C,wBAAwB,oBAAoB,IAC5C;AACA;AAAA,MACF;AAGA,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;AAAA,MACE;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IACF;AAAA,EACF;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 disabled: boolean\n): UseAutosuggestionsResult {\n const [previousAutocompleteState, setPreviousAutocompleteState] =\n useState<EditorAutocompleteState | null>(null);\n\n const [currentAutocompleteSuggestion, setCurrentAutocompleteSuggestion] =\n useState<AutosuggestionState | null>(null);\n\n const awaitForAndAppendSuggestion: (\n editorAutocompleteState: EditorAutocompleteState,\n abortSignal: AbortSignal\n ) => Promise<void> = useCallback(\n async (\n editorAutocompleteState: EditorAutocompleteState,\n abortSignal: AbortSignal\n ) => {\n // early return if disabled\n if (disabled) {\n return;\n }\n\n if (\n disableWhenEmpty &&\n editorAutocompleteState.textBeforeCursor === \"\" &&\n editorAutocompleteState.textAfterCursor === \"\"\n ) {\n return;\n }\n\n // fetch the suggestion\n const suggestion = await autosuggestionFunction(\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 [\n autosuggestionFunction,\n setCurrentAutocompleteSuggestion,\n disableWhenEmpty,\n disabled,\n ]\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"]}
@@ -1,4 +1,4 @@
1
- import { defaultBaseAutosuggestionsConfig } from './chunk-6LKDH2UJ.mjs';
1
+ import { defaultBaseAutosuggestionsConfig } from './chunk-7KWRVIYV.mjs';
2
2
  import { __spreadProps, __spreadValues } from './chunk-MRXNTQOX.mjs';
3
3
 
4
4
  // src/types/standard-autosuggestions/autosuggestions-config.tsx
@@ -66,4 +66,4 @@ var defaultAutosuggestionsConfig = __spreadProps(__spreadValues({}, defaultBaseA
66
66
 
67
67
  export { defaultAutosuggestionsConfig, defaultFewShotMessages, defaultMakeSystemPrompt };
68
68
  //# sourceMappingURL=out.js.map
69
- //# sourceMappingURL=chunk-ZPACRCJ6.mjs.map
69
+ //# sourceMappingURL=chunk-EHQ5TN4R.mjs.map
@@ -20,10 +20,7 @@ var DefaultElement = (props) => {
20
20
  };
21
21
  var SuggestionElement = (props) => {
22
22
  return /* @__PURE__ */ jsxs("span", __spreadProps(__spreadValues({}, props.attributes), {
23
- style: __spreadValues({
24
- fontStyle: "italic",
25
- color: "gray"
26
- }, props.suggestionsStyle),
23
+ style: __spreadValues({}, props.suggestionsStyle),
27
24
  contentEditable: false,
28
25
  children: [
29
26
  props.children,
@@ -34,4 +31,4 @@ var SuggestionElement = (props) => {
34
31
 
35
32
  export { makeRenderElementFunction };
36
33
  //# sourceMappingURL=out.js.map
37
- //# sourceMappingURL=chunk-6Q4X3YEO.mjs.map
34
+ //# sourceMappingURL=chunk-LNAIMEB2.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,mBACF,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 ...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"]}
@@ -1,6 +1,6 @@
1
1
  import { useMakeStandardAutosuggestionFunction } from './chunk-A3SFEHWZ.mjs';
2
- import { defaultAutosuggestionsConfig } from './chunk-ZPACRCJ6.mjs';
3
- import { BaseCopilotTextarea } from './chunk-6FAYV255.mjs';
2
+ import { defaultAutosuggestionsConfig } from './chunk-EHQ5TN4R.mjs';
3
+ import { BaseCopilotTextarea } from './chunk-CU2M5BIJ.mjs';
4
4
  import { __spreadValues, __spreadProps } from './chunk-MRXNTQOX.mjs';
5
5
  import { jsx } from 'react/jsx-runtime';
6
6
 
@@ -22,4 +22,4 @@ function CopilotTextarea(props) {
22
22
 
23
23
  export { CopilotTextarea };
24
24
  //# sourceMappingURL=out.js.map
25
- //# sourceMappingURL=chunk-PP225CLG.mjs.map
25
+ //# sourceMappingURL=chunk-NHLYAJCQ.mjs.map
@@ -0,0 +1,40 @@
1
+ import { useEffect } from 'react';
2
+
3
+ // src/components/base-copilot-textarea/use-add-branding-css.tsx
4
+ function useAddBrandingCss(suggestionStyleAugmented, disableBranding) {
5
+ useEffect(() => {
6
+ if (disableBranding) {
7
+ return;
8
+ }
9
+ const styleEl = document.createElement("style");
10
+ styleEl.id = "dynamic-styles";
11
+ let dynamicStyles = Object.entries(suggestionStyleAugmented).map(([key, value]) => {
12
+ const kebabCaseKey = key.replace(/([a-z0-9]|(?=[A-Z]))([A-Z])/g, "$1-$2").toLowerCase();
13
+ return `${kebabCaseKey}: ${value};`;
14
+ }).join(" ");
15
+ dynamicStyles += `font-style: normal; font-size: x-small;`;
16
+ dynamicStyles += `content: "CopilotKit";`;
17
+ dynamicStyles += `bottom: 6px;`;
18
+ dynamicStyles += `right: 6px;`;
19
+ dynamicStyles += `pointer-events: none;`;
20
+ dynamicStyles += `font-weight: 200;`;
21
+ dynamicStyles += `padding: 0;`;
22
+ dynamicStyles += `margin: 0;`;
23
+ dynamicStyles += `border: 0;`;
24
+ dynamicStyles += `line-height: 1;`;
25
+ styleEl.innerHTML = `
26
+ .copilot-textarea.with-branding::after {
27
+ ${dynamicStyles}
28
+ }
29
+ `;
30
+ document.head.appendChild(styleEl);
31
+ return () => {
32
+ var _a;
33
+ (_a = document.getElementById("dynamic-styles")) == null ? void 0 : _a.remove();
34
+ };
35
+ }, [disableBranding, suggestionStyleAugmented]);
36
+ }
37
+
38
+ export { useAddBrandingCss };
39
+ //# sourceMappingURL=out.js.map
40
+ //# sourceMappingURL=chunk-THWPPG6M.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/components/base-copilot-textarea/use-add-branding-css.tsx"],"names":[],"mappings":";AAAA,SAAS,iBAAiB;AAEnB,SAAS,kBACd,0BACA,iBACA;AACA,YAAU,MAAM;AACd,QAAI,iBAAiB;AACnB;AAAA,IACF;AAEA,UAAM,UAAU,SAAS,cAAc,OAAO;AAC9C,YAAQ,KAAK;AAGb,QAAI,gBAAgB,OAAO,QAAQ,wBAAwB,EACxD,IAAI,CAAC,CAAC,KAAK,KAAK,MAAM;AACrB,YAAM,eAAe,IAClB,QAAQ,gCAAgC,OAAO,EAC/C,YAAY;AACf,aAAO,GAAG,iBAAiB;AAAA,IAC7B,CAAC,EACA,KAAK,GAAG;AAGX,qBAAiB;AACjB,qBAAiB;AACjB,qBAAiB;AACjB,qBAAiB;AACjB,qBAAiB;AACjB,qBAAiB;AACjB,qBAAiB;AACjB,qBAAiB;AACjB,qBAAiB;AACjB,qBAAiB;AAGjB,YAAQ,YAAY;AAAA;AAAA,UAEd;AAAA;AAAA;AAIN,aAAS,KAAK,YAAY,OAAO;AAGjC,WAAO,MAAM;AA9CjB;AA+CM,qBAAS,eAAe,gBAAgB,MAAxC,mBAA2C;AAAA,IAC7C;AAAA,EACF,GAAG,CAAC,iBAAiB,wBAAwB,CAAC;AAChD","sourcesContent":["import { useEffect } from \"react\";\n\nexport function useAddBrandingCss(\n suggestionStyleAugmented: React.CSSProperties,\n disableBranding: boolean | undefined\n) {\n useEffect(() => {\n if (disableBranding) {\n return;\n }\n\n const styleEl = document.createElement(\"style\");\n styleEl.id = \"dynamic-styles\";\n\n // Build the CSS string dynamically\n let dynamicStyles = Object.entries(suggestionStyleAugmented)\n .map(([key, value]) => {\n const kebabCaseKey = key\n .replace(/([a-z0-9]|(?=[A-Z]))([A-Z])/g, \"$1-$2\")\n .toLowerCase();\n return `${kebabCaseKey}: ${value};`;\n })\n .join(\" \");\n\n // Append overrides for italics and font-size\n dynamicStyles += `font-style: normal; font-size: x-small;`;\n dynamicStyles += `content: \"CopilotKit\";`;\n dynamicStyles += `bottom: 6px;`;\n dynamicStyles += `right: 6px;`;\n dynamicStyles += `pointer-events: none;`;\n dynamicStyles += `font-weight: 200;`;\n dynamicStyles += `padding: 0;`;\n dynamicStyles += `margin: 0;`;\n dynamicStyles += `border: 0;`;\n dynamicStyles += `line-height: 1;`;\n\n // Append it to the ::after class\n styleEl.innerHTML = `\n .copilot-textarea.with-branding::after {\n ${dynamicStyles}\n }\n `;\n\n document.head.appendChild(styleEl);\n\n // Cleanup\n return () => {\n document.getElementById(\"dynamic-styles\")?.remove();\n };\n }, [disableBranding, suggestionStyleAugmented]);\n}\n"]}
@@ -0,0 +1,9 @@
1
+ /* src/components/base-copilot-textarea/base-copilot-textarea.css */
2
+ .copilot-textarea.with-branding::after {
3
+ content: "";
4
+ position: absolute;
5
+ }
6
+ .copilot-textarea.no-branding::after {
7
+ content: "";
8
+ }
9
+ /*# sourceMappingURL=base-copilot-textarea.css.map */
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../src/components/base-copilot-textarea/base-copilot-textarea.css"],"sourcesContent":[".copilot-textarea.with-branding::after {\n content: ''; /* Initially empty because we overrdie this CSS dynamically and we want to avoid flashing */\n position: absolute;\n}\n \n \n.copilot-textarea.no-branding::after {\n content: '';\n}"],"mappings":";AAAA;AACI;AACA;AAAA;AAIJ;AACI;AAAA;","names":[]}
@@ -3,6 +3,7 @@ import { BaseAutosuggestionsConfig } from '../../types/base/base-autosuggestions
3
3
  import { AutosuggestionsBareFunction } from '../../types/base/autosuggestions-bare-function.js';
4
4
 
5
5
  interface BaseCopilotTextareaProps extends TextareaHTMLAttributes<HTMLDivElement> {
6
+ disableBranding?: boolean;
6
7
  placeholderStyle?: React.CSSProperties;
7
8
  suggestionsStyle?: React.CSSProperties;
8
9
  value?: string;
@@ -1,13 +1,14 @@
1
- export { BaseCopilotTextarea } from '../../chunk-6FAYV255.mjs';
1
+ export { BaseCopilotTextarea } from '../../chunk-CU2M5BIJ.mjs';
2
2
  import '../../chunk-WJYQWL4I.mjs';
3
3
  import '../../chunk-4XYYSJ5C.mjs';
4
4
  import '../../chunk-TSF4AJIK.mjs';
5
5
  import '../../chunk-3UQM3NLM.mjs';
6
6
  import '../../chunk-WJHSY5T6.mjs';
7
- import '../../chunk-6LKDH2UJ.mjs';
8
- import '../../chunk-6Q4X3YEO.mjs';
7
+ import '../../chunk-7KWRVIYV.mjs';
8
+ import '../../chunk-LNAIMEB2.mjs';
9
9
  import '../../chunk-OELUUJZY.mjs';
10
- import '../../chunk-24IOWJS4.mjs';
10
+ import '../../chunk-THWPPG6M.mjs';
11
+ import '../../chunk-E2UEE45I.mjs';
11
12
  import '../../chunk-UW3ITU2Y.mjs';
12
13
  import '../../chunk-KGKLUWKW.mjs';
13
14
  import '../../chunk-6SYD77G6.mjs';
@@ -1,4 +1,4 @@
1
- export { makeRenderElementFunction } from '../../chunk-6Q4X3YEO.mjs';
1
+ export { makeRenderElementFunction } from '../../chunk-LNAIMEB2.mjs';
2
2
  import '../../chunk-MRXNTQOX.mjs';
3
3
  //# sourceMappingURL=out.js.map
4
4
  //# sourceMappingURL=render-element.mjs.map