@copilotkit/react-textarea 1.51.5-next.0 → 1.51.5-next.1
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.
- package/.attw.json +3 -0
- package/CHANGELOG.md +9 -0
- package/dist/index.cjs +1918 -0
- package/dist/index.cjs.map +1 -0
- package/dist/index.css +10 -639
- package/dist/index.css.map +1 -1
- package/dist/index.d.cts +318 -0
- package/dist/index.d.cts.map +1 -0
- package/dist/index.d.mts +318 -0
- package/dist/index.d.mts.map +1 -0
- package/dist/index.mjs +1879 -61
- package/dist/index.mjs.map +1 -1
- package/dist/index.umd.js +1900 -123
- package/dist/index.umd.js.map +1 -1
- package/package.json +18 -16
- package/src/components/copilot-textarea/copilot-textarea.tsx +1 -1
- package/tsdown.config.ts +60 -0
- package/vitest.config.mjs +11 -0
- package/dist/chunk-2C7O2EVM.mjs +0 -27
- package/dist/chunk-2C7O2EVM.mjs.map +0 -1
- package/dist/chunk-2X3CZVEP.mjs +0 -32
- package/dist/chunk-2X3CZVEP.mjs.map +0 -1
- package/dist/chunk-3WLGLZTY.mjs +0 -232
- package/dist/chunk-3WLGLZTY.mjs.map +0 -1
- package/dist/chunk-5UNJXFUO.mjs +0 -29
- package/dist/chunk-5UNJXFUO.mjs.map +0 -1
- package/dist/chunk-7GZWOXE4.mjs +0 -70
- package/dist/chunk-7GZWOXE4.mjs.map +0 -1
- package/dist/chunk-7V4ORVQX.mjs +0 -17
- package/dist/chunk-7V4ORVQX.mjs.map +0 -1
- package/dist/chunk-A6YGJFQI.mjs +0 -111
- package/dist/chunk-A6YGJFQI.mjs.map +0 -1
- package/dist/chunk-AHNPJMBR.mjs +0 -90
- package/dist/chunk-AHNPJMBR.mjs.map +0 -1
- package/dist/chunk-ARLBRSB7.mjs +0 -140
- package/dist/chunk-ARLBRSB7.mjs.map +0 -1
- package/dist/chunk-AZ7RF6ED.mjs +0 -120
- package/dist/chunk-AZ7RF6ED.mjs.map +0 -1
- package/dist/chunk-CFCMZVQ2.mjs +0 -136
- package/dist/chunk-CFCMZVQ2.mjs.map +0 -1
- package/dist/chunk-CMKGYQFX.mjs +0 -45
- package/dist/chunk-CMKGYQFX.mjs.map +0 -1
- package/dist/chunk-DE5K76I2.mjs +0 -1
- package/dist/chunk-DE5K76I2.mjs.map +0 -1
- package/dist/chunk-DZMQBOPG.mjs +0 -36
- package/dist/chunk-DZMQBOPG.mjs.map +0 -1
- package/dist/chunk-E7C63KQP.mjs +0 -64
- package/dist/chunk-E7C63KQP.mjs.map +0 -1
- package/dist/chunk-EGBZSVLK.mjs +0 -25
- package/dist/chunk-EGBZSVLK.mjs.map +0 -1
- package/dist/chunk-FTG7P3NP.mjs +0 -25
- package/dist/chunk-FTG7P3NP.mjs.map +0 -1
- package/dist/chunk-H4VKQGVU.mjs +0 -1
- package/dist/chunk-H4VKQGVU.mjs.map +0 -1
- package/dist/chunk-IBZTDP72.mjs +0 -56
- package/dist/chunk-IBZTDP72.mjs.map +0 -1
- package/dist/chunk-IU3WTXLQ.mjs +0 -1
- package/dist/chunk-IU3WTXLQ.mjs.map +0 -1
- package/dist/chunk-KNQIEOFP.mjs +0 -19
- package/dist/chunk-KNQIEOFP.mjs.map +0 -1
- package/dist/chunk-L7VVZH4Q.mjs +0 -1
- package/dist/chunk-L7VVZH4Q.mjs.map +0 -1
- package/dist/chunk-LYNGBKJR.mjs +0 -58
- package/dist/chunk-LYNGBKJR.mjs.map +0 -1
- package/dist/chunk-M7GTVHFB.mjs +0 -188
- package/dist/chunk-M7GTVHFB.mjs.map +0 -1
- package/dist/chunk-MCNXIA4Q.mjs +0 -75
- package/dist/chunk-MCNXIA4Q.mjs.map +0 -1
- package/dist/chunk-MMVDU6DF.mjs +0 -1
- package/dist/chunk-MMVDU6DF.mjs.map +0 -1
- package/dist/chunk-MQBPYOOZ.mjs +0 -97
- package/dist/chunk-MQBPYOOZ.mjs.map +0 -1
- package/dist/chunk-MQXYWOE2.mjs +0 -32
- package/dist/chunk-MQXYWOE2.mjs.map +0 -1
- package/dist/chunk-MRXNTQOX.mjs +0 -59
- package/dist/chunk-MRXNTQOX.mjs.map +0 -1
- package/dist/chunk-NFMCLTJU.mjs +0 -39
- package/dist/chunk-NFMCLTJU.mjs.map +0 -1
- package/dist/chunk-O4WCM57A.mjs +0 -30
- package/dist/chunk-O4WCM57A.mjs.map +0 -1
- package/dist/chunk-PDFIUPCS.mjs +0 -108
- package/dist/chunk-PDFIUPCS.mjs.map +0 -1
- package/dist/chunk-QFXR6DOA.mjs +0 -64
- package/dist/chunk-QFXR6DOA.mjs.map +0 -1
- package/dist/chunk-RUV6NBIF.mjs +0 -1
- package/dist/chunk-RUV6NBIF.mjs.map +0 -1
- package/dist/chunk-SWX3MRZ4.mjs +0 -278
- package/dist/chunk-SWX3MRZ4.mjs.map +0 -1
- package/dist/chunk-TGN3YVSO.mjs +0 -85
- package/dist/chunk-TGN3YVSO.mjs.map +0 -1
- package/dist/chunk-UB4Y22EF.mjs +0 -21
- package/dist/chunk-UB4Y22EF.mjs.map +0 -1
- package/dist/chunk-UIBUYQPG.mjs +0 -79
- package/dist/chunk-UIBUYQPG.mjs.map +0 -1
- package/dist/chunk-VBPZTMXB.mjs +0 -13
- package/dist/chunk-VBPZTMXB.mjs.map +0 -1
- package/dist/chunk-VH7INUR5.mjs +0 -82
- package/dist/chunk-VH7INUR5.mjs.map +0 -1
- package/dist/chunk-VVRGAA43.mjs +0 -59
- package/dist/chunk-VVRGAA43.mjs.map +0 -1
- package/dist/chunk-VYLLLBUP.mjs +0 -50
- package/dist/chunk-VYLLLBUP.mjs.map +0 -1
- package/dist/chunk-WADHCMPK.mjs +0 -1
- package/dist/chunk-WADHCMPK.mjs.map +0 -1
- package/dist/chunk-WJHSY5T6.mjs +0 -1
- package/dist/chunk-WJHSY5T6.mjs.map +0 -1
- package/dist/chunk-WXKPRNNO.mjs +0 -32
- package/dist/chunk-WXKPRNNO.mjs.map +0 -1
- package/dist/chunk-YINY56BI.mjs +0 -49
- package/dist/chunk-YINY56BI.mjs.map +0 -1
- package/dist/chunk-ZBP4SABT.mjs +0 -117
- package/dist/chunk-ZBP4SABT.mjs.map +0 -1
- package/dist/chunk-ZWI5KPQ5.mjs +0 -31
- package/dist/chunk-ZWI5KPQ5.mjs.map +0 -1
- package/dist/components/base-copilot-textarea/base-copilot-textarea.css +0 -9
- package/dist/components/base-copilot-textarea/base-copilot-textarea.css.map +0 -1
- package/dist/components/base-copilot-textarea/base-copilot-textarea.d.ts +0 -43
- package/dist/components/base-copilot-textarea/base-copilot-textarea.js +0 -1849
- package/dist/components/base-copilot-textarea/base-copilot-textarea.js.map +0 -1
- package/dist/components/base-copilot-textarea/base-copilot-textarea.mjs +0 -40
- package/dist/components/base-copilot-textarea/base-copilot-textarea.mjs.map +0 -1
- package/dist/components/base-copilot-textarea/render-element.d.ts +0 -7
- package/dist/components/base-copilot-textarea/render-element.js +0 -75
- package/dist/components/base-copilot-textarea/render-element.js.map +0 -1
- package/dist/components/base-copilot-textarea/render-element.mjs +0 -8
- package/dist/components/base-copilot-textarea/render-element.mjs.map +0 -1
- package/dist/components/base-copilot-textarea/render-placeholder.d.ts +0 -7
- package/dist/components/base-copilot-textarea/render-placeholder.js +0 -72
- package/dist/components/base-copilot-textarea/render-placeholder.js.map +0 -1
- package/dist/components/base-copilot-textarea/render-placeholder.mjs +0 -8
- package/dist/components/base-copilot-textarea/render-placeholder.mjs.map +0 -1
- package/dist/components/base-copilot-textarea/track-cursor-moved-since-last-text-change.d.ts +0 -8
- package/dist/components/base-copilot-textarea/track-cursor-moved-since-last-text-change.js +0 -112
- package/dist/components/base-copilot-textarea/track-cursor-moved-since-last-text-change.js.map +0 -1
- package/dist/components/base-copilot-textarea/track-cursor-moved-since-last-text-change.mjs +0 -9
- package/dist/components/base-copilot-textarea/track-cursor-moved-since-last-text-change.mjs.map +0 -1
- package/dist/components/base-copilot-textarea/use-add-branding-css.d.ts +0 -3
- package/dist/components/base-copilot-textarea/use-add-branding-css.js +0 -83
- package/dist/components/base-copilot-textarea/use-add-branding-css.js.map +0 -1
- package/dist/components/base-copilot-textarea/use-add-branding-css.mjs +0 -8
- package/dist/components/base-copilot-textarea/use-add-branding-css.mjs.map +0 -1
- package/dist/components/copilot-textarea/copilot-textarea.css +0 -9
- package/dist/components/copilot-textarea/copilot-textarea.css.map +0 -1
- package/dist/components/copilot-textarea/copilot-textarea.d.ts +0 -171
- package/dist/components/copilot-textarea/copilot-textarea.js +0 -2356
- package/dist/components/copilot-textarea/copilot-textarea.js.map +0 -1
- package/dist/components/copilot-textarea/copilot-textarea.mjs +0 -49
- package/dist/components/copilot-textarea/copilot-textarea.mjs.map +0 -1
- package/dist/components/hovering-toolbar/hovering-editor-provider.d.ts +0 -18
- package/dist/components/hovering-toolbar/hovering-editor-provider.js +0 -46
- package/dist/components/hovering-toolbar/hovering-editor-provider.js.map +0 -1
- package/dist/components/hovering-toolbar/hovering-editor-provider.mjs +0 -10
- package/dist/components/hovering-toolbar/hovering-editor-provider.mjs.map +0 -1
- package/dist/components/hovering-toolbar/hovering-toolbar-components.d.ts +0 -18
- package/dist/components/hovering-toolbar/hovering-toolbar-components.js +0 -158
- package/dist/components/hovering-toolbar/hovering-toolbar-components.js.map +0 -1
- package/dist/components/hovering-toolbar/hovering-toolbar-components.mjs +0 -16
- package/dist/components/hovering-toolbar/hovering-toolbar-components.mjs.map +0 -1
- package/dist/components/hovering-toolbar/hovering-toolbar.d.ts +0 -12
- package/dist/components/hovering-toolbar/hovering-toolbar.js +0 -934
- package/dist/components/hovering-toolbar/hovering-toolbar.js.map +0 -1
- package/dist/components/hovering-toolbar/hovering-toolbar.mjs +0 -23
- package/dist/components/hovering-toolbar/hovering-toolbar.mjs.map +0 -1
- package/dist/components/hovering-toolbar/text-insertion-prompt-box/hovering-insertion-prompt-box-core.d.ts +0 -16
- package/dist/components/hovering-toolbar/text-insertion-prompt-box/hovering-insertion-prompt-box-core.js +0 -649
- package/dist/components/hovering-toolbar/text-insertion-prompt-box/hovering-insertion-prompt-box-core.js.map +0 -1
- package/dist/components/hovering-toolbar/text-insertion-prompt-box/hovering-insertion-prompt-box-core.mjs +0 -18
- package/dist/components/hovering-toolbar/text-insertion-prompt-box/hovering-insertion-prompt-box-core.mjs.map +0 -1
- package/dist/components/hovering-toolbar/text-insertion-prompt-box/hovering-insertion-prompt-box.d.ts +0 -13
- package/dist/components/hovering-toolbar/text-insertion-prompt-box/hovering-insertion-prompt-box.js +0 -672
- package/dist/components/hovering-toolbar/text-insertion-prompt-box/hovering-insertion-prompt-box.js.map +0 -1
- package/dist/components/hovering-toolbar/text-insertion-prompt-box/hovering-insertion-prompt-box.mjs +0 -19
- package/dist/components/hovering-toolbar/text-insertion-prompt-box/hovering-insertion-prompt-box.mjs.map +0 -1
- package/dist/components/hovering-toolbar/text-insertion-prompt-box/included-files-preview.d.ts +0 -16
- package/dist/components/hovering-toolbar/text-insertion-prompt-box/included-files-preview.js +0 -144
- package/dist/components/hovering-toolbar/text-insertion-prompt-box/included-files-preview.js.map +0 -1
- package/dist/components/hovering-toolbar/text-insertion-prompt-box/included-files-preview.mjs +0 -12
- package/dist/components/hovering-toolbar/text-insertion-prompt-box/included-files-preview.mjs.map +0 -1
- package/dist/components/hovering-toolbar/text-insertion-prompt-box/index.d.ts +0 -4
- package/dist/components/hovering-toolbar/text-insertion-prompt-box/index.js +0 -672
- package/dist/components/hovering-toolbar/text-insertion-prompt-box/index.js.map +0 -1
- package/dist/components/hovering-toolbar/text-insertion-prompt-box/index.mjs +0 -20
- package/dist/components/hovering-toolbar/text-insertion-prompt-box/index.mjs.map +0 -1
- package/dist/components/index.css +0 -9
- package/dist/components/index.css.map +0 -1
- package/dist/components/index.d.ts +0 -15
- package/dist/components/index.js +0 -2360
- package/dist/components/index.js.map +0 -1
- package/dist/components/index.mjs +0 -53
- package/dist/components/index.mjs.map +0 -1
- package/dist/components/manual-ui/chip-with-icon.d.ts +0 -10
- package/dist/components/manual-ui/chip-with-icon.js +0 -49
- package/dist/components/manual-ui/chip-with-icon.js.map +0 -1
- package/dist/components/manual-ui/chip-with-icon.mjs +0 -26
- package/dist/components/manual-ui/chip-with-icon.mjs.map +0 -1
- package/dist/components/source-search-box/source-search-box.d.ts +0 -16
- package/dist/components/source-search-box/source-search-box.js +0 -263
- package/dist/components/source-search-box/source-search-box.js.map +0 -1
- package/dist/components/source-search-box/source-search-box.mjs +0 -13
- package/dist/components/source-search-box/source-search-box.mjs.map +0 -1
- package/dist/components/ui/button.d.ts +0 -14
- package/dist/components/ui/button.js +0 -120
- package/dist/components/ui/button.js.map +0 -1
- package/dist/components/ui/button.mjs +0 -11
- package/dist/components/ui/button.mjs.map +0 -1
- package/dist/components/ui/command.d.ts +0 -53
- package/dist/components/ui/command.js +0 -323
- package/dist/components/ui/command.js.map +0 -1
- package/dist/components/ui/command.mjs +0 -26
- package/dist/components/ui/command.mjs.map +0 -1
- package/dist/components/ui/dialog.d.ts +0 -19
- package/dist/components/ui/dialog.js +0 -205
- package/dist/components/ui/dialog.js.map +0 -1
- package/dist/components/ui/dialog.mjs +0 -21
- package/dist/components/ui/dialog.mjs.map +0 -1
- package/dist/components/ui/label.d.ts +0 -8
- package/dist/components/ui/label.js +0 -93
- package/dist/components/ui/label.js.map +0 -1
- package/dist/components/ui/label.mjs +0 -9
- package/dist/components/ui/label.mjs.map +0 -1
- package/dist/context/index.d.ts +0 -2
- package/dist/context/index.js +0 -19
- package/dist/context/index.js.map +0 -1
- package/dist/context/index.mjs +0 -2
- package/dist/context/index.mjs.map +0 -1
- package/dist/hooks/base-copilot-textarea-implementation/use-autosuggestions.d.ts +0 -15
- package/dist/hooks/base-copilot-textarea-implementation/use-autosuggestions.js +0 -194
- package/dist/hooks/base-copilot-textarea-implementation/use-autosuggestions.js.map +0 -1
- package/dist/hooks/base-copilot-textarea-implementation/use-autosuggestions.mjs +0 -11
- package/dist/hooks/base-copilot-textarea-implementation/use-autosuggestions.mjs.map +0 -1
- package/dist/hooks/base-copilot-textarea-implementation/use-copilot-textarea-editor.d.ts +0 -8
- package/dist/hooks/base-copilot-textarea-implementation/use-copilot-textarea-editor.js +0 -194
- package/dist/hooks/base-copilot-textarea-implementation/use-copilot-textarea-editor.js.map +0 -1
- package/dist/hooks/base-copilot-textarea-implementation/use-copilot-textarea-editor.mjs +0 -9
- package/dist/hooks/base-copilot-textarea-implementation/use-copilot-textarea-editor.mjs.map +0 -1
- package/dist/hooks/base-copilot-textarea-implementation/use-populate-copilot-textarea-ref.d.ts +0 -7
- package/dist/hooks/base-copilot-textarea-implementation/use-populate-copilot-textarea-ref.js +0 -180
- package/dist/hooks/base-copilot-textarea-implementation/use-populate-copilot-textarea-ref.js.map +0 -1
- package/dist/hooks/base-copilot-textarea-implementation/use-populate-copilot-textarea-ref.mjs +0 -10
- package/dist/hooks/base-copilot-textarea-implementation/use-populate-copilot-textarea-ref.mjs.map +0 -1
- package/dist/hooks/index.d.ts +0 -2
- package/dist/hooks/index.js +0 -19
- package/dist/hooks/index.js.map +0 -1
- package/dist/hooks/index.mjs +0 -2
- package/dist/hooks/index.mjs.map +0 -1
- package/dist/hooks/make-autosuggestions-function/use-make-standard-autosuggestions-function.d.ts +0 -22
- package/dist/hooks/make-autosuggestions-function/use-make-standard-autosuggestions-function.js +0 -142
- package/dist/hooks/make-autosuggestions-function/use-make-standard-autosuggestions-function.js.map +0 -1
- package/dist/hooks/make-autosuggestions-function/use-make-standard-autosuggestions-function.mjs +0 -9
- package/dist/hooks/make-autosuggestions-function/use-make-standard-autosuggestions-function.mjs.map +0 -1
- package/dist/hooks/make-autosuggestions-function/use-make-standard-insertion-function.d.ts +0 -23
- package/dist/hooks/make-autosuggestions-function/use-make-standard-insertion-function.js +0 -248
- package/dist/hooks/make-autosuggestions-function/use-make-standard-insertion-function.js.map +0 -1
- package/dist/hooks/make-autosuggestions-function/use-make-standard-insertion-function.mjs +0 -9
- package/dist/hooks/make-autosuggestions-function/use-make-standard-insertion-function.mjs.map +0 -1
- package/dist/hooks/misc/use-autosize-textarea.d.ts +0 -5
- package/dist/hooks/misc/use-autosize-textarea.js +0 -37
- package/dist/hooks/misc/use-autosize-textarea.js.map +0 -1
- package/dist/hooks/misc/use-autosize-textarea.mjs +0 -8
- package/dist/hooks/misc/use-autosize-textarea.mjs.map +0 -1
- package/dist/index.d.ts +0 -15
- package/dist/index.js +0 -2365
- package/dist/index.js.map +0 -1
- package/dist/lib/debouncer.d.ts +0 -11
- package/dist/lib/debouncer.js +0 -76
- package/dist/lib/debouncer.js.map +0 -1
- package/dist/lib/debouncer.mjs +0 -8
- package/dist/lib/debouncer.mjs.map +0 -1
- package/dist/lib/editor-to-text.d.ts +0 -7
- package/dist/lib/editor-to-text.js +0 -69
- package/dist/lib/editor-to-text.js.map +0 -1
- package/dist/lib/editor-to-text.mjs +0 -8
- package/dist/lib/editor-to-text.mjs.map +0 -1
- package/dist/lib/get-text-around-cursor.d.ts +0 -15
- package/dist/lib/get-text-around-cursor.js +0 -131
- package/dist/lib/get-text-around-cursor.js.map +0 -1
- package/dist/lib/get-text-around-cursor.mjs +0 -14
- package/dist/lib/get-text-around-cursor.mjs.map +0 -1
- package/dist/lib/retry.d.ts +0 -3
- package/dist/lib/retry.js +0 -43
- package/dist/lib/retry.js.map +0 -1
- package/dist/lib/retry.mjs +0 -8
- package/dist/lib/retry.mjs.map +0 -1
- package/dist/lib/slatejs-edits/add-autocompletions.d.ts +0 -8
- package/dist/lib/slatejs-edits/add-autocompletions.js +0 -51
- package/dist/lib/slatejs-edits/add-autocompletions.js.map +0 -1
- package/dist/lib/slatejs-edits/add-autocompletions.mjs +0 -8
- package/dist/lib/slatejs-edits/add-autocompletions.mjs.map +0 -1
- package/dist/lib/slatejs-edits/clear-autocompletions.d.ts +0 -8
- package/dist/lib/slatejs-edits/clear-autocompletions.js +0 -49
- package/dist/lib/slatejs-edits/clear-autocompletions.js.map +0 -1
- package/dist/lib/slatejs-edits/clear-autocompletions.mjs +0 -8
- package/dist/lib/slatejs-edits/clear-autocompletions.mjs.map +0 -1
- package/dist/lib/slatejs-edits/replace-text.d.ts +0 -5
- package/dist/lib/slatejs-edits/replace-text.js +0 -53
- package/dist/lib/slatejs-edits/replace-text.js.map +0 -1
- package/dist/lib/slatejs-edits/replace-text.mjs +0 -8
- package/dist/lib/slatejs-edits/replace-text.mjs.map +0 -1
- package/dist/lib/slatejs-edits/with-partial-history.d.ts +0 -8
- package/dist/lib/slatejs-edits/with-partial-history.js +0 -133
- package/dist/lib/slatejs-edits/with-partial-history.js.map +0 -1
- package/dist/lib/slatejs-edits/with-partial-history.mjs +0 -10
- package/dist/lib/slatejs-edits/with-partial-history.mjs.map +0 -1
- package/dist/lib/stream-promise-flatten.d.ts +0 -12
- package/dist/lib/stream-promise-flatten.js +0 -72
- package/dist/lib/stream-promise-flatten.js.map +0 -1
- package/dist/lib/stream-promise-flatten.mjs +0 -8
- package/dist/lib/stream-promise-flatten.mjs.map +0 -1
- package/dist/lib/utils.d.ts +0 -9
- package/dist/lib/utils.js +0 -94
- package/dist/lib/utils.js.map +0 -1
- package/dist/lib/utils.mjs +0 -16
- package/dist/lib/utils.mjs.map +0 -1
- package/dist/types/autosuggestions-config/autosuggestions-config-user-specified.d.ts +0 -23
- package/dist/types/autosuggestions-config/autosuggestions-config-user-specified.js +0 -19
- package/dist/types/autosuggestions-config/autosuggestions-config-user-specified.js.map +0 -1
- package/dist/types/autosuggestions-config/autosuggestions-config-user-specified.mjs +0 -1
- package/dist/types/autosuggestions-config/autosuggestions-config-user-specified.mjs.map +0 -1
- package/dist/types/autosuggestions-config/autosuggestions-config.d.ts +0 -20
- package/dist/types/autosuggestions-config/autosuggestions-config.js +0 -287
- package/dist/types/autosuggestions-config/autosuggestions-config.js.map +0 -1
- package/dist/types/autosuggestions-config/autosuggestions-config.mjs +0 -13
- package/dist/types/autosuggestions-config/autosuggestions-config.mjs.map +0 -1
- package/dist/types/autosuggestions-config/editing-api-config.d.ts +0 -15
- package/dist/types/autosuggestions-config/editing-api-config.js +0 -108
- package/dist/types/autosuggestions-config/editing-api-config.js.map +0 -1
- package/dist/types/autosuggestions-config/editing-api-config.mjs +0 -12
- package/dist/types/autosuggestions-config/editing-api-config.mjs.map +0 -1
- package/dist/types/autosuggestions-config/index.d.ts +0 -10
- package/dist/types/autosuggestions-config/index.js +0 -287
- package/dist/types/autosuggestions-config/index.js.map +0 -1
- package/dist/types/autosuggestions-config/index.mjs +0 -14
- package/dist/types/autosuggestions-config/index.mjs.map +0 -1
- package/dist/types/autosuggestions-config/insertions-api-config.d.ts +0 -15
- package/dist/types/autosuggestions-config/insertions-api-config.js +0 -101
- package/dist/types/autosuggestions-config/insertions-api-config.js.map +0 -1
- package/dist/types/autosuggestions-config/insertions-api-config.mjs +0 -12
- package/dist/types/autosuggestions-config/insertions-api-config.mjs.map +0 -1
- package/dist/types/autosuggestions-config/subtypes/make-system-prompt.d.ts +0 -3
- package/dist/types/autosuggestions-config/subtypes/make-system-prompt.js +0 -19
- package/dist/types/autosuggestions-config/subtypes/make-system-prompt.js.map +0 -1
- package/dist/types/autosuggestions-config/subtypes/make-system-prompt.mjs +0 -1
- package/dist/types/autosuggestions-config/subtypes/make-system-prompt.mjs.map +0 -1
- package/dist/types/autosuggestions-config/suggestions-api-config.d.ts +0 -15
- package/dist/types/autosuggestions-config/suggestions-api-config.js +0 -90
- package/dist/types/autosuggestions-config/suggestions-api-config.js.map +0 -1
- package/dist/types/autosuggestions-config/suggestions-api-config.mjs +0 -12
- package/dist/types/autosuggestions-config/suggestions-api-config.mjs.map +0 -1
- package/dist/types/base/autosuggestion-state.d.ts +0 -8
- package/dist/types/base/autosuggestion-state.js +0 -19
- package/dist/types/base/autosuggestion-state.js.map +0 -1
- package/dist/types/base/autosuggestion-state.mjs +0 -1
- package/dist/types/base/autosuggestion-state.mjs.map +0 -1
- package/dist/types/base/autosuggestions-bare-function.d.ts +0 -19
- package/dist/types/base/autosuggestions-bare-function.js +0 -19
- package/dist/types/base/autosuggestions-bare-function.js.map +0 -1
- package/dist/types/base/autosuggestions-bare-function.mjs +0 -1
- package/dist/types/base/autosuggestions-bare-function.mjs.map +0 -1
- package/dist/types/base/base-autosuggestions-config.d.ts +0 -87
- package/dist/types/base/base-autosuggestions-config.js +0 -54
- package/dist/types/base/base-autosuggestions-config.js.map +0 -1
- package/dist/types/base/base-autosuggestions-config.mjs +0 -8
- package/dist/types/base/base-autosuggestions-config.mjs.map +0 -1
- package/dist/types/base/base-copilot-textarea-props.d.ts +0 -5
- package/dist/types/base/base-copilot-textarea-props.js +0 -19
- package/dist/types/base/base-copilot-textarea-props.js.map +0 -1
- package/dist/types/base/base-copilot-textarea-props.mjs +0 -1
- package/dist/types/base/base-copilot-textarea-props.mjs.map +0 -1
- package/dist/types/base/custom-editor.d.ts +0 -29
- package/dist/types/base/custom-editor.js +0 -19
- package/dist/types/base/custom-editor.js.map +0 -1
- package/dist/types/base/custom-editor.mjs +0 -1
- package/dist/types/base/custom-editor.mjs.map +0 -1
- package/dist/types/base/editor-autocomplete-state.d.ts +0 -10
- package/dist/types/base/editor-autocomplete-state.js +0 -40
- package/dist/types/base/editor-autocomplete-state.js.map +0 -1
- package/dist/types/base/editor-autocomplete-state.mjs +0 -9
- package/dist/types/base/editor-autocomplete-state.mjs.map +0 -1
- package/dist/types/base/index.d.ts +0 -54
- package/dist/types/base/index.js +0 -56
- package/dist/types/base/index.js.map +0 -1
- package/dist/types/base/index.mjs +0 -9
- package/dist/types/base/index.mjs.map +0 -1
- package/dist/types/html-copilot-textarea-element.d.ts +0 -7
- package/dist/types/html-copilot-textarea-element.js +0 -19
- package/dist/types/html-copilot-textarea-element.js.map +0 -1
- package/dist/types/html-copilot-textarea-element.mjs +0 -2
- package/dist/types/html-copilot-textarea-element.mjs.map +0 -1
- package/dist/types/index.d.ts +0 -13
- package/dist/types/index.js +0 -289
- package/dist/types/index.js.map +0 -1
- package/dist/types/index.mjs +0 -19
- package/dist/types/index.mjs.map +0 -1
- package/jest.config.js +0 -5
- package/rollup.config.mjs +0 -64
- package/tsup.config.ts +0 -15
package/package.json
CHANGED
|
@@ -6,47 +6,46 @@
|
|
|
6
6
|
"type": "git",
|
|
7
7
|
"url": "https://github.com/CopilotKit/CopilotKit.git"
|
|
8
8
|
},
|
|
9
|
+
"type": "module",
|
|
9
10
|
"publishConfig": {
|
|
10
11
|
"access": "public"
|
|
11
12
|
},
|
|
12
|
-
"version": "1.51.5-next.
|
|
13
|
+
"version": "1.51.5-next.1",
|
|
13
14
|
"sideEffects": [
|
|
14
15
|
"**/*.css"
|
|
15
16
|
],
|
|
16
|
-
"main": "./dist/index.
|
|
17
|
+
"main": "./dist/index.cjs",
|
|
17
18
|
"module": "./dist/index.mjs",
|
|
18
19
|
"exports": {
|
|
19
20
|
".": {
|
|
20
21
|
"import": "./dist/index.mjs",
|
|
21
|
-
"require": "./dist/index.
|
|
22
|
-
"types": "./dist/index.d.ts"
|
|
22
|
+
"require": "./dist/index.cjs"
|
|
23
23
|
},
|
|
24
|
+
"./package.json": "./package.json",
|
|
24
25
|
"./styles.css": "./dist/index.css"
|
|
25
26
|
},
|
|
26
27
|
"unpkg": "./dist/index.umd.js",
|
|
27
28
|
"jsdelivr": "./dist/index.umd.js",
|
|
28
|
-
"types": "./dist/index.d.
|
|
29
|
+
"types": "./dist/index.d.cts",
|
|
29
30
|
"license": "MIT",
|
|
30
31
|
"peerDependencies": {
|
|
31
32
|
"react": "^18 || ^19 || ^19.0.0-rc",
|
|
32
33
|
"react-dom": "^18 || ^19 || ^19.0.0-rc"
|
|
33
34
|
},
|
|
34
35
|
"devDependencies": {
|
|
35
|
-
"@types/jest": "^29.5.4",
|
|
36
36
|
"@types/lodash.merge": "^4.6.7",
|
|
37
37
|
"@types/react": "^19.1.0",
|
|
38
38
|
"@types/react-dom": "^19.0.2",
|
|
39
39
|
"@types/react-syntax-highlighter": "^15.5.7",
|
|
40
40
|
"autoprefixer": "^10.4.24",
|
|
41
41
|
"eslint": "^8.56.0",
|
|
42
|
-
"jest": "^29.6.4",
|
|
43
42
|
"postcss": "^8.4.20",
|
|
44
43
|
"postcss-prefix-selector": "^1.16.1",
|
|
45
44
|
"react": "^18.2.0",
|
|
46
45
|
"react-dom": "^18.2.0",
|
|
47
46
|
"tailwindcss": "^3.3.0",
|
|
48
|
-
"
|
|
49
|
-
"
|
|
47
|
+
"vitest": "^3.2.4",
|
|
48
|
+
"tsdown": "^0.20.3",
|
|
50
49
|
"typescript": "^5.2.3",
|
|
51
50
|
"eslint-config-custom": "1.4.8",
|
|
52
51
|
"tailwind-config": "1.4.8",
|
|
@@ -71,9 +70,9 @@
|
|
|
71
70
|
"slate-history": "^0.93.0",
|
|
72
71
|
"slate-react": "^0.98.1",
|
|
73
72
|
"tailwind-merge": "^1.13.2",
|
|
74
|
-
"@copilotkit/react-core": "1.51.5-next.
|
|
75
|
-
"@copilotkit/runtime-client-gql": "1.51.5-next.
|
|
76
|
-
"@copilotkit/shared": "1.51.5-next.
|
|
73
|
+
"@copilotkit/react-core": "1.51.5-next.1",
|
|
74
|
+
"@copilotkit/runtime-client-gql": "1.51.5-next.1",
|
|
75
|
+
"@copilotkit/shared": "1.51.5-next.1"
|
|
77
76
|
},
|
|
78
77
|
"keywords": [
|
|
79
78
|
"copilotkit",
|
|
@@ -88,11 +87,14 @@
|
|
|
88
87
|
"textarea"
|
|
89
88
|
],
|
|
90
89
|
"scripts": {
|
|
91
|
-
"build": "
|
|
92
|
-
"dev": "
|
|
93
|
-
"test": "
|
|
90
|
+
"build": "tsdown",
|
|
91
|
+
"dev": "tsdown --watch",
|
|
92
|
+
"test": "vitest run",
|
|
93
|
+
"test:watch": "vitest",
|
|
94
94
|
"check-types": "tsc --noEmit",
|
|
95
95
|
"link:global": "pnpm link --global",
|
|
96
|
-
"unlink:global": "pnpm unlink --global"
|
|
96
|
+
"unlink:global": "pnpm unlink --global",
|
|
97
|
+
"publint": "publint .",
|
|
98
|
+
"attw": "attw --pack . --profile node16"
|
|
97
99
|
}
|
|
98
100
|
}
|
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
*
|
|
5
5
|
* `<CopilotTextarea>` is a React component that acts as a drop-in replacement for the standard `<textarea>`,
|
|
6
6
|
* offering enhanced autocomplete features powered by AI. It is context-aware, integrating seamlessly with the
|
|
7
|
-
* [`useCopilotReadable`](/reference/hooks/useCopilotReadable) hook to provide intelligent suggestions based on the application context.
|
|
7
|
+
* [`useCopilotReadable`](/reference/v1/hooks/useCopilotReadable) hook to provide intelligent suggestions based on the application context.
|
|
8
8
|
*
|
|
9
9
|
* In addition, it provides a hovering editor window (available by default via `Cmd + K` on Mac and `Ctrl + K` on Windows) that allows the user to
|
|
10
10
|
* suggest changes to the text, for example providing a summary or rephrasing the text.
|
package/tsdown.config.ts
ADDED
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
import { defineConfig } from "tsdown";
|
|
2
|
+
|
|
3
|
+
export default defineConfig([
|
|
4
|
+
{
|
|
5
|
+
entry: ["src/index.tsx"],
|
|
6
|
+
format: ["esm", "cjs"],
|
|
7
|
+
dts: true,
|
|
8
|
+
sourcemap: true,
|
|
9
|
+
target: "es2022",
|
|
10
|
+
outDir: "dist",
|
|
11
|
+
external: ["react", "react-dom"],
|
|
12
|
+
exports: {
|
|
13
|
+
customExports: (exports) => ({
|
|
14
|
+
...exports,
|
|
15
|
+
"./styles.css": "./dist/index.css",
|
|
16
|
+
}),
|
|
17
|
+
},
|
|
18
|
+
},
|
|
19
|
+
{
|
|
20
|
+
entry: ["src/index.tsx"],
|
|
21
|
+
format: ["umd"],
|
|
22
|
+
globalName: "CopilotKitReactTextarea",
|
|
23
|
+
sourcemap: true,
|
|
24
|
+
target: "es2018",
|
|
25
|
+
outDir: "dist",
|
|
26
|
+
external: [
|
|
27
|
+
"react",
|
|
28
|
+
"react-dom",
|
|
29
|
+
"@copilotkit/react-core",
|
|
30
|
+
"@copilotkit/shared",
|
|
31
|
+
"@copilotkit/runtime-client-gql",
|
|
32
|
+
],
|
|
33
|
+
codeSplitting: false,
|
|
34
|
+
outputOptions(options) {
|
|
35
|
+
options.entryFileNames = "[name].umd.js";
|
|
36
|
+
options.globals = {
|
|
37
|
+
react: "React",
|
|
38
|
+
"react-dom": "ReactDOM",
|
|
39
|
+
"react/jsx-runtime": "ReactJsxRuntime",
|
|
40
|
+
"@copilotkit/react-core": "CopilotKitReactCore",
|
|
41
|
+
"@copilotkit/shared": "CopilotKitShared",
|
|
42
|
+
"@copilotkit/runtime-client-gql": "CopilotKitRuntimeClientGQL",
|
|
43
|
+
slate: "Slate",
|
|
44
|
+
"slate-react": "SlateReact",
|
|
45
|
+
"slate-history": "SlateHistory",
|
|
46
|
+
"tailwind-merge": "tailwindMerge",
|
|
47
|
+
clsx: "clsx",
|
|
48
|
+
"@emotion/css": "emotionCss",
|
|
49
|
+
cmdk: "cmdk",
|
|
50
|
+
"@radix-ui/react-slot": "RadixReactSlot",
|
|
51
|
+
"class-variance-authority": "classVarianceAuthority",
|
|
52
|
+
"@radix-ui/react-label": "RadixReactLabel",
|
|
53
|
+
"@mui/material/Chip/Chip.js": "MuiChip",
|
|
54
|
+
"@mui/material/Avatar/Avatar.js": "MuiAvatar",
|
|
55
|
+
"lodash.merge": "lodashMerge",
|
|
56
|
+
};
|
|
57
|
+
return options;
|
|
58
|
+
},
|
|
59
|
+
},
|
|
60
|
+
]);
|
package/dist/chunk-2C7O2EVM.mjs
DELETED
|
@@ -1,27 +0,0 @@
|
|
|
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
|
-
}
|
|
23
|
-
|
|
24
|
-
export {
|
|
25
|
-
addAutocompletionsToEditor
|
|
26
|
-
};
|
|
27
|
-
//# sourceMappingURL=chunk-2C7O2EVM.mjs.map
|
|
@@ -1 +0,0 @@
|
|
|
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":[]}
|
package/dist/chunk-2X3CZVEP.mjs
DELETED
|
@@ -1,32 +0,0 @@
|
|
|
1
|
-
import {
|
|
2
|
-
cn
|
|
3
|
-
} from "./chunk-VYLLLBUP.mjs";
|
|
4
|
-
import {
|
|
5
|
-
__objRest,
|
|
6
|
-
__spreadValues
|
|
7
|
-
} from "./chunk-MRXNTQOX.mjs";
|
|
8
|
-
|
|
9
|
-
// src/components/ui/label.tsx
|
|
10
|
-
import * as React from "react";
|
|
11
|
-
import * as LabelPrimitive from "@radix-ui/react-label";
|
|
12
|
-
import { cva } from "class-variance-authority";
|
|
13
|
-
import { jsx } from "react/jsx-runtime";
|
|
14
|
-
var labelVariants = cva(
|
|
15
|
-
"text-sm font-medium leading-none peer-disabled:cursor-not-allowed peer-disabled:opacity-70"
|
|
16
|
-
);
|
|
17
|
-
var Label = React.forwardRef((_a, ref) => {
|
|
18
|
-
var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
|
|
19
|
-
return /* @__PURE__ */ jsx(
|
|
20
|
-
LabelPrimitive.Root,
|
|
21
|
-
__spreadValues({
|
|
22
|
-
ref,
|
|
23
|
-
className: cn(labelVariants(), className)
|
|
24
|
-
}, props)
|
|
25
|
-
);
|
|
26
|
-
});
|
|
27
|
-
Label.displayName = LabelPrimitive.Root.displayName;
|
|
28
|
-
|
|
29
|
-
export {
|
|
30
|
-
Label
|
|
31
|
-
};
|
|
32
|
-
//# sourceMappingURL=chunk-2X3CZVEP.mjs.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/components/ui/label.tsx"],"sourcesContent":["import * as React from \"react\";\nimport * as LabelPrimitive from \"@radix-ui/react-label\";\nimport { cva, type VariantProps } from \"class-variance-authority\";\n\nimport { cn } from \"../../lib/utils\";\n\nconst labelVariants = cva(\n \"text-sm font-medium leading-none peer-disabled:cursor-not-allowed peer-disabled:opacity-70\",\n);\n\nconst Label = React.forwardRef<\n React.ElementRef<typeof LabelPrimitive.Root>,\n React.ComponentPropsWithoutRef<typeof LabelPrimitive.Root> &\n VariantProps<typeof labelVariants>\n>(({ className, ...props }, ref) => (\n <LabelPrimitive.Root\n ref={ref}\n className={cn(labelVariants(), className)}\n {...props}\n />\n));\nLabel.displayName = LabelPrimitive.Root.displayName;\n\nexport { Label };\n"],"mappings":";;;;;;;;;AAAA,YAAY,WAAW;AACvB,YAAY,oBAAoB;AAChC,SAAS,WAA8B;AAarC;AATF,IAAM,gBAAgB;AAAA,EACpB;AACF;AAEA,IAAM,QAAc,iBAIlB,CAAC,IAAyB,QAAK;AAA9B,eAAE,YAdL,IAcG,IAAgB,kBAAhB,IAAgB,CAAd;AACH;AAAA,IAAgB;AAAA,IAAf;AAAA,MACC;AAAA,MACA,WAAW,GAAG,cAAc,GAAG,SAAS;AAAA,OACpC;AAAA,EACN;AAAA,CACD;AACD,MAAM,cAA6B,oBAAK;","names":[]}
|
package/dist/chunk-3WLGLZTY.mjs
DELETED
|
@@ -1,232 +0,0 @@
|
|
|
1
|
-
import {
|
|
2
|
-
IncludedFilesPreview
|
|
3
|
-
} from "./chunk-IBZTDP72.mjs";
|
|
4
|
-
import {
|
|
5
|
-
use_autosize_textarea_default
|
|
6
|
-
} from "./chunk-7V4ORVQX.mjs";
|
|
7
|
-
import {
|
|
8
|
-
Label
|
|
9
|
-
} from "./chunk-2X3CZVEP.mjs";
|
|
10
|
-
import {
|
|
11
|
-
useHoveringEditorContext
|
|
12
|
-
} from "./chunk-UB4Y22EF.mjs";
|
|
13
|
-
import {
|
|
14
|
-
SourceSearchBox
|
|
15
|
-
} from "./chunk-AHNPJMBR.mjs";
|
|
16
|
-
import {
|
|
17
|
-
Button
|
|
18
|
-
} from "./chunk-LYNGBKJR.mjs";
|
|
19
|
-
import {
|
|
20
|
-
streamPromiseFlatten
|
|
21
|
-
} from "./chunk-WXKPRNNO.mjs";
|
|
22
|
-
import {
|
|
23
|
-
__async
|
|
24
|
-
} from "./chunk-MRXNTQOX.mjs";
|
|
25
|
-
|
|
26
|
-
// src/components/hovering-toolbar/text-insertion-prompt-box/hovering-insertion-prompt-box-core.tsx
|
|
27
|
-
import { useCopilotContext } from "@copilotkit/react-core";
|
|
28
|
-
import { useCallback, useEffect, useRef, useState } from "react";
|
|
29
|
-
import { Fragment, jsx, jsxs } from "react/jsx-runtime";
|
|
30
|
-
var HoveringInsertionPromptBoxCore = ({
|
|
31
|
-
performInsertion,
|
|
32
|
-
state,
|
|
33
|
-
insertionOrEditingFunction,
|
|
34
|
-
contextCategories
|
|
35
|
-
}) => {
|
|
36
|
-
const { getDocumentsContext } = useCopilotContext();
|
|
37
|
-
const [editSuggestion, setEditSuggestion] = useState("");
|
|
38
|
-
const [suggestionIsLoading, setSuggestionIsLoading] = useState(false);
|
|
39
|
-
const [adjustmentPrompt, setAdjustmentPrompt] = useState("");
|
|
40
|
-
const [generatingSuggestion, setGeneratingSuggestion] = useState(null);
|
|
41
|
-
const adjustmentTextAreaRef = useRef(null);
|
|
42
|
-
const suggestionTextAreaRef = useRef(null);
|
|
43
|
-
const [filePointers, setFilePointers] = useState([]);
|
|
44
|
-
const [suggestedFiles, setSuggestedFiles] = useState([]);
|
|
45
|
-
useEffect(() => {
|
|
46
|
-
setSuggestedFiles(getDocumentsContext(contextCategories));
|
|
47
|
-
}, [contextCategories, getDocumentsContext]);
|
|
48
|
-
use_autosize_textarea_default(suggestionTextAreaRef, editSuggestion || "");
|
|
49
|
-
use_autosize_textarea_default(adjustmentTextAreaRef, adjustmentPrompt || "");
|
|
50
|
-
useEffect(() => {
|
|
51
|
-
var _a;
|
|
52
|
-
(_a = adjustmentTextAreaRef.current) == null ? void 0 : _a.focus();
|
|
53
|
-
}, []);
|
|
54
|
-
useEffect(() => {
|
|
55
|
-
if (!generatingSuggestion) {
|
|
56
|
-
return;
|
|
57
|
-
}
|
|
58
|
-
if (generatingSuggestion.locked) {
|
|
59
|
-
return;
|
|
60
|
-
}
|
|
61
|
-
setEditSuggestion("");
|
|
62
|
-
const reader = generatingSuggestion.getReader();
|
|
63
|
-
const read = () => __async(void 0, null, function* () {
|
|
64
|
-
setSuggestionIsLoading(true);
|
|
65
|
-
while (true) {
|
|
66
|
-
const { done, value } = yield reader.read();
|
|
67
|
-
if (done) {
|
|
68
|
-
break;
|
|
69
|
-
}
|
|
70
|
-
setEditSuggestion((prev) => {
|
|
71
|
-
const newSuggestion = prev + value;
|
|
72
|
-
if (suggestionTextAreaRef.current) {
|
|
73
|
-
suggestionTextAreaRef.current.scrollTop = suggestionTextAreaRef.current.scrollHeight;
|
|
74
|
-
}
|
|
75
|
-
return newSuggestion;
|
|
76
|
-
});
|
|
77
|
-
}
|
|
78
|
-
setSuggestionIsLoading(false);
|
|
79
|
-
});
|
|
80
|
-
read();
|
|
81
|
-
return () => {
|
|
82
|
-
const releaseLockIfNotClosed = () => __async(void 0, null, function* () {
|
|
83
|
-
try {
|
|
84
|
-
yield reader.closed;
|
|
85
|
-
} catch (e) {
|
|
86
|
-
reader.releaseLock();
|
|
87
|
-
}
|
|
88
|
-
});
|
|
89
|
-
releaseLockIfNotClosed();
|
|
90
|
-
};
|
|
91
|
-
}, [generatingSuggestion]);
|
|
92
|
-
const beginGeneratingAdjustment = useCallback(() => __async(void 0, null, function* () {
|
|
93
|
-
if (!adjustmentPrompt.trim()) {
|
|
94
|
-
return;
|
|
95
|
-
}
|
|
96
|
-
let modificationState = state.editorState;
|
|
97
|
-
if (editSuggestion !== "") {
|
|
98
|
-
modificationState.selectedText = editSuggestion;
|
|
99
|
-
}
|
|
100
|
-
const adjustmentSuggestionTextStreamPromise = insertionOrEditingFunction(
|
|
101
|
-
modificationState,
|
|
102
|
-
adjustmentPrompt,
|
|
103
|
-
filePointers,
|
|
104
|
-
new AbortController().signal
|
|
105
|
-
);
|
|
106
|
-
const adjustmentSuggestionTextStream = streamPromiseFlatten(
|
|
107
|
-
adjustmentSuggestionTextStreamPromise
|
|
108
|
-
);
|
|
109
|
-
setGeneratingSuggestion(adjustmentSuggestionTextStream);
|
|
110
|
-
}), [
|
|
111
|
-
adjustmentPrompt,
|
|
112
|
-
editSuggestion,
|
|
113
|
-
state.editorState,
|
|
114
|
-
insertionOrEditingFunction,
|
|
115
|
-
filePointers
|
|
116
|
-
]);
|
|
117
|
-
const isLoading = suggestionIsLoading;
|
|
118
|
-
const textToEdit = editSuggestion || state.editorState.selectedText;
|
|
119
|
-
const adjustmentLabel = textToEdit === "" ? "Describe the text you want to insert" : "Describe adjustments to the suggested text";
|
|
120
|
-
const placeholder = textToEdit === "" ? "e.g. 'summarize the client's top 3 pain-points from @CallTranscript'" : "e.g. 'make it more formal', 'be more specific', ...";
|
|
121
|
-
const { setIsDisplayed } = useHoveringEditorContext();
|
|
122
|
-
const AdjustmentPromptComponent = /* @__PURE__ */ jsxs(Fragment, { children: [
|
|
123
|
-
/* @__PURE__ */ jsx(Label, { className: "", children: adjustmentLabel }),
|
|
124
|
-
/* @__PURE__ */ jsxs("div", { className: "relative w-full flex items-center", children: [
|
|
125
|
-
/* @__PURE__ */ jsx(
|
|
126
|
-
"textarea",
|
|
127
|
-
{
|
|
128
|
-
"data-testid": "adjustment-prompt",
|
|
129
|
-
disabled: suggestionIsLoading,
|
|
130
|
-
ref: adjustmentTextAreaRef,
|
|
131
|
-
value: adjustmentPrompt,
|
|
132
|
-
onChange: (e) => setAdjustmentPrompt(e.target.value),
|
|
133
|
-
onKeyDown: (e) => {
|
|
134
|
-
if (e.key === "Enter" && e.shiftKey) {
|
|
135
|
-
e.preventDefault();
|
|
136
|
-
setAdjustmentPrompt(adjustmentPrompt + "\n");
|
|
137
|
-
} else if (e.key === "Enter") {
|
|
138
|
-
e.preventDefault();
|
|
139
|
-
beginGeneratingAdjustment();
|
|
140
|
-
}
|
|
141
|
-
},
|
|
142
|
-
placeholder,
|
|
143
|
-
style: { minHeight: "3rem" },
|
|
144
|
-
className: "w-full bg-slate-100 h-auto h-min-14 text-sm p-2 rounded-md resize-none overflow-visible focus:outline-none focus:ring-0 focus:border-non pr-[3rem]",
|
|
145
|
-
rows: 1
|
|
146
|
-
}
|
|
147
|
-
),
|
|
148
|
-
/* @__PURE__ */ jsx(
|
|
149
|
-
"button",
|
|
150
|
-
{
|
|
151
|
-
onClick: beginGeneratingAdjustment,
|
|
152
|
-
className: "absolute right-2 bg-blue-500 text-white w-8 h-8 rounded-full flex items-center justify-center",
|
|
153
|
-
"data-testid": "generate-button",
|
|
154
|
-
children: /* @__PURE__ */ jsx("i", { className: "material-icons", children: "arrow_forward" })
|
|
155
|
-
}
|
|
156
|
-
)
|
|
157
|
-
] })
|
|
158
|
-
] });
|
|
159
|
-
const SuggestionComponent = /* @__PURE__ */ jsxs(Fragment, { children: [
|
|
160
|
-
/* @__PURE__ */ jsxs("div", { className: "flex justify-between items-end w-full", children: [
|
|
161
|
-
/* @__PURE__ */ jsx(Label, { className: "mt-4", children: "Suggested:" }),
|
|
162
|
-
/* @__PURE__ */ jsx("div", { className: "ml-auto", children: isLoading && /* @__PURE__ */ jsx("div", { className: "flex justify-center items-center", children: /* @__PURE__ */ jsx(
|
|
163
|
-
"div",
|
|
164
|
-
{
|
|
165
|
-
className: "inline-block h-4 w-4 animate-spin rounded-full border-4 border-solid border-current border-r-transparent align-[-0.125em] motion-reduce:animate-[spin_1.5s_linear_infinite]",
|
|
166
|
-
role: "status",
|
|
167
|
-
children: /* @__PURE__ */ jsx("span", { className: "!absolute !-m-px !h-px !w-px !overflow-hidden !whitespace-nowrap !border-0 !p-0 ![clip:rect(0,0,0,0)]", children: "Loading..." })
|
|
168
|
-
}
|
|
169
|
-
) }) })
|
|
170
|
-
] }),
|
|
171
|
-
/* @__PURE__ */ jsx(
|
|
172
|
-
"textarea",
|
|
173
|
-
{
|
|
174
|
-
"data-testid": "suggestion-result",
|
|
175
|
-
ref: suggestionTextAreaRef,
|
|
176
|
-
value: editSuggestion,
|
|
177
|
-
disabled: suggestionIsLoading,
|
|
178
|
-
onChange: (e) => setEditSuggestion(e.target.value),
|
|
179
|
-
className: "w-full text-base p-2 border border-gray-300 rounded-md resize-none bg-green-50",
|
|
180
|
-
style: { overflow: "auto", maxHeight: "10em" }
|
|
181
|
-
}
|
|
182
|
-
)
|
|
183
|
-
] });
|
|
184
|
-
const SubmitComponent = /* @__PURE__ */ jsx("div", { className: "flex w-full gap-4 justify-start", children: /* @__PURE__ */ jsxs(
|
|
185
|
-
Button,
|
|
186
|
-
{
|
|
187
|
-
"data-testid": "insert-button",
|
|
188
|
-
className: " bg-green-700 text-white",
|
|
189
|
-
onClick: () => {
|
|
190
|
-
performInsertion(editSuggestion);
|
|
191
|
-
},
|
|
192
|
-
children: [
|
|
193
|
-
"Insert ",
|
|
194
|
-
/* @__PURE__ */ jsx("i", { className: "material-icons", children: "check" })
|
|
195
|
-
]
|
|
196
|
-
}
|
|
197
|
-
) });
|
|
198
|
-
const sourceSearchCandidate = adjustmentPrompt.split(" ").pop();
|
|
199
|
-
const sourceSearchWord = (sourceSearchCandidate == null ? void 0 : sourceSearchCandidate.startsWith("@")) ? sourceSearchCandidate.slice(1) : void 0;
|
|
200
|
-
return /* @__PURE__ */ jsxs("div", { className: "w-full flex flex-col items-start relative gap-2", children: [
|
|
201
|
-
AdjustmentPromptComponent,
|
|
202
|
-
filePointers.length > 0 && /* @__PURE__ */ jsx(
|
|
203
|
-
IncludedFilesPreview,
|
|
204
|
-
{
|
|
205
|
-
includedFiles: filePointers,
|
|
206
|
-
setIncludedFiles: setFilePointers
|
|
207
|
-
}
|
|
208
|
-
),
|
|
209
|
-
sourceSearchWord !== void 0 && /* @__PURE__ */ jsx(
|
|
210
|
-
SourceSearchBox,
|
|
211
|
-
{
|
|
212
|
-
searchTerm: sourceSearchWord,
|
|
213
|
-
suggestedFiles,
|
|
214
|
-
onSelectedFile: (filePointer) => {
|
|
215
|
-
var _a;
|
|
216
|
-
setAdjustmentPrompt(
|
|
217
|
-
adjustmentPrompt.replace(new RegExp(`@${sourceSearchWord}$`), "")
|
|
218
|
-
);
|
|
219
|
-
setFilePointers((prev) => [...prev, filePointer]);
|
|
220
|
-
(_a = adjustmentTextAreaRef.current) == null ? void 0 : _a.focus();
|
|
221
|
-
}
|
|
222
|
-
}
|
|
223
|
-
),
|
|
224
|
-
generatingSuggestion ? SuggestionComponent : null,
|
|
225
|
-
generatingSuggestion ? SubmitComponent : null
|
|
226
|
-
] });
|
|
227
|
-
};
|
|
228
|
-
|
|
229
|
-
export {
|
|
230
|
-
HoveringInsertionPromptBoxCore
|
|
231
|
-
};
|
|
232
|
-
//# sourceMappingURL=chunk-3WLGLZTY.mjs.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/components/hovering-toolbar/text-insertion-prompt-box/hovering-insertion-prompt-box-core.tsx"],"sourcesContent":["import useAutosizeTextArea from \"../../../hooks/misc/use-autosize-textarea\";\nimport {\n EditingEditorState,\n Generator_InsertionOrEditingSuggestion,\n} from \"../../../types/base/autosuggestions-bare-function\";\nimport { SourceSearchBox } from \"../../source-search-box/source-search-box\";\nimport { DocumentPointer, useCopilotContext } from \"@copilotkit/react-core\";\nimport { Button } from \"../../ui/button\";\nimport { Label } from \"../../ui/label\";\nimport { useCallback, useEffect, useRef, useState } from \"react\";\n\nimport { streamPromiseFlatten } from \"../../../lib/stream-promise-flatten\";\nimport { IncludedFilesPreview } from \"./included-files-preview\";\nimport { useHoveringEditorContext } from \"../hovering-editor-provider\";\n\nexport type SuggestionState = {\n editorState: EditingEditorState;\n};\n\nexport interface HoveringInsertionPromptBoxCoreProps {\n state: SuggestionState;\n performInsertion: (insertedText: string) => void;\n insertionOrEditingFunction: Generator_InsertionOrEditingSuggestion;\n contextCategories: string[];\n}\n\nexport const HoveringInsertionPromptBoxCore = ({\n performInsertion,\n state,\n insertionOrEditingFunction,\n contextCategories,\n}: HoveringInsertionPromptBoxCoreProps) => {\n const { getDocumentsContext } = useCopilotContext();\n\n const [editSuggestion, setEditSuggestion] = useState<string>(\"\");\n const [suggestionIsLoading, setSuggestionIsLoading] =\n useState<boolean>(false);\n\n const [adjustmentPrompt, setAdjustmentPrompt] = useState<string>(\"\");\n\n const [generatingSuggestion, setGeneratingSuggestion] =\n useState<ReadableStream<string> | null>(null);\n\n const adjustmentTextAreaRef = useRef<HTMLTextAreaElement>(null);\n const suggestionTextAreaRef = useRef<HTMLTextAreaElement>(null);\n\n const [filePointers, setFilePointers] = useState<DocumentPointer[]>([]);\n\n const [suggestedFiles, setSuggestedFiles] = useState<DocumentPointer[]>([]);\n useEffect(() => {\n setSuggestedFiles(getDocumentsContext(contextCategories));\n }, [contextCategories, getDocumentsContext]);\n\n useAutosizeTextArea(suggestionTextAreaRef, editSuggestion || \"\");\n useAutosizeTextArea(adjustmentTextAreaRef, adjustmentPrompt || \"\");\n\n // initially focus on the adjustment prompt text area\n useEffect(() => {\n adjustmentTextAreaRef.current?.focus();\n }, []);\n\n // continuously read the generating suggestion stream and update the edit suggestion\n useEffect(() => {\n // if no generating suggestion, do nothing\n if (!generatingSuggestion) {\n return;\n }\n\n // Check if the stream is already locked (i.e. already reading from it)\n if (generatingSuggestion.locked) {\n return;\n }\n\n // reset the edit suggestion\n setEditSuggestion(\"\");\n\n // read the generating suggestion stream and continuously update the edit suggestion\n const reader = generatingSuggestion.getReader();\n const read = async () => {\n setSuggestionIsLoading(true);\n while (true) {\n const { done, value } = await reader.read();\n if (done) {\n break;\n }\n setEditSuggestion((prev) => {\n const newSuggestion = prev + value;\n\n // Scroll to the bottom of the textarea. We call this here to make sure scroll-to-bottom is synchronous with the state update.\n if (suggestionTextAreaRef.current) {\n suggestionTextAreaRef.current.scrollTop =\n suggestionTextAreaRef.current.scrollHeight;\n }\n return newSuggestion;\n });\n }\n\n setSuggestionIsLoading(false);\n };\n read();\n\n return () => {\n // release the lock if the reader is not closed on unmount\n const releaseLockIfNotClosed = async () => {\n try {\n await reader.closed;\n } catch {\n reader.releaseLock();\n }\n };\n\n releaseLockIfNotClosed();\n };\n }, [generatingSuggestion]);\n\n // generate an adjustment to the completed text, based on the adjustment prompt\n const beginGeneratingAdjustment = useCallback(async () => {\n // don't generate text if the prompt is empty\n if (!adjustmentPrompt.trim()) {\n return;\n }\n\n // editor state includes the text being edited, and the text before/after the selection\n // if the current edit suggestion is not empty, then use *it* as the \"selected text\" - instead of the editor state's selected text\n let modificationState = state.editorState;\n if (editSuggestion !== \"\") {\n modificationState.selectedText = editSuggestion;\n }\n\n // generate the adjustment suggestion\n const adjustmentSuggestionTextStreamPromise = insertionOrEditingFunction(\n modificationState,\n adjustmentPrompt,\n filePointers,\n new AbortController().signal,\n );\n const adjustmentSuggestionTextStream = streamPromiseFlatten(\n adjustmentSuggestionTextStreamPromise,\n );\n\n setGeneratingSuggestion(adjustmentSuggestionTextStream);\n }, [\n adjustmentPrompt,\n editSuggestion,\n state.editorState,\n insertionOrEditingFunction,\n filePointers,\n ]);\n\n const isLoading = suggestionIsLoading;\n\n const textToEdit = editSuggestion || state.editorState.selectedText;\n const adjustmentLabel =\n textToEdit === \"\"\n ? \"Describe the text you want to insert\"\n : \"Describe adjustments to the suggested text\";\n const placeholder =\n textToEdit === \"\"\n ? \"e.g. 'summarize the client's top 3 pain-points from @CallTranscript'\"\n : \"e.g. 'make it more formal', 'be more specific', ...\";\n\n const { setIsDisplayed } = useHoveringEditorContext();\n\n const AdjustmentPromptComponent = (\n <>\n <Label className=\"\">{adjustmentLabel}</Label>\n <div className=\"relative w-full flex items-center\">\n <textarea\n data-testid=\"adjustment-prompt\"\n disabled={suggestionIsLoading}\n ref={adjustmentTextAreaRef}\n value={adjustmentPrompt}\n onChange={(e) => setAdjustmentPrompt(e.target.value)}\n onKeyDown={(e) => {\n if (e.key === \"Enter\" && e.shiftKey) {\n e.preventDefault();\n setAdjustmentPrompt(adjustmentPrompt + \"\\n\");\n } else if (e.key === \"Enter\") {\n e.preventDefault();\n beginGeneratingAdjustment();\n }\n }}\n placeholder={placeholder}\n style={{ minHeight: \"3rem\" }}\n className=\"w-full bg-slate-100 h-auto h-min-14 text-sm p-2 rounded-md resize-none overflow-visible focus:outline-none focus:ring-0 focus:border-non pr-[3rem]\"\n rows={1}\n />\n <button\n onClick={beginGeneratingAdjustment}\n className=\"absolute right-2 bg-blue-500 text-white w-8 h-8 rounded-full flex items-center justify-center\"\n data-testid=\"generate-button\"\n >\n <i className=\"material-icons\">arrow_forward</i>\n </button>\n </div>\n </>\n );\n\n const SuggestionComponent = (\n <>\n <div className=\"flex justify-between items-end w-full\">\n <Label className=\"mt-4\">Suggested:</Label>\n <div className=\"ml-auto\">\n {isLoading && (\n <div className=\"flex justify-center items-center\">\n <div\n className=\"inline-block h-4 w-4 animate-spin rounded-full border-4 border-solid border-current border-r-transparent align-[-0.125em] motion-reduce:animate-[spin_1.5s_linear_infinite]\"\n role=\"status\"\n >\n <span className=\"!absolute !-m-px !h-px !w-px !overflow-hidden !whitespace-nowrap !border-0 !p-0 ![clip:rect(0,0,0,0)]\">\n Loading...\n </span>\n </div>\n </div>\n )}\n </div>\n </div>\n <textarea\n data-testid=\"suggestion-result\"\n ref={suggestionTextAreaRef}\n value={editSuggestion}\n disabled={suggestionIsLoading}\n onChange={(e) => setEditSuggestion(e.target.value)}\n className=\"w-full text-base p-2 border border-gray-300 rounded-md resize-none bg-green-50\"\n style={{ overflow: \"auto\", maxHeight: \"10em\" }}\n />\n </>\n );\n\n const SubmitComponent = (\n <div className=\"flex w-full gap-4 justify-start\">\n <Button\n data-testid=\"insert-button\"\n className=\" bg-green-700 text-white\"\n onClick={() => {\n performInsertion(editSuggestion);\n }}\n >\n Insert <i className=\"material-icons\">check</i>\n </Button>\n </div>\n );\n\n // show source search if the last word in the adjustment prompt BEGINS with an @\n const sourceSearchCandidate = adjustmentPrompt.split(\" \").pop();\n // if the candidate is @someCandidate, then 'someCandidate', otherwise undefined\n const sourceSearchWord = sourceSearchCandidate?.startsWith(\"@\")\n ? sourceSearchCandidate.slice(1)\n : undefined;\n\n return (\n <div className=\"w-full flex flex-col items-start relative gap-2\">\n {AdjustmentPromptComponent}\n {filePointers.length > 0 && (\n <IncludedFilesPreview\n includedFiles={filePointers}\n setIncludedFiles={setFilePointers}\n />\n )}\n {sourceSearchWord !== undefined && (\n <SourceSearchBox\n searchTerm={sourceSearchWord}\n suggestedFiles={suggestedFiles}\n onSelectedFile={(filePointer) => {\n setAdjustmentPrompt(\n adjustmentPrompt.replace(new RegExp(`@${sourceSearchWord}$`), \"\"),\n );\n setFilePointers((prev) => [...prev, filePointer]);\n\n // focus back on the adjustment prompt, and move the cursor to the end\n adjustmentTextAreaRef.current?.focus();\n }}\n />\n )}\n {generatingSuggestion ? SuggestionComponent : null}\n {generatingSuggestion ? SubmitComponent : null}\n </div>\n );\n};\n"],"mappings":"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","names":[]}
|
package/dist/chunk-5UNJXFUO.mjs
DELETED
|
@@ -1,29 +0,0 @@
|
|
|
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
|
-
}
|
|
25
|
-
|
|
26
|
-
export {
|
|
27
|
-
replaceEditorText
|
|
28
|
-
};
|
|
29
|
-
//# sourceMappingURL=chunk-5UNJXFUO.mjs.map
|
|
@@ -1 +0,0 @@
|
|
|
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":[]}
|
package/dist/chunk-7GZWOXE4.mjs
DELETED
|
@@ -1,70 +0,0 @@
|
|
|
1
|
-
import {
|
|
2
|
-
defaultShouldSave,
|
|
3
|
-
withPartialHistory
|
|
4
|
-
} from "./chunk-PDFIUPCS.mjs";
|
|
5
|
-
|
|
6
|
-
// src/hooks/base-copilot-textarea-implementation/use-copilot-textarea-editor.tsx
|
|
7
|
-
import { useMemo } from "react";
|
|
8
|
-
import { createEditor, Element } from "slate";
|
|
9
|
-
import { withReact } from "slate-react";
|
|
10
|
-
var shouldSave = (op, prev) => {
|
|
11
|
-
const excludedNodeType = "suggestion";
|
|
12
|
-
if (op.type === "insert_node" && Element.isElement(op.node) && op.node.type === excludedNodeType) {
|
|
13
|
-
return false;
|
|
14
|
-
}
|
|
15
|
-
if (op.type === "remove_node" && Element.isElement(op.node) && op.node.type === excludedNodeType) {
|
|
16
|
-
return false;
|
|
17
|
-
}
|
|
18
|
-
if (op.type === "set_node" && "type" in op.newProperties && op.newProperties.type === excludedNodeType) {
|
|
19
|
-
return false;
|
|
20
|
-
}
|
|
21
|
-
if (op.type == "set_node" && "type" in op.properties && op.properties.type === excludedNodeType) {
|
|
22
|
-
return false;
|
|
23
|
-
}
|
|
24
|
-
if (op.type === "merge_node" && "type" in op.properties && op.properties.type === excludedNodeType) {
|
|
25
|
-
return false;
|
|
26
|
-
}
|
|
27
|
-
if (op.type === "split_node" && "type" in op.properties && op.properties.type === excludedNodeType) {
|
|
28
|
-
return false;
|
|
29
|
-
}
|
|
30
|
-
return defaultShouldSave(op, prev);
|
|
31
|
-
};
|
|
32
|
-
function useCopilotTextareaEditor() {
|
|
33
|
-
const editor = useMemo(() => {
|
|
34
|
-
const editor2 = withPartialHistory(withReact(createEditor()), shouldSave);
|
|
35
|
-
const { isVoid } = editor2;
|
|
36
|
-
editor2.isVoid = (element) => {
|
|
37
|
-
switch (element.type) {
|
|
38
|
-
case "suggestion":
|
|
39
|
-
return true;
|
|
40
|
-
default:
|
|
41
|
-
return isVoid(element);
|
|
42
|
-
}
|
|
43
|
-
};
|
|
44
|
-
const { markableVoid } = editor2;
|
|
45
|
-
editor2.markableVoid = (element) => {
|
|
46
|
-
switch (element.type) {
|
|
47
|
-
case "suggestion":
|
|
48
|
-
return true;
|
|
49
|
-
default:
|
|
50
|
-
return markableVoid(element);
|
|
51
|
-
}
|
|
52
|
-
};
|
|
53
|
-
const { isInline } = editor2;
|
|
54
|
-
editor2.isInline = (element) => {
|
|
55
|
-
switch (element.type) {
|
|
56
|
-
case "suggestion":
|
|
57
|
-
return element.inline;
|
|
58
|
-
default:
|
|
59
|
-
return isInline(element);
|
|
60
|
-
}
|
|
61
|
-
};
|
|
62
|
-
return editor2;
|
|
63
|
-
}, []);
|
|
64
|
-
return editor;
|
|
65
|
-
}
|
|
66
|
-
|
|
67
|
-
export {
|
|
68
|
-
useCopilotTextareaEditor
|
|
69
|
-
};
|
|
70
|
-
//# sourceMappingURL=chunk-7GZWOXE4.mjs.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/hooks/base-copilot-textarea-implementation/use-copilot-textarea-editor.tsx"],"sourcesContent":["import { useMemo } from \"react\";\nimport { createEditor, Element } from \"slate\";\nimport { withReact } from \"slate-react\";\nimport {\n defaultShouldSave,\n ShouldSaveToHistory,\n withPartialHistory,\n} from \"../../lib/slatejs-edits/with-partial-history\";\nimport { CustomEditor } from \"../../types/base/custom-editor\";\n\nconst shouldSave: ShouldSaveToHistory = (op, prev) => {\n const excludedNodeType = \"suggestion\";\n // Check if the operation involves the suggestion inline node type\n if (\n op.type === \"insert_node\" &&\n Element.isElement(op.node) &&\n op.node.type === excludedNodeType\n ) {\n return false;\n }\n\n if (\n op.type === \"remove_node\" &&\n Element.isElement(op.node) &&\n op.node.type === excludedNodeType\n ) {\n return false;\n }\n\n if (\n op.type === \"set_node\" &&\n \"type\" in op.newProperties &&\n op.newProperties.type === excludedNodeType\n ) {\n return false;\n }\n\n if (\n op.type == \"set_node\" &&\n \"type\" in op.properties &&\n op.properties.type === excludedNodeType\n ) {\n return false;\n }\n\n if (\n op.type === \"merge_node\" &&\n \"type\" in op.properties &&\n op.properties.type === excludedNodeType\n ) {\n return false;\n }\n\n if (\n op.type === \"split_node\" &&\n \"type\" in op.properties &&\n op.properties.type === excludedNodeType\n ) {\n return false;\n }\n\n // Otherwise, save the operation to history\n return defaultShouldSave(op, prev);\n};\n\nexport function useCopilotTextareaEditor(): CustomEditor {\n const editor = useMemo(() => {\n const editor = withPartialHistory(withReact(createEditor()), shouldSave);\n\n const { isVoid } = editor;\n editor.isVoid = (element) => {\n switch (element.type) {\n case \"suggestion\":\n return true;\n default:\n return isVoid(element);\n }\n };\n\n const { markableVoid } = editor;\n editor.markableVoid = (element) => {\n switch (element.type) {\n case \"suggestion\":\n return true;\n default:\n return markableVoid(element);\n }\n };\n\n const { isInline } = editor;\n editor.isInline = (element) => {\n switch (element.type) {\n case \"suggestion\":\n return element.inline;\n default:\n return isInline(element);\n }\n };\n\n return editor;\n }, []);\n\n return editor;\n}\n"],"mappings":";;;;;;AAAA,SAAS,eAAe;AACxB,SAAS,cAAc,eAAe;AACtC,SAAS,iBAAiB;AAQ1B,IAAM,aAAkC,CAAC,IAAI,SAAS;AACpD,QAAM,mBAAmB;AAEzB,MACE,GAAG,SAAS,iBACZ,QAAQ,UAAU,GAAG,IAAI,KACzB,GAAG,KAAK,SAAS,kBACjB;AACA,WAAO;AAAA,EACT;AAEA,MACE,GAAG,SAAS,iBACZ,QAAQ,UAAU,GAAG,IAAI,KACzB,GAAG,KAAK,SAAS,kBACjB;AACA,WAAO;AAAA,EACT;AAEA,MACE,GAAG,SAAS,cACZ,UAAU,GAAG,iBACb,GAAG,cAAc,SAAS,kBAC1B;AACA,WAAO;AAAA,EACT;AAEA,MACE,GAAG,QAAQ,cACX,UAAU,GAAG,cACb,GAAG,WAAW,SAAS,kBACvB;AACA,WAAO;AAAA,EACT;AAEA,MACE,GAAG,SAAS,gBACZ,UAAU,GAAG,cACb,GAAG,WAAW,SAAS,kBACvB;AACA,WAAO;AAAA,EACT;AAEA,MACE,GAAG,SAAS,gBACZ,UAAU,GAAG,cACb,GAAG,WAAW,SAAS,kBACvB;AACA,WAAO;AAAA,EACT;AAGA,SAAO,kBAAkB,IAAI,IAAI;AACnC;AAEO,SAAS,2BAAyC;AACvD,QAAM,SAAS,QAAQ,MAAM;AAC3B,UAAMA,UAAS,mBAAmB,UAAU,aAAa,CAAC,GAAG,UAAU;AAEvE,UAAM,EAAE,OAAO,IAAIA;AACnB,IAAAA,QAAO,SAAS,CAAC,YAAY;AAC3B,cAAQ,QAAQ,MAAM;AAAA,QACpB,KAAK;AACH,iBAAO;AAAA,QACT;AACE,iBAAO,OAAO,OAAO;AAAA,MACzB;AAAA,IACF;AAEA,UAAM,EAAE,aAAa,IAAIA;AACzB,IAAAA,QAAO,eAAe,CAAC,YAAY;AACjC,cAAQ,QAAQ,MAAM;AAAA,QACpB,KAAK;AACH,iBAAO;AAAA,QACT;AACE,iBAAO,aAAa,OAAO;AAAA,MAC/B;AAAA,IACF;AAEA,UAAM,EAAE,SAAS,IAAIA;AACrB,IAAAA,QAAO,WAAW,CAAC,YAAY;AAC7B,cAAQ,QAAQ,MAAM;AAAA,QACpB,KAAK;AACH,iBAAO,QAAQ;AAAA,QACjB;AACE,iBAAO,SAAS,OAAO;AAAA,MAC3B;AAAA,IACF;AAEA,WAAOA;AAAA,EACT,GAAG,CAAC,CAAC;AAEL,SAAO;AACT;","names":["editor"]}
|
package/dist/chunk-7V4ORVQX.mjs
DELETED
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
// src/hooks/misc/use-autosize-textarea.tsx
|
|
2
|
-
import { useEffect } from "react";
|
|
3
|
-
var useAutosizeTextArea = (textAreaRef, value) => {
|
|
4
|
-
useEffect(() => {
|
|
5
|
-
if (textAreaRef.current !== null) {
|
|
6
|
-
textAreaRef.current.style.height = "0px";
|
|
7
|
-
const scrollHeight = textAreaRef.current.scrollHeight;
|
|
8
|
-
textAreaRef.current.style.height = scrollHeight + "px";
|
|
9
|
-
}
|
|
10
|
-
}, [textAreaRef, value]);
|
|
11
|
-
};
|
|
12
|
-
var use_autosize_textarea_default = useAutosizeTextArea;
|
|
13
|
-
|
|
14
|
-
export {
|
|
15
|
-
use_autosize_textarea_default
|
|
16
|
-
};
|
|
17
|
-
//# sourceMappingURL=chunk-7V4ORVQX.mjs.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/hooks/misc/use-autosize-textarea.tsx"],"sourcesContent":["import { Ref, RefObject, useEffect } from \"react\";\n\n// Updates the height of a <textarea> when the value changes.\nconst useAutosizeTextArea = (\n textAreaRef: RefObject<HTMLTextAreaElement | null>,\n value: string,\n) => {\n useEffect(() => {\n if (textAreaRef.current !== null) {\n // We need to reset the height momentarily to get the correct scrollHeight for the textarea\n textAreaRef.current.style.height = \"0px\";\n const scrollHeight = textAreaRef.current.scrollHeight;\n\n // We then set the height directly, outside of the render loop\n // Trying to set this with state or a ref will product an incorrect value.\n textAreaRef.current.style.height = scrollHeight + \"px\";\n }\n }, [textAreaRef, value]);\n};\n\nexport default useAutosizeTextArea;\n"],"mappings":";AAAA,SAAyB,iBAAiB;AAG1C,IAAM,sBAAsB,CAC1B,aACA,UACG;AACH,YAAU,MAAM;AACd,QAAI,YAAY,YAAY,MAAM;AAEhC,kBAAY,QAAQ,MAAM,SAAS;AACnC,YAAM,eAAe,YAAY,QAAQ;AAIzC,kBAAY,QAAQ,MAAM,SAAS,eAAe;AAAA,IACpD;AAAA,EACF,GAAG,CAAC,aAAa,KAAK,CAAC;AACzB;AAEA,IAAO,gCAAQ;","names":[]}
|