@copilotkit/react-textarea 1.1.3-feat-runtime-remote-actions.2 → 1.2.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 (339) hide show
  1. package/CHANGELOG.md +7 -24
  2. package/dist/components/base-copilot-textarea/base-copilot-textarea.d.mts +43 -0
  3. package/dist/components/base-copilot-textarea/base-copilot-textarea.d.ts +1 -1
  4. package/dist/components/base-copilot-textarea/base-copilot-textarea.js +49 -114
  5. package/dist/components/base-copilot-textarea/base-copilot-textarea.js.map +1 -1
  6. package/dist/components/base-copilot-textarea/base-copilot-textarea.mjs +1687 -36
  7. package/dist/components/base-copilot-textarea/base-copilot-textarea.mjs.map +1 -1
  8. package/dist/components/base-copilot-textarea/render-element.d.mts +6 -0
  9. package/dist/components/base-copilot-textarea/render-element.d.ts +1 -1
  10. package/dist/components/base-copilot-textarea/render-element.mjs +48 -4
  11. package/dist/components/base-copilot-textarea/render-element.mjs.map +1 -1
  12. package/dist/components/base-copilot-textarea/render-placeholder.d.mts +6 -0
  13. package/dist/components/base-copilot-textarea/render-placeholder.d.ts +1 -1
  14. package/dist/components/base-copilot-textarea/render-placeholder.mjs +46 -4
  15. package/dist/components/base-copilot-textarea/render-placeholder.mjs.map +1 -1
  16. package/dist/components/base-copilot-textarea/track-cursor-moved-since-last-text-change.d.mts +8 -0
  17. package/dist/components/base-copilot-textarea/track-cursor-moved-since-last-text-change.js +2 -4
  18. package/dist/components/base-copilot-textarea/track-cursor-moved-since-last-text-change.js.map +1 -1
  19. package/dist/components/base-copilot-textarea/track-cursor-moved-since-last-text-change.mjs +81 -5
  20. package/dist/components/base-copilot-textarea/track-cursor-moved-since-last-text-change.mjs.map +1 -1
  21. package/dist/components/base-copilot-textarea/use-add-branding-css.d.mts +3 -0
  22. package/dist/components/base-copilot-textarea/use-add-branding-css.js.map +1 -1
  23. package/dist/components/base-copilot-textarea/use-add-branding-css.mjs +54 -4
  24. package/dist/components/base-copilot-textarea/use-add-branding-css.mjs.map +1 -1
  25. package/dist/components/copilot-textarea/copilot-textarea.d.mts +165 -0
  26. package/dist/components/copilot-textarea/copilot-textarea.d.ts +2 -8
  27. package/dist/components/copilot-textarea/copilot-textarea.js +55 -119
  28. package/dist/components/copilot-textarea/copilot-textarea.js.map +1 -1
  29. package/dist/components/copilot-textarea/copilot-textarea.mjs +2211 -44
  30. package/dist/components/copilot-textarea/copilot-textarea.mjs.map +1 -1
  31. package/dist/components/hovering-toolbar/hovering-editor-provider.d.mts +18 -0
  32. package/dist/components/hovering-toolbar/hovering-editor-provider.d.ts +1 -1
  33. package/dist/components/hovering-toolbar/hovering-editor-provider.mjs +13 -5
  34. package/dist/components/hovering-toolbar/hovering-editor-provider.mjs.map +1 -1
  35. package/dist/components/hovering-toolbar/hovering-toolbar-components.d.mts +17 -0
  36. package/dist/components/hovering-toolbar/hovering-toolbar-components.d.ts +1 -2
  37. package/dist/components/hovering-toolbar/hovering-toolbar-components.js +0 -21
  38. package/dist/components/hovering-toolbar/hovering-toolbar-components.js.map +1 -1
  39. package/dist/components/hovering-toolbar/hovering-toolbar-components.mjs +111 -9
  40. package/dist/components/hovering-toolbar/hovering-toolbar-components.mjs.map +1 -1
  41. package/dist/components/hovering-toolbar/hovering-toolbar.d.mts +12 -0
  42. package/dist/components/hovering-toolbar/hovering-toolbar.d.ts +1 -1
  43. package/dist/components/hovering-toolbar/hovering-toolbar.js +31 -94
  44. package/dist/components/hovering-toolbar/hovering-toolbar.js.map +1 -1
  45. package/dist/components/hovering-toolbar/hovering-toolbar.mjs +808 -19
  46. package/dist/components/hovering-toolbar/hovering-toolbar.mjs.map +1 -1
  47. package/dist/components/hovering-toolbar/text-insertion-prompt-box/hovering-insertion-prompt-box-core.d.mts +16 -0
  48. package/dist/components/hovering-toolbar/text-insertion-prompt-box/hovering-insertion-prompt-box-core.d.ts +1 -1
  49. package/dist/components/hovering-toolbar/text-insertion-prompt-box/hovering-insertion-prompt-box-core.js +21 -65
  50. package/dist/components/hovering-toolbar/text-insertion-prompt-box/hovering-insertion-prompt-box-core.js.map +1 -1
  51. package/dist/components/hovering-toolbar/text-insertion-prompt-box/hovering-insertion-prompt-box-core.mjs +520 -14
  52. package/dist/components/hovering-toolbar/text-insertion-prompt-box/hovering-insertion-prompt-box-core.mjs.map +1 -1
  53. package/dist/components/hovering-toolbar/text-insertion-prompt-box/hovering-insertion-prompt-box.d.mts +14 -0
  54. package/dist/components/hovering-toolbar/text-insertion-prompt-box/hovering-insertion-prompt-box.d.ts +1 -1
  55. package/dist/components/hovering-toolbar/text-insertion-prompt-box/hovering-insertion-prompt-box.js +24 -68
  56. package/dist/components/hovering-toolbar/text-insertion-prompt-box/hovering-insertion-prompt-box.js.map +1 -1
  57. package/dist/components/hovering-toolbar/text-insertion-prompt-box/hovering-insertion-prompt-box.mjs +543 -15
  58. package/dist/components/hovering-toolbar/text-insertion-prompt-box/hovering-insertion-prompt-box.mjs.map +1 -1
  59. package/dist/components/hovering-toolbar/text-insertion-prompt-box/index.d.mts +4 -0
  60. package/dist/components/hovering-toolbar/text-insertion-prompt-box/index.js +24 -68
  61. package/dist/components/hovering-toolbar/text-insertion-prompt-box/index.js.map +1 -1
  62. package/dist/components/hovering-toolbar/text-insertion-prompt-box/index.mjs +543 -16
  63. package/dist/components/hovering-toolbar/text-insertion-prompt-box/index.mjs.map +1 -1
  64. package/dist/components/index.d.mts +15 -0
  65. package/dist/components/index.js +55 -119
  66. package/dist/components/index.js.map +1 -1
  67. package/dist/components/index.mjs +2210 -46
  68. package/dist/components/index.mjs.map +1 -1
  69. package/dist/components/manual-ui/chip-with-icon.d.mts +10 -0
  70. package/dist/components/manual-ui/chip-with-icon.d.ts +1 -1
  71. package/dist/components/manual-ui/chip-with-icon.mjs +0 -2
  72. package/dist/components/manual-ui/chip-with-icon.mjs.map +1 -1
  73. package/dist/components/source-search-box/source-search-box.d.mts +16 -0
  74. package/dist/components/source-search-box/source-search-box.d.ts +1 -1
  75. package/dist/components/source-search-box/source-search-box.js +2 -4
  76. package/dist/components/source-search-box/source-search-box.js.map +1 -1
  77. package/dist/components/source-search-box/source-search-box.mjs +200 -8
  78. package/dist/components/source-search-box/source-search-box.mjs.map +1 -1
  79. package/dist/components/ui/button.d.mts +14 -0
  80. package/dist/components/ui/button.d.ts +1 -1
  81. package/dist/components/ui/button.mjs +76 -6
  82. package/dist/components/ui/button.mjs.map +1 -1
  83. package/dist/components/ui/command.d.mts +53 -0
  84. package/dist/components/ui/command.mjs +233 -14
  85. package/dist/components/ui/command.mjs.map +1 -1
  86. package/dist/components/ui/dialog.d.mts +19 -0
  87. package/dist/components/ui/dialog.mjs +135 -11
  88. package/dist/components/ui/dialog.mjs.map +1 -1
  89. package/dist/components/ui/label.d.mts +8 -0
  90. package/dist/components/ui/label.mjs +51 -5
  91. package/dist/components/ui/label.mjs.map +1 -1
  92. package/dist/context/index.d.mts +2 -0
  93. package/dist/context/index.d.ts +1 -1
  94. package/dist/context/index.mjs +0 -1
  95. package/dist/hooks/base-copilot-textarea-implementation/use-autosuggestions.d.mts +15 -0
  96. package/dist/hooks/base-copilot-textarea-implementation/use-autosuggestions.d.ts +1 -1
  97. package/dist/hooks/base-copilot-textarea-implementation/use-autosuggestions.js.map +1 -1
  98. package/dist/hooks/base-copilot-textarea-implementation/use-autosuggestions.mjs +152 -7
  99. package/dist/hooks/base-copilot-textarea-implementation/use-autosuggestions.mjs.map +1 -1
  100. package/dist/hooks/base-copilot-textarea-implementation/use-copilot-textarea-editor.d.mts +8 -0
  101. package/dist/hooks/base-copilot-textarea-implementation/use-copilot-textarea-editor.mjs +165 -5
  102. package/dist/hooks/base-copilot-textarea-implementation/use-copilot-textarea-editor.mjs.map +1 -1
  103. package/dist/hooks/base-copilot-textarea-implementation/use-populate-copilot-textarea-ref.d.mts +7 -0
  104. package/dist/hooks/base-copilot-textarea-implementation/use-populate-copilot-textarea-ref.js.map +1 -1
  105. package/dist/hooks/base-copilot-textarea-implementation/use-populate-copilot-textarea-ref.mjs +141 -6
  106. package/dist/hooks/base-copilot-textarea-implementation/use-populate-copilot-textarea-ref.mjs.map +1 -1
  107. package/dist/hooks/index.d.mts +2 -0
  108. package/dist/hooks/index.d.ts +1 -1
  109. package/dist/hooks/index.mjs +0 -1
  110. package/dist/hooks/make-autosuggestions-function/use-make-standard-autosuggestions-function.d.mts +22 -0
  111. package/dist/hooks/make-autosuggestions-function/use-make-standard-autosuggestions-function.js +2 -1
  112. package/dist/hooks/make-autosuggestions-function/use-make-standard-autosuggestions-function.js.map +1 -1
  113. package/dist/hooks/make-autosuggestions-function/use-make-standard-autosuggestions-function.mjs +139 -4
  114. package/dist/hooks/make-autosuggestions-function/use-make-standard-autosuggestions-function.mjs.map +1 -1
  115. package/dist/hooks/make-autosuggestions-function/use-make-standard-insertion-function.d.mts +23 -0
  116. package/dist/hooks/make-autosuggestions-function/use-make-standard-insertion-function.js +2 -2
  117. package/dist/hooks/make-autosuggestions-function/use-make-standard-insertion-function.js.map +1 -1
  118. package/dist/hooks/make-autosuggestions-function/use-make-standard-insertion-function.mjs +220 -4
  119. package/dist/hooks/make-autosuggestions-function/use-make-standard-insertion-function.mjs.map +1 -1
  120. package/dist/hooks/misc/use-autosize-textarea.d.mts +5 -0
  121. package/dist/hooks/misc/use-autosize-textarea.mjs +12 -4
  122. package/dist/hooks/misc/use-autosize-textarea.mjs.map +1 -1
  123. package/dist/index.css +1 -644
  124. package/dist/index.d.mts +15 -0
  125. package/dist/index.js +62 -119
  126. package/dist/index.js.map +1 -1
  127. package/dist/index.mjs +2217 -54
  128. package/dist/index.mjs.map +1 -1
  129. package/dist/lib/debouncer.d.mts +11 -0
  130. package/dist/lib/debouncer.d.ts +1 -1
  131. package/dist/lib/debouncer.js.map +1 -1
  132. package/dist/lib/debouncer.mjs +48 -4
  133. package/dist/lib/debouncer.mjs.map +1 -1
  134. package/dist/lib/editor-to-text.d.mts +7 -0
  135. package/dist/lib/editor-to-text.mjs +40 -4
  136. package/dist/lib/editor-to-text.mjs.map +1 -1
  137. package/dist/lib/get-text-around-cursor.d.mts +15 -0
  138. package/dist/lib/get-text-around-cursor.d.ts +1 -1
  139. package/dist/lib/get-text-around-cursor.mjs +96 -7
  140. package/dist/lib/get-text-around-cursor.mjs.map +1 -1
  141. package/dist/lib/retry.d.mts +3 -0
  142. package/dist/lib/retry.mjs +14 -4
  143. package/dist/lib/retry.mjs.map +1 -1
  144. package/dist/lib/slatejs-edits/add-autocompletions.d.mts +8 -0
  145. package/dist/lib/slatejs-edits/add-autocompletions.mjs +22 -4
  146. package/dist/lib/slatejs-edits/add-autocompletions.mjs.map +1 -1
  147. package/dist/lib/slatejs-edits/clear-autocompletions.d.mts +8 -0
  148. package/dist/lib/slatejs-edits/clear-autocompletions.js.map +1 -1
  149. package/dist/lib/slatejs-edits/clear-autocompletions.mjs +17 -4
  150. package/dist/lib/slatejs-edits/clear-autocompletions.mjs.map +1 -1
  151. package/dist/lib/slatejs-edits/replace-text.d.mts +5 -0
  152. package/dist/lib/slatejs-edits/replace-text.mjs +24 -4
  153. package/dist/lib/slatejs-edits/replace-text.mjs.map +1 -1
  154. package/dist/lib/slatejs-edits/with-partial-history.d.mts +8 -0
  155. package/dist/lib/slatejs-edits/with-partial-history.d.ts +1 -1
  156. package/dist/lib/slatejs-edits/with-partial-history.mjs +102 -5
  157. package/dist/lib/slatejs-edits/with-partial-history.mjs.map +1 -1
  158. package/dist/lib/stream-promise-flatten.d.mts +12 -0
  159. package/dist/lib/stream-promise-flatten.js.map +1 -1
  160. package/dist/lib/stream-promise-flatten.mjs +44 -4
  161. package/dist/lib/stream-promise-flatten.mjs.map +1 -1
  162. package/dist/lib/utils.d.mts +9 -0
  163. package/dist/lib/utils.mjs +58 -8
  164. package/dist/lib/utils.mjs.map +1 -1
  165. package/dist/lib/utils.test.d.mts +2 -0
  166. package/dist/lib/utils.test.d.ts +1 -1
  167. package/dist/types/autosuggestions-config/autosuggestions-config-user-specified.d.mts +23 -0
  168. package/dist/types/autosuggestions-config/autosuggestions-config-user-specified.d.ts +1 -1
  169. package/dist/types/autosuggestions-config/autosuggestions-config.d.mts +20 -0
  170. package/dist/types/autosuggestions-config/autosuggestions-config.d.ts +1 -1
  171. package/dist/types/autosuggestions-config/autosuggestions-config.js.map +1 -1
  172. package/dist/types/autosuggestions-config/autosuggestions-config.mjs +258 -9
  173. package/dist/types/autosuggestions-config/autosuggestions-config.mjs.map +1 -1
  174. package/dist/types/autosuggestions-config/editing-api-config.d.mts +15 -0
  175. package/dist/types/autosuggestions-config/editing-api-config.d.ts +1 -1
  176. package/dist/types/autosuggestions-config/editing-api-config.js.map +1 -1
  177. package/dist/types/autosuggestions-config/editing-api-config.mjs +75 -6
  178. package/dist/types/autosuggestions-config/editing-api-config.mjs.map +1 -1
  179. package/dist/types/autosuggestions-config/index.d.mts +10 -0
  180. package/dist/types/autosuggestions-config/index.js.map +1 -1
  181. package/dist/types/autosuggestions-config/index.mjs +258 -10
  182. package/dist/types/autosuggestions-config/index.mjs.map +1 -1
  183. package/dist/types/autosuggestions-config/insertions-api-config.d.mts +15 -0
  184. package/dist/types/autosuggestions-config/insertions-api-config.d.ts +1 -1
  185. package/dist/types/autosuggestions-config/insertions-api-config.js.map +1 -1
  186. package/dist/types/autosuggestions-config/insertions-api-config.mjs +68 -6
  187. package/dist/types/autosuggestions-config/insertions-api-config.mjs.map +1 -1
  188. package/dist/types/autosuggestions-config/subtypes/make-system-prompt.d.mts +3 -0
  189. package/dist/types/autosuggestions-config/subtypes/make-system-prompt.d.ts +1 -1
  190. package/dist/types/autosuggestions-config/suggestions-api-config.d.mts +14 -0
  191. package/dist/types/autosuggestions-config/suggestions-api-config.d.ts +1 -1
  192. package/dist/types/autosuggestions-config/suggestions-api-config.js.map +1 -1
  193. package/dist/types/autosuggestions-config/suggestions-api-config.mjs +56 -6
  194. package/dist/types/autosuggestions-config/suggestions-api-config.mjs.map +1 -1
  195. package/dist/types/base/autosuggestion-state.d.mts +8 -0
  196. package/dist/types/base/autosuggestion-state.d.ts +1 -1
  197. package/dist/types/base/autosuggestions-bare-function.d.mts +19 -0
  198. package/dist/types/base/autosuggestions-bare-function.d.ts +1 -1
  199. package/dist/types/base/base-autosuggestions-config.d.mts +83 -0
  200. package/dist/types/base/base-autosuggestions-config.d.ts +1 -1
  201. package/dist/types/base/base-autosuggestions-config.mjs +25 -4
  202. package/dist/types/base/base-autosuggestions-config.mjs.map +1 -1
  203. package/dist/types/base/base-copilot-textarea-props.d.mts +5 -0
  204. package/dist/types/base/custom-editor.d.mts +29 -0
  205. package/dist/types/base/custom-editor.d.ts +1 -1
  206. package/dist/types/base/editor-autocomplete-state.d.mts +10 -0
  207. package/dist/types/base/editor-autocomplete-state.d.ts +1 -1
  208. package/dist/types/base/editor-autocomplete-state.mjs +9 -5
  209. package/dist/types/base/editor-autocomplete-state.mjs.map +1 -1
  210. package/dist/types/base/index.d.mts +54 -0
  211. package/dist/types/base/index.d.ts +1 -1
  212. package/dist/types/base/index.mjs +25 -5
  213. package/dist/types/base/index.mjs.map +1 -1
  214. package/dist/types/html-copilot-textarea-element.d.mts +7 -0
  215. package/dist/types/html-copilot-textarea-element.d.ts +1 -1
  216. package/dist/types/html-copilot-textarea-element.mjs +0 -1
  217. package/dist/types/index.d.mts +13 -0
  218. package/dist/types/index.js.map +1 -1
  219. package/dist/types/index.mjs +258 -14
  220. package/dist/types/index.mjs.map +1 -1
  221. package/package.json +17 -11
  222. package/src/components/base-copilot-textarea/base-copilot-textarea.tsx +0 -1
  223. package/src/components/copilot-textarea/copilot-textarea.tsx +1 -7
  224. package/src/components/hovering-toolbar/hovering-toolbar-components.tsx +0 -17
  225. package/src/components/hovering-toolbar/text-insertion-prompt-box/hovering-insertion-prompt-box-core.tsx +4 -7
  226. package/src/hooks/make-autosuggestions-function/use-make-standard-autosuggestions-function.tsx +2 -2
  227. package/src/hooks/make-autosuggestions-function/use-make-standard-insertion-function.tsx +2 -3
  228. package/src/styles.css +9 -2
  229. package/tsup.config.ts +63 -15
  230. package/dist/chunk-224UKA7C.mjs +0 -38
  231. package/dist/chunk-224UKA7C.mjs.map +0 -1
  232. package/dist/chunk-23Q6A46J.mjs +0 -103
  233. package/dist/chunk-23Q6A46J.mjs.map +0 -1
  234. package/dist/chunk-2C7O2EVM.mjs +0 -27
  235. package/dist/chunk-2C7O2EVM.mjs.map +0 -1
  236. package/dist/chunk-2QDCE7PD.mjs +0 -32
  237. package/dist/chunk-2QDCE7PD.mjs.map +0 -1
  238. package/dist/chunk-2XDYLKPH.mjs +0 -181
  239. package/dist/chunk-2XDYLKPH.mjs.map +0 -1
  240. package/dist/chunk-3PQ7GSFE.mjs +0 -17
  241. package/dist/chunk-3PQ7GSFE.mjs.map +0 -1
  242. package/dist/chunk-4AMCUMC7.mjs +0 -124
  243. package/dist/chunk-4AMCUMC7.mjs.map +0 -1
  244. package/dist/chunk-4CVSOOJY.mjs +0 -30
  245. package/dist/chunk-4CVSOOJY.mjs.map +0 -1
  246. package/dist/chunk-4NHVQZ67.mjs +0 -108
  247. package/dist/chunk-4NHVQZ67.mjs.map +0 -1
  248. package/dist/chunk-4PDYALMP.mjs +0 -52
  249. package/dist/chunk-4PDYALMP.mjs.map +0 -1
  250. package/dist/chunk-5UNJXFUO.mjs +0 -29
  251. package/dist/chunk-5UNJXFUO.mjs.map +0 -1
  252. package/dist/chunk-7LSRNPNI.mjs +0 -59
  253. package/dist/chunk-7LSRNPNI.mjs.map +0 -1
  254. package/dist/chunk-AJ5OMEXM.mjs +0 -13
  255. package/dist/chunk-AJ5OMEXM.mjs.map +0 -1
  256. package/dist/chunk-CF5GISTC.mjs +0 -113
  257. package/dist/chunk-CF5GISTC.mjs.map +0 -1
  258. package/dist/chunk-D2SUDM2O.mjs +0 -99
  259. package/dist/chunk-D2SUDM2O.mjs.map +0 -1
  260. package/dist/chunk-D47EKHIF.mjs +0 -26
  261. package/dist/chunk-D47EKHIF.mjs.map +0 -1
  262. package/dist/chunk-DE5K76I2.mjs +0 -1
  263. package/dist/chunk-DE5K76I2.mjs.map +0 -1
  264. package/dist/chunk-DFTV4TST.mjs +0 -36
  265. package/dist/chunk-DFTV4TST.mjs.map +0 -1
  266. package/dist/chunk-DRV2FOHZ.mjs +0 -70
  267. package/dist/chunk-DRV2FOHZ.mjs.map +0 -1
  268. package/dist/chunk-ECR45NSD.mjs +0 -104
  269. package/dist/chunk-ECR45NSD.mjs.map +0 -1
  270. package/dist/chunk-EJGGLWWR.mjs +0 -82
  271. package/dist/chunk-EJGGLWWR.mjs.map +0 -1
  272. package/dist/chunk-GQN2HYFJ.mjs +0 -22
  273. package/dist/chunk-GQN2HYFJ.mjs.map +0 -1
  274. package/dist/chunk-H4VKQGVU.mjs +0 -1
  275. package/dist/chunk-H4VKQGVU.mjs.map +0 -1
  276. package/dist/chunk-HL7EF7KA.mjs +0 -32
  277. package/dist/chunk-HL7EF7KA.mjs.map +0 -1
  278. package/dist/chunk-I3SPIGAI.mjs +0 -31
  279. package/dist/chunk-I3SPIGAI.mjs.map +0 -1
  280. package/dist/chunk-I72DKFHD.mjs +0 -114
  281. package/dist/chunk-I72DKFHD.mjs.map +0 -1
  282. package/dist/chunk-IU3WTXLQ.mjs +0 -1
  283. package/dist/chunk-IU3WTXLQ.mjs.map +0 -1
  284. package/dist/chunk-J62KUPFZ.mjs +0 -264
  285. package/dist/chunk-J62KUPFZ.mjs.map +0 -1
  286. package/dist/chunk-KMVGEY7Q.mjs +0 -51
  287. package/dist/chunk-KMVGEY7Q.mjs.map +0 -1
  288. package/dist/chunk-KNQIEOFP.mjs +0 -19
  289. package/dist/chunk-KNQIEOFP.mjs.map +0 -1
  290. package/dist/chunk-L7VVZH4Q.mjs +0 -1
  291. package/dist/chunk-L7VVZH4Q.mjs.map +0 -1
  292. package/dist/chunk-LQ2OWQU7.mjs +0 -49
  293. package/dist/chunk-LQ2OWQU7.mjs.map +0 -1
  294. package/dist/chunk-LYB4B6MK.mjs +0 -19
  295. package/dist/chunk-LYB4B6MK.mjs.map +0 -1
  296. package/dist/chunk-MCNXIA4Q.mjs +0 -75
  297. package/dist/chunk-MCNXIA4Q.mjs.map +0 -1
  298. package/dist/chunk-MMVDU6DF.mjs +0 -1
  299. package/dist/chunk-MMVDU6DF.mjs.map +0 -1
  300. package/dist/chunk-MRXNTQOX.mjs +0 -59
  301. package/dist/chunk-MRXNTQOX.mjs.map +0 -1
  302. package/dist/chunk-OFPAO25A.mjs +0 -60
  303. package/dist/chunk-OFPAO25A.mjs.map +0 -1
  304. package/dist/chunk-QJNFNPWH.mjs +0 -85
  305. package/dist/chunk-QJNFNPWH.mjs.map +0 -1
  306. package/dist/chunk-RUV6NBIF.mjs +0 -1
  307. package/dist/chunk-RUV6NBIF.mjs.map +0 -1
  308. package/dist/chunk-SDHH6DI6.mjs +0 -63
  309. package/dist/chunk-SDHH6DI6.mjs.map +0 -1
  310. package/dist/chunk-T6MTDQZ7.mjs +0 -45
  311. package/dist/chunk-T6MTDQZ7.mjs.map +0 -1
  312. package/dist/chunk-UGEKMSRR.mjs +0 -225
  313. package/dist/chunk-UGEKMSRR.mjs.map +0 -1
  314. package/dist/chunk-VSVQZUPW.mjs +0 -124
  315. package/dist/chunk-VSVQZUPW.mjs.map +0 -1
  316. package/dist/chunk-WADHCMPK.mjs +0 -1
  317. package/dist/chunk-WADHCMPK.mjs.map +0 -1
  318. package/dist/chunk-WGWQRALG.mjs +0 -83
  319. package/dist/chunk-WGWQRALG.mjs.map +0 -1
  320. package/dist/chunk-WJHSY5T6.mjs +0 -1
  321. package/dist/chunk-WJHSY5T6.mjs.map +0 -1
  322. package/dist/chunk-XW3ICO4S.mjs +0 -25
  323. package/dist/chunk-XW3ICO4S.mjs.map +0 -1
  324. package/dist/chunk-YLFAIYRY.mjs +0 -50
  325. package/dist/chunk-YLFAIYRY.mjs.map +0 -1
  326. package/dist/components/base-copilot-textarea/base-copilot-textarea.css +0 -9
  327. package/dist/components/base-copilot-textarea/base-copilot-textarea.css.map +0 -1
  328. package/dist/components/copilot-textarea/copilot-textarea.css +0 -9
  329. package/dist/components/copilot-textarea/copilot-textarea.css.map +0 -1
  330. package/dist/components/hovering-toolbar/text-insertion-prompt-box/included-files-preview.d.ts +0 -16
  331. package/dist/components/hovering-toolbar/text-insertion-prompt-box/included-files-preview.js +0 -133
  332. package/dist/components/hovering-toolbar/text-insertion-prompt-box/included-files-preview.js.map +0 -1
  333. package/dist/components/hovering-toolbar/text-insertion-prompt-box/included-files-preview.mjs +0 -12
  334. package/dist/components/hovering-toolbar/text-insertion-prompt-box/included-files-preview.mjs.map +0 -1
  335. package/dist/components/index.css +0 -9
  336. package/dist/components/index.css.map +0 -1
  337. package/dist/index.css.map +0 -1
  338. package/src/components/base-copilot-textarea/base-copilot-textarea.css +0 -9
  339. package/src/components/hovering-toolbar/text-insertion-prompt-box/included-files-preview.tsx +0 -55
