@aquera/nile-elements 2.0.16 → 2.0.18
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 +6 -0
- package/dist/{index-f6944844.cjs.js → index-0c0c869d.cjs.js} +2 -2
- package/dist/{index-f6944844.cjs.js.map → index-0c0c869d.cjs.js.map} +1 -1
- package/dist/{index-403841c7.cjs.js → index-129ef6fb.cjs.js} +3 -3
- package/dist/{index-403841c7.cjs.js.map → index-129ef6fb.cjs.js.map} +1 -1
- package/dist/{index-1faa963c.esm.js → index-36f2a6b5.esm.js} +1 -1
- package/dist/index-4df50481.esm.js +1 -0
- package/dist/index-5d34cff1.esm.js +1 -0
- package/dist/index-7ae95edd.cjs.js +2 -0
- package/dist/{index-3ca67627.cjs.js.map → index-7ae95edd.cjs.js.map} +1 -1
- package/dist/index-7ca72b78.esm.js +1 -0
- package/dist/index-bbe23ad8.cjs.js +2 -0
- package/dist/index-bbe23ad8.cjs.js.map +1 -0
- package/dist/index-ccc6a799.cjs.js +5 -0
- package/dist/index-ccc6a799.cjs.js.map +1 -0
- package/dist/index.cjs.js +1 -1
- package/dist/index.esm.js +1 -1
- package/dist/index.js +686 -464
- 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 +2 -2
- package/dist/nile-code-editor/index.cjs.js +1 -1
- package/dist/nile-code-editor/nile-code-editor.cjs.js +1 -1
- package/dist/nile-code-editor/theme.cjs.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/nile-combobox.cjs.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/nile-detail.cjs.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-minimap/index.cjs.js +2 -0
- package/dist/nile-minimap/index.cjs.js.map +1 -0
- package/dist/nile-minimap/index.esm.js +1 -0
- package/dist/nile-minimap/nile-minimap.cjs.js +2 -0
- package/dist/nile-minimap/nile-minimap.cjs.js.map +1 -0
- package/dist/nile-minimap/nile-minimap.css.cjs.js +2 -0
- package/dist/nile-minimap/nile-minimap.css.cjs.js.map +1 -0
- package/dist/nile-minimap/nile-minimap.css.esm.js +150 -0
- package/dist/nile-minimap/nile-minimap.esm.js +22 -0
- 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-segmented-progress-bar/index.cjs.js +1 -1
- package/dist/nile-segmented-progress-bar/nile-segmented-progress-bar.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/engine/commands.cjs.js +1 -1
- package/dist/nile-wysiwyg-editor/engine/commands.cjs.js.map +1 -1
- package/dist/nile-wysiwyg-editor/engine/commands.esm.js +1 -1
- package/dist/nile-wysiwyg-editor/engine/create-state.cjs.js +1 -1
- package/dist/nile-wysiwyg-editor/engine/create-state.cjs.js.map +1 -1
- package/dist/nile-wysiwyg-editor/engine/create-state.esm.js +1 -1
- package/dist/nile-wysiwyg-editor/engine/email-css.cjs.js +2 -0
- package/dist/nile-wysiwyg-editor/engine/email-css.cjs.js.map +1 -0
- package/dist/nile-wysiwyg-editor/engine/email-css.esm.js +1 -0
- package/dist/nile-wysiwyg-editor/engine/email-render.cjs.js +2 -0
- package/dist/nile-wysiwyg-editor/engine/email-render.cjs.js.map +1 -0
- package/dist/nile-wysiwyg-editor/engine/email-render.esm.js +1 -0
- package/dist/nile-wysiwyg-editor/engine/html-detect.cjs.js +2 -0
- package/dist/nile-wysiwyg-editor/engine/html-detect.cjs.js.map +1 -0
- package/dist/nile-wysiwyg-editor/engine/html-detect.esm.js +1 -0
- package/dist/nile-wysiwyg-editor/engine/index.cjs.js +1 -1
- package/dist/nile-wysiwyg-editor/engine/index.esm.js +1 -1
- package/dist/nile-wysiwyg-editor/engine/inputrules.cjs.js +1 -1
- package/dist/nile-wysiwyg-editor/engine/inputrules.cjs.js.map +1 -1
- package/dist/nile-wysiwyg-editor/engine/inputrules.esm.js +1 -1
- package/dist/nile-wysiwyg-editor/engine/keymap.cjs.js +1 -1
- package/dist/nile-wysiwyg-editor/engine/keymap.cjs.js.map +1 -1
- package/dist/nile-wysiwyg-editor/engine/keymap.esm.js +1 -1
- package/dist/nile-wysiwyg-editor/engine/plugins/code-highlight.cjs.js +1 -1
- package/dist/nile-wysiwyg-editor/engine/plugins/code-highlight.cjs.js.map +1 -1
- package/dist/nile-wysiwyg-editor/engine/plugins/code-highlight.esm.js +1 -1
- package/dist/nile-wysiwyg-editor/engine/plugins/embed-view.cjs.js +1 -1
- package/dist/nile-wysiwyg-editor/engine/plugins/embed-view.cjs.js.map +1 -1
- package/dist/nile-wysiwyg-editor/engine/plugins/embed-view.esm.js +1 -1
- package/dist/nile-wysiwyg-editor/engine/plugins/embeds.cjs.js +1 -1
- package/dist/nile-wysiwyg-editor/engine/plugins/embeds.cjs.js.map +1 -1
- package/dist/nile-wysiwyg-editor/engine/plugins/embeds.esm.js +1 -1
- package/dist/nile-wysiwyg-editor/engine/plugins/find-replace.cjs.js +1 -1
- package/dist/nile-wysiwyg-editor/engine/plugins/find-replace.cjs.js.map +1 -1
- package/dist/nile-wysiwyg-editor/engine/plugins/find-replace.esm.js +1 -1
- package/dist/nile-wysiwyg-editor/engine/plugins/format-painter.cjs.js +1 -1
- package/dist/nile-wysiwyg-editor/engine/plugins/format-painter.cjs.js.map +1 -1
- package/dist/nile-wysiwyg-editor/engine/plugins/format-painter.esm.js +1 -1
- package/dist/nile-wysiwyg-editor/engine/plugins/image-view.cjs.js +1 -1
- package/dist/nile-wysiwyg-editor/engine/plugins/image-view.cjs.js.map +1 -1
- package/dist/nile-wysiwyg-editor/engine/plugins/image-view.esm.js +1 -1
- package/dist/nile-wysiwyg-editor/engine/plugins/image.cjs.js +1 -1
- package/dist/nile-wysiwyg-editor/engine/plugins/image.cjs.js.map +1 -1
- package/dist/nile-wysiwyg-editor/engine/plugins/image.esm.js +1 -1
- package/dist/nile-wysiwyg-editor/engine/plugins/link.cjs.js +1 -1
- package/dist/nile-wysiwyg-editor/engine/plugins/link.cjs.js.map +1 -1
- package/dist/nile-wysiwyg-editor/engine/plugins/link.esm.js +1 -1
- package/dist/nile-wysiwyg-editor/engine/plugins/max-length.cjs.js +1 -1
- package/dist/nile-wysiwyg-editor/engine/plugins/max-length.cjs.js.map +1 -1
- package/dist/nile-wysiwyg-editor/engine/plugins/max-length.esm.js +1 -1
- package/dist/nile-wysiwyg-editor/engine/plugins/paste.cjs.js +1 -1
- package/dist/nile-wysiwyg-editor/engine/plugins/paste.cjs.js.map +1 -1
- package/dist/nile-wysiwyg-editor/engine/plugins/paste.esm.js +1 -1
- package/dist/nile-wysiwyg-editor/engine/plugins/placeholder.cjs.js +1 -1
- package/dist/nile-wysiwyg-editor/engine/plugins/placeholder.cjs.js.map +1 -1
- package/dist/nile-wysiwyg-editor/engine/plugins/placeholder.esm.js +1 -1
- package/dist/nile-wysiwyg-editor/engine/plugins/single-line.cjs.js +1 -1
- package/dist/nile-wysiwyg-editor/engine/plugins/single-line.cjs.js.map +1 -1
- package/dist/nile-wysiwyg-editor/engine/plugins/single-line.esm.js +1 -1
- package/dist/nile-wysiwyg-editor/engine/plugins/suggestions.cjs.js +1 -1
- package/dist/nile-wysiwyg-editor/engine/plugins/suggestions.cjs.js.map +1 -1
- package/dist/nile-wysiwyg-editor/engine/plugins/suggestions.esm.js +1 -1
- package/dist/nile-wysiwyg-editor/engine/plugins/tables.cjs.js +1 -1
- package/dist/nile-wysiwyg-editor/engine/plugins/tables.cjs.js.map +1 -1
- package/dist/nile-wysiwyg-editor/engine/plugins/tables.esm.js +1 -1
- package/dist/nile-wysiwyg-editor/engine/sanitize.cjs.js +2 -1
- package/dist/nile-wysiwyg-editor/engine/sanitize.cjs.js.map +1 -1
- package/dist/nile-wysiwyg-editor/engine/sanitize.esm.js +1 -1
- package/dist/nile-wysiwyg-editor/engine/schema.cjs.js +1 -1
- package/dist/nile-wysiwyg-editor/engine/schema.cjs.js.map +1 -1
- package/dist/nile-wysiwyg-editor/engine/schema.esm.js +1 -1
- package/dist/nile-wysiwyg-editor/engine/selection-state.cjs.js +1 -1
- package/dist/nile-wysiwyg-editor/engine/selection-state.cjs.js.map +1 -1
- package/dist/nile-wysiwyg-editor/engine/selection-state.esm.js +1 -1
- package/dist/nile-wysiwyg-editor/engine/serializer.cjs.js +1 -1
- package/dist/nile-wysiwyg-editor/engine/serializer.cjs.js.map +1 -1
- package/dist/nile-wysiwyg-editor/engine/serializer.esm.js +1 -1
- package/dist/nile-wysiwyg-editor/index.cjs.js +1 -1
- package/dist/nile-wysiwyg-editor/index.esm.js +1 -1
- package/dist/nile-wysiwyg-editor/nile-wysiwyg-editor.cjs.js +1 -1
- package/dist/nile-wysiwyg-editor/nile-wysiwyg-editor.cjs.js.map +1 -1
- package/dist/nile-wysiwyg-editor/nile-wysiwyg-editor.css.cjs.js +1 -1
- package/dist/nile-wysiwyg-editor/nile-wysiwyg-editor.css.cjs.js.map +1 -1
- package/dist/nile-wysiwyg-editor/nile-wysiwyg-editor.css.esm.js +45 -4
- package/dist/nile-wysiwyg-editor/nile-wysiwyg-editor.esm.js +2 -2
- package/dist/nile-wysiwyg-editor/nile-wysiwyg-toolbar/index.cjs.js +1 -1
- package/dist/nile-wysiwyg-editor/nile-wysiwyg-toolbar/nile-wysiwyg-toolbar.cjs.js +1 -1
- package/dist/nile-wysiwyg-editor/ui/bookmark-panel.cjs.js +1 -1
- package/dist/nile-wysiwyg-editor/ui/bookmark-panel.cjs.js.map +1 -1
- package/dist/nile-wysiwyg-editor/ui/bookmark-panel.esm.js +2 -2
- package/dist/nile-wysiwyg-editor/ui/bubble-menu.cjs.js +1 -1
- package/dist/nile-wysiwyg-editor/ui/bubble-menu.cjs.js.map +1 -1
- package/dist/nile-wysiwyg-editor/ui/bubble-menu.esm.js +5 -5
- package/dist/nile-wysiwyg-editor/ui/code-block-menu.cjs.js +1 -1
- package/dist/nile-wysiwyg-editor/ui/code-block-menu.cjs.js.map +1 -1
- package/dist/nile-wysiwyg-editor/ui/code-block-menu.esm.js +1 -1
- package/dist/nile-wysiwyg-editor/ui/embed-menu.cjs.js +1 -1
- package/dist/nile-wysiwyg-editor/ui/embed-menu.cjs.js.map +1 -1
- package/dist/nile-wysiwyg-editor/ui/embed-menu.esm.js +1 -1
- package/dist/nile-wysiwyg-editor/ui/embed-panel.cjs.js +1 -1
- package/dist/nile-wysiwyg-editor/ui/embed-panel.cjs.js.map +1 -1
- package/dist/nile-wysiwyg-editor/ui/embed-panel.esm.js +2 -2
- package/dist/nile-wysiwyg-editor/ui/emoji-picker.cjs.js +1 -1
- package/dist/nile-wysiwyg-editor/ui/emoji-picker.cjs.js.map +1 -1
- package/dist/nile-wysiwyg-editor/ui/emoji-picker.esm.js +1 -1
- package/dist/nile-wysiwyg-editor/ui/find-replace.cjs.js +1 -1
- package/dist/nile-wysiwyg-editor/ui/find-replace.cjs.js.map +1 -1
- package/dist/nile-wysiwyg-editor/ui/find-replace.esm.js +3 -3
- package/dist/nile-wysiwyg-editor/ui/image-menu.cjs.js +1 -1
- package/dist/nile-wysiwyg-editor/ui/image-menu.cjs.js.map +1 -1
- package/dist/nile-wysiwyg-editor/ui/image-menu.esm.js +3 -3
- package/dist/nile-wysiwyg-editor/ui/image-panel.cjs.js +1 -1
- package/dist/nile-wysiwyg-editor/ui/image-panel.cjs.js.map +1 -1
- package/dist/nile-wysiwyg-editor/ui/image-panel.esm.js +1 -1
- package/dist/nile-wysiwyg-editor/ui/insert-menu.cjs.js +1 -1
- package/dist/nile-wysiwyg-editor/ui/insert-menu.cjs.js.map +1 -1
- package/dist/nile-wysiwyg-editor/ui/insert-menu.esm.js +1 -1
- package/dist/nile-wysiwyg-editor/ui/link-editor.cjs.js +1 -1
- package/dist/nile-wysiwyg-editor/ui/link-editor.cjs.js.map +1 -1
- package/dist/nile-wysiwyg-editor/ui/link-editor.esm.js +9 -9
- package/dist/nile-wysiwyg-editor/ui/markdown-panel.cjs.js +1 -1
- package/dist/nile-wysiwyg-editor/ui/markdown-panel.cjs.js.map +1 -1
- package/dist/nile-wysiwyg-editor/ui/markdown-panel.esm.js +1 -1
- package/dist/nile-wysiwyg-editor/ui/math-panel.cjs.js +1 -1
- package/dist/nile-wysiwyg-editor/ui/math-panel.cjs.js.map +1 -1
- package/dist/nile-wysiwyg-editor/ui/math-panel.esm.js +1 -1
- package/dist/nile-wysiwyg-editor/ui/shortcut-help.cjs.js +1 -1
- package/dist/nile-wysiwyg-editor/ui/shortcut-help.cjs.js.map +1 -1
- package/dist/nile-wysiwyg-editor/ui/shortcut-help.esm.js +1 -1
- package/dist/nile-wysiwyg-editor/ui/source-view.cjs.js +1 -1
- package/dist/nile-wysiwyg-editor/ui/source-view.cjs.js.map +1 -1
- package/dist/nile-wysiwyg-editor/ui/source-view.esm.js +4 -4
- package/dist/nile-wysiwyg-editor/ui/special-chars.cjs.js +1 -1
- package/dist/nile-wysiwyg-editor/ui/special-chars.cjs.js.map +1 -1
- package/dist/nile-wysiwyg-editor/ui/special-chars.esm.js +1 -1
- package/dist/nile-wysiwyg-editor/ui/suggest-list.cjs.js +1 -1
- package/dist/nile-wysiwyg-editor/ui/suggest-list.cjs.js.map +1 -1
- package/dist/nile-wysiwyg-editor/ui/suggest-list.esm.js +23 -12
- package/dist/nile-wysiwyg-editor/ui/table-grid-picker.cjs.js +1 -1
- package/dist/nile-wysiwyg-editor/ui/table-grid-picker.cjs.js.map +1 -1
- package/dist/nile-wysiwyg-editor/ui/table-grid-picker.esm.js +7 -7
- package/dist/nile-wysiwyg-editor/ui/table-menu.cjs.js +1 -1
- package/dist/nile-wysiwyg-editor/ui/table-menu.cjs.js.map +1 -1
- package/dist/nile-wysiwyg-editor/ui/table-menu.esm.js +1 -1
- package/dist/src/index.d.ts +1 -0
- package/dist/src/index.js +1 -0
- package/dist/src/index.js.map +1 -1
- package/dist/src/nile-minimap/index.d.ts +1 -0
- package/dist/src/nile-minimap/index.js +2 -0
- package/dist/src/nile-minimap/index.js.map +1 -0
- package/dist/src/nile-minimap/nile-minimap.css.d.ts +12 -0
- package/dist/src/nile-minimap/nile-minimap.css.js +162 -0
- package/dist/src/nile-minimap/nile-minimap.css.js.map +1 -0
- package/dist/src/nile-minimap/nile-minimap.d.ts +131 -0
- package/dist/src/nile-minimap/nile-minimap.js +704 -0
- package/dist/src/nile-minimap/nile-minimap.js.map +1 -0
- package/dist/src/nile-minimap/nile-minimap.test.d.ts +1 -0
- package/dist/src/nile-minimap/nile-minimap.test.js +785 -0
- package/dist/src/nile-minimap/nile-minimap.test.js.map +1 -0
- package/dist/src/nile-wysiwyg-editor/engine/create-state.d.ts +5 -0
- package/dist/src/nile-wysiwyg-editor/engine/create-state.js +2 -0
- package/dist/src/nile-wysiwyg-editor/engine/create-state.js.map +1 -1
- package/dist/src/nile-wysiwyg-editor/engine/email-css.d.ts +14 -0
- package/dist/src/nile-wysiwyg-editor/engine/email-css.js +140 -0
- package/dist/src/nile-wysiwyg-editor/engine/email-css.js.map +1 -0
- package/dist/src/nile-wysiwyg-editor/engine/email-fidelity.test.d.ts +1 -0
- package/dist/src/nile-wysiwyg-editor/engine/email-fidelity.test.js +1045 -0
- package/dist/src/nile-wysiwyg-editor/engine/email-fidelity.test.js.map +1 -0
- package/dist/src/nile-wysiwyg-editor/engine/email-render.d.ts +11 -0
- package/dist/src/nile-wysiwyg-editor/engine/email-render.js +93 -0
- package/dist/src/nile-wysiwyg-editor/engine/email-render.js.map +1 -0
- package/dist/src/nile-wysiwyg-editor/engine/html-detect.d.ts +2 -0
- package/dist/src/nile-wysiwyg-editor/engine/html-detect.js +24 -0
- package/dist/src/nile-wysiwyg-editor/engine/html-detect.js.map +1 -0
- package/dist/src/nile-wysiwyg-editor/engine/index.d.ts +4 -1
- package/dist/src/nile-wysiwyg-editor/engine/index.js +3 -1
- package/dist/src/nile-wysiwyg-editor/engine/index.js.map +1 -1
- package/dist/src/nile-wysiwyg-editor/engine/inputrules.d.ts +0 -5
- package/dist/src/nile-wysiwyg-editor/engine/inputrules.js +19 -0
- package/dist/src/nile-wysiwyg-editor/engine/inputrules.js.map +1 -1
- package/dist/src/nile-wysiwyg-editor/engine/plugins/image-view.js +3 -2
- package/dist/src/nile-wysiwyg-editor/engine/plugins/image-view.js.map +1 -1
- package/dist/src/nile-wysiwyg-editor/engine/plugins/link.d.ts +4 -0
- package/dist/src/nile-wysiwyg-editor/engine/plugins/link.js +56 -1
- package/dist/src/nile-wysiwyg-editor/engine/plugins/link.js.map +1 -1
- package/dist/src/nile-wysiwyg-editor/engine/plugins/paste.d.ts +5 -0
- package/dist/src/nile-wysiwyg-editor/engine/plugins/paste.js +27 -6
- package/dist/src/nile-wysiwyg-editor/engine/plugins/paste.js.map +1 -1
- package/dist/src/nile-wysiwyg-editor/engine/plugins/tables.js +30 -7
- package/dist/src/nile-wysiwyg-editor/engine/plugins/tables.js.map +1 -1
- package/dist/src/nile-wysiwyg-editor/engine/pm.test.js +46 -0
- package/dist/src/nile-wysiwyg-editor/engine/pm.test.js.map +1 -1
- package/dist/src/nile-wysiwyg-editor/engine/sanitize.d.ts +9 -1
- package/dist/src/nile-wysiwyg-editor/engine/sanitize.js +730 -7
- package/dist/src/nile-wysiwyg-editor/engine/sanitize.js.map +1 -1
- package/dist/src/nile-wysiwyg-editor/engine/schema.d.ts +3 -0
- package/dist/src/nile-wysiwyg-editor/engine/schema.js +215 -34
- package/dist/src/nile-wysiwyg-editor/engine/schema.js.map +1 -1
- package/dist/src/nile-wysiwyg-editor/engine/selection-state.js +3 -1
- package/dist/src/nile-wysiwyg-editor/engine/selection-state.js.map +1 -1
- package/dist/src/nile-wysiwyg-editor/engine/serializer.d.ts +12 -4
- package/dist/src/nile-wysiwyg-editor/engine/serializer.js +18 -8
- package/dist/src/nile-wysiwyg-editor/engine/serializer.js.map +1 -1
- package/dist/src/nile-wysiwyg-editor/nile-wysiwyg-editor-email-fidelity.test.d.ts +1 -0
- package/dist/src/nile-wysiwyg-editor/nile-wysiwyg-editor-email-fidelity.test.js +287 -0
- package/dist/src/nile-wysiwyg-editor/nile-wysiwyg-editor-email-fidelity.test.js.map +1 -0
- package/dist/src/nile-wysiwyg-editor/nile-wysiwyg-editor.css.js +45 -4
- package/dist/src/nile-wysiwyg-editor/nile-wysiwyg-editor.css.js.map +1 -1
- package/dist/src/nile-wysiwyg-editor/nile-wysiwyg-editor.d.ts +23 -0
- package/dist/src/nile-wysiwyg-editor/nile-wysiwyg-editor.js +113 -15
- package/dist/src/nile-wysiwyg-editor/nile-wysiwyg-editor.js.map +1 -1
- package/dist/src/nile-wysiwyg-editor/nile-wysiwyg-editor.test.js +213 -0
- package/dist/src/nile-wysiwyg-editor/nile-wysiwyg-editor.test.js.map +1 -1
- package/dist/src/nile-wysiwyg-editor/ui/bookmark-panel.js +2 -2
- package/dist/src/nile-wysiwyg-editor/ui/bookmark-panel.js.map +1 -1
- package/dist/src/nile-wysiwyg-editor/ui/bubble-menu.js +1 -1
- package/dist/src/nile-wysiwyg-editor/ui/bubble-menu.js.map +1 -1
- package/dist/src/nile-wysiwyg-editor/ui/embed-menu.js +1 -1
- package/dist/src/nile-wysiwyg-editor/ui/embed-menu.js.map +1 -1
- package/dist/src/nile-wysiwyg-editor/ui/embed-panel.js +1 -1
- package/dist/src/nile-wysiwyg-editor/ui/embed-panel.js.map +1 -1
- package/dist/src/nile-wysiwyg-editor/ui/emoji-picker.js +1 -1
- package/dist/src/nile-wysiwyg-editor/ui/emoji-picker.js.map +1 -1
- package/dist/src/nile-wysiwyg-editor/ui/find-replace.js +1 -1
- package/dist/src/nile-wysiwyg-editor/ui/find-replace.js.map +1 -1
- package/dist/src/nile-wysiwyg-editor/ui/image-menu.js +1 -1
- package/dist/src/nile-wysiwyg-editor/ui/image-menu.js.map +1 -1
- package/dist/src/nile-wysiwyg-editor/ui/image-panel.js +1 -1
- package/dist/src/nile-wysiwyg-editor/ui/image-panel.js.map +1 -1
- package/dist/src/nile-wysiwyg-editor/ui/insert-menu.js +1 -1
- package/dist/src/nile-wysiwyg-editor/ui/insert-menu.js.map +1 -1
- package/dist/src/nile-wysiwyg-editor/ui/link-editor.js +2 -2
- package/dist/src/nile-wysiwyg-editor/ui/link-editor.js.map +1 -1
- package/dist/src/nile-wysiwyg-editor/ui/markdown-panel.js +1 -1
- package/dist/src/nile-wysiwyg-editor/ui/markdown-panel.js.map +1 -1
- package/dist/src/nile-wysiwyg-editor/ui/math-panel.js +1 -1
- package/dist/src/nile-wysiwyg-editor/ui/math-panel.js.map +1 -1
- package/dist/src/nile-wysiwyg-editor/ui/shortcut-help.js +1 -1
- package/dist/src/nile-wysiwyg-editor/ui/shortcut-help.js.map +1 -1
- package/dist/src/nile-wysiwyg-editor/ui/source-view.js +2 -2
- package/dist/src/nile-wysiwyg-editor/ui/source-view.js.map +1 -1
- package/dist/src/nile-wysiwyg-editor/ui/special-chars.js +1 -1
- package/dist/src/nile-wysiwyg-editor/ui/special-chars.js.map +1 -1
- package/dist/src/nile-wysiwyg-editor/ui/suggest-list.js +14 -3
- package/dist/src/nile-wysiwyg-editor/ui/suggest-list.js.map +1 -1
- package/dist/src/nile-wysiwyg-editor/ui/table-grid-picker.js +2 -2
- package/dist/src/nile-wysiwyg-editor/ui/table-grid-picker.js.map +1 -1
- package/dist/src/nile-wysiwyg-editor/ui/table-menu.js +1 -1
- package/dist/src/nile-wysiwyg-editor/ui/table-menu.js.map +1 -1
- package/dist/src/version.js +1 -1
- package/dist/src/version.js.map +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +2 -1
- package/src/index.ts +1 -0
- package/src/nile-minimap/index.ts +1 -0
- package/src/nile-minimap/nile-minimap.css.ts +164 -0
- package/src/nile-minimap/nile-minimap.test.ts +924 -0
- package/src/nile-minimap/nile-minimap.ts +796 -0
- package/src/nile-wysiwyg-editor/engine/create-state.ts +7 -0
- package/src/nile-wysiwyg-editor/engine/email-css.ts +136 -0
- package/src/nile-wysiwyg-editor/engine/email-fidelity.test.ts +1347 -0
- package/src/nile-wysiwyg-editor/engine/email-render.ts +99 -0
- package/src/nile-wysiwyg-editor/engine/html-detect.ts +26 -0
- package/src/nile-wysiwyg-editor/engine/index.ts +10 -1
- package/src/nile-wysiwyg-editor/engine/inputrules.ts +18 -1
- package/src/nile-wysiwyg-editor/engine/plugins/image-view.ts +3 -2
- package/src/nile-wysiwyg-editor/engine/plugins/link.ts +58 -2
- package/src/nile-wysiwyg-editor/engine/plugins/paste.ts +31 -8
- package/src/nile-wysiwyg-editor/engine/plugins/tables.ts +29 -7
- package/src/nile-wysiwyg-editor/engine/pm.test.ts +73 -0
- package/src/nile-wysiwyg-editor/engine/sanitize.ts +729 -7
- package/src/nile-wysiwyg-editor/engine/schema.ts +206 -33
- package/src/nile-wysiwyg-editor/engine/selection-state.ts +3 -1
- package/src/nile-wysiwyg-editor/engine/serializer.ts +30 -8
- package/src/nile-wysiwyg-editor/nile-wysiwyg-editor-email-fidelity.test.ts +357 -0
- package/src/nile-wysiwyg-editor/nile-wysiwyg-editor.css.ts +45 -4
- package/src/nile-wysiwyg-editor/nile-wysiwyg-editor.test.ts +258 -0
- package/src/nile-wysiwyg-editor/nile-wysiwyg-editor.ts +119 -12
- package/src/nile-wysiwyg-editor/ui/bookmark-panel.ts +2 -2
- package/src/nile-wysiwyg-editor/ui/bubble-menu.ts +1 -1
- package/src/nile-wysiwyg-editor/ui/embed-menu.ts +1 -1
- package/src/nile-wysiwyg-editor/ui/embed-panel.ts +1 -1
- package/src/nile-wysiwyg-editor/ui/emoji-picker.ts +1 -1
- package/src/nile-wysiwyg-editor/ui/find-replace.ts +1 -1
- package/src/nile-wysiwyg-editor/ui/image-menu.ts +1 -1
- package/src/nile-wysiwyg-editor/ui/image-panel.ts +1 -1
- package/src/nile-wysiwyg-editor/ui/insert-menu.ts +1 -1
- package/src/nile-wysiwyg-editor/ui/link-editor.ts +2 -2
- package/src/nile-wysiwyg-editor/ui/markdown-panel.ts +1 -1
- package/src/nile-wysiwyg-editor/ui/math-panel.ts +1 -1
- package/src/nile-wysiwyg-editor/ui/shortcut-help.ts +1 -1
- package/src/nile-wysiwyg-editor/ui/source-view.ts +2 -2
- package/src/nile-wysiwyg-editor/ui/special-chars.ts +1 -1
- package/src/nile-wysiwyg-editor/ui/suggest-list.ts +14 -3
- package/src/nile-wysiwyg-editor/ui/table-grid-picker.ts +2 -2
- package/src/nile-wysiwyg-editor/ui/table-menu.ts +1 -1
- package/vscode-html-custom-data.json +116 -25
- package/web-test-runner.config.mjs +4 -0
- package/dist/index-3ca67627.cjs.js +0 -2
- package/dist/index-6f3fa4ab.esm.js +0 -1
- package/dist/index-7b1c9857.esm.js +0 -1
- package/dist/index-89c520e9.cjs.js +0 -5
- package/dist/index-89c520e9.cjs.js.map +0 -1
- package/dist/index-ba47645d.esm.js +0 -1
- package/dist/index-c3210a9c.cjs.js +0 -2
- package/dist/index-c3210a9c.cjs.js.map +0 -1
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
System.register(["../../index-ccc6a799.cjs.js"],function(_export,_context){"use strict";var t,o,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 _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 _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 _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 _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 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 _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 n(t,o){return a(t,null,o);}function a(n,l,r){if(n.isLeaf)return n;var i=n.type.name;var s=n.attrs,c=null;"table"===i?s.layout||(c="data-table",s.width||(s=_objectSpread(_objectSpread({},s),{},{width:"100%"}))):"table_row"===i?c=l:"table_cell"!==i&&"table_header"!==i||"data-table"!==l?"data-cell"===l&&"margin"in s&&!s.margin&&(s=_objectSpread(_objectSpread({},s),{},{margin:"margin-top: 0px; margin-bottom: 0px"})):(s=function(t,n,a){var l=_objectSpread({},t);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];l[_t]||(l[_t]=_e);}l.valign||(l.valign="top");if(a.borderColor){var _t2="1px solid ".concat(a.borderColor);var _iterator=_createForOfIteratorHelper(e),_step;try{for(_iterator.s();!(_step=_iterator.n()).done;){var _o=_step.value;l[_o]||(l[_o]=_t2);}}catch(err){_iterator.e(err);}finally{_iterator.f();}}var r=l.colwidth;!l.width&&Array.isArray(r)&&r.length&&r.every(function(t){return t>0;})&&(l.width="".concat(r.reduce(function(t,o){return t+o;},0),"px"));if(n){var _l$textStyle;!l.background&&a.headerBackground&&(l.background=a.headerBackground),l.textAlign||(l.textAlign="left");var _t3=(_l$textStyle=l.textStyle)!==null&&_l$textStyle!==void 0?_l$textStyle:"";/font-weight/i.test(_t3)||(l.textStyle=_t3?"".concat(_t3,"; font-weight: 600"):"font-weight: 600");}return l;}(s,"table_header"===i,r),c="data-cell");var d=[];return n.forEach(function(t){return d.push(a(t,c,r));}),n.type.create(s,t.fromArray(d),n.marks);}function l(t){for(var _i2=0,_Array$from=Array.from(t.querySelectorAll("table"));_i2<_Array$from.length;_i2++){var _o2$getAttribute;var _o2=_Array$from[_i2];_o2.hasAttribute("cellpadding")||_o2.setAttribute("cellpadding","0"),_o2.hasAttribute("cellspacing")||_o2.setAttribute("cellspacing","0");var _t4=(_o2$getAttribute=_o2.getAttribute("style"))!==null&&_o2$getAttribute!==void 0?_o2$getAttribute:"",_e2=[];/(^|;)\s*border-collapse\s*:/i.test(_t4)||_e2.push("border-collapse: collapse");if("presentation"===_o2.getAttribute("role")||/(^|;)\s*table-layout\s*:/i.test(_t4)||_e2.push("table-layout: fixed"),_e2.length){var _n=_t4.trim().replace(/;\s*$/,"");_o2.setAttribute("style",_n?"".concat(_n,"; ").concat(_e2.join("; ")):_e2.join("; "));}}}_export({a:n,f:l});return{setters:[function(_index00bCjsJs){t=_index00bCjsJs.F;}],execute:function execute(){o={paddingTop:"6px",paddingRight:"8px",paddingBottom:"6px",paddingLeft:"8px"},e=["borderTop","borderRight","borderBottom","borderLeft"];}};});
|
|
2
|
+
//# sourceMappingURL=email-render.cjs.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"email-render.cjs.js","sources":["../../../../src/nile-wysiwyg-editor/engine/email-render.ts"],"sourcesContent":["import { Fragment, Node as PMNode } from 'prosemirror-model';\n\n/** email-fidelity: writes the editor's data-table rendering into the saved HTML; layout tables keep their authored output. */\n\n/** Theme-resolved colours the editor draws data tables with; null = not drawn. */\nexport interface EmailRenderDefaults {\n borderColor: string | null;\n headerBackground: string | null;\n}\n\n/** Kept in sync by hand with `.ProseMirror td, .ProseMirror th { padding: 6px 8px }`. */\nconst CELL_PADDING: Record<string, string> = {\n paddingTop: '6px',\n paddingRight: '8px',\n paddingBottom: '6px',\n paddingLeft: '8px',\n};\n\nconst CELL_BORDERS = ['borderTop', 'borderRight', 'borderBottom', 'borderLeft'];\n\n/** `.ProseMirror td > *` zeroes block margins inside cells. */\nconst CELL_CHILD_MARGIN = 'margin-top: 0px; margin-bottom: 0px';\n\ntype Context = 'data-table' | 'data-cell' | null;\n\n/** Returns a copy of `doc` with the editor's data-table rendering filled into node attrs. */\nexport function applyEmailRenderDefaults(doc: PMNode, defaults: EmailRenderDefaults): PMNode {\n return fill(doc, null, defaults);\n}\n\nfunction fill(node: PMNode, context: Context, defaults: EmailRenderDefaults): PMNode {\n if (node.isLeaf) return node;\n const name = node.type.name;\n let attrs = node.attrs;\n let childContext: Context = null;\n\n if (name === 'table') {\n if (!attrs.layout) {\n childContext = 'data-table';\n if (!attrs.width) attrs = { ...attrs, width: '100%' };\n }\n } else if (name === 'table_row') {\n childContext = context;\n } else if ((name === 'table_cell' || name === 'table_header') && context === 'data-table') {\n attrs = cellDefaults(attrs, name === 'table_header', defaults);\n childContext = 'data-cell';\n } else if (context === 'data-cell' && 'margin' in attrs && !attrs.margin) {\n attrs = { ...attrs, margin: CELL_CHILD_MARGIN };\n }\n\n const children: PMNode[] = [];\n node.forEach(child => children.push(fill(child, childContext, defaults)));\n return node.type.create(attrs, Fragment.fromArray(children), node.marks);\n}\n\nfunction cellDefaults(\n attrs: Record<string, any>,\n header: boolean,\n defaults: EmailRenderDefaults\n): Record<string, any> {\n const next = { ...attrs };\n for (const [key, value] of Object.entries(CELL_PADDING)) if (!next[key]) next[key] = value;\n if (!next.valign) next.valign = 'top';\n if (defaults.borderColor) {\n const border = `1px solid ${defaults.borderColor}`;\n for (const key of CELL_BORDERS) if (!next[key]) next[key] = border;\n }\n // A resized column keeps its width in data-colwidth, which mail clients ignore.\n const colwidth = next.colwidth as number[] | null;\n if (!next.width && Array.isArray(colwidth) && colwidth.length && colwidth.every(w => w > 0)) {\n next.width = `${colwidth.reduce((sum, w) => sum + w, 0)}px`;\n }\n if (header) {\n if (!next.background && defaults.headerBackground) next.background = defaults.headerBackground;\n if (!next.textAlign) next.textAlign = 'left';\n const textStyle = (next.textStyle as string | null) ?? '';\n if (!/font-weight/i.test(textStyle)) {\n next.textStyle = textStyle ? `${textStyle}; font-weight: 600` : 'font-weight: 600';\n }\n }\n return next;\n}\n\n/** Collapsed borders and no cell spacing on every table, fixed columns on data tables. */\nexport function finishEmailTables(container: HTMLElement): void {\n for (const table of Array.from(container.querySelectorAll('table'))) {\n if (!table.hasAttribute('cellpadding')) table.setAttribute('cellpadding', '0');\n if (!table.hasAttribute('cellspacing')) table.setAttribute('cellspacing', '0');\n const style = table.getAttribute('style') ?? '';\n const add: string[] = [];\n if (!/(^|;)\\s*border-collapse\\s*:/i.test(style)) add.push('border-collapse: collapse');\n const layout = table.getAttribute('role') === 'presentation';\n if (!layout && !/(^|;)\\s*table-layout\\s*:/i.test(style)) add.push('table-layout: fixed');\n if (add.length) {\n const base = style.trim().replace(/;\\s*$/, '');\n table.setAttribute('style', base ? `${base}; ${add.join('; ')}` : add.join('; '));\n }\n }\n}\n"],"names":["applyEmailRenderDefaults","doc","defaults","fill","node","context","isLeaf","name","type","attrs","childContext","layout","width","_objectSpread","margin","header","next","_i","_Object$entries","Object","entries","CELL_PADDING","_Object$entries$_i","_slicedToArray","key","value","valign","borderColor","border","_iterator","_createForOfIteratorHelper","CELL_BORDERS","s","_step","n","done","err","e","f","colwidth","Array","isArray","length","every","w","concat","reduce","sum","_l$textStyle","background","headerBackground","textAlign","textStyle","test","cellDefaults","children","forEach","child","push","create","Fragment","fromArray","marks","finishEmailTables","container","_i2","_Array$from","from","querySelectorAll","_o2$getAttribute","table","hasAttribute","setAttribute","style","getAttribute","add","base","trim","replace","join","paddingTop","paddingRight","paddingBottom","paddingLeft"],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{F as t}from"../../index-5d34cff1.esm.js";const o={paddingTop:"6px",paddingRight:"8px",paddingBottom:"6px",paddingLeft:"8px"},e=["borderTop","borderRight","borderBottom","borderLeft"];function n(t,o){return a(t,null,o)}function a(n,l,r){if(n.isLeaf)return n;const i=n.type.name;let s=n.attrs,c=null;"table"===i?s.layout||(c="data-table",s.width||(s={...s,width:"100%"})):"table_row"===i?c=l:"table_cell"!==i&&"table_header"!==i||"data-table"!==l?"data-cell"===l&&"margin"in s&&!s.margin&&(s={...s,margin:"margin-top: 0px; margin-bottom: 0px"}):(s=function(t,n,a){const l={...t};for(const[t,e]of Object.entries(o))l[t]||(l[t]=e);l.valign||(l.valign="top");if(a.borderColor){const t=`1px solid ${a.borderColor}`;for(const o of e)l[o]||(l[o]=t)}const r=l.colwidth;!l.width&&Array.isArray(r)&&r.length&&r.every((t=>t>0))&&(l.width=`${r.reduce(((t,o)=>t+o),0)}px`);if(n){!l.background&&a.headerBackground&&(l.background=a.headerBackground),l.textAlign||(l.textAlign="left");const t=l.textStyle??"";/font-weight/i.test(t)||(l.textStyle=t?`${t}; font-weight: 600`:"font-weight: 600")}return l}(s,"table_header"===i,r),c="data-cell");const d=[];return n.forEach((t=>d.push(a(t,c,r)))),n.type.create(s,t.fromArray(d),n.marks)}function l(t){for(const o of Array.from(t.querySelectorAll("table"))){o.hasAttribute("cellpadding")||o.setAttribute("cellpadding","0"),o.hasAttribute("cellspacing")||o.setAttribute("cellspacing","0");const t=o.getAttribute("style")??"",e=[];/(^|;)\s*border-collapse\s*:/i.test(t)||e.push("border-collapse: collapse");if("presentation"===o.getAttribute("role")||/(^|;)\s*table-layout\s*:/i.test(t)||e.push("table-layout: fixed"),e.length){const n=t.trim().replace(/;\s*$/,"");o.setAttribute("style",n?`${n}; ${e.join("; ")}`:e.join("; "))}}}export{n as a,l as f};
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
System.register([],function(_export,_context){"use strict";var t;function e(e){if(!e)return!1;var o=e.replace(/^\s+/,"");for(;o.startsWith("\x3c!--");){var _t=o.indexOf("--\x3e");if(-1===_t)break;o=o.slice(_t+3).replace(/^\s+/,"");}var s=o.toLowerCase();return!(!s.startsWith("<!doctype html")&&!s.startsWith("<html"))||t.test(e);}_export("l",e);return{setters:[],execute:function execute(){t=new RegExp("<(table|div|p|h1|h2|h3|h4|h5|h6|ul|ol|blockquote|section|body)(?:\\s[^>]*)?>[\\s\\S]*?</\\1\\s*>","i");}};});
|
|
2
|
+
//# sourceMappingURL=html-detect.cjs.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"html-detect.cjs.js","sources":["../../../../src/nile-wysiwyg-editor/engine/html-detect.ts"],"sourcesContent":["/** Conservative check: does a text/plain paste look like HTML rather than prose or Markdown? */\n\n/** Block-level tags whose balanced open+close pair marks real HTML structure. */\nconst BLOCK_TAGS = 'table|div|p|h1|h2|h3|h4|h5|h6|ul|ol|blockquote|section|body';\n\nconst BALANCED_BLOCK = new RegExp(\n `<(${BLOCK_TAGS})(?:\\\\s[^>]*)?>[\\\\s\\\\S]*?</\\\\1\\\\s*>`,\n 'i'\n);\n\nexport function looksLikeHtml(text: string): boolean {\n if (!text) return false;\n // Skip leading whitespace and HTML comments so a doctype/`<html>` preamble\n // behind a comment still counts.\n let head = text.replace(/^\\s+/, '');\n while (head.startsWith('<!--')) {\n const end = head.indexOf('-->');\n if (end === -1) break;\n head = head.slice(end + 3).replace(/^\\s+/, '');\n }\n const lower = head.toLowerCase();\n if (lower.startsWith('<!doctype html') || lower.startsWith('<html')) return true;\n // A balanced block-level element anywhere is enough; the backreference keeps\n // the open and close tag names matched.\n return BALANCED_BLOCK.test(text);\n}\n"],"names":["looksLikeHtml","text","head","replace","startsWith","end","indexOf","slice","lower","toLowerCase","BALANCED_BLOCK","test","RegExp"],"mappings":"iEAUM,QAAUA,CAAAA,CAAcC,CAAAA,CAAAA,CAAAA,CAC5B,GAAKA,CAAAA,CAAAA,CAAM,MAAO,CAAA,CAAA,CAGlB,GAAIC,CAAAA,CAAOD,CAAAA,CAAAA,CAAKE,OAAQ,CAAA,MAAA,CAAQ,EAChC,CAAA,CAAA,KAAOD,CAAKE,CAAAA,UAAAA,CAAW,SAAS,CAAA,EAAA,CAC9B,GAAMC,CAAAA,EAAAA,CAAMH,CAAKI,CAAAA,OAAAA,CAAQ,UACzB,GAAa,CAAA,CAAA,GAATD,EAAY,CAAA,MAChBH,CAAOA,CAAAA,CAAAA,CAAKK,KAAMF,CAAAA,EAAAA,CAAM,CAAGF,CAAAA,CAAAA,OAAAA,CAAQ,MAAQ,CAAA,EAAA,CAC5C,EACD,GAAMK,CAAAA,EAAQN,CAAKO,CAAAA,WAAAA,CAAAA,CAAAA,CACnB,MAAID,EAAAA,CAAAA,CAAAA,CAAMJ,UAAW,CAAA,gBAAA,CAAA,EAAA,CAAqBI,CAAMJ,CAAAA,UAAAA,CAAW,OAGpDM,CAAAA,CAAAA,EAAAA,CAAAA,CAAeC,IAAKV,CAAAA,CAAAA,CAC7B,8DApBMS,CAAAA,CAAiB,GAAIE,CAAAA,MAAAA,CACzB,kGACA,CAAA,GAAA,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
const t=new RegExp("<(table|div|p|h1|h2|h3|h4|h5|h6|ul|ol|blockquote|section|body)(?:\\s[^>]*)?>[\\s\\S]*?</\\1\\s*>","i");function e(e){if(!e)return!1;let o=e.replace(/^\s+/,"");for(;o.startsWith("\x3c!--");){const t=o.indexOf("--\x3e");if(-1===t)break;o=o.slice(t+3).replace(/^\s+/,"")}const s=o.toLowerCase();return!(!s.startsWith("<!doctype html")&&!s.startsWith("<html"))||t.test(e)}export{e as l};
|
|
@@ -1,2 +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/style-block-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-
|
|
1
|
+
System.register(["./schema.cjs.js","./sanitize.cjs.js","./email-css.cjs.js","./html-detect.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/style-block-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-ccc6a799.cjs.js","../../index-bbe23ad8.cjs.js","../../index-7ae95edd.cjs.js","../../index-178e1e57.cjs.js","./email-render.cjs.js","./keymap.cjs.js","../../index-129ef6fb.cjs.js","./inputrules.cjs.js","./plugins/suggestions.cjs.js","../../xml-09119317.cjs.js"],function(_export,_context){"use strict";return{setters:[function(_schemaCjsJs){},function(_sanitizeCjsJs){},function(_emailCssCjsJs){},function(_htmlDetectCjsJs){},function(_serializerCjsJs){},function(_commandsCjsJs){},function(_markdownCjsJs){},function(_markdownParseCjsJs){},function(_officePasteCjsJs){},function(_exportCjsJs){},function(_pluginsImageViewCjsJs){},function(_pluginsEmbedViewCjsJs){},function(_pluginsStyleBlockViewCjsJs){},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(_index00bCjsJs){},function(_index00aCjsJs){},function(_index009CjsJs){},function(_index007CjsJs){},function(_emailRenderCjsJs){},function(_keymapCjsJs){},function(_index00dCjsJs){},function(_inputrulesCjsJs){},function(_pluginsSuggestionsCjsJs){},function(_xml00cCjsJs){}],execute:function execute(){}};});
|
|
2
2
|
//# sourceMappingURL=index.cjs.js.map
|
|
@@ -1 +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/style-block-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-
|
|
1
|
+
import"./schema.esm.js";import"./sanitize.esm.js";import"./email-css.esm.js";import"./html-detect.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/style-block-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-5d34cff1.esm.js";import"../../index-7ca72b78.esm.js";import"../../index-4df50481.esm.js";import"../../index-920675c4.esm.js";import"./email-render.esm.js";import"./keymap.esm.js";import"../../index-36f2a6b5.esm.js";import"./inputrules.esm.js";import"./plugins/suggestions.esm.js";import"../../xml-9bf771b3.esm.js";
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
System.register(["../../index-
|
|
1
|
+
System.register(["../../index-129ef6fb.cjs.js","../../index-bbe23ad8.cjs.js","../../index-ccc6a799.cjs.js"],function(_export,_context){"use strict";var n,s,r,t,e;function o(n){return n.replace(/[.*+?^${}()|[\]\\]/g,"\\$&");}function u(n,s){return new t(n,function(n,r,t,e){if(function(n){var s=n.selection.$from;if(s.parent.type.spec.code)return!0;var r=n.schema.marks.code;return!(!r||!r.isInSet(n.storedMarks||s.marks()));}(n))return null;var o=s,u=t;if(r.length>1&&void 0!==r[1]){var _n=r[0].lastIndexOf(r[1]);o+=r[0].slice(_n+r[1].length),u+=_n;var _s=u-e;_s>0&&(o=r[0].slice(_n-_s,_n)+o,u=e);}return n.tr.insertText(o,u,e);});}function $(n,s){var r=o(n),e=o(n[0]),u=new RegExp("(?:^|\\s)".concat(r,"([^").concat(e,"\\s](?:[^").concat(e,"]*[^").concat(e,"\\s])?)").concat(r,"$"));return new t(u,function(r,t,e,o){var u=t[1],$=e+t[0].indexOf(n),i=r.tr;return i["delete"]($,o),i.insertText(u,$),i.addMark($,$+u.length,s.create()),i.removeStoredMark(s),i;});}function i(n){var s=n.marks.link;return new t(/(?:^|\s)((?:https?:\/\/|www\.)[^\s]*[^\s.,:;!?'")\]}])\s$/i,function(r,t,e,o){var u=t[1],$=e+t[0].indexOf(u),i=$+u.length;if(r.doc.rangeHasMark($,i,s))return null;if(r.doc.rangeHasMark($,i,n.marks.code))return null;var c=/^www\./i.test(u)?"https://".concat(u):u,f=r.tr;return f.addMark($,i,s.create({href:c})),f.removeStoredMark(s),f.insertText(" ",o),f;});}function c(n){return new t(/^(?:---|\*\*\*|___)$/,function(s,r,t){var o=s.doc.resolve(t),_n$nodes=n.nodes,u=_n$nodes.paragraph,$=_n$nodes.horizontal_rule;if(o.parent.type!==u||2!==o.parent.content.size)return null;var i=o.index(-1);if(!o.node(-1).canReplaceWith(i,i+1,$))return null;var c=o.before(),f=s.tr.replaceWith(c,o.after(),[$.create(),u.create()]);return f.setSelection(e.create(f.doc,c+2)).scrollIntoView();});}function f(t){var e=arguments.length>1&&arguments[1]!==undefined?arguments[1]:{};var o=!1===e.textTransform?[]:[u(/\(c\)$/i,"©"),u(/\(r\)$/i,"®"),u(/\(tm\)$/i,"™"),u(/(?:^|\s)(1\/2)\s$/,"½"),u(/(?:^|\s)(1\/4)\s$/,"¼"),u(/(?:^|\s)(3\/4)\s$/,"¾"),u(/\s(---)\s$/,"—"),u(/\s(--)\s$/,"–"),u(/\.\.\.$/,"…"),u(/(?:^|[\s{[(<'"‘“])(")$/,"“"),u(/"$/,"”"),u(/(?:^|[\s{[(<'"‘“])(')$/,"‘"),u(/'$/,"’")];return n({rules:[].concat(o,[s(new RegExp("^(#{1,6})\\s$"),t.nodes.heading,function(n){return{level:n[1].length};}),r(/^\s*>\s$/,t.nodes.blockquote),r(/^\s*([-*])\s$/,t.nodes.bullet_list),r(/^(\d+)\.\s$/,t.nodes.ordered_list,function(n){return{order:+n[1]};},function(n,s){return s.childCount+s.attrs.order===+n[1];}),s(/^```$/,t.nodes.code_block),c(t),r(/^\s*\[[ ]?\]\s$/,t.nodes.task_list),$("**",t.marks.bold),$("*",t.marks.italic),$("~~",t.marks.strike),$("~",t.marks.subscript),$("^",t.marks.superscript),$("`",t.marks.code),i(t)])});}_export("b",f);return{setters:[function(_index00dCjsJs){n=_index00dCjsJs.i;s=_index00dCjsJs.t;r=_index00dCjsJs.w;t=_index00dCjsJs.I;},function(_index00aCjsJs){e=_index00aCjsJs.T;},function(_index00bCjsJs){}],execute:function execute(){}};});
|
|
2
2
|
//# sourceMappingURL=inputrules.cjs.js.map
|
|
@@ -1 +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":"kIASA,QAASA,CAAAA,CAAAA,CAAYC,GACnB,MAAOA,CAAAA,CAAAA,CAAKC,QAAQ,qBAAuB,CAAA,MAAA,CAC7C,EAeA,QAASC,CAAAA,CAAAA,CAAYC,EAAgBC,CACnC,CAAA,CAAA,MAAO,IAAIC,CAAAA,CAAAA,CAAUF,CAAQ,CAAA,SAACG,EAAOC,CAAOC,CAAAA,CAAAA,CAAOC,GACjD,GAdJ,SAAyBH,GACvB,GAAQI,CAAAA,CAAUJ,CAAAA,CAAAA,CAAMK,SACxB,CADMD,KAAAA,CACN,GAAIA,EAAME,MAAOC,CAAAA,IAAAA,CAAKC,KAAKC,IAAM,CAAA,MAAA,CAAO,EACxC,GAAMA,CAAAA,CAAAA,CAAOT,CAAMU,CAAAA,MAAAA,CAAOC,KAAMF,CAAAA,IAAAA,CAChC,SAAUA,CAAQA,EAAAA,CAAAA,CAAAA,CAAKG,QAAQZ,CAAMa,CAAAA,WAAAA,EAAeT,EAAMO,KAC5D,CAAA,CAAA,CAAA,CAAA,EASQG,CAAgBd,CAAAA,CAAAA,CAAQ,MAAO,KAAA,CACnC,GAAIe,CAAAA,CAASjB,CAAAA,CAAAA,CACTkB,EAAOd,CACX,CAAA,GAAID,EAAMgB,MAAS,CAAA,CAAA,EAAA,IAAkBC,EAAbjB,GAAAA,CAAAA,CAAM,CAAkB,CAAA,CAAA,CAC9C,GAAMkB,CAAAA,EAASlB,CAAAA,CAAAA,CAAM,GAAGmB,WAAYnB,CAAAA,CAAAA,CAAM,IAC1Cc,CAAUd,EAAAA,CAAAA,CAAM,CAAGoB,CAAAA,CAAAA,KAAAA,CAAMF,EAASlB,CAAAA,CAAAA,CAAM,GAAGgB,MAC3CD,CAAAA,CAAAA,CAAAA,EAAQG,GACR,GAAMG,CAAAA,EAAAA,CAASN,EAAOb,CAClBmB,CAAAA,EAAAA,CAAS,CACXP,GAAAA,CAAAA,CAASd,CAAM,CAAA,CAAA,CAAA,CAAGoB,MAAMF,EAASG,CAAAA,EAAAA,CAAQH,IAAUJ,CACnDC,CAAAA,CAAAA,CAAOb,EAEV,EACD,MAAOH,CAAAA,EAAMuB,EAAGC,CAAAA,UAAAA,CAAWT,EAAQC,CAAMb,CAAAA,CAAAA,CAAI,GAEjD,EAwCA,QAASsB,CAAAA,EAAcC,CAAeC,CAAAA,CAAAA,CAAAA,CACpC,GAAMC,CAAAA,CAAAA,CAAUnC,CAAYiC,CAAAA,CAAAA,CAAAA,CACtBG,EAAQpC,CAAYiC,CAAAA,CAAAA,CAAM,IAC1B7B,CAAS,CAAA,GAAIiC,CAAAA,0BACLF,CAAAA,QAAAA,MAAAA,CAAaC,CAAiBA,cAAAA,MAAAA,CAAAA,CAAAA,SAAAA,MAAAA,CAAYA,CAAeD,YAAAA,MAAAA,CAAAA,CAAAA,KAAAA,CAAAA,CAEvE,MAAO,IAAI7B,CAAAA,CAAAA,CAAUF,EAAQ,SAACG,CAAAA,CAAOC,EAAOC,CAAOC,CAAAA,CAAAA,CAAAA,CACjD,GAAM4B,CAAAA,CAAAA,CAAU9B,CAAM,CAAA,CAAA,CAAA,CAChB+B,EAAa9B,CAAQD,CAAAA,CAAAA,CAAM,GAAGgC,OAAQP,CAAAA,CAAAA,CAAAA,CACtCH,EAAKvB,CAAMuB,CAAAA,EAAAA,CAKjB,MAJAA,CAAAA,CAAAA,UAAUS,CAAAA,CAAAA,CAAY7B,GACtBoB,CAAGC,CAAAA,UAAAA,CAAWO,EAASC,CACvBT,CAAAA,CAAAA,CAAAA,CAAGW,QAAQF,CAAYA,CAAAA,CAAAA,CAAaD,CAAQd,CAAAA,MAAAA,CAAQU,CAASQ,CAAAA,MAAAA,CAAAA,CAAAA,CAAAA,CAC7DZ,EAAGa,gBAAiBT,CAAAA,CAAAA,CAAAA,CACbJ,CAAE,EAEb,CAAA,EAQA,QAASc,CAAAA,CAAY3B,CAAAA,CAAAA,CAAAA,CACnB,GAAM4B,CAAAA,CAAAA,CAAW5B,CAAOC,CAAAA,KAAAA,CAAM4B,KAE9B,MAAO,IAAIxC,CAAAA,EADI,4DACc,CAAA,SAACC,EAAOC,CAAOC,CAAAA,CAAAA,CAAOC,CACjD,CAAA,CAAA,GAAMqC,CAAAA,CAAMvC,CAAAA,CAAAA,CAAM,GACZwC,CAAWvC,CAAAA,CAAAA,CAAQD,EAAM,CAAGgC,CAAAA,CAAAA,OAAAA,CAAQO,GACpCE,CAASD,CAAAA,CAAAA,CAAWD,EAAIvB,MAC9B,CAAA,GAAIjB,EAAM2C,GAAIC,CAAAA,YAAAA,CAAaH,EAAUC,CAAQJ,CAAAA,CAAAA,CAAAA,CAAW,MAAO,KAC/D,CAAA,GAAItC,CAAM2C,CAAAA,GAAAA,CAAIC,YAAaH,CAAAA,CAAAA,CAAUC,EAAQhC,CAAOC,CAAAA,KAAAA,CAAMF,MAAO,MAAO,KAAA,CACxE,GAAMoC,CAAAA,CAAO,CAAA,SAAA,CAAUC,IAAKN,CAAAA,CAAAA,CAAAA,YAAAA,MAAAA,CAAkBA,CAAAA,EAAQA,EAChDjB,CAAKvB,CAAAA,CAAAA,CAAMuB,GAIjB,MAHAA,CAAAA,CAAAA,CAAGW,QAAQO,CAAUC,CAAAA,CAAAA,CAAQJ,CAASH,CAAAA,MAAAA,CAAO,CAAEU,IAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAC/CtB,EAAGa,gBAAiBE,CAAAA,CAAAA,CAAAA,CACpBf,EAAGC,UAAW,CAAA,GAAA,CAAKrB,GACZoB,CAAE,EAAA,CAEb,UAOgBwB,CAAAA,CAAgBrC,CAAAA,CAAAA,KAAgBsC,CAAAA,4DAA6B,GAC3E,GAAMC,CAAAA,CAAuC,CAAA,CAAA,CAAA,GAA1BD,EAAQE,aAA0B,CAAA,EAAA,CAjF9C,CAELtD,CAAAA,CAAY,SAAW,CAAA,GAAA,CAAA,CACvBA,EAAY,SAAW,CAAA,GAAA,CAAA,CACvBA,EAAY,UAAY,CAAA,GAAA,CAAA,CAExBA,EAAY,mBAAqB,CAAA,GAAA,CAAA,CACjCA,CAAY,CAAA,mBAAA,CAAqB,GACjCA,CAAAA,CAAAA,CAAAA,CAAY,oBAAqB,GAGjCA,CAAAA,CAAAA,CAAAA,CAAY,aAAc,GAC1BA,CAAAA,CAAAA,CAAAA,CAAY,YAAa,GAEzBA,CAAAA,CAAAA,CAAAA,CAAY,SAAW,CAAA,GAAA,CAAA,CAEvBA,CAAY,CAAA,wBAAA,CAA0B,KACtCA,CAAY,CAAA,IAAA,CAAM,KAClBA,CAAY,CAAA,wBAAA,CAA0B,KACtCA,CAAY,CAAA,IAAA,CAAM,MA+DpB,MAAOuD,CAAAA,CAAAA,CAAW,CAChBC,KAAO,IAAAC,MAAA,CACFJ,GAEHK,CACE,CAAA,GAAIxB,CAAAA,OAAO,eACXpB,CAAAA,CAAAA,CAAAA,CAAO6C,KAAMC,CAAAA,OAAAA,CACbvD,SAAAA,CAAU,QAAA,CAAEwD,MAAOxD,CAAM,CAAA,CAAA,CAAA,CAAGgB,WAG9ByC,CAAkB,CAAA,UAAA,CAAYhD,EAAO6C,KAAMI,CAAAA,UAAAA,CAAAA,CAE3CD,CAAkB,CAAA,eAAA,CAAiBhD,CAAO6C,CAAAA,KAAAA,CAAMK,aAEhDF,CACE,CAAA,aAAA,CACAhD,EAAO6C,KAAMM,CAAAA,YAAAA,CACb5D,SAAAA,SAAK,CAAO6D,KAAAA,CAAAA,CAAQ7D,CAAM,CAAA,CAAA,CAAA,CAAA,EAAA,CAC1B,SAACA,CAAAA,CAAO8D,SAASA,CAAAA,CAAKC,CAAAA,UAAAA,CAAaD,EAAKE,KAAMH,CAAAA,KAAAA,GAAAA,CAAW7D,EAAM,CAGjEqD,CAAAA,EAAAA,CAAAA,CAAAA,CAAAA,CAAuB,OAAS5C,CAAAA,CAAAA,CAAO6C,KAAMW,CAAAA,UAAAA,CAAAA,CAE7CR,EAAkB,iBAAmBhD,CAAAA,CAAAA,CAAO6C,MAAMY,SAGlD1C,CAAAA,CAAAA,CAAAA,CAAc,KAAMf,CAAOC,CAAAA,KAAAA,CAAMyD,IACjC3C,CAAAA,CAAAA,CAAAA,CAAc,GAAKf,CAAAA,CAAAA,CAAOC,MAAM0D,MAChC5C,CAAAA,CAAAA,CAAAA,CAAc,KAAMf,CAAOC,CAAAA,KAAAA,CAAM2D,QACjC7C,CAAc,CAAA,GAAA,CAAKf,CAAOC,CAAAA,KAAAA,CAAM4D,SAChC9C,CAAAA,CAAAA,CAAAA,CAAc,IAAKf,CAAOC,CAAAA,KAAAA,CAAM6D,aAChC/C,CAAc,CAAA,GAAA,CAAKf,EAAOC,KAAMF,CAAAA,IAAAA,CAAAA,CAEhC4B,CAAY3B,CAAAA,CAAAA,CAAAA,EAAAA,CAAAA,CAGlB"}
|
|
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, TextSelection } 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 */\n/** \"---\", \"***\" or \"___\" alone in a top-level paragraph → horizontal rule. */\nfunction horizontalRuleRule(schema: Schema): InputRule {\n return new InputRule(/^(?:---|\\*\\*\\*|___)$/, (state, _match, start) => {\n const $start = state.doc.resolve(start);\n const { paragraph, horizontal_rule: hr } = schema.nodes;\n // The rule's two earlier characters must be the whole paragraph.\n if ($start.parent.type !== paragraph || $start.parent.content.size !== 2) return null;\n const index = $start.index(-1);\n if (!$start.node(-1).canReplaceWith(index, index + 1, hr)) return null;\n const before = $start.before();\n const tr = state.tr.replaceWith(before, $start.after(), [hr.create(), paragraph.create()]);\n return tr.setSelection(TextSelection.create(tr.doc, before + 2)).scrollIntoView();\n });\n}\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 // \"---\" / \"***\" / \"___\" → horizontal rule\n horizontalRuleRule(schema),\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","concat","content","delimStart","indexOf","addMark","create","removeStoredMark","linkifyRule","linkType","link","url","urlStart","urlEnd","doc","rangeHasMark","href","test","horizontalRuleRule","_match","$start","resolve","paragraph","nodes","horizontal_rule","hr","size","index","node","canReplaceWith","before","replaceWith","after","setSelection","TextSelection","scrollIntoView","buildInputRules","options","arguments","transforms","textTransform","inputRules","rules","textblockTypeInputRule","heading","level","wrappingInputRule","blockquote","bullet_list","ordered_list","order","childCount","attrs","code_block","task_list","bold","italic","strike","subscript","superscript"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{i as
|
|
1
|
+
import{i as n,t as s,w as r,I as t}from"../../index-36f2a6b5.esm.js";import{T as e}from"../../index-7ca72b78.esm.js";import"../../index-5d34cff1.esm.js";function o(n){return n.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}function u(n,s){return new t(n,((n,r,t,e)=>{if(function(n){const{$from:s}=n.selection;if(s.parent.type.spec.code)return!0;const r=n.schema.marks.code;return!(!r||!r.isInSet(n.storedMarks||s.marks()))}(n))return null;let o=s,u=t;if(r.length>1&&void 0!==r[1]){const n=r[0].lastIndexOf(r[1]);o+=r[0].slice(n+r[1].length),u+=n;const s=u-e;s>0&&(o=r[0].slice(n-s,n)+o,u=e)}return n.tr.insertText(o,u,e)}))}function $(n,s){const r=o(n),e=o(n[0]),u=new RegExp(`(?:^|\\s)${r}([^${e}\\s](?:[^${e}]*[^${e}\\s])?)${r}$`);return new t(u,((r,t,e,o)=>{const u=t[1],$=e+t[0].indexOf(n),i=r.tr;return i.delete($,o),i.insertText(u,$),i.addMark($,$+u.length,s.create()),i.removeStoredMark(s),i}))}function i(n){const s=n.marks.link;return new t(/(?:^|\s)((?:https?:\/\/|www\.)[^\s]*[^\s.,:;!?'")\]}])\s$/i,((r,t,e,o)=>{const u=t[1],$=e+t[0].indexOf(u),i=$+u.length;if(r.doc.rangeHasMark($,i,s))return null;if(r.doc.rangeHasMark($,i,n.marks.code))return null;const c=/^www\./i.test(u)?`https://${u}`:u,f=r.tr;return f.addMark($,i,s.create({href:c})),f.removeStoredMark(s),f.insertText(" ",o),f}))}function c(n){return new t(/^(?:---|\*\*\*|___)$/,((s,r,t)=>{const o=s.doc.resolve(t),{paragraph:u,horizontal_rule:$}=n.nodes;if(o.parent.type!==u||2!==o.parent.content.size)return null;const i=o.index(-1);if(!o.node(-1).canReplaceWith(i,i+1,$))return null;const c=o.before(),f=s.tr.replaceWith(c,o.after(),[$.create(),u.create()]);return f.setSelection(e.create(f.doc,c+2)).scrollIntoView()}))}function f(t,e={}){const o=!1===e.textTransform?[]:[u(/\(c\)$/i,"©"),u(/\(r\)$/i,"®"),u(/\(tm\)$/i,"™"),u(/(?:^|\s)(1\/2)\s$/,"½"),u(/(?:^|\s)(1\/4)\s$/,"¼"),u(/(?:^|\s)(3\/4)\s$/,"¾"),u(/\s(---)\s$/,"—"),u(/\s(--)\s$/,"–"),u(/\.\.\.$/,"…"),u(/(?:^|[\s{[(<'"‘“])(")$/,"“"),u(/"$/,"”"),u(/(?:^|[\s{[(<'"‘“])(')$/,"‘"),u(/'$/,"’")];return n({rules:[...o,s(new RegExp("^(#{1,6})\\s$"),t.nodes.heading,(n=>({level:n[1].length}))),r(/^\s*>\s$/,t.nodes.blockquote),r(/^\s*([-*])\s$/,t.nodes.bullet_list),r(/^(\d+)\.\s$/,t.nodes.ordered_list,(n=>({order:+n[1]})),((n,s)=>s.childCount+s.attrs.order===+n[1])),s(/^```$/,t.nodes.code_block),c(t),r(/^\s*\[[ ]?\]\s$/,t.nodes.task_list),$("**",t.marks.bold),$("*",t.marks.italic),$("~~",t.marks.strike),$("~",t.marks.subscript),$("^",t.marks.superscript),$("`",t.marks.code),i(t)]})}export{f as b};
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
System.register(["
|
|
1
|
+
System.register(["./schema.cjs.js","./commands.cjs.js","../../index-129ef6fb.cjs.js","./plugins/paste.cjs.js","../../index-ccc6a799.cjs.js","../../index-bbe23ad8.cjs.js","../../index-7ae95edd.cjs.js","../../index-178e1e57.cjs.js","./plugins/embeds.cjs.js","./email-css.cjs.js","./sanitize.cjs.js","./markdown-parse.cjs.js","./html-detect.cjs.js","./serializer.cjs.js","./email-render.cjs.js"],function(_export,_context){"use strict";var s,i,t,e,o,r,a,n,c,j,p,m,d;function l(l){var f=arguments.length>1&&arguments[1]!==undefined?arguments[1]:{};var u={};u["Mod-z"]=a,u["Shift-Mod-z"]=n,d||(u["Mod-y"]=n),u.Backspace=p,u["Mod-b"]=function(s,i,t){return o(s,"bold")(s,i,t);},u["Mod-i"]=function(s,i,t){return o(s,"italic")(s,i,t);},u["Mod-u"]=function(s,i,t){return o(s,"underline")(s,i,t);},u["Shift-Mod-x"]=function(s,i,t){return o(s,"strike")(s,i,t);},u["Mod-,"]=function(s,i,t){return o(s,"subscript")(s,i,t);},u["Mod-."]=function(s,i,t){return o(s,"superscript")(s,i,t);},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=m(t.state.schema,s);t.dispatch(t.state.tr.replaceSelection(i).scrollIntoView());})["catch"](function(){}),!0);},u["Shift-Ctrl-0"]=function(s,i,t){return o(s,"paragraph")(s,i,t);};var _loop=function _loop(_s){u["Shift-Ctrl-".concat(_s)]=function(i,t,e){return o(i,"heading",{level:_s})(i,t,e);};};for(var _s=1;_s<=6;_s+=1){_loop(_s);}u["Shift-Mod-7"]=function(s,i,t){return o(s,"orderedList")(s,i,t);},u["Shift-Mod-8"]=function(s,i,t){return o(s,"bulletList")(s,i,t);},u["Shift-Mod-9"]=function(s,i,t){return o(s,"blockquote")(s,i,t);},u["Mod-Alt-c"]=function(s,i,t){return o(s,"codeBlock")(s,i,t);},u["Mod-]"]=function(s,i,t){return o(s,"indent")(s,i,t);},u["Mod-["]=function(s,i,t){return o(s,"outdent")(s,i,t);},u.Enter=r(s(l.nodes.task_item,{checked:!1}),s(l.nodes.list_item)),u.Tab=r(i(l.nodes.task_item),i(l.nodes.list_item)),u["Shift-Tab"]=r(t(l.nodes.task_item),t(l.nodes.list_item));var g=r(c,function(s,i){return i&&i(s.tr.replaceSelectionWith(l.nodes.hard_break.create()).scrollIntoView()),!0;});if(u["Shift-Enter"]=g,u["Mod-Enter"]=g,f.onLinkShortcut){var _s2=f.onLinkShortcut;u["Mod-k"]=function(){return _s2(),!0;};}if(f.onFindShortcut){var _s3=f.onFindShortcut;u["Mod-f"]=function(){return _s3(),!0;};}if(f.onShortcutHelp){var _s4=f.onShortcutHelp;u["Mod-/"]=function(){return _s4(),!0;};}return[e(u),e(j)];}_export("b",l);return{setters:[function(_schemaCjsJs){s=_schemaCjsJs.s;i=_schemaCjsJs.a;t=_schemaCjsJs.l;e=_schemaCjsJs.k;},function(_commandsCjsJs){o=_commandsCjsJs.b;r=_commandsCjsJs.c;a=_commandsCjsJs.u;n=_commandsCjsJs.r;c=_commandsCjsJs.e;j=_commandsCjsJs.d;},function(_index00dCjsJs){p=_index00dCjsJs.u;},function(_pluginsPasteCjsJs){m=_pluginsPasteCjsJs.p;},function(_index00bCjsJs){},function(_index00aCjsJs){},function(_index009CjsJs){},function(_index007CjsJs){},function(_pluginsEmbedsCjsJs){},function(_emailCssCjsJs){},function(_sanitizeCjsJs){},function(_markdownParseCjsJs){},function(_htmlDetectCjsJs){},function(_serializerCjsJs){},function(_emailRenderCjsJs){}],execute:function execute(){d="undefined"!=typeof navigator&&/Mac|iP(hone|[oa]d)/.test(navigator.platform);}};});
|
|
2
2
|
//# sourceMappingURL=keymap.cjs.js.map
|
|
@@ -1 +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":"mZA8BgBA,CAAAA,CAAmBC,CAAAA,CAAAA,KAAgBC,CAAAA,4DAAyB,GAC1E,GAAMC,CAAAA,CAAgC,CAAA,CAAA,EAEtCA,CAAK,CAAA,OAAA,CAAA,CAAWC,CAChBD,CAAAA,CAAAA,CAAK,aAAiBE,CAAAA,CAAAA,CAAAA,CACjBC,IAAOH,CAAK,CAAA,OAAA,CAAA,CAAWE,GAC5BF,CAAgB,CAAAI,SAAA,CAAIC,EAEpBL,CAAK,CAAA,OAAA,CAAA,CAAW,SAACM,CAAOC,CAAAA,CAAAA,CAAUC,SAChCC,CAAAA,CAAWH,CAAAA,CAAAA,CAAO,OAAlBG,CAA2BH,CAAAA,CAAOC,EAAUC,CAC9CR,CAAAA,GAAAA,CAAAA,CAAK,OAAW,CAAA,CAAA,SAACM,CAAOC,CAAAA,CAAAA,CAAUC,SAChCC,CAAAA,CAAWH,CAAAA,CAAAA,CAAO,SAAlBG,CAA6BH,CAAAA,CAAOC,EAAUC,CAChDR,CAAAA,GAAAA,CAAAA,CAAK,SAAW,SAACM,CAAAA,CAAOC,EAAUC,CAChCC,QAAAA,CAAAA,CAAAA,CAAWH,EAAO,WAAlBG,CAAAA,CAAgCH,EAAOC,CAAUC,CAAAA,CAAAA,CAAAA,GACnDR,CAAK,CAAA,aAAA,CAAA,CAAiB,SAACM,CAAAA,CAAOC,EAAUC,CACtCC,QAAAA,CAAAA,CAAAA,CAAWH,EAAO,QAAlBG,CAAAA,CAA6BH,EAAOC,CAAUC,CAAAA,CAAAA,CAAAA,GAEhDR,EAAK,OAAW,CAAA,CAAA,SAACM,EAAOC,CAAUC,CAAAA,CAAAA,QAChCC,CAAAA,EAAWH,CAAO,CAAA,WAAA,CAAlBG,CAAgCH,CAAOC,CAAAA,CAAAA,CAAUC,CACnDR,CAAAA,GAAAA,CAAAA,CAAK,OAAW,CAAA,CAAA,SAACM,EAAOC,CAAUC,CAAAA,CAAAA,QAChCC,CAAAA,EAAWH,CAAO,CAAA,aAAA,CAAlBG,CAAkCH,CAAOC,CAAAA,CAAAA,CAAUC,KAKrDR,CAAK,CAAA,aAAA,CAAA,CAAiB,SAACU,CAAQC,CAAAA,CAAAA,CAAWH,qCACnCA,CAA6B,EAAA,WAAA,EAAA,MAAdI,CAAAA,mCAA8BA,SAAUC,CAAAA,SAAAA,UAAAA,oBAAAA,WAAVD,oBAAAA,CAAqBE,QAGvEF,EAAAA,GAAAA,SAAAA,CAAUC,SACPC,CAAAA,QAAAA,CAAAA,CAAAA,CACAC,KAAKC,SAAAA,CACJ,CAAA,CAAA,GAAA,CAAKA,IAASR,CAAM,CAAA,OACpB,GAAMS,CAAAA,CAAQC,CAAAA,CAAAA,CAAeV,EAAKF,KAAMR,CAAAA,MAAAA,CAAQkB,GAChDR,CAAKD,CAAAA,QAAAA,CAASC,EAAKF,KAAMa,CAAAA,EAAAA,CAAGC,iBAAiBH,CAAOI,CAAAA,CAAAA,cAAAA,CAAAA,CAAAA,CAAiB,EAEtEC,CAAAA,SAAAA,CAAM,UAGF,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,GAGTtB,EAAK,cAAkB,CAAA,CAAA,SAACM,EAAOC,CAAUC,CAAAA,CAAAA,QACvCC,CAAAA,EAAWH,CAAO,CAAA,WAAA,CAAlBG,CAAgCH,CAAOC,CAAAA,CAAAA,CAAUC,KACnD,IAAAe,KAAA,UAAAA,MAAAC,EAAA,EACExB,CAAK,eAAAyB,MAAA,CAAcC,EAAW,EAAA,CAAA,SAACpB,EAAOC,CAAUC,CAAAA,CAAAA,QAC9CC,CAAAA,EAAWH,CAAO,CAAA,SAAA,CAAW,CAAEoB,KAA/BjB,CAAAA,EAAAA,CAAAA,CAAAA,CAAyCH,EAAOC,CAAUC,CAAAA,CAAAA,CAAAA,GAG9DR,EALA,IAAK,GAAI0B,CAAAA,GAAQ,CAAGA,CAAAA,EAAAA,EAAS,EAAGA,EAAS,EAAA,CAAA,EAAAH,KAAA,CAAAC,EAAA,GAKzCxB,EAAK,aAAiB,CAAA,CAAA,SAACM,EAAOC,CAAUC,CAAAA,CAAAA,QACtCC,CAAAA,EAAWH,CAAO,CAAA,aAAA,CAAlBG,CAAkCH,CAAAA,CAAOC,CAAUC,CAAAA,CAAAA,CAAAA,GACrDR,EAAK,aAAiB,CAAA,CAAA,SAACM,EAAOC,CAAUC,CAAAA,CAAAA,QACtCC,CAAAA,EAAWH,CAAO,CAAA,YAAA,CAAlBG,CAAiCH,CAAOC,CAAAA,CAAAA,CAAUC,KACpDR,CAAK,CAAA,aAAA,CAAA,CAAiB,SAACM,CAAOC,CAAAA,CAAAA,CAAUC,SACtCC,CAAAA,CAAWH,CAAAA,CAAAA,CAAO,YAAlBG,CAAAA,CAAiCH,CAAOC,CAAAA,CAAAA,CAAUC,KACpDR,CAAK,CAAA,WAAA,CAAA,CAAe,SAACM,CAAOC,CAAAA,CAAAA,CAAUC,SACpCC,CAAAA,CAAWH,CAAAA,CAAAA,CAAO,YAAlBG,CAAgCH,CAAAA,CAAOC,EAAUC,CAGnDR,CAAAA,GAAAA,CAAAA,CAAK,SAAW,SAACM,CAAAA,CAAOC,EAAUC,CAChCC,QAAAA,CAAAA,CAAAA,CAAWH,CAAO,CAAA,QAAA,CAAlBG,CAA6BH,CAAAA,CAAOC,EAAUC,CAChDR,CAAAA,GAAAA,CAAAA,CAAK,SAAW,SAACM,CAAAA,CAAOC,EAAUC,CAChCC,QAAAA,CAAAA,CAAAA,CAAWH,EAAO,SAAlBG,CAAAA,CAA8BH,EAAOC,CAAUC,CAAAA,CAAAA,CAAAA,GAGjDR,EAAY2B,KAAIC,CAAAA,CAAAA,CACdC,EAAc/B,CAAOgC,CAAAA,KAAAA,CAAMC,SAAW,CAAA,CAAEC,OAAS,CAAA,CAAA,CAAA,CAAA,CAAA,CACjDH,EAAc/B,CAAOgC,CAAAA,KAAAA,CAAMG,YAE7BjC,CAAU,CAAAkC,GAAA,CAAIN,EACZO,CAAarC,CAAAA,CAAAA,CAAOgC,MAAMC,SAC1BI,CAAAA,CAAAA,CAAAA,CAAarC,EAAOgC,KAAMG,CAAAA,SAAAA,CAAAA,CAAAA,CAE5BjC,EAAK,WAAe4B,CAAAA,CAAAA,CAAAA,CAClBQ,EAAatC,CAAOgC,CAAAA,KAAAA,CAAMC,SAC1BK,CAAAA,CAAAA,CAAAA,CAAatC,CAAOgC,CAAAA,KAAAA,CAAMG,YAI5B,GAAMI,CAAAA,CAAAA,CAAcT,EAAcU,CAAU,CAAA,SAAChC,EAAOC,CAC9CA,QAAAA,CAAAA,CAAAA,EACFA,EACED,CAAMa,CAAAA,EAAAA,CAAGoB,qBAAqBzC,CAAOgC,CAAAA,KAAAA,CAAMU,WAAWC,MAAUpB,CAAAA,CAAAA,CAAAA,CAAAA,cAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAG7D,KAKT,GAHArB,CAAAA,CAAK,aAAiBqC,CAAAA,CAAAA,CAAAA,CACtBrC,CAAK,CAAA,WAAA,CAAA,CAAeqC,EAEhBtC,CAAQ2C,CAAAA,cAAAA,CAAgB,CAC1B,GAAMC,CAAAA,GAAAA,CAAO5C,EAAQ2C,cACrB1C,CAAAA,CAAAA,CAAK,SAAW,iBACd2C,CAAAA,GAAAA,CAAAA,CAAAA,CAAAA,CACO,GAEV,EAED,GAAI5C,EAAQ6C,cAAgB,CAAA,CAC1B,GAAMC,CAAAA,GAAW9C,CAAAA,CAAAA,CAAQ6C,cACzB5C,CAAAA,CAAAA,CAAK,OAAW,CAAA,CAAA,iBACd6C,CAAAA,OACO,CAEV,EAAA,EAED,GAAI9C,CAAQ+C,CAAAA,cAAAA,CAAgB,CAC1B,GAAMC,CAAAA,GAAAA,CAAWhD,EAAQ+C,cACzB9C,CAAAA,CAAAA,CAAK,SAAW,iBACd+C,CAAAA,GAAAA,CAAAA,CAAAA,CAAAA,CACO,GAEV,EAED,MAAO,CAACC,CAAOhD,CAAAA,CAAAA,CAAAA,CAAOgD,CAAOC,CAAAA,CAAAA,CAAAA,CAC/B,inBAnIM9C,CAAAA,CACiB,mBAAdS,CAAAA,SAA6B,EAAA,oBAAA,CAAqBsC,KAAKtC,SAAUuC,CAAAA,QAAAA,CAAAA"}
|
|
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","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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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{k as
|
|
1
|
+
import{s,a as e,l as i,k as t}from"./schema.esm.js";import{b as o,c as r,u as m,r as a,e as n,d as p}from"./commands.esm.js";import{u as d}from"../../index-36f2a6b5.esm.js";import{p as c}from"./plugins/paste.esm.js";import"../../index-5d34cff1.esm.js";import"../../index-7ca72b78.esm.js";import"../../index-4df50481.esm.js";import"../../index-920675c4.esm.js";import"./plugins/embeds.esm.js";import"./email-css.esm.js";import"./sanitize.esm.js";import"./markdown-parse.esm.js";import"./html-detect.esm.js";import"./serializer.esm.js";import"./email-render.esm.js";const l="undefined"!=typeof navigator&&/Mac|iP(hone|[oa]d)/.test(navigator.platform);function f(f,j={}){const u={};u["Mod-z"]=m,u["Shift-Mod-z"]=a,l||(u["Mod-y"]=a),u.Backspace=d,u["Mod-b"]=(s,e,i)=>o(s,"bold")(s,e,i),u["Mod-i"]=(s,e,i)=>o(s,"italic")(s,e,i),u["Mod-u"]=(s,e,i)=>o(s,"underline")(s,e,i),u["Shift-Mod-x"]=(s,e,i)=>o(s,"strike")(s,e,i),u["Mod-,"]=(s,e,i)=>o(s,"subscript")(s,e,i),u["Mod-."]=(s,e,i)=>o(s,"superscript")(s,e,i),u["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),u["Shift-Ctrl-0"]=(s,e,i)=>o(s,"paragraph")(s,e,i);for(let s=1;s<=6;s+=1)u[`Shift-Ctrl-${s}`]=(e,i,t)=>o(e,"heading",{level:s})(e,i,t);u["Shift-Mod-7"]=(s,e,i)=>o(s,"orderedList")(s,e,i),u["Shift-Mod-8"]=(s,e,i)=>o(s,"bulletList")(s,e,i),u["Shift-Mod-9"]=(s,e,i)=>o(s,"blockquote")(s,e,i),u["Mod-Alt-c"]=(s,e,i)=>o(s,"codeBlock")(s,e,i),u["Mod-]"]=(s,e,i)=>o(s,"indent")(s,e,i),u["Mod-["]=(s,e,i)=>o(s,"outdent")(s,e,i),u.Enter=r(s(f.nodes.task_item,{checked:!1}),s(f.nodes.list_item)),u.Tab=r(e(f.nodes.task_item),e(f.nodes.list_item)),u["Shift-Tab"]=r(i(f.nodes.task_item),i(f.nodes.list_item));const g=r(n,((s,e)=>(e&&e(s.tr.replaceSelectionWith(f.nodes.hard_break.create()).scrollIntoView()),!0)));if(u["Shift-Enter"]=g,u["Mod-Enter"]=g,j.onLinkShortcut){const s=j.onLinkShortcut;u["Mod-k"]=()=>(s(),!0)}if(j.onFindShortcut){const s=j.onFindShortcut;u["Mod-f"]=()=>(s(),!0)}if(j.onShortcutHelp){const s=j.onShortcutHelp;u["Mod-/"]=()=>(s(),!0)}return[t(u),t(p)]}export{f as b};
|