@aquera/nile-elements 1.9.6 → 1.9.7
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/README.md +3 -0
- package/dist/index-178e1e57.cjs.js +2 -0
- package/dist/index-178e1e57.cjs.js.map +1 -0
- package/dist/index-1faa963c.esm.js +1 -0
- package/dist/index-249de90a.esm.js +1 -0
- package/dist/index-353172ed.esm.js +1 -0
- package/dist/index-6f3fa4ab.esm.js +1 -0
- package/dist/index-89c520e9.cjs.js +5 -0
- package/dist/index-89c520e9.cjs.js.map +1 -0
- package/dist/index-920675c4.esm.js +1 -0
- package/dist/index-b387a9f4.cjs.js +2 -0
- package/dist/index-b387a9f4.cjs.js.map +1 -0
- package/dist/index-cc1385e0.cjs.js +2 -0
- package/dist/index-cc1385e0.cjs.js.map +1 -0
- package/dist/index-dedc38a6.esm.js +1 -0
- package/dist/index-df196058.cjs.js +2 -0
- package/dist/index-df196058.cjs.js.map +1 -0
- package/dist/index-f956f56d.cjs.js +7 -0
- package/dist/index-f956f56d.cjs.js.map +1 -0
- package/dist/index.cjs.js +1 -1
- package/dist/index.esm.js +1 -1
- package/dist/index.js +3595 -629
- package/dist/internal/glyph.cjs.js +2 -0
- package/dist/internal/glyph.cjs.js.map +1 -0
- package/dist/internal/glyph.esm.js +5 -0
- package/dist/nile-auto-complete/index.cjs.js +1 -1
- package/dist/nile-auto-complete/nile-auto-complete.cjs.js +1 -1
- package/dist/nile-auto-complete/portal-manager.cjs.js +1 -1
- package/dist/nile-auto-complete/portal-utils.cjs.js +1 -1
- package/dist/nile-code-editor/extensionSetup.cjs.js +7 -7
- package/dist/nile-code-editor/extensionSetup.cjs.js.map +1 -1
- package/dist/nile-code-editor/extensionSetup.esm.js +1 -1
- package/dist/nile-code-editor/index.cjs.js +1 -1
- package/dist/nile-code-editor/index.esm.js +1 -1
- package/dist/nile-code-editor/nile-code-editor.cjs.js +2 -2
- package/dist/nile-code-editor/nile-code-editor.cjs.js.map +1 -1
- package/dist/nile-code-editor/nile-code-editor.esm.js +1 -1
- package/dist/nile-color-picker/index.cjs.js +1 -1
- package/dist/nile-color-picker/nile-color-picker.cjs.js +1 -1
- package/dist/nile-combobox/index.cjs.js +1 -1
- package/dist/nile-combobox/index.esm.js +1 -1
- package/dist/nile-combobox/nile-combobox.cjs.js +1 -1
- package/dist/nile-combobox/nile-combobox.esm.js +1 -1
- package/dist/nile-combobox/portal-manager.cjs.js +1 -1
- package/dist/nile-context-menu/index.cjs.js +1 -1
- package/dist/nile-context-menu/nile-context-menu.cjs.js +1 -1
- package/dist/nile-context-submenu/index.cjs.js +1 -1
- package/dist/nile-context-submenu/nile-context-submenu.cjs.js +1 -1
- package/dist/nile-detail/index.cjs.js +1 -1
- package/dist/nile-detail/index.esm.js +1 -1
- package/dist/nile-detail/nile-detail.cjs.js +1 -1
- package/dist/nile-detail/nile-detail.esm.js +1 -1
- package/dist/nile-dropdown/index.cjs.js +1 -1
- package/dist/nile-dropdown/nile-dropdown.cjs.js +1 -1
- package/dist/nile-dropdown/portal-manager.cjs.js +1 -1
- package/dist/nile-file-upload/index.cjs.js +1 -1
- package/dist/nile-file-upload/nile-file-upload.cjs.js +1 -1
- package/dist/nile-file-upload/nile-file-upload.template.cjs.js +1 -1
- package/dist/nile-floating-panel/index.cjs.js +1 -1
- package/dist/nile-floating-panel/nile-floating-panel.cjs.js +1 -1
- package/dist/nile-lite-tooltip/index.cjs.js +1 -1
- package/dist/nile-lite-tooltip/nile-lite-tooltip.cjs.js +1 -1
- package/dist/nile-markdown-editor/index.cjs.js +1 -1
- package/dist/nile-markdown-editor/nile-markdown-editor.cjs.js +1 -1
- package/dist/nile-popover/index.cjs.js +1 -1
- package/dist/nile-popover/nile-popover.cjs.js +1 -1
- package/dist/nile-popover/portal-manager.cjs.js +1 -1
- package/dist/nile-popup/index.cjs.js +1 -1
- package/dist/nile-popup/nile-popup.cjs.js +1 -1
- package/dist/nile-select/index.cjs.js +1 -1
- package/dist/nile-select/nile-select.cjs.js +1 -1
- package/dist/nile-select/portal-manager.cjs.js +1 -1
- package/dist/nile-side-bar-action/index.cjs.js +1 -1
- package/dist/nile-side-bar-action/nile-side-bar-action.cjs.js +1 -1
- package/dist/nile-side-bar-action/portal-manager.cjs.js +1 -1
- package/dist/nile-tooltip/index.cjs.js +1 -1
- package/dist/nile-tooltip/nile-tooltip.cjs.js +1 -1
- package/dist/nile-virtual-select/index.cjs.js +1 -1
- package/dist/nile-virtual-select/nile-virtual-select.cjs.js +1 -1
- package/dist/nile-virtual-select/portal-manager.cjs.js +1 -1
- package/dist/nile-virtual-select/renderer.cjs.js +1 -1
- package/dist/nile-wysiwyg-editor/emoji.cjs.js +2 -0
- package/dist/nile-wysiwyg-editor/emoji.cjs.js.map +1 -0
- package/dist/nile-wysiwyg-editor/emoji.esm.js +1 -0
- package/dist/nile-wysiwyg-editor/engine/commands.cjs.js +2 -0
- package/dist/nile-wysiwyg-editor/engine/commands.cjs.js.map +1 -0
- package/dist/nile-wysiwyg-editor/engine/commands.esm.js +1 -0
- package/dist/nile-wysiwyg-editor/engine/create-state.cjs.js +2 -0
- package/dist/nile-wysiwyg-editor/engine/create-state.cjs.js.map +1 -0
- package/dist/nile-wysiwyg-editor/engine/create-state.esm.js +1 -0
- package/dist/nile-wysiwyg-editor/engine/export.cjs.js +2 -0
- package/dist/nile-wysiwyg-editor/engine/export.cjs.js.map +1 -0
- package/dist/nile-wysiwyg-editor/engine/export.esm.js +1 -0
- package/dist/nile-wysiwyg-editor/engine/index.cjs.js +2 -0
- package/dist/nile-wysiwyg-editor/engine/index.cjs.js.map +1 -0
- package/dist/nile-wysiwyg-editor/engine/index.esm.js +1 -0
- package/dist/nile-wysiwyg-editor/engine/inputrules.cjs.js +2 -0
- package/dist/nile-wysiwyg-editor/engine/inputrules.cjs.js.map +1 -0
- package/dist/nile-wysiwyg-editor/engine/inputrules.esm.js +1 -0
- package/dist/nile-wysiwyg-editor/engine/keymap.cjs.js +2 -0
- package/dist/nile-wysiwyg-editor/engine/keymap.cjs.js.map +1 -0
- package/dist/nile-wysiwyg-editor/engine/keymap.esm.js +1 -0
- package/dist/nile-wysiwyg-editor/engine/markdown-parse.cjs.js +2 -0
- package/dist/nile-wysiwyg-editor/engine/markdown-parse.cjs.js.map +1 -0
- package/dist/nile-wysiwyg-editor/engine/markdown-parse.esm.js +1 -0
- package/dist/nile-wysiwyg-editor/engine/markdown.cjs.js +2 -0
- package/dist/nile-wysiwyg-editor/engine/markdown.cjs.js.map +1 -0
- package/dist/nile-wysiwyg-editor/engine/markdown.esm.js +1 -0
- package/dist/nile-wysiwyg-editor/engine/office-paste.cjs.js +2 -0
- package/dist/nile-wysiwyg-editor/engine/office-paste.cjs.js.map +1 -0
- package/dist/nile-wysiwyg-editor/engine/office-paste.esm.js +1 -0
- package/dist/nile-wysiwyg-editor/engine/plugins/code-highlight.cjs.js +2 -0
- package/dist/nile-wysiwyg-editor/engine/plugins/code-highlight.cjs.js.map +1 -0
- package/dist/nile-wysiwyg-editor/engine/plugins/code-highlight.esm.js +1 -0
- package/dist/nile-wysiwyg-editor/engine/plugins/embed-view.cjs.js +2 -0
- package/dist/nile-wysiwyg-editor/engine/plugins/embed-view.cjs.js.map +1 -0
- package/dist/nile-wysiwyg-editor/engine/plugins/embed-view.esm.js +1 -0
- package/dist/nile-wysiwyg-editor/engine/plugins/embeds.cjs.js +2 -0
- package/dist/nile-wysiwyg-editor/engine/plugins/embeds.cjs.js.map +1 -0
- package/dist/nile-wysiwyg-editor/engine/plugins/embeds.esm.js +1 -0
- package/dist/nile-wysiwyg-editor/engine/plugins/find-replace.cjs.js +2 -0
- package/dist/nile-wysiwyg-editor/engine/plugins/find-replace.cjs.js.map +1 -0
- package/dist/nile-wysiwyg-editor/engine/plugins/find-replace.esm.js +1 -0
- package/dist/nile-wysiwyg-editor/engine/plugins/format-painter.cjs.js +2 -0
- package/dist/nile-wysiwyg-editor/engine/plugins/format-painter.cjs.js.map +1 -0
- package/dist/nile-wysiwyg-editor/engine/plugins/format-painter.esm.js +1 -0
- package/dist/nile-wysiwyg-editor/engine/plugins/image-view.cjs.js +2 -0
- package/dist/nile-wysiwyg-editor/engine/plugins/image-view.cjs.js.map +1 -0
- package/dist/nile-wysiwyg-editor/engine/plugins/image-view.esm.js +1 -0
- package/dist/nile-wysiwyg-editor/engine/plugins/image.cjs.js +2 -0
- package/dist/nile-wysiwyg-editor/engine/plugins/image.cjs.js.map +1 -0
- package/dist/nile-wysiwyg-editor/engine/plugins/image.esm.js +1 -0
- package/dist/nile-wysiwyg-editor/engine/plugins/link.cjs.js +2 -0
- package/dist/nile-wysiwyg-editor/engine/plugins/link.cjs.js.map +1 -0
- package/dist/nile-wysiwyg-editor/engine/plugins/link.esm.js +1 -0
- package/dist/nile-wysiwyg-editor/engine/plugins/math-view.cjs.js +2 -0
- package/dist/nile-wysiwyg-editor/engine/plugins/math-view.cjs.js.map +1 -0
- package/dist/nile-wysiwyg-editor/engine/plugins/math-view.esm.js +1 -0
- package/dist/nile-wysiwyg-editor/engine/plugins/max-length.cjs.js +2 -0
- package/dist/nile-wysiwyg-editor/engine/plugins/max-length.cjs.js.map +1 -0
- package/dist/nile-wysiwyg-editor/engine/plugins/max-length.esm.js +1 -0
- package/dist/nile-wysiwyg-editor/engine/plugins/paste.cjs.js +2 -0
- package/dist/nile-wysiwyg-editor/engine/plugins/paste.cjs.js.map +1 -0
- package/dist/nile-wysiwyg-editor/engine/plugins/paste.esm.js +1 -0
- package/dist/nile-wysiwyg-editor/engine/plugins/placeholder.cjs.js +2 -0
- package/dist/nile-wysiwyg-editor/engine/plugins/placeholder.cjs.js.map +1 -0
- package/dist/nile-wysiwyg-editor/engine/plugins/placeholder.esm.js +1 -0
- package/dist/nile-wysiwyg-editor/engine/plugins/single-line.cjs.js +2 -0
- package/dist/nile-wysiwyg-editor/engine/plugins/single-line.cjs.js.map +1 -0
- package/dist/nile-wysiwyg-editor/engine/plugins/single-line.esm.js +1 -0
- package/dist/nile-wysiwyg-editor/engine/plugins/suggestions.cjs.js +2 -0
- package/dist/nile-wysiwyg-editor/engine/plugins/suggestions.cjs.js.map +1 -0
- package/dist/nile-wysiwyg-editor/engine/plugins/suggestions.esm.js +1 -0
- package/dist/nile-wysiwyg-editor/engine/plugins/tables.cjs.js +2 -0
- package/dist/nile-wysiwyg-editor/engine/plugins/tables.cjs.js.map +1 -0
- package/dist/nile-wysiwyg-editor/engine/plugins/tables.esm.js +1 -0
- package/dist/nile-wysiwyg-editor/engine/plugins/task-list.cjs.js +2 -0
- package/dist/nile-wysiwyg-editor/engine/plugins/task-list.cjs.js.map +1 -0
- package/dist/nile-wysiwyg-editor/engine/plugins/task-list.esm.js +1 -0
- package/dist/nile-wysiwyg-editor/engine/sanitize.cjs.js +2 -0
- package/dist/nile-wysiwyg-editor/engine/sanitize.cjs.js.map +1 -0
- package/dist/nile-wysiwyg-editor/engine/sanitize.esm.js +1 -0
- package/dist/nile-wysiwyg-editor/engine/schema.cjs.js +2 -0
- package/dist/nile-wysiwyg-editor/engine/schema.cjs.js.map +1 -0
- package/dist/nile-wysiwyg-editor/engine/schema.esm.js +1 -0
- package/dist/nile-wysiwyg-editor/engine/selection-state.cjs.js +2 -0
- package/dist/nile-wysiwyg-editor/engine/selection-state.cjs.js.map +1 -0
- package/dist/nile-wysiwyg-editor/engine/selection-state.esm.js +1 -0
- package/dist/nile-wysiwyg-editor/engine/serializer.cjs.js +2 -0
- package/dist/nile-wysiwyg-editor/engine/serializer.cjs.js.map +1 -0
- package/dist/nile-wysiwyg-editor/engine/serializer.esm.js +1 -0
- package/dist/nile-wysiwyg-editor/index.cjs.js +2 -0
- package/dist/nile-wysiwyg-editor/index.cjs.js.map +1 -0
- package/dist/nile-wysiwyg-editor/index.esm.js +1 -0
- package/dist/nile-wysiwyg-editor/nile-wysiwyg-editor.cjs.js +2 -0
- package/dist/nile-wysiwyg-editor/nile-wysiwyg-editor.cjs.js.map +1 -0
- package/dist/nile-wysiwyg-editor/nile-wysiwyg-editor.css.cjs.js +2 -0
- package/dist/nile-wysiwyg-editor/nile-wysiwyg-editor.css.cjs.js.map +1 -0
- package/dist/nile-wysiwyg-editor/nile-wysiwyg-editor.css.esm.js +780 -0
- package/dist/nile-wysiwyg-editor/nile-wysiwyg-editor.esm.js +97 -0
- package/dist/nile-wysiwyg-editor/nile-wysiwyg-toolbar/index.cjs.js +2 -0
- package/dist/nile-wysiwyg-editor/nile-wysiwyg-toolbar/index.cjs.js.map +1 -0
- package/dist/nile-wysiwyg-editor/nile-wysiwyg-toolbar/index.esm.js +1 -0
- package/dist/nile-wysiwyg-editor/nile-wysiwyg-toolbar/nile-wysiwyg-toolbar.cjs.js +2 -0
- package/dist/nile-wysiwyg-editor/nile-wysiwyg-toolbar/nile-wysiwyg-toolbar.cjs.js.map +1 -0
- package/dist/nile-wysiwyg-editor/nile-wysiwyg-toolbar/nile-wysiwyg-toolbar.css.cjs.js +2 -0
- package/dist/nile-wysiwyg-editor/nile-wysiwyg-toolbar/nile-wysiwyg-toolbar.css.cjs.js.map +1 -0
- package/dist/nile-wysiwyg-editor/nile-wysiwyg-toolbar/nile-wysiwyg-toolbar.css.esm.js +244 -0
- package/dist/nile-wysiwyg-editor/nile-wysiwyg-toolbar/nile-wysiwyg-toolbar.esm.js +137 -0
- package/dist/nile-wysiwyg-editor/types.cjs.js +2 -0
- package/dist/nile-wysiwyg-editor/types.cjs.js.map +1 -0
- package/dist/nile-wysiwyg-editor/types.esm.js +1 -0
- package/dist/nile-wysiwyg-editor/ui/bookmark-panel.cjs.js +2 -0
- package/dist/nile-wysiwyg-editor/ui/bookmark-panel.cjs.js.map +1 -0
- package/dist/nile-wysiwyg-editor/ui/bookmark-panel.esm.js +97 -0
- package/dist/nile-wysiwyg-editor/ui/bubble-menu.cjs.js +2 -0
- package/dist/nile-wysiwyg-editor/ui/bubble-menu.cjs.js.map +1 -0
- package/dist/nile-wysiwyg-editor/ui/bubble-menu.esm.js +67 -0
- package/dist/nile-wysiwyg-editor/ui/code-block-menu.cjs.js +2 -0
- package/dist/nile-wysiwyg-editor/ui/code-block-menu.cjs.js.map +1 -0
- package/dist/nile-wysiwyg-editor/ui/code-block-menu.esm.js +65 -0
- package/dist/nile-wysiwyg-editor/ui/embed-menu.cjs.js +2 -0
- package/dist/nile-wysiwyg-editor/ui/embed-menu.cjs.js.map +1 -0
- package/dist/nile-wysiwyg-editor/ui/embed-menu.esm.js +64 -0
- package/dist/nile-wysiwyg-editor/ui/embed-panel.cjs.js +2 -0
- package/dist/nile-wysiwyg-editor/ui/embed-panel.cjs.js.map +1 -0
- package/dist/nile-wysiwyg-editor/ui/embed-panel.esm.js +68 -0
- package/dist/nile-wysiwyg-editor/ui/emoji-picker.cjs.js +2 -0
- package/dist/nile-wysiwyg-editor/ui/emoji-picker.cjs.js.map +1 -0
- package/dist/nile-wysiwyg-editor/ui/emoji-picker.esm.js +96 -0
- package/dist/nile-wysiwyg-editor/ui/find-replace.cjs.js +2 -0
- package/dist/nile-wysiwyg-editor/ui/find-replace.cjs.js.map +1 -0
- package/dist/nile-wysiwyg-editor/ui/find-replace.esm.js +112 -0
- package/dist/nile-wysiwyg-editor/ui/image-menu.cjs.js +2 -0
- package/dist/nile-wysiwyg-editor/ui/image-menu.cjs.js.map +1 -0
- package/dist/nile-wysiwyg-editor/ui/image-menu.esm.js +64 -0
- package/dist/nile-wysiwyg-editor/ui/image-panel.cjs.js +2 -0
- package/dist/nile-wysiwyg-editor/ui/image-panel.cjs.js.map +1 -0
- package/dist/nile-wysiwyg-editor/ui/image-panel.esm.js +171 -0
- package/dist/nile-wysiwyg-editor/ui/insert-menu.cjs.js +2 -0
- package/dist/nile-wysiwyg-editor/ui/insert-menu.cjs.js.map +1 -0
- package/dist/nile-wysiwyg-editor/ui/insert-menu.esm.js +90 -0
- package/dist/nile-wysiwyg-editor/ui/link-editor.cjs.js +2 -0
- package/dist/nile-wysiwyg-editor/ui/link-editor.cjs.js.map +1 -0
- package/dist/nile-wysiwyg-editor/ui/link-editor.esm.js +114 -0
- package/dist/nile-wysiwyg-editor/ui/markdown-panel.cjs.js +2 -0
- package/dist/nile-wysiwyg-editor/ui/markdown-panel.cjs.js.map +1 -0
- package/dist/nile-wysiwyg-editor/ui/markdown-panel.esm.js +80 -0
- package/dist/nile-wysiwyg-editor/ui/math-panel.cjs.js +2 -0
- package/dist/nile-wysiwyg-editor/ui/math-panel.cjs.js.map +1 -0
- package/dist/nile-wysiwyg-editor/ui/math-panel.esm.js +92 -0
- package/dist/nile-wysiwyg-editor/ui/shortcut-help.cjs.js +2 -0
- package/dist/nile-wysiwyg-editor/ui/shortcut-help.cjs.js.map +1 -0
- package/dist/nile-wysiwyg-editor/ui/shortcut-help.esm.js +147 -0
- package/dist/nile-wysiwyg-editor/ui/source-view.cjs.js +2 -0
- package/dist/nile-wysiwyg-editor/ui/source-view.cjs.js.map +1 -0
- package/dist/nile-wysiwyg-editor/ui/source-view.esm.js +79 -0
- package/dist/nile-wysiwyg-editor/ui/special-chars.cjs.js +2 -0
- package/dist/nile-wysiwyg-editor/ui/special-chars.cjs.js.map +1 -0
- package/dist/nile-wysiwyg-editor/ui/special-chars.esm.js +96 -0
- package/dist/nile-wysiwyg-editor/ui/suggest-list.cjs.js +2 -0
- package/dist/nile-wysiwyg-editor/ui/suggest-list.cjs.js.map +1 -0
- package/dist/nile-wysiwyg-editor/ui/suggest-list.esm.js +67 -0
- package/dist/nile-wysiwyg-editor/ui/table-grid-picker.cjs.js +2 -0
- package/dist/nile-wysiwyg-editor/ui/table-grid-picker.cjs.js.map +1 -0
- package/dist/nile-wysiwyg-editor/ui/table-grid-picker.esm.js +100 -0
- package/dist/nile-wysiwyg-editor/ui/table-menu.cjs.js +2 -0
- package/dist/nile-wysiwyg-editor/ui/table-menu.cjs.js.map +1 -0
- package/dist/nile-wysiwyg-editor/ui/table-menu.esm.js +58 -0
- package/dist/src/index.d.ts +24 -0
- package/dist/src/index.js +19 -0
- package/dist/src/index.js.map +1 -1
- package/dist/src/internal/glyph.d.ts +6 -0
- package/dist/src/internal/glyph.js +13 -0
- package/dist/src/internal/glyph.js.map +1 -0
- package/dist/src/nile-wysiwyg-editor/emoji.d.ts +5 -0
- package/dist/src/nile-wysiwyg-editor/emoji.js +138 -0
- package/dist/src/nile-wysiwyg-editor/emoji.js.map +1 -0
- package/dist/src/nile-wysiwyg-editor/engine/commands.d.ts +69 -0
- package/dist/src/nile-wysiwyg-editor/engine/commands.js +863 -0
- package/dist/src/nile-wysiwyg-editor/engine/commands.js.map +1 -0
- package/dist/src/nile-wysiwyg-editor/engine/create-state.d.ts +35 -0
- package/dist/src/nile-wysiwyg-editor/engine/create-state.js +67 -0
- package/dist/src/nile-wysiwyg-editor/engine/create-state.js.map +1 -0
- package/dist/src/nile-wysiwyg-editor/engine/export.d.ts +38 -0
- package/dist/src/nile-wysiwyg-editor/engine/export.js +208 -0
- package/dist/src/nile-wysiwyg-editor/engine/export.js.map +1 -0
- package/dist/src/nile-wysiwyg-editor/engine/export.test.d.ts +1 -0
- package/dist/src/nile-wysiwyg-editor/engine/export.test.js +96 -0
- package/dist/src/nile-wysiwyg-editor/engine/export.test.js.map +1 -0
- package/dist/src/nile-wysiwyg-editor/engine/index.d.ts +37 -0
- package/dist/src/nile-wysiwyg-editor/engine/index.js +29 -0
- package/dist/src/nile-wysiwyg-editor/engine/index.js.map +1 -0
- package/dist/src/nile-wysiwyg-editor/engine/inputrules.d.ts +12 -0
- package/dist/src/nile-wysiwyg-editor/engine/inputrules.js +144 -0
- package/dist/src/nile-wysiwyg-editor/engine/inputrules.js.map +1 -0
- package/dist/src/nile-wysiwyg-editor/engine/keymap.d.ts +15 -0
- package/dist/src/nile-wysiwyg-editor/engine/keymap.js +94 -0
- package/dist/src/nile-wysiwyg-editor/engine/keymap.js.map +1 -0
- package/dist/src/nile-wysiwyg-editor/engine/markdown-parse.d.ts +22 -0
- package/dist/src/nile-wysiwyg-editor/engine/markdown-parse.js +287 -0
- package/dist/src/nile-wysiwyg-editor/engine/markdown-parse.js.map +1 -0
- package/dist/src/nile-wysiwyg-editor/engine/markdown-parse.test.d.ts +1 -0
- package/dist/src/nile-wysiwyg-editor/engine/markdown-parse.test.js +106 -0
- package/dist/src/nile-wysiwyg-editor/engine/markdown-parse.test.js.map +1 -0
- package/dist/src/nile-wysiwyg-editor/engine/markdown.d.ts +10 -0
- package/dist/src/nile-wysiwyg-editor/engine/markdown.js +162 -0
- package/dist/src/nile-wysiwyg-editor/engine/markdown.js.map +1 -0
- package/dist/src/nile-wysiwyg-editor/engine/office-paste.d.ts +13 -0
- package/dist/src/nile-wysiwyg-editor/engine/office-paste.js +182 -0
- package/dist/src/nile-wysiwyg-editor/engine/office-paste.js.map +1 -0
- package/dist/src/nile-wysiwyg-editor/engine/plugins/code-highlight.d.ts +10 -0
- package/dist/src/nile-wysiwyg-editor/engine/plugins/code-highlight.js +165 -0
- package/dist/src/nile-wysiwyg-editor/engine/plugins/code-highlight.js.map +1 -0
- package/dist/src/nile-wysiwyg-editor/engine/plugins/embed-view.d.ts +17 -0
- package/dist/src/nile-wysiwyg-editor/engine/plugins/embed-view.js +69 -0
- package/dist/src/nile-wysiwyg-editor/engine/plugins/embed-view.js.map +1 -0
- package/dist/src/nile-wysiwyg-editor/engine/plugins/embeds.d.ts +17 -0
- package/dist/src/nile-wysiwyg-editor/engine/plugins/embeds.js +96 -0
- package/dist/src/nile-wysiwyg-editor/engine/plugins/embeds.js.map +1 -0
- package/dist/src/nile-wysiwyg-editor/engine/plugins/find-replace.d.ts +26 -0
- package/dist/src/nile-wysiwyg-editor/engine/plugins/find-replace.js +123 -0
- package/dist/src/nile-wysiwyg-editor/engine/plugins/find-replace.js.map +1 -0
- package/dist/src/nile-wysiwyg-editor/engine/plugins/format-painter.d.ts +28 -0
- package/dist/src/nile-wysiwyg-editor/engine/plugins/format-painter.js +72 -0
- package/dist/src/nile-wysiwyg-editor/engine/plugins/format-painter.js.map +1 -0
- package/dist/src/nile-wysiwyg-editor/engine/plugins/image-view.d.ts +41 -0
- package/dist/src/nile-wysiwyg-editor/engine/plugins/image-view.js +176 -0
- package/dist/src/nile-wysiwyg-editor/engine/plugins/image-view.js.map +1 -0
- package/dist/src/nile-wysiwyg-editor/engine/plugins/image.d.ts +15 -0
- package/dist/src/nile-wysiwyg-editor/engine/plugins/image.js +64 -0
- package/dist/src/nile-wysiwyg-editor/engine/plugins/image.js.map +1 -0
- package/dist/src/nile-wysiwyg-editor/engine/plugins/link.d.ts +11 -0
- package/dist/src/nile-wysiwyg-editor/engine/plugins/link.js +42 -0
- package/dist/src/nile-wysiwyg-editor/engine/plugins/link.js.map +1 -0
- package/dist/src/nile-wysiwyg-editor/engine/plugins/math-view.d.ts +18 -0
- package/dist/src/nile-wysiwyg-editor/engine/plugins/math-view.js +46 -0
- package/dist/src/nile-wysiwyg-editor/engine/plugins/math-view.js.map +1 -0
- package/dist/src/nile-wysiwyg-editor/engine/plugins/max-length.d.ts +7 -0
- package/dist/src/nile-wysiwyg-editor/engine/plugins/max-length.js +26 -0
- package/dist/src/nile-wysiwyg-editor/engine/plugins/max-length.js.map +1 -0
- package/dist/src/nile-wysiwyg-editor/engine/plugins/paste.d.ts +31 -0
- package/dist/src/nile-wysiwyg-editor/engine/plugins/paste.js +55 -0
- package/dist/src/nile-wysiwyg-editor/engine/plugins/paste.js.map +1 -0
- package/dist/src/nile-wysiwyg-editor/engine/plugins/placeholder.d.ts +7 -0
- package/dist/src/nile-wysiwyg-editor/engine/plugins/placeholder.js +25 -0
- package/dist/src/nile-wysiwyg-editor/engine/plugins/placeholder.js.map +1 -0
- package/dist/src/nile-wysiwyg-editor/engine/plugins/single-line.d.ts +10 -0
- package/dist/src/nile-wysiwyg-editor/engine/plugins/single-line.js +48 -0
- package/dist/src/nile-wysiwyg-editor/engine/plugins/single-line.js.map +1 -0
- package/dist/src/nile-wysiwyg-editor/engine/plugins/suggestions.d.ts +29 -0
- package/dist/src/nile-wysiwyg-editor/engine/plugins/suggestions.js +87 -0
- package/dist/src/nile-wysiwyg-editor/engine/plugins/suggestions.js.map +1 -0
- package/dist/src/nile-wysiwyg-editor/engine/plugins/tables.d.ts +8 -0
- package/dist/src/nile-wysiwyg-editor/engine/plugins/tables.js +11 -0
- package/dist/src/nile-wysiwyg-editor/engine/plugins/tables.js.map +1 -0
- package/dist/src/nile-wysiwyg-editor/engine/plugins/task-list.d.ts +16 -0
- package/dist/src/nile-wysiwyg-editor/engine/plugins/task-list.js +49 -0
- package/dist/src/nile-wysiwyg-editor/engine/plugins/task-list.js.map +1 -0
- package/dist/src/nile-wysiwyg-editor/engine/pm.test.d.ts +1 -0
- package/dist/src/nile-wysiwyg-editor/engine/pm.test.js +883 -0
- package/dist/src/nile-wysiwyg-editor/engine/pm.test.js.map +1 -0
- package/dist/src/nile-wysiwyg-editor/engine/productivity.test.d.ts +1 -0
- package/dist/src/nile-wysiwyg-editor/engine/productivity.test.js +129 -0
- package/dist/src/nile-wysiwyg-editor/engine/productivity.test.js.map +1 -0
- package/dist/src/nile-wysiwyg-editor/engine/sanitize.d.ts +13 -0
- package/dist/src/nile-wysiwyg-editor/engine/sanitize.js +155 -0
- package/dist/src/nile-wysiwyg-editor/engine/sanitize.js.map +1 -0
- package/dist/src/nile-wysiwyg-editor/engine/schema.d.ts +20 -0
- package/dist/src/nile-wysiwyg-editor/engine/schema.js +823 -0
- package/dist/src/nile-wysiwyg-editor/engine/schema.js.map +1 -0
- package/dist/src/nile-wysiwyg-editor/engine/selection-state.d.ts +70 -0
- package/dist/src/nile-wysiwyg-editor/engine/selection-state.js +138 -0
- package/dist/src/nile-wysiwyg-editor/engine/selection-state.js.map +1 -0
- package/dist/src/nile-wysiwyg-editor/engine/serializer.d.ts +18 -0
- package/dist/src/nile-wysiwyg-editor/engine/serializer.js +63 -0
- package/dist/src/nile-wysiwyg-editor/engine/serializer.js.map +1 -0
- package/dist/src/nile-wysiwyg-editor/index.d.ts +3 -0
- package/dist/src/nile-wysiwyg-editor/index.js +3 -0
- package/dist/src/nile-wysiwyg-editor/index.js.map +1 -0
- package/dist/src/nile-wysiwyg-editor/nile-wysiwyg-editor.css.d.ts +1 -0
- package/dist/src/nile-wysiwyg-editor/nile-wysiwyg-editor.css.js +782 -0
- package/dist/src/nile-wysiwyg-editor/nile-wysiwyg-editor.css.js.map +1 -0
- package/dist/src/nile-wysiwyg-editor/nile-wysiwyg-editor.d.ts +364 -0
- package/dist/src/nile-wysiwyg-editor/nile-wysiwyg-editor.js +2038 -0
- package/dist/src/nile-wysiwyg-editor/nile-wysiwyg-editor.js.map +1 -0
- package/dist/src/nile-wysiwyg-editor/nile-wysiwyg-editor.test.d.ts +1 -0
- package/dist/src/nile-wysiwyg-editor/nile-wysiwyg-editor.test.js +636 -0
- package/dist/src/nile-wysiwyg-editor/nile-wysiwyg-editor.test.js.map +1 -0
- package/dist/src/nile-wysiwyg-editor/nile-wysiwyg-toolbar/index.d.ts +1 -0
- package/dist/src/nile-wysiwyg-editor/nile-wysiwyg-toolbar/index.js +2 -0
- package/dist/src/nile-wysiwyg-editor/nile-wysiwyg-toolbar/index.js.map +1 -0
- package/dist/src/nile-wysiwyg-editor/nile-wysiwyg-toolbar/nile-wysiwyg-toolbar.css.d.ts +6 -0
- package/dist/src/nile-wysiwyg-editor/nile-wysiwyg-toolbar/nile-wysiwyg-toolbar.css.js +251 -0
- package/dist/src/nile-wysiwyg-editor/nile-wysiwyg-toolbar/nile-wysiwyg-toolbar.css.js.map +1 -0
- package/dist/src/nile-wysiwyg-editor/nile-wysiwyg-toolbar/nile-wysiwyg-toolbar.d.ts +41 -0
- package/dist/src/nile-wysiwyg-editor/nile-wysiwyg-toolbar/nile-wysiwyg-toolbar.js +700 -0
- package/dist/src/nile-wysiwyg-editor/nile-wysiwyg-toolbar/nile-wysiwyg-toolbar.js.map +1 -0
- package/dist/src/nile-wysiwyg-editor/types.d.ts +49 -0
- package/dist/src/nile-wysiwyg-editor/types.js +8 -0
- package/dist/src/nile-wysiwyg-editor/types.js.map +1 -0
- package/dist/src/nile-wysiwyg-editor/ui/bookmark-panel.d.ts +20 -0
- package/dist/src/nile-wysiwyg-editor/ui/bookmark-panel.js +159 -0
- package/dist/src/nile-wysiwyg-editor/ui/bookmark-panel.js.map +1 -0
- package/dist/src/nile-wysiwyg-editor/ui/bubble-menu.d.ts +21 -0
- package/dist/src/nile-wysiwyg-editor/ui/bubble-menu.js +125 -0
- package/dist/src/nile-wysiwyg-editor/ui/bubble-menu.js.map +1 -0
- package/dist/src/nile-wysiwyg-editor/ui/code-block-menu.d.ts +18 -0
- package/dist/src/nile-wysiwyg-editor/ui/code-block-menu.js +107 -0
- package/dist/src/nile-wysiwyg-editor/ui/code-block-menu.js.map +1 -0
- package/dist/src/nile-wysiwyg-editor/ui/embed-menu.d.ts +19 -0
- package/dist/src/nile-wysiwyg-editor/ui/embed-menu.js +123 -0
- package/dist/src/nile-wysiwyg-editor/ui/embed-menu.js.map +1 -0
- package/dist/src/nile-wysiwyg-editor/ui/embed-panel.d.ts +27 -0
- package/dist/src/nile-wysiwyg-editor/ui/embed-panel.js +146 -0
- package/dist/src/nile-wysiwyg-editor/ui/embed-panel.js.map +1 -0
- package/dist/src/nile-wysiwyg-editor/ui/emoji-picker.d.ts +21 -0
- package/dist/src/nile-wysiwyg-editor/ui/emoji-picker.js +154 -0
- package/dist/src/nile-wysiwyg-editor/ui/emoji-picker.js.map +1 -0
- package/dist/src/nile-wysiwyg-editor/ui/find-replace.d.ts +26 -0
- package/dist/src/nile-wysiwyg-editor/ui/find-replace.js +178 -0
- package/dist/src/nile-wysiwyg-editor/ui/find-replace.js.map +1 -0
- package/dist/src/nile-wysiwyg-editor/ui/image-menu.d.ts +18 -0
- package/dist/src/nile-wysiwyg-editor/ui/image-menu.js +129 -0
- package/dist/src/nile-wysiwyg-editor/ui/image-menu.js.map +1 -0
- package/dist/src/nile-wysiwyg-editor/ui/image-panel.d.ts +56 -0
- package/dist/src/nile-wysiwyg-editor/ui/image-panel.js +349 -0
- package/dist/src/nile-wysiwyg-editor/ui/image-panel.js.map +1 -0
- package/dist/src/nile-wysiwyg-editor/ui/insert-menu.d.ts +25 -0
- package/dist/src/nile-wysiwyg-editor/ui/insert-menu.js +142 -0
- package/dist/src/nile-wysiwyg-editor/ui/insert-menu.js.map +1 -0
- package/dist/src/nile-wysiwyg-editor/ui/link-editor.d.ts +30 -0
- package/dist/src/nile-wysiwyg-editor/ui/link-editor.js +189 -0
- package/dist/src/nile-wysiwyg-editor/ui/link-editor.js.map +1 -0
- package/dist/src/nile-wysiwyg-editor/ui/markdown-panel.d.ts +24 -0
- package/dist/src/nile-wysiwyg-editor/ui/markdown-panel.js +144 -0
- package/dist/src/nile-wysiwyg-editor/ui/markdown-panel.js.map +1 -0
- package/dist/src/nile-wysiwyg-editor/ui/math-panel.d.ts +31 -0
- package/dist/src/nile-wysiwyg-editor/ui/math-panel.js +172 -0
- package/dist/src/nile-wysiwyg-editor/ui/math-panel.js.map +1 -0
- package/dist/src/nile-wysiwyg-editor/ui/shortcut-help.d.ts +30 -0
- package/dist/src/nile-wysiwyg-editor/ui/shortcut-help.js +296 -0
- package/dist/src/nile-wysiwyg-editor/ui/shortcut-help.js.map +1 -0
- package/dist/src/nile-wysiwyg-editor/ui/source-view.d.ts +19 -0
- package/dist/src/nile-wysiwyg-editor/ui/source-view.js +120 -0
- package/dist/src/nile-wysiwyg-editor/ui/source-view.js.map +1 -0
- package/dist/src/nile-wysiwyg-editor/ui/special-chars.d.ts +20 -0
- package/dist/src/nile-wysiwyg-editor/ui/special-chars.js +199 -0
- package/dist/src/nile-wysiwyg-editor/ui/special-chars.js.map +1 -0
- package/dist/src/nile-wysiwyg-editor/ui/suggest-list.d.ts +31 -0
- package/dist/src/nile-wysiwyg-editor/ui/suggest-list.js +133 -0
- package/dist/src/nile-wysiwyg-editor/ui/suggest-list.js.map +1 -0
- package/dist/src/nile-wysiwyg-editor/ui/table-grid-picker.d.ts +23 -0
- package/dist/src/nile-wysiwyg-editor/ui/table-grid-picker.js +177 -0
- package/dist/src/nile-wysiwyg-editor/ui/table-grid-picker.js.map +1 -0
- package/dist/src/nile-wysiwyg-editor/ui/table-menu.d.ts +16 -0
- package/dist/src/nile-wysiwyg-editor/ui/table-menu.js +101 -0
- package/dist/src/nile-wysiwyg-editor/ui/table-menu.js.map +1 -0
- package/dist/src/version.js +1 -1
- package/dist/src/version.js.map +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +18 -2
- package/src/index.ts +57 -1
- package/src/internal/glyph.ts +13 -0
- package/src/nile-wysiwyg-editor/emoji.ts +137 -0
- package/src/nile-wysiwyg-editor/engine/commands.ts +1035 -0
- package/src/nile-wysiwyg-editor/engine/create-state.ts +117 -0
- package/src/nile-wysiwyg-editor/engine/export.test.ts +113 -0
- package/src/nile-wysiwyg-editor/engine/export.ts +242 -0
- package/src/nile-wysiwyg-editor/engine/index.ts +69 -0
- package/src/nile-wysiwyg-editor/engine/inputrules.ts +169 -0
- package/src/nile-wysiwyg-editor/engine/keymap.ts +146 -0
- package/src/nile-wysiwyg-editor/engine/markdown-parse.test.ts +148 -0
- package/src/nile-wysiwyg-editor/engine/markdown-parse.ts +337 -0
- package/src/nile-wysiwyg-editor/engine/markdown.ts +165 -0
- package/src/nile-wysiwyg-editor/engine/office-paste.ts +199 -0
- package/src/nile-wysiwyg-editor/engine/plugins/code-highlight.ts +173 -0
- package/src/nile-wysiwyg-editor/engine/plugins/embed-view.ts +85 -0
- package/src/nile-wysiwyg-editor/engine/plugins/embeds.ts +99 -0
- package/src/nile-wysiwyg-editor/engine/plugins/find-replace.ts +155 -0
- package/src/nile-wysiwyg-editor/engine/plugins/format-painter.ts +80 -0
- package/src/nile-wysiwyg-editor/engine/plugins/image-view.ts +220 -0
- package/src/nile-wysiwyg-editor/engine/plugins/image.ts +80 -0
- package/src/nile-wysiwyg-editor/engine/plugins/link.ts +42 -0
- package/src/nile-wysiwyg-editor/engine/plugins/math-view.ts +56 -0
- package/src/nile-wysiwyg-editor/engine/plugins/max-length.ts +24 -0
- package/src/nile-wysiwyg-editor/engine/plugins/paste.ts +74 -0
- package/src/nile-wysiwyg-editor/engine/plugins/placeholder.ts +24 -0
- package/src/nile-wysiwyg-editor/engine/plugins/single-line.ts +47 -0
- package/src/nile-wysiwyg-editor/engine/plugins/suggestions.ts +110 -0
- package/src/nile-wysiwyg-editor/engine/plugins/tables.ts +12 -0
- package/src/nile-wysiwyg-editor/engine/plugins/task-list.ts +65 -0
- package/src/nile-wysiwyg-editor/engine/pm.test.ts +1088 -0
- package/src/nile-wysiwyg-editor/engine/productivity.test.ts +163 -0
- package/src/nile-wysiwyg-editor/engine/sanitize.ts +156 -0
- package/src/nile-wysiwyg-editor/engine/schema.ts +859 -0
- package/src/nile-wysiwyg-editor/engine/selection-state.ts +210 -0
- package/src/nile-wysiwyg-editor/engine/serializer.ts +78 -0
- package/src/nile-wysiwyg-editor/index.ts +3 -0
- package/src/nile-wysiwyg-editor/nile-wysiwyg-editor.css.ts +782 -0
- package/src/nile-wysiwyg-editor/nile-wysiwyg-editor.test.ts +750 -0
- package/src/nile-wysiwyg-editor/nile-wysiwyg-editor.ts +2155 -0
- package/src/nile-wysiwyg-editor/nile-wysiwyg-toolbar/index.ts +1 -0
- package/src/nile-wysiwyg-editor/nile-wysiwyg-toolbar/nile-wysiwyg-toolbar.css.ts +251 -0
- package/src/nile-wysiwyg-editor/nile-wysiwyg-toolbar/nile-wysiwyg-toolbar.ts +772 -0
- package/src/nile-wysiwyg-editor/types.ts +83 -0
- package/src/nile-wysiwyg-editor/ui/bookmark-panel.ts +155 -0
- package/src/nile-wysiwyg-editor/ui/bubble-menu.ts +135 -0
- package/src/nile-wysiwyg-editor/ui/code-block-menu.ts +105 -0
- package/src/nile-wysiwyg-editor/ui/embed-menu.ts +133 -0
- package/src/nile-wysiwyg-editor/ui/embed-panel.ts +143 -0
- package/src/nile-wysiwyg-editor/ui/emoji-picker.ts +152 -0
- package/src/nile-wysiwyg-editor/ui/find-replace.ts +174 -0
- package/src/nile-wysiwyg-editor/ui/image-menu.ts +140 -0
- package/src/nile-wysiwyg-editor/ui/image-panel.ts +337 -0
- package/src/nile-wysiwyg-editor/ui/insert-menu.ts +142 -0
- package/src/nile-wysiwyg-editor/ui/link-editor.ts +180 -0
- package/src/nile-wysiwyg-editor/ui/markdown-panel.ts +143 -0
- package/src/nile-wysiwyg-editor/ui/math-panel.ts +169 -0
- package/src/nile-wysiwyg-editor/ui/shortcut-help.ts +311 -0
- package/src/nile-wysiwyg-editor/ui/source-view.ts +119 -0
- package/src/nile-wysiwyg-editor/ui/special-chars.ts +209 -0
- package/src/nile-wysiwyg-editor/ui/suggest-list.ts +138 -0
- package/src/nile-wysiwyg-editor/ui/table-grid-picker.ts +173 -0
- package/src/nile-wysiwyg-editor/ui/table-menu.ts +109 -0
- package/vscode-html-custom-data.json +450 -0
- package/web-dev-server.config.mjs +6 -2
- package/dist/index-5fef1a0d.esm.js +0 -1
- package/dist/index-8f38fae3.cjs.js +0 -2
- package/dist/index-8f38fae3.cjs.js.map +0 -1
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
System.register(["../../index-89c520e9.cjs.js","./commands.cjs.js","../../index-df196058.cjs.js","../../index-cc1385e0.cjs.js","./keymap.cjs.js","./inputrules.cjs.js","./plugins/placeholder.cjs.js","./plugins/link.cjs.js","./plugins/single-line.cjs.js","./plugins/tables.cjs.js","./plugins/image.cjs.js","./plugins/suggestions.cjs.js","./plugins/find-replace.cjs.js","./plugins/max-length.cjs.js","./plugins/code-highlight.cjs.js","./plugins/embeds.cjs.js","./plugins/paste.cjs.js","./plugins/format-painter.cjs.js","./schema.cjs.js","../../index-178e1e57.cjs.js","../../index-f956f56d.cjs.js","./markdown-parse.cjs.js","./serializer.cjs.js","./sanitize.cjs.js"],function(_export,_context){"use strict";var t,e,r,s,i,n,o,l,u,a,h,f,c,p,m,g,d,j,w,v,b,x,k,S,y,O,T,z,C,F,L,D,N,R,B;function _toConsumableArray(r){return _arrayWithoutHoles(r)||_iterableToArray(r)||_unsupportedIterableToArray(r)||_nonIterableSpread();}function _nonIterableSpread(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");}function _unsupportedIterableToArray(r,a){if(r){if("string"==typeof r)return _arrayLikeToArray(r,a);var t={}.toString.call(r).slice(8,-1);return"Object"===t&&r.constructor&&(t=r.constructor.name),"Map"===t||"Set"===t?Array.from(r):"Arguments"===t||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t)?_arrayLikeToArray(r,a):void 0;}}function _iterableToArray(r){if("undefined"!=typeof Symbol&&null!=r[Symbol.iterator]||null!=r["@@iterator"])return Array.from(r);}function _arrayWithoutHoles(r){if(Array.isArray(r))return _arrayLikeToArray(r);}function _arrayLikeToArray(r,a){(null==a||a>r.length)&&(a=r.length);for(var e=0,n=Array(a);e<a;e++)n[e]=r[e];return n;}function ownKeys(e,r){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);r&&(o=o.filter(function(r){return Object.getOwnPropertyDescriptor(e,r).enumerable;})),t.push.apply(t,o);}return t;}function _objectSpread(e){for(var r=1;r<arguments.length;r++){var t=null!=arguments[r]?arguments[r]:{};r%2?ownKeys(Object(t),!0).forEach(function(r){_defineProperty(e,r,t[r]);}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):ownKeys(Object(t)).forEach(function(r){Object.defineProperty(e,r,Object.getOwnPropertyDescriptor(t,r));});}return e;}function _defineProperty(e,r,t){return(r=_toPropertyKey(r))in e?Object.defineProperty(e,r,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[r]=t,e;}function _callSuper(t,o,e){return o=_getPrototypeOf(o),_possibleConstructorReturn(t,_isNativeReflectConstruct()?Reflect.construct(o,e||[],_getPrototypeOf(t).constructor):o.apply(t,e));}function _possibleConstructorReturn(t,e){if(e&&("object"==_typeof(e)||"function"==typeof e))return e;if(void 0!==e)throw new TypeError("Derived constructors may only return object or undefined");return _assertThisInitialized(t);}function _assertThisInitialized(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e;}function _isNativeReflectConstruct(){try{var t=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}));}catch(t){}return(_isNativeReflectConstruct=function _isNativeReflectConstruct(){return!!t;})();}function _getPrototypeOf(t){return _getPrototypeOf=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(t){return t.__proto__||Object.getPrototypeOf(t);},_getPrototypeOf(t);}function _inherits(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function");t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),Object.defineProperty(t,"prototype",{writable:!1}),e&&_setPrototypeOf(t,e);}function _setPrototypeOf(t,e){return _setPrototypeOf=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(t,e){return t.__proto__=e,t;},_setPrototypeOf(t,e);}function _typeof(o){"@babel/helpers - typeof";return _typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(o){return typeof o;}:function(o){return o&&"function"==typeof Symbol&&o.constructor===Symbol&&o!==Symbol.prototype?"symbol":typeof o;},_typeof(o);}function _classCallCheck(a,n){if(!(a instanceof n))throw new TypeError("Cannot call a class as a function");}function _defineProperties(e,r){for(var t=0;t<r.length;t++){var o=r[t];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(e,_toPropertyKey(o.key),o);}}function _createClass(e,r,t){return r&&_defineProperties(e.prototype,r),t&&_defineProperties(e,t),Object.defineProperty(e,"prototype",{writable:!1}),e;}function _toPropertyKey(t){var i=_toPrimitive(t,"string");return"symbol"==_typeof(i)?i:i+"";}function _toPrimitive(t,r){if("object"!=_typeof(t)||!t)return t;var e=t[Symbol.toPrimitive];if(void 0!==e){var i=e.call(t,r||"default");if("object"!=_typeof(i))return i;throw new TypeError("@@toPrimitive must return a primitive value.");}return("string"===r?String:Number)(t);}function A(t){return t.isAtom||t.spec.isolating||t.spec.createGapCursor;}function E(t,e){var r="vert"==t?e>0?"down":"up":e>0?"right":"left";return function(t,i,n){var o=t.selection,l=e>0?o.$to:o.$from,u=o.empty;if(o instanceof s){if(!n.endOfTextblock(r)||0==l.depth)return!1;u=!1,l=t.doc.resolve(e>0?l.after():l.before());}var a=F.findGapCursorFrom(l,e,u);return!!a&&(i&&i(t.tr.setSelection(new F(a))),!0);};}function M(t,e,r){if(!t||!t.editable)return!1;var s=t.state.doc.resolve(e);if(!F.valid(s))return!1;var n=t.posAtCoords({left:r.clientX,top:r.clientY});return!(n&&n.inside>-1&&i.isSelectable(t.state.doc.nodeAt(n.inside)))&&(t.dispatch(t.state.tr.setSelection(new F(s))),!0);}function P(t,e){if("insertCompositionText"!=e.inputType||!(t.state.selection instanceof F))return!1;var r=t.state.selection.$from,i=r.parent.contentMatchAt(r.index()).findWrapping(t.state.schema.nodes.text);if(!i)return!1;var l=n.empty;for(var _t6=i.length-1;_t6>=0;_t6--)l=n.from(i[_t6].createAndFill(null,l));var u=t.state.tr.replace(r.pos,r.pos,new o(l,0,0));return u.setSelection(s.near(u.doc.resolve(r.pos+1))),t.dispatch(u),!1;}function J(t){if(!(t.selection instanceof F))return null;var e=document.createElement("div");return e.className="ProseMirror-gapcursor",f.create(t.doc,[c.widget(t.selection.head,e,{key:"gapcursor"})]);}function G(){var _e$schema,_e$getPlaceholder;var e=arguments.length>0&&arguments[0]!==undefined?arguments[0]:{};var r=(_e$schema=e.schema)!==null&&_e$schema!==void 0?_e$schema:z,s=[];return e.mentions&&s.push(b(N,e.mentions)),e.slashCommands&&s.push(b(R,_objectSpread(_objectSpread({},e.slashCommands),{},{getTriggers:function getTriggers(){return["/"];},startOfLine:!0}))),e.emoji&&s.push(b(B,_objectSpread(_objectSpread({},e.emoji),{},{getTriggers:function getTriggers(){return[":"];},minQueryLength:2}))),s.push.apply(s,[m(r,{textTransform:e.textTransform})].concat(_toConsumableArray(p(r,{onLinkShortcut:e.onLinkShortcut,onFindShortcut:e.onFindShortcut,onShortcutHelp:e.onShortcutHelp})),[a(),function(){var e=arguments.length>0&&arguments[0]!==undefined?arguments[0]:{};return new t({view:function view(t){return new C(t,e);}});}(),new t({props:{decorations:J,createSelectionBetween:function createSelectionBetween(t,e,r){return e.pos==r.pos&&F.valid(r)?new F(r):null;},handleClick:M,handleKeyDown:D,handleDOMEvents:{beforeinput:P}}}),g((_e$getPlaceholder=e.getPlaceholder)!==null&&_e$getPlaceholder!==void 0?_e$getPlaceholder:function(){return"";}),d({onOpenLink:e.onOpenLink})],_toConsumableArray(w()),[v({onImageFiles:e.onImageFiles}),x(),S(),y(),T(),O(r,{getForcePlainText:e.getForcePlainText,getMarkdownPaste:e.getMarkdownPaste,getSanitize:e.getSanitize})])),e.getMaxLength&&s.push(k(e.getMaxLength)),e.singleLine&&s.push(j()),e.plugins&&s.push.apply(s,_toConsumableArray(e.plugins)),u.create({schema:r,doc:e.doc,plugins:s});}_export("c",G);return{setters:[function(_index00aCjsJs){t=_index00aCjsJs.b;e=_index00aCjsJs.e;r=_index00aCjsJs.S;s=_index00aCjsJs.T;i=_index00aCjsJs.c;n=_index00aCjsJs.F;o=_index00aCjsJs.d;l=_index00aCjsJs.P;u=_index00aCjsJs.E;},function(_commandsCjsJs){a=_commandsCjsJs.h;},function(_index001CjsJs){h=_index001CjsJs.b;},function(_index009CjsJs){f=_index009CjsJs.D;c=_index009CjsJs.a;},function(_keymapCjsJs){p=_keymapCjsJs.b;},function(_inputrulesCjsJs){m=_inputrulesCjsJs.b;},function(_pluginsPlaceholderCjsJs){g=_pluginsPlaceholderCjsJs.p;},function(_pluginsLinkCjsJs){d=_pluginsLinkCjsJs.l;},function(_pluginsSingleLineCjsJs){j=_pluginsSingleLineCjsJs.s;},function(_pluginsTablesCjsJs){w=_pluginsTablesCjsJs.t;},function(_pluginsImageCjsJs){v=_pluginsImageCjsJs.i;},function(_pluginsSuggestionsCjsJs){b=_pluginsSuggestionsCjsJs.s;},function(_pluginsFindReplaceCjsJs){x=_pluginsFindReplaceCjsJs.f;},function(_pluginsMaxLengthCjsJs){k=_pluginsMaxLengthCjsJs.m;},function(_pluginsCodeHighlightCjsJs){S=_pluginsCodeHighlightCjsJs.c;},function(_pluginsEmbedsCjsJs){y=_pluginsEmbedsCjsJs.e;},function(_pluginsPasteCjsJs){O=_pluginsPasteCjsJs.a;},function(_pluginsFormatPainterCjsJs){T=_pluginsFormatPainterCjsJs.f;},function(_schemaCjsJs){z=_schemaCjsJs.d;},function(_index007CjsJs){},function(_index00bCjsJs){},function(_markdownParseCjsJs){},function(_serializerCjsJs){},function(_sanitizeCjsJs){}],execute:function execute(){C=/*#__PURE__*/function(){function C(t,e){var _this=this;_classCallCheck(this,C);var r;this.editorView=t,this.cursorPos=null,this.element=null,this.timeout=-1,this.lastDragEvent=null,this.width=null!==(r=e.width)&&void 0!==r?r:1,this.color=!1===e.color?void 0:e.color||"black",this["class"]=e["class"],this.handlers=["dragover","dragend","drop","dragleave"].map(function(e){var r=function r(t){_this[e](t);};return t.dom.addEventListener(e,r),{name:e,handler:r};});}return _createClass(C,[{key:"destroy",value:function destroy(){var _this2=this;this.handlers.forEach(function(_ref){var t=_ref.name,e=_ref.handler;return _this2.editorView.dom.removeEventListener(t,e);});}},{key:"update",value:function update(t,e){if(null!=this.cursorPos&&e.doc!=t.state.doc)if(this.lastDragEvent){var _t=this.computeTarget(this.lastDragEvent);_t==this.cursorPos?this.updateOverlay():this.setCursor(_t);}else this.updateOverlay();}},{key:"setCursor",value:function setCursor(t){t!=this.cursorPos&&(this.cursorPos=t,null==t?(this.element.parentNode.removeChild(this.element),this.element=null):this.updateOverlay());}},{key:"updateOverlay",value:function updateOverlay(){var t,e=this.editorView.state.doc.resolve(this.cursorPos),r=!e.parent.inlineContent,s=this.editorView.dom,i=s.getBoundingClientRect(),n=i.width/s.offsetWidth,o=i.height/s.offsetHeight;if(r){var _r=e.nodeBefore,_s=e.nodeAfter;if(_r||_s){var _e=this.editorView.nodeDOM(this.cursorPos-(_r?_r.nodeSize:0));if(_e){var _i=_e.getBoundingClientRect(),_n=_r?_i.bottom:_i.top;_r&&_s&&(_n=(_n+this.editorView.nodeDOM(this.cursorPos).getBoundingClientRect().top)/2);var _l=this.width/2*o;t={left:_i.left,right:_i.right,top:_n-_l,bottom:_n+_l};}}}if(!t){var _e2=this.editorView.coordsAtPos(this.cursorPos),_r2=this.width/2*n;t={left:_e2.left-_r2,right:_e2.left+_r2,top:_e2.top,bottom:_e2.bottom};}var l,u,a=this.editorView.dom.offsetParent;if(this.element||(this.element=a.appendChild(document.createElement("div")),this["class"]&&(this.element.className=this["class"]),this.element.style.cssText="position: absolute; z-index: 50; pointer-events: none;",this.color&&(this.element.style.backgroundColor=this.color)),this.element.classList.toggle("prosemirror-dropcursor-block",r),this.element.classList.toggle("prosemirror-dropcursor-inline",!r),!a||a==document.body&&"static"==getComputedStyle(a).position)l=-pageXOffset,u=-pageYOffset;else{var _t2=a.getBoundingClientRect(),_e3=_t2.width/a.offsetWidth,_r3=_t2.height/a.offsetHeight;l=_t2.left-a.scrollLeft*_e3,u=_t2.top-a.scrollTop*_r3;}this.element.style.left=(t.left-l)/n+"px",this.element.style.top=(t.top-u)/o+"px",this.element.style.width=(t.right-t.left)/n+"px",this.element.style.height=(t.bottom-t.top)/o+"px";}},{key:"scheduleRemoval",value:function scheduleRemoval(t){var _this3=this;clearTimeout(this.timeout),this.timeout=setTimeout(function(){return _this3.setCursor(null);},t);}},{key:"computeTarget",value:function computeTarget(t){var r=this.editorView.posAtCoords({left:t.clientX,top:t.clientY}),s=r&&r.inside>=0&&this.editorView.state.doc.nodeAt(r.inside),i=s&&s.type.spec.disableDropCursor,n="function"==typeof i?i(this.editorView,r,t):i;if(!r||n)return null;var o=r.pos;if(this.editorView.dragging&&this.editorView.dragging.slice){var _t3=e(this.editorView.state.doc,o,this.editorView.dragging.slice);null!=_t3&&(o=_t3);}return o;}},{key:"dragover",value:function dragover(t){if(!this.editorView.editable)return;this.lastDragEvent=t;var e=this.computeTarget(t);null!=e&&(this.setCursor(e),this.scheduleRemoval(5e3));}},{key:"dragend",value:function dragend(){this.scheduleRemoval(20);}},{key:"drop",value:function drop(){this.scheduleRemoval(20);}},{key:"dragleave",value:function dragleave(t){this.editorView.dom.contains(t.relatedTarget)||this.setCursor(null);}}]);}();F=/*#__PURE__*/function(_r4){function F(t){_classCallCheck(this,F);return _callSuper(this,F,[t,t]);}_inherits(F,_r4);return _createClass(F,[{key:"map",value:function map(t,e){var s=t.resolve(e.map(this.head));return F.valid(s)?new F(s):r.near(s);}},{key:"content",value:function content(){return o.empty;}},{key:"eq",value:function eq(t){return t instanceof F&&t.head==this.head;}},{key:"toJSON",value:function toJSON(){return{type:"gapcursor",pos:this.head};}},{key:"getBookmark",value:function getBookmark(){return new L(this.anchor);}}],[{key:"fromJSON",value:function fromJSON(t,e){if("number"!=typeof e.pos)throw new RangeError("Invalid input for GapCursor.fromJSON");return new F(t.resolve(e.pos));}},{key:"valid",value:function valid(t){var e=t.parent;if(e.inlineContent||!function(t){for(var _e4=t.depth;_e4>=0;_e4--){var _r5=t.index(_e4),_s2=t.node(_e4);if(0!=_r5)for(var _t4=_s2.child(_r5-1);;_t4=_t4.lastChild){if(0==_t4.childCount&&!_t4.inlineContent||A(_t4.type))return!0;if(_t4.inlineContent)return!1;}else if(_s2.type.spec.isolating)return!0;}return!0;}(t)||!function(t){for(var _e5=t.depth;_e5>=0;_e5--){var _r6=t.indexAfter(_e5),_s3=t.node(_e5);if(_r6!=_s3.childCount)for(var _t5=_s3.child(_r6);;_t5=_t5.firstChild){if(0==_t5.childCount&&!_t5.inlineContent||A(_t5.type))return!0;if(_t5.inlineContent)return!1;}else if(_s3.type.spec.isolating)return!0;}return!0;}(t))return!1;var r=e.type.spec.allowGapCursor;if(null!=r)return r;var s=e.contentMatchAt(t.index()).defaultType;return s&&s.isTextblock;}},{key:"findGapCursorFrom",value:function findGapCursorFrom(t,e){var r=arguments.length>2&&arguments[2]!==undefined?arguments[2]:!1;t:for(;;){if(!r&&F.valid(t))return t;var _s4=t.pos,_n2=null;for(var _r7=t.depth;;_r7--){var _i2=t.node(_r7);if(e>0?t.indexAfter(_r7)<_i2.childCount:t.index(_r7)>0){_n2=_i2.child(e>0?t.indexAfter(_r7):t.index(_r7)-1);break;}if(0==_r7)return null;_s4+=e;var _o=t.doc.resolve(_s4);if(F.valid(_o))return _o;}for(;;){var _o2=e>0?_n2.firstChild:_n2.lastChild;if(!_o2){if(_n2.isAtom&&!_n2.isText&&!i.isSelectable(_n2)){t=t.doc.resolve(_s4+_n2.nodeSize*e),r=!1;continue t;}break;}_n2=_o2,_s4+=e;var _l2=t.doc.resolve(_s4);if(F.valid(_l2))return _l2;}return null;}}}]);}(r);F.prototype.visible=!1,F.findFrom=F.findGapCursorFrom,r.jsonID("gapcursor",F);L=/*#__PURE__*/function(){function L(t){_classCallCheck(this,L);this.pos=t;}return _createClass(L,[{key:"map",value:function map(t){return new L(t.map(this.pos));}},{key:"resolve",value:function resolve(t){var e=t.resolve(this.pos);return F.valid(e)?new F(e):r.near(e);}}]);}();D=h({ArrowLeft:E("horiz",-1),ArrowRight:E("horiz",1),ArrowUp:E("vert",-1),ArrowDown:E("vert",1)});N=new l("nileMentionSuggest"),R=new l("nileSlashSuggest"),B=new l("nileEmojiSuggest");}};});
|
|
2
|
+
//# sourceMappingURL=create-state.cjs.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"create-state.cjs.js","sources":["../../../../../node_modules/prosemirror-gapcursor/dist/index.js","../../../../src/nile-wysiwyg-editor/engine/create-state.ts","../../../../../node_modules/prosemirror-dropcursor/dist/index.js"],"sourcesContent":["import { keydownHandler } from 'prosemirror-keymap';\nimport { Selection, NodeSelection, TextSelection, Plugin } from 'prosemirror-state';\nimport { Slice, Fragment } from 'prosemirror-model';\nimport { DecorationSet, Decoration } from 'prosemirror-view';\n\n/**\nGap cursor selections are represented using this class. Its\n`$anchor` and `$head` properties both point at the cursor position.\n*/\nclass GapCursor extends Selection {\n /**\n Create a gap cursor.\n */\n constructor($pos) {\n super($pos, $pos);\n }\n map(doc, mapping) {\n let $pos = doc.resolve(mapping.map(this.head));\n return GapCursor.valid($pos) ? new GapCursor($pos) : Selection.near($pos);\n }\n content() { return Slice.empty; }\n eq(other) {\n return other instanceof GapCursor && other.head == this.head;\n }\n toJSON() {\n return { type: \"gapcursor\", pos: this.head };\n }\n /**\n @internal\n */\n static fromJSON(doc, json) {\n if (typeof json.pos != \"number\")\n throw new RangeError(\"Invalid input for GapCursor.fromJSON\");\n return new GapCursor(doc.resolve(json.pos));\n }\n /**\n @internal\n */\n getBookmark() { return new GapBookmark(this.anchor); }\n /**\n @internal\n */\n static valid($pos) {\n let parent = $pos.parent;\n if (parent.inlineContent || !closedBefore($pos) || !closedAfter($pos))\n return false;\n let override = parent.type.spec.allowGapCursor;\n if (override != null)\n return override;\n let deflt = parent.contentMatchAt($pos.index()).defaultType;\n return deflt && deflt.isTextblock;\n }\n /**\n @internal\n */\n static findGapCursorFrom($pos, dir, mustMove = false) {\n search: for (;;) {\n if (!mustMove && GapCursor.valid($pos))\n return $pos;\n let pos = $pos.pos, next = null;\n // Scan up from this position\n for (let d = $pos.depth;; d--) {\n let parent = $pos.node(d);\n if (dir > 0 ? $pos.indexAfter(d) < parent.childCount : $pos.index(d) > 0) {\n next = parent.child(dir > 0 ? $pos.indexAfter(d) : $pos.index(d) - 1);\n break;\n }\n else if (d == 0) {\n return null;\n }\n pos += dir;\n let $cur = $pos.doc.resolve(pos);\n if (GapCursor.valid($cur))\n return $cur;\n }\n // And then down into the next node\n for (;;) {\n let inside = dir > 0 ? next.firstChild : next.lastChild;\n if (!inside) {\n if (next.isAtom && !next.isText && !NodeSelection.isSelectable(next)) {\n $pos = $pos.doc.resolve(pos + next.nodeSize * dir);\n mustMove = false;\n continue search;\n }\n break;\n }\n next = inside;\n pos += dir;\n let $cur = $pos.doc.resolve(pos);\n if (GapCursor.valid($cur))\n return $cur;\n }\n return null;\n }\n }\n}\nGapCursor.prototype.visible = false;\nGapCursor.findFrom = GapCursor.findGapCursorFrom;\nSelection.jsonID(\"gapcursor\", GapCursor);\nclass GapBookmark {\n constructor(pos) {\n this.pos = pos;\n }\n map(mapping) {\n return new GapBookmark(mapping.map(this.pos));\n }\n resolve(doc) {\n let $pos = doc.resolve(this.pos);\n return GapCursor.valid($pos) ? new GapCursor($pos) : Selection.near($pos);\n }\n}\nfunction needsGap(type) {\n return type.isAtom || type.spec.isolating || type.spec.createGapCursor;\n}\nfunction closedBefore($pos) {\n for (let d = $pos.depth; d >= 0; d--) {\n let index = $pos.index(d), parent = $pos.node(d);\n // At the start of this parent, look at next one\n if (index == 0) {\n if (parent.type.spec.isolating)\n return true;\n continue;\n }\n // See if the node before (or its first ancestor) is closed\n for (let before = parent.child(index - 1);; before = before.lastChild) {\n if ((before.childCount == 0 && !before.inlineContent) || needsGap(before.type))\n return true;\n if (before.inlineContent)\n return false;\n }\n }\n // Hit start of document\n return true;\n}\nfunction closedAfter($pos) {\n for (let d = $pos.depth; d >= 0; d--) {\n let index = $pos.indexAfter(d), parent = $pos.node(d);\n if (index == parent.childCount) {\n if (parent.type.spec.isolating)\n return true;\n continue;\n }\n for (let after = parent.child(index);; after = after.firstChild) {\n if ((after.childCount == 0 && !after.inlineContent) || needsGap(after.type))\n return true;\n if (after.inlineContent)\n return false;\n }\n }\n return true;\n}\n\n/**\nCreate a gap cursor plugin. When enabled, this will capture clicks\nnear and arrow-key-motion past places that don't have a normally\nselectable position nearby, and create a gap cursor selection for\nthem. The cursor is drawn as an element with class\n`ProseMirror-gapcursor`. You can either include\n`style/gapcursor.css` from the package's directory or add your own\nstyles to make it visible.\n*/\nfunction gapCursor() {\n return new Plugin({\n props: {\n decorations: drawGapCursor,\n createSelectionBetween(_view, $anchor, $head) {\n return $anchor.pos == $head.pos && GapCursor.valid($head) ? new GapCursor($head) : null;\n },\n handleClick,\n handleKeyDown,\n handleDOMEvents: { beforeinput: beforeinput }\n }\n });\n}\nconst handleKeyDown = keydownHandler({\n \"ArrowLeft\": arrow(\"horiz\", -1),\n \"ArrowRight\": arrow(\"horiz\", 1),\n \"ArrowUp\": arrow(\"vert\", -1),\n \"ArrowDown\": arrow(\"vert\", 1)\n});\nfunction arrow(axis, dir) {\n const dirStr = axis == \"vert\" ? (dir > 0 ? \"down\" : \"up\") : (dir > 0 ? \"right\" : \"left\");\n return function (state, dispatch, view) {\n let sel = state.selection;\n let $start = dir > 0 ? sel.$to : sel.$from, mustMove = sel.empty;\n if (sel instanceof TextSelection) {\n if (!view.endOfTextblock(dirStr) || $start.depth == 0)\n return false;\n mustMove = false;\n $start = state.doc.resolve(dir > 0 ? $start.after() : $start.before());\n }\n let $found = GapCursor.findGapCursorFrom($start, dir, mustMove);\n if (!$found)\n return false;\n if (dispatch)\n dispatch(state.tr.setSelection(new GapCursor($found)));\n return true;\n };\n}\nfunction handleClick(view, pos, event) {\n if (!view || !view.editable)\n return false;\n let $pos = view.state.doc.resolve(pos);\n if (!GapCursor.valid($pos))\n return false;\n let clickPos = view.posAtCoords({ left: event.clientX, top: event.clientY });\n if (clickPos && clickPos.inside > -1 && NodeSelection.isSelectable(view.state.doc.nodeAt(clickPos.inside)))\n return false;\n view.dispatch(view.state.tr.setSelection(new GapCursor($pos)));\n return true;\n}\n// This is a hack that, when a composition starts while a gap cursor\n// is active, quickly creates an inline context for the composition to\n// happen in, to avoid it being aborted by the DOM selection being\n// moved into a valid position.\nfunction beforeinput(view, event) {\n if (event.inputType != \"insertCompositionText\" || !(view.state.selection instanceof GapCursor))\n return false;\n let { $from } = view.state.selection;\n let insert = $from.parent.contentMatchAt($from.index()).findWrapping(view.state.schema.nodes.text);\n if (!insert)\n return false;\n let frag = Fragment.empty;\n for (let i = insert.length - 1; i >= 0; i--)\n frag = Fragment.from(insert[i].createAndFill(null, frag));\n let tr = view.state.tr.replace($from.pos, $from.pos, new Slice(frag, 0, 0));\n tr.setSelection(TextSelection.near(tr.doc.resolve($from.pos + 1)));\n view.dispatch(tr);\n return false;\n}\nfunction drawGapCursor(state) {\n if (!(state.selection instanceof GapCursor))\n return null;\n let node = document.createElement(\"div\");\n node.className = \"ProseMirror-gapcursor\";\n return DecorationSet.create(state.doc, [Decoration.widget(state.selection.head, node, { key: \"gapcursor\" })]);\n}\n\nexport { GapCursor, gapCursor };\n","import { EditorState, Plugin, PluginKey } from 'prosemirror-state';\nimport { Node as PMNode, Schema } from 'prosemirror-model';\nimport { history } from 'prosemirror-history';\nimport { dropCursor } from 'prosemirror-dropcursor';\nimport { gapCursor } from 'prosemirror-gapcursor';\nimport { buildKeymapPlugins, KeymapOptions } from './keymap';\nimport { buildInputRules } from './inputrules';\nimport { placeholderPlugin } from './plugins/placeholder';\nimport { linkPlugin, LinkPluginOptions } from './plugins/link';\nimport { singleLinePlugin } from './plugins/single-line';\nimport { tablePlugins } from './plugins/tables';\nimport { imagePlugin, ImagePluginOptions } from './plugins/image';\nimport { suggestionPlugin, SuggestionOptions } from './plugins/suggestions';\nimport { findReplacePlugin } from './plugins/find-replace';\nimport { maxLengthPlugin } from './plugins/max-length';\nimport { codeHighlightPlugin } from './plugins/code-highlight';\nimport { embedPastePlugin } from './plugins/embeds';\nimport { pastePlugin } from './plugins/paste';\nimport { formatPainterPlugin } from './plugins/format-painter';\nimport { defaultSchema } from './schema';\n\nexport const mentionSuggestKey = new PluginKey('nileMentionSuggest');\nexport const slashSuggestKey = new PluginKey('nileSlashSuggest');\nexport const emojiSuggestKey = new PluginKey('nileEmojiSuggest');\n\nexport interface CreateStateOptions\n extends KeymapOptions,\n LinkPluginOptions,\n ImagePluginOptions {\n schema?: Schema;\n doc?: PMNode;\n /** Read live so the placeholder updates without rebuilding state. */\n getPlaceholder?: () => string;\n singleLine?: boolean;\n /** Mention suggestions (omit onChange to disable the plugin). */\n mentions?: Omit<SuggestionOptions, 'startOfLine'>;\n /** Slash-command suggestions, anchored to the start of a block. */\n slashCommands?: Omit<SuggestionOptions, 'startOfLine' | 'getTriggers'>;\n /** \":\" emoji suggestions (activates after two query characters). */\n emoji?: Omit<SuggestionOptions, 'startOfLine' | 'getTriggers' | 'minQueryLength'>;\n /** Character limit, read live. Return 0/undefined for unlimited. */\n getMaxLength?: () => number;\n /** Read live: when true, all pastes drop formatting. */\n getForcePlainText?: () => boolean;\n /** Read live: when false, plain-text pastes are never parsed as Markdown. */\n getMarkdownPaste?: () => boolean;\n /** Read live: whether pasted/parsed HTML is sanitized. Defaults to on. */\n getSanitize?: () => boolean;\n /** Typography autocorrect (smart quotes, dashes, (c)…). Defaults to on. */\n textTransform?: boolean;\n /** Extra plugins appended after the built-in set (later phases, tests). */\n plugins?: Plugin[];\n}\n\nexport function createEditorState(options: CreateStateOptions = {}): EditorState {\n const schema = options.schema ?? defaultSchema;\n const plugins: Plugin[] = [];\n\n // Suggestion plugins must come BEFORE the keymaps: handleKeyDown props run\n // in plugin order, and the popup needs first claim on Enter/Tab/arrows\n // while a mention or slash query is active.\n if (options.mentions) {\n plugins.push(suggestionPlugin(mentionSuggestKey, options.mentions));\n }\n if (options.slashCommands) {\n plugins.push(\n suggestionPlugin(slashSuggestKey, {\n ...options.slashCommands,\n getTriggers: () => ['/'],\n startOfLine: true,\n })\n );\n }\n if (options.emoji) {\n plugins.push(\n suggestionPlugin(emojiSuggestKey, {\n ...options.emoji,\n getTriggers: () => [':'],\n minQueryLength: 2,\n })\n );\n }\n\n plugins.push(\n buildInputRules(schema, { textTransform: options.textTransform }),\n ...buildKeymapPlugins(schema, {\n onLinkShortcut: options.onLinkShortcut,\n onFindShortcut: options.onFindShortcut,\n onShortcutHelp: options.onShortcutHelp,\n }),\n history(),\n dropCursor(),\n gapCursor(),\n placeholderPlugin(options.getPlaceholder ?? (() => '')),\n linkPlugin({ onOpenLink: options.onOpenLink }),\n ...tablePlugins(),\n imagePlugin({ onImageFiles: options.onImageFiles }),\n findReplacePlugin(),\n codeHighlightPlugin(),\n embedPastePlugin(),\n formatPainterPlugin(),\n pastePlugin(schema, {\n getForcePlainText: options.getForcePlainText,\n getMarkdownPaste: options.getMarkdownPaste,\n getSanitize: options.getSanitize,\n })\n );\n if (options.getMaxLength) plugins.push(maxLengthPlugin(options.getMaxLength));\n if (options.singleLine) plugins.push(singleLinePlugin());\n if (options.plugins) plugins.push(...options.plugins);\n\n return EditorState.create({\n schema,\n doc: options.doc,\n plugins,\n });\n}\n","import { Plugin } from 'prosemirror-state';\nimport { dropPoint } from 'prosemirror-transform';\n\n/**\nCreate a plugin that, when added to a ProseMirror instance,\ncauses a decoration to show up at the drop position when something\nis dragged over the editor.\n\nNodes may add a `disableDropCursor` property to their spec to\ncontrol the showing of a drop cursor inside them. This may be a\nboolean or a function, which will be called with a view and a\nposition, and should return a boolean.\n*/\nfunction dropCursor(options = {}) {\n return new Plugin({\n view(editorView) { return new DropCursorView(editorView, options); }\n });\n}\nclass DropCursorView {\n constructor(editorView, options) {\n var _a;\n this.editorView = editorView;\n this.cursorPos = null;\n this.element = null;\n this.timeout = -1;\n this.lastDragEvent = null;\n this.width = (_a = options.width) !== null && _a !== void 0 ? _a : 1;\n this.color = options.color === false ? undefined : (options.color || \"black\");\n this.class = options.class;\n this.handlers = [\"dragover\", \"dragend\", \"drop\", \"dragleave\"].map(name => {\n let handler = (e) => { this[name](e); };\n editorView.dom.addEventListener(name, handler);\n return { name, handler };\n });\n }\n destroy() {\n this.handlers.forEach(({ name, handler }) => this.editorView.dom.removeEventListener(name, handler));\n }\n update(editorView, prevState) {\n if (this.cursorPos != null && prevState.doc != editorView.state.doc) {\n // if we currently have an on-going drag event\n // we need to update the cursor position again and update the overlay\n if (this.lastDragEvent) {\n let target = this.computeTarget(this.lastDragEvent);\n if (target == this.cursorPos)\n this.updateOverlay();\n else\n this.setCursor(target);\n }\n else {\n this.updateOverlay();\n }\n }\n }\n setCursor(pos) {\n if (pos == this.cursorPos)\n return;\n this.cursorPos = pos;\n if (pos == null) {\n this.element.parentNode.removeChild(this.element);\n this.element = null;\n }\n else {\n this.updateOverlay();\n }\n }\n updateOverlay() {\n let $pos = this.editorView.state.doc.resolve(this.cursorPos);\n let isBlock = !$pos.parent.inlineContent, rect;\n let editorDOM = this.editorView.dom, editorRect = editorDOM.getBoundingClientRect();\n let scaleX = editorRect.width / editorDOM.offsetWidth, scaleY = editorRect.height / editorDOM.offsetHeight;\n if (isBlock) {\n let before = $pos.nodeBefore, after = $pos.nodeAfter;\n if (before || after) {\n let node = this.editorView.nodeDOM(this.cursorPos - (before ? before.nodeSize : 0));\n if (node) {\n let nodeRect = node.getBoundingClientRect();\n let top = before ? nodeRect.bottom : nodeRect.top;\n if (before && after)\n top = (top + this.editorView.nodeDOM(this.cursorPos).getBoundingClientRect().top) / 2;\n let halfWidth = (this.width / 2) * scaleY;\n rect = { left: nodeRect.left, right: nodeRect.right, top: top - halfWidth, bottom: top + halfWidth };\n }\n }\n }\n if (!rect) {\n let coords = this.editorView.coordsAtPos(this.cursorPos);\n let halfWidth = (this.width / 2) * scaleX;\n rect = { left: coords.left - halfWidth, right: coords.left + halfWidth, top: coords.top, bottom: coords.bottom };\n }\n let parent = this.editorView.dom.offsetParent;\n if (!this.element) {\n this.element = parent.appendChild(document.createElement(\"div\"));\n if (this.class)\n this.element.className = this.class;\n this.element.style.cssText = \"position: absolute; z-index: 50; pointer-events: none;\";\n if (this.color) {\n this.element.style.backgroundColor = this.color;\n }\n }\n this.element.classList.toggle(\"prosemirror-dropcursor-block\", isBlock);\n this.element.classList.toggle(\"prosemirror-dropcursor-inline\", !isBlock);\n let parentLeft, parentTop;\n if (!parent || parent == document.body && getComputedStyle(parent).position == \"static\") {\n parentLeft = -pageXOffset;\n parentTop = -pageYOffset;\n }\n else {\n let rect = parent.getBoundingClientRect();\n let parentScaleX = rect.width / parent.offsetWidth, parentScaleY = rect.height / parent.offsetHeight;\n parentLeft = rect.left - parent.scrollLeft * parentScaleX;\n parentTop = rect.top - parent.scrollTop * parentScaleY;\n }\n this.element.style.left = (rect.left - parentLeft) / scaleX + \"px\";\n this.element.style.top = (rect.top - parentTop) / scaleY + \"px\";\n this.element.style.width = (rect.right - rect.left) / scaleX + \"px\";\n this.element.style.height = (rect.bottom - rect.top) / scaleY + \"px\";\n }\n scheduleRemoval(timeout) {\n clearTimeout(this.timeout);\n this.timeout = setTimeout(() => this.setCursor(null), timeout);\n }\n computeTarget(event) {\n let pos = this.editorView.posAtCoords({ left: event.clientX, top: event.clientY });\n let node = pos && pos.inside >= 0 && this.editorView.state.doc.nodeAt(pos.inside);\n let disableDropCursor = node && node.type.spec.disableDropCursor;\n let disabled = typeof disableDropCursor == \"function\"\n ? disableDropCursor(this.editorView, pos, event)\n : disableDropCursor;\n if (!pos || disabled)\n return null;\n let target = pos.pos;\n if (this.editorView.dragging && this.editorView.dragging.slice) {\n let point = dropPoint(this.editorView.state.doc, target, this.editorView.dragging.slice);\n if (point != null)\n target = point;\n }\n return target;\n }\n dragover(event) {\n if (!this.editorView.editable)\n return;\n this.lastDragEvent = event;\n let target = this.computeTarget(event);\n if (target != null) {\n this.setCursor(target);\n this.scheduleRemoval(5000);\n }\n }\n dragend() {\n this.scheduleRemoval(20);\n }\n drop() {\n this.scheduleRemoval(20);\n }\n dragleave(event) {\n if (!this.editorView.dom.contains(event.relatedTarget))\n this.setCursor(null);\n }\n}\n\nexport { dropCursor };\n"],"names":["needsGap","type","isAtom","spec","isolating","createGapCursor","arrow","axis","dir","dirStr","state","dispatch","view","sel","selection","$start","$to","$from","mustMove","empty","TextSelection","endOfTextblock","depth","doc","resolve","after","before","$found","GapCursor","findGapCursorFrom","tr","setSelection","handleClick","pos","event","editable","$pos","valid","clickPos","posAtCoords","left","clientX","top","clientY","inside","NodeSelection","isSelectable","nodeAt","beforeinput","inputType","insert","parent","contentMatchAt","index","findWrapping","schema","nodes","text","frag","Fragment","i","length","from","createAndFill","replace","Slice","near","drawGapCursor","node","document","createElement","className","DecorationSet","create","Decoration","widget","head","key","createEditorState","options","defaultSchema","plugins","mentions","push","suggestionPlugin","mentionSuggestKey","slashCommands","slashSuggestKey","getTriggers","startOfLine","emoji","emojiSuggestKey","minQueryLength","buildInputRules","textTransform","buildKeymapPlugins","onLinkShortcut","onFindShortcut","onShortcutHelp","history","Plugin","editorView","DropCursorView","dropCursor","props","decorations","createSelectionBetween","_view","$anchor","$head","handleKeyDown","handleDOMEvents","placeholderPlugin","getPlaceholder","linkPlugin","onOpenLink","tablePlugins","imagePlugin","onImageFiles","findReplacePlugin","codeHighlightPlugin","embedPastePlugin","formatPainterPlugin","pastePlugin","getForcePlainText","getMarkdownPaste","getSanitize","getMaxLength","maxLengthPlugin","singleLine","singleLinePlugin","EditorState","C","_this","_classCallCheck","_a","this","cursorPos","element","timeout","lastDragEvent","width","color","undefined","class","handlers","map","name","handler","e","dom","addEventListener","_createClass","value","destroy","forEach","_ref","removeEventListener","update","prevState","target","computeTarget","updateOverlay","setCursor","parentNode","removeChild","rect","isBlock","inlineContent","editorDOM","editorRect","getBoundingClientRect","scaleX","offsetWidth","scaleY","height","offsetHeight","nodeBefore","nodeAfter","nodeDOM","nodeSize","nodeRect","bottom","halfWidth","right","coords","coordsAtPos","parentLeft","parentTop","offsetParent","appendChild","style","cssText","backgroundColor","classList","toggle","body","getComputedStyle","position","pageXOffset","pageYOffset","parentScaleX","parentScaleY","scrollLeft","scrollTop","scheduleRemoval","clearTimeout","setTimeout","disableDropCursor","disabled","dragging","slice","point","dropPoint","dragover","dragend","drop","dragleave","contains","relatedTarget","F","super","_inherits","_r4","mapping","Selection","content","eq","other","toJSON","getBookmark","GapBookmark","anchor","fromJSON","json","RangeError","d","child","lastChild","childCount","closedBefore","indexAfter","firstChild","closedAfter","override","allowGapCursor","deflt","defaultType","isTextblock","search","next","$cur","isText","prototype","visible","findFrom","jsonID","L","keydownHandler","ArrowLeft","ArrowRight","ArrowUp","ArrowDown","PluginKey"],"mappings":"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","x_google_ignoreList":[0,2]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{b as t,e,S as r,T as s,c as i,F as n,d as o,P as l,E as u}from"../../index-6f3fa4ab.esm.js";import{h as a}from"./commands.esm.js";import{b as h}from"../../index-249de90a.esm.js";import{D as m,a as f}from"../../index-353172ed.esm.js";import{b as p}from"./keymap.esm.js";import{b as c}from"./inputrules.esm.js";import{p as g}from"./plugins/placeholder.esm.js";import{l as d}from"./plugins/link.esm.js";import{s as w}from"./plugins/single-line.esm.js";import{t as j}from"./plugins/tables.esm.js";import{i as v}from"./plugins/image.esm.js";import{s as b}from"./plugins/suggestions.esm.js";import{f as x}from"./plugins/find-replace.esm.js";import{m as k}from"./plugins/max-length.esm.js";import{c as S}from"./plugins/code-highlight.esm.js";import{e as y}from"./plugins/embeds.esm.js";import{a as O}from"./plugins/paste.esm.js";import{f as T}from"./plugins/format-painter.esm.js";import{d as z}from"./schema.esm.js";import"../../index-920675c4.esm.js";import"../../index-1faa963c.esm.js";import"./markdown-parse.esm.js";import"./serializer.esm.js";import"./sanitize.esm.js";class C{constructor(t,e){var r;this.editorView=t,this.cursorPos=null,this.element=null,this.timeout=-1,this.lastDragEvent=null,this.width=null!==(r=e.width)&&void 0!==r?r:1,this.color=!1===e.color?void 0:e.color||"black",this.class=e.class,this.handlers=["dragover","dragend","drop","dragleave"].map((e=>{let r=t=>{this[e](t)};return t.dom.addEventListener(e,r),{name:e,handler:r}}))}destroy(){this.handlers.forEach((({name:t,handler:e})=>this.editorView.dom.removeEventListener(t,e)))}update(t,e){if(null!=this.cursorPos&&e.doc!=t.state.doc)if(this.lastDragEvent){let t=this.computeTarget(this.lastDragEvent);t==this.cursorPos?this.updateOverlay():this.setCursor(t)}else this.updateOverlay()}setCursor(t){t!=this.cursorPos&&(this.cursorPos=t,null==t?(this.element.parentNode.removeChild(this.element),this.element=null):this.updateOverlay())}updateOverlay(){let t,e=this.editorView.state.doc.resolve(this.cursorPos),r=!e.parent.inlineContent,s=this.editorView.dom,i=s.getBoundingClientRect(),n=i.width/s.offsetWidth,o=i.height/s.offsetHeight;if(r){let r=e.nodeBefore,s=e.nodeAfter;if(r||s){let e=this.editorView.nodeDOM(this.cursorPos-(r?r.nodeSize:0));if(e){let i=e.getBoundingClientRect(),n=r?i.bottom:i.top;r&&s&&(n=(n+this.editorView.nodeDOM(this.cursorPos).getBoundingClientRect().top)/2);let l=this.width/2*o;t={left:i.left,right:i.right,top:n-l,bottom:n+l}}}}if(!t){let e=this.editorView.coordsAtPos(this.cursorPos),r=this.width/2*n;t={left:e.left-r,right:e.left+r,top:e.top,bottom:e.bottom}}let l,u,a=this.editorView.dom.offsetParent;if(this.element||(this.element=a.appendChild(document.createElement("div")),this.class&&(this.element.className=this.class),this.element.style.cssText="position: absolute; z-index: 50; pointer-events: none;",this.color&&(this.element.style.backgroundColor=this.color)),this.element.classList.toggle("prosemirror-dropcursor-block",r),this.element.classList.toggle("prosemirror-dropcursor-inline",!r),!a||a==document.body&&"static"==getComputedStyle(a).position)l=-pageXOffset,u=-pageYOffset;else{let t=a.getBoundingClientRect(),e=t.width/a.offsetWidth,r=t.height/a.offsetHeight;l=t.left-a.scrollLeft*e,u=t.top-a.scrollTop*r}this.element.style.left=(t.left-l)/n+"px",this.element.style.top=(t.top-u)/o+"px",this.element.style.width=(t.right-t.left)/n+"px",this.element.style.height=(t.bottom-t.top)/o+"px"}scheduleRemoval(t){clearTimeout(this.timeout),this.timeout=setTimeout((()=>this.setCursor(null)),t)}computeTarget(t){let r=this.editorView.posAtCoords({left:t.clientX,top:t.clientY}),s=r&&r.inside>=0&&this.editorView.state.doc.nodeAt(r.inside),i=s&&s.type.spec.disableDropCursor,n="function"==typeof i?i(this.editorView,r,t):i;if(!r||n)return null;let o=r.pos;if(this.editorView.dragging&&this.editorView.dragging.slice){let t=e(this.editorView.state.doc,o,this.editorView.dragging.slice);null!=t&&(o=t)}return o}dragover(t){if(!this.editorView.editable)return;this.lastDragEvent=t;let e=this.computeTarget(t);null!=e&&(this.setCursor(e),this.scheduleRemoval(5e3))}dragend(){this.scheduleRemoval(20)}drop(){this.scheduleRemoval(20)}dragleave(t){this.editorView.dom.contains(t.relatedTarget)||this.setCursor(null)}}class F extends r{constructor(t){super(t,t)}map(t,e){let s=t.resolve(e.map(this.head));return F.valid(s)?new F(s):r.near(s)}content(){return o.empty}eq(t){return t instanceof F&&t.head==this.head}toJSON(){return{type:"gapcursor",pos:this.head}}static fromJSON(t,e){if("number"!=typeof e.pos)throw new RangeError("Invalid input for GapCursor.fromJSON");return new F(t.resolve(e.pos))}getBookmark(){return new L(this.anchor)}static valid(t){let e=t.parent;if(e.inlineContent||!function(t){for(let e=t.depth;e>=0;e--){let r=t.index(e),s=t.node(e);if(0!=r)for(let t=s.child(r-1);;t=t.lastChild){if(0==t.childCount&&!t.inlineContent||A(t.type))return!0;if(t.inlineContent)return!1}else if(s.type.spec.isolating)return!0}return!0}(t)||!function(t){for(let e=t.depth;e>=0;e--){let r=t.indexAfter(e),s=t.node(e);if(r!=s.childCount)for(let t=s.child(r);;t=t.firstChild){if(0==t.childCount&&!t.inlineContent||A(t.type))return!0;if(t.inlineContent)return!1}else if(s.type.spec.isolating)return!0}return!0}(t))return!1;let r=e.type.spec.allowGapCursor;if(null!=r)return r;let s=e.contentMatchAt(t.index()).defaultType;return s&&s.isTextblock}static findGapCursorFrom(t,e,r=!1){t:for(;;){if(!r&&F.valid(t))return t;let s=t.pos,n=null;for(let r=t.depth;;r--){let i=t.node(r);if(e>0?t.indexAfter(r)<i.childCount:t.index(r)>0){n=i.child(e>0?t.indexAfter(r):t.index(r)-1);break}if(0==r)return null;s+=e;let o=t.doc.resolve(s);if(F.valid(o))return o}for(;;){let o=e>0?n.firstChild:n.lastChild;if(!o){if(n.isAtom&&!n.isText&&!i.isSelectable(n)){t=t.doc.resolve(s+n.nodeSize*e),r=!1;continue t}break}n=o,s+=e;let l=t.doc.resolve(s);if(F.valid(l))return l}return null}}}F.prototype.visible=!1,F.findFrom=F.findGapCursorFrom,r.jsonID("gapcursor",F);class L{constructor(t){this.pos=t}map(t){return new L(t.map(this.pos))}resolve(t){let e=t.resolve(this.pos);return F.valid(e)?new F(e):r.near(e)}}function A(t){return t.isAtom||t.spec.isolating||t.spec.createGapCursor}const D=h({ArrowLeft:E("horiz",-1),ArrowRight:E("horiz",1),ArrowUp:E("vert",-1),ArrowDown:E("vert",1)});function E(t,e){const r="vert"==t?e>0?"down":"up":e>0?"right":"left";return function(t,i,n){let o=t.selection,l=e>0?o.$to:o.$from,u=o.empty;if(o instanceof s){if(!n.endOfTextblock(r)||0==l.depth)return!1;u=!1,l=t.doc.resolve(e>0?l.after():l.before())}let a=F.findGapCursorFrom(l,e,u);return!!a&&(i&&i(t.tr.setSelection(new F(a))),!0)}}function M(t,e,r){if(!t||!t.editable)return!1;let s=t.state.doc.resolve(e);if(!F.valid(s))return!1;let n=t.posAtCoords({left:r.clientX,top:r.clientY});return!(n&&n.inside>-1&&i.isSelectable(t.state.doc.nodeAt(n.inside)))&&(t.dispatch(t.state.tr.setSelection(new F(s))),!0)}function P(t,e){if("insertCompositionText"!=e.inputType||!(t.state.selection instanceof F))return!1;let{$from:r}=t.state.selection,i=r.parent.contentMatchAt(r.index()).findWrapping(t.state.schema.nodes.text);if(!i)return!1;let l=n.empty;for(let t=i.length-1;t>=0;t--)l=n.from(i[t].createAndFill(null,l));let u=t.state.tr.replace(r.pos,r.pos,new o(l,0,0));return u.setSelection(s.near(u.doc.resolve(r.pos+1))),t.dispatch(u),!1}function J(t){if(!(t.selection instanceof F))return null;let e=document.createElement("div");return e.className="ProseMirror-gapcursor",m.create(t.doc,[f.widget(t.selection.head,e,{key:"gapcursor"})])}const N=new l("nileMentionSuggest"),R=new l("nileSlashSuggest"),B=new l("nileEmojiSuggest");function G(e={}){const r=e.schema??z,s=[];return e.mentions&&s.push(b(N,e.mentions)),e.slashCommands&&s.push(b(R,{...e.slashCommands,getTriggers:()=>["/"],startOfLine:!0})),e.emoji&&s.push(b(B,{...e.emoji,getTriggers:()=>[":"],minQueryLength:2})),s.push(c(r,{textTransform:e.textTransform}),...p(r,{onLinkShortcut:e.onLinkShortcut,onFindShortcut:e.onFindShortcut,onShortcutHelp:e.onShortcutHelp}),a(),function(e={}){return new t({view:t=>new C(t,e)})}(),new t({props:{decorations:J,createSelectionBetween:(t,e,r)=>e.pos==r.pos&&F.valid(r)?new F(r):null,handleClick:M,handleKeyDown:D,handleDOMEvents:{beforeinput:P}}}),g(e.getPlaceholder??(()=>"")),d({onOpenLink:e.onOpenLink}),...j(),v({onImageFiles:e.onImageFiles}),x(),S(),y(),T(),O(r,{getForcePlainText:e.getForcePlainText,getMarkdownPaste:e.getMarkdownPaste,getSanitize:e.getSanitize})),e.getMaxLength&&s.push(k(e.getMaxLength)),e.singleLine&&s.push(w()),e.plugins&&s.push(...e.plugins),u.create({schema:r,doc:e.doc,plugins:s})}export{G as c};
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
System.register([],function(_export,_context){"use strict";var t,o,e,r;function _slicedToArray(r,e){return _arrayWithHoles(r)||_iterableToArrayLimit(r,e)||_unsupportedIterableToArray(r,e)||_nonIterableRest();}function _nonIterableRest(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");}function _iterableToArrayLimit(r,l){var t=null==r?null:"undefined"!=typeof Symbol&&r[Symbol.iterator]||r["@@iterator"];if(null!=t){var e,n,i,u,a=[],f=!0,o=!1;try{if(i=(t=t.call(r)).next,0===l){if(Object(t)!==t)return;f=!1;}else for(;!(f=(e=i.call(t)).done)&&(a.push(e.value),a.length!==l);f=!0);}catch(r){o=!0,n=r;}finally{try{if(!f&&null!=t["return"]&&(u=t["return"](),Object(u)!==u))return;}finally{if(o)throw n;}}return a;}}function _arrayWithHoles(r){if(Array.isArray(r))return r;}function _createForOfIteratorHelper(r,e){var t="undefined"!=typeof Symbol&&r[Symbol.iterator]||r["@@iterator"];if(!t){if(Array.isArray(r)||(t=_unsupportedIterableToArray(r))||e&&r&&"number"==typeof r.length){t&&(r=t);var _n2=0,F=function F(){};return{s:F,n:function n(){return _n2>=r.length?{done:!0}:{done:!1,value:r[_n2++]};},e:function e(r){throw r;},f:F};}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");}var o,a=!0,u=!1;return{s:function s(){t=t.call(r);},n:function n(){var r=t.next();return a=r.done,r;},e:function e(r){u=!0,o=r;},f:function f(){try{a||null==t["return"]||t["return"]();}finally{if(u)throw o;}}};}function _unsupportedIterableToArray(r,a){if(r){if("string"==typeof r)return _arrayLikeToArray(r,a);var t={}.toString.call(r).slice(8,-1);return"Object"===t&&r.constructor&&(t=r.constructor.name),"Map"===t||"Set"===t?Array.from(r):"Arguments"===t||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t)?_arrayLikeToArray(r,a):void 0;}}function _arrayLikeToArray(r,a){(null==a||a>r.length)&&(a=r.length);for(var e=0,n=Array(a);e<a;e++)n[e]=r[e];return n;}function n(n,i,a){var l=getComputedStyle(n),s=a?getComputedStyle(a):null;var _iterator=_createForOfIteratorHelper(t),_step;try{for(_iterator.s();!(_step=_iterator.n()).done;){var _o3=_step.value;var _t5=l.getPropertyValue(_o3);_t5&&(s&&s.getPropertyValue(_o3)===_t5||i.style.setProperty(_o3,_t5));}}catch(err){_iterator.e(err);}finally{_iterator.f();}for(var _i=0,_Object$entries=Object.entries(o);_i<_Object$entries.length;_i++){var _Object$entries$_i=_slicedToArray(_Object$entries[_i],2),_t=_Object$entries$_i[0],_e=_Object$entries$_i[1];var _o=l.getPropertyValue(_t);_o&&!_e.includes(_o)&&i.style.setProperty(_t,_o);}if("UL"===n.tagName||"OL"===n.tagName){var _t2=l.getPropertyValue("list-style-type");_t2&&"none"!==_t2&&i.style.setProperty("list-style-type",_t2);}"IMG"!==n.tagName&&"IFRAME"!==n.tagName||i.style.setProperty("max-width","100%"),function(t,o,r){if(!e.has(t.tagName))return;var n=getComputedStyle(t);"collapse"===n.getPropertyValue("border-collapse")&&r.style.setProperty("border-collapse","collapse");for(var _i2=0,_arr=["top","right","bottom","left"];_i2<_arr.length;_i2++){var _t3=_arr[_i2];var _o2=n.getPropertyValue("border-".concat(_t3,"-width"));if(_o2&&"0px"!==_o2){var _e2=n.getPropertyValue("border-".concat(_t3,"-style"))||"solid",_i3=n.getPropertyValue("border-".concat(_t3,"-color"));r.style.setProperty("border-".concat(_t3),"".concat(_o2," ").concat(_e2," ").concat(_i3));}}}(n,0,i);for(var _i4=0,_Array$from=Array.from(i.attributes);_i4<_Array$from.length;_i4++){var _t4=_Array$from[_i4];"style"===_t4.name||r.has(_t4.name)||i.removeAttribute(_t4.name);}}function i(t,o,e){var _t$textContent;if(t.nodeType===Node.TEXT_NODE)return o.createTextNode((_t$textContent=t.textContent)!==null&&_t$textContent!==void 0?_t$textContent:"");if(t.nodeType!==Node.ELEMENT_NODE)return null;var r=t;if(r.classList.contains("ProseMirror-gapcursor"))return null;if(r.classList.contains("ProseMirror-separator"))return null;var a=o.createElement(r.tagName.toLowerCase());for(var _i5=0,_Array$from2=Array.from(r.attributes);_i5<_Array$from2.length;_i5++){var _t6=_Array$from2[_i5];a.setAttribute(_t6.name,_t6.value);}n(r,a,e);for(var _i6=0,_Array$from3=Array.from(r.childNodes);_i6<_Array$from3.length;_i6++){var _t7=_Array$from3[_i6];var _e3=i(_t7,o,r);_e3&&a.appendChild(_e3);}return a;}function a(t){var o=document.implementation.createHTMLDocument(""),e=o.createElement("div");for(var _i7=0,_Array$from4=Array.from(t.childNodes);_i7<_Array$from4.length;_i7++){var _r=_Array$from4[_i7];var _n=i(_r,o,t);_n&&e.appendChild(_n);}return e.innerHTML;}function l(t){return t.replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">").replace(/"/g,""");}function s(t){var o=arguments.length>1&&arguments[1]!==undefined?arguments[1]:"Document";return"<!DOCTYPE html>\n<html xmlns:o=\"urn:schemas-microsoft-com:office:office\" xmlns:w=\"urn:schemas-microsoft-com:office:word\" xmlns=\"http://www.w3.org/TR/REC-html40\"><head><meta charset=\"utf-8\"><title>".concat(l(o),"</title><!--[if gte mso 9]><xml><w:WordDocument><w:View>Print</w:View><w:Zoom>100</w:Zoom><w:DoNotOptimizeForBrowser/></w:WordDocument></xml><![endif]--><style>@page { size: A4; margin: 2cm; } body { font-family: Calibri, Arial, sans-serif; } table { border-collapse: collapse; } td, th { border: 1px solid #999; padding: 4px; }</style></head><body>")+t+"</body></html>";}function d(t){var o=arguments.length>1&&arguments[1]!==undefined?arguments[1]:{};var _o$title=o.title,e=_o$title===void 0?"Document":_o$title,_o$header=o.header,r=_o$header===void 0?"":_o$header,_o$footer=o.footer,n=_o$footer===void 0?"":_o$footer,_o$fontFamily=o.fontFamily,i=_o$fontFamily===void 0?'system-ui, -apple-system, "Segoe UI", Roboto, sans-serif':_o$fontFamily,a=(r?"<div class=\"nw-print-header\">".concat(l(r),"</div>"):"")+(n?"<div class=\"nw-print-footer\">".concat(l(n),"</div>"):"");return"<!DOCTYPE html>\n<html><head><meta charset=\"utf-8\"><title>".concat(l(e),"</title><style>@page { size: A4; margin: 20mm; }body { font-family: ").concat(i,"; color: #101828; line-height: 1.5; margin: 0; }img, iframe { max-width: 100%; }table { border-collapse: collapse; width: 100%; }td, th { border: 1px solid #d0d5dd; padding: 6px 8px; }pre, blockquote, table, figure, img { break-inside: avoid; page-break-inside: avoid; }h1, h2, h3, h4 { break-after: avoid; page-break-after: avoid; }.nw-page-break { break-before: page; page-break-before: always; }")+(r?".nw-print-header { position: fixed; top: 0; left: 0; right: 0; font-size: 10px; color: #667085; padding: 6px 0; }":"")+(n?".nw-print-footer { position: fixed; bottom: 0; left: 0; right: 0; font-size: 10px; color: #667085; padding: 6px 0; text-align: center; }":"")+"</style></head><body>"+a+"<main>".concat(t,"</main></body></html>");}_export({a:d,b:s,t:a});return{setters:[],execute:function execute(){t=["color","font-family","font-size","font-weight","font-style","line-height","text-align","text-transform"],o={"background-color":["rgba(0, 0, 0, 0)","transparent"],"text-decoration-line":["none"],"margin-top":["0px"],"margin-right":["0px"],"margin-bottom":["0px"],"margin-left":["0px"],"padding-top":["0px"],"padding-right":["0px"],"padding-bottom":["0px"],"padding-left":["0px"],"vertical-align":["baseline"]},e=new Set(["TABLE","TD","TH","THEAD","TBODY","TR"]),r=new Set(["href","src","alt","title","colspan","rowspan","width","height","align","target","rel"]);}};});
|
|
2
|
+
//# sourceMappingURL=export.cjs.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"export.cjs.js","sources":["../../../../src/nile-wysiwyg-editor/engine/export.ts"],"sourcesContent":["/**\n * Document export helpers: inline-styled HTML (email-safe), Word (.doc) and\n * print-to-PDF. All three start from the *live, rendered* content DOM so the\n * output reflects exactly what the user sees — chosen fonts, colours,\n * alignment and table borders — rather than a re-derived approximation.\n *\n * These functions are dependency-free. PDF export relies on the browser's own\n * print-to-PDF pipeline (see buildPrintDocument); Word export emits an HTML\n * document Word opens natively.\n */\n\n/** Inherited text properties: emitted only when they differ from the parent. */\nconst INHERITED_PROPS = [\n 'color',\n 'font-family',\n 'font-size',\n 'font-weight',\n 'font-style',\n 'line-height',\n 'text-align',\n 'text-transform',\n] as const;\n\n/**\n * Box/decoration properties: emitted only when they differ from their initial\n * value (listed here). Longhands are used because getComputedStyle does not\n * reliably return the `margin`/`padding`/`border` shorthands.\n */\nconst BOX_DEFAULTS: Record<string, string[]> = {\n 'background-color': ['rgba(0, 0, 0, 0)', 'transparent'],\n 'text-decoration-line': ['none'],\n 'margin-top': ['0px'],\n 'margin-right': ['0px'],\n 'margin-bottom': ['0px'],\n 'margin-left': ['0px'],\n 'padding-top': ['0px'],\n 'padding-right': ['0px'],\n 'padding-bottom': ['0px'],\n 'padding-left': ['0px'],\n 'vertical-align': ['baseline'],\n};\n\n/** Table-ish elements get their borders folded in for email/Word fidelity. */\nconst BORDER_TAGS = new Set(['TABLE', 'TD', 'TH', 'THEAD', 'TBODY', 'TR']);\n\n/** Attributes worth preserving; everything else (class, contenteditable,\n * spellcheck, data-*, pm-*) is dropped from the exported markup. */\nconst KEEP_ATTRS = new Set([\n 'href',\n 'src',\n 'alt',\n 'title',\n 'colspan',\n 'rowspan',\n 'width',\n 'height',\n 'align',\n 'target',\n 'rel',\n]);\n\nfunction emitBorders(source: Element, style: CSSStyleDeclaration, clone: HTMLElement): void {\n if (!BORDER_TAGS.has(source.tagName)) return;\n const cs = getComputedStyle(source);\n const collapse = cs.getPropertyValue('border-collapse');\n if (collapse === 'collapse') clone.style.setProperty('border-collapse', 'collapse');\n for (const side of ['top', 'right', 'bottom', 'left']) {\n const width = cs.getPropertyValue(`border-${side}-width`);\n if (width && width !== '0px') {\n const st = cs.getPropertyValue(`border-${side}-style`) || 'solid';\n const color = cs.getPropertyValue(`border-${side}-color`);\n clone.style.setProperty(`border-${side}`, `${width} ${st} ${color}`);\n }\n }\n void style;\n}\n\n/** Folds computed styles from a live source element into a detached clone. */\nfunction styleElement(source: Element, clone: HTMLElement, parent: Element | null): void {\n const cs = getComputedStyle(source);\n const parentCs = parent ? getComputedStyle(parent) : null;\n\n for (const prop of INHERITED_PROPS) {\n const value = cs.getPropertyValue(prop);\n if (!value) continue;\n if (!parentCs || parentCs.getPropertyValue(prop) !== value) {\n clone.style.setProperty(prop, value);\n }\n }\n\n for (const [prop, defaults] of Object.entries(BOX_DEFAULTS)) {\n const value = cs.getPropertyValue(prop);\n if (value && !defaults.includes(value)) clone.style.setProperty(prop, value);\n }\n\n // List markers: emit the resolved bullet/number style on the list container.\n if (source.tagName === 'UL' || source.tagName === 'OL') {\n const marker = cs.getPropertyValue('list-style-type');\n if (marker && marker !== 'none') clone.style.setProperty('list-style-type', marker);\n }\n\n // Images and embeds should never overflow the exported page/email column.\n if (source.tagName === 'IMG' || source.tagName === 'IFRAME') {\n clone.style.setProperty('max-width', '100%');\n }\n\n emitBorders(source, cs, clone);\n\n // Prune attributes down to the structural allow-list, keeping only style.\n for (const attr of Array.from(clone.attributes)) {\n if (attr.name !== 'style' && !KEEP_ATTRS.has(attr.name)) clone.removeAttribute(attr.name);\n }\n}\n\n/** Recursively clones `source` into `target`'s document, inlining styles. */\nfunction cloneWithStyles(\n source: Node,\n doc: Document,\n parent: Element | null\n): Node | null {\n if (source.nodeType === Node.TEXT_NODE) {\n return doc.createTextNode(source.textContent ?? '');\n }\n if (source.nodeType !== Node.ELEMENT_NODE) return null;\n\n const el = source as Element;\n // ProseMirror decorations (find-highlights, gap/drop cursors, trailing\n // break hacks) carry these classes — never part of the real content.\n if (el.classList.contains('ProseMirror-gapcursor')) return null;\n if (el.classList.contains('ProseMirror-separator')) return null;\n\n const clone = doc.createElement(el.tagName.toLowerCase());\n for (const attr of Array.from(el.attributes)) clone.setAttribute(attr.name, attr.value);\n styleElement(el, clone as HTMLElement, parent);\n\n for (const child of Array.from(el.childNodes)) {\n const cloned = cloneWithStyles(child, doc, el);\n if (cloned) clone.appendChild(cloned);\n }\n return clone;\n}\n\n/**\n * Serializes the live content root to an HTML string with all styling folded\n * into inline `style` attributes. Suitable for pasting into email clients that\n * strip `<style>` blocks and classes.\n */\nexport function toInlineStyledHtml(root: HTMLElement): string {\n const doc = document.implementation.createHTMLDocument('');\n const container = doc.createElement('div');\n for (const child of Array.from(root.childNodes)) {\n const cloned = cloneWithStyles(child, doc, root);\n if (cloned) container.appendChild(cloned);\n }\n return container.innerHTML;\n}\n\nfunction escapeHtml(text: string): string {\n return text\n .replace(/&/g, '&')\n .replace(/</g, '<')\n .replace(/>/g, '>')\n .replace(/\"/g, '"');\n}\n\n/**\n * Wraps inline-styled body HTML in a Word-openable HTML document. Word reads\n * the `ProgId`/`xmlns:w` hints and opens it as a formatted document rather than\n * raw HTML, preserving headings, lists, tables, colours and images.\n */\nexport function buildWordDocument(bodyHtml: string, title = 'Document'): string {\n return (\n '<!DOCTYPE html>\\n' +\n '<html xmlns:o=\"urn:schemas-microsoft-com:office:office\" ' +\n 'xmlns:w=\"urn:schemas-microsoft-com:office:word\" xmlns=\"http://www.w3.org/TR/REC-html40\">' +\n '<head><meta charset=\"utf-8\">' +\n `<title>${escapeHtml(title)}</title>` +\n '<!--[if gte mso 9]><xml><w:WordDocument>' +\n '<w:View>Print</w:View><w:Zoom>100</w:Zoom><w:DoNotOptimizeForBrowser/>' +\n '</w:WordDocument></xml><![endif]-->' +\n '<style>@page { size: A4; margin: 2cm; } ' +\n 'body { font-family: Calibri, Arial, sans-serif; } ' +\n 'table { border-collapse: collapse; } td, th { border: 1px solid #999; padding: 4px; }</style>' +\n '</head><body>' +\n bodyHtml +\n '</body></html>'\n );\n}\n\n/** Options for the print-to-PDF document. */\nexport interface PrintOptions {\n title?: string;\n /** Optional running header text (top of every printed page). */\n header?: string;\n /** Optional running footer text (bottom of every printed page). */\n footer?: string;\n /** Base font family for the printed page. */\n fontFamily?: string;\n}\n\n/**\n * Builds a standalone HTML document tuned for print-to-PDF. Page breaks,\n * embedded images and a chosen base font are honoured by the browser's print\n * engine; headers/footers render via a fixed running band on each page.\n */\nexport function buildPrintDocument(bodyHtml: string, options: PrintOptions = {}): string {\n const {\n title = 'Document',\n header = '',\n footer = '',\n fontFamily = 'system-ui, -apple-system, \"Segoe UI\", Roboto, sans-serif',\n } = options;\n\n const runningBands =\n (header ? `<div class=\"nw-print-header\">${escapeHtml(header)}</div>` : '') +\n (footer ? `<div class=\"nw-print-footer\">${escapeHtml(footer)}</div>` : '');\n\n return (\n '<!DOCTYPE html>\\n<html><head><meta charset=\"utf-8\">' +\n `<title>${escapeHtml(title)}</title><style>` +\n '@page { size: A4; margin: 20mm; }' +\n `body { font-family: ${fontFamily}; color: #101828; line-height: 1.5; margin: 0; }` +\n 'img, iframe { max-width: 100%; }' +\n 'table { border-collapse: collapse; width: 100%; }' +\n 'td, th { border: 1px solid #d0d5dd; padding: 6px 8px; }' +\n 'pre, blockquote, table, figure, img { break-inside: avoid; page-break-inside: avoid; }' +\n 'h1, h2, h3, h4 { break-after: avoid; page-break-after: avoid; }' +\n '.nw-page-break { break-before: page; page-break-before: always; }' +\n (header\n ? '.nw-print-header { position: fixed; top: 0; left: 0; right: 0; ' +\n 'font-size: 10px; color: #667085; padding: 6px 0; }'\n : '') +\n (footer\n ? '.nw-print-footer { position: fixed; bottom: 0; left: 0; right: 0; ' +\n 'font-size: 10px; color: #667085; padding: 6px 0; text-align: center; }'\n : '') +\n '</style></head><body>' +\n runningBands +\n `<main>${bodyHtml}</main>` +\n '</body></html>'\n );\n}\n"],"names":["styleElement","source","clone","parent","cs","getComputedStyle","parentCs","_iterator","_createForOfIteratorHelper","INHERITED_PROPS","_step","s","n","done","prop","value","getPropertyValue","style","setProperty","err","e","f","_i","_Object$entries","Object","entries","BOX_DEFAULTS","length","_Object$entries$_i","_slicedToArray","defaults","includes","tagName","marker","BORDER_TAGS","has","_i2","_arr","side","width","concat","st","color","emitBorders","_i4","_Array$from","Array","from","attributes","attr","name","KEEP_ATTRS","removeAttribute","cloneWithStyles","doc","_t$textContent","nodeType","Node","TEXT_NODE","createTextNode","textContent","ELEMENT_NODE","el","classList","contains","createElement","toLowerCase","_i5","_Array$from2","setAttribute","_i6","_Array$from3","childNodes","child","cloned","appendChild","toInlineStyledHtml","root","document","implementation","createHTMLDocument","container","_i7","_Array$from4","innerHTML","escapeHtml","text","replace","buildWordDocument","bodyHtml","title","buildPrintDocument","options","_o$title","runningBands","header","_o$header","_o$footer","footer","fontFamily","_o$fontFamily","Set"],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
const t=["color","font-family","font-size","font-weight","font-style","line-height","text-align","text-transform"],o={"background-color":["rgba(0, 0, 0, 0)","transparent"],"text-decoration-line":["none"],"margin-top":["0px"],"margin-right":["0px"],"margin-bottom":["0px"],"margin-left":["0px"],"padding-top":["0px"],"padding-right":["0px"],"padding-bottom":["0px"],"padding-left":["0px"],"vertical-align":["baseline"]},e=new Set(["TABLE","TD","TH","THEAD","TBODY","TR"]),r=new Set(["href","src","alt","title","colspan","rowspan","width","height","align","target","rel"]);function n(n,i,a){const l=getComputedStyle(n),s=a?getComputedStyle(a):null;for(const o of t){const t=l.getPropertyValue(o);t&&(s&&s.getPropertyValue(o)===t||i.style.setProperty(o,t))}for(const[t,e]of Object.entries(o)){const o=l.getPropertyValue(t);o&&!e.includes(o)&&i.style.setProperty(t,o)}if("UL"===n.tagName||"OL"===n.tagName){const t=l.getPropertyValue("list-style-type");t&&"none"!==t&&i.style.setProperty("list-style-type",t)}"IMG"!==n.tagName&&"IFRAME"!==n.tagName||i.style.setProperty("max-width","100%"),function(t,o,r){if(!e.has(t.tagName))return;const n=getComputedStyle(t);"collapse"===n.getPropertyValue("border-collapse")&&r.style.setProperty("border-collapse","collapse");for(const t of["top","right","bottom","left"]){const o=n.getPropertyValue(`border-${t}-width`);if(o&&"0px"!==o){const e=n.getPropertyValue(`border-${t}-style`)||"solid",i=n.getPropertyValue(`border-${t}-color`);r.style.setProperty(`border-${t}`,`${o} ${e} ${i}`)}}}(n,0,i);for(const t of Array.from(i.attributes))"style"===t.name||r.has(t.name)||i.removeAttribute(t.name)}function i(t,o,e){if(t.nodeType===Node.TEXT_NODE)return o.createTextNode(t.textContent??"");if(t.nodeType!==Node.ELEMENT_NODE)return null;const r=t;if(r.classList.contains("ProseMirror-gapcursor"))return null;if(r.classList.contains("ProseMirror-separator"))return null;const a=o.createElement(r.tagName.toLowerCase());for(const t of Array.from(r.attributes))a.setAttribute(t.name,t.value);n(r,a,e);for(const t of Array.from(r.childNodes)){const e=i(t,o,r);e&&a.appendChild(e)}return a}function a(t){const o=document.implementation.createHTMLDocument(""),e=o.createElement("div");for(const r of Array.from(t.childNodes)){const n=i(r,o,t);n&&e.appendChild(n)}return e.innerHTML}function l(t){return t.replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">").replace(/"/g,""")}function s(t,o="Document"){return`<!DOCTYPE html>\n<html xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:w="urn:schemas-microsoft-com:office:word" xmlns="http://www.w3.org/TR/REC-html40"><head><meta charset="utf-8"><title>${l(o)}</title>\x3c!--[if gte mso 9]><xml><w:WordDocument><w:View>Print</w:View><w:Zoom>100</w:Zoom><w:DoNotOptimizeForBrowser/></w:WordDocument></xml><![endif]--\x3e<style>@page { size: A4; margin: 2cm; } body { font-family: Calibri, Arial, sans-serif; } table { border-collapse: collapse; } td, th { border: 1px solid #999; padding: 4px; }</style></head><body>`+t+"</body></html>"}function d(t,o={}){const{title:e="Document",header:r="",footer:n="",fontFamily:i='system-ui, -apple-system, "Segoe UI", Roboto, sans-serif'}=o,a=(r?`<div class="nw-print-header">${l(r)}</div>`:"")+(n?`<div class="nw-print-footer">${l(n)}</div>`:"");return`<!DOCTYPE html>\n<html><head><meta charset="utf-8"><title>${l(e)}</title><style>@page { size: A4; margin: 20mm; }body { font-family: ${i}; color: #101828; line-height: 1.5; margin: 0; }img, iframe { max-width: 100%; }table { border-collapse: collapse; width: 100%; }td, th { border: 1px solid #d0d5dd; padding: 6px 8px; }pre, blockquote, table, figure, img { break-inside: avoid; page-break-inside: avoid; }h1, h2, h3, h4 { break-after: avoid; page-break-after: avoid; }.nw-page-break { break-before: page; page-break-before: always; }`+(r?".nw-print-header { position: fixed; top: 0; left: 0; right: 0; font-size: 10px; color: #667085; padding: 6px 0; }":"")+(n?".nw-print-footer { position: fixed; bottom: 0; left: 0; right: 0; font-size: 10px; color: #667085; padding: 6px 0; text-align: center; }":"")+"</style></head><body>"+a+`<main>${t}</main></body></html>`}export{d as a,s as b,a as t};
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
System.register(["./schema.cjs.js","./sanitize.cjs.js","./serializer.cjs.js","./commands.cjs.js","./markdown.cjs.js","./markdown-parse.cjs.js","./office-paste.cjs.js","./export.cjs.js","./plugins/image-view.cjs.js","./plugins/embed-view.cjs.js","./plugins/math-view.cjs.js","./selection-state.cjs.js","./create-state.cjs.js","./plugins/max-length.cjs.js","./plugins/task-list.cjs.js","./plugins/code-highlight.cjs.js","./plugins/embeds.cjs.js","./plugins/find-replace.cjs.js","./plugins/placeholder.cjs.js","./plugins/format-painter.cjs.js","./plugins/link.cjs.js","./plugins/single-line.cjs.js","./plugins/tables.cjs.js","./plugins/image.cjs.js","./plugins/paste.cjs.js","../../index-89c520e9.cjs.js","../../index-df196058.cjs.js","../../index-cc1385e0.cjs.js","../../index-178e1e57.cjs.js","./keymap.cjs.js","../../index-f956f56d.cjs.js","./inputrules.cjs.js","./plugins/suggestions.cjs.js"],function(_export,_context){"use strict";return{setters:[function(_schemaCjsJs){},function(_sanitizeCjsJs){},function(_serializerCjsJs){},function(_commandsCjsJs){},function(_markdownCjsJs){},function(_markdownParseCjsJs){},function(_officePasteCjsJs){},function(_exportCjsJs){},function(_pluginsImageViewCjsJs){},function(_pluginsEmbedViewCjsJs){},function(_pluginsMathViewCjsJs){},function(_selectionStateCjsJs){},function(_createStateCjsJs){},function(_pluginsMaxLengthCjsJs){},function(_pluginsTaskListCjsJs){},function(_pluginsCodeHighlightCjsJs){},function(_pluginsEmbedsCjsJs){},function(_pluginsFindReplaceCjsJs){},function(_pluginsPlaceholderCjsJs){},function(_pluginsFormatPainterCjsJs){},function(_pluginsLinkCjsJs){},function(_pluginsSingleLineCjsJs){},function(_pluginsTablesCjsJs){},function(_pluginsImageCjsJs){},function(_pluginsPasteCjsJs){},function(_index00aCjsJs){},function(_index001CjsJs){},function(_index009CjsJs){},function(_index007CjsJs){},function(_keymapCjsJs){},function(_index00bCjsJs){},function(_inputrulesCjsJs){},function(_pluginsSuggestionsCjsJs){}],execute:function execute(){}};});
|
|
2
|
+
//# sourceMappingURL=index.cjs.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.cjs.js","sources":[],"sourcesContent":[],"names":[],"mappings":""}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import"./schema.esm.js";import"./sanitize.esm.js";import"./serializer.esm.js";import"./commands.esm.js";import"./markdown.esm.js";import"./markdown-parse.esm.js";import"./office-paste.esm.js";import"./export.esm.js";import"./plugins/image-view.esm.js";import"./plugins/embed-view.esm.js";import"./plugins/math-view.esm.js";import"./selection-state.esm.js";import"./create-state.esm.js";import"./plugins/max-length.esm.js";import"./plugins/task-list.esm.js";import"./plugins/code-highlight.esm.js";import"./plugins/embeds.esm.js";import"./plugins/find-replace.esm.js";import"./plugins/placeholder.esm.js";import"./plugins/format-painter.esm.js";import"./plugins/link.esm.js";import"./plugins/single-line.esm.js";import"./plugins/tables.esm.js";import"./plugins/image.esm.js";import"./plugins/paste.esm.js";import"../../index-6f3fa4ab.esm.js";import"../../index-249de90a.esm.js";import"../../index-353172ed.esm.js";import"../../index-920675c4.esm.js";import"./keymap.esm.js";import"../../index-1faa963c.esm.js";import"./inputrules.esm.js";import"./plugins/suggestions.esm.js";
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
System.register(["../../index-f956f56d.cjs.js","../../index-89c520e9.cjs.js"],function(_export,_context){"use strict";var s,n,t,r;function $(s){return s.replace(/[.*+?^${}()|[\]\\]/g,"\\$&");}function e(s,n){return new r(s,function(s,t,r,$){if(function(s){var n=s.selection.$from;if(n.parent.type.spec.code)return!0;var t=s.schema.marks.code;return!(!t||!t.isInSet(s.storedMarks||n.marks()));}(s))return null;var e=n,o=r;if(t.length>1&&void 0!==t[1]){var _s=t[0].lastIndexOf(t[1]);e+=t[0].slice(_s+t[1].length),o+=_s;var _n=o-$;_n>0&&(e=t[0].slice(_s-_n,_s)+e,o=$);}return s.tr.insertText(e,o,$);});}function o(s,n){var t=$(s),e=$(s[0]),o=new RegExp("(?:^|\\s)".concat(t,"([^").concat(e,"\\s](?:[^").concat(e,"]*[^").concat(e,"\\s])?)").concat(t,"$"));return new r(o,function(t,r,$,e){var o=r[1],u=$+r[0].indexOf(s),i=t.tr;return i["delete"](u,e),i.insertText(o,u),i.addMark(u,u+o.length,n.create()),i.removeStoredMark(n),i;});}function u(s){var n=s.marks.link;return new r(/(?:^|\s)((?:https?:\/\/|www\.)[^\s]*[^\s.,:;!?'")\]}])\s$/i,function(t,r,$,e){var o=r[1],u=$+r[0].indexOf(o),i=u+o.length;if(t.doc.rangeHasMark(u,i,n))return null;if(t.doc.rangeHasMark(u,i,s.marks.code))return null;var c=/^www\./i.test(o)?"https://".concat(o):o,f=t.tr;return f.addMark(u,i,n.create({href:c})),f.removeStoredMark(n),f.insertText(" ",e),f;});}function i(r){var $=arguments.length>1&&arguments[1]!==undefined?arguments[1]:{};var i=!1===$.textTransform?[]:[e(/\(c\)$/i,"©"),e(/\(r\)$/i,"®"),e(/\(tm\)$/i,"™"),e(/(?:^|\s)(1\/2)\s$/,"½"),e(/(?:^|\s)(1\/4)\s$/,"¼"),e(/(?:^|\s)(3\/4)\s$/,"¾"),e(/\s(---)\s$/,"—"),e(/\s(--)\s$/,"–"),e(/\.\.\.$/,"…"),e(/(?:^|[\s{[(<'"‘“])(")$/,"“"),e(/"$/,"”"),e(/(?:^|[\s{[(<'"‘“])(')$/,"‘"),e(/'$/,"’")];return s({rules:[].concat(i,[n(new RegExp("^(#{1,6})\\s$"),r.nodes.heading,function(s){return{level:s[1].length};}),t(/^\s*>\s$/,r.nodes.blockquote),t(/^\s*([-*])\s$/,r.nodes.bullet_list),t(/^(\d+)\.\s$/,r.nodes.ordered_list,function(s){return{order:+s[1]};},function(s,n){return n.childCount+n.attrs.order===+s[1];}),n(/^```$/,r.nodes.code_block),t(/^\s*\[[ ]?\]\s$/,r.nodes.task_list),o("**",r.marks.bold),o("*",r.marks.italic),o("~~",r.marks.strike),o("~",r.marks.subscript),o("^",r.marks.superscript),o("`",r.marks.code),u(r)])});}_export("b",i);return{setters:[function(_index00bCjsJs){s=_index00bCjsJs.i;n=_index00bCjsJs.t;t=_index00bCjsJs.w;r=_index00bCjsJs.I;},function(_index00aCjsJs){}],execute:function execute(){}};});
|
|
2
|
+
//# sourceMappingURL=inputrules.cjs.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"inputrules.cjs.js","sources":["../../../../src/nile-wysiwyg-editor/engine/inputrules.ts"],"sourcesContent":["import {\n inputRules,\n wrappingInputRule,\n textblockTypeInputRule,\n InputRule,\n} from 'prosemirror-inputrules';\nimport { MarkType, Schema } from 'prosemirror-model';\nimport { Plugin } from 'prosemirror-state';\n\nfunction escapeRegex(text: string): string {\n return text.replace(/[.*+?^${}()|[\\]\\\\]/g, '\\\\$&');\n}\n\n/** True when the cursor sits in code (block or mark) — no autocorrect there. */\nfunction isInCodeContext(state: import('prosemirror-state').EditorState): boolean {\n const { $from } = state.selection;\n if ($from.parent.type.spec.code) return true;\n const code = state.schema.marks.code;\n return !!(code && code.isInSet(state.storedMarks || $from.marks()));\n}\n\n/**\n * String-replacement rule (the library stringHandler plus a code-context\n * guard): when the regex has a capture group, only the group is replaced and\n * the surrounding matched text is preserved.\n */\nfunction replaceRule(regexp: RegExp, replacement: string): InputRule {\n return new InputRule(regexp, (state, match, start, end) => {\n if (isInCodeContext(state)) return null;\n let insert = replacement;\n let from = start;\n if (match.length > 1 && match[1] !== undefined) {\n const offset = match[0].lastIndexOf(match[1]);\n insert += match[0].slice(offset + match[1].length);\n from += offset;\n const cutOff = from - end;\n if (cutOff > 0) {\n insert = match[0].slice(offset - cutOff, offset) + insert;\n from = end;\n }\n }\n return state.tr.insertText(insert, from, end);\n });\n}\n\n/**\n * CKEditor-style text transformations: symbols, fractions, dashes, ellipsis\n * and smart quotes. All skipped inside code and revertable with Backspace.\n */\nfunction textTransformRules(): InputRule[] {\n return [\n // Symbols.\n replaceRule(/\\(c\\)$/i, '©'),\n replaceRule(/\\(r\\)$/i, '®'),\n replaceRule(/\\(tm\\)$/i, '™'),\n // Fractions (word-bounded, completed by a space).\n replaceRule(/(?:^|\\s)(1\\/2)\\s$/, '½'),\n replaceRule(/(?:^|\\s)(1\\/4)\\s$/, '¼'),\n replaceRule(/(?:^|\\s)(3\\/4)\\s$/, '¾'),\n // Dashes: \" --- \" → em, \" -- \" → en. The em rule can't be shadowed by\n // the en rule because the en rule requires whitespace before \"--\".\n replaceRule(/\\s(---)\\s$/, '—'),\n replaceRule(/\\s(--)\\s$/, '–'),\n // Ellipsis.\n replaceRule(/\\.\\.\\.$/, '…'),\n // Smart quotes: opening after start/space/bracket, closing elsewhere.\n replaceRule(/(?:^|[\\s{[(<'\"‘“])(\")$/, '“'),\n replaceRule(/\"$/, '”'),\n replaceRule(/(?:^|[\\s{[(<'\"‘“])(')$/, '‘'),\n replaceRule(/'$/, '’'),\n ];\n}\n\nexport interface InputRulesOptions {\n /** Include the autocorrect/typography rules. Defaults to true. */\n textTransform?: boolean;\n}\n\n/**\n * Markdown mark shortcut: typing `<delim>text<delim>` applies the mark and\n * strips the delimiters. The matched range (delimiters and all) is replaced\n * with the marked content, so the final typed delimiter never lands.\n */\nfunction markInputRule(delim: string, markType: MarkType): InputRule {\n const escaped = escapeRegex(delim);\n const inner = escapeRegex(delim[0]);\n const regexp = new RegExp(\n `(?:^|\\\\s)${escaped}([^${inner}\\\\s](?:[^${inner}]*[^${inner}\\\\s])?)${escaped}$`\n );\n return new InputRule(regexp, (state, match, start, end) => {\n const content = match[1];\n const delimStart = start + match[0].indexOf(delim);\n const tr = state.tr;\n tr.delete(delimStart, end);\n tr.insertText(content, delimStart);\n tr.addMark(delimStart, delimStart + content.length, markType.create());\n tr.removeStoredMark(markType);\n return tr;\n });\n}\n\n/**\n * Autolink: typing a space after a bare URL (`https://…`, `http://…` or\n * `www.…`) converts it into a link. Trailing punctuation stays outside the\n * link, code spans and existing links are left alone, and Backspace\n * (undoInputRule) reverts the conversion like any other input rule.\n */\nfunction linkifyRule(schema: Schema): InputRule {\n const linkType = schema.marks.link;\n const regexp = /(?:^|\\s)((?:https?:\\/\\/|www\\.)[^\\s]*[^\\s.,:;!?'\")\\]}])\\s$/i;\n return new InputRule(regexp, (state, match, start, end) => {\n const url = match[1];\n const urlStart = start + match[0].indexOf(url);\n const urlEnd = urlStart + url.length;\n if (state.doc.rangeHasMark(urlStart, urlEnd, linkType)) return null;\n if (state.doc.rangeHasMark(urlStart, urlEnd, schema.marks.code)) return null;\n const href = /^www\\./i.test(url) ? `https://${url}` : url;\n const tr = state.tr;\n tr.addMark(urlStart, urlEnd, linkType.create({ href }));\n tr.removeStoredMark(linkType);\n tr.insertText(' ', end);\n return tr;\n });\n}\n\n/**\n * Markdown-style typing shortcuts: block rules plus inline mark rules\n * (**bold**, *italic*, `code`, ~~strike~~), and (unless disabled) the\n * typography autocorrect rules.\n */\nexport function buildInputRules(schema: Schema, options: InputRulesOptions = {}): Plugin {\n const transforms = options.textTransform === false ? [] : textTransformRules();\n return inputRules({\n rules: [\n ...transforms,\n // \"# \" … \"###### \" → heading\n textblockTypeInputRule(\n new RegExp('^(#{1,6})\\\\s$'),\n schema.nodes.heading,\n match => ({ level: match[1].length })\n ),\n // \"> \" → blockquote\n wrappingInputRule(/^\\s*>\\s$/, schema.nodes.blockquote),\n // \"- \" or \"* \" → bullet list\n wrappingInputRule(/^\\s*([-*])\\s$/, schema.nodes.bullet_list),\n // \"1. \" → ordered list\n wrappingInputRule(\n /^(\\d+)\\.\\s$/,\n schema.nodes.ordered_list,\n match => ({ order: +match[1] }),\n (match, node) => node.childCount + node.attrs.order === +match[1]\n ),\n // \"```\" → code block\n textblockTypeInputRule(/^```$/, schema.nodes.code_block),\n // \"[] \" or \"[ ] \" → checklist\n wrappingInputRule(/^\\s*\\[[ ]?\\]\\s$/, schema.nodes.task_list),\n // Inline marks. Bold before italic so '**' is never read as italic;\n // strike (~~) before subscript (~) so a double tilde is never a single.\n markInputRule('**', schema.marks.bold),\n markInputRule('*', schema.marks.italic),\n markInputRule('~~', schema.marks.strike),\n markInputRule('~', schema.marks.subscript),\n markInputRule('^', schema.marks.superscript),\n markInputRule('`', schema.marks.code),\n // Bare URL + space → link.\n linkifyRule(schema),\n ],\n });\n}\n"],"names":["escapeRegex","text","replace","replaceRule","regexp","replacement","InputRule","state","match","start","end","$from","selection","parent","type","spec","code","schema","marks","isInSet","storedMarks","isInCodeContext","insert","from","length","undefined","offset","lastIndexOf","slice","cutOff","tr","insertText","markInputRule","delim","markType","escaped","inner","RegExp","content","delimStart","indexOf","addMark","create","removeStoredMark","linkifyRule","linkType","link","url","urlStart","urlEnd","doc","rangeHasMark","href","test","buildInputRules","options","transforms","textTransform","inputRules","rules","concat","textblockTypeInputRule","nodes","heading","level","wrappingInputRule","blockquote","bullet_list","ordered_list","order","node","childCount","attrs","code_block","task_list","bold","italic","strike","subscript","superscript"],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{i as s,t as n,w as t,I as r}from"../../index-1faa963c.esm.js";import"../../index-6f3fa4ab.esm.js";function e(s){return s.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}function $(s,n){return new r(s,((s,t,r,e)=>{if(function(s){const{$from:n}=s.selection;if(n.parent.type.spec.code)return!0;const t=s.schema.marks.code;return!(!t||!t.isInSet(s.storedMarks||n.marks()))}(s))return null;let $=n,o=r;if(t.length>1&&void 0!==t[1]){const s=t[0].lastIndexOf(t[1]);$+=t[0].slice(s+t[1].length),o+=s;const n=o-e;n>0&&($=t[0].slice(s-n,s)+$,o=e)}return s.tr.insertText($,o,e)}))}function o(s,n){const t=e(s),$=e(s[0]),o=new RegExp(`(?:^|\\s)${t}([^${$}\\s](?:[^${$}]*[^${$}\\s])?)${t}$`);return new r(o,((t,r,e,$)=>{const o=r[1],u=e+r[0].indexOf(s),i=t.tr;return i.delete(u,$),i.insertText(o,u),i.addMark(u,u+o.length,n.create()),i.removeStoredMark(n),i}))}function u(s){const n=s.marks.link;return new r(/(?:^|\s)((?:https?:\/\/|www\.)[^\s]*[^\s.,:;!?'")\]}])\s$/i,((t,r,e,$)=>{const o=r[1],u=e+r[0].indexOf(o),i=u+o.length;if(t.doc.rangeHasMark(u,i,n))return null;if(t.doc.rangeHasMark(u,i,s.marks.code))return null;const c=/^www\./i.test(o)?`https://${o}`:o,f=t.tr;return f.addMark(u,i,n.create({href:c})),f.removeStoredMark(n),f.insertText(" ",$),f}))}function i(r,e={}){const i=!1===e.textTransform?[]:[$(/\(c\)$/i,"©"),$(/\(r\)$/i,"®"),$(/\(tm\)$/i,"™"),$(/(?:^|\s)(1\/2)\s$/,"½"),$(/(?:^|\s)(1\/4)\s$/,"¼"),$(/(?:^|\s)(3\/4)\s$/,"¾"),$(/\s(---)\s$/,"—"),$(/\s(--)\s$/,"–"),$(/\.\.\.$/,"…"),$(/(?:^|[\s{[(<'"‘“])(")$/,"“"),$(/"$/,"”"),$(/(?:^|[\s{[(<'"‘“])(')$/,"‘"),$(/'$/,"’")];return s({rules:[...i,n(new RegExp("^(#{1,6})\\s$"),r.nodes.heading,(s=>({level:s[1].length}))),t(/^\s*>\s$/,r.nodes.blockquote),t(/^\s*([-*])\s$/,r.nodes.bullet_list),t(/^(\d+)\.\s$/,r.nodes.ordered_list,(s=>({order:+s[1]})),((s,n)=>n.childCount+n.attrs.order===+s[1])),n(/^```$/,r.nodes.code_block),t(/^\s*\[[ ]?\]\s$/,r.nodes.task_list),o("**",r.marks.bold),o("*",r.marks.italic),o("~~",r.marks.strike),o("~",r.marks.subscript),o("^",r.marks.superscript),o("`",r.marks.code),u(r)]})}export{i as b};
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
System.register(["../../index-df196058.cjs.js","./commands.cjs.js","../../index-f956f56d.cjs.js","./schema.cjs.js","./plugins/paste.cjs.js","../../index-89c520e9.cjs.js","../../index-cc1385e0.cjs.js","../../index-178e1e57.cjs.js","./markdown-parse.cjs.js","./serializer.cjs.js","./sanitize.cjs.js","./plugins/embeds.cjs.js"],function(_export,_context){"use strict";var s,i,t,o,r,e,a,n,c,p,j,d,m;function f(f){var l=arguments.length>1&&arguments[1]!==undefined?arguments[1]:{};var u={};u["Mod-z"]=o,u["Shift-Mod-z"]=r,m||(u["Mod-y"]=r),u.Backspace=n,u["Mod-b"]=function(s,t,o){return i(s,"bold")(s,t,o);},u["Mod-i"]=function(s,t,o){return i(s,"italic")(s,t,o);},u["Mod-u"]=function(s,t,o){return i(s,"underline")(s,t,o);},u["Shift-Mod-x"]=function(s,t,o){return i(s,"strike")(s,t,o);},u["Mod-,"]=function(s,t,o){return i(s,"subscript")(s,t,o);},u["Mod-."]=function(s,t,o){return i(s,"superscript")(s,t,o);},u["Shift-Mod-v"]=function(s,i,t){var _navigator$clipboard;return!(!t||"undefined"==typeof navigator||!((_navigator$clipboard=navigator.clipboard)!==null&&_navigator$clipboard!==void 0&&_navigator$clipboard.readText))&&(navigator.clipboard.readText().then(function(s){if(!s||!t)return;var i=d(t.state.schema,s);t.dispatch(t.state.tr.replaceSelection(i).scrollIntoView());})["catch"](function(){}),!0);},u["Shift-Ctrl-0"]=function(s,t,o){return i(s,"paragraph")(s,t,o);};var _loop=function _loop(_s){u["Shift-Ctrl-".concat(_s)]=function(t,o,r){return i(t,"heading",{level:_s})(t,o,r);};};for(var _s=1;_s<=6;_s+=1){_loop(_s);}u["Shift-Mod-7"]=function(s,t,o){return i(s,"orderedList")(s,t,o);},u["Shift-Mod-8"]=function(s,t,o){return i(s,"bulletList")(s,t,o);},u["Shift-Mod-9"]=function(s,t,o){return i(s,"blockquote")(s,t,o);},u["Mod-Alt-c"]=function(s,t,o){return i(s,"codeBlock")(s,t,o);},u["Mod-]"]=function(s,t,o){return i(s,"indent")(s,t,o);},u["Mod-["]=function(s,t,o){return i(s,"outdent")(s,t,o);},u.Enter=t(c(f.nodes.task_item,{checked:!1}),c(f.nodes.list_item)),u.Tab=t(p(f.nodes.task_item),p(f.nodes.list_item)),u["Shift-Tab"]=t(j(f.nodes.task_item),j(f.nodes.list_item));var g=t(e,function(s,i){return i&&i(s.tr.replaceSelectionWith(f.nodes.hard_break.create()).scrollIntoView()),!0;});if(u["Shift-Enter"]=g,u["Mod-Enter"]=g,l.onLinkShortcut){var _s2=l.onLinkShortcut;u["Mod-k"]=function(){return _s2(),!0;};}if(l.onFindShortcut){var _s3=l.onFindShortcut;u["Mod-f"]=function(){return _s3(),!0;};}if(l.onShortcutHelp){var _s4=l.onShortcutHelp;u["Mod-/"]=function(){return _s4(),!0;};}return[s(u),s(a)];}_export("b",f);return{setters:[function(_index001CjsJs){s=_index001CjsJs.k;},function(_commandsCjsJs){i=_commandsCjsJs.b;t=_commandsCjsJs.c;o=_commandsCjsJs.u;r=_commandsCjsJs.r;e=_commandsCjsJs.e;a=_commandsCjsJs.d;},function(_index00bCjsJs){n=_index00bCjsJs.u;},function(_schemaCjsJs){c=_schemaCjsJs.s;p=_schemaCjsJs.a;j=_schemaCjsJs.l;},function(_pluginsPasteCjsJs){d=_pluginsPasteCjsJs.p;},function(_index00aCjsJs){},function(_index009CjsJs){},function(_index007CjsJs){},function(_markdownParseCjsJs){},function(_serializerCjsJs){},function(_sanitizeCjsJs){},function(_pluginsEmbedsCjsJs){}],execute:function execute(){m="undefined"!=typeof navigator&&/Mac|iP(hone|[oa]d)/.test(navigator.platform);}};});
|
|
2
|
+
//# sourceMappingURL=keymap.cjs.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"keymap.cjs.js","sources":["../../../../src/nile-wysiwyg-editor/engine/keymap.ts"],"sourcesContent":["import { keymap } from 'prosemirror-keymap';\nimport { baseKeymap, chainCommands, exitCode } from 'prosemirror-commands';\nimport { undo, redo } from 'prosemirror-history';\nimport { undoInputRule } from 'prosemirror-inputrules';\nimport {\n splitListItem,\n liftListItem,\n sinkListItem,\n} from 'prosemirror-schema-list';\nimport { Command, Plugin } from 'prosemirror-state';\nimport { Schema } from 'prosemirror-model';\nimport { getCommand } from './commands';\nimport { plainTextSlice } from './plugins/paste';\n\nconst isMac =\n typeof navigator !== 'undefined' && /Mac|iP(hone|[oa]d)/.test(navigator.platform);\n\nexport interface KeymapOptions {\n /** Invoked on Mod-k so the host can open its link editor UI. */\n onLinkShortcut?: () => void;\n /** Invoked on Mod-f so the host can open its find & replace bar. */\n onFindShortcut?: () => void;\n /** Invoked on Mod-/ so the host can open its shortcut help dialog. */\n onShortcutHelp?: () => void;\n}\n\n/**\n * Editor keymap. Returned as two plugins: feature bindings first, then the\n * ProseMirror base keymap as fallback.\n */\nexport function buildKeymapPlugins(schema: Schema, options: KeymapOptions = {}): Plugin[] {\n const keys: Record<string, Command> = {};\n\n keys['Mod-z'] = undo;\n keys['Shift-Mod-z'] = redo;\n if (!isMac) keys['Mod-y'] = redo;\n keys['Backspace'] = undoInputRule;\n\n keys['Mod-b'] = (state, dispatch, view) =>\n getCommand(state, 'bold')!(state, dispatch, view);\n keys['Mod-i'] = (state, dispatch, view) =>\n getCommand(state, 'italic')!(state, dispatch, view);\n keys['Mod-u'] = (state, dispatch, view) =>\n getCommand(state, 'underline')!(state, dispatch, view);\n keys['Shift-Mod-x'] = (state, dispatch, view) =>\n getCommand(state, 'strike')!(state, dispatch, view);\n // Google Docs convention: Ctrl+, subscript, Ctrl+. superscript.\n keys['Mod-,'] = (state, dispatch, view) =>\n getCommand(state, 'subscript')!(state, dispatch, view);\n keys['Mod-.'] = (state, dispatch, view) =>\n getCommand(state, 'superscript')!(state, dispatch, view);\n\n // Paste without formatting. Reads the clipboard directly so the result is\n // plain text regardless of the persistent toggle; falls back to the\n // browser default when the async Clipboard API is unavailable.\n keys['Shift-Mod-v'] = (_state, _dispatch, view) => {\n if (!view || typeof navigator === 'undefined' || !navigator.clipboard?.readText) {\n return false;\n }\n navigator.clipboard\n .readText()\n .then(text => {\n if (!text || !view) return;\n const slice = plainTextSlice(view.state.schema, text);\n view.dispatch(view.state.tr.replaceSelection(slice).scrollIntoView());\n })\n .catch(() => {\n /* clipboard denied — silently no-op */\n });\n return true;\n };\n\n keys['Shift-Ctrl-0'] = (state, dispatch, view) =>\n getCommand(state, 'paragraph')!(state, dispatch, view);\n for (let level = 1; level <= 6; level += 1) {\n keys[`Shift-Ctrl-${level}`] = (state, dispatch, view) =>\n getCommand(state, 'heading', { level })!(state, dispatch, view);\n }\n\n keys['Shift-Mod-7'] = (state, dispatch, view) =>\n getCommand(state, 'orderedList')!(state, dispatch, view);\n keys['Shift-Mod-8'] = (state, dispatch, view) =>\n getCommand(state, 'bulletList')!(state, dispatch, view);\n keys['Shift-Mod-9'] = (state, dispatch, view) =>\n getCommand(state, 'blockquote')!(state, dispatch, view);\n keys['Mod-Alt-c'] = (state, dispatch, view) =>\n getCommand(state, 'codeBlock')!(state, dispatch, view);\n\n // Google Docs convention: Mod-] / Mod-[ indent and outdent.\n keys['Mod-]'] = (state, dispatch, view) =>\n getCommand(state, 'indent')!(state, dispatch, view);\n keys['Mod-['] = (state, dispatch, view) =>\n getCommand(state, 'outdent')!(state, dispatch, view);\n\n // New task items always start unchecked.\n keys['Enter'] = chainCommands(\n splitListItem(schema.nodes.task_item, { checked: false }),\n splitListItem(schema.nodes.list_item)\n );\n keys['Tab'] = chainCommands(\n sinkListItem(schema.nodes.task_item),\n sinkListItem(schema.nodes.list_item)\n );\n keys['Shift-Tab'] = chainCommands(\n liftListItem(schema.nodes.task_item),\n liftListItem(schema.nodes.list_item)\n );\n\n // Hard break; exitCode first so breaks escape code marks cleanly.\n const br: Command = chainCommands(exitCode, (state, dispatch) => {\n if (dispatch) {\n dispatch(\n state.tr.replaceSelectionWith(schema.nodes.hard_break.create()).scrollIntoView()\n );\n }\n return true;\n });\n keys['Shift-Enter'] = br;\n keys['Mod-Enter'] = br;\n\n if (options.onLinkShortcut) {\n const open = options.onLinkShortcut;\n keys['Mod-k'] = () => {\n open();\n return true;\n };\n }\n\n if (options.onFindShortcut) {\n const openFind = options.onFindShortcut;\n keys['Mod-f'] = () => {\n openFind();\n return true;\n };\n }\n\n if (options.onShortcutHelp) {\n const openHelp = options.onShortcutHelp;\n keys['Mod-/'] = () => {\n openHelp();\n return true;\n };\n }\n\n return [keymap(keys), keymap(baseKeymap)];\n}\n"],"names":["buildKeymapPlugins","schema","options","keys","undo","redo","isMac","Backspace","undoInputRule","state","dispatch","view","getCommand","_state","_dispatch","navigator","clipboard","readText","then","text","slice","plainTextSlice","tr","replaceSelection","scrollIntoView","catch","_loop","_s","concat","level","Enter","chainCommands","splitListItem","nodes","task_item","checked","list_item","Tab","sinkListItem","liftListItem","br","exitCode","replaceSelectionWith","hard_break","create","onLinkShortcut","open","onFindShortcut","openFind","onShortcutHelp","openHelp","keymap","baseKeymap","test","platform"],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{k as s}from"../../index-249de90a.esm.js";import{b as e,c as i,u as t,r as o,e as r,d as a}from"./commands.esm.js";import{u as n}from"../../index-1faa963c.esm.js";import{s as m,a as p,l as d}from"./schema.esm.js";import{p as c}from"./plugins/paste.esm.js";import"../../index-6f3fa4ab.esm.js";import"../../index-353172ed.esm.js";import"../../index-920675c4.esm.js";import"./markdown-parse.esm.js";import"./serializer.esm.js";import"./sanitize.esm.js";import"./plugins/embeds.esm.js";const f="undefined"!=typeof navigator&&/Mac|iP(hone|[oa]d)/.test(navigator.platform);function l(l,u={}){const j={};j["Mod-z"]=t,j["Shift-Mod-z"]=o,f||(j["Mod-y"]=o),j.Backspace=n,j["Mod-b"]=(s,i,t)=>e(s,"bold")(s,i,t),j["Mod-i"]=(s,i,t)=>e(s,"italic")(s,i,t),j["Mod-u"]=(s,i,t)=>e(s,"underline")(s,i,t),j["Shift-Mod-x"]=(s,i,t)=>e(s,"strike")(s,i,t),j["Mod-,"]=(s,i,t)=>e(s,"subscript")(s,i,t),j["Mod-."]=(s,i,t)=>e(s,"superscript")(s,i,t),j["Shift-Mod-v"]=(s,e,i)=>!(!i||"undefined"==typeof navigator||!navigator.clipboard?.readText)&&(navigator.clipboard.readText().then((s=>{if(!s||!i)return;const e=c(i.state.schema,s);i.dispatch(i.state.tr.replaceSelection(e).scrollIntoView())})).catch((()=>{})),!0),j["Shift-Ctrl-0"]=(s,i,t)=>e(s,"paragraph")(s,i,t);for(let s=1;s<=6;s+=1)j[`Shift-Ctrl-${s}`]=(i,t,o)=>e(i,"heading",{level:s})(i,t,o);j["Shift-Mod-7"]=(s,i,t)=>e(s,"orderedList")(s,i,t),j["Shift-Mod-8"]=(s,i,t)=>e(s,"bulletList")(s,i,t),j["Shift-Mod-9"]=(s,i,t)=>e(s,"blockquote")(s,i,t),j["Mod-Alt-c"]=(s,i,t)=>e(s,"codeBlock")(s,i,t),j["Mod-]"]=(s,i,t)=>e(s,"indent")(s,i,t),j["Mod-["]=(s,i,t)=>e(s,"outdent")(s,i,t),j.Enter=i(m(l.nodes.task_item,{checked:!1}),m(l.nodes.list_item)),j.Tab=i(p(l.nodes.task_item),p(l.nodes.list_item)),j["Shift-Tab"]=i(d(l.nodes.task_item),d(l.nodes.list_item));const g=i(r,((s,e)=>(e&&e(s.tr.replaceSelectionWith(l.nodes.hard_break.create()).scrollIntoView()),!0)));if(j["Shift-Enter"]=g,j["Mod-Enter"]=g,u.onLinkShortcut){const s=u.onLinkShortcut;j["Mod-k"]=()=>(s(),!0)}if(u.onFindShortcut){const s=u.onFindShortcut;j["Mod-f"]=()=>(s(),!0)}if(u.onShortcutHelp){const s=u.onShortcutHelp;j["Mod-/"]=()=>(s(),!0)}return[s(j),s(a)]}export{l as b};
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
System.register([],function(_export,_context){"use strict";var n,t,s,o,e,r,c,u;function i(n){return n.replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">").replace(/"/g,""");}function $(n){var t=n;return t=t.replace(/!\[([^\]]*)\]\(([^()\s]+)(?:\s+[^)]*)?\)/g,function(n,t,s){return"<img src=\"".concat(s,"\" alt=\"").concat(t,"\">");}),t=t.replace(/\[([^\]]+)\]\(([^()\s]+)(?:\s+[^)]*)?\)/g,function(n,t,s){return"<a href=\"".concat(s,"\">").concat(t,"</a>");}),t=t.replace(/\*\*([^*]+)\*\*/g,"<strong>$1</strong>"),t=t.replace(/__([^_]+)__/g,"<strong>$1</strong>"),t=t.replace(/(^|[^*\w])\*([^*\s](?:[^*]*[^*\s])?)\*/g,"$1<em>$2</em>"),t=t.replace(/(^|[^_\w])_([^_\s](?:[^_]*[^_\s])?)_(?![\w])/g,"$1<em>$2</em>"),t=t.replace(/~~([^~]+)~~/g,"<s>$1</s>"),t=t.replace(/ *\n/g,"<br>"),t;}function f(n){var t=/(`+)([^`]|[^`][\s\S]*?[^`])\1(?!`)/;var s=n.replace(/\\([\\`*_[\]()#+\-.!~|])/g,function(n,t){return"\0".concat(t.charCodeAt(0),"\0");}),o="";for(;;){var _n=t.exec(s);if(!_n){o+=$(i(s));break;}o+=$(i(s.slice(0,_n.index))),o+="<code>".concat(i(_n[2]),"</code>"),s=s.slice(_n.index+_n[0].length);}return function(n){return n.replace(/\u0000(\d+)\u0000/g,function(n,t){return String.fromCharCode(Number(t));});}(o);}function l(s){return e.test(s)||o.test(s)||r.test(s)||c.test(s)||n.test(s)||t.test(s);}function a(o){var _n$exec;var e=(_n$exec=n.exec(o[0]))!==null&&_n$exec!==void 0?_n$exec:t.exec(o[0]),r=e[1].length,c=t.test(o[0])&&!n.test(o[0]),u=c?Number(e[2]):1,i=[];var $=null;for(var _e=0;_e<o.length;_e+=1){var _u=o[_e],_f=c?t.exec(_u):n.exec(_u),_l=c?n.exec(_u):t.exec(_u);if(_f&&_f[1].length<=r){var _n2=_f[3],_t=null;if(!c){var _o=s.exec(_n2);_o&&(_t="x"===_o[1].toLowerCase(),_n2=_o[2]);}i.push({lines:[_n2],checked:_t});}else{if(_l&&_l[1].length<=r){$=o.slice(_e);break;}i.length>0&&i[i.length-1].lines.push(_u.replace(new RegExp("^\\s{0,".concat(r+2,"}")),""));}}var f=[];for(var _i2=0,_i=i;_i2<_i.length;_i2++){var _n3=_i[_i2];var _t2=null!==_n3.checked,_s=f[f.length-1];_s&&_s.task===_t2?_s.items.push(_n3):f.push({task:_t2,items:[_n3]});}var l=f.map(function(n){var t=n.items.map(function(t){var s=d(t.lines);return n.task?"<li data-task-item=\"true\" data-checked=\"".concat(!0===t.checked,"\">").concat(s,"</li>"):"<li>".concat(s,"</li>");}).join("");if(n.task)return"<ul data-task-list=\"true\">".concat(t,"</ul>");if(c){return"<ol".concat(1!==u?" start=\"".concat(u,"\""):"",">").concat(t,"</ol>");}return"<ul>".concat(t,"</ul>");}).join("");return $?l+a($):l;}function g(n){var t=function t(n){return n.trim().replace(/^\|/,"").replace(/\|$/,"").split(/(?<!\\)\|/).map(function(n){return n.trim().replace(/\\\|/g,"|");});},s=t(n[0]),o=n.slice(2).map(t),e=function e(n,t){return"<tr>".concat(s.map(function(s,o){var _n$o;return"<".concat(t,"><p>").concat(f((_n$o=n[o])!==null&&_n$o!==void 0?_n$o:""),"</p></").concat(t,">");}).join(""),"</tr>");};return"<table>".concat(e(s,"th")).concat(o.map(function(n){return e(n,"td");}).join(""),"</table>");}function d(s){var $=[];var _=0;for(;_<s.length;){var _m=s[_];if(!_m.trim()){_+=1;continue;}var b=o.exec(_m);if(b){var _n4=new RegExp("^\\s{0,3}".concat(b[1],"\\s*$")),_t3=[];for(_+=1;_<s.length&&!_n4.test(s[_]);)_t3.push(s[_]),_+=1;_+=1;var _o2=b[2]?" data-language=\"".concat(i(b[2]),"\""):"";$.push("<pre".concat(_o2,"><code>").concat(i(_t3.join("\n")),"</code></pre>"));continue;}var k=e.exec(_m);if(k){var _n5=k[1].length,_t4=k[2].replace(/\s+#+\s*$/,"");$.push("<h".concat(_n5,">").concat(f(_t4),"</h").concat(_n5,">")),_+=1;continue;}if(r.test(_m)){$.push("<hr>"),_+=1;continue;}if(c.test(_m)){var _n6=[];for(;_<s.length&&(c.test(s[_])||_n6.length>0&&""!==s[_].trim()&&!l(s[_]));)_n6.push(s[_].replace(c,"")),_+=1;$.push("<blockquote>".concat(d(_n6),"</blockquote>"));continue;}if(n.test(_m)||t.test(_m)){var _o3=[];for(;_<s.length;){var _e2=s[_];if(""===_e2.trim()){var _o4=s[_+1];if(void 0!==_o4&&(n.test(_o4)||t.test(_o4)||/^\s{2,}\S/.test(_o4))){_+=1;continue;}break;}if(!n.test(_e2)&&!t.test(_e2)&&!/^\s{2,}\S/.test(_e2))break;_o3.push(_e2),_+=1;}$.push(a(_o3));continue;}if(_m.includes("|")&&_+1<s.length&&u.test(s[_+1])&&s[_+1].includes("|")){var _n7=[s[_],s[_+1]];for(_+=2;_<s.length&&s[_].includes("|")&&""!==s[_].trim();)_n7.push(s[_]),_+=1;$.push(g(_n7));continue;}var p=[_m];for(_+=1;_<s.length&&""!==s[_].trim()&&!l(s[_]);)p.push(s[_]),_+=1;$.push("<p>".concat(f(p.join("\n")),"</p>"));}return $.join("");}function _(n){return d(n.replace(/\r\n?/g,"\n").split("\n"));}function m(n){if(/<\/?[a-z][^>]*>/i.test(n))return!1;return /^\s{0,3}(#{1,6}\s+\S|```|(?:[-*+]|\d+[.)])\s+\S|>\s?\S|\|.+\|)/m.test(n)||/\*\*[^*\n]+\*\*|~~[^~\n]+~~|\[[^\]\n]+\]\([^)\n]+\)|`[^`\n]+`/.test(n);}_export({l:m,m:_});return{setters:[],execute:function execute(){n=/^(\s*)([-*+])\s+(.*)$/,t=/^(\s*)(\d+)[.)]\s+(.*)$/,s=/^\[([ xX])\]\s+(.*)$/,o=/^\s{0,3}(```+|~~~+)\s*(\S*)\s*$/,e=/^\s{0,3}(#{1,6})\s+(.*)$/,r=/^\s{0,3}(?:-{3,}|\*{3,}|_{3,})\s*$/,c=/^\s{0,3}>\s?/,u=/^\s*\|?\s*:?-+:?\s*(\|\s*:?-+:?\s*)*\|?\s*$/;}};});
|
|
2
|
+
//# sourceMappingURL=markdown-parse.cjs.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"markdown-parse.cjs.js","sources":["../../../../src/nile-wysiwyg-editor/engine/markdown-parse.ts"],"sourcesContent":["/**\n * Markdown → HTML conversion, the import counterpart of ./markdown\n * (docToMarkdown). Dependency-free and scoped to the same structural subset\n * the serializer emits: headings, blockquotes, bullet/ordered/task lists\n * (nested), fenced code blocks, GFM tables, horizontal rules, and the inline\n * marks (**bold**, *italic*, ~~strike~~, `code`, [links](…), images).\n *\n * The output is intentionally plain HTML that the schema's parseDOM rules\n * understand (e.g. <pre data-language>, <ul data-task-list>), and every\n * consumer feeds it through htmlToDoc/htmlToSlice — so the schema and the\n * sanitizer stay the single source of truth for what lands in the document.\n */\n\nconst BULLET_RE = /^(\\s*)([-*+])\\s+(.*)$/;\nconst ORDERED_RE = /^(\\s*)(\\d+)[.)]\\s+(.*)$/;\nconst TASK_RE = /^\\[([ xX])\\]\\s+(.*)$/;\nconst FENCE_RE = /^\\s{0,3}(```+|~~~+)\\s*(\\S*)\\s*$/;\nconst HEADING_RE = /^\\s{0,3}(#{1,6})\\s+(.*)$/;\nconst HR_RE = /^\\s{0,3}(?:-{3,}|\\*{3,}|_{3,})\\s*$/;\nconst QUOTE_RE = /^\\s{0,3}>\\s?/;\nconst TABLE_DIVIDER_RE = /^\\s*\\|?\\s*:?-+:?\\s*(\\|\\s*:?-+:?\\s*)*\\|?\\s*$/;\n\nfunction escapeHtml(text: string): string {\n return text\n .replace(/&/g, '&')\n .replace(/</g, '<')\n .replace(/>/g, '>')\n .replace(/\"/g, '"');\n}\n\n/**\n * Swaps backslash-escaped Markdown characters for placeholders so the inline\n * formatter never reads them as syntax; restoreEscapes() puts them back.\n */\nfunction protectEscapes(text: string): string {\n return text.replace(\n /\\\\([\\\\`*_[\\]()#+\\-.!~|])/g,\n (_, ch: string) => `\\u0000${ch.charCodeAt(0)}\\u0000`\n );\n}\n\nfunction restoreEscapes(text: string): string {\n return text.replace(/\\u0000(\\d+)\\u0000/g, (_, code: string) =>\n String.fromCharCode(Number(code))\n );\n}\n\n/** Inline formatting for one already-HTML-escaped, code-span-free segment. */\nfunction formatSpans(escaped: string): string {\n let out = escaped;\n // Images before links so  is never read as a link.\n out = out.replace(\n /!\\[([^\\]]*)\\]\\(([^()\\s]+)(?:\\s+[^)]*)?\\)/g,\n (_, alt: string, src: string) => `<img src=\"${src}\" alt=\"${alt}\">`\n );\n out = out.replace(\n /\\[([^\\]]+)\\]\\(([^()\\s]+)(?:\\s+[^)]*)?\\)/g,\n (_, label: string, href: string) => `<a href=\"${href}\">${label}</a>`\n );\n // Bold before italic so '**' is never read as two italics.\n out = out.replace(/\\*\\*([^*]+)\\*\\*/g, '<strong>$1</strong>');\n out = out.replace(/__([^_]+)__/g, '<strong>$1</strong>');\n out = out.replace(/(^|[^*\\w])\\*([^*\\s](?:[^*]*[^*\\s])?)\\*/g, '$1<em>$2</em>');\n out = out.replace(/(^|[^_\\w])_([^_\\s](?:[^_]*[^_\\s])?)_(?![\\w])/g, '$1<em>$2</em>');\n out = out.replace(/~~([^~]+)~~/g, '<s>$1</s>');\n // Newlines inside one paragraph become hard breaks.\n out = out.replace(/ *\\n/g, '<br>');\n return out;\n}\n\n/** Inline Markdown → HTML. Code spans are lifted out first to stay literal. */\nexport function inlineToHtml(source: string): string {\n const protectedSrc = protectEscapes(source);\n const codeRe = /(`+)([^`]|[^`][\\s\\S]*?[^`])\\1(?!`)/;\n let rest = protectedSrc;\n let out = '';\n for (;;) {\n const match = codeRe.exec(rest);\n if (!match) {\n out += formatSpans(escapeHtml(rest));\n break;\n }\n out += formatSpans(escapeHtml(rest.slice(0, match.index)));\n out += `<code>${escapeHtml(match[2])}</code>`;\n rest = rest.slice(match.index + match[0].length);\n }\n return restoreEscapes(out);\n}\n\n/** True when a line begins a new block construct (ends a paragraph). */\nfunction isBlockStart(line: string): boolean {\n return (\n HEADING_RE.test(line) ||\n FENCE_RE.test(line) ||\n HR_RE.test(line) ||\n QUOTE_RE.test(line) ||\n BULLET_RE.test(line) ||\n ORDERED_RE.test(line)\n );\n}\n\ninterface ListItem {\n lines: string[];\n checked: boolean | null;\n}\n\n/**\n * One list region → <ul>/<ol>/task <ul>. Items deeper than the base indent\n * are re-parsed recursively, so nested and mixed lists come out right. A\n * base-indent item of the other marker type (bullet vs ordered) ends the\n * list and starts a sibling one, matching GFM.\n */\nfunction parseListRegion(lines: string[]): string {\n const firstMatch = BULLET_RE.exec(lines[0]) ?? ORDERED_RE.exec(lines[0])!;\n const baseIndent = firstMatch[1].length;\n const ordered = ORDERED_RE.test(lines[0]) && !BULLET_RE.test(lines[0]);\n const startOrder = ordered ? Number(firstMatch[2]) : 1;\n\n const items: ListItem[] = [];\n let rest: string[] | null = null;\n for (let index = 0; index < lines.length; index += 1) {\n const line = lines[index];\n const match = ordered ? ORDERED_RE.exec(line) : BULLET_RE.exec(line);\n const other = ordered ? BULLET_RE.exec(line) : ORDERED_RE.exec(line);\n if (match && match[1].length <= baseIndent) {\n let text = match[3];\n let checked: boolean | null = null;\n if (!ordered) {\n const task = TASK_RE.exec(text);\n if (task) {\n checked = task[1].toLowerCase() === 'x';\n text = task[2];\n }\n }\n items.push({ lines: [text], checked });\n } else if (other && other[1].length <= baseIndent) {\n // Marker type switched at base level: a sibling list starts here.\n rest = lines.slice(index);\n break;\n } else if (items.length > 0) {\n // Continuation or nested content: drop the base marker's indent and\n // keep the relative indent so recursion sees the nesting.\n items[items.length - 1].lines.push(\n line.replace(new RegExp(`^\\\\s{0,${baseIndent + 2}}`), '')\n );\n }\n }\n\n // Consecutive runs of task/non-task items become separate lists, so a\n // checklist after a plain list never converts its neighbours.\n const runs: { task: boolean; items: ListItem[] }[] = [];\n for (const item of items) {\n const task = item.checked !== null;\n const lastRun = runs[runs.length - 1];\n if (lastRun && lastRun.task === task) lastRun.items.push(item);\n else runs.push({ task, items: [item] });\n }\n\n const rendered = runs\n .map(run => {\n const body = run.items\n .map(item => {\n const content = parseBlocks(item.lines);\n return run.task\n ? `<li data-task-item=\"true\" data-checked=\"${item.checked === true}\">${content}</li>`\n : `<li>${content}</li>`;\n })\n .join('');\n if (run.task) return `<ul data-task-list=\"true\">${body}</ul>`;\n if (ordered) {\n const startAttr = startOrder !== 1 ? ` start=\"${startOrder}\"` : '';\n return `<ol${startAttr}>${body}</ol>`;\n }\n return `<ul>${body}</ul>`;\n })\n .join('');\n\n return rest ? rendered + parseListRegion(rest) : rendered;\n}\n\n/** A GFM table region (header, divider, body rows) → <table>. */\nfunction parseTableRegion(lines: string[]): string {\n const splitRow = (line: string): string[] =>\n line\n .trim()\n .replace(/^\\|/, '')\n .replace(/\\|$/, '')\n .split(/(?<!\\\\)\\|/)\n .map(cell => cell.trim().replace(/\\\\\\|/g, '|'));\n\n const header = splitRow(lines[0]);\n const rows = lines.slice(2).map(splitRow);\n const renderRow = (cells: string[], tag: 'th' | 'td'): string =>\n `<tr>${header\n .map((_, index) => `<${tag}><p>${inlineToHtml(cells[index] ?? '')}</p></${tag}>`)\n .join('')}</tr>`;\n\n return `<table>${renderRow(header, 'th')}${rows\n .map(row => renderRow(row, 'td'))\n .join('')}</table>`;\n}\n\nfunction parseBlocks(lines: string[]): string {\n const out: string[] = [];\n let i = 0;\n\n while (i < lines.length) {\n const line = lines[i];\n if (!line.trim()) {\n i += 1;\n continue;\n }\n\n // Fenced code block.\n const fence = FENCE_RE.exec(line);\n if (fence) {\n const closing = new RegExp(`^\\\\s{0,3}${fence[1]}\\\\s*$`);\n const buffer: string[] = [];\n i += 1;\n while (i < lines.length && !closing.test(lines[i])) {\n buffer.push(lines[i]);\n i += 1;\n }\n i += 1; // Skip the closing fence.\n const langAttr = fence[2] ? ` data-language=\"${escapeHtml(fence[2])}\"` : '';\n out.push(`<pre${langAttr}><code>${escapeHtml(buffer.join('\\n'))}</code></pre>`);\n continue;\n }\n\n // Heading (with optional trailing #'s, per CommonMark).\n const heading = HEADING_RE.exec(line);\n if (heading) {\n const level = heading[1].length;\n const text = heading[2].replace(/\\s+#+\\s*$/, '');\n out.push(`<h${level}>${inlineToHtml(text)}</h${level}>`);\n i += 1;\n continue;\n }\n\n // Horizontal rule (checked before lists: \"---\" vs \"- item\").\n if (HR_RE.test(line)) {\n out.push('<hr>');\n i += 1;\n continue;\n }\n\n // Blockquote: consecutive quoted lines, including lazy continuations.\n if (QUOTE_RE.test(line)) {\n const buffer: string[] = [];\n while (\n i < lines.length &&\n (QUOTE_RE.test(lines[i]) ||\n (buffer.length > 0 && lines[i].trim() !== '' && !isBlockStart(lines[i])))\n ) {\n buffer.push(lines[i].replace(QUOTE_RE, ''));\n i += 1;\n }\n out.push(`<blockquote>${parseBlocks(buffer)}</blockquote>`);\n continue;\n }\n\n // List: the region runs until a blank line not followed by more list\n // content, or a non-indented non-list line.\n if (BULLET_RE.test(line) || ORDERED_RE.test(line)) {\n const buffer: string[] = [];\n while (i < lines.length) {\n const current = lines[i];\n if (current.trim() === '') {\n const next = lines[i + 1];\n if (next !== undefined && (BULLET_RE.test(next) || ORDERED_RE.test(next) || /^\\s{2,}\\S/.test(next))) {\n i += 1;\n continue;\n }\n break;\n }\n if (\n !BULLET_RE.test(current) &&\n !ORDERED_RE.test(current) &&\n !/^\\s{2,}\\S/.test(current)\n ) {\n break;\n }\n buffer.push(current);\n i += 1;\n }\n out.push(parseListRegion(buffer));\n continue;\n }\n\n // GFM table: a pipe row followed by a divider row.\n if (\n line.includes('|') &&\n i + 1 < lines.length &&\n TABLE_DIVIDER_RE.test(lines[i + 1]) &&\n lines[i + 1].includes('|')\n ) {\n const buffer: string[] = [lines[i], lines[i + 1]];\n i += 2;\n while (i < lines.length && lines[i].includes('|') && lines[i].trim() !== '') {\n buffer.push(lines[i]);\n i += 1;\n }\n out.push(parseTableRegion(buffer));\n continue;\n }\n\n // Paragraph: collect until a blank line or the start of another block.\n const buffer: string[] = [line];\n i += 1;\n while (i < lines.length && lines[i].trim() !== '' && !isBlockStart(lines[i])) {\n buffer.push(lines[i]);\n i += 1;\n }\n out.push(`<p>${inlineToHtml(buffer.join('\\n'))}</p>`);\n }\n\n return out.join('');\n}\n\n/** Parses a Markdown string into schema-compatible HTML. */\nexport function markdownToHtml(markdown: string): string {\n return parseBlocks(markdown.replace(/\\r\\n?/g, '\\n').split('\\n'));\n}\n\n/**\n * Conservative sniff for \"this plain text is probably Markdown\": one block\n * construct or one unambiguous inline construct is required. HTML-looking\n * text is never treated as Markdown.\n */\nexport function looksLikeMarkdown(text: string): boolean {\n if (/<\\/?[a-z][^>]*>/i.test(text)) return false;\n const block =\n /^\\s{0,3}(#{1,6}\\s+\\S|```|(?:[-*+]|\\d+[.)])\\s+\\S|>\\s?\\S|\\|.+\\|)/m;\n const inline =\n /\\*\\*[^*\\n]+\\*\\*|~~[^~\\n]+~~|\\[[^\\]\\n]+\\]\\([^)\\n]+\\)|`[^`\\n]+`/;\n return block.test(text) || inline.test(text);\n}\n"],"names":["escapeHtml","text","replace","formatSpans","escaped","out","_","alt","src","label","href","inlineToHtml","source","codeRe","rest","ch","concat","charCodeAt","match","exec","slice","index","length","code","String","fromCharCode","Number","restoreEscapes","isBlockStart","line","HEADING_RE","test","FENCE_RE","HR_RE","QUOTE_RE","BULLET_RE","ORDERED_RE","parseListRegion","lines","firstMatch","_n$exec","baseIndent","ordered","startOrder","items","other","checked","task","TASK_RE","toLowerCase","push","t","RegExp","runs","_i2","_i","item","lastRun","rendered","map","run","body","content","parseBlocks","join","parseTableRegion","splitRow","trim","split","cell","header","rows","renderRow","cells","tag","row","i","fence","closing","buffer","langAttr","heading","level","current","next","undefined","includes","TABLE_DIVIDER_RE","markdownToHtml","markdown","looksLikeMarkdown","_export","l"],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
const n=/^(\s*)([-*+])\s+(.*)$/,t=/^(\s*)(\d+)[.)]\s+(.*)$/,s=/^\[([ xX])\]\s+(.*)$/,o=/^\s{0,3}(```+|~~~+)\s*(\S*)\s*$/,e=/^\s{0,3}(#{1,6})\s+(.*)$/,r=/^\s{0,3}(?:-{3,}|\*{3,}|_{3,})\s*$/,c=/^\s{0,3}>\s?/,u=/^\s*\|?\s*:?-+:?\s*(\|\s*:?-+:?\s*)*\|?\s*$/;function i(n){return n.replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">").replace(/"/g,""")}function $(n){let t=n;return t=t.replace(/!\[([^\]]*)\]\(([^()\s]+)(?:\s+[^)]*)?\)/g,((n,t,s)=>`<img src="${s}" alt="${t}">`)),t=t.replace(/\[([^\]]+)\]\(([^()\s]+)(?:\s+[^)]*)?\)/g,((n,t,s)=>`<a href="${s}">${t}</a>`)),t=t.replace(/\*\*([^*]+)\*\*/g,"<strong>$1</strong>"),t=t.replace(/__([^_]+)__/g,"<strong>$1</strong>"),t=t.replace(/(^|[^*\w])\*([^*\s](?:[^*]*[^*\s])?)\*/g,"$1<em>$2</em>"),t=t.replace(/(^|[^_\w])_([^_\s](?:[^_]*[^_\s])?)_(?![\w])/g,"$1<em>$2</em>"),t=t.replace(/~~([^~]+)~~/g,"<s>$1</s>"),t=t.replace(/ *\n/g,"<br>"),t}function f(n){const t=/(`+)([^`]|[^`][\s\S]*?[^`])\1(?!`)/;let s=n.replace(/\\([\\`*_[\]()#+\-.!~|])/g,((n,t)=>`\0${t.charCodeAt(0)}\0`)),o="";for(;;){const n=t.exec(s);if(!n){o+=$(i(s));break}o+=$(i(s.slice(0,n.index))),o+=`<code>${i(n[2])}</code>`,s=s.slice(n.index+n[0].length)}return function(n){return n.replace(/\u0000(\d+)\u0000/g,((n,t)=>String.fromCharCode(Number(t))))}(o)}function l(s){return e.test(s)||o.test(s)||r.test(s)||c.test(s)||n.test(s)||t.test(s)}function a(o){const e=n.exec(o[0])??t.exec(o[0]),r=e[1].length,c=t.test(o[0])&&!n.test(o[0]),u=c?Number(e[2]):1,i=[];let $=null;for(let e=0;e<o.length;e+=1){const u=o[e],f=c?t.exec(u):n.exec(u),l=c?n.exec(u):t.exec(u);if(f&&f[1].length<=r){let n=f[3],t=null;if(!c){const o=s.exec(n);o&&(t="x"===o[1].toLowerCase(),n=o[2])}i.push({lines:[n],checked:t})}else{if(l&&l[1].length<=r){$=o.slice(e);break}i.length>0&&i[i.length-1].lines.push(u.replace(new RegExp(`^\\s{0,${r+2}}`),""))}}const f=[];for(const n of i){const t=null!==n.checked,s=f[f.length-1];s&&s.task===t?s.items.push(n):f.push({task:t,items:[n]})}const l=f.map((n=>{const t=n.items.map((t=>{const s=d(t.lines);return n.task?`<li data-task-item="true" data-checked="${!0===t.checked}">${s}</li>`:`<li>${s}</li>`})).join("");if(n.task)return`<ul data-task-list="true">${t}</ul>`;if(c){return`<ol${1!==u?` start="${u}"`:""}>${t}</ol>`}return`<ul>${t}</ul>`})).join("");return $?l+a($):l}function g(n){const t=n=>n.trim().replace(/^\|/,"").replace(/\|$/,"").split(/(?<!\\)\|/).map((n=>n.trim().replace(/\\\|/g,"|"))),s=t(n[0]),o=n.slice(2).map(t),e=(n,t)=>`<tr>${s.map(((s,o)=>`<${t}><p>${f(n[o]??"")}</p></${t}>`)).join("")}</tr>`;return`<table>${e(s,"th")}${o.map((n=>e(n,"td"))).join("")}</table>`}function d(s){const $=[];let _=0;for(;_<s.length;){const m=s[_];if(!m.trim()){_+=1;continue}const b=o.exec(m);if(b){const n=new RegExp(`^\\s{0,3}${b[1]}\\s*$`),t=[];for(_+=1;_<s.length&&!n.test(s[_]);)t.push(s[_]),_+=1;_+=1;const o=b[2]?` data-language="${i(b[2])}"`:"";$.push(`<pre${o}><code>${i(t.join("\n"))}</code></pre>`);continue}const k=e.exec(m);if(k){const n=k[1].length,t=k[2].replace(/\s+#+\s*$/,"");$.push(`<h${n}>${f(t)}</h${n}>`),_+=1;continue}if(r.test(m)){$.push("<hr>"),_+=1;continue}if(c.test(m)){const n=[];for(;_<s.length&&(c.test(s[_])||n.length>0&&""!==s[_].trim()&&!l(s[_]));)n.push(s[_].replace(c,"")),_+=1;$.push(`<blockquote>${d(n)}</blockquote>`);continue}if(n.test(m)||t.test(m)){const o=[];for(;_<s.length;){const e=s[_];if(""===e.trim()){const o=s[_+1];if(void 0!==o&&(n.test(o)||t.test(o)||/^\s{2,}\S/.test(o))){_+=1;continue}break}if(!n.test(e)&&!t.test(e)&&!/^\s{2,}\S/.test(e))break;o.push(e),_+=1}$.push(a(o));continue}if(m.includes("|")&&_+1<s.length&&u.test(s[_+1])&&s[_+1].includes("|")){const n=[s[_],s[_+1]];for(_+=2;_<s.length&&s[_].includes("|")&&""!==s[_].trim();)n.push(s[_]),_+=1;$.push(g(n));continue}const p=[m];for(_+=1;_<s.length&&""!==s[_].trim()&&!l(s[_]);)p.push(s[_]),_+=1;$.push(`<p>${f(p.join("\n"))}</p>`)}return $.join("")}function _(n){return d(n.replace(/\r\n?/g,"\n").split("\n"))}function m(n){if(/<\/?[a-z][^>]*>/i.test(n))return!1;return/^\s{0,3}(#{1,6}\s+\S|```|(?:[-*+]|\d+[.)])\s+\S|>\s?\S|\|.+\|)/m.test(n)||/\*\*[^*\n]+\*\*|~~[^~\n]+~~|\[[^\]\n]+\]\([^)\n]+\)|`[^`\n]+`/.test(n)}export{m as l,_ as m};
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
System.register([],function(_export,_context){"use strict";function _toConsumableArray(r){return _arrayWithoutHoles(r)||_iterableToArray(r)||_unsupportedIterableToArray(r)||_nonIterableSpread();}function _nonIterableSpread(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");}function _unsupportedIterableToArray(r,a){if(r){if("string"==typeof r)return _arrayLikeToArray(r,a);var t={}.toString.call(r).slice(8,-1);return"Object"===t&&r.constructor&&(t=r.constructor.name),"Map"===t||"Set"===t?Array.from(r):"Arguments"===t||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t)?_arrayLikeToArray(r,a):void 0;}}function _iterableToArray(r){if("undefined"!=typeof Symbol&&null!=r[Symbol.iterator]||null!=r["@@iterator"])return Array.from(r);}function _arrayWithoutHoles(r){if(Array.isArray(r))return _arrayLikeToArray(r);}function _arrayLikeToArray(r,a){(null==a||a>r.length)&&(a=r.length);for(var e=0,n=Array(a);e<a;e++)n[e]=r[e];return n;}function n(n){var t="";return n.forEach(function(n){var _n$text,_n$attrs$alt;n.isText?t+=function(n,t){var r=function r(n){return t.some(function(t){return t.type.name===n;});};var e;if(r("code")){var _t=n.includes("`")?"``":"`";e="".concat(_t).concat(n).concat(_t);}else e=function(n){return n.replace(/([\\`*_[\]<>])/g,"\\$1");}(n);r("subscript")&&(e="<sub>".concat(e,"</sub>")),r("superscript")&&(e="<sup>".concat(e,"</sup>")),r("underline")&&(e="<u>".concat(e,"</u>")),r("strike")&&(e="~~".concat(e,"~~")),r("italic")&&(e="*".concat(e,"*")),r("bold")&&(e="**".concat(e,"**"));var u=t.find(function(n){return"link"===n.type.name;});return u&&(e="[".concat(e,"](").concat(u.attrs.href,")")),e;}((_n$text=n.text)!==null&&_n$text!==void 0?_n$text:"",n.marks):"hard_break"===n.type.name?t+=" \n":"image"===n.type.name?t+=".concat(n.attrs.src,")"):"mention"===n.type.name&&(t+="".concat(n.attrs.trigger).concat(n.attrs.label));}),t;}function t(n){var t=[];return n.forEach(function(n){return t.push(c(n));}),t.join("\n\n");}function r(n,t,r){var s=r+" ".repeat(t.length),o=[];n.forEach(function(n){var _n$attrs$order;var t=n.type.name;"bullet_list"===t?o.push(e(n,s,null)):"ordered_list"===t?o.push(e(n,s,(_n$attrs$order=n.attrs.order)!==null&&_n$attrs$order!==void 0?_n$attrs$order:1)):"task_list"===t?o.push(u(n,s)):o.push(c(n).split("\n").map(function(n){return s+n;}).join("\n"));});return r+t+o.join("\n").slice(s.length);}function e(n,t,e){var u=[];var s=e!==null&&e!==void 0?e:1;return n.forEach(function(n){u.push(r(n,null===e?"- ":"".concat(s,". "),t)),s+=1;}),u.join("\n");}function u(n,t){var e=[];return n.forEach(function(n){var u=n.attrs.checked?"[x] ":"[ ] ";e.push(r(n,"- ".concat(u),t));}),e.join("\n");}function s(t){var r=[];if(t.forEach(function(t){var e=[];t.forEach(function(t){var r=t.firstChild?n(t.firstChild):"";e.push(r.replace(/\n/g," ").replace(/\|/g,"\\|").trim());}),r.push(e);}),0===r.length)return"";var e=Math.max.apply(Math,_toConsumableArray(r.map(function(n){return n.length;}))),u=function u(n){return"| ".concat(function(n){var t=n.slice();for(;t.length<e;)t.push("");return t;}(n).join(" | ")," |");};return[u(r[0]),u(new Array(e).fill("---"))].concat(_toConsumableArray(r.slice(1).map(u))).join("\n");}function c(r){var _r$attrs$language,_r$attrs$order;switch(r.type.name){case"paragraph":return n(r);case"heading":return"".concat("#".repeat(r.attrs.level)," ").concat(n(r));case"blockquote":return t(r).split("\n").map(function(n){return n?"> ".concat(n):">";}).join("\n");case"code_block":return"```".concat((_r$attrs$language=r.attrs.language)!==null&&_r$attrs$language!==void 0?_r$attrs$language:"","\n").concat(r.textContent,"\n```");case"horizontal_rule":return"---";case"bullet_list":return e(r,"",null);case"ordered_list":return e(r,"",(_r$attrs$order=r.attrs.order)!==null&&_r$attrs$order!==void 0?_r$attrs$order:1);case"task_list":return u(r,"");case"table":return s(r);case"embed":return r.attrs.src;default:return r.isTextblock?n(r):t(r);}}function o(n){var r=t(n).replace(/\n{3,}/g,"\n\n").trim();return r?"".concat(r,"\n"):"";}_export("d",o);return{setters:[],execute:function execute(){}};});
|
|
2
|
+
//# sourceMappingURL=markdown.cjs.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"markdown.cjs.js","sources":["../../../../src/nile-wysiwyg-editor/engine/markdown.ts"],"sourcesContent":["/**\n * Document → Markdown projection. A best-effort, dependency-free serializer\n * covering the structural nodes and the marks Markdown can represent. Styling\n * marks with no Markdown equivalent (color, background, font family/size) are\n * dropped to plain text; underline/sub/sup fall back to inline HTML, which\n * GitHub-flavored Markdown renders. For loss-free round-trips use getHTML().\n */\nimport { Node as PMNode, Mark } from 'prosemirror-model';\n\n/** Escapes the inline characters that would otherwise be read as Markdown. */\nfunction escapeText(text: string): string {\n return text.replace(/([\\\\`*_[\\]<>])/g, '\\\\$1');\n}\n\n/** Wraps a text run in its marks, innermost (code) to outermost (link). */\nfunction serializeMarks(text: string, marks: readonly Mark[]): string {\n const has = (name: string): boolean => marks.some(m => m.type.name === name);\n let out: string;\n if (has('code')) {\n const ticks = text.includes('`') ? '``' : '`';\n out = `${ticks}${text}${ticks}`;\n } else {\n out = escapeText(text);\n }\n if (has('subscript')) out = `<sub>${out}</sub>`;\n if (has('superscript')) out = `<sup>${out}</sup>`;\n if (has('underline')) out = `<u>${out}</u>`;\n if (has('strike')) out = `~~${out}~~`;\n if (has('italic')) out = `*${out}*`;\n if (has('bold')) out = `**${out}**`;\n const link = marks.find(m => m.type.name === 'link');\n if (link) out = `[${out}](${link.attrs.href})`;\n return out;\n}\n\n/** Inline content of a textblock (text runs, breaks, images, mentions). */\nfunction serializeInline(node: PMNode): string {\n let result = '';\n node.forEach(child => {\n if (child.isText) {\n result += serializeMarks(child.text ?? '', child.marks);\n } else if (child.type.name === 'hard_break') {\n result += ' \\n';\n } else if (child.type.name === 'image') {\n result += ``;\n } else if (child.type.name === 'mention') {\n result += `${child.attrs.trigger}${child.attrs.label}`;\n }\n });\n return result;\n}\n\nfunction serializeChildren(node: PMNode): string {\n const parts: string[] = [];\n node.forEach(child => parts.push(serializeBlock(child)));\n return parts.join('\\n\\n');\n}\n\n/** One list item: first paragraph on the marker line, the rest indented. */\nfunction serializeListItem(item: PMNode, marker: string, indent: string): string {\n const contPad = indent + ' '.repeat(marker.length);\n const parts: string[] = [];\n item.forEach(child => {\n const name = child.type.name;\n if (name === 'bullet_list') {\n parts.push(serializeList(child, contPad, null));\n } else if (name === 'ordered_list') {\n parts.push(serializeList(child, contPad, child.attrs.order ?? 1));\n } else if (name === 'task_list') {\n parts.push(serializeTaskList(child, contPad));\n } else {\n parts.push(\n serializeBlock(child)\n .split('\\n')\n .map(line => contPad + line)\n .join('\\n')\n );\n }\n });\n // The first line was padded like a continuation; swap that pad for the\n // marker (same width, so nested content stays aligned).\n const body = parts.join('\\n');\n return indent + marker + body.slice(contPad.length);\n}\n\nfunction serializeList(list: PMNode, indent: string, startOrder: number | null): string {\n const lines: string[] = [];\n let order = startOrder ?? 1;\n list.forEach(item => {\n lines.push(serializeListItem(item, startOrder === null ? '- ' : `${order}. `, indent));\n order += 1;\n });\n return lines.join('\\n');\n}\n\nfunction serializeTaskList(list: PMNode, indent: string): string {\n const lines: string[] = [];\n list.forEach(item => {\n const box = item.attrs.checked ? '[x] ' : '[ ] ';\n lines.push(serializeListItem(item, `- ${box}`, indent));\n });\n return lines.join('\\n');\n}\n\n/** GitHub-flavored table. Cells use the first paragraph's inline text. */\nfunction serializeTable(table: PMNode): string {\n const rows: string[][] = [];\n table.forEach(row => {\n const cells: string[] = [];\n row.forEach(cell => {\n const text = cell.firstChild ? serializeInline(cell.firstChild) : '';\n cells.push(text.replace(/\\n/g, ' ').replace(/\\|/g, '\\\\|').trim());\n });\n rows.push(cells);\n });\n if (rows.length === 0) return '';\n const cols = Math.max(...rows.map(r => r.length));\n const pad = (r: string[]): string[] => {\n const copy = r.slice();\n while (copy.length < cols) copy.push('');\n return copy;\n };\n const fmt = (r: string[]): string => `| ${pad(r).join(' | ')} |`;\n return [\n fmt(rows[0]),\n fmt(new Array(cols).fill('---')),\n ...rows.slice(1).map(fmt),\n ].join('\\n');\n}\n\nfunction serializeBlock(node: PMNode): string {\n switch (node.type.name) {\n case 'paragraph':\n return serializeInline(node);\n case 'heading':\n return `${'#'.repeat(node.attrs.level as number)} ${serializeInline(node)}`;\n case 'blockquote':\n return serializeChildren(node)\n .split('\\n')\n .map(line => (line ? `> ${line}` : '>'))\n .join('\\n');\n case 'code_block':\n return `\\`\\`\\`${node.attrs.language ?? ''}\\n${node.textContent}\\n\\`\\`\\``;\n case 'horizontal_rule':\n return '---';\n case 'bullet_list':\n return serializeList(node, '', null);\n case 'ordered_list':\n return serializeList(node, '', (node.attrs.order as number) ?? 1);\n case 'task_list':\n return serializeTaskList(node, '');\n case 'table':\n return serializeTable(node);\n case 'embed':\n return node.attrs.src as string;\n default:\n return node.isTextblock ? serializeInline(node) : serializeChildren(node);\n }\n}\n\n/** Serializes a document node to a Markdown string. */\nexport function docToMarkdown(doc: PMNode): string {\n const body = serializeChildren(doc).replace(/\\n{3,}/g, '\\n\\n').trim();\n return body ? `${body}\\n` : '';\n}\n"],"names":["serializeInline","node","result","forEach","child","isText","text","marks","has","name","some","m","type","out","ticks","includes","replace","escapeText","concat","link","find","attrs","href","serializeMarks","_n$text","_n$attrs$alt","alt","src","trigger","label","serializeChildren","parts","push","serializeBlock","join","serializeListItem","item","marker","indent","contPad","repeat","length","serializeList","order","_n$attrs$order","serializeTaskList","split","map","line","slice","list","startOrder","lines","box","checked","serializeTable","table","rows","row","cells","cell","firstChild","trim","cols","Math","max","r","fmt","copy","pad","Array","fill","level","_r$attrs$language","language","textContent","_r$attrs$order","isTextblock","docToMarkdown","doc","body"],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
function n(n){let t="";return n.forEach((n=>{n.isText?t+=function(n,t){const r=n=>t.some((t=>t.type.name===n));let e;if(r("code")){const t=n.includes("`")?"``":"`";e=`${t}${n}${t}`}else e=function(n){return n.replace(/([\\`*_[\]<>])/g,"\\$1")}(n);r("subscript")&&(e=`<sub>${e}</sub>`),r("superscript")&&(e=`<sup>${e}</sup>`),r("underline")&&(e=`<u>${e}</u>`),r("strike")&&(e=`~~${e}~~`),r("italic")&&(e=`*${e}*`),r("bold")&&(e=`**${e}**`);const u=t.find((n=>"link"===n.type.name));return u&&(e=`[${e}](${u.attrs.href})`),e}(n.text??"",n.marks):"hard_break"===n.type.name?t+=" \n":"image"===n.type.name?t+=``:"mention"===n.type.name&&(t+=`${n.attrs.trigger}${n.attrs.label}`)})),t}function t(n){const t=[];return n.forEach((n=>t.push(c(n)))),t.join("\n\n")}function r(n,t,r){const s=r+" ".repeat(t.length),o=[];n.forEach((n=>{const t=n.type.name;"bullet_list"===t?o.push(e(n,s,null)):"ordered_list"===t?o.push(e(n,s,n.attrs.order??1)):"task_list"===t?o.push(u(n,s)):o.push(c(n).split("\n").map((n=>s+n)).join("\n"))}));return r+t+o.join("\n").slice(s.length)}function e(n,t,e){const u=[];let s=e??1;return n.forEach((n=>{u.push(r(n,null===e?"- ":`${s}. `,t)),s+=1})),u.join("\n")}function u(n,t){const e=[];return n.forEach((n=>{const u=n.attrs.checked?"[x] ":"[ ] ";e.push(r(n,`- ${u}`,t))})),e.join("\n")}function s(t){const r=[];if(t.forEach((t=>{const e=[];t.forEach((t=>{const r=t.firstChild?n(t.firstChild):"";e.push(r.replace(/\n/g," ").replace(/\|/g,"\\|").trim())})),r.push(e)})),0===r.length)return"";const e=Math.max(...r.map((n=>n.length))),u=n=>`| ${(n=>{const t=n.slice();for(;t.length<e;)t.push("");return t})(n).join(" | ")} |`;return[u(r[0]),u(new Array(e).fill("---")),...r.slice(1).map(u)].join("\n")}function c(r){switch(r.type.name){case"paragraph":return n(r);case"heading":return`${"#".repeat(r.attrs.level)} ${n(r)}`;case"blockquote":return t(r).split("\n").map((n=>n?`> ${n}`:">")).join("\n");case"code_block":return`\`\`\`${r.attrs.language??""}\n${r.textContent}\n\`\`\``;case"horizontal_rule":return"---";case"bullet_list":return e(r,"",null);case"ordered_list":return e(r,"",r.attrs.order??1);case"task_list":return u(r,"");case"table":return s(r);case"embed":return r.attrs.src;default:return r.isTextblock?n(r):t(r)}}function o(n){const r=t(n).replace(/\n{3,}/g,"\n\n").trim();return r?`${r}\n`:""}export{o as d};
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
System.register([],function(_export,_context){"use strict";function _toConsumableArray(r){return _arrayWithoutHoles(r)||_iterableToArray(r)||_unsupportedIterableToArray(r)||_nonIterableSpread();}function _nonIterableSpread(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");}function _unsupportedIterableToArray(r,a){if(r){if("string"==typeof r)return _arrayLikeToArray(r,a);var t={}.toString.call(r).slice(8,-1);return"Object"===t&&r.constructor&&(t=r.constructor.name),"Map"===t||"Set"===t?Array.from(r):"Arguments"===t||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t)?_arrayLikeToArray(r,a):void 0;}}function _iterableToArray(r){if("undefined"!=typeof Symbol&&null!=r[Symbol.iterator]||null!=r["@@iterator"])return Array.from(r);}function _arrayWithoutHoles(r){if(Array.isArray(r))return _arrayLikeToArray(r);}function _arrayLikeToArray(r,a){(null==a||a>r.length)&&(a=r.length);for(var e=0,n=Array(a);e<a;e++)n[e]=r[e];return n;}function o(o){return /class="?Mso|style=["'][^"']*mso-|urn:schemas-microsoft-com|<o:p>|<w:WordDocument/i.test(o)||/id="?docs-internal-guid/i.test(o);}function s(o){var _o$getAttribute;var s=(_o$getAttribute=o.getAttribute("style"))!==null&&_o$getAttribute!==void 0?_o$getAttribute:"",r=/mso-list:[^;"]*\blevel(\d+)/i.exec(s);return r?{level:Number(r[1])}:/\bMsoListParagraph/i.test(o.className)&&/mso-list/i.test(s)?{level:1}:null;}function r(o){var _o$textContent2;var s=!1;var r=o.querySelectorAll("span");for(var _i=0,_Array$from=Array.from(r);_i<_Array$from.length;_i++){var _o$getAttribute2,_o$textContent;var _o=_Array$from[_i];if(/mso-list:\s*ignore/i.test((_o$getAttribute2=_o.getAttribute("style"))!==null&&_o$getAttribute2!==void 0?_o$getAttribute2:""))return s=/^\s*(\d+|[a-z]{1,4}|[ivxlc]+)[.)]/i.test((_o$textContent=_o.textContent)!==null&&_o$textContent!==void 0?_o$textContent:""),_o.remove(),{ordered:s};}var t=(_o$textContent2=o.textContent)!==null&&_o$textContent2!==void 0?_o$textContent2:"";if(/^\s*(\d+|[a-z])[.)]\s+/i.exec(t)){var _r$textContent;s=!0;var _r=o.firstChild;(_r===null||_r===void 0?void 0:_r.nodeType)===Node.TEXT_NODE&&(_r.textContent=((_r$textContent=_r.textContent)!==null&&_r$textContent!==void 0?_r$textContent:"").replace(/^\s*\S+[.)]\s+/,""));}return{ordered:s};}function t(o){var t=o.replace(/<!--\[if[\s\S]*?<!\[endif\]-->/gi,"").replace(/<!\[if[\s\S]*?<!\[endif\]>/gi,"").replace(/<!--[\s\S]*?-->/g,"");var n=new DOMParser().parseFromString(t,"text/html").body;for(var _i2=0,_Array$from2=Array.from(n.querySelectorAll("*"));_i2<_Array$from2.length;_i2++){var _o2=_Array$from2[_i2];_o2.tagName.includes(":")&&_o2.replaceWith.apply(_o2,_toConsumableArray(Array.from(_o2.childNodes)));}for(var _i3=0,_Array$from3=Array.from(n.querySelectorAll('b[id^="docs-internal-guid"]'));_i3<_Array$from3.length;_i3++){var _o3=_Array$from3[_i3];_o3.replaceWith.apply(_o3,_toConsumableArray(Array.from(_o3.childNodes)));}!function(o){var t=o.ownerDocument,n=Array.from(o.querySelectorAll("p"));var e=[];var i=function i(){if(0===e.length)return;var o=e[0].paragraph,s=[],r=[];for(var _i4=0,_e=e;_i4<_e.length;_i4++){var _o4=_e[_i4];for(;r.length>0&&r[r.length-1].level>_o4.level;)r.pop();if(0===r.length||r[r.length-1].level<_o4.level){var _n=t.createElement(_o4.ordered?"ol":"ul");if(0===r.length)s.push(_n);else{var _ref,_o6;var _o5=r[r.length-1].list.children;((_ref=(_o6=_o5[_o5.length-1])!==null&&_o6!==void 0?_o6:null)!==null&&_ref!==void 0?_ref:r[r.length-1].list).appendChild(_n);}r.push({level:_o4.level,list:_n});}var _n2=t.createElement("li"),_e2=t.createElement("p");_e2.innerHTML=_o4.paragraph.innerHTML,_n2.appendChild(_e2),r[r.length-1].list.appendChild(_n2);}o.before.apply(o,s);for(var _i5=0,_e3=e;_i5<_e3.length;_i5++){var _o7=_e3[_i5];_o7.paragraph.remove();}e=[];};for(var _i6=0,_n3=n;_i6<_n3.length;_i6++){var _o8=_n3[_i6];var _t=s(_o8);if(_t){var _r2=r(_o8),_s=_r2.ordered;e.push({level:_t.level,ordered:_s,paragraph:_o8});}else i();}i();}(n),function(o){return /urn:schemas-microsoft-com:office:excel|ProgId["']?[^>]*Excel\.Sheet|<x:ExcelWorkbook/i.test(o);}(o)&&function(o){var s=o.ownerDocument;for(var _i7=0,_Array$from4=Array.from(o.querySelectorAll("td, th"));_i7<_Array$from4.length;_i7++){var _r3$getAttribute;var _r3=_Array$from4[_i7];var _o9=_r3.getAttribute("bgcolor");_o9&&!/background/i.test((_r3$getAttribute=_r3.getAttribute("style"))!==null&&_r3$getAttribute!==void 0?_r3$getAttribute:"")&&(_r3.style.backgroundColor=_o9);var _t2=_r3.getAttribute("align")||_r3.style.textAlign;if(!_r3.querySelector("p, div, ul, ol, table, h1, h2, h3, h4, h5, h6")&&_r3.childNodes.length>0){var _o10=s.createElement("p");for(_t2&&(_o10.style.textAlign=_t2);_r3.firstChild;)_o10.appendChild(_r3.firstChild);_r3.appendChild(_o10);}}}(n);for(var _i8=0,_Array$from5=Array.from(n.querySelectorAll("*"));_i8<_Array$from5.length;_i8++){var _o11=_Array$from5[_i8];/\bMso/i.test(_o11.className)&&_o11.removeAttribute("class");var _s2=_o11.getAttribute("style");if(_s2&&/mso-/i.test(_s2)){var _r4=_s2.split(";").filter(function(o){return o.trim()&&!/^\s*mso-/i.test(o);}).join(";");_r4.trim()?_o11.setAttribute("style",_r4):_o11.removeAttribute("style");}}for(var _i9=0,_Array$from6=Array.from(n.querySelectorAll("p"));_i9<_Array$from6.length;_i9++){var _o12$textContent;var _o12=_Array$from6[_i9];""!==((_o12$textContent=_o12.textContent)!==null&&_o12$textContent!==void 0?_o12$textContent:"").replace(/ /g,"").trim()||_o12.querySelector("img")||_o12.remove();}return n.innerHTML;}_export({c:t,i:o});return{setters:[],execute:function execute(){}};});
|
|
2
|
+
//# sourceMappingURL=office-paste.cjs.js.map
|