@prosekit/extensions 0.11.4 → 0.11.6
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/dist/commit/style.css +2 -0
- package/dist/commit/style.css.map +1 -0
- package/dist/commit/style.js +1 -0
- package/dist/drop-indicator-E7nCfdnR.js +58 -0
- package/dist/drop-indicator-E7nCfdnR.js.map +1 -0
- package/dist/enter-rule-RdhEA900.js +2 -1
- package/dist/enter-rule-RdhEA900.js.map +1 -0
- package/dist/file-DVUhe5KJ.js +134 -0
- package/dist/file-DVUhe5KJ.js.map +1 -0
- package/dist/gap-cursor/style.css +2 -0
- package/dist/gap-cursor/style.css.map +1 -0
- package/dist/gap-cursor/style.js +1 -0
- package/dist/index-DY6lIIYV.d.ts +134 -0
- package/dist/index-DY6lIIYV.d.ts.map +1 -0
- package/dist/{input-rule-Gji4N7Oe.js → input-rule-B17tpW4m.js} +3 -3
- package/dist/input-rule-B17tpW4m.js.map +1 -0
- package/dist/list/style.css +2 -0
- package/dist/list/style.css.map +1 -0
- package/dist/list/style.js +1 -0
- package/dist/loro/style.css +2 -0
- package/dist/loro/style.css.map +1 -0
- package/dist/loro/style.js +1 -0
- package/dist/{mark-rule-D7zaa32n.js → mark-rule-CGmswjQ_.js} +3 -3
- package/dist/mark-rule-CGmswjQ_.js.map +1 -0
- package/dist/{paste-rule-Cca3n5TA.js → paste-rule-BIztzELg.js} +5 -15
- package/dist/paste-rule-BIztzELg.js.map +1 -0
- package/dist/placeholder/style.css +2 -0
- package/dist/placeholder/style.css.map +1 -0
- package/dist/placeholder/style.js +1 -0
- package/dist/prosekit-extensions-autocomplete.d.ts +2 -1
- package/dist/prosekit-extensions-autocomplete.d.ts.map +1 -0
- package/dist/prosekit-extensions-autocomplete.js +2 -9
- package/dist/prosekit-extensions-autocomplete.js.map +1 -0
- package/dist/prosekit-extensions-blockquote.d.ts +2 -1
- package/dist/prosekit-extensions-blockquote.d.ts.map +1 -0
- package/dist/prosekit-extensions-blockquote.js +4 -4
- package/dist/prosekit-extensions-blockquote.js.map +1 -0
- package/dist/prosekit-extensions-bold.d.ts +2 -1
- package/dist/prosekit-extensions-bold.d.ts.map +1 -0
- package/dist/prosekit-extensions-bold.js +3 -2
- package/dist/prosekit-extensions-bold.js.map +1 -0
- package/dist/prosekit-extensions-code-block.d.ts +3 -2
- package/dist/prosekit-extensions-code-block.d.ts.map +1 -0
- package/dist/prosekit-extensions-code-block.js +5 -6
- package/dist/prosekit-extensions-code-block.js.map +1 -0
- package/dist/prosekit-extensions-code.d.ts +2 -1
- package/dist/prosekit-extensions-code.d.ts.map +1 -0
- package/dist/prosekit-extensions-code.js +3 -2
- package/dist/prosekit-extensions-code.js.map +1 -0
- package/dist/prosekit-extensions-commit.d.ts +2 -1
- package/dist/prosekit-extensions-commit.d.ts.map +1 -0
- package/dist/prosekit-extensions-commit.js +11 -13
- package/dist/prosekit-extensions-commit.js.map +1 -0
- package/dist/prosekit-extensions-doc.d.ts +2 -1
- package/dist/prosekit-extensions-doc.d.ts.map +1 -0
- package/dist/prosekit-extensions-doc.js +2 -1
- package/dist/prosekit-extensions-doc.js.map +1 -0
- package/dist/prosekit-extensions-drop-cursor.d.ts +2 -1
- package/dist/prosekit-extensions-drop-cursor.d.ts.map +1 -0
- package/dist/prosekit-extensions-drop-cursor.js +2 -1
- package/dist/prosekit-extensions-drop-cursor.js.map +1 -0
- package/dist/prosekit-extensions-drop-indicator.d.ts +5 -107
- package/dist/prosekit-extensions-drop-indicator.d.ts.map +1 -0
- package/dist/prosekit-extensions-drop-indicator.js +1 -1
- package/dist/prosekit-extensions-enter-rule.d.ts +2 -1
- package/dist/prosekit-extensions-enter-rule.d.ts.map +1 -0
- package/dist/prosekit-extensions-file.d.ts +2 -125
- package/dist/prosekit-extensions-file.js +1 -139
- package/dist/prosekit-extensions-gap-cursor.d.ts +2 -2
- package/dist/prosekit-extensions-gap-cursor.d.ts.map +1 -0
- package/dist/prosekit-extensions-gap-cursor.js +2 -1
- package/dist/prosekit-extensions-gap-cursor.js.map +1 -0
- package/dist/prosekit-extensions-hard-break.d.ts +2 -5
- package/dist/prosekit-extensions-hard-break.d.ts.map +1 -0
- package/dist/prosekit-extensions-hard-break.js +2 -1
- package/dist/prosekit-extensions-hard-break.js.map +1 -0
- package/dist/prosekit-extensions-heading.d.ts +2 -1
- package/dist/prosekit-extensions-heading.d.ts.map +1 -0
- package/dist/prosekit-extensions-heading.js +5 -6
- package/dist/prosekit-extensions-heading.js.map +1 -0
- package/dist/prosekit-extensions-horizontal-rule.d.ts +2 -1
- package/dist/prosekit-extensions-horizontal-rule.d.ts.map +1 -0
- package/dist/prosekit-extensions-horizontal-rule.js +5 -6
- package/dist/prosekit-extensions-horizontal-rule.js.map +1 -0
- package/dist/prosekit-extensions-image.d.ts +80 -3
- package/dist/prosekit-extensions-image.d.ts.map +1 -0
- package/dist/prosekit-extensions-image.js +90 -10
- package/dist/prosekit-extensions-image.js.map +1 -0
- package/dist/prosekit-extensions-input-rule.d.ts +2 -1
- package/dist/prosekit-extensions-input-rule.d.ts.map +1 -0
- package/dist/prosekit-extensions-input-rule.js +1 -1
- package/dist/prosekit-extensions-italic.d.ts +2 -1
- package/dist/prosekit-extensions-italic.d.ts.map +1 -0
- package/dist/prosekit-extensions-italic.js +3 -2
- package/dist/prosekit-extensions-italic.js.map +1 -0
- package/dist/prosekit-extensions-link.d.ts +2 -1
- package/dist/prosekit-extensions-link.d.ts.map +1 -0
- package/dist/prosekit-extensions-link.js +6 -5
- package/dist/prosekit-extensions-link.js.map +1 -0
- package/dist/prosekit-extensions-list.d.ts +22 -21
- package/dist/prosekit-extensions-list.d.ts.map +1 -0
- package/dist/prosekit-extensions-list.js +7 -8
- package/dist/prosekit-extensions-list.js.map +1 -0
- package/dist/prosekit-extensions-loro.d.ts +14 -13
- package/dist/prosekit-extensions-loro.d.ts.map +1 -0
- package/dist/prosekit-extensions-loro.js +2 -1
- package/dist/prosekit-extensions-loro.js.map +1 -0
- package/dist/prosekit-extensions-mark-rule.d.ts +2 -1
- package/dist/prosekit-extensions-mark-rule.d.ts.map +1 -0
- package/dist/prosekit-extensions-mark-rule.js +1 -1
- package/dist/prosekit-extensions-mention.d.ts +2 -1
- package/dist/prosekit-extensions-mention.d.ts.map +1 -0
- package/dist/prosekit-extensions-mention.js +2 -1
- package/dist/prosekit-extensions-mention.js.map +1 -0
- package/dist/prosekit-extensions-mod-click-prevention.d.ts +2 -1
- package/dist/prosekit-extensions-mod-click-prevention.d.ts.map +1 -0
- package/dist/prosekit-extensions-mod-click-prevention.js +2 -1
- package/dist/prosekit-extensions-mod-click-prevention.js.map +1 -0
- package/dist/prosekit-extensions-paragraph.d.ts +2 -5
- package/dist/prosekit-extensions-paragraph.d.ts.map +1 -0
- package/dist/prosekit-extensions-paragraph.js +2 -1
- package/dist/prosekit-extensions-paragraph.js.map +1 -0
- package/dist/prosekit-extensions-paste-rule.d.ts +2 -1
- package/dist/prosekit-extensions-paste-rule.d.ts.map +1 -0
- package/dist/prosekit-extensions-paste-rule.js +1 -1
- package/dist/prosekit-extensions-placeholder.d.ts +2 -1
- package/dist/prosekit-extensions-placeholder.d.ts.map +1 -0
- package/dist/prosekit-extensions-placeholder.js +5 -5
- package/dist/prosekit-extensions-placeholder.js.map +1 -0
- package/dist/prosekit-extensions-readonly.d.ts +2 -1
- package/dist/prosekit-extensions-readonly.d.ts.map +1 -0
- package/dist/prosekit-extensions-readonly.js +2 -1
- package/dist/prosekit-extensions-readonly.js.map +1 -0
- package/dist/prosekit-extensions-search.d.ts +2 -1
- package/dist/prosekit-extensions-search.d.ts.map +1 -0
- package/dist/prosekit-extensions-search.js +3 -3
- package/dist/prosekit-extensions-search.js.map +1 -0
- package/dist/prosekit-extensions-strike.d.ts +2 -1
- package/dist/prosekit-extensions-strike.d.ts.map +1 -0
- package/dist/prosekit-extensions-strike.js +3 -2
- package/dist/prosekit-extensions-strike.js.map +1 -0
- package/dist/prosekit-extensions-table.d.ts +47 -114
- package/dist/prosekit-extensions-table.d.ts.map +1 -0
- package/dist/prosekit-extensions-table.js +2 -2
- package/dist/prosekit-extensions-text-align.d.ts +2 -1
- package/dist/prosekit-extensions-text-align.d.ts.map +1 -0
- package/dist/prosekit-extensions-text-align.js +2 -1
- package/dist/prosekit-extensions-text-align.js.map +1 -0
- package/dist/prosekit-extensions-text.d.ts +2 -1
- package/dist/prosekit-extensions-text.d.ts.map +1 -0
- package/dist/prosekit-extensions-text.js +2 -1
- package/dist/prosekit-extensions-text.js.map +1 -0
- package/dist/prosekit-extensions-underline.d.ts +2 -1
- package/dist/prosekit-extensions-underline.d.ts.map +1 -0
- package/dist/prosekit-extensions-underline.js +2 -1
- package/dist/prosekit-extensions-underline.js.map +1 -0
- package/dist/prosekit-extensions-virtual-selection.d.ts +2 -1
- package/dist/prosekit-extensions-virtual-selection.d.ts.map +1 -0
- package/dist/prosekit-extensions-virtual-selection.js +3 -3
- package/dist/prosekit-extensions-virtual-selection.js.map +1 -0
- package/dist/prosekit-extensions-yjs.d.ts +2 -1
- package/dist/prosekit-extensions-yjs.d.ts.map +1 -0
- package/dist/prosekit-extensions-yjs.js +2 -1
- package/dist/prosekit-extensions-yjs.js.map +1 -0
- package/dist/prosekit-extensions.js +1 -0
- package/dist/search/style.css +2 -0
- package/dist/search/style.css.map +1 -0
- package/dist/search/style.js +1 -0
- package/dist/{shiki-highlighter-chunk-DSPM0T27.d.ts → shiki-highlighter-chunk-Cwu1Jr9o.d.ts} +2 -1
- package/dist/shiki-highlighter-chunk-Cwu1Jr9o.d.ts.map +1 -0
- package/dist/shiki-highlighter-chunk.d.ts +1 -1
- package/dist/shiki-highlighter-chunk.js +3 -5
- package/dist/shiki-highlighter-chunk.js.map +1 -0
- package/dist/table/style.css +2 -0
- package/dist/table/style.css.map +1 -0
- package/dist/table/style.js +1 -0
- package/dist/table-BNwuK7xg.js +297 -0
- package/dist/table-BNwuK7xg.js.map +1 -0
- package/dist/virtual-selection/style.css +2 -0
- package/dist/virtual-selection/style.css.map +1 -0
- package/dist/virtual-selection/style.js +1 -0
- package/dist/yjs/style.css +2 -0
- package/dist/yjs/style.css.map +1 -0
- package/dist/yjs/style.js +1 -0
- package/package.json +12 -10
- package/src/autocomplete/autocomplete-helpers.ts +74 -0
- package/src/autocomplete/autocomplete-plugin.ts +186 -0
- package/src/autocomplete/autocomplete-rule.ts +117 -0
- package/src/autocomplete/autocomplete.spec.ts +132 -0
- package/src/autocomplete/autocomplete.ts +29 -0
- package/src/autocomplete/index.ts +9 -0
- package/src/blockquote/blockquote-commands.ts +32 -0
- package/src/blockquote/blockquote-input-rule.ts +14 -0
- package/src/blockquote/blockquote-keymap.spec.ts +45 -0
- package/src/blockquote/blockquote-keymap.ts +31 -0
- package/src/blockquote/blockquote-spec.ts +24 -0
- package/src/blockquote/blockquote.ts +34 -0
- package/src/blockquote/index.ts +14 -0
- package/src/bold/bold-commands.ts +23 -0
- package/src/bold/bold-input-rule.spec.ts +51 -0
- package/src/bold/bold-input-rule.ts +18 -0
- package/src/bold/bold-keymap.ts +14 -0
- package/src/bold/bold-spec.ts +53 -0
- package/src/bold/bold.ts +32 -0
- package/src/bold/index.ts +14 -0
- package/src/code/code-commands.ts +23 -0
- package/src/code/code-input-rule.ts +18 -0
- package/src/code/code-keymap.ts +14 -0
- package/src/code/code-spec.ts +28 -0
- package/src/code/code.ts +32 -0
- package/src/code/index.ts +14 -0
- package/src/code-block/code-block-commands.ts +44 -0
- package/src/code-block/code-block-highlight.ts +40 -0
- package/src/code-block/code-block-input-rule.ts +36 -0
- package/src/code-block/code-block-keymap.ts +61 -0
- package/src/code-block/code-block-shiki.ts +58 -0
- package/src/code-block/code-block-spec.spec.ts +164 -0
- package/src/code-block/code-block-spec.ts +71 -0
- package/src/code-block/code-block-types.ts +8 -0
- package/src/code-block/code-block.ts +46 -0
- package/src/code-block/index.ts +32 -0
- package/src/code-block/shiki-bundle.ts +8 -0
- package/src/code-block/shiki-highlighter-chunk.ts +84 -0
- package/src/code-block/shiki-highlighter.ts +22 -0
- package/src/code-block/shiki-parser.ts +36 -0
- package/src/commit/index.ts +330 -0
- package/src/commit/style.css +7 -0
- package/src/doc/index.ts +21 -0
- package/src/drop-cursor/drop-cursor.ts +46 -0
- package/src/drop-cursor/index.ts +5 -0
- package/src/drop-indicator/drop-indicator-facet.ts +62 -0
- package/src/drop-indicator/drop-indicator.ts +35 -0
- package/src/drop-indicator/index.ts +14 -0
- package/src/enter-rule/index.ts +241 -0
- package/src/file/file-drop-handler.ts +75 -0
- package/src/file/file-paste-handler.spec.ts +95 -0
- package/src/file/file-paste-handler.ts +59 -0
- package/src/file/file-upload.ts +140 -0
- package/src/file/helpers.ts +39 -0
- package/src/file/index.ts +16 -0
- package/src/gap-cursor/gap-cursor.ts +28 -0
- package/src/gap-cursor/index.ts +4 -0
- package/src/gap-cursor/style.css +25 -0
- package/src/hard-break/hard-break-commands.ts +31 -0
- package/src/hard-break/hard-break-keymap.spec.ts +45 -0
- package/src/hard-break/hard-break-keymap.ts +16 -0
- package/src/hard-break/hard-break-spec.ts +31 -0
- package/src/hard-break/hard-break.ts +32 -0
- package/src/hard-break/index.ts +13 -0
- package/src/heading/heading-commands.ts +37 -0
- package/src/heading/heading-input-rule.ts +22 -0
- package/src/heading/heading-keymap.spec.ts +53 -0
- package/src/heading/heading-keymap.ts +40 -0
- package/src/heading/heading-spec.ts +39 -0
- package/src/heading/heading-types.ts +3 -0
- package/src/heading/heading.ts +34 -0
- package/src/heading/index.ts +15 -0
- package/src/horizontal-rule/horizontal-rule-commands.spec.ts +61 -0
- package/src/horizontal-rule/horizontal-rule-commands.ts +37 -0
- package/src/horizontal-rule/horizontal-rule-input-rule.spec.ts +61 -0
- package/src/horizontal-rule/horizontal-rule-input-rule.ts +26 -0
- package/src/horizontal-rule/horizontal-rule-spec.ts +21 -0
- package/src/horizontal-rule/horizontal-rule.ts +29 -0
- package/src/horizontal-rule/index.ts +14 -0
- package/src/image/image-commands.ts +36 -0
- package/src/image/image-spec.ts +72 -0
- package/src/image/image-upload-handler.ts +156 -0
- package/src/image/image.ts +25 -0
- package/src/image/index.ts +22 -0
- package/src/index.ts +1 -0
- package/src/input-rule/index.ts +237 -0
- package/src/italic/index.ts +14 -0
- package/src/italic/italic-commands.spec.ts +75 -0
- package/src/italic/italic-commands.ts +23 -0
- package/src/italic/italic-input-rule.spec.ts +25 -0
- package/src/italic/italic-input-rule.ts +18 -0
- package/src/italic/italic-keymap.ts +14 -0
- package/src/italic/italic-spec.ts +35 -0
- package/src/italic/italic.ts +34 -0
- package/src/link/index.spec.ts +88 -0
- package/src/link/index.ts +156 -0
- package/src/link/link-paste-rule.spec.ts +194 -0
- package/src/link/link-paste-rule.ts +22 -0
- package/src/link/link-regex.spec.ts +82 -0
- package/src/link/link-regex.ts +79 -0
- package/src/link/link-types.ts +8 -0
- package/src/list/index.ts +25 -0
- package/src/list/list-commands.ts +61 -0
- package/src/list/list-drop-indicator.ts +37 -0
- package/src/list/list-input-rules.ts +14 -0
- package/src/list/list-keymap.spec.ts +39 -0
- package/src/list/list-keymap.ts +48 -0
- package/src/list/list-plugins.ts +35 -0
- package/src/list/list-serializer.ts +38 -0
- package/src/list/list-spec.ts +60 -0
- package/src/list/list-types.spec.ts +10 -0
- package/src/list/list-types.ts +23 -0
- package/src/list/list.spec.ts +134 -0
- package/src/list/list.ts +38 -0
- package/src/list/style.css +128 -0
- package/src/loro/index.ts +17 -0
- package/src/loro/loro-commands.ts +27 -0
- package/src/loro/loro-cursor-plugin.ts +28 -0
- package/src/loro/loro-keymap.ts +23 -0
- package/src/loro/loro-sync-plugin.ts +14 -0
- package/src/loro/loro-undo-plugin.ts +12 -0
- package/src/loro/loro.ts +75 -0
- package/src/loro/style.css +33 -0
- package/src/mark-rule/apply.ts +129 -0
- package/src/mark-rule/index.ts +2 -0
- package/src/mark-rule/mark-rule.spec.ts +123 -0
- package/src/mark-rule/mark-rule.ts +48 -0
- package/src/mark-rule/range.ts +107 -0
- package/src/mark-rule/types.ts +30 -0
- package/src/mention/index.ts +90 -0
- package/src/mod-click-prevention/index.ts +35 -0
- package/src/paragraph/index.ts +7 -0
- package/src/paragraph/paragraph-commands.ts +29 -0
- package/src/paragraph/paragraph-keymap.ts +15 -0
- package/src/paragraph/paragraph-spec.ts +31 -0
- package/src/paragraph/paragraph.ts +37 -0
- package/src/paste-rule/index.ts +10 -0
- package/src/paste-rule/mark-paste-rule.spec.ts +112 -0
- package/src/paste-rule/mark-paste-rule.ts +194 -0
- package/src/paste-rule/paste-rule-plugin.ts +53 -0
- package/src/paste-rule/paste-rule.spec.ts +96 -0
- package/src/paste-rule/paste-rule.ts +60 -0
- package/src/paste-rule/split-text-by-regex.spec.ts +97 -0
- package/src/paste-rule/split-text-by-regex.ts +44 -0
- package/src/placeholder/index.ts +113 -0
- package/src/placeholder/style.css +7 -0
- package/src/readonly/index.ts +22 -0
- package/src/search/index.ts +140 -0
- package/src/search/style.css +13 -0
- package/src/strike/index.ts +101 -0
- package/src/table/index.ts +53 -0
- package/src/table/style.css +42 -0
- package/src/table/table-commands/delete-cell-selection.spec.ts +41 -0
- package/src/table/table-commands/delete-cell-selection.ts +1 -0
- package/src/table/table-commands/exit-table.spec.ts +45 -0
- package/src/table/table-commands/exit-table.ts +49 -0
- package/src/table/table-commands/insert-table.spec.ts +39 -0
- package/src/table/table-commands/insert-table.ts +80 -0
- package/src/table/table-commands/move-table-column.spec.ts +618 -0
- package/src/table/table-commands/move-table-column.ts +4 -0
- package/src/table/table-commands/move-table-row.spec.ts +380 -0
- package/src/table/table-commands/move-table-row.ts +4 -0
- package/src/table/table-commands/select-table-cell.spec.ts +34 -0
- package/src/table/table-commands/select-table-cell.ts +35 -0
- package/src/table/table-commands/select-table-column.spec.ts +33 -0
- package/src/table/table-commands/select-table-column.ts +39 -0
- package/src/table/table-commands/select-table-row.spec.ts +32 -0
- package/src/table/table-commands/select-table-row.ts +39 -0
- package/src/table/table-commands/select-table.spec.ts +36 -0
- package/src/table/table-commands/select-table.ts +50 -0
- package/src/table/table-commands.ts +110 -0
- package/src/table/table-drop-indicator.ts +40 -0
- package/src/table/table-plugins.ts +15 -0
- package/src/table/table-spec.spec.ts +113 -0
- package/src/table/table-spec.ts +109 -0
- package/src/table/table-utils.ts +16 -0
- package/src/table/table.ts +49 -0
- package/src/table/test-utils.ts +28 -0
- package/src/testing/clipboard.ts +58 -0
- package/src/testing/format-html.ts +5 -0
- package/src/testing/index.ts +161 -0
- package/src/testing/keyboard.ts +36 -0
- package/src/testing/markdown.ts +23 -0
- package/src/text/index.ts +24 -0
- package/src/text-align/index.ts +133 -0
- package/src/types/assert-type-equal.ts +8 -0
- package/src/underline/index.ts +83 -0
- package/src/virtual-selection/index.ts +100 -0
- package/src/virtual-selection/style.css +5 -0
- package/src/yjs/index.ts +22 -0
- package/src/yjs/style.css +31 -0
- package/src/yjs/yjs-commands.ts +27 -0
- package/src/yjs/yjs-cursor-plugin.ts +25 -0
- package/src/yjs/yjs-keymap.ts +23 -0
- package/src/yjs/yjs-sync-plugin.ts +23 -0
- package/src/yjs/yjs-undo-plugin.ts +87 -0
- package/src/yjs/yjs.ts +84 -0
- package/dist/drop-indicator-dB9rZn8e.js +0 -267
- package/dist/table-CPI9ZxbK.js +0 -760
|
@@ -1,125 +1,2 @@
|
|
|
1
|
-
import {
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
//#region src/file/file-drop-handler.d.ts
|
|
5
|
-
interface FileDropHandlerOptions {
|
|
6
|
-
/**
|
|
7
|
-
* The editor view.
|
|
8
|
-
*/
|
|
9
|
-
view: EditorView;
|
|
10
|
-
/**
|
|
11
|
-
* The event that triggered the drop.
|
|
12
|
-
*/
|
|
13
|
-
event: DragEvent;
|
|
14
|
-
/**
|
|
15
|
-
* The file that was dropped.
|
|
16
|
-
*/
|
|
17
|
-
file: File;
|
|
18
|
-
/**
|
|
19
|
-
* The position of the document where the file was dropped.
|
|
20
|
-
*/
|
|
21
|
-
pos: number;
|
|
22
|
-
}
|
|
23
|
-
/**
|
|
24
|
-
* A function that handles one of the files in a drop event.
|
|
25
|
-
*
|
|
26
|
-
* Returns `true` if the file was handled and thus should not be handled by
|
|
27
|
-
* other handlers.
|
|
28
|
-
*/
|
|
29
|
-
type FileDropHandler = (options: FileDropHandlerOptions) => boolean | void;
|
|
30
|
-
declare function defineFileDropHandler(handler: FileDropHandler): PlainExtension;
|
|
31
|
-
//#endregion
|
|
32
|
-
//#region src/file/file-paste-handler.d.ts
|
|
33
|
-
interface FilePasteHandlerOptions {
|
|
34
|
-
/**
|
|
35
|
-
* The editor view.
|
|
36
|
-
*/
|
|
37
|
-
view: EditorView;
|
|
38
|
-
/**
|
|
39
|
-
* The event that triggered the paste.
|
|
40
|
-
*/
|
|
41
|
-
event: ClipboardEvent;
|
|
42
|
-
/**
|
|
43
|
-
* The file that was pasted.
|
|
44
|
-
*/
|
|
45
|
-
file: File;
|
|
46
|
-
}
|
|
47
|
-
/**
|
|
48
|
-
* A function that handles one of the files in a paste event.
|
|
49
|
-
*
|
|
50
|
-
* Returns `true` if the file was handled and thus should not be handled by
|
|
51
|
-
* other handlers.
|
|
52
|
-
*/
|
|
53
|
-
type FilePasteHandler = (options: FilePasteHandlerOptions) => boolean | void;
|
|
54
|
-
declare function defineFilePasteHandler(handler: FilePasteHandler): PlainExtension;
|
|
55
|
-
//#endregion
|
|
56
|
-
//#region src/file/file-upload.d.ts
|
|
57
|
-
/**
|
|
58
|
-
* An interface representing the upload progress.
|
|
59
|
-
*/
|
|
60
|
-
interface UploadProgress {
|
|
61
|
-
loaded: number;
|
|
62
|
-
total: number;
|
|
63
|
-
}
|
|
64
|
-
interface UploaderOptions {
|
|
65
|
-
/**
|
|
66
|
-
* The file to be uploaded.
|
|
67
|
-
*/
|
|
68
|
-
file: File;
|
|
69
|
-
/**
|
|
70
|
-
* A callback function that should be called with the upload progress updates.
|
|
71
|
-
*/
|
|
72
|
-
onProgress: (progress: UploadProgress) => void;
|
|
73
|
-
}
|
|
74
|
-
/**
|
|
75
|
-
* The implementation of the actual upload function. You need to implement this
|
|
76
|
-
* function to upload files to your desired destination.
|
|
77
|
-
*/
|
|
78
|
-
type Uploader<Result> = (options: UploaderOptions) => Promise<Result>;
|
|
79
|
-
/**
|
|
80
|
-
* A class that represents a upload task.
|
|
81
|
-
*/
|
|
82
|
-
declare class UploadTask<Result> {
|
|
83
|
-
/**
|
|
84
|
-
* An [object URL](https://developer.mozilla.org/en-US/docs/Web/API/URL/createObjectURL)
|
|
85
|
-
* representing the file to be uploaded. This URL will be revoked once the
|
|
86
|
-
* upload is complete successfully.
|
|
87
|
-
*/
|
|
88
|
-
readonly objectURL: string;
|
|
89
|
-
/**
|
|
90
|
-
* A boolean indicating whether the upload is complete (either successfully or with an error).
|
|
91
|
-
*/
|
|
92
|
-
protected done: boolean;
|
|
93
|
-
/**
|
|
94
|
-
* A promise that fulfills once the upload is complete, or rejects if an error occurs.
|
|
95
|
-
*/
|
|
96
|
-
readonly finished: Promise<Result>;
|
|
97
|
-
private subscribers;
|
|
98
|
-
/**
|
|
99
|
-
* Creates a new upload task. You can find the upload task by its object URL
|
|
100
|
-
* later using `UploadTask.get()`.
|
|
101
|
-
*
|
|
102
|
-
* @param options - The options for the upload task.
|
|
103
|
-
*/
|
|
104
|
-
constructor({
|
|
105
|
-
file,
|
|
106
|
-
uploader
|
|
107
|
-
}: {
|
|
108
|
-
file: File;
|
|
109
|
-
uploader: Uploader<Result>;
|
|
110
|
-
});
|
|
111
|
-
/**
|
|
112
|
-
* Subscribes to progress updates. Returns a function to unsubscribe.
|
|
113
|
-
*/
|
|
114
|
-
subscribeProgress(callback: (progress: UploadProgress) => void): VoidFunction;
|
|
115
|
-
/**
|
|
116
|
-
* Finds an upload task by its object URL.
|
|
117
|
-
*/
|
|
118
|
-
static get<Result = unknown>(objectURL: string): UploadTask<Result> | undefined;
|
|
119
|
-
/**
|
|
120
|
-
* Deletes an upload task by its object URL.
|
|
121
|
-
*/
|
|
122
|
-
static delete(objectURL: string): void;
|
|
123
|
-
}
|
|
124
|
-
//#endregion
|
|
125
|
-
export { type FileDropHandlerOptions, type FilePasteHandlerOptions, type UploadProgress, UploadTask, type Uploader, type UploaderOptions, defineFileDropHandler, defineFilePasteHandler };
|
|
1
|
+
import { FileDropHandler, FileDropHandlerOptions, FilePasteHandler, FilePasteHandlerOptions, UploadProgress, UploadTask, Uploader, UploaderOptions, defineFileDropHandler, defineFilePasteHandler } from "./index-DY6lIIYV.js";
|
|
2
|
+
export { FileDropHandler, FileDropHandlerOptions, FilePasteHandler, FilePasteHandlerOptions, UploadProgress, UploadTask, Uploader, UploaderOptions, defineFileDropHandler, defineFilePasteHandler };
|
|
@@ -1,141 +1,3 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { UploadTask, defineFileDropHandler, defineFilePasteHandler } from "./file-DVUhe5KJ.js";
|
|
2
2
|
|
|
3
|
-
//#region src/file/helpers.ts
|
|
4
|
-
function handleFile(view, event, file, handlers) {
|
|
5
|
-
for (let i = handlers.length - 1; i >= 0; i--) {
|
|
6
|
-
const handler = handlers[i];
|
|
7
|
-
if (handler({
|
|
8
|
-
view,
|
|
9
|
-
event,
|
|
10
|
-
file
|
|
11
|
-
})) return true;
|
|
12
|
-
}
|
|
13
|
-
return false;
|
|
14
|
-
}
|
|
15
|
-
function handleEvent(view, event, handlers, getFiles$2) {
|
|
16
|
-
const files = getFiles$2(event);
|
|
17
|
-
let handled = false;
|
|
18
|
-
for (const file of files) if (handleFile(view, event, file, handlers)) handled = true;
|
|
19
|
-
return handled;
|
|
20
|
-
}
|
|
21
|
-
|
|
22
|
-
//#endregion
|
|
23
|
-
//#region src/file/file-drop-handler.ts
|
|
24
|
-
function defineFileDropHandler(handler) {
|
|
25
|
-
return defineFacetPayload(facet$1, [handler]);
|
|
26
|
-
}
|
|
27
|
-
function getFiles$1(event) {
|
|
28
|
-
return Array.from(event.dataTransfer?.files ?? []);
|
|
29
|
-
}
|
|
30
|
-
const facet$1 = defineFacet({
|
|
31
|
-
parent: editorEventFacet,
|
|
32
|
-
singleton: true,
|
|
33
|
-
reducer: (handlers) => {
|
|
34
|
-
const dropHandler = (view, event) => {
|
|
35
|
-
const position = view.posAtCoords({
|
|
36
|
-
left: event.x,
|
|
37
|
-
top: event.y
|
|
38
|
-
});
|
|
39
|
-
if (!position) return false;
|
|
40
|
-
const pos = position.inside > 0 ? position.inside : position.pos;
|
|
41
|
-
return handleEvent(view, event, handlers.map((handler) => (options) => handler({
|
|
42
|
-
...options,
|
|
43
|
-
pos
|
|
44
|
-
})), getFiles$1);
|
|
45
|
-
};
|
|
46
|
-
return ["drop", dropHandler];
|
|
47
|
-
}
|
|
48
|
-
});
|
|
49
|
-
|
|
50
|
-
//#endregion
|
|
51
|
-
//#region src/file/file-paste-handler.ts
|
|
52
|
-
function defineFilePasteHandler(handler) {
|
|
53
|
-
return defineFacetPayload(facet, [handler]);
|
|
54
|
-
}
|
|
55
|
-
function getFiles(event) {
|
|
56
|
-
return Array.from(event.clipboardData?.files ?? []);
|
|
57
|
-
}
|
|
58
|
-
const facet = defineFacet({
|
|
59
|
-
parent: editorEventFacet,
|
|
60
|
-
singleton: true,
|
|
61
|
-
reducer: (handlers) => {
|
|
62
|
-
const pasteHandler = (view, event) => {
|
|
63
|
-
return handleEvent(view, event, handlers, getFiles);
|
|
64
|
-
};
|
|
65
|
-
return ["paste", pasteHandler];
|
|
66
|
-
}
|
|
67
|
-
});
|
|
68
|
-
|
|
69
|
-
//#endregion
|
|
70
|
-
//#region src/file/file-upload.ts
|
|
71
|
-
/**
|
|
72
|
-
* A class that represents a upload task.
|
|
73
|
-
*/
|
|
74
|
-
var UploadTask = class {
|
|
75
|
-
/**
|
|
76
|
-
* An [object URL](https://developer.mozilla.org/en-US/docs/Web/API/URL/createObjectURL)
|
|
77
|
-
* representing the file to be uploaded. This URL will be revoked once the
|
|
78
|
-
* upload is complete successfully.
|
|
79
|
-
*/
|
|
80
|
-
objectURL;
|
|
81
|
-
/**
|
|
82
|
-
* A boolean indicating whether the upload is complete (either successfully or with an error).
|
|
83
|
-
*/
|
|
84
|
-
done = false;
|
|
85
|
-
/**
|
|
86
|
-
* A promise that fulfills once the upload is complete, or rejects if an error occurs.
|
|
87
|
-
*/
|
|
88
|
-
finished;
|
|
89
|
-
subscribers = [];
|
|
90
|
-
/**
|
|
91
|
-
* Creates a new upload task. You can find the upload task by its object URL
|
|
92
|
-
* later using `UploadTask.get()`.
|
|
93
|
-
*
|
|
94
|
-
* @param options - The options for the upload task.
|
|
95
|
-
*/
|
|
96
|
-
constructor({ file, uploader }) {
|
|
97
|
-
this.objectURL = URL.createObjectURL(file);
|
|
98
|
-
this.finished = new Promise((resolve, reject) => {
|
|
99
|
-
const maybePromise = uploader({
|
|
100
|
-
file,
|
|
101
|
-
onProgress: (progress) => {
|
|
102
|
-
for (const subscriber of this.subscribers) subscriber(progress);
|
|
103
|
-
}
|
|
104
|
-
});
|
|
105
|
-
Promise.resolve(maybePromise).then((result) => {
|
|
106
|
-
this.done = true;
|
|
107
|
-
URL.revokeObjectURL(this.objectURL);
|
|
108
|
-
resolve(result);
|
|
109
|
-
}, (error) => {
|
|
110
|
-
this.done = true;
|
|
111
|
-
reject(new Error("[prosekit] Failed to upload file", { cause: error }));
|
|
112
|
-
});
|
|
113
|
-
});
|
|
114
|
-
store.set(this.objectURL, this);
|
|
115
|
-
}
|
|
116
|
-
/**
|
|
117
|
-
* Subscribes to progress updates. Returns a function to unsubscribe.
|
|
118
|
-
*/
|
|
119
|
-
subscribeProgress(callback) {
|
|
120
|
-
this.subscribers.push(callback);
|
|
121
|
-
return () => {
|
|
122
|
-
this.subscribers = this.subscribers.filter((subscriber) => subscriber !== callback);
|
|
123
|
-
};
|
|
124
|
-
}
|
|
125
|
-
/**
|
|
126
|
-
* Finds an upload task by its object URL.
|
|
127
|
-
*/
|
|
128
|
-
static get(objectURL) {
|
|
129
|
-
return store.get(objectURL);
|
|
130
|
-
}
|
|
131
|
-
/**
|
|
132
|
-
* Deletes an upload task by its object URL.
|
|
133
|
-
*/
|
|
134
|
-
static delete(objectURL) {
|
|
135
|
-
store.delete(objectURL);
|
|
136
|
-
}
|
|
137
|
-
};
|
|
138
|
-
const store = /* @__PURE__ */ new Map();
|
|
139
|
-
|
|
140
|
-
//#endregion
|
|
141
3
|
export { UploadTask, defineFileDropHandler, defineFilePasteHandler };
|
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
import { PlainExtension } from "@prosekit/core";
|
|
2
|
-
import "prosemirror-gapcursor";
|
|
3
2
|
|
|
4
3
|
//#region src/gap-cursor/gap-cursor.d.ts
|
|
5
4
|
|
|
@@ -23,4 +22,5 @@ type GapCursorExtension = PlainExtension;
|
|
|
23
22
|
*/
|
|
24
23
|
declare function defineGapCursor(): GapCursorExtension;
|
|
25
24
|
//#endregion
|
|
26
|
-
export { type GapCursorExtension, defineGapCursor };
|
|
25
|
+
export { type GapCursorExtension, defineGapCursor };
|
|
26
|
+
//# sourceMappingURL=prosekit-extensions-gap-cursor.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"prosekit-extensions-gap-cursor.d.ts","names":[],"sources":["../src/gap-cursor/gap-cursor.ts"],"sourcesContent":[],"mappings":";;;;;;AASA;AAgBgB,KAhBJ,kBAAA,GAAqB,cAgBE;;;;;;;;;;;;;;;iBAAnB,eAAA,CAAA,GAAmB"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"prosekit-extensions-gap-cursor.js","names":[],"sources":["../src/gap-cursor/gap-cursor.ts"],"sourcesContent":["import {\n definePlugin,\n type PlainExtension,\n} from '@prosekit/core'\nimport { gapCursor } from 'prosemirror-gapcursor'\n\n/**\n * @internal\n */\nexport type GapCursorExtension = PlainExtension\n\n/**\n * Capture clicks near and arrow-key-motion past places that don't have a\n * normally selectable position nearby, and create a gap cursor selection for\n * them. The cursor is drawn as an element with class `ProseMirror-gapcursor`.\n *\n * You can either include `prosekit/extensions/gap-cursor.css` or add your own\n * styles to make it visible.\n *\n * See\n * [prosemirror-gapcursor](https://github.com/ProseMirror/prosemirror-gapcursor)\n * for more information.\n *\n * @public\n */\nexport function defineGapCursor(): GapCursorExtension {\n return definePlugin(() => gapCursor())\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;AAyBA,SAAgB,kBAAsC;AACpD,QAAO,mBAAmB,WAAW,CAAC"}
|
|
@@ -11,10 +11,6 @@ type HardBreakCommandsExtension = Extension<{
|
|
|
11
11
|
insertHardBreak: [];
|
|
12
12
|
};
|
|
13
13
|
}>;
|
|
14
|
-
/**
|
|
15
|
-
* @internal
|
|
16
|
-
*/
|
|
17
|
-
|
|
18
14
|
/**
|
|
19
15
|
* @internal
|
|
20
16
|
*/
|
|
@@ -50,4 +46,5 @@ declare function defineHardBreak(): HardBreakExtension;
|
|
|
50
46
|
*/
|
|
51
47
|
declare function defineHardBreakKeymap(): PlainExtension;
|
|
52
48
|
//#endregion
|
|
53
|
-
export { type HardBreakCommandsExtension, type HardBreakExtension, type HardBreakSpecExtension, defineHardBreak, defineHardBreakCommands, defineHardBreakKeymap, defineHardBreakSpec };
|
|
49
|
+
export { type HardBreakCommandsExtension, type HardBreakExtension, type HardBreakSpecExtension, defineHardBreak, defineHardBreakCommands, defineHardBreakKeymap, defineHardBreakSpec };
|
|
50
|
+
//# sourceMappingURL=prosekit-extensions-hard-break.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"prosekit-extensions-hard-break.d.ts","names":[],"sources":["../src/hard-break/hard-break-commands.ts","../src/hard-break/hard-break-spec.ts","../src/hard-break/hard-break.ts","../src/hard-break/hard-break-keymap.ts"],"sourcesContent":[],"mappings":";;;;;;;;AAUY,KAAA,0BAAA,GAA6B,SAAA,CAAA;EAgBzB,QAAA,EAAA;;;;;ACRhB;;iBDQgB,uBAAA,CAAA,GAA2B;;;;;;AAhB/B,KCDA,sBAAA,GAAyB,SDCI,CAAA;EAgBzB,KAAA,EAAA;eCfD;;;AAFf;;;AAAqC,iBASrB,mBAAA,CAAA,CATqB,EASE,sBATF;;;;;ADCrC;AAgBgB,KERJ,kBAAA,GAAqB,KFQM,CAAA,CEPpC,wBAAwB;ADV3B;;;AAAqC,iBCgBrB,eAAA,CAAA,CDhBqB,ECgBF,kBDhBE;;;;;;iBECrB,qBAAA,CAAA,GAAyB"}
|
|
@@ -55,4 +55,5 @@ function defineHardBreak() {
|
|
|
55
55
|
}
|
|
56
56
|
|
|
57
57
|
//#endregion
|
|
58
|
-
export { defineHardBreak, defineHardBreakCommands, defineHardBreakKeymap, defineHardBreakSpec };
|
|
58
|
+
export { defineHardBreak, defineHardBreakCommands, defineHardBreakKeymap, defineHardBreakSpec };
|
|
59
|
+
//# sourceMappingURL=prosekit-extensions-hard-break.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"prosekit-extensions-hard-break.js","names":[],"sources":["../src/hard-break/hard-break-commands.ts","../src/hard-break/hard-break-keymap.ts","../src/hard-break/hard-break-spec.ts","../src/hard-break/hard-break.ts"],"sourcesContent":["import {\n defineCommands,\n insertNode,\n type Extension,\n} from '@prosekit/core'\nimport type { Command } from '@prosekit/pm/state'\n\n/**\n * @internal\n */\nexport type HardBreakCommandsExtension = Extension<{\n Commands: {\n insertHardBreak: []\n }\n}>\n\n/**\n * @internal\n */\nexport function insertHardBreak(): Command {\n return insertNode({ type: 'hardBreak' })\n}\n\n/**\n * @internal\n */\nexport function defineHardBreakCommands(): HardBreakCommandsExtension {\n return defineCommands({\n insertHardBreak: insertHardBreak,\n })\n}\n","import {\n defineKeymap,\n type PlainExtension,\n} from '@prosekit/core'\n\nimport { insertHardBreak } from './hard-break-commands'\n\n/**\n * @internal\n */\nexport function defineHardBreakKeymap(): PlainExtension {\n return defineKeymap({\n 'Mod-Enter': insertHardBreak(),\n 'Shift-Enter': insertHardBreak(),\n })\n}\n","import {\n defineNodeSpec,\n type Extension,\n} from '@prosekit/core'\nimport type { Attrs } from '@prosekit/pm/model'\n\n/**\n * @internal\n */\nexport type HardBreakSpecExtension = Extension<{\n Nodes: {\n hardBreak: Attrs\n }\n}>\n\n/**\n * @internal\n */\nexport function defineHardBreakSpec(): HardBreakSpecExtension {\n return defineNodeSpec({\n name: 'hardBreak',\n inline: true,\n selectable: false,\n leafText: () => '\\n',\n group: 'inline',\n parseDOM: [{ tag: 'br' }],\n toDOM() {\n return ['br']\n },\n })\n}\n","import {\n union,\n type Union,\n} from '@prosekit/core'\n\nimport {\n defineHardBreakCommands,\n type HardBreakCommandsExtension,\n} from './hard-break-commands'\nimport { defineHardBreakKeymap } from './hard-break-keymap'\nimport {\n defineHardBreakSpec,\n type HardBreakSpecExtension,\n} from './hard-break-spec'\n\n/**\n * @internal\n */\nexport type HardBreakExtension = Union<\n [HardBreakSpecExtension, HardBreakCommandsExtension]\n>\n\n/**\n * @public\n */\nexport function defineHardBreak(): HardBreakExtension {\n return union(\n defineHardBreakSpec(),\n defineHardBreakKeymap(),\n defineHardBreakCommands(),\n )\n}\n"],"mappings":";;;;;;AAmBA,SAAgB,kBAA2B;AACzC,QAAO,WAAW,EAAE,MAAM,aAAa,CAAC;;;;;AAM1C,SAAgB,0BAAsD;AACpE,QAAO,eAAe,EACH,iBAClB,CAAC;;;;;;;;ACnBJ,SAAgB,wBAAwC;AACtD,QAAO,aAAa;EAClB,aAAa,iBAAiB;EAC9B,eAAe,iBAAiB;EACjC,CAAC;;;;;;;;ACIJ,SAAgB,sBAA8C;AAC5D,QAAO,eAAe;EACpB,MAAM;EACN,QAAQ;EACR,YAAY;EACZ,gBAAgB;EAChB,OAAO;EACP,UAAU,CAAC,EAAE,KAAK,MAAM,CAAC;EACzB,QAAQ;AACN,UAAO,CAAC,KAAK;;EAEhB,CAAC;;;;;;;;ACJJ,SAAgB,kBAAsC;AACpD,QAAO,MACL,qBAAqB,EACrB,uBAAuB,EACvB,yBAAyB,CAC1B"}
|
|
@@ -60,4 +60,5 @@ declare function defineHeadingInputRule(): PlainExtension;
|
|
|
60
60
|
*/
|
|
61
61
|
declare function defineHeadingKeymap(): PlainExtension;
|
|
62
62
|
//#endregion
|
|
63
|
-
export { type HeadingAttrs, type HeadingCommandsExtension, type HeadingExtension, type HeadingSpecExtension, defineHeading, defineHeadingCommands, defineHeadingInputRule, defineHeadingKeymap, defineHeadingSpec };
|
|
63
|
+
export { type HeadingAttrs, type HeadingCommandsExtension, type HeadingExtension, type HeadingSpecExtension, defineHeading, defineHeadingCommands, defineHeadingInputRule, defineHeadingKeymap, defineHeadingSpec };
|
|
64
|
+
//# sourceMappingURL=prosekit-extensions-heading.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"prosekit-extensions-heading.d.ts","names":[],"sources":["../src/heading/heading-types.ts","../src/heading/heading-commands.ts","../src/heading/heading-spec.ts","../src/heading/heading.ts","../src/heading/heading-input-rule.ts","../src/heading/heading-keymap.ts"],"sourcesContent":[],"mappings":";;;UAAiB,YAAA;;;;;;AAAjB;;KCaY,wBAAA,GAA2B;;IAA3B,UAAA,EAAA,CAAA,KAAA,GAEa,YAFW,GAAA,SAAA,CAAA;IAAA,aAAA,EAAA,CAAA,KAAA,GAGR,YAHQ,GAAA,SAAA,CAAA;IAEX,aAAA,EAAA,CAAA,KAAA,GAEG,YAFH,GAAA,SAAA,CAAA;;;;;AASzB;iBAAgB,qBAAA,CAAA,GAAyB;;;;ADxBzC;;KEUY,oBAAA,GAAuB;;IDGvB,OAAA,ECDC,YDCD;EAAwB,CAAA;;;;;AAAY,iBCMhC,iBAAA,CAAA,CDNgC,ECMX,oBDNW;;;ADbhD;;;KGmBY,gBAAA,GAAmB,OAC5B,oBFPS,EEOa,wBFPW;;;;AAAY,iBEahC,aAAA,CAAA,CFbgC,EEaf,gBFbe;;;;;ADbhD;;;;ACaY,iBGDI,sBAAA,CAAA,CHCoB,EGDM,cHCN;;;;;ADbpC;iBK6BgB,mBAAA,CAAA,GAAuB"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { defineTextBlockInputRule } from "./input-rule-
|
|
1
|
+
import { defineTextBlockInputRule } from "./input-rule-B17tpW4m.js";
|
|
2
2
|
import { defineCommands, defineKeymap, defineNodeSpec, insertNode, isAtBlockStart, setBlockType, toggleNode, union, unsetBlockType, withSkipCodeBlock } from "@prosekit/core";
|
|
3
3
|
|
|
4
4
|
//#region src/heading/heading-commands.ts
|
|
@@ -41,8 +41,7 @@ function defineHeadingInputRule() {
|
|
|
41
41
|
regex: /^(#{1,6})\s$/,
|
|
42
42
|
type: "heading",
|
|
43
43
|
attrs: (match) => {
|
|
44
|
-
|
|
45
|
-
return { level };
|
|
44
|
+
return { level: match[1]?.length ?? 1 };
|
|
46
45
|
}
|
|
47
46
|
});
|
|
48
47
|
}
|
|
@@ -60,8 +59,7 @@ function toggleHeadingKeybinding(level) {
|
|
|
60
59
|
* the start of a heading block.
|
|
61
60
|
*/
|
|
62
61
|
const backspaceUnsetHeading = (state, dispatch, view) => {
|
|
63
|
-
|
|
64
|
-
if ($pos?.parent.type.name === "heading") return unsetBlockType()(state, dispatch, view);
|
|
62
|
+
if (isAtBlockStart(state, view)?.parent.type.name === "heading") return unsetBlockType()(state, dispatch, view);
|
|
65
63
|
return false;
|
|
66
64
|
};
|
|
67
65
|
/**
|
|
@@ -136,4 +134,5 @@ function defineHeading() {
|
|
|
136
134
|
}
|
|
137
135
|
|
|
138
136
|
//#endregion
|
|
139
|
-
export { defineHeading, defineHeadingCommands, defineHeadingInputRule, defineHeadingKeymap, defineHeadingSpec };
|
|
137
|
+
export { defineHeading, defineHeadingCommands, defineHeadingInputRule, defineHeadingKeymap, defineHeadingSpec };
|
|
138
|
+
//# sourceMappingURL=prosekit-extensions-heading.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"prosekit-extensions-heading.js","names":["backspaceUnsetHeading: Command"],"sources":["../src/heading/heading-commands.ts","../src/heading/heading-input-rule.ts","../src/heading/heading-keymap.ts","../src/heading/heading-spec.ts","../src/heading/heading.ts"],"sourcesContent":["import {\n defineCommands,\n insertNode,\n setBlockType,\n toggleNode,\n type Extension,\n} from '@prosekit/core'\n\nimport type { HeadingAttrs } from './heading-types'\n\n/**\n * @internal\n */\nexport type HeadingCommandsExtension = Extension<{\n Commands: {\n setHeading: [attrs?: HeadingAttrs | undefined]\n insertHeading: [attrs?: HeadingAttrs | undefined]\n toggleHeading: [attrs?: HeadingAttrs | undefined]\n }\n}>\n\n/**\n * @internal\n */\nexport function defineHeadingCommands(): HeadingCommandsExtension {\n return defineCommands({\n setHeading: (attrs?: HeadingAttrs) => {\n return setBlockType({ type: 'heading', attrs })\n },\n insertHeading: (attrs?: HeadingAttrs) => {\n return insertNode({ type: 'heading', attrs })\n },\n toggleHeading: (attrs?: HeadingAttrs) => {\n return toggleNode({ type: 'heading', attrs })\n },\n })\n}\n","import type { PlainExtension } from '@prosekit/core'\n\nimport { defineTextBlockInputRule } from '../input-rule'\n\nimport type { HeadingAttrs } from './heading-types'\n\n/**\n * Converts the text block to a heading when `#` is typed at the start of a new\n * line followed by a space.\n *\n * @internal\n */\nexport function defineHeadingInputRule(): PlainExtension {\n return defineTextBlockInputRule({\n regex: /^(#{1,6})\\s$/,\n type: 'heading',\n attrs: (match) => {\n const level: number = match[1]?.length ?? 1\n return { level } satisfies HeadingAttrs\n },\n })\n}\n","import {\n defineKeymap,\n isAtBlockStart,\n toggleNode,\n unsetBlockType,\n withSkipCodeBlock,\n type PlainExtension,\n} from '@prosekit/core'\nimport type { Command } from '@prosekit/pm/state'\n\nfunction toggleHeadingKeybinding(level: number): Command {\n return withSkipCodeBlock(toggleNode({ type: 'heading', attrs: { level } }))\n}\n\n/**\n * Set the block type to default (usually `paragraph`) when pressing Backspace at\n * the start of a heading block.\n */\nconst backspaceUnsetHeading: Command = (state, dispatch, view) => {\n const $pos = isAtBlockStart(state, view)\n if ($pos?.parent.type.name === 'heading') {\n return unsetBlockType()(state, dispatch, view)\n }\n return false\n}\n\n/**\n * @internal\n */\nexport function defineHeadingKeymap(): PlainExtension {\n return defineKeymap({\n 'mod-alt-1': toggleHeadingKeybinding(1),\n 'mod-alt-2': toggleHeadingKeybinding(2),\n 'mod-alt-3': toggleHeadingKeybinding(3),\n 'mod-alt-4': toggleHeadingKeybinding(4),\n 'mod-alt-5': toggleHeadingKeybinding(5),\n 'mod-alt-6': toggleHeadingKeybinding(6),\n 'Backspace': backspaceUnsetHeading,\n })\n}\n","import {\n defineNodeSpec,\n type Extension,\n} from '@prosekit/core'\n\nimport type { HeadingAttrs } from './heading-types'\n\n/**\n * @internal\n */\nexport type HeadingSpecExtension = Extension<{\n Nodes: {\n heading: HeadingAttrs\n }\n}>\n\n/**\n * @internal\n */\nexport function defineHeadingSpec(): HeadingSpecExtension {\n return defineNodeSpec({\n name: 'heading',\n attrs: { level: { default: 1, validate: 'number' } },\n content: 'inline*',\n group: 'block',\n defining: true,\n parseDOM: [\n { tag: 'h1', attrs: { level: 1 } },\n { tag: 'h2', attrs: { level: 2 } },\n { tag: 'h3', attrs: { level: 3 } },\n { tag: 'h4', attrs: { level: 4 } },\n { tag: 'h5', attrs: { level: 5 } },\n { tag: 'h6', attrs: { level: 6 } },\n ],\n toDOM(node) {\n return [`h${node.attrs.level}`, 0]\n },\n })\n}\n","import {\n union,\n type Union,\n} from '@prosekit/core'\n\nimport {\n defineHeadingCommands,\n type HeadingCommandsExtension,\n} from './heading-commands'\nimport { defineHeadingInputRule } from './heading-input-rule'\nimport { defineHeadingKeymap } from './heading-keymap'\nimport {\n defineHeadingSpec,\n type HeadingSpecExtension,\n} from './heading-spec'\n\n/**\n * @internal\n */\nexport type HeadingExtension = Union<\n [HeadingSpecExtension, HeadingCommandsExtension]\n>\n\n/**\n * @public\n */\nexport function defineHeading(): HeadingExtension {\n return union(\n defineHeadingSpec(),\n defineHeadingInputRule(),\n defineHeadingKeymap(),\n defineHeadingCommands(),\n )\n}\n"],"mappings":";;;;;;;AAwBA,SAAgB,wBAAkD;AAChE,QAAO,eAAe;EACpB,aAAa,UAAyB;AACpC,UAAO,aAAa;IAAE,MAAM;IAAW;IAAO,CAAC;;EAEjD,gBAAgB,UAAyB;AACvC,UAAO,WAAW;IAAE,MAAM;IAAW;IAAO,CAAC;;EAE/C,gBAAgB,UAAyB;AACvC,UAAO,WAAW;IAAE,MAAM;IAAW;IAAO,CAAC;;EAEhD,CAAC;;;;;;;;;;;ACvBJ,SAAgB,yBAAyC;AACvD,QAAO,yBAAyB;EAC9B,OAAO;EACP,MAAM;EACN,QAAQ,UAAU;AAEhB,UAAO,EAAE,OADa,MAAM,IAAI,UAAU,GAC1B;;EAEnB,CAAC;;;;;ACVJ,SAAS,wBAAwB,OAAwB;AACvD,QAAO,kBAAkB,WAAW;EAAE,MAAM;EAAW,OAAO,EAAE,OAAO;EAAE,CAAC,CAAC;;;;;;AAO7E,MAAMA,yBAAkC,OAAO,UAAU,SAAS;AAEhE,KADa,eAAe,OAAO,KAAK,EAC9B,OAAO,KAAK,SAAS,UAC7B,QAAO,gBAAgB,CAAC,OAAO,UAAU,KAAK;AAEhD,QAAO;;;;;AAMT,SAAgB,sBAAsC;AACpD,QAAO,aAAa;EAClB,aAAa,wBAAwB,EAAE;EACvC,aAAa,wBAAwB,EAAE;EACvC,aAAa,wBAAwB,EAAE;EACvC,aAAa,wBAAwB,EAAE;EACvC,aAAa,wBAAwB,EAAE;EACvC,aAAa,wBAAwB,EAAE;EACvC,aAAa;EACd,CAAC;;;;;;;;ACnBJ,SAAgB,oBAA0C;AACxD,QAAO,eAAe;EACpB,MAAM;EACN,OAAO,EAAE,OAAO;GAAE,SAAS;GAAG,UAAU;GAAU,EAAE;EACpD,SAAS;EACT,OAAO;EACP,UAAU;EACV,UAAU;GACR;IAAE,KAAK;IAAM,OAAO,EAAE,OAAO,GAAG;IAAE;GAClC;IAAE,KAAK;IAAM,OAAO,EAAE,OAAO,GAAG;IAAE;GAClC;IAAE,KAAK;IAAM,OAAO,EAAE,OAAO,GAAG;IAAE;GAClC;IAAE,KAAK;IAAM,OAAO,EAAE,OAAO,GAAG;IAAE;GAClC;IAAE,KAAK;IAAM,OAAO,EAAE,OAAO,GAAG;IAAE;GAClC;IAAE,KAAK;IAAM,OAAO,EAAE,OAAO,GAAG;IAAE;GACnC;EACD,MAAM,MAAM;AACV,UAAO,CAAC,IAAI,KAAK,MAAM,SAAS,EAAE;;EAErC,CAAC;;;;;;;;ACXJ,SAAgB,gBAAkC;AAChD,QAAO,MACL,mBAAmB,EACnB,wBAAwB,EACxB,qBAAqB,EACrB,uBAAuB,CACxB"}
|
|
@@ -35,4 +35,5 @@ declare function defineHorizontalRule(): HorizontalRuleExtension;
|
|
|
35
35
|
*/
|
|
36
36
|
declare function defineHorizontalRuleInputRule(): PlainExtension;
|
|
37
37
|
//#endregion
|
|
38
|
-
export { type HorizontalRuleCommandsExtension, type HorizontalRuleExtension, type HorizontalRuleSpecExtension, defineHorizontalRule, defineHorizontalRuleCommands, defineHorizontalRuleInputRule, defineHorizontalRuleSpec, insertHorizontalRule };
|
|
38
|
+
export { type HorizontalRuleCommandsExtension, type HorizontalRuleExtension, type HorizontalRuleSpecExtension, defineHorizontalRule, defineHorizontalRuleCommands, defineHorizontalRuleInputRule, defineHorizontalRuleSpec, insertHorizontalRule };
|
|
39
|
+
//# sourceMappingURL=prosekit-extensions-horizontal-rule.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"prosekit-extensions-horizontal-rule.d.ts","names":[],"sources":["../src/horizontal-rule/horizontal-rule-commands.ts","../src/horizontal-rule/horizontal-rule-spec.ts","../src/horizontal-rule/horizontal-rule.ts","../src/horizontal-rule/horizontal-rule-input-rule.ts"],"sourcesContent":[],"mappings":";;;;;KAWY,+BAAA,GAAkC;;;EAAlC,CAAA;AASZ,CAAA,CAAA;AAcA;;;iBAdgB,oBAAA,CAAA,GAAwB;ACd5B,iBD4BI,4BAAA,CAAA,CC5BuB,ED4BS,+BC5BT;;;KAA3B,2BAAA,GAA8B;;oBAEtB;EDGR,CAAA;AASZ,CAAA,CAAA;AAcgB,iBCtBA,wBAAA,CAAA,CDsBgC,ECtBJ,2BDsBmC;;;KEnBnE,uBAAA,GAA0B,OACnC,6BAA6B,+BFLpB,CASZ,CAAA;AAcA;;;iBEZgB,oBAAA,CAAA,GAAwB;;;;;;iBCVxB,6BAAA,CAAA,GAAiC"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { defineInputRule } from "./input-rule-
|
|
1
|
+
import { defineInputRule } from "./input-rule-B17tpW4m.js";
|
|
2
2
|
import { defineCommands, defineNodeSpec, getNodeType, union } from "@prosekit/core";
|
|
3
3
|
import { InputRule } from "@prosekit/pm/inputrules";
|
|
4
4
|
import { Fragment, Slice } from "@prosekit/pm/model";
|
|
@@ -11,8 +11,7 @@ function insertHorizontalRule() {
|
|
|
11
11
|
return (state, dispatch) => {
|
|
12
12
|
if (!dispatch) return true;
|
|
13
13
|
const { schema, tr } = state;
|
|
14
|
-
const
|
|
15
|
-
const node = type.createChecked();
|
|
14
|
+
const node = getNodeType(schema, "horizontalRule").createChecked();
|
|
16
15
|
const pos = tr.selection.anchor;
|
|
17
16
|
tr.replaceRange(pos, pos, new Slice(Fragment.from(node), 0, 0));
|
|
18
17
|
dispatch(tr);
|
|
@@ -32,8 +31,7 @@ function defineHorizontalRuleInputRule() {
|
|
|
32
31
|
return union(defineInputRule(new InputRule(/^---$/, (state, match, start, end) => {
|
|
33
32
|
const { schema } = state;
|
|
34
33
|
const { tr } = state;
|
|
35
|
-
const
|
|
36
|
-
const node = type.createChecked();
|
|
34
|
+
const node = getNodeType(schema, "horizontalRule").createChecked();
|
|
37
35
|
tr.delete(start, end).insert(start - 1, node);
|
|
38
36
|
return tr.scrollIntoView();
|
|
39
37
|
})));
|
|
@@ -64,4 +62,5 @@ function defineHorizontalRule() {
|
|
|
64
62
|
}
|
|
65
63
|
|
|
66
64
|
//#endregion
|
|
67
|
-
export { defineHorizontalRule, defineHorizontalRuleCommands, defineHorizontalRuleInputRule, defineHorizontalRuleSpec, insertHorizontalRule };
|
|
65
|
+
export { defineHorizontalRule, defineHorizontalRuleCommands, defineHorizontalRuleInputRule, defineHorizontalRuleSpec, insertHorizontalRule };
|
|
66
|
+
//# sourceMappingURL=prosekit-extensions-horizontal-rule.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"prosekit-extensions-horizontal-rule.js","names":[],"sources":["../src/horizontal-rule/horizontal-rule-commands.ts","../src/horizontal-rule/horizontal-rule-input-rule.ts","../src/horizontal-rule/horizontal-rule-spec.ts","../src/horizontal-rule/horizontal-rule.ts"],"sourcesContent":["import {\n defineCommands,\n getNodeType,\n type Extension,\n} from '@prosekit/core'\nimport {\n Fragment,\n Slice,\n} from '@prosekit/pm/model'\nimport type { Command } from '@prosekit/pm/state'\n\nexport type HorizontalRuleCommandsExtension = Extension<{\n Commands: {\n insertHorizontalRule: []\n }\n}>\n\n/**\n * Returns a command that inserts a horizontal rule at the current selection.\n */\nexport function insertHorizontalRule(): Command {\n return (state, dispatch) => {\n if (!dispatch) return true\n\n const { schema, tr } = state\n const type = getNodeType(schema, 'horizontalRule')\n const node = type.createChecked()\n const pos = tr.selection.anchor\n tr.replaceRange(pos, pos, new Slice(Fragment.from(node), 0, 0))\n dispatch(tr)\n return true\n }\n}\n\nexport function defineHorizontalRuleCommands(): HorizontalRuleCommandsExtension {\n return defineCommands({ insertHorizontalRule })\n}\n","import {\n getNodeType,\n union,\n type PlainExtension,\n} from '@prosekit/core'\nimport { InputRule } from '@prosekit/pm/inputrules'\n\nimport { defineInputRule } from '../input-rule'\n\n/**\n * @public\n */\nexport function defineHorizontalRuleInputRule(): PlainExtension {\n return union(\n defineInputRule(\n new InputRule(/^---$/, (state, match, start, end) => {\n const { schema } = state\n const { tr } = state\n const type = getNodeType(schema, 'horizontalRule')\n const node = type.createChecked()\n tr.delete(start, end).insert(start - 1, node)\n return tr.scrollIntoView()\n }),\n ),\n )\n}\n","import {\n defineNodeSpec,\n type Extension,\n} from '@prosekit/core'\nimport type { Attrs } from '@prosekit/pm/model'\n\nexport type HorizontalRuleSpecExtension = Extension<{\n Nodes: {\n horizontalRule: Attrs\n }\n}>\n\nexport function defineHorizontalRuleSpec(): HorizontalRuleSpecExtension {\n return defineNodeSpec({\n name: 'horizontalRule',\n group: 'block',\n parseDOM: [{ tag: 'hr' }],\n // Wrap the `<hr>` in a `<div>` so that we can make it taller and easier to click.\n toDOM: () => ['div', { class: 'prosekit-horizontal-rule' }, ['hr']],\n })\n}\n","import {\n union,\n type Union,\n} from '@prosekit/core'\n\nimport {\n defineHorizontalRuleCommands,\n type HorizontalRuleCommandsExtension,\n} from './horizontal-rule-commands'\nimport { defineHorizontalRuleInputRule } from './horizontal-rule-input-rule'\nimport {\n defineHorizontalRuleSpec,\n type HorizontalRuleSpecExtension,\n} from './horizontal-rule-spec'\n\nexport type HorizontalRuleExtension = Union<\n [HorizontalRuleSpecExtension, HorizontalRuleCommandsExtension]\n>\n\n/**\n * @public\n */\nexport function defineHorizontalRule(): HorizontalRuleExtension {\n return union(\n defineHorizontalRuleSpec(),\n defineHorizontalRuleInputRule(),\n defineHorizontalRuleCommands(),\n )\n}\n"],"mappings":";;;;;;;;;AAoBA,SAAgB,uBAAgC;AAC9C,SAAQ,OAAO,aAAa;AAC1B,MAAI,CAAC,SAAU,QAAO;EAEtB,MAAM,EAAE,QAAQ,OAAO;EAEvB,MAAM,OADO,YAAY,QAAQ,iBAAiB,CAChC,eAAe;EACjC,MAAM,MAAM,GAAG,UAAU;AACzB,KAAG,aAAa,KAAK,KAAK,IAAI,MAAM,SAAS,KAAK,KAAK,EAAE,GAAG,EAAE,CAAC;AAC/D,WAAS,GAAG;AACZ,SAAO;;;AAIX,SAAgB,+BAAgE;AAC9E,QAAO,eAAe,EAAE,sBAAsB,CAAC;;;;;;;;ACvBjD,SAAgB,gCAAgD;AAC9D,QAAO,MACL,gBACE,IAAI,UAAU,UAAU,OAAO,OAAO,OAAO,QAAQ;EACnD,MAAM,EAAE,WAAW;EACnB,MAAM,EAAE,OAAO;EAEf,MAAM,OADO,YAAY,QAAQ,iBAAiB,CAChC,eAAe;AACjC,KAAG,OAAO,OAAO,IAAI,CAAC,OAAO,QAAQ,GAAG,KAAK;AAC7C,SAAO,GAAG,gBAAgB;GAC1B,CACH,CACF;;;;;ACZH,SAAgB,2BAAwD;AACtE,QAAO,eAAe;EACpB,MAAM;EACN,OAAO;EACP,UAAU,CAAC,EAAE,KAAK,MAAM,CAAC;EAEzB,aAAa;GAAC;GAAO,EAAE,OAAO,4BAA4B;GAAE,CAAC,KAAK;GAAC;EACpE,CAAC;;;;;;;;ACGJ,SAAgB,uBAAgD;AAC9D,QAAO,MACL,0BAA0B,EAC1B,+BAA+B,EAC/B,8BAA8B,CAC/B"}
|
|
@@ -1,7 +1,8 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { FileDropHandlerOptions, FilePasteHandlerOptions, UploadTask, Uploader } from "./index-DY6lIIYV.js";
|
|
2
|
+
import { Extension, PlainExtension, Union } from "@prosekit/core";
|
|
3
|
+
import { Command } from "@prosekit/pm/state";
|
|
2
4
|
|
|
3
5
|
//#region src/image/image-spec.d.ts
|
|
4
|
-
|
|
5
6
|
/**
|
|
6
7
|
* @public
|
|
7
8
|
*/
|
|
@@ -32,6 +33,13 @@ type ImageCommandsExtension = Extension<{
|
|
|
32
33
|
insertImage: [attrs?: ImageAttrs];
|
|
33
34
|
};
|
|
34
35
|
}>;
|
|
36
|
+
/**
|
|
37
|
+
* Returns a command that inserts an image node with the given attributes at the
|
|
38
|
+
* current selection position.
|
|
39
|
+
*
|
|
40
|
+
* @public
|
|
41
|
+
*/
|
|
42
|
+
declare function insertImage(attrs?: ImageAttrs): Command;
|
|
35
43
|
/**
|
|
36
44
|
* @internal
|
|
37
45
|
*/
|
|
@@ -47,4 +55,73 @@ type ImageExtension = Union<[ImageSpecExtension, ImageCommandsExtension]>;
|
|
|
47
55
|
*/
|
|
48
56
|
declare function defineImage(): ImageExtension;
|
|
49
57
|
//#endregion
|
|
50
|
-
|
|
58
|
+
//#region src/image/image-upload-handler.d.ts
|
|
59
|
+
/**
|
|
60
|
+
* A predicate to determine if the pasted file should be uploaded and inserted as an image.
|
|
61
|
+
*/
|
|
62
|
+
type ImageCanPastePredicate = (options: FilePasteHandlerOptions) => boolean;
|
|
63
|
+
/**
|
|
64
|
+
* A predicate to determine if the dropped file should be uploaded and inserted as an image.
|
|
65
|
+
*/
|
|
66
|
+
type ImageCanDropPredicate = (options: FileDropHandlerOptions) => boolean;
|
|
67
|
+
/**
|
|
68
|
+
* A handler to be called when an error occurs during the upload.
|
|
69
|
+
*/
|
|
70
|
+
type ImageUploadErrorHandler = (options: ImageUploadErrorHandlerOptions) => void;
|
|
71
|
+
/**
|
|
72
|
+
* Options for the {@link ImageUploadErrorHandler} callback.
|
|
73
|
+
*/
|
|
74
|
+
interface ImageUploadErrorHandlerOptions {
|
|
75
|
+
/**
|
|
76
|
+
* The file that was uploaded.
|
|
77
|
+
*/
|
|
78
|
+
file: File;
|
|
79
|
+
/**
|
|
80
|
+
* The error that occurred during the upload.
|
|
81
|
+
*/
|
|
82
|
+
error: unknown;
|
|
83
|
+
/**
|
|
84
|
+
* The upload task that was used to upload the file.
|
|
85
|
+
*/
|
|
86
|
+
uploadTask: UploadTask<string>;
|
|
87
|
+
}
|
|
88
|
+
/**
|
|
89
|
+
* Options for {@link defineImageUploadHandler}.
|
|
90
|
+
*/
|
|
91
|
+
interface ImageUploadHandlerOptions {
|
|
92
|
+
/**
|
|
93
|
+
* The uploader used to upload the file. It should return a promise that
|
|
94
|
+
* resolves to the URL of the uploaded image.
|
|
95
|
+
*/
|
|
96
|
+
uploader: Uploader<string>;
|
|
97
|
+
/**
|
|
98
|
+
* A predicate to determine if the pasted file should be uploaded and inserted as an image.
|
|
99
|
+
* If not provided, it defaults to only allowing paste of files with a content type starting with `image/`.
|
|
100
|
+
*/
|
|
101
|
+
canPaste?: ImageCanPastePredicate;
|
|
102
|
+
/**
|
|
103
|
+
* A predicate to determine if the dropped file should be uploaded and inserted as an image.
|
|
104
|
+
* If not provided, it defaults to only allowing drop of files with a content type starting with `image/`.
|
|
105
|
+
*/
|
|
106
|
+
canDrop?: ImageCanDropPredicate;
|
|
107
|
+
/**
|
|
108
|
+
* A handler to be called when an error occurs during the upload.
|
|
109
|
+
* If not provided, it defaults to logging the error to the console.
|
|
110
|
+
*/
|
|
111
|
+
onError?: ImageUploadErrorHandler;
|
|
112
|
+
}
|
|
113
|
+
/**
|
|
114
|
+
* Returns an extension that handles image file uploads when pasting or dropping
|
|
115
|
+
* images into the editor.
|
|
116
|
+
*
|
|
117
|
+
* @param options
|
|
118
|
+
*/
|
|
119
|
+
declare function defineImageUploadHandler({
|
|
120
|
+
uploader,
|
|
121
|
+
canPaste,
|
|
122
|
+
canDrop,
|
|
123
|
+
onError
|
|
124
|
+
}: ImageUploadHandlerOptions): PlainExtension;
|
|
125
|
+
//#endregion
|
|
126
|
+
export { type ImageAttrs, type ImageCanDropPredicate, type ImageCanPastePredicate, type ImageCommandsExtension, type ImageExtension, type ImageSpecExtension, type ImageUploadErrorHandler, type ImageUploadErrorHandlerOptions, type ImageUploadHandlerOptions, defineImage, defineImageCommands, defineImageSpec, defineImageUploadHandler, insertImage };
|
|
127
|
+
//# sourceMappingURL=prosekit-extensions-image.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"prosekit-extensions-image.d.ts","names":[],"sources":["../src/image/image-spec.ts","../src/image/image-commands.ts","../src/image/image.ts","../src/image/image-upload-handler.ts"],"sourcesContent":[],"mappings":";;;;;;;;UAQiB,UAAA;EAAA,GAAA,CAAA,EAAA,MAAA,GAAU,IAAA;EASf,KAAA,CAAA,EAAA,MAAA,GAAA,IAAkB;EAAA,MAAA,CAAA,EAAA,MAAA,GAAA,IAAA;;;;AAS9B;KATY,kBAAA,GAAqB;;WAEtB;ECPC,CAAA;CAAsB,CAAA;;;;AAYlB,iBDEA,eAAA,CAAA,CCFW,EDEQ,kBCFR;;;;;ADhB3B;AASY,KCLA,sBAAA,GAAyB,SDKP,CAAA;EAAA,QAAA,EAAA;IAEnB,WAAA,EAAA,CAAA,KAAA,GCLe,UDKf,CAAA;;CAF+B,CAAA;AAS1C;;;;ACdA;;AAE0B,iBAUV,WAAA,CAVU,KAAA,CAAA,EAUU,UAVV,CAAA,EAUuB,OAVvB;;;AAU1B;AAA2B,iBAOX,mBAAA,CAAA,CAPW,EAOY,sBAPZ;;;;;ADhB3B;AASY,KEAA,cAAA,GAAiB,KFAC,CAAA,CEAM,kBFAN,EEA0B,sBFA1B,CAAA,CAAA;;;;AAAY,iBEK1B,WAAA,CAAA,CFL0B,EEKX,cFLW;;;;;;AATzB,KGgBL,sBAAA,GHhBe,CAAA,OAAA,EGgBoB,uBHhBpB,EAAA,GAAA,OAAA;AAS3B;;;AAAiC,KGYrB,qBAAA,GHZqB,CAAA,OAAA,EGYa,sBHZb,EAAA,GAAA,OAAA;;AASjC;;KGQY,uBAAA,aAAoC;;AFtBhD;;AAE0B,UEyBT,8BAAA,CFzBS;;;AAU1B;EAA2B,IAAA,EEmBnB,IFnBmB;;;;EAOX,KAAA,EAAA,OAAA;;;;ECdJ,UAAA,ECkCE,UDlCY,CAAA,MAAA,CAAA;;;;;AAAQ,UCwCjB,yBAAA,CDxCiB;EAKlB;;;;ECEJ,QAAA,EAsCA,QAtCA,CAAA,MAAsB,CAAA;EAKtB;AAKZ;AAKA;;UAIQ,CAAA,EAwBK,sBAxBL;;;AAcR;;SAKY,CAAA,EAUA,qBAVA;;;;;EAiCI,OAAA,CAAA,EAlBJ,uBAkB4B;;;;;;;;AAKK,iBAL7B,wBAAA,CAK6B;EAAA,QAAA;EAAA,QAAA;EAAA,OAAA;EAAA;AAAA,CAAA,EAA1C,yBAA0C,CAAA,EAAd,cAAc"}
|