@@ -1,10 +1,99 @@
1
- import {
2
- extractTextWithNewlines,
3
- getFullEditorTextWithNewlines,
4
- getTextAroundCollapsedCursor,
5
- getTextAroundSelection
6
- } from "../chunk-ECR45NSD.mjs";
7
- import "../chunk-MRXNTQOX.mjs";
1
+ // src/lib/get-text-around-cursor.ts
2
+ import { Editor, Path, Range, Text, Element, Point } from "slate";
3
+ function getTextAroundCollapsedCursor(editor) {
4
+ const { selection } = editor;
5
+ if (!selection || !Range.isCollapsed(selection)) {
6
+ return null;
7
+ }
8
+ const cursorPoint = selection.anchor;
9
+ const beforeRange = {
10
+ anchor: Editor.start(editor, []),
11
+ focus: cursorPoint
12
+ };
13
+ const afterRange = {
14
+ anchor: cursorPoint,
15
+ focus: Editor.end(editor, [])
16
+ };
17
+ const before = extractTextWithNewlines(editor, beforeRange);
18
+ const after = extractTextWithNewlines(editor, afterRange);
19
+ return {
20
+ cursorPoint,
21
+ textBeforeCursor: before,
22
+ textAfterCursor: after
23
+ };
24
+ }
25
+ function getTextAroundSelection(editor) {
26
+ const { selection } = editor;
27
+ if (!selection) {
28
+ return null;
29
+ }
30
+ const wellOrderedSelection = wellOrderedRange(selection);
31
+ const beforeRange = {
32
+ anchor: Editor.start(editor, []),
33
+ focus: wellOrderedSelection.anchor
34
+ };
35
+ const afterRange = {
36
+ anchor: wellOrderedSelection.focus,
37
+ focus: Editor.end(editor, [])
38
+ };
39
+ const before = extractTextWithNewlines(editor, beforeRange);
40
+ const after = extractTextWithNewlines(editor, afterRange);
41
+ const selectedText = extractTextWithNewlines(editor, wellOrderedSelection);
42
+ return {
43
+ selection: wellOrderedSelection,
44
+ textBeforeCursor: before,
45
+ selectedText,
46
+ textAfterCursor: after
47
+ };
48
+ }
49
+ function getFullEditorTextWithNewlines(editor) {
50
+ const fullDocumentRange = {
51
+ anchor: Editor.start(editor, []),
52
+ focus: Editor.end(editor, [])
53
+ };
54
+ return extractTextWithNewlines(editor, fullDocumentRange);
55
+ }
56
+ function extractTextWithNewlines(editor, range) {
57
+ const voids = false;
58
+ const [start, end] = Range.edges(range);
59
+ let text = "";
60
+ let lastBlock = null;
61
+ for (const [node, path] of Editor.nodes(editor, {
62
+ at: range,
63
+ match: Text.isText,
64
+ voids
65
+ })) {
66
+ let t = node.text;
67
+ const [block] = Editor.above(editor, {
68
+ at: path,
69
+ match: (n) => Element.isElement(n) && n.type === "paragraph"
70
+ }) || [null];
71
+ if (lastBlock !== block && block) {
72
+ if (lastBlock) {
73
+ text += "\n";
74
+ }
75
+ lastBlock = block;
76
+ }
77
+ if (Path.equals(path, end.path)) {
78
+ t = t.slice(0, end.offset);
79
+ }
80
+ if (Path.equals(path, start.path)) {
81
+ t = t.slice(start.offset);
82
+ }
83
+ text += t;
84
+ }
85
+ return text;
86
+ }
87
+ function wellOrderedRange(range) {
88
+ const { anchor, focus } = range;
89
+ if (Point.isBefore(anchor, focus)) {
90
+ return range;
91
+ }
92
+ return {
93
+ anchor: focus,
94
+ focus: anchor
95
+ };
96
+ }
8
97
  export {
9
98
  extractTextWithNewlines,
10
99
  getFullEditorTextWithNewlines,
@@ -1 +1 @@
1
- {"version":3,"sources":[],"sourcesContent":[],"mappings":"","names":[]}
1
+ {"version":3,"sources":["../../src/lib/get-text-around-cursor.ts"],"sourcesContent":["import { Editor, Node, Path, Range, Text, Element, BasePoint, BaseRange, Point } from \"slate\";\nimport { EditorAutocompleteState } from \"../types/base/editor-autocomplete-state\";\n\nexport interface EditorTextState {\n selection: BaseRange;\n\n textBeforeCursor: string;\n selectedText: string;\n textAfterCursor: string;\n}\n\nexport function getTextAroundCollapsedCursor(editor: Editor): EditorAutocompleteState | null {\n const { selection } = editor;\n if (!selection || !Range.isCollapsed(selection)) {\n return null;\n }\n\n const cursorPoint = selection.anchor;\n\n // Create two ranges: one before the anchor and one after\n const beforeRange: Range = {\n anchor: Editor.start(editor, []),\n focus: cursorPoint,\n };\n const afterRange: Range = {\n anchor: cursorPoint,\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: cursorPoint,\n textBeforeCursor: before,\n textAfterCursor: after,\n };\n}\n\nexport function getTextAroundSelection(editor: Editor): EditorTextState | null {\n const { selection } = editor;\n if (!selection) {\n return null;\n }\n\n const wellOrderedSelection = wellOrderedRange(selection);\n\n // Create two ranges: one before the anchor and one after\n const beforeRange: Range = {\n anchor: Editor.start(editor, []),\n focus: wellOrderedSelection.anchor,\n };\n const afterRange: Range = {\n anchor: wellOrderedSelection.focus,\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 const selectedText = extractTextWithNewlines(editor, wellOrderedSelection);\n\n return {\n selection: wellOrderedSelection,\n textBeforeCursor: before,\n selectedText,\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\nfunction wellOrderedRange(range: BaseRange): BaseRange {\n const { anchor, focus } = range;\n // if anchor is before focus, return range as is\n if (Point.isBefore(anchor, focus)) {\n return range;\n }\n\n // if focus is before anchor, return range with anchor and focus swapped\n return {\n anchor: focus,\n focus: anchor,\n };\n}\n"],"mappings":";AAAA,SAAS,QAAc,MAAM,OAAO,MAAM,SAA+B,aAAa;AAW/E,SAAS,6BAA6B,QAAgD;AAC3F,QAAM,EAAE,UAAU,IAAI;AACtB,MAAI,CAAC,aAAa,CAAC,MAAM,YAAY,SAAS,GAAG;AAC/C,WAAO;AAAA,EACT;AAEA,QAAM,cAAc,UAAU;AAG9B,QAAM,cAAqB;AAAA,IACzB,QAAQ,OAAO,MAAM,QAAQ,CAAC,CAAC;AAAA,IAC/B,OAAO;AAAA,EACT;AACA,QAAM,aAAoB;AAAA,IACxB,QAAQ;AAAA,IACR,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,IACA,kBAAkB;AAAA,IAClB,iBAAiB;AAAA,EACnB;AACF;AAEO,SAAS,uBAAuB,QAAwC;AAC7E,QAAM,EAAE,UAAU,IAAI;AACtB,MAAI,CAAC,WAAW;AACd,WAAO;AAAA,EACT;AAEA,QAAM,uBAAuB,iBAAiB,SAAS;AAGvD,QAAM,cAAqB;AAAA,IACzB,QAAQ,OAAO,MAAM,QAAQ,CAAC,CAAC;AAAA,IAC/B,OAAO,qBAAqB;AAAA,EAC9B;AACA,QAAM,aAAoB;AAAA,IACxB,QAAQ,qBAAqB;AAAA,IAC7B,OAAO,OAAO,IAAI,QAAQ,CAAC,CAAC;AAAA,EAC9B;AAGA,QAAM,SAAS,wBAAwB,QAAQ,WAAW;AAC1D,QAAM,QAAQ,wBAAwB,QAAQ,UAAU;AACxD,QAAM,eAAe,wBAAwB,QAAQ,oBAAoB;AAEzE,SAAO;AAAA,IACL,WAAW;AAAA,IACX,kBAAkB;AAAA,IAClB;AAAA,IACA,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;AAEA,SAAS,iBAAiB,OAA6B;AACrD,QAAM,EAAE,QAAQ,MAAM,IAAI;AAE1B,MAAI,MAAM,SAAS,QAAQ,KAAK,GAAG;AACjC,WAAO;AAAA,EACT;AAGA,SAAO;AAAA,IACL,QAAQ;AAAA,IACR,OAAO;AAAA,EACT;AACF;","names":[]}
@@ -0,0 +1,3 @@
1
+ declare function retry<T>(fn: () => Promise<T>, retriesLeft?: number, interval?: number, backoff?: number): Promise<T>;
2
+
3
+ export { retry };
@@ -1,7 +1,17 @@
1
- import {
2
- retry
3
- } from "../chunk-KNQIEOFP.mjs";
4
- import "../chunk-MRXNTQOX.mjs";
1
+ // src/lib/retry.tsx
2
+ function retry(fn, retriesLeft = 2, interval = 200, backoff = 1.5) {
3
+ return new Promise((resolve, reject) => {
4
+ fn().then(resolve).catch((error) => {
5
+ if (retriesLeft === 1) {
6
+ reject(error);
7
+ return;
8
+ }
9
+ setTimeout(() => {
10
+ retry(fn, retriesLeft - 1, interval * backoff, backoff).then(resolve).catch(reject);
11
+ }, interval);
12
+ });
13
+ });
14
+ }
5
15
  export {
6
16
  retry
7
17
  };
@@ -1 +1 @@
1
- {"version":3,"sources":[],"sourcesContent":[],"mappings":"","names":[]}
1
+ {"version":3,"sources":["../../src/lib/retry.tsx"],"sourcesContent":["export function retry<T>(\n fn: () => Promise<T>,\n retriesLeft: number = 2,\n interval: number = 200,\n backoff: number = 1.5,\n): Promise<T> {\n return new Promise((resolve, reject) => {\n fn()\n .then(resolve)\n .catch((error) => {\n if (retriesLeft === 1) {\n reject(error);\n return;\n }\n\n setTimeout(() => {\n retry(fn, retriesLeft - 1, interval * backoff, backoff)\n .then(resolve)\n .catch(reject);\n }, interval);\n });\n });\n}\n"],"mappings":";AAAO,SAAS,MACd,IACA,cAAsB,GACtB,WAAmB,KACnB,UAAkB,KACN;AACZ,SAAO,IAAI,QAAQ,CAAC,SAAS,WAAW;AACtC,OAAG,EACA,KAAK,OAAO,EACZ,MAAM,CAAC,UAAU;AAChB,UAAI,gBAAgB,GAAG;AACrB,eAAO,KAAK;AACZ;AAAA,MACF;AAEA,iBAAW,MAAM;AACf,cAAM,IAAI,cAAc,GAAG,WAAW,SAAS,OAAO,EACnD,KAAK,OAAO,EACZ,MAAM,MAAM;AAAA,MACjB,GAAG,QAAQ;AAAA,IACb,CAAC;AAAA,EACL,CAAC;AACH;","names":[]}
@@ -0,0 +1,8 @@
1
+ import { BasePoint } from 'slate';
2
+ import { CustomEditor } from '../../types/base/custom-editor.mjs';
3
+ import 'slate-react';
4
+ import 'slate-history';
5
+
6
+ declare function addAutocompletionsToEditor(editor: CustomEditor, newSuggestion: string, point: BasePoint): void;
7
+
8
+ export { addAutocompletionsToEditor };
@@ -1,7 +1,25 @@
1
- import {
2
- addAutocompletionsToEditor
3
- } from "../../chunk-2C7O2EVM.mjs";
4
- import "../../chunk-MRXNTQOX.mjs";
1
+ // src/lib/slatejs-edits/add-autocompletions.ts
2
+ import { Transforms } from "slate";
3
+ function addAutocompletionsToEditor(editor, newSuggestion, point) {
4
+ const editorPosition = editor.selection;
5
+ Transforms.insertNodes(
6
+ editor,
7
+ [
8
+ {
9
+ type: "suggestion",
10
+ inline: true,
11
+ content: newSuggestion,
12
+ children: [{ text: "" }]
13
+ }
14
+ ],
15
+ {
16
+ at: point
17
+ }
18
+ );
19
+ if (editorPosition) {
20
+ editor.selection = editorPosition;
21
+ }
22
+ }
5
23
  export {
6
24
  addAutocompletionsToEditor
7
25
  };
@@ -1 +1 @@
1
- {"version":3,"sources":[],"sourcesContent":[],"mappings":"","names":[]}
1
+ {"version":3,"sources":["../../../src/lib/slatejs-edits/add-autocompletions.ts"],"sourcesContent":["import { BasePoint, Transforms } from \"slate\";\nimport { CustomEditor } from \"../../types/base/custom-editor\";\n\nexport function addAutocompletionsToEditor(\n editor: CustomEditor,\n newSuggestion: string,\n point: BasePoint,\n) {\n const editorPosition = editor.selection;\n\n Transforms.insertNodes(\n editor,\n [\n {\n type: \"suggestion\",\n inline: true,\n content: newSuggestion,\n children: [{ text: \"\" }],\n },\n ],\n {\n at: point,\n },\n );\n\n // restore cursor position\n if (editorPosition) {\n editor.selection = editorPosition;\n }\n}\n"],"mappings":";AAAA,SAAoB,kBAAkB;AAG/B,SAAS,2BACd,QACA,eACA,OACA;AACA,QAAM,iBAAiB,OAAO;AAE9B,aAAW;AAAA,IACT;AAAA,IACA;AAAA,MACE;AAAA,QACE,MAAM;AAAA,QACN,QAAQ;AAAA,QACR,SAAS;AAAA,QACT,UAAU,CAAC,EAAE,MAAM,GAAG,CAAC;AAAA,MACzB;AAAA,IACF;AAAA,IACA;AAAA,MACE,IAAI;AAAA,IACN;AAAA,EACF;AAGA,MAAI,gBAAgB;AAClB,WAAO,YAAY;AAAA,EACrB;AACF;","names":[]}
@@ -0,0 +1,8 @@
1
+ import { CustomEditor } from '../../types/base/custom-editor.mjs';
2
+ import 'slate';
3
+ import 'slate-react';
4
+ import 'slate-history';
5
+
6
+ declare function clearAutocompletionsFromEditor(editor: CustomEditor): void;
7
+
8
+ export { clearAutocompletionsFromEditor };
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/lib/slatejs-edits/clear-autocompletions.ts"],"sourcesContent":["import { Element, Node, Path, 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 try {\n Transforms.removeNodes(editor, { at: path });\n } catch (e) {\n console.log(\"CopilotTextarea.clearAutocompletionsFromEditor: error removing node\", e);\n }\n }\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,mBAAgD;AAGzC,SAAS,+BAA+B,QAAsB;AAEnE,QAAM,QAAgB,CAAC;AACvB,aAAW,CAAC,MAAM,IAAI,KAAK,kBAAK,MAAM,MAAM,GAAG;AAC7C,QAAI,qBAAQ,UAAU,IAAI,KAAK,KAAK,SAAS,cAAc;AACzD,YAAM,KAAK,IAAI;AAAA,IACjB;AAAA,EACF;AACA,aAAW,QAAQ,OAAO;AACxB,QAAI;AACF,8BAAW,YAAY,QAAQ,EAAE,IAAI,KAAK,CAAC;AAAA,IAC7C,SAAS,GAAP;AACA,cAAQ,IAAI,uEAAuE,CAAC;AAAA,IACtF;AAAA,EACF;AACF;","names":[]}
1
+ {"version":3,"sources":["../../../src/lib/slatejs-edits/clear-autocompletions.ts"],"sourcesContent":["import { Element, Node, Path, 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 try {\n Transforms.removeNodes(editor, { at: path });\n } catch (e) {\n console.log(\"CopilotTextarea.clearAutocompletionsFromEditor: error removing node\", e);\n }\n }\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,mBAAgD;AAGzC,SAAS,+BAA+B,QAAsB;AAEnE,QAAM,QAAgB,CAAC;AACvB,aAAW,CAAC,MAAM,IAAI,KAAK,kBAAK,MAAM,MAAM,GAAG;AAC7C,QAAI,qBAAQ,UAAU,IAAI,KAAK,KAAK,SAAS,cAAc;AACzD,YAAM,KAAK,IAAI;AAAA,IACjB;AAAA,EACF;AACA,aAAW,QAAQ,OAAO;AACxB,QAAI;AACF,8BAAW,YAAY,QAAQ,EAAE,IAAI,KAAK,CAAC;AAAA,IAC7C,SAAS,GAAG;AACV,cAAQ,IAAI,uEAAuE,CAAC;AAAA,IACtF;AAAA,EACF;AACF;","names":[]}
@@ -1,7 +1,20 @@
1
- import {
2
- clearAutocompletionsFromEditor
3
- } from "../../chunk-GQN2HYFJ.mjs";
4
- import "../../chunk-MRXNTQOX.mjs";
1
+ // src/lib/slatejs-edits/clear-autocompletions.ts
2
+ import { Element, Node, Transforms } from "slate";
3
+ function clearAutocompletionsFromEditor(editor) {
4
+ const paths = [];
5
+ for (const [node, path] of Node.nodes(editor)) {
6
+ if (Element.isElement(node) && node.type === "suggestion") {
7
+ paths.push(path);
8
+ }
9
+ }
10
+ for (const path of paths) {
11
+ try {
12
+ Transforms.removeNodes(editor, { at: path });
13
+ } catch (e) {
14
+ console.log("CopilotTextarea.clearAutocompletionsFromEditor: error removing node", e);
15
+ }
16
+ }
17
+ }
5
18
  export {
6
19
  clearAutocompletionsFromEditor
7
20
  };
@@ -1 +1 @@
1
- {"version":3,"sources":[],"sourcesContent":[],"mappings":"","names":[]}
1
+ {"version":3,"sources":["../../../src/lib/slatejs-edits/clear-autocompletions.ts"],"sourcesContent":["import { Element, Node, Path, 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 try {\n Transforms.removeNodes(editor, { at: path });\n } catch (e) {\n console.log(\"CopilotTextarea.clearAutocompletionsFromEditor: error removing node\", e);\n }\n }\n}\n"],"mappings":";AAAA,SAAS,SAAS,MAAY,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,QAAI;AACF,iBAAW,YAAY,QAAQ,EAAE,IAAI,KAAK,CAAC;AAAA,IAC7C,SAAS,GAAG;AACV,cAAQ,IAAI,uEAAuE,CAAC;AAAA,IACtF;AAAA,EACF;AACF;","names":[]}
@@ -0,0 +1,5 @@
1
+ import { Editor } from 'slate';
2
+
3
+ declare function replaceEditorText(editor: Editor, newText: string): void;
4
+
5
+ export { replaceEditorText };
@@ -1,7 +1,27 @@
1
- import {
2
- replaceEditorText
3
- } from "../../chunk-5UNJXFUO.mjs";
4
- import "../../chunk-MRXNTQOX.mjs";
1
+ // src/lib/slatejs-edits/replace-text.ts
2
+ import { Editor, Transforms } from "slate";
3
+ function replaceEditorText(editor, newText) {
4
+ Transforms.delete(editor, {
5
+ at: {
6
+ anchor: Editor.start(editor, []),
7
+ focus: Editor.end(editor, [])
8
+ }
9
+ });
10
+ if (newText && newText !== "") {
11
+ Transforms.insertNodes(
12
+ editor,
13
+ [
14
+ {
15
+ type: "paragraph",
16
+ children: [{ text: newText }]
17
+ }
18
+ ],
19
+ {
20
+ at: [0]
21
+ }
22
+ );
23
+ }
24
+ }
5
25
  export {
6
26
  replaceEditorText
7
27
  };
@@ -1 +1 @@
1
- {"version":3,"sources":[],"sourcesContent":[],"mappings":"","names":[]}
1
+ {"version":3,"sources":["../../../src/lib/slatejs-edits/replace-text.ts"],"sourcesContent":["import { Editor, Transforms } from \"slate\";\n\nexport function replaceEditorText(editor: Editor, newText: string) {\n // clear all previous text\n Transforms.delete(editor, {\n at: {\n anchor: Editor.start(editor, []),\n focus: Editor.end(editor, []),\n },\n });\n\n // insert new text\n if (newText && newText !== \"\") {\n // don't insert empty text - results in strange visual behavior\n Transforms.insertNodes(\n editor,\n [\n {\n type: \"paragraph\",\n children: [{ text: newText }],\n },\n ],\n {\n at: [0],\n },\n );\n }\n}\n"],"mappings":";AAAA,SAAS,QAAQ,kBAAkB;AAE5B,SAAS,kBAAkB,QAAgB,SAAiB;AAEjE,aAAW,OAAO,QAAQ;AAAA,IACxB,IAAI;AAAA,MACF,QAAQ,OAAO,MAAM,QAAQ,CAAC,CAAC;AAAA,MAC/B,OAAO,OAAO,IAAI,QAAQ,CAAC,CAAC;AAAA,IAC9B;AAAA,EACF,CAAC;AAGD,MAAI,WAAW,YAAY,IAAI;AAE7B,eAAW;AAAA,MACT;AAAA,MACA;AAAA,QACE;AAAA,UACE,MAAM;AAAA,UACN,UAAU,CAAC,EAAE,MAAM,QAAQ,CAAC;AAAA,QAC9B;AAAA,MACF;AAAA,MACA;AAAA,QACE,IAAI,CAAC,CAAC;AAAA,MACR;AAAA,IACF;AAAA,EACF;AACF;","names":[]}
@@ -0,0 +1,8 @@
1
+ import { Operation, Editor } from 'slate';
2
+ import { HistoryEditor } from 'slate-history';
3
+
4
+ type ShouldSaveToHistory = (op: Operation, prev: Operation | undefined) => boolean;
5
+ declare const withPartialHistory: <T extends Editor>(editor: T, shouldSave: ShouldSaveToHistory) => T & HistoryEditor;
6
+ declare const defaultShouldSave: (op: Operation, prev: Operation | undefined) => boolean;
7
+
8
+ export { type ShouldSaveToHistory, defaultShouldSave, withPartialHistory };
@@ -5,4 +5,4 @@ type ShouldSaveToHistory = (op: Operation, prev: Operation | undefined) => boole
5
5
  declare const withPartialHistory: <T extends Editor>(editor: T, shouldSave: ShouldSaveToHistory) => T & HistoryEditor;
6
6
  declare const defaultShouldSave: (op: Operation, prev: Operation | undefined) => boolean;
7
7
 
8
- export { ShouldSaveToHistory, defaultShouldSave, withPartialHistory };
8
+ export { type ShouldSaveToHistory, defaultShouldSave, withPartialHistory };
@@ -1,8 +1,105 @@
1
- import {
2
- defaultShouldSave,
3
- withPartialHistory
4
- } from "../../chunk-4NHVQZ67.mjs";
5
- import "../../chunk-MRXNTQOX.mjs";
1
+ // src/lib/slatejs-edits/with-partial-history.ts
2
+ import { Editor, Operation, Path, Transforms } from "slate";
3
+ import { HistoryEditor } from "slate-history";
4
+ var withPartialHistory = (editor, shouldSave) => {
5
+ const e = editor;
6
+ const { apply } = e;
7
+ e.history = { undos: [], redos: [] };
8
+ e.redo = () => {
9
+ const { history } = e;
10
+ const { redos } = history;
11
+ if (redos.length > 0) {
12
+ const batch = redos[redos.length - 1];
13
+ if (batch.selectionBefore) {
14
+ Transforms.setSelection(e, batch.selectionBefore);
15
+ }
16
+ HistoryEditor.withoutSaving(e, () => {
17
+ Editor.withoutNormalizing(e, () => {
18
+ for (const op of batch.operations) {
19
+ e.apply(op);
20
+ }
21
+ });
22
+ });
23
+ history.redos.pop();
24
+ e.writeHistory("undos", batch);
25
+ }
26
+ };
27
+ e.undo = () => {
28
+ const { history } = e;
29
+ const { undos } = history;
30
+ if (undos.length > 0) {
31
+ const batch = undos[undos.length - 1];
32
+ HistoryEditor.withoutSaving(e, () => {
33
+ Editor.withoutNormalizing(e, () => {
34
+ const inverseOps = batch.operations.map(Operation.inverse).reverse();
35
+ for (const op of inverseOps) {
36
+ e.apply(op);
37
+ }
38
+ if (batch.selectionBefore) {
39
+ Transforms.setSelection(e, batch.selectionBefore);
40
+ }
41
+ });
42
+ });
43
+ e.writeHistory("redos", batch);
44
+ history.undos.pop();
45
+ }
46
+ };
47
+ e.apply = (op) => {
48
+ const { operations, history } = e;
49
+ const { undos } = history;
50
+ const lastBatch = undos[undos.length - 1];
51
+ const lastOp = lastBatch && lastBatch.operations[lastBatch.operations.length - 1];
52
+ let save = HistoryEditor.isSaving(e);
53
+ let merge = HistoryEditor.isMerging(e);
54
+ if (save == null) {
55
+ save = shouldSave(op, lastOp);
56
+ }
57
+ if (save) {
58
+ if (merge == null) {
59
+ if (lastBatch == null) {
60
+ merge = false;
61
+ } else if (operations.length !== 0) {
62
+ merge = true;
63
+ } else {
64
+ merge = shouldMerge(op, lastOp);
65
+ }
66
+ }
67
+ if (lastBatch && merge) {
68
+ lastBatch.operations.push(op);
69
+ } else {
70
+ const batch = {
71
+ operations: [op],
72
+ selectionBefore: e.selection
73
+ };
74
+ e.writeHistory("undos", batch);
75
+ }
76
+ while (undos.length > 100) {
77
+ undos.shift();
78
+ }
79
+ history.redos = [];
80
+ }
81
+ apply(op);
82
+ };
83
+ e.writeHistory = (stack, batch) => {
84
+ e.history[stack].push(batch);
85
+ };
86
+ return e;
87
+ };
88
+ var shouldMerge = (op, prev) => {
89
+ if (prev && op.type === "insert_text" && prev.type === "insert_text" && op.offset === prev.offset + prev.text.length && Path.equals(op.path, prev.path)) {
90
+ return true;
91
+ }
92
+ if (prev && op.type === "remove_text" && prev.type === "remove_text" && op.offset + op.text.length === prev.offset && Path.equals(op.path, prev.path)) {
93
+ return true;
94
+ }
95
+ return false;
96
+ };
97
+ var defaultShouldSave = (op, prev) => {
98
+ if (op.type === "set_selection") {
99
+ return false;
100
+ }
101
+ return true;
102
+ };
6
103
  export {
7
104
  defaultShouldSave,
8
105
  withPartialHistory
@@ -1 +1 @@
1
- {"version":3,"sources":[],"sourcesContent":[],"mappings":"","names":[]}
1
+ {"version":3,"sources":["../../../src/lib/slatejs-edits/with-partial-history.ts"],"sourcesContent":["import { Editor, Operation, Path, Range, Transforms } from \"slate\";\nimport { HistoryEditor } from \"slate-history\";\n\n// Copy-pasted from `https://github.com/ianstormtaylor/slate/blob/main/packages/slate-history/src/with-history.ts`\n// With one exception: the `shouldSave` function is passed in as an argument to `withPartialHistory` instead of being hardcoded\nexport type ShouldSaveToHistory = (op: Operation, prev: Operation | undefined) => boolean;\n\nexport const withPartialHistory = <T extends Editor>(\n editor: T,\n shouldSave: ShouldSaveToHistory,\n) => {\n const e = editor as T & HistoryEditor;\n const { apply } = e;\n e.history = { undos: [], redos: [] };\n\n e.redo = () => {\n const { history } = e;\n const { redos } = history;\n\n if (redos.length > 0) {\n const batch = redos[redos.length - 1];\n\n if (batch.selectionBefore) {\n Transforms.setSelection(e, batch.selectionBefore);\n }\n\n HistoryEditor.withoutSaving(e, () => {\n Editor.withoutNormalizing(e, () => {\n for (const op of batch.operations) {\n e.apply(op);\n }\n });\n });\n\n history.redos.pop();\n e.writeHistory(\"undos\", batch);\n }\n };\n\n e.undo = () => {\n const { history } = e;\n const { undos } = history;\n\n if (undos.length > 0) {\n const batch = undos[undos.length - 1];\n\n HistoryEditor.withoutSaving(e, () => {\n Editor.withoutNormalizing(e, () => {\n const inverseOps = batch.operations.map(Operation.inverse).reverse();\n\n for (const op of inverseOps) {\n e.apply(op);\n }\n if (batch.selectionBefore) {\n Transforms.setSelection(e, batch.selectionBefore);\n }\n });\n });\n\n e.writeHistory(\"redos\", batch);\n history.undos.pop();\n }\n };\n\n e.apply = (op: Operation) => {\n const { operations, history } = e;\n const { undos } = history;\n const lastBatch = undos[undos.length - 1];\n const lastOp = lastBatch && lastBatch.operations[lastBatch.operations.length - 1];\n let save = HistoryEditor.isSaving(e);\n let merge = HistoryEditor.isMerging(e);\n\n if (save == null) {\n save = shouldSave(op, lastOp);\n }\n\n if (save) {\n if (merge == null) {\n if (lastBatch == null) {\n merge = false;\n } else if (operations.length !== 0) {\n merge = true;\n } else {\n merge = shouldMerge(op, lastOp);\n }\n }\n\n if (lastBatch && merge) {\n lastBatch.operations.push(op);\n } else {\n const batch = {\n operations: [op],\n selectionBefore: e.selection,\n };\n e.writeHistory(\"undos\", batch);\n }\n\n while (undos.length > 100) {\n undos.shift();\n }\n\n history.redos = [];\n }\n\n apply(op);\n };\n\n e.writeHistory = (stack: \"undos\" | \"redos\", batch: any) => {\n e.history[stack].push(batch);\n };\n\n return e;\n};\n\n/**\n * Check whether to merge an operation into the previous operation.\n */\n\nconst shouldMerge = (op: Operation, prev: Operation | undefined): boolean => {\n if (\n prev &&\n op.type === \"insert_text\" &&\n prev.type === \"insert_text\" &&\n op.offset === prev.offset + prev.text.length &&\n Path.equals(op.path, prev.path)\n ) {\n return true;\n }\n\n if (\n prev &&\n op.type === \"remove_text\" &&\n prev.type === \"remove_text\" &&\n op.offset + op.text.length === prev.offset &&\n Path.equals(op.path, prev.path)\n ) {\n return true;\n }\n\n return false;\n};\n\nexport const defaultShouldSave = (op: Operation, prev: Operation | undefined): boolean => {\n if (op.type === \"set_selection\") {\n return false;\n }\n\n return true;\n};\n"],"mappings":";AAAA,SAAS,QAAQ,WAAW,MAAa,kBAAkB;AAC3D,SAAS,qBAAqB;AAMvB,IAAM,qBAAqB,CAChC,QACA,eACG;AACH,QAAM,IAAI;AACV,QAAM,EAAE,MAAM,IAAI;AAClB,IAAE,UAAU,EAAE,OAAO,CAAC,GAAG,OAAO,CAAC,EAAE;AAEnC,IAAE,OAAO,MAAM;AACb,UAAM,EAAE,QAAQ,IAAI;AACpB,UAAM,EAAE,MAAM,IAAI;AAElB,QAAI,MAAM,SAAS,GAAG;AACpB,YAAM,QAAQ,MAAM,MAAM,SAAS,CAAC;AAEpC,UAAI,MAAM,iBAAiB;AACzB,mBAAW,aAAa,GAAG,MAAM,eAAe;AAAA,MAClD;AAEA,oBAAc,cAAc,GAAG,MAAM;AACnC,eAAO,mBAAmB,GAAG,MAAM;AACjC,qBAAW,MAAM,MAAM,YAAY;AACjC,cAAE,MAAM,EAAE;AAAA,UACZ;AAAA,QACF,CAAC;AAAA,MACH,CAAC;AAED,cAAQ,MAAM,IAAI;AAClB,QAAE,aAAa,SAAS,KAAK;AAAA,IAC/B;AAAA,EACF;AAEA,IAAE,OAAO,MAAM;AACb,UAAM,EAAE,QAAQ,IAAI;AACpB,UAAM,EAAE,MAAM,IAAI;AAElB,QAAI,MAAM,SAAS,GAAG;AACpB,YAAM,QAAQ,MAAM,MAAM,SAAS,CAAC;AAEpC,oBAAc,cAAc,GAAG,MAAM;AACnC,eAAO,mBAAmB,GAAG,MAAM;AACjC,gBAAM,aAAa,MAAM,WAAW,IAAI,UAAU,OAAO,EAAE,QAAQ;AAEnE,qBAAW,MAAM,YAAY;AAC3B,cAAE,MAAM,EAAE;AAAA,UACZ;AACA,cAAI,MAAM,iBAAiB;AACzB,uBAAW,aAAa,GAAG,MAAM,eAAe;AAAA,UAClD;AAAA,QACF,CAAC;AAAA,MACH,CAAC;AAED,QAAE,aAAa,SAAS,KAAK;AAC7B,cAAQ,MAAM,IAAI;AAAA,IACpB;AAAA,EACF;AAEA,IAAE,QAAQ,CAAC,OAAkB;AAC3B,UAAM,EAAE,YAAY,QAAQ,IAAI;AAChC,UAAM,EAAE,MAAM,IAAI;AAClB,UAAM,YAAY,MAAM,MAAM,SAAS,CAAC;AACxC,UAAM,SAAS,aAAa,UAAU,WAAW,UAAU,WAAW,SAAS,CAAC;AAChF,QAAI,OAAO,cAAc,SAAS,CAAC;AACnC,QAAI,QAAQ,cAAc,UAAU,CAAC;AAErC,QAAI,QAAQ,MAAM;AAChB,aAAO,WAAW,IAAI,MAAM;AAAA,IAC9B;AAEA,QAAI,MAAM;AACR,UAAI,SAAS,MAAM;AACjB,YAAI,aAAa,MAAM;AACrB,kBAAQ;AAAA,QACV,WAAW,WAAW,WAAW,GAAG;AAClC,kBAAQ;AAAA,QACV,OAAO;AACL,kBAAQ,YAAY,IAAI,MAAM;AAAA,QAChC;AAAA,MACF;AAEA,UAAI,aAAa,OAAO;AACtB,kBAAU,WAAW,KAAK,EAAE;AAAA,MAC9B,OAAO;AACL,cAAM,QAAQ;AAAA,UACZ,YAAY,CAAC,EAAE;AAAA,UACf,iBAAiB,EAAE;AAAA,QACrB;AACA,UAAE,aAAa,SAAS,KAAK;AAAA,MAC/B;AAEA,aAAO,MAAM,SAAS,KAAK;AACzB,cAAM,MAAM;AAAA,MACd;AAEA,cAAQ,QAAQ,CAAC;AAAA,IACnB;AAEA,UAAM,EAAE;AAAA,EACV;AAEA,IAAE,eAAe,CAAC,OAA0B,UAAe;AACzD,MAAE,QAAQ,KAAK,EAAE,KAAK,KAAK;AAAA,EAC7B;AAEA,SAAO;AACT;AAMA,IAAM,cAAc,CAAC,IAAe,SAAyC;AAC3E,MACE,QACA,GAAG,SAAS,iBACZ,KAAK,SAAS,iBACd,GAAG,WAAW,KAAK,SAAS,KAAK,KAAK,UACtC,KAAK,OAAO,GAAG,MAAM,KAAK,IAAI,GAC9B;AACA,WAAO;AAAA,EACT;AAEA,MACE,QACA,GAAG,SAAS,iBACZ,KAAK,SAAS,iBACd,GAAG,SAAS,GAAG,KAAK,WAAW,KAAK,UACpC,KAAK,OAAO,GAAG,MAAM,KAAK,IAAI,GAC9B;AACA,WAAO;AAAA,EACT;AAEA,SAAO;AACT;AAEO,IAAM,oBAAoB,CAAC,IAAe,SAAyC;AACxF,MAAI,GAAG,SAAS,iBAAiB;AAC/B,WAAO;AAAA,EACT;AAEA,SAAO;AACT;","names":[]}
@@ -0,0 +1,12 @@
1
+ /**
2
+ * Flatten a promise of a stream, into a stream.
3
+ *
4
+ * Useful because a stream already includes the notion of async value delivery,
5
+ * so it often makes sense to simply await the values rather than the generator of the values.
6
+ *
7
+ * @param {Promise<ReadableStream<A>>} promise - The promise to flatten.
8
+ * @returns {ReadableStream<A>} - The flattened stream.
9
+ */
10
+ declare function streamPromiseFlatten<A>(promise: Promise<ReadableStream<A>>): ReadableStream<A>;
11
+
12
+ export { streamPromiseFlatten };
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/lib/stream-promise-flatten.ts"],"sourcesContent":["/**\n * Flatten a promise of a stream, into a stream.\n *\n * Useful because a stream already includes the notion of async value delivery,\n * so it often makes sense to simply await the values rather than the generator of the values.\n *\n * @param {Promise<ReadableStream<A>>} promise - The promise to flatten.\n * @returns {ReadableStream<A>} - The flattened stream.\n */\n\nexport function streamPromiseFlatten<A>(promise: Promise<ReadableStream<A>>): ReadableStream<A> {\n return new ReadableStream<A>({\n async start(controller) {\n try {\n const stream = await promise;\n const reader = stream.getReader();\n\n while (true) {\n const { done, value } = await reader.read();\n\n if (done) {\n controller.close();\n return;\n }\n\n controller.enqueue(value);\n }\n } catch (error) {\n controller.error(error);\n }\n },\n });\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAUO,SAAS,qBAAwB,SAAwD;AAC9F,SAAO,IAAI,eAAkB;AAAA,IACrB,MAAM,YAAY;AAAA;AACtB,YAAI;AACF,gBAAM,SAAS,MAAM;AACrB,gBAAM,SAAS,OAAO,UAAU;AAEhC,iBAAO,MAAM;AACX,kBAAM,EAAE,MAAM,MAAM,IAAI,MAAM,OAAO,KAAK;AAE1C,gBAAI,MAAM;AACR,yBAAW,MAAM;AACjB;AAAA,YACF;AAEA,uBAAW,QAAQ,KAAK;AAAA,UAC1B;AAAA,QACF,SAAS,OAAP;AACA,qBAAW,MAAM,KAAK;AAAA,QACxB;AAAA,MACF;AAAA;AAAA,EACF,CAAC;AACH;","names":[]}
1
+ {"version":3,"sources":["../../src/lib/stream-promise-flatten.ts"],"sourcesContent":["/**\n * Flatten a promise of a stream, into a stream.\n *\n * Useful because a stream already includes the notion of async value delivery,\n * so it often makes sense to simply await the values rather than the generator of the values.\n *\n * @param {Promise<ReadableStream<A>>} promise - The promise to flatten.\n * @returns {ReadableStream<A>} - The flattened stream.\n */\n\nexport function streamPromiseFlatten<A>(promise: Promise<ReadableStream<A>>): ReadableStream<A> {\n return new ReadableStream<A>({\n async start(controller) {\n try {\n const stream = await promise;\n const reader = stream.getReader();\n\n while (true) {\n const { done, value } = await reader.read();\n\n if (done) {\n controller.close();\n return;\n }\n\n controller.enqueue(value);\n }\n } catch (error) {\n controller.error(error);\n }\n },\n });\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAUO,SAAS,qBAAwB,SAAwD;AAC9F,SAAO,IAAI,eAAkB;AAAA,IACrB,MAAM,YAAY;AAAA;AACtB,YAAI;AACF,gBAAM,SAAS,MAAM;AACrB,gBAAM,SAAS,OAAO,UAAU;AAEhC,iBAAO,MAAM;AACX,kBAAM,EAAE,MAAM,MAAM,IAAI,MAAM,OAAO,KAAK;AAE1C,gBAAI,MAAM;AACR,yBAAW,MAAM;AACjB;AAAA,YACF;AAEA,uBAAW,QAAQ,KAAK;AAAA,UAC1B;AAAA,QACF,SAAS,OAAO;AACd,qBAAW,MAAM,KAAK;AAAA,QACxB;AAAA,MACF;AAAA;AAAA,EACF,CAAC;AACH;","names":[]}
@@ -1,7 +1,47 @@
1
- import {
2
- streamPromiseFlatten
3
- } from "../chunk-2QDCE7PD.mjs";
4
- import "../chunk-MRXNTQOX.mjs";
1
+ var __async = (__this, __arguments, generator) => {
2
+ return new Promise((resolve, reject) => {
3
+ var fulfilled = (value) => {
4
+ try {
5
+ step(generator.next(value));
6
+ } catch (e) {
7
+ reject(e);
8
+ }
9
+ };
10
+ var rejected = (value) => {
11
+ try {
12
+ step(generator.throw(value));
13
+ } catch (e) {
14
+ reject(e);
15
+ }
16
+ };
17
+ var step = (x) => x.done ? resolve(x.value) : Promise.resolve(x.value).then(fulfilled, rejected);
18
+ step((generator = generator.apply(__this, __arguments)).next());
19
+ });
20
+ };
21
+
22
+ // src/lib/stream-promise-flatten.ts
23
+ function streamPromiseFlatten(promise) {
24
+ return new ReadableStream({
25
+ start(controller) {
26
+ return __async(this, null, function* () {
27
+ try {
28
+ const stream = yield promise;
29
+ const reader = stream.getReader();
30
+ while (true) {
31
+ const { done, value } = yield reader.read();
32
+ if (done) {
33
+ controller.close();
34
+ return;
35
+ }
36
+ controller.enqueue(value);
37
+ }
38
+ } catch (error) {
39
+ controller.error(error);
40
+ }
41
+ });
42
+ }
43
+ });
44
+ }
5
45
  export {
6
46
  streamPromiseFlatten
7
47
  };
@@ -1 +1 @@
1
- {"version":3,"sources":[],"sourcesContent":[],"mappings":"","names":[]}
1
+ {"version":3,"sources":["../../src/lib/stream-promise-flatten.ts"],"sourcesContent":["/**\n * Flatten a promise of a stream, into a stream.\n *\n * Useful because a stream already includes the notion of async value delivery,\n * so it often makes sense to simply await the values rather than the generator of the values.\n *\n * @param {Promise<ReadableStream<A>>} promise - The promise to flatten.\n * @returns {ReadableStream<A>} - The flattened stream.\n */\n\nexport function streamPromiseFlatten<A>(promise: Promise<ReadableStream<A>>): ReadableStream<A> {\n return new ReadableStream<A>({\n async start(controller) {\n try {\n const stream = await promise;\n const reader = stream.getReader();\n\n while (true) {\n const { done, value } = await reader.read();\n\n if (done) {\n controller.close();\n return;\n }\n\n controller.enqueue(value);\n }\n } catch (error) {\n controller.error(error);\n }\n },\n });\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;AAUO,SAAS,qBAAwB,SAAwD;AAC9F,SAAO,IAAI,eAAkB;AAAA,IACrB,MAAM,YAAY;AAAA;AACtB,YAAI;AACF,gBAAM,SAAS,MAAM;AACrB,gBAAM,SAAS,OAAO,UAAU;AAEhC,iBAAO,MAAM;AACX,kBAAM,EAAE,MAAM,MAAM,IAAI,MAAM,OAAO,KAAK;AAE1C,gBAAI,MAAM;AACR,yBAAW,MAAM;AACjB;AAAA,YACF;AAEA,uBAAW,QAAQ,KAAK;AAAA,UAC1B;AAAA,QACF,SAAS,OAAO;AACd,qBAAW,MAAM,KAAK;AAAA,QACxB;AAAA,MACF;AAAA;AAAA,EACF,CAAC;AACH;","names":[]}
@@ -0,0 +1,9 @@
1
+ import { ClassValue } from 'clsx';
2
+
3
+ declare function cn(...inputs: ClassValue[]): string;
4
+ declare function fetcher<JSON = any>(input: RequestInfo, init?: RequestInit): Promise<JSON>;
5
+ declare function formatDate(input: string | number | Date): string;
6
+ declare const arraysAreEqual: (arr1: number[], arr2: number[]) => boolean;
7
+ declare function nullableCompatibleEqualityCheck<T>(naiveEqualityCheck: (a: T, b: T) => boolean, a: T | null | undefined, b: T | null | undefined): boolean;
8
+
9
+ export { arraysAreEqual, cn, fetcher, formatDate, nullableCompatibleEqualityCheck };
@@ -1,11 +1,61 @@
1
- import {
2
- arraysAreEqual,
3
- cn,
4
- fetcher,
5
- formatDate,
6
- nullableCompatibleEqualityCheck
7
- } from "../chunk-YLFAIYRY.mjs";
8
- import "../chunk-MRXNTQOX.mjs";
1
+ var __async = (__this, __arguments, generator) => {
2
+ return new Promise((resolve, reject) => {
3
+ var fulfilled = (value) => {
4
+ try {
5
+ step(generator.next(value));
6
+ } catch (e) {
7
+ reject(e);
8
+ }
9
+ };
10
+ var rejected = (value) => {
11
+ try {
12
+ step(generator.throw(value));
13
+ } catch (e) {
14
+ reject(e);
15
+ }
16
+ };
17
+ var step = (x) => x.done ? resolve(x.value) : Promise.resolve(x.value).then(fulfilled, rejected);
18
+ step((generator = generator.apply(__this, __arguments)).next());
19
+ });
20
+ };
21
+
22
+ // src/lib/utils.ts
23
+ import { clsx } from "clsx";
24
+ import { twMerge } from "tailwind-merge";
25
+ function cn(...inputs) {
26
+ return twMerge(clsx(inputs));
27
+ }
28
+ function fetcher(input, init) {
29
+ return __async(this, null, function* () {
30
+ const res = yield fetch(input, init);
31
+ if (!res.ok) {
32
+ const json = yield res.json();
33
+ if (json.error) {
34
+ const error = new Error(json.error);
35
+ error.status = res.status;
36
+ throw error;
37
+ } else {
38
+ throw new Error("An unexpected error occurred");
39
+ }
40
+ }
41
+ return res.json();
42
+ });
43
+ }
44
+ function formatDate(input) {
45
+ const date = new Date(input);
46
+ return date.toLocaleDateString("en-US", {
47
+ month: "long",
48
+ day: "numeric",
49
+ year: "numeric"
50
+ });
51
+ }
52
+ var arraysAreEqual = (arr1, arr2) => arr1.length === arr2.length && arr1.every((value, index) => value === arr2[index]);
53
+ function nullableCompatibleEqualityCheck(naiveEqualityCheck, a, b) {
54
+ if (a === null || a === void 0 || b === null || b === void 0) {
55
+ return a === b;
56
+ }
57
+ return naiveEqualityCheck(a, b);
58
+ }
9
59
  export {
10
60
  arraysAreEqual,
11
61
  cn,
@@ -1 +1 @@
1
- {"version":3,"sources":[],"sourcesContent":[],"mappings":"","names":[]}
1
+ {"version":3,"sources":["../../src/lib/utils.ts"],"sourcesContent":["import { clsx, type ClassValue } from \"clsx\";\nimport { twMerge } from \"tailwind-merge\";\n\nexport function cn(...inputs: ClassValue[]) {\n return twMerge(clsx(inputs));\n}\n\nexport async function fetcher<JSON = any>(input: RequestInfo, init?: RequestInit): Promise<JSON> {\n const res = await fetch(input, init);\n\n if (!res.ok) {\n const json = await res.json();\n if (json.error) {\n const error = new Error(json.error) as Error & {\n status: number;\n };\n error.status = res.status;\n throw error;\n } else {\n throw new Error(\"An unexpected error occurred\");\n }\n }\n\n return res.json();\n}\n\nexport function formatDate(input: string | number | Date): string {\n const date = new Date(input);\n return date.toLocaleDateString(\"en-US\", {\n month: \"long\",\n day: \"numeric\",\n year: \"numeric\",\n });\n}\n\nexport const arraysAreEqual = (arr1: number[], arr2: number[]): boolean =>\n arr1.length === arr2.length && arr1.every((value, index) => value === arr2[index]);\n\nexport function nullableCompatibleEqualityCheck<T>(\n naiveEqualityCheck: (a: T, b: T) => boolean,\n a: T | null | undefined,\n b: T | null | undefined,\n): boolean {\n if (a === null || a === undefined || b === null || b === undefined) {\n return a === b;\n }\n\n return naiveEqualityCheck(a, b);\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;AAAA,SAAS,YAA6B;AACtC,SAAS,eAAe;AAEjB,SAAS,MAAM,QAAsB;AAC1C,SAAO,QAAQ,KAAK,MAAM,CAAC;AAC7B;AAEA,SAAsB,QAAoB,OAAoB,MAAmC;AAAA;AAC/F,UAAM,MAAM,MAAM,MAAM,OAAO,IAAI;AAEnC,QAAI,CAAC,IAAI,IAAI;AACX,YAAM,OAAO,MAAM,IAAI,KAAK;AAC5B,UAAI,KAAK,OAAO;AACd,cAAM,QAAQ,IAAI,MAAM,KAAK,KAAK;AAGlC,cAAM,SAAS,IAAI;AACnB,cAAM;AAAA,MACR,OAAO;AACL,cAAM,IAAI,MAAM,8BAA8B;AAAA,MAChD;AAAA,IACF;AAEA,WAAO,IAAI,KAAK;AAAA,EAClB;AAAA;AAEO,SAAS,WAAW,OAAuC;AAChE,QAAM,OAAO,IAAI,KAAK,KAAK;AAC3B,SAAO,KAAK,mBAAmB,SAAS;AAAA,IACtC,OAAO;AAAA,IACP,KAAK;AAAA,IACL,MAAM;AAAA,EACR,CAAC;AACH;AAEO,IAAM,iBAAiB,CAAC,MAAgB,SAC7C,KAAK,WAAW,KAAK,UAAU,KAAK,MAAM,CAAC,OAAO,UAAU,UAAU,KAAK,KAAK,CAAC;AAE5E,SAAS,gCACd,oBACA,GACA,GACS;AACT,MAAI,MAAM,QAAQ,MAAM,UAAa,MAAM,QAAQ,MAAM,QAAW;AAClE,WAAO,MAAM;AAAA,EACf;AAEA,SAAO,mBAAmB,GAAG,CAAC;AAChC;","names":[]}
@@ -0,0 +1,2 @@
1
+
2
+ export { }
@@ -1,2 +1,2 @@
1
1
 
2
- export { }
2
+ export { }