@opentiny/fluent-editor 4.0.0-alpha.8 → 4.0.0-beta.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/es/config/editor.config.es.js +112 -0
- package/es/config/editor.config.es.js.map +1 -0
- package/es/config/editor.utils.es.js.map +1 -0
- package/es/config/i18n/en-us.es.js +131 -0
- package/es/config/i18n/en-us.es.js.map +1 -0
- package/es/config/i18n/zh-cn.es.js +131 -0
- package/es/config/i18n/zh-cn.es.js.map +1 -0
- package/es/config/index.es.js +67 -0
- package/es/config/index.es.js.map +1 -0
- package/es/core/fluent-editor.es.js.map +1 -0
- package/es/fluent-editor.es.js +88 -0
- package/es/fluent-editor.es.js.map +1 -0
- package/es/formats/soft-break.es.js.map +1 -0
- package/es/formats/video.es.js.map +1 -0
- package/es/index.es.js +137 -0
- package/es/index.es.js.map +1 -0
- package/es/modules/ai/constants.es.js.map +1 -0
- package/es/modules/ai/index.es.js +670 -0
- package/es/modules/ai/index.es.js.map +1 -0
- package/es/modules/collaborative-editing/awareness/awareness.es.js +92 -0
- package/es/modules/collaborative-editing/awareness/awareness.es.js.map +1 -0
- package/es/modules/collaborative-editing/awareness/y-indexeddb.es.js +16 -0
- package/es/modules/collaborative-editing/awareness/y-indexeddb.es.js.map +1 -0
- package/es/modules/collaborative-editing/collaborative-editing.es.js +110 -0
- package/es/modules/collaborative-editing/collaborative-editing.es.js.map +1 -0
- package/es/modules/collaborative-editing/module.es.js.map +1 -0
- package/es/modules/collaborative-editing/provider/providerRegistry.es.js.map +1 -0
- package/es/modules/collaborative-editing/provider/webrtc.es.js +103 -0
- package/es/modules/collaborative-editing/provider/webrtc.es.js.map +1 -0
- package/es/modules/collaborative-editing/provider/websocket.es.js +113 -0
- package/es/modules/collaborative-editing/provider/websocket.es.js.map +1 -0
- package/es/modules/counter.es.js.map +1 -0
- package/es/modules/custom-clipboard.es.js.map +1 -0
- package/es/modules/custom-image/actions/action.es.js.map +1 -0
- package/es/modules/custom-image/actions/custom-resize-action.es.js.map +1 -0
- package/es/modules/custom-image/actions/delete-action.es.js.map +1 -0
- package/es/modules/custom-image/actions/image-toolbar-buttons.es.js +137 -0
- package/es/modules/custom-image/actions/image-toolbar-buttons.es.js.map +1 -0
- package/es/modules/custom-image/actions/toolbar-action.es.js.map +1 -0
- package/es/modules/custom-image/actions/toolbar.es.js.map +1 -0
- package/es/modules/custom-image/blot-formatter.es.js +140 -0
- package/es/modules/custom-image/blot-formatter.es.js.map +1 -0
- package/es/modules/custom-image/image.es.js.map +1 -0
- package/es/modules/custom-image/options.es.js.map +1 -0
- package/es/modules/custom-image/specs/blot-spec.es.js.map +1 -0
- package/es/modules/custom-image/specs/custom-image-spec.es.js.map +1 -0
- package/es/modules/custom-image/specs/image-spec.es.js.map +1 -0
- package/es/modules/custom-uploader.es.js.map +1 -0
- package/es/modules/divider.es.js.map +1 -0
- package/es/modules/emoji.es.js +167 -0
- package/es/modules/emoji.es.js.map +1 -0
- package/es/modules/file/formats/file.es.js.map +1 -0
- package/es/modules/file/modules/file-bar.es.js.map +1 -0
- package/es/modules/file/modules/file-module.es.js.map +1 -0
- package/es/modules/flow-chart/config-utils.es.js +102 -0
- package/es/modules/flow-chart/config-utils.es.js.map +1 -0
- package/es/modules/flow-chart/formats/flow-chart-blot.es.js +369 -0
- package/es/modules/flow-chart/formats/flow-chart-blot.es.js.map +1 -0
- package/es/modules/flow-chart/i18n/en-us.es.js +30 -0
- package/es/modules/flow-chart/i18n/en-us.es.js.map +1 -0
- package/es/modules/flow-chart/i18n/index.es.js +12 -0
- package/es/modules/flow-chart/i18n/index.es.js.map +1 -0
- package/es/modules/flow-chart/i18n/zh-cn.es.js +30 -0
- package/es/modules/flow-chart/i18n/zh-cn.es.js.map +1 -0
- package/es/modules/flow-chart/icons.es.js +27 -0
- package/es/modules/flow-chart/icons.es.js.map +1 -0
- package/es/modules/flow-chart/index.es.js +45 -0
- package/es/modules/flow-chart/index.es.js.map +1 -0
- package/es/modules/flow-chart/modules/context-menu.es.js +184 -0
- package/es/modules/flow-chart/modules/context-menu.es.js.map +1 -0
- package/es/modules/flow-chart/modules/control-panel.es.js +286 -0
- package/es/modules/flow-chart/modules/control-panel.es.js.map +1 -0
- package/es/modules/flow-chart/modules/custom-resize-action.es.js +150 -0
- package/es/modules/flow-chart/modules/custom-resize-action.es.js.map +1 -0
- package/es/modules/i18n.es.js.map +1 -0
- package/es/modules/index.es.js +31 -0
- package/es/modules/index.es.js.map +1 -0
- package/es/modules/link/formats/link.es.js.map +1 -0
- package/es/modules/link/modules/tooltip.es.js.map +1 -0
- package/es/modules/mathlive/formats.es.js.map +1 -0
- package/es/modules/mathlive/module.es.js.map +1 -0
- package/es/modules/mathlive/tooltip.es.js.map +1 -0
- package/es/modules/mention/mention-link.es.js.map +1 -0
- package/es/modules/mention/mention.es.js.map +1 -0
- package/es/modules/mind-map/config-utils.es.js +108 -0
- package/es/modules/mind-map/config-utils.es.js.map +1 -0
- package/es/modules/mind-map/formats/mind-map-blot.es.js +356 -0
- package/es/modules/mind-map/formats/mind-map-blot.es.js.map +1 -0
- package/es/modules/mind-map/i18n/en-us.es.js +29 -0
- package/es/modules/mind-map/i18n/en-us.es.js.map +1 -0
- package/es/modules/mind-map/i18n/index.es.js +12 -0
- package/es/modules/mind-map/i18n/index.es.js.map +1 -0
- package/es/modules/mind-map/i18n/zh-cn.es.js +29 -0
- package/es/modules/mind-map/i18n/zh-cn.es.js.map +1 -0
- package/es/modules/mind-map/icons.es.js +45 -0
- package/es/modules/mind-map/icons.es.js.map +1 -0
- package/es/modules/mind-map/index.es.js +56 -0
- package/es/modules/mind-map/index.es.js.map +1 -0
- package/es/modules/mind-map/modules/context-menu.es.js +128 -0
- package/es/modules/mind-map/modules/context-menu.es.js.map +1 -0
- package/es/modules/mind-map/modules/control-panel.es.js +425 -0
- package/es/modules/mind-map/modules/control-panel.es.js.map +1 -0
- package/es/modules/mind-map/modules/custom-resize-action.es.js +161 -0
- package/es/modules/mind-map/modules/custom-resize-action.es.js.map +1 -0
- package/es/modules/shortcut-key/index.es.js +245 -0
- package/es/modules/shortcut-key/index.es.js.map +1 -0
- package/es/modules/syntax.es.js.map +1 -0
- package/es/modules/table-up/index.es.js.map +1 -0
- package/es/modules/toolbar/better-picker.es.js.map +1 -0
- package/es/modules/toolbar/better-toolbar.es.js.map +1 -0
- package/es/modules/toolbar/toolbar-tip.es.js.map +1 -0
- package/es/themes/snow.es.js.map +1 -0
- package/es/tools/format-painter.es.js.map +1 -0
- package/es/tools/fullscreen.es.js.map +1 -0
- package/es/tools/screenshot.es.js.map +1 -0
- package/es/ui/icons.config.es.js +369 -0
- package/es/ui/icons.config.es.js.map +1 -0
- package/es/ui/icons.es.js +52 -0
- package/es/ui/icons.es.js.map +1 -0
- package/es/utils/debounce.es.js.map +1 -0
- package/es/utils/image.es.js.map +1 -0
- package/es/utils/is.es.js.map +1 -0
- package/es/utils/merge.es.js +27 -0
- package/es/utils/merge.es.js.map +1 -0
- package/es/utils/method.es.js.map +1 -0
- package/es/utils/scroll-lock.es.js.map +1 -0
- package/flow-chart.css +185 -0
- package/lib/config/editor.config.cjs.js +112 -0
- package/lib/config/editor.config.cjs.js.map +1 -0
- package/lib/config/editor.utils.cjs.js.map +1 -0
- package/lib/config/i18n/en-us.cjs.js +131 -0
- package/lib/config/i18n/en-us.cjs.js.map +1 -0
- package/lib/config/i18n/zh-cn.cjs.js +131 -0
- package/lib/config/i18n/zh-cn.cjs.js.map +1 -0
- package/lib/config/index.cjs.js +66 -0
- package/lib/config/index.cjs.js.map +1 -0
- package/lib/core/fluent-editor.cjs.js.map +1 -0
- package/lib/fluent-editor.cjs.js +88 -0
- package/lib/fluent-editor.cjs.js.map +1 -0
- package/lib/formats/soft-break.cjs.js.map +1 -0
- package/lib/formats/video.cjs.js.map +1 -0
- package/lib/index.cjs.js +158 -0
- package/lib/index.cjs.js.map +1 -0
- package/lib/modules/ai/constants.cjs.js.map +1 -0
- package/lib/modules/ai/index.cjs.js.map +1 -0
- package/lib/modules/collaborative-editing/awareness/awareness.cjs.js +92 -0
- package/lib/modules/collaborative-editing/awareness/awareness.cjs.js.map +1 -0
- package/lib/modules/collaborative-editing/awareness/y-indexeddb.cjs.js +16 -0
- package/lib/modules/collaborative-editing/awareness/y-indexeddb.cjs.js.map +1 -0
- package/lib/modules/collaborative-editing/collaborative-editing.cjs.js +110 -0
- package/lib/modules/collaborative-editing/collaborative-editing.cjs.js.map +1 -0
- package/lib/modules/collaborative-editing/module.cjs.js.map +1 -0
- package/lib/modules/collaborative-editing/provider/providerRegistry.cjs.js.map +1 -0
- package/lib/modules/collaborative-editing/provider/webrtc.cjs.js +103 -0
- package/lib/modules/collaborative-editing/provider/webrtc.cjs.js.map +1 -0
- package/lib/modules/collaborative-editing/provider/websocket.cjs.js +113 -0
- package/lib/modules/collaborative-editing/provider/websocket.cjs.js.map +1 -0
- package/lib/modules/counter.cjs.js.map +1 -0
- package/lib/modules/custom-clipboard.cjs.js.map +1 -0
- package/lib/modules/custom-image/actions/action.cjs.js.map +1 -0
- package/lib/modules/custom-image/actions/custom-resize-action.cjs.js.map +1 -0
- package/lib/modules/custom-image/actions/delete-action.cjs.js.map +1 -0
- package/lib/modules/custom-image/actions/image-toolbar-buttons.cjs.js.map +1 -0
- package/lib/modules/custom-image/actions/toolbar-action.cjs.js.map +1 -0
- package/lib/modules/custom-image/actions/toolbar.cjs.js.map +1 -0
- package/lib/modules/custom-image/blot-formatter.cjs.js +140 -0
- package/lib/modules/custom-image/blot-formatter.cjs.js.map +1 -0
- package/lib/modules/custom-image/image.cjs.js.map +1 -0
- package/lib/modules/custom-image/options.cjs.js.map +1 -0
- package/lib/modules/custom-image/specs/blot-spec.cjs.js.map +1 -0
- package/lib/modules/custom-image/specs/custom-image-spec.cjs.js.map +1 -0
- package/lib/modules/custom-image/specs/image-spec.cjs.js.map +1 -0
- package/lib/modules/custom-uploader.cjs.js.map +1 -0
- package/lib/modules/divider.cjs.js.map +1 -0
- package/lib/modules/emoji.cjs.js +167 -0
- package/lib/modules/emoji.cjs.js.map +1 -0
- package/lib/modules/file/formats/file.cjs.js.map +1 -0
- package/lib/modules/file/modules/file-bar.cjs.js.map +1 -0
- package/lib/modules/file/modules/file-module.cjs.js.map +1 -0
- package/lib/modules/flow-chart/config-utils.cjs.js +102 -0
- package/lib/modules/flow-chart/config-utils.cjs.js.map +1 -0
- package/lib/modules/flow-chart/formats/flow-chart-blot.cjs.js +369 -0
- package/lib/modules/flow-chart/formats/flow-chart-blot.cjs.js.map +1 -0
- package/lib/modules/flow-chart/i18n/en-us.cjs.js +30 -0
- package/lib/modules/flow-chart/i18n/en-us.cjs.js.map +1 -0
- package/lib/modules/flow-chart/i18n/index.cjs.js +12 -0
- package/lib/modules/flow-chart/i18n/index.cjs.js.map +1 -0
- package/lib/modules/flow-chart/i18n/zh-cn.cjs.js +30 -0
- package/lib/modules/flow-chart/i18n/zh-cn.cjs.js.map +1 -0
- package/lib/modules/flow-chart/icons.cjs.js +27 -0
- package/lib/modules/flow-chart/icons.cjs.js.map +1 -0
- package/lib/modules/flow-chart/index.cjs.js +45 -0
- package/lib/modules/flow-chart/index.cjs.js.map +1 -0
- package/lib/modules/flow-chart/modules/context-menu.cjs.js +184 -0
- package/lib/modules/flow-chart/modules/context-menu.cjs.js.map +1 -0
- package/lib/modules/flow-chart/modules/control-panel.cjs.js +286 -0
- package/lib/modules/flow-chart/modules/control-panel.cjs.js.map +1 -0
- package/lib/modules/flow-chart/modules/custom-resize-action.cjs.js +150 -0
- package/lib/modules/flow-chart/modules/custom-resize-action.cjs.js.map +1 -0
- package/lib/modules/i18n.cjs.js.map +1 -0
- package/lib/modules/index.cjs.js +31 -0
- package/lib/modules/index.cjs.js.map +1 -0
- package/lib/modules/link/formats/link.cjs.js.map +1 -0
- package/lib/modules/link/modules/tooltip.cjs.js.map +1 -0
- package/lib/modules/mathlive/formats.cjs.js.map +1 -0
- package/lib/modules/mathlive/module.cjs.js.map +1 -0
- package/lib/modules/mathlive/tooltip.cjs.js.map +1 -0
- package/lib/modules/mention/mention-link.cjs.js.map +1 -0
- package/lib/modules/mention/mention.cjs.js.map +1 -0
- package/lib/modules/mind-map/config-utils.cjs.js +108 -0
- package/lib/modules/mind-map/config-utils.cjs.js.map +1 -0
- package/lib/modules/mind-map/formats/mind-map-blot.cjs.js +356 -0
- package/lib/modules/mind-map/formats/mind-map-blot.cjs.js.map +1 -0
- package/lib/modules/mind-map/i18n/en-us.cjs.js +29 -0
- package/lib/modules/mind-map/i18n/en-us.cjs.js.map +1 -0
- package/lib/modules/mind-map/i18n/index.cjs.js +12 -0
- package/lib/modules/mind-map/i18n/index.cjs.js.map +1 -0
- package/lib/modules/mind-map/i18n/zh-cn.cjs.js +29 -0
- package/lib/modules/mind-map/i18n/zh-cn.cjs.js.map +1 -0
- package/lib/modules/mind-map/icons.cjs.js +45 -0
- package/lib/modules/mind-map/icons.cjs.js.map +1 -0
- package/lib/modules/mind-map/index.cjs.js +56 -0
- package/lib/modules/mind-map/index.cjs.js.map +1 -0
- package/lib/modules/mind-map/modules/context-menu.cjs.js +128 -0
- package/lib/modules/mind-map/modules/context-menu.cjs.js.map +1 -0
- package/lib/modules/mind-map/modules/control-panel.cjs.js +425 -0
- package/lib/modules/mind-map/modules/control-panel.cjs.js.map +1 -0
- package/lib/modules/mind-map/modules/custom-resize-action.cjs.js +161 -0
- package/lib/modules/mind-map/modules/custom-resize-action.cjs.js.map +1 -0
- package/lib/modules/shortcut-key/index.cjs.js +245 -0
- package/lib/modules/shortcut-key/index.cjs.js.map +1 -0
- package/lib/modules/syntax.cjs.js.map +1 -0
- package/lib/modules/table-up/index.cjs.js.map +1 -0
- package/lib/modules/toolbar/better-picker.cjs.js.map +1 -0
- package/lib/modules/toolbar/better-toolbar.cjs.js.map +1 -0
- package/lib/modules/toolbar/toolbar-tip.cjs.js.map +1 -0
- package/lib/themes/snow.cjs.js.map +1 -0
- package/lib/tools/format-painter.cjs.js.map +1 -0
- package/lib/tools/fullscreen.cjs.js.map +1 -0
- package/lib/tools/screenshot.cjs.js.map +1 -0
- package/lib/ui/icons.cjs.js +52 -0
- package/lib/ui/icons.cjs.js.map +1 -0
- package/lib/ui/icons.config.cjs.js +369 -0
- package/lib/ui/icons.config.cjs.js.map +1 -0
- package/lib/utils/debounce.cjs.js.map +1 -0
- package/lib/utils/image.cjs.js.map +1 -0
- package/lib/utils/is.cjs.js.map +1 -0
- package/lib/utils/merge.cjs.js +27 -0
- package/lib/utils/merge.cjs.js.map +1 -0
- package/lib/utils/method.cjs.js.map +1 -0
- package/lib/utils/scroll-lock.cjs.js.map +1 -0
- package/mind-map.css +224 -0
- package/package.json +15 -37
- package/patches/quill@2.0.3.patch +33 -0
- package/scripts/apply-patches.cjs +248 -0
- package/style.css +3465 -0
- package/types/config/editor.config.d.ts +55 -0
- package/types/config/i18n/en-us.d.ts +125 -0
- package/types/config/i18n/zh-cn.d.ts +125 -0
- package/types/config/types/editor-modules.interface.d.ts +45 -0
- package/types/index.d.ts +8 -0
- package/types/modules/collaborative-editing/awareness/awareness.d.ts +28 -0
- package/types/modules/collaborative-editing/awareness/y-indexeddb.d.ts +3 -0
- package/types/modules/collaborative-editing/collaborative-editing.d.ts +25 -0
- package/types/modules/collaborative-editing/provider/providerRegistry.d.ts +26 -0
- package/types/modules/collaborative-editing/provider/webrtc.d.ts +37 -0
- package/types/modules/collaborative-editing/provider/websocket.d.ts +41 -0
- package/types/modules/collaborative-editing/types.d.ts +53 -0
- package/types/modules/flow-chart/config-utils.d.ts +10 -0
- package/types/modules/flow-chart/formats/flow-chart-blot.d.ts +43 -0
- package/types/modules/flow-chart/i18n/en-us.d.ts +26 -0
- package/types/modules/flow-chart/i18n/index.d.ts +1 -0
- package/types/modules/flow-chart/i18n/zh-cn.d.ts +26 -0
- package/types/modules/flow-chart/icons.d.ts +12 -0
- package/types/modules/flow-chart/index.d.ts +10 -0
- package/types/modules/flow-chart/modules/context-menu.d.ts +3 -0
- package/types/modules/flow-chart/modules/control-panel.d.ts +3 -0
- package/types/modules/flow-chart/modules/custom-resize-action.d.ts +22 -0
- package/types/modules/flow-chart/options.d.ts +29 -0
- package/types/modules/index.d.ts +18 -0
- package/types/modules/mind-map/config-utils.d.ts +12 -0
- package/types/modules/mind-map/formats/mind-map-blot.d.ts +44 -0
- package/types/modules/mind-map/i18n/en-us.d.ts +25 -0
- package/types/modules/mind-map/i18n/index.d.ts +1 -0
- package/types/modules/mind-map/i18n/zh-cn.d.ts +25 -0
- package/types/modules/mind-map/icons.d.ts +21 -0
- package/types/modules/mind-map/index.d.ts +10 -0
- package/types/modules/mind-map/modules/context-menu.d.ts +3 -0
- package/types/modules/mind-map/modules/control-panel.d.ts +3 -0
- package/types/modules/mind-map/modules/custom-resize-action.d.ts +23 -0
- package/types/modules/mind-map/options.d.ts +27 -0
- package/types/ui/icons.config.d.ts +40 -0
- package/types/utils/merge.d.ts +7 -0
- package/LICENSE +0 -21
- package/dist/es/config/editor.config.es.js +0 -85
- package/dist/es/config/editor.config.es.js.map +0 -1
- package/dist/es/config/editor.utils.es.js.map +0 -1
- package/dist/es/config/i18n/en-us.es.js +0 -129
- package/dist/es/config/i18n/en-us.es.js.map +0 -1
- package/dist/es/config/i18n/zh-cn.es.js +0 -129
- package/dist/es/config/i18n/zh-cn.es.js.map +0 -1
- package/dist/es/config/index.es.js +0 -65
- package/dist/es/config/index.es.js.map +0 -1
- package/dist/es/core/fluent-editor.es.js.map +0 -1
- package/dist/es/fluent-editor.es.js +0 -84
- package/dist/es/fluent-editor.es.js.map +0 -1
- package/dist/es/formats/soft-break.es.js.map +0 -1
- package/dist/es/formats/video.es.js.map +0 -1
- package/dist/es/index.es.js +0 -104
- package/dist/es/index.es.js.map +0 -1
- package/dist/es/modules/ai/constants.es.js.map +0 -1
- package/dist/es/modules/ai/index.es.js +0 -670
- package/dist/es/modules/ai/index.es.js.map +0 -1
- package/dist/es/modules/collaborative-editing/awareness/awareness.es.js +0 -93
- package/dist/es/modules/collaborative-editing/awareness/awareness.es.js.map +0 -1
- package/dist/es/modules/collaborative-editing/awareness/y-indexeddb.es.js +0 -12
- package/dist/es/modules/collaborative-editing/awareness/y-indexeddb.es.js.map +0 -1
- package/dist/es/modules/collaborative-editing/collaborative-editing.es.js +0 -105
- package/dist/es/modules/collaborative-editing/collaborative-editing.es.js.map +0 -1
- package/dist/es/modules/collaborative-editing/module.es.js.map +0 -1
- package/dist/es/modules/collaborative-editing/provider/providerRegistry.es.js.map +0 -1
- package/dist/es/modules/collaborative-editing/provider/webrtc.es.js +0 -99
- package/dist/es/modules/collaborative-editing/provider/webrtc.es.js.map +0 -1
- package/dist/es/modules/collaborative-editing/provider/websocket.es.js +0 -111
- package/dist/es/modules/collaborative-editing/provider/websocket.es.js.map +0 -1
- package/dist/es/modules/counter.es.js.map +0 -1
- package/dist/es/modules/custom-clipboard.es.js.map +0 -1
- package/dist/es/modules/custom-image/actions/action.es.js.map +0 -1
- package/dist/es/modules/custom-image/actions/custom-resize-action.es.js.map +0 -1
- package/dist/es/modules/custom-image/actions/delete-action.es.js.map +0 -1
- package/dist/es/modules/custom-image/actions/image-toolbar-buttons.es.js +0 -137
- package/dist/es/modules/custom-image/actions/image-toolbar-buttons.es.js.map +0 -1
- package/dist/es/modules/custom-image/actions/toolbar-action.es.js.map +0 -1
- package/dist/es/modules/custom-image/actions/toolbar.es.js.map +0 -1
- package/dist/es/modules/custom-image/blot-formatter.es.js +0 -140
- package/dist/es/modules/custom-image/blot-formatter.es.js.map +0 -1
- package/dist/es/modules/custom-image/image.es.js.map +0 -1
- package/dist/es/modules/custom-image/options.es.js.map +0 -1
- package/dist/es/modules/custom-image/specs/blot-spec.es.js.map +0 -1
- package/dist/es/modules/custom-image/specs/custom-image-spec.es.js.map +0 -1
- package/dist/es/modules/custom-image/specs/image-spec.es.js.map +0 -1
- package/dist/es/modules/custom-uploader.es.js.map +0 -1
- package/dist/es/modules/divider.es.js.map +0 -1
- package/dist/es/modules/emoji.es.js +0 -167
- package/dist/es/modules/emoji.es.js.map +0 -1
- package/dist/es/modules/file/formats/file.es.js.map +0 -1
- package/dist/es/modules/file/modules/file-bar.es.js.map +0 -1
- package/dist/es/modules/file/modules/file-module.es.js.map +0 -1
- package/dist/es/modules/i18n.es.js.map +0 -1
- package/dist/es/modules/index.es.js +0 -27
- package/dist/es/modules/index.es.js.map +0 -1
- package/dist/es/modules/link/formats/link.es.js.map +0 -1
- package/dist/es/modules/link/modules/tooltip.es.js.map +0 -1
- package/dist/es/modules/mathlive/formats.es.js.map +0 -1
- package/dist/es/modules/mathlive/module.es.js.map +0 -1
- package/dist/es/modules/mathlive/tooltip.es.js.map +0 -1
- package/dist/es/modules/mention/mention-link.es.js.map +0 -1
- package/dist/es/modules/mention/mention.es.js.map +0 -1
- package/dist/es/modules/shortcut-key/index.es.js +0 -229
- package/dist/es/modules/shortcut-key/index.es.js.map +0 -1
- package/dist/es/modules/syntax.es.js.map +0 -1
- package/dist/es/modules/table-up/index.es.js.map +0 -1
- package/dist/es/modules/toolbar/better-picker.es.js.map +0 -1
- package/dist/es/modules/toolbar/better-toolbar.es.js.map +0 -1
- package/dist/es/modules/toolbar/toolbar-tip.es.js.map +0 -1
- package/dist/es/themes/snow.es.js.map +0 -1
- package/dist/es/tools/format-painter.es.js.map +0 -1
- package/dist/es/tools/fullscreen.es.js.map +0 -1
- package/dist/es/tools/screenshot.es.js.map +0 -1
- package/dist/es/ui/icons.config.es.js +0 -365
- package/dist/es/ui/icons.config.es.js.map +0 -1
- package/dist/es/ui/icons.es.js +0 -50
- package/dist/es/ui/icons.es.js.map +0 -1
- package/dist/es/utils/debounce.es.js.map +0 -1
- package/dist/es/utils/image.es.js.map +0 -1
- package/dist/es/utils/is.es.js.map +0 -1
- package/dist/es/utils/method.es.js.map +0 -1
- package/dist/es/utils/scroll-lock.es.js.map +0 -1
- package/dist/lib/config/editor.config.cjs.js +0 -85
- package/dist/lib/config/editor.config.cjs.js.map +0 -1
- package/dist/lib/config/editor.utils.cjs.js.map +0 -1
- package/dist/lib/config/i18n/en-us.cjs.js +0 -129
- package/dist/lib/config/i18n/en-us.cjs.js.map +0 -1
- package/dist/lib/config/i18n/zh-cn.cjs.js +0 -129
- package/dist/lib/config/i18n/zh-cn.cjs.js.map +0 -1
- package/dist/lib/config/index.cjs.js +0 -64
- package/dist/lib/config/index.cjs.js.map +0 -1
- package/dist/lib/core/fluent-editor.cjs.js.map +0 -1
- package/dist/lib/fluent-editor.cjs.js +0 -84
- package/dist/lib/fluent-editor.cjs.js.map +0 -1
- package/dist/lib/formats/soft-break.cjs.js.map +0 -1
- package/dist/lib/formats/video.cjs.js.map +0 -1
- package/dist/lib/index.cjs.js +0 -125
- package/dist/lib/index.cjs.js.map +0 -1
- package/dist/lib/modules/ai/constants.cjs.js.map +0 -1
- package/dist/lib/modules/ai/index.cjs.js.map +0 -1
- package/dist/lib/modules/collaborative-editing/awareness/awareness.cjs.js +0 -110
- package/dist/lib/modules/collaborative-editing/awareness/awareness.cjs.js.map +0 -1
- package/dist/lib/modules/collaborative-editing/awareness/y-indexeddb.cjs.js +0 -12
- package/dist/lib/modules/collaborative-editing/awareness/y-indexeddb.cjs.js.map +0 -1
- package/dist/lib/modules/collaborative-editing/collaborative-editing.cjs.js +0 -122
- package/dist/lib/modules/collaborative-editing/collaborative-editing.cjs.js.map +0 -1
- package/dist/lib/modules/collaborative-editing/module.cjs.js.map +0 -1
- package/dist/lib/modules/collaborative-editing/provider/providerRegistry.cjs.js.map +0 -1
- package/dist/lib/modules/collaborative-editing/provider/webrtc.cjs.js +0 -116
- package/dist/lib/modules/collaborative-editing/provider/webrtc.cjs.js.map +0 -1
- package/dist/lib/modules/collaborative-editing/provider/websocket.cjs.js +0 -128
- package/dist/lib/modules/collaborative-editing/provider/websocket.cjs.js.map +0 -1
- package/dist/lib/modules/counter.cjs.js.map +0 -1
- package/dist/lib/modules/custom-clipboard.cjs.js.map +0 -1
- package/dist/lib/modules/custom-image/actions/action.cjs.js.map +0 -1
- package/dist/lib/modules/custom-image/actions/custom-resize-action.cjs.js.map +0 -1
- package/dist/lib/modules/custom-image/actions/delete-action.cjs.js.map +0 -1
- package/dist/lib/modules/custom-image/actions/image-toolbar-buttons.cjs.js.map +0 -1
- package/dist/lib/modules/custom-image/actions/toolbar-action.cjs.js.map +0 -1
- package/dist/lib/modules/custom-image/actions/toolbar.cjs.js.map +0 -1
- package/dist/lib/modules/custom-image/blot-formatter.cjs.js +0 -140
- package/dist/lib/modules/custom-image/blot-formatter.cjs.js.map +0 -1
- package/dist/lib/modules/custom-image/image.cjs.js.map +0 -1
- package/dist/lib/modules/custom-image/options.cjs.js.map +0 -1
- package/dist/lib/modules/custom-image/specs/blot-spec.cjs.js.map +0 -1
- package/dist/lib/modules/custom-image/specs/custom-image-spec.cjs.js.map +0 -1
- package/dist/lib/modules/custom-image/specs/image-spec.cjs.js.map +0 -1
- package/dist/lib/modules/custom-uploader.cjs.js.map +0 -1
- package/dist/lib/modules/divider.cjs.js.map +0 -1
- package/dist/lib/modules/emoji.cjs.js +0 -167
- package/dist/lib/modules/emoji.cjs.js.map +0 -1
- package/dist/lib/modules/file/formats/file.cjs.js.map +0 -1
- package/dist/lib/modules/file/modules/file-bar.cjs.js.map +0 -1
- package/dist/lib/modules/file/modules/file-module.cjs.js.map +0 -1
- package/dist/lib/modules/i18n.cjs.js.map +0 -1
- package/dist/lib/modules/index.cjs.js +0 -27
- package/dist/lib/modules/index.cjs.js.map +0 -1
- package/dist/lib/modules/link/formats/link.cjs.js.map +0 -1
- package/dist/lib/modules/link/modules/tooltip.cjs.js.map +0 -1
- package/dist/lib/modules/mathlive/formats.cjs.js.map +0 -1
- package/dist/lib/modules/mathlive/module.cjs.js.map +0 -1
- package/dist/lib/modules/mathlive/tooltip.cjs.js.map +0 -1
- package/dist/lib/modules/mention/mention-link.cjs.js.map +0 -1
- package/dist/lib/modules/mention/mention.cjs.js.map +0 -1
- package/dist/lib/modules/shortcut-key/index.cjs.js +0 -229
- package/dist/lib/modules/shortcut-key/index.cjs.js.map +0 -1
- package/dist/lib/modules/syntax.cjs.js.map +0 -1
- package/dist/lib/modules/table-up/index.cjs.js.map +0 -1
- package/dist/lib/modules/toolbar/better-picker.cjs.js.map +0 -1
- package/dist/lib/modules/toolbar/better-toolbar.cjs.js.map +0 -1
- package/dist/lib/modules/toolbar/toolbar-tip.cjs.js.map +0 -1
- package/dist/lib/themes/snow.cjs.js.map +0 -1
- package/dist/lib/tools/format-painter.cjs.js.map +0 -1
- package/dist/lib/tools/fullscreen.cjs.js.map +0 -1
- package/dist/lib/tools/screenshot.cjs.js.map +0 -1
- package/dist/lib/ui/icons.cjs.js +0 -50
- package/dist/lib/ui/icons.cjs.js.map +0 -1
- package/dist/lib/ui/icons.config.cjs.js +0 -365
- package/dist/lib/ui/icons.config.cjs.js.map +0 -1
- package/dist/lib/utils/debounce.cjs.js.map +0 -1
- package/dist/lib/utils/image.cjs.js.map +0 -1
- package/dist/lib/utils/is.cjs.js.map +0 -1
- package/dist/lib/utils/method.cjs.js.map +0 -1
- package/dist/lib/utils/scroll-lock.cjs.js.map +0 -1
- package/dist/package.json +0 -67
- package/dist/style.css +0 -3463
- package/dist/types/config/editor.config.d.ts +0 -11
- package/dist/types/config/i18n/en-us.d.ts +0 -123
- package/dist/types/config/i18n/zh-cn.d.ts +0 -123
- package/dist/types/config/types/editor-modules.interface.d.ts +0 -41
- package/dist/types/index.d.ts +0 -8
- package/dist/types/modules/collaborative-editing/awareness/awareness.d.ts +0 -28
- package/dist/types/modules/collaborative-editing/awareness/y-indexeddb.d.ts +0 -2
- package/dist/types/modules/collaborative-editing/collaborative-editing.d.ts +0 -24
- package/dist/types/modules/collaborative-editing/provider/providerRegistry.d.ts +0 -25
- package/dist/types/modules/collaborative-editing/provider/webrtc.d.ts +0 -36
- package/dist/types/modules/collaborative-editing/provider/websocket.d.ts +0 -40
- package/dist/types/modules/collaborative-editing/types.d.ts +0 -37
- package/dist/types/modules/index.d.ts +0 -16
- package/dist/types/ui/icons.config.d.ts +0 -38
- package/scripts/pre-release.cjs +0 -35
- package/src/assets/ai.scss +0 -451
- package/src/assets/common/config.scss +0 -4
- package/src/assets/common.scss +0 -132
- package/src/assets/counter.scss +0 -16
- package/src/assets/custom-image.scss +0 -19
- package/src/assets/editor.scss +0 -351
- package/src/assets/fileBar.scss +0 -107
- package/src/assets/font.scss +0 -18
- package/src/assets/fullscreen.scss +0 -50
- package/src/assets/iconfont/iconfont.ttf +0 -0
- package/src/assets/iconfont/iconfont.woff +0 -0
- package/src/assets/iconfont/iconfont.woff2 +0 -0
- package/src/assets/imageBar.scss +0 -98
- package/src/assets/lineHeight.scss +0 -15
- package/src/assets/link.scss +0 -120
- package/src/assets/mathlive.scss +0 -40
- package/src/assets/mention.scss +0 -48
- package/src/assets/screenshot.scss +0 -78
- package/src/assets/size.scss +0 -11
- package/src/assets/style.scss +0 -46
- package/src/assets/svgs/align-center.svg +0 -41
- package/src/assets/svgs/align-justify.svg +0 -8
- package/src/assets/svgs/arrow-down.svg +0 -6
- package/src/assets/svgs/background-color.svg +0 -7
- package/src/assets/svgs/clean.svg +0 -8
- package/src/assets/svgs/code-block.svg +0 -5
- package/src/assets/svgs/code.svg +0 -25
- package/src/assets/svgs/color.svg +0 -7
- package/src/assets/svgs/direction-ltr.svg +0 -8
- package/src/assets/svgs/direction-rtl.svg +0 -8
- package/src/assets/svgs/divider.svg +0 -4
- package/src/assets/svgs/emoji.svg +0 -53
- package/src/assets/svgs/file.svg +0 -12
- package/src/assets/svgs/format-painter.svg +0 -10
- package/src/assets/svgs/formula.svg +0 -6
- package/src/assets/svgs/fullscreen.svg +0 -43
- package/src/assets/svgs/image.svg +0 -17
- package/src/assets/svgs/italic.svg +0 -6
- package/src/assets/svgs/link.svg +0 -9
- package/src/assets/svgs/list-bullet.svg +0 -16
- package/src/assets/svgs/list-ordered.svg +0 -18
- package/src/assets/svgs/list-task.svg +0 -5
- package/src/assets/svgs/redo.svg +0 -8
- package/src/assets/svgs/screenshot.svg +0 -17
- package/src/assets/svgs/script-sub.svg +0 -15
- package/src/assets/svgs/script-super.svg +0 -15
- package/src/assets/svgs/strike.svg +0 -6
- package/src/assets/svgs/underline.svg +0 -13
- package/src/assets/svgs/undo.svg +0 -8
- package/src/assets/svgs/video.svg +0 -10
- package/src/assets/tasklist.scss +0 -76
- package/src/assets/toolbar.scss +0 -385
- package/src/assets/variable.scss +0 -9
- package/src/assets/video.scss +0 -5
- package/src/attributors/font-size.ts +0 -6
- package/src/attributors/font-style.ts +0 -6
- package/src/attributors/index.ts +0 -4
- package/src/attributors/line-height.ts +0 -6
- package/src/attributors/text-indent.ts +0 -6
- package/src/config/base64-image.ts +0 -5
- package/src/config/editor.config.ts +0 -86
- package/src/config/editor.utils.ts +0 -193
- package/src/config/i18n/en-us.ts +0 -138
- package/src/config/i18n/zh-cn.ts +0 -137
- package/src/config/index.ts +0 -44
- package/src/config/types/editor-config.interface.ts +0 -16
- package/src/config/types/editor-modules.interface.ts +0 -47
- package/src/config/types/index.ts +0 -3
- package/src/config/types/type.ts +0 -2
- package/src/core/fluent-editor.ts +0 -31
- package/src/fluent-editor.ts +0 -72
- package/src/formats/emoji.ts +0 -10
- package/src/formats/index.ts +0 -4
- package/src/formats/soft-break.ts +0 -27
- package/src/formats/strike.ts +0 -11
- package/src/formats/video.ts +0 -53
- package/src/index.ts +0 -9
- package/src/modules/ai/constants.ts +0 -43
- package/src/modules/ai/icons.ts +0 -333
- package/src/modules/ai/index.ts +0 -850
- package/src/modules/ai/types.ts +0 -18
- package/src/modules/collaborative-editing/awareness/awareness.ts +0 -141
- package/src/modules/collaborative-editing/awareness/index.ts +0 -2
- package/src/modules/collaborative-editing/awareness/y-indexeddb.ts +0 -12
- package/src/modules/collaborative-editing/collaborative-editing.ts +0 -115
- package/src/modules/collaborative-editing/index.ts +0 -2
- package/src/modules/collaborative-editing/module.ts +0 -32
- package/src/modules/collaborative-editing/provider/index.ts +0 -3
- package/src/modules/collaborative-editing/provider/providerRegistry.ts +0 -57
- package/src/modules/collaborative-editing/provider/webrtc.ts +0 -125
- package/src/modules/collaborative-editing/provider/websocket.ts +0 -142
- package/src/modules/collaborative-editing/types.ts +0 -44
- package/src/modules/counter.ts +0 -84
- package/src/modules/custom-clipboard.ts +0 -537
- package/src/modules/custom-image/actions/action.ts +0 -15
- package/src/modules/custom-image/actions/custom-resize-action.ts +0 -207
- package/src/modules/custom-image/actions/delete-action.ts +0 -32
- package/src/modules/custom-image/actions/image-toolbar-buttons.ts +0 -135
- package/src/modules/custom-image/actions/index.ts +0 -6
- package/src/modules/custom-image/actions/toolbar-action.ts +0 -32
- package/src/modules/custom-image/actions/toolbar.ts +0 -145
- package/src/modules/custom-image/blot-formatter.ts +0 -158
- package/src/modules/custom-image/image.ts +0 -132
- package/src/modules/custom-image/index.ts +0 -4
- package/src/modules/custom-image/options.ts +0 -139
- package/src/modules/custom-image/specs/blot-spec.ts +0 -30
- package/src/modules/custom-image/specs/custom-image-spec.ts +0 -131
- package/src/modules/custom-image/specs/image-spec.ts +0 -28
- package/src/modules/custom-image/specs/index.ts +0 -3
- package/src/modules/custom-uploader.ts +0 -101
- package/src/modules/divider.ts +0 -15
- package/src/modules/emoji.ts +0 -230
- package/src/modules/file/formats/file.ts +0 -61
- package/src/modules/file/index.ts +0 -3
- package/src/modules/file/modules/file-bar.ts +0 -146
- package/src/modules/file/modules/file-module.ts +0 -33
- package/src/modules/i18n.ts +0 -66
- package/src/modules/index.ts +0 -16
- package/src/modules/link/formats/link.ts +0 -43
- package/src/modules/link/index.ts +0 -2
- package/src/modules/link/modules/tooltip.ts +0 -341
- package/src/modules/mathlive/formats.ts +0 -39
- package/src/modules/mathlive/index.ts +0 -3
- package/src/modules/mathlive/module.ts +0 -37
- package/src/modules/mathlive/tooltip.ts +0 -87
- package/src/modules/mention/constants.ts +0 -3
- package/src/modules/mention/index.ts +0 -2
- package/src/modules/mention/mention-link.ts +0 -64
- package/src/modules/mention/mention.ts +0 -404
- package/src/modules/shortcut-key/index.ts +0 -237
- package/src/modules/syntax.ts +0 -35
- package/src/modules/table-up/index.ts +0 -83
- package/src/modules/toolbar/better-picker.ts +0 -67
- package/src/modules/toolbar/better-toolbar.ts +0 -176
- package/src/modules/toolbar/index.ts +0 -3
- package/src/modules/toolbar/toolbar-tip.ts +0 -142
- package/src/themes/snow.ts +0 -309
- package/src/tools/format-painter.ts +0 -85
- package/src/tools/fullscreen.ts +0 -66
- package/src/tools/screenshot.ts +0 -231
- package/src/ui/icons.config.ts +0 -361
- package/src/ui/icons.ts +0 -89
- package/src/utils/debounce.ts +0 -150
- package/src/utils/image.ts +0 -22
- package/src/utils/is.ts +0 -9
- package/src/utils/method.ts +0 -77
- package/src/utils/scroll-lock.ts +0 -52
- package/tsconfig.json +0 -25
- package/vite.config.ts +0 -83
- /package/{dist/README.md → README.md} +0 -0
- /package/{dist/es → es}/attributors/font-size.es.js +0 -0
- /package/{dist/es → es}/attributors/font-size.es.js.map +0 -0
- /package/{dist/es → es}/attributors/font-style.es.js +0 -0
- /package/{dist/es → es}/attributors/font-style.es.js.map +0 -0
- /package/{dist/es → es}/attributors/index.es.js +0 -0
- /package/{dist/es → es}/attributors/index.es.js.map +0 -0
- /package/{dist/es → es}/attributors/line-height.es.js +0 -0
- /package/{dist/es → es}/attributors/line-height.es.js.map +0 -0
- /package/{dist/es → es}/attributors/text-indent.es.js +0 -0
- /package/{dist/es → es}/attributors/text-indent.es.js.map +0 -0
- /package/{dist/es → es}/config/base64-image.es.js +0 -0
- /package/{dist/es → es}/config/base64-image.es.js.map +0 -0
- /package/{dist/es → es}/config/editor.utils.es.js +0 -0
- /package/{dist/es → es}/config/types/editor-config.interface.es.js +0 -0
- /package/{dist/es → es}/config/types/editor-config.interface.es.js.map +0 -0
- /package/{dist/es → es}/config/types/editor-modules.interface.es.js +0 -0
- /package/{dist/es → es}/config/types/editor-modules.interface.es.js.map +0 -0
- /package/{dist/es → es}/config/types/index.es.js +0 -0
- /package/{dist/es → es}/config/types/index.es.js.map +0 -0
- /package/{dist/es → es}/config/types/type.es.js +0 -0
- /package/{dist/es → es}/config/types/type.es.js.map +0 -0
- /package/{dist/es → es}/core/fluent-editor.es.js +0 -0
- /package/{dist/es → es}/formats/emoji.es.js +0 -0
- /package/{dist/es → es}/formats/emoji.es.js.map +0 -0
- /package/{dist/es → es}/formats/index.es.js +0 -0
- /package/{dist/es → es}/formats/index.es.js.map +0 -0
- /package/{dist/es → es}/formats/soft-break.es.js +0 -0
- /package/{dist/es → es}/formats/strike.es.js +0 -0
- /package/{dist/es → es}/formats/strike.es.js.map +0 -0
- /package/{dist/es → es}/formats/video.es.js +0 -0
- /package/{dist/es → es}/modules/ai/constants.es.js +0 -0
- /package/{dist/es → es}/modules/ai/icons.es.js +0 -0
- /package/{dist/es → es}/modules/ai/icons.es.js.map +0 -0
- /package/{dist/es → es}/modules/collaborative-editing/awareness/index.es.js +0 -0
- /package/{dist/es → es}/modules/collaborative-editing/awareness/index.es.js.map +0 -0
- /package/{dist/es → es}/modules/collaborative-editing/index.es.js +0 -0
- /package/{dist/es → es}/modules/collaborative-editing/index.es.js.map +0 -0
- /package/{dist/es → es}/modules/collaborative-editing/module.es.js +0 -0
- /package/{dist/es → es}/modules/collaborative-editing/provider/providerRegistry.es.js +0 -0
- /package/{dist/es → es}/modules/collaborative-editing/types.es.js +0 -0
- /package/{dist/es → es}/modules/collaborative-editing/types.es.js.map +0 -0
- /package/{dist/es → es}/modules/counter.es.js +0 -0
- /package/{dist/es → es}/modules/custom-clipboard.es.js +0 -0
- /package/{dist/es → es}/modules/custom-image/actions/action.es.js +0 -0
- /package/{dist/es → es}/modules/custom-image/actions/custom-resize-action.es.js +0 -0
- /package/{dist/es → es}/modules/custom-image/actions/delete-action.es.js +0 -0
- /package/{dist/es → es}/modules/custom-image/actions/index.es.js +0 -0
- /package/{dist/es → es}/modules/custom-image/actions/index.es.js.map +0 -0
- /package/{dist/es → es}/modules/custom-image/actions/toolbar-action.es.js +0 -0
- /package/{dist/es → es}/modules/custom-image/actions/toolbar.es.js +0 -0
- /package/{dist/es → es}/modules/custom-image/image.es.js +0 -0
- /package/{dist/es → es}/modules/custom-image/index.es.js +0 -0
- /package/{dist/es → es}/modules/custom-image/index.es.js.map +0 -0
- /package/{dist/es → es}/modules/custom-image/options.es.js +0 -0
- /package/{dist/es → es}/modules/custom-image/specs/blot-spec.es.js +0 -0
- /package/{dist/es → es}/modules/custom-image/specs/custom-image-spec.es.js +0 -0
- /package/{dist/es → es}/modules/custom-image/specs/image-spec.es.js +0 -0
- /package/{dist/es → es}/modules/custom-image/specs/index.es.js +0 -0
- /package/{dist/es → es}/modules/custom-image/specs/index.es.js.map +0 -0
- /package/{dist/es → es}/modules/custom-uploader.es.js +0 -0
- /package/{dist/es → es}/modules/divider.es.js +0 -0
- /package/{dist/es → es}/modules/file/formats/file.es.js +0 -0
- /package/{dist/es → es}/modules/file/index.es.js +0 -0
- /package/{dist/es → es}/modules/file/index.es.js.map +0 -0
- /package/{dist/es → es}/modules/file/modules/file-bar.es.js +0 -0
- /package/{dist/es → es}/modules/file/modules/file-module.es.js +0 -0
- /package/{dist/es → es}/modules/i18n.es.js +0 -0
- /package/{dist/es → es}/modules/link/formats/link.es.js +0 -0
- /package/{dist/es → es}/modules/link/index.es.js +0 -0
- /package/{dist/es → es}/modules/link/index.es.js.map +0 -0
- /package/{dist/es → es}/modules/link/modules/tooltip.es.js +0 -0
- /package/{dist/es → es}/modules/mathlive/formats.es.js +0 -0
- /package/{dist/es → es}/modules/mathlive/index.es.js +0 -0
- /package/{dist/es → es}/modules/mathlive/index.es.js.map +0 -0
- /package/{dist/es → es}/modules/mathlive/module.es.js +0 -0
- /package/{dist/es → es}/modules/mathlive/tooltip.es.js +0 -0
- /package/{dist/es → es}/modules/mention/constants.es.js +0 -0
- /package/{dist/es → es}/modules/mention/constants.es.js.map +0 -0
- /package/{dist/es → es}/modules/mention/index.es.js +0 -0
- /package/{dist/es → es}/modules/mention/index.es.js.map +0 -0
- /package/{dist/es → es}/modules/mention/mention-link.es.js +0 -0
- /package/{dist/es → es}/modules/mention/mention.es.js +0 -0
- /package/{dist/es → es}/modules/syntax.es.js +0 -0
- /package/{dist/es → es}/modules/table-up/index.es.js +0 -0
- /package/{dist/es → es}/modules/toolbar/better-picker.es.js +0 -0
- /package/{dist/es → es}/modules/toolbar/better-toolbar.es.js +0 -0
- /package/{dist/es → es}/modules/toolbar/index.es.js +0 -0
- /package/{dist/es → es}/modules/toolbar/index.es.js.map +0 -0
- /package/{dist/es → es}/modules/toolbar/toolbar-tip.es.js +0 -0
- /package/{dist/es → es}/themes/snow.es.js +0 -0
- /package/{dist/es → es}/tools/format-painter.es.js +0 -0
- /package/{dist/es → es}/tools/fullscreen.es.js +0 -0
- /package/{dist/es → es}/tools/screenshot.es.js +0 -0
- /package/{dist/es → es}/utils/debounce.es.js +0 -0
- /package/{dist/es → es}/utils/image.es.js +0 -0
- /package/{dist/es → es}/utils/is.es.js +0 -0
- /package/{dist/es → es}/utils/method.es.js +0 -0
- /package/{dist/es → es}/utils/scroll-lock.es.js +0 -0
- /package/{dist/lib → lib}/attributors/font-size.cjs.js +0 -0
- /package/{dist/lib → lib}/attributors/font-size.cjs.js.map +0 -0
- /package/{dist/lib → lib}/attributors/font-style.cjs.js +0 -0
- /package/{dist/lib → lib}/attributors/font-style.cjs.js.map +0 -0
- /package/{dist/lib → lib}/attributors/index.cjs.js +0 -0
- /package/{dist/lib → lib}/attributors/index.cjs.js.map +0 -0
- /package/{dist/lib → lib}/attributors/line-height.cjs.js +0 -0
- /package/{dist/lib → lib}/attributors/line-height.cjs.js.map +0 -0
- /package/{dist/lib → lib}/attributors/text-indent.cjs.js +0 -0
- /package/{dist/lib → lib}/attributors/text-indent.cjs.js.map +0 -0
- /package/{dist/lib → lib}/config/base64-image.cjs.js +0 -0
- /package/{dist/lib → lib}/config/base64-image.cjs.js.map +0 -0
- /package/{dist/lib → lib}/config/editor.utils.cjs.js +0 -0
- /package/{dist/lib → lib}/config/types/editor-config.interface.cjs.js +0 -0
- /package/{dist/lib → lib}/config/types/editor-config.interface.cjs.js.map +0 -0
- /package/{dist/lib → lib}/config/types/editor-modules.interface.cjs.js +0 -0
- /package/{dist/lib → lib}/config/types/editor-modules.interface.cjs.js.map +0 -0
- /package/{dist/lib → lib}/config/types/index.cjs.js +0 -0
- /package/{dist/lib → lib}/config/types/index.cjs.js.map +0 -0
- /package/{dist/lib → lib}/config/types/type.cjs.js +0 -0
- /package/{dist/lib → lib}/config/types/type.cjs.js.map +0 -0
- /package/{dist/lib → lib}/core/fluent-editor.cjs.js +0 -0
- /package/{dist/lib → lib}/formats/emoji.cjs.js +0 -0
- /package/{dist/lib → lib}/formats/emoji.cjs.js.map +0 -0
- /package/{dist/lib → lib}/formats/index.cjs.js +0 -0
- /package/{dist/lib → lib}/formats/index.cjs.js.map +0 -0
- /package/{dist/lib → lib}/formats/soft-break.cjs.js +0 -0
- /package/{dist/lib → lib}/formats/strike.cjs.js +0 -0
- /package/{dist/lib → lib}/formats/strike.cjs.js.map +0 -0
- /package/{dist/lib → lib}/formats/video.cjs.js +0 -0
- /package/{dist/lib → lib}/modules/ai/constants.cjs.js +0 -0
- /package/{dist/lib → lib}/modules/ai/icons.cjs.js +0 -0
- /package/{dist/lib → lib}/modules/ai/icons.cjs.js.map +0 -0
- /package/{dist/lib → lib}/modules/ai/index.cjs.js +0 -0
- /package/{dist/lib → lib}/modules/collaborative-editing/awareness/index.cjs.js +0 -0
- /package/{dist/lib → lib}/modules/collaborative-editing/awareness/index.cjs.js.map +0 -0
- /package/{dist/lib → lib}/modules/collaborative-editing/index.cjs.js +0 -0
- /package/{dist/lib → lib}/modules/collaborative-editing/index.cjs.js.map +0 -0
- /package/{dist/lib → lib}/modules/collaborative-editing/module.cjs.js +0 -0
- /package/{dist/lib → lib}/modules/collaborative-editing/provider/providerRegistry.cjs.js +0 -0
- /package/{dist/lib → lib}/modules/collaborative-editing/types.cjs.js +0 -0
- /package/{dist/lib → lib}/modules/collaborative-editing/types.cjs.js.map +0 -0
- /package/{dist/lib → lib}/modules/counter.cjs.js +0 -0
- /package/{dist/lib → lib}/modules/custom-clipboard.cjs.js +0 -0
- /package/{dist/lib → lib}/modules/custom-image/actions/action.cjs.js +0 -0
- /package/{dist/lib → lib}/modules/custom-image/actions/custom-resize-action.cjs.js +0 -0
- /package/{dist/lib → lib}/modules/custom-image/actions/delete-action.cjs.js +0 -0
- /package/{dist/lib → lib}/modules/custom-image/actions/image-toolbar-buttons.cjs.js +0 -0
- /package/{dist/lib → lib}/modules/custom-image/actions/index.cjs.js +0 -0
- /package/{dist/lib → lib}/modules/custom-image/actions/index.cjs.js.map +0 -0
- /package/{dist/lib → lib}/modules/custom-image/actions/toolbar-action.cjs.js +0 -0
- /package/{dist/lib → lib}/modules/custom-image/actions/toolbar.cjs.js +0 -0
- /package/{dist/lib → lib}/modules/custom-image/image.cjs.js +0 -0
- /package/{dist/lib → lib}/modules/custom-image/index.cjs.js +0 -0
- /package/{dist/lib → lib}/modules/custom-image/index.cjs.js.map +0 -0
- /package/{dist/lib → lib}/modules/custom-image/options.cjs.js +0 -0
- /package/{dist/lib → lib}/modules/custom-image/specs/blot-spec.cjs.js +0 -0
- /package/{dist/lib → lib}/modules/custom-image/specs/custom-image-spec.cjs.js +0 -0
- /package/{dist/lib → lib}/modules/custom-image/specs/image-spec.cjs.js +0 -0
- /package/{dist/lib → lib}/modules/custom-image/specs/index.cjs.js +0 -0
- /package/{dist/lib → lib}/modules/custom-image/specs/index.cjs.js.map +0 -0
- /package/{dist/lib → lib}/modules/custom-uploader.cjs.js +0 -0
- /package/{dist/lib → lib}/modules/divider.cjs.js +0 -0
- /package/{dist/lib → lib}/modules/file/formats/file.cjs.js +0 -0
- /package/{dist/lib → lib}/modules/file/index.cjs.js +0 -0
- /package/{dist/lib → lib}/modules/file/index.cjs.js.map +0 -0
- /package/{dist/lib → lib}/modules/file/modules/file-bar.cjs.js +0 -0
- /package/{dist/lib → lib}/modules/file/modules/file-module.cjs.js +0 -0
- /package/{dist/lib → lib}/modules/i18n.cjs.js +0 -0
- /package/{dist/lib → lib}/modules/link/formats/link.cjs.js +0 -0
- /package/{dist/lib → lib}/modules/link/index.cjs.js +0 -0
- /package/{dist/lib → lib}/modules/link/index.cjs.js.map +0 -0
- /package/{dist/lib → lib}/modules/link/modules/tooltip.cjs.js +0 -0
- /package/{dist/lib → lib}/modules/mathlive/formats.cjs.js +0 -0
- /package/{dist/lib → lib}/modules/mathlive/index.cjs.js +0 -0
- /package/{dist/lib → lib}/modules/mathlive/index.cjs.js.map +0 -0
- /package/{dist/lib → lib}/modules/mathlive/module.cjs.js +0 -0
- /package/{dist/lib → lib}/modules/mathlive/tooltip.cjs.js +0 -0
- /package/{dist/lib → lib}/modules/mention/constants.cjs.js +0 -0
- /package/{dist/lib → lib}/modules/mention/constants.cjs.js.map +0 -0
- /package/{dist/lib → lib}/modules/mention/index.cjs.js +0 -0
- /package/{dist/lib → lib}/modules/mention/index.cjs.js.map +0 -0
- /package/{dist/lib → lib}/modules/mention/mention-link.cjs.js +0 -0
- /package/{dist/lib → lib}/modules/mention/mention.cjs.js +0 -0
- /package/{dist/lib → lib}/modules/syntax.cjs.js +0 -0
- /package/{dist/lib → lib}/modules/table-up/index.cjs.js +0 -0
- /package/{dist/lib → lib}/modules/toolbar/better-picker.cjs.js +0 -0
- /package/{dist/lib → lib}/modules/toolbar/better-toolbar.cjs.js +0 -0
- /package/{dist/lib → lib}/modules/toolbar/index.cjs.js +0 -0
- /package/{dist/lib → lib}/modules/toolbar/index.cjs.js.map +0 -0
- /package/{dist/lib → lib}/modules/toolbar/toolbar-tip.cjs.js +0 -0
- /package/{dist/lib → lib}/themes/snow.cjs.js +0 -0
- /package/{dist/lib → lib}/tools/format-painter.cjs.js +0 -0
- /package/{dist/lib → lib}/tools/fullscreen.cjs.js +0 -0
- /package/{dist/lib → lib}/tools/screenshot.cjs.js +0 -0
- /package/{dist/lib → lib}/utils/debounce.cjs.js +0 -0
- /package/{dist/lib → lib}/utils/image.cjs.js +0 -0
- /package/{dist/lib → lib}/utils/is.cjs.js +0 -0
- /package/{dist/lib → lib}/utils/method.cjs.js +0 -0
- /package/{dist/lib → lib}/utils/scroll-lock.cjs.js +0 -0
- /package/{dist/types → types}/attributors/font-size.d.ts +0 -0
- /package/{dist/types → types}/attributors/font-style.d.ts +0 -0
- /package/{dist/types → types}/attributors/index.d.ts +0 -0
- /package/{dist/types → types}/attributors/line-height.d.ts +0 -0
- /package/{dist/types → types}/attributors/text-indent.d.ts +0 -0
- /package/{dist/types → types}/config/base64-image.d.ts +0 -0
- /package/{dist/types → types}/config/editor.utils.d.ts +0 -0
- /package/{dist/types → types}/config/index.d.ts +0 -0
- /package/{dist/types → types}/config/types/editor-config.interface.d.ts +0 -0
- /package/{dist/types → types}/config/types/index.d.ts +0 -0
- /package/{dist/types → types}/config/types/type.d.ts +0 -0
- /package/{dist/types → types}/core/fluent-editor.d.ts +0 -0
- /package/{dist/types → types}/fluent-editor.d.ts +0 -0
- /package/{dist/types → types}/formats/emoji.d.ts +0 -0
- /package/{dist/types → types}/formats/index.d.ts +0 -0
- /package/{dist/types → types}/formats/soft-break.d.ts +0 -0
- /package/{dist/types → types}/formats/strike.d.ts +0 -0
- /package/{dist/types → types}/formats/video.d.ts +0 -0
- /package/{dist/types → types}/modules/ai/constants.d.ts +0 -0
- /package/{dist/types → types}/modules/ai/icons.d.ts +0 -0
- /package/{dist/types → types}/modules/ai/index.d.ts +0 -0
- /package/{dist/types → types}/modules/ai/types.d.ts +0 -0
- /package/{dist/types → types}/modules/collaborative-editing/awareness/index.d.ts +0 -0
- /package/{dist/types → types}/modules/collaborative-editing/index.d.ts +0 -0
- /package/{dist/types → types}/modules/collaborative-editing/module.d.ts +0 -0
- /package/{dist/types → types}/modules/collaborative-editing/provider/index.d.ts +0 -0
- /package/{dist/types → types}/modules/counter.d.ts +0 -0
- /package/{dist/types → types}/modules/custom-clipboard.d.ts +0 -0
- /package/{dist/types → types}/modules/custom-image/actions/action.d.ts +0 -0
- /package/{dist/types → types}/modules/custom-image/actions/custom-resize-action.d.ts +0 -0
- /package/{dist/types → types}/modules/custom-image/actions/delete-action.d.ts +0 -0
- /package/{dist/types → types}/modules/custom-image/actions/image-toolbar-buttons.d.ts +0 -0
- /package/{dist/types → types}/modules/custom-image/actions/index.d.ts +0 -0
- /package/{dist/types → types}/modules/custom-image/actions/toolbar-action.d.ts +0 -0
- /package/{dist/types → types}/modules/custom-image/actions/toolbar.d.ts +0 -0
- /package/{dist/types → types}/modules/custom-image/blot-formatter.d.ts +0 -0
- /package/{dist/types → types}/modules/custom-image/image.d.ts +0 -0
- /package/{dist/types → types}/modules/custom-image/index.d.ts +0 -0
- /package/{dist/types → types}/modules/custom-image/options.d.ts +0 -0
- /package/{dist/types → types}/modules/custom-image/specs/blot-spec.d.ts +0 -0
- /package/{dist/types → types}/modules/custom-image/specs/custom-image-spec.d.ts +0 -0
- /package/{dist/types → types}/modules/custom-image/specs/image-spec.d.ts +0 -0
- /package/{dist/types → types}/modules/custom-image/specs/index.d.ts +0 -0
- /package/{dist/types → types}/modules/custom-uploader.d.ts +0 -0
- /package/{dist/types → types}/modules/divider.d.ts +0 -0
- /package/{dist/types → types}/modules/emoji.d.ts +0 -0
- /package/{dist/types → types}/modules/file/formats/file.d.ts +0 -0
- /package/{dist/types → types}/modules/file/index.d.ts +0 -0
- /package/{dist/types → types}/modules/file/modules/file-bar.d.ts +0 -0
- /package/{dist/types → types}/modules/file/modules/file-module.d.ts +0 -0
- /package/{dist/types → types}/modules/i18n.d.ts +0 -0
- /package/{dist/types → types}/modules/link/formats/link.d.ts +0 -0
- /package/{dist/types → types}/modules/link/index.d.ts +0 -0
- /package/{dist/types → types}/modules/link/modules/tooltip.d.ts +0 -0
- /package/{dist/types → types}/modules/mathlive/formats.d.ts +0 -0
- /package/{dist/types → types}/modules/mathlive/index.d.ts +0 -0
- /package/{dist/types → types}/modules/mathlive/module.d.ts +0 -0
- /package/{dist/types → types}/modules/mathlive/tooltip.d.ts +0 -0
- /package/{dist/types → types}/modules/mention/constants.d.ts +0 -0
- /package/{dist/types → types}/modules/mention/index.d.ts +0 -0
- /package/{dist/types → types}/modules/mention/mention-link.d.ts +0 -0
- /package/{dist/types → types}/modules/mention/mention.d.ts +0 -0
- /package/{dist/types → types}/modules/shortcut-key/index.d.ts +0 -0
- /package/{dist/types → types}/modules/syntax.d.ts +0 -0
- /package/{dist/types → types}/modules/table-up/index.d.ts +0 -0
- /package/{dist/types → types}/modules/toolbar/better-picker.d.ts +0 -0
- /package/{dist/types → types}/modules/toolbar/better-toolbar.d.ts +0 -0
- /package/{dist/types → types}/modules/toolbar/index.d.ts +0 -0
- /package/{dist/types → types}/modules/toolbar/toolbar-tip.d.ts +0 -0
- /package/{dist/types → types}/themes/snow.d.ts +0 -0
- /package/{dist/types → types}/tools/format-painter.d.ts +0 -0
- /package/{dist/types → types}/tools/fullscreen.d.ts +0 -0
- /package/{dist/types → types}/tools/screenshot.d.ts +0 -0
- /package/{dist/types → types}/ui/icons.d.ts +0 -0
- /package/{dist/types → types}/utils/debounce.d.ts +0 -0
- /package/{dist/types → types}/utils/image.d.ts +0 -0
- /package/{dist/types → types}/utils/is.d.ts +0 -0
- /package/{dist/types → types}/utils/method.d.ts +0 -0
- /package/{dist/types → types}/utils/scroll-lock.d.ts +0 -0
package/src/themes/snow.ts
DELETED
|
@@ -1,309 +0,0 @@
|
|
|
1
|
-
import type { ThemeOptions } from 'quill/core/theme'
|
|
2
|
-
import type TypeToolbar from 'quill/modules/toolbar'
|
|
3
|
-
import type TypeIconPicker from 'quill/ui/icon-picker'
|
|
4
|
-
import { CHANGE_LANGUAGE_EVENT, inputFile, isNullOrUndefined } from '../config'
|
|
5
|
-
import FluentEditor from '../core/fluent-editor'
|
|
6
|
-
import { CustomImageSpec } from '../modules/custom-image/specs/custom-image-spec'
|
|
7
|
-
import { LinkTooltip } from '../modules/link'
|
|
8
|
-
import { shortKey } from '../modules/shortcut-key'
|
|
9
|
-
import { ColorPicker, Picker } from '../modules/toolbar/better-picker'
|
|
10
|
-
import { FormatPainter } from '../tools/format-painter'
|
|
11
|
-
import { fullscreenHandler } from '../tools/fullscreen'
|
|
12
|
-
import { Screenshot } from '../tools/screenshot'
|
|
13
|
-
|
|
14
|
-
const OriginSnowTheme = FluentEditor.import('themes/snow') as any
|
|
15
|
-
const IconPicker = FluentEditor.import('ui/icon-picker') as typeof TypeIconPicker
|
|
16
|
-
|
|
17
|
-
OriginSnowTheme.DEFAULTS = {
|
|
18
|
-
modules: {
|
|
19
|
-
'i18n': true,
|
|
20
|
-
'keyboard': {
|
|
21
|
-
bindings: {
|
|
22
|
-
...shortKey,
|
|
23
|
-
},
|
|
24
|
-
},
|
|
25
|
-
'toolbar': {
|
|
26
|
-
handlers: {
|
|
27
|
-
...(OriginSnowTheme.DEFAULTS as Record<string, any>).modules.toolbar.handlers,
|
|
28
|
-
'formula': function () {
|
|
29
|
-
if (!this.quill.isEnabled()) return
|
|
30
|
-
const mathlive = this.quill.getModule('mathlive')
|
|
31
|
-
if (!mathlive) {
|
|
32
|
-
this.quill.theme.tooltip.edit('formula')
|
|
33
|
-
}
|
|
34
|
-
else {
|
|
35
|
-
mathlive.createDialog()
|
|
36
|
-
}
|
|
37
|
-
},
|
|
38
|
-
'undo': function () {
|
|
39
|
-
this.quill.history.undo()
|
|
40
|
-
},
|
|
41
|
-
'redo': function () {
|
|
42
|
-
this.quill.history.redo()
|
|
43
|
-
},
|
|
44
|
-
'file': function () {
|
|
45
|
-
const accept = this.quill.uploader.options.mimetypes
|
|
46
|
-
inputFile.call(this, 'file', accept)
|
|
47
|
-
},
|
|
48
|
-
'image': function () {
|
|
49
|
-
const accept = (this.quill as FluentEditor).uploader.options.mimetypes.filter((type) => {
|
|
50
|
-
if (type === '*') return 'image/*'
|
|
51
|
-
return type.startsWith('image/')
|
|
52
|
-
})
|
|
53
|
-
inputFile.call(this, 'image', accept)
|
|
54
|
-
},
|
|
55
|
-
'video': function () {
|
|
56
|
-
const accept = (this.quill as FluentEditor).uploader.options.mimetypes.filter((type) => {
|
|
57
|
-
if (type === '*') return 'video/*'
|
|
58
|
-
return type.startsWith('video/')
|
|
59
|
-
})
|
|
60
|
-
inputFile.call(this, 'video', accept)
|
|
61
|
-
},
|
|
62
|
-
'ai': function () {},
|
|
63
|
-
'emoji': function () {},
|
|
64
|
-
'fullscreen': fullscreenHandler,
|
|
65
|
-
[FormatPainter.toolName]: FormatPainter,
|
|
66
|
-
[Screenshot.toolName]: Screenshot,
|
|
67
|
-
'line-height': function (value) {
|
|
68
|
-
this.quill.format('line-height', value)
|
|
69
|
-
},
|
|
70
|
-
'divider': function () {
|
|
71
|
-
const range = this.quill.getSelection(true)
|
|
72
|
-
this.quill.insertText(range.index, '\n', FluentEditor.sources.USER)
|
|
73
|
-
this.quill.insertEmbed(range.index + 1, 'divider', true, FluentEditor.sources.USER)
|
|
74
|
-
this.quill.setSelection(range.index + 2, FluentEditor.sources.SILENT)
|
|
75
|
-
},
|
|
76
|
-
},
|
|
77
|
-
},
|
|
78
|
-
'image': {
|
|
79
|
-
specs: [CustomImageSpec],
|
|
80
|
-
overlay: {
|
|
81
|
-
style: {
|
|
82
|
-
border: '1px dashed rgb(68, 68, 68)',
|
|
83
|
-
},
|
|
84
|
-
},
|
|
85
|
-
},
|
|
86
|
-
'shortcut-key': true,
|
|
87
|
-
'file': true,
|
|
88
|
-
},
|
|
89
|
-
}
|
|
90
|
-
|
|
91
|
-
const ALIGNS = [false, 'center', 'right']
|
|
92
|
-
const COLORS = [
|
|
93
|
-
'',
|
|
94
|
-
'rgb(255, 255, 255)',
|
|
95
|
-
'rgb(0, 0, 0)',
|
|
96
|
-
'rgb(72, 83, 104)',
|
|
97
|
-
'rgb(41, 114, 244)',
|
|
98
|
-
'rgb(0, 163, 245)',
|
|
99
|
-
'rgb(49, 155, 98)',
|
|
100
|
-
'rgb(222, 60, 54)',
|
|
101
|
-
'rgb(248, 136, 37)',
|
|
102
|
-
'rgb(245, 196, 0)',
|
|
103
|
-
'rgb(153, 56, 215)',
|
|
104
|
-
|
|
105
|
-
'rgb(242, 242, 242)',
|
|
106
|
-
'rgb(127, 127, 127)',
|
|
107
|
-
'rgb(243, 245, 247)',
|
|
108
|
-
'rgb(229, 239, 255)',
|
|
109
|
-
'rgb(229, 246, 255)',
|
|
110
|
-
'rgb(234, 250, 241)',
|
|
111
|
-
'rgb(254, 233, 232)',
|
|
112
|
-
'rgb(254, 243, 235)',
|
|
113
|
-
'rgb(254, 249, 227)',
|
|
114
|
-
'rgb(253, 235, 255)',
|
|
115
|
-
|
|
116
|
-
'rgb(216, 216, 216)',
|
|
117
|
-
'rgb(89, 89, 89)',
|
|
118
|
-
'rgb(197, 202, 211)',
|
|
119
|
-
'rgb(199, 220, 255)',
|
|
120
|
-
'rgb(199, 236, 255)',
|
|
121
|
-
'rgb(195, 234, 213)',
|
|
122
|
-
'rgb(255, 201, 199)',
|
|
123
|
-
'rgb(255, 220, 196)',
|
|
124
|
-
'rgb(255, 238, 173)',
|
|
125
|
-
'rgb(242, 199, 255)',
|
|
126
|
-
|
|
127
|
-
'rgb(191, 191, 191)',
|
|
128
|
-
'rgb(63, 63, 63)',
|
|
129
|
-
'rgb(128, 139, 158)',
|
|
130
|
-
'rgb(153, 190, 255)',
|
|
131
|
-
'rgb(153, 221, 255)',
|
|
132
|
-
'rgb(152, 215, 182)',
|
|
133
|
-
'rgb(255, 156, 153)',
|
|
134
|
-
'rgb(255, 186, 132)',
|
|
135
|
-
'rgb(255, 226, 112)',
|
|
136
|
-
'rgb(213, 142, 255)',
|
|
137
|
-
|
|
138
|
-
'rgb(165, 165, 165)',
|
|
139
|
-
'rgb(38, 38, 38)',
|
|
140
|
-
'rgb(53, 59, 69)',
|
|
141
|
-
'rgb(20, 80, 184)',
|
|
142
|
-
'rgb(18, 116, 165)',
|
|
143
|
-
'rgb(39, 124, 79)',
|
|
144
|
-
'rgb(158, 30, 26)',
|
|
145
|
-
'rgb(184, 96, 20)',
|
|
146
|
-
'rgb(163, 130, 0)',
|
|
147
|
-
'rgb(94, 34, 129)',
|
|
148
|
-
|
|
149
|
-
'rgb(147, 147, 147)',
|
|
150
|
-
'rgb(13, 13, 13)',
|
|
151
|
-
'rgb(36, 39, 46)',
|
|
152
|
-
'rgb(12, 48, 110)',
|
|
153
|
-
'rgb(10, 65, 92)',
|
|
154
|
-
'rgb(24, 78, 50)',
|
|
155
|
-
'rgb(88, 17, 14)',
|
|
156
|
-
'rgb(92, 48, 10)',
|
|
157
|
-
'rgb(102, 82, 0)',
|
|
158
|
-
'rgb(59, 21, 81)',
|
|
159
|
-
|
|
160
|
-
'custom',
|
|
161
|
-
]
|
|
162
|
-
const FONTS = [false, 'serif', 'monospace']
|
|
163
|
-
const HEADERS = ['1', '2', '3', false]
|
|
164
|
-
const SIZES = ['small', false, 'large', 'huge']
|
|
165
|
-
const LINEHEIGHT = [false, '1.2', '1.5', '2']
|
|
166
|
-
|
|
167
|
-
class SnowTheme extends OriginSnowTheme {
|
|
168
|
-
constructor(public quill: FluentEditor, options: ThemeOptions) {
|
|
169
|
-
super(quill, options)
|
|
170
|
-
|
|
171
|
-
this.quill.emitter.on(CHANGE_LANGUAGE_EVENT, () => {
|
|
172
|
-
this.i18nTextToolbar()
|
|
173
|
-
})
|
|
174
|
-
}
|
|
175
|
-
|
|
176
|
-
i18nTextToolbar() {
|
|
177
|
-
const toolbar = this.quill.getModule('toolbar') as TypeToolbar
|
|
178
|
-
ColorPicker.clearText = this.quill.getLangText('clear-color')
|
|
179
|
-
ColorPicker.customText = this.quill.getLangText('custom-color')
|
|
180
|
-
|
|
181
|
-
if (!toolbar || !this.pickers) return
|
|
182
|
-
|
|
183
|
-
this.pickers.forEach((picker) => {
|
|
184
|
-
if (picker instanceof ColorPicker) {
|
|
185
|
-
// EasyColorPicker have not dts. abd origin quill ColorPicker dts not complete. use any to resovle ts type error
|
|
186
|
-
const colorPicker = picker as any
|
|
187
|
-
colorPicker.options.remove()
|
|
188
|
-
Array.from(colorPicker.select.options).forEach((option: any) => {
|
|
189
|
-
if (option.hasAttribute('custom')) {
|
|
190
|
-
option.remove()
|
|
191
|
-
}
|
|
192
|
-
})
|
|
193
|
-
colorPicker.buildOptions()
|
|
194
|
-
colorPicker.createUsedColor()
|
|
195
|
-
}
|
|
196
|
-
|
|
197
|
-
if (picker.select && picker.select.classList.contains('ql-header')) {
|
|
198
|
-
const getLabelKey = (v: string | null) => (v ? `header-${v}` : 'header-normal')
|
|
199
|
-
|
|
200
|
-
// 更新 label 文本
|
|
201
|
-
const labelValue = picker.label.getAttribute('data-value')
|
|
202
|
-
picker.label.setAttribute('data-label', this.quill.getLangText(getLabelKey(labelValue)))
|
|
203
|
-
|
|
204
|
-
const select = picker.select as HTMLSelectElement
|
|
205
|
-
Array.from(select.options).forEach((option) => {
|
|
206
|
-
const value = option.getAttribute('value')
|
|
207
|
-
option.textContent = this.quill.getLangText(getLabelKey(value))
|
|
208
|
-
})
|
|
209
|
-
|
|
210
|
-
picker.options.remove()
|
|
211
|
-
picker.buildOptions()
|
|
212
|
-
}
|
|
213
|
-
})
|
|
214
|
-
}
|
|
215
|
-
|
|
216
|
-
buildPickers(selects: NodeListOf<HTMLSelectElement>, icons: Record<string, string | Record<string, string>>) {
|
|
217
|
-
this.pickers = Array.from(selects).map((select) => {
|
|
218
|
-
if (select.classList.contains('ql-align')) {
|
|
219
|
-
if (isNullOrUndefined(select.querySelector('option'))) {
|
|
220
|
-
fillSelect(select, ALIGNS)
|
|
221
|
-
}
|
|
222
|
-
return new IconPicker(select, icons.align as Record<string, string>)
|
|
223
|
-
}
|
|
224
|
-
|
|
225
|
-
if (select.classList.contains('ql-background') || select.classList.contains('ql-color')) {
|
|
226
|
-
const format = select.classList.contains('ql-background') ? 'background' : 'color'
|
|
227
|
-
if (isNullOrUndefined(select.querySelector('option'))) {
|
|
228
|
-
fillColorSelect(select, COLORS, format, format === 'background' ? '#ffffff' : '#000000')
|
|
229
|
-
}
|
|
230
|
-
return new ColorPicker(select, icons[format] as string, {
|
|
231
|
-
expandIcon: '<i class="icon" />',
|
|
232
|
-
closeAfterChange: false,
|
|
233
|
-
})
|
|
234
|
-
}
|
|
235
|
-
|
|
236
|
-
if (isNullOrUndefined(select.querySelector('option'))) {
|
|
237
|
-
if (select.classList.contains('ql-font')) {
|
|
238
|
-
fillSelect(select, FONTS)
|
|
239
|
-
}
|
|
240
|
-
else if (select.classList.contains('ql-header')) {
|
|
241
|
-
fillSelect(select, HEADERS)
|
|
242
|
-
}
|
|
243
|
-
else if (select.classList.contains('ql-size')) {
|
|
244
|
-
fillSelect(select, SIZES)
|
|
245
|
-
}
|
|
246
|
-
else if (select.classList.contains('ql-line-height')) {
|
|
247
|
-
fillSelect(select, LINEHEIGHT)
|
|
248
|
-
}
|
|
249
|
-
}
|
|
250
|
-
return new Picker(select)
|
|
251
|
-
})
|
|
252
|
-
|
|
253
|
-
const update = () => {
|
|
254
|
-
this.pickers.forEach((picker) => {
|
|
255
|
-
if (picker instanceof ColorPicker) return
|
|
256
|
-
picker.update()
|
|
257
|
-
})
|
|
258
|
-
}
|
|
259
|
-
this.quill.on(FluentEditor.events.EDITOR_CHANGE, update)
|
|
260
|
-
}
|
|
261
|
-
|
|
262
|
-
extendToolbar(toolbar) {
|
|
263
|
-
const icons = FluentEditor.import('ui/icons') as Record<string, any>
|
|
264
|
-
toolbar.container.classList.add('ql-snow')
|
|
265
|
-
this.buildButtons(toolbar.container.querySelectorAll('button'), icons)
|
|
266
|
-
this.buildPickers(toolbar.container.querySelectorAll('select'), icons)
|
|
267
|
-
this.tooltip = new LinkTooltip(this.quill, this.options.bounds)
|
|
268
|
-
}
|
|
269
|
-
}
|
|
270
|
-
|
|
271
|
-
function fillSelect(select, values, defaultValue = false) {
|
|
272
|
-
values.forEach((value) => {
|
|
273
|
-
const option = document.createElement('option')
|
|
274
|
-
if (value === defaultValue) {
|
|
275
|
-
option.setAttribute('selected', 'selected')
|
|
276
|
-
}
|
|
277
|
-
else {
|
|
278
|
-
option.setAttribute('value', value)
|
|
279
|
-
}
|
|
280
|
-
select.appendChild(option)
|
|
281
|
-
})
|
|
282
|
-
}
|
|
283
|
-
|
|
284
|
-
function fillColorSelect(
|
|
285
|
-
select: HTMLSelectElement,
|
|
286
|
-
values: Array<string | boolean>,
|
|
287
|
-
format: string,
|
|
288
|
-
defaultValue: unknown = false,
|
|
289
|
-
) {
|
|
290
|
-
const colorGetter = document.createElement('span') as HTMLElement
|
|
291
|
-
for (const value of values) {
|
|
292
|
-
const option = document.createElement('option')
|
|
293
|
-
if (value === defaultValue) {
|
|
294
|
-
option.setAttribute('selected', 'selected')
|
|
295
|
-
}
|
|
296
|
-
else {
|
|
297
|
-
if (value !== 'custom') {
|
|
298
|
-
colorGetter.style[format] = String(value)
|
|
299
|
-
option.setAttribute('value', colorGetter.style[format])
|
|
300
|
-
}
|
|
301
|
-
else {
|
|
302
|
-
option.setAttribute('value', value)
|
|
303
|
-
}
|
|
304
|
-
}
|
|
305
|
-
select.appendChild(option)
|
|
306
|
-
}
|
|
307
|
-
}
|
|
308
|
-
|
|
309
|
-
export default SnowTheme
|
|
@@ -1,85 +0,0 @@
|
|
|
1
|
-
import type { Range } from 'quill'
|
|
2
|
-
import type Toolbar from 'quill/modules/toolbar'
|
|
3
|
-
import Quill from 'quill'
|
|
4
|
-
|
|
5
|
-
export interface FormatData {
|
|
6
|
-
formatPainter: {
|
|
7
|
-
rangeFormat: Record<string, any>
|
|
8
|
-
isFormatterLock: boolean
|
|
9
|
-
isFormating: boolean
|
|
10
|
-
prepareLock: boolean
|
|
11
|
-
}
|
|
12
|
-
}
|
|
13
|
-
export function FormatPainter(this: Toolbar & FormatData) {
|
|
14
|
-
if (!this.formatPainter) {
|
|
15
|
-
this.formatPainter = {
|
|
16
|
-
rangeFormat: {},
|
|
17
|
-
isFormatterLock: false,
|
|
18
|
-
isFormating: false,
|
|
19
|
-
prepareLock: false,
|
|
20
|
-
}
|
|
21
|
-
}
|
|
22
|
-
const [, formatterBtn] = this.controls.find(([name]) => name === FormatPainter.toolName)
|
|
23
|
-
const formatRange = (range: Range | null) => {
|
|
24
|
-
if (!range) return
|
|
25
|
-
const currentFormats = this.quill.getFormat(range)
|
|
26
|
-
for (const format in currentFormats) {
|
|
27
|
-
if (this.quill.options['format-painter']?.ignoreFormat?.includes(format)) continue
|
|
28
|
-
this.quill.format(format, null, Quill.sources.USER)
|
|
29
|
-
}
|
|
30
|
-
|
|
31
|
-
for (const format in this.formatPainter.rangeFormat) {
|
|
32
|
-
if (this.quill.options['format-painter']?.ignoreFormat?.includes(format)) continue
|
|
33
|
-
this.quill.format(format, this.formatPainter.rangeFormat[format], Quill.sources.USER)
|
|
34
|
-
}
|
|
35
|
-
if (!this.formatPainter.isFormatterLock) {
|
|
36
|
-
unbindFormatSelect()
|
|
37
|
-
}
|
|
38
|
-
else {
|
|
39
|
-
btnActive()
|
|
40
|
-
}
|
|
41
|
-
}
|
|
42
|
-
// setTime for Toolbar.update
|
|
43
|
-
const btnActive = () => {
|
|
44
|
-
setTimeout(() => {
|
|
45
|
-
formatterBtn.classList.add('ql-active')
|
|
46
|
-
}, 0)
|
|
47
|
-
}
|
|
48
|
-
const btnRemoveActive = () => {
|
|
49
|
-
setTimeout(() => {
|
|
50
|
-
formatterBtn.classList.remove('ql-active')
|
|
51
|
-
}, 0)
|
|
52
|
-
}
|
|
53
|
-
const bindFormatSelect = () => {
|
|
54
|
-
const range = this.quill.getSelection()
|
|
55
|
-
if (range.length === 0) return
|
|
56
|
-
this.formatPainter.rangeFormat = this.quill.getFormat(range)
|
|
57
|
-
this.formatPainter.isFormating = true
|
|
58
|
-
this.quill.on(Quill.events.SELECTION_CHANGE, formatRange)
|
|
59
|
-
btnActive()
|
|
60
|
-
}
|
|
61
|
-
const unbindFormatSelect = () => {
|
|
62
|
-
this.quill.off(Quill.events.SELECTION_CHANGE, formatRange)
|
|
63
|
-
this.formatPainter.rangeFormat = {}
|
|
64
|
-
btnRemoveActive()
|
|
65
|
-
this.formatPainter.isFormating = false
|
|
66
|
-
this.formatPainter.isFormatterLock = false
|
|
67
|
-
}
|
|
68
|
-
|
|
69
|
-
if (this.formatPainter.isFormatterLock || (this.formatPainter.isFormating && !this.formatPainter.prepareLock)) {
|
|
70
|
-
unbindFormatSelect()
|
|
71
|
-
}
|
|
72
|
-
else if (this.formatPainter.isFormating && this.formatPainter.prepareLock) {
|
|
73
|
-
this.formatPainter.isFormatterLock = true
|
|
74
|
-
btnActive()
|
|
75
|
-
}
|
|
76
|
-
else {
|
|
77
|
-
// imitate double click
|
|
78
|
-
this.formatPainter.prepareLock = true
|
|
79
|
-
setTimeout(() => {
|
|
80
|
-
this.formatPainter.prepareLock = false
|
|
81
|
-
}, 200)
|
|
82
|
-
bindFormatSelect()
|
|
83
|
-
}
|
|
84
|
-
}
|
|
85
|
-
FormatPainter.toolName = 'format-painter'
|
package/src/tools/fullscreen.ts
DELETED
|
@@ -1,66 +0,0 @@
|
|
|
1
|
-
import type Toolbar from 'quill/modules/toolbar'
|
|
2
|
-
import type FluentEditor from '../core/fluent-editor'
|
|
3
|
-
import { namespace } from '../config'
|
|
4
|
-
import { ICONS_CONFIG } from '../ui/icons'
|
|
5
|
-
import { lockScroll } from '../utils/scroll-lock'
|
|
6
|
-
|
|
7
|
-
export interface FluentEditorToolbar extends Toolbar {
|
|
8
|
-
quill: FluentEditor
|
|
9
|
-
}
|
|
10
|
-
|
|
11
|
-
let exitEscHandlerBindToolbar: (e: KeyboardEvent) => void
|
|
12
|
-
let resizeHandlerBindToolbar: () => void
|
|
13
|
-
let cleanLock: ReturnType<typeof lockScroll>
|
|
14
|
-
let originScrollTop = 0
|
|
15
|
-
function exitEscHandler(toolbar: FluentEditorToolbar, e: KeyboardEvent) {
|
|
16
|
-
if (e.code === 'Escape') {
|
|
17
|
-
exitFullscreen(toolbar)
|
|
18
|
-
}
|
|
19
|
-
}
|
|
20
|
-
function updateToolbarHeight(toolbar: FluentEditorToolbar) {
|
|
21
|
-
const toolbarRect = toolbar.container.getBoundingClientRect()
|
|
22
|
-
toolbar.quill.container.style.setProperty(`--${namespace}-top`, `${toolbarRect.height}px`)
|
|
23
|
-
}
|
|
24
|
-
function intoFullscreen(toolbar: FluentEditorToolbar) {
|
|
25
|
-
toolbar.quill.isFullscreen = true
|
|
26
|
-
originScrollTop = document.documentElement.scrollTop
|
|
27
|
-
toolbar.container.classList.add('fullscreen')
|
|
28
|
-
toolbar.quill.container.classList.add('fullscreen')
|
|
29
|
-
cleanLock = lockScroll()
|
|
30
|
-
resizeHandlerBindToolbar()
|
|
31
|
-
const [, btn] = toolbar.controls.find(item => item[0] === 'fullscreen')
|
|
32
|
-
btn.innerHTML = ICONS_CONFIG['fullscreen-exit']
|
|
33
|
-
window.addEventListener('resize', resizeHandlerBindToolbar)
|
|
34
|
-
document.addEventListener('keydown', exitEscHandlerBindToolbar)
|
|
35
|
-
// TODO: clear hard code
|
|
36
|
-
const toolbarTipModule = toolbar.quill.getModule('toolbar-tip') as any
|
|
37
|
-
if (toolbarTipModule) {
|
|
38
|
-
toolbarTipModule.hideAllTips()
|
|
39
|
-
}
|
|
40
|
-
}
|
|
41
|
-
function exitFullscreen(toolbar: FluentEditorToolbar) {
|
|
42
|
-
toolbar.quill.isFullscreen = false
|
|
43
|
-
toolbar.container.classList.remove('fullscreen')
|
|
44
|
-
toolbar.quill.container.classList.remove('fullscreen')
|
|
45
|
-
cleanLock()
|
|
46
|
-
document.documentElement.scrollTop = originScrollTop
|
|
47
|
-
const [, btn] = toolbar.controls.find(item => item[0] === 'fullscreen')
|
|
48
|
-
btn.innerHTML = ICONS_CONFIG.fullscreen
|
|
49
|
-
window.removeEventListener('resize', resizeHandlerBindToolbar)
|
|
50
|
-
document.removeEventListener('keydown', exitEscHandlerBindToolbar)
|
|
51
|
-
// TODO: clear hard code
|
|
52
|
-
const toolbarTipModule = toolbar.quill.getModule('toolbar-tip') as any
|
|
53
|
-
if (toolbarTipModule) {
|
|
54
|
-
toolbarTipModule.hideAllTips()
|
|
55
|
-
}
|
|
56
|
-
}
|
|
57
|
-
export function fullscreenHandler(this: FluentEditorToolbar) {
|
|
58
|
-
if (this.quill.isFullscreen) {
|
|
59
|
-
exitFullscreen(this)
|
|
60
|
-
}
|
|
61
|
-
else {
|
|
62
|
-
exitEscHandlerBindToolbar = exitEscHandler.bind(undefined, this)
|
|
63
|
-
resizeHandlerBindToolbar = updateToolbarHeight.bind(undefined, this)
|
|
64
|
-
intoFullscreen(this)
|
|
65
|
-
}
|
|
66
|
-
}
|
package/src/tools/screenshot.ts
DELETED
|
@@ -1,231 +0,0 @@
|
|
|
1
|
-
import type html2canvas from 'html2canvas'
|
|
2
|
-
import type { Options as Html2CanvasOptions } from 'html2canvas'
|
|
3
|
-
import type Toolbar from 'quill/modules/toolbar'
|
|
4
|
-
import Quill from 'quill'
|
|
5
|
-
import { imgToBase64 } from '../utils/image'
|
|
6
|
-
import { lockScroll } from '../utils/scroll-lock'
|
|
7
|
-
|
|
8
|
-
const Delta = Quill.import('delta')
|
|
9
|
-
|
|
10
|
-
export type ScreenShotOptions = Partial<Html2CanvasOptions> & {
|
|
11
|
-
Html2Canvas: typeof html2canvas
|
|
12
|
-
beforeCreateCanvas: () => void | Promise<void>
|
|
13
|
-
beforeCreateImage: (canvas: HTMLCanvasElement) => HTMLCanvasElement | string | Promise<HTMLCanvasElement | string>
|
|
14
|
-
}
|
|
15
|
-
interface ScreenShotOptionsInQuill {
|
|
16
|
-
quill: {
|
|
17
|
-
options: {
|
|
18
|
-
screenshot: Partial<ScreenShotOptions>
|
|
19
|
-
}
|
|
20
|
-
}
|
|
21
|
-
}
|
|
22
|
-
|
|
23
|
-
function resolveOptions(options: Partial<ScreenShotOptions>) {
|
|
24
|
-
return Object.assign({
|
|
25
|
-
// @ts-ignore
|
|
26
|
-
Html2Canvas: window.Html2Canvas,
|
|
27
|
-
useCORS: true,
|
|
28
|
-
scale: 1,
|
|
29
|
-
foreignObjectRendering: true,
|
|
30
|
-
beforeCreateImage: undefined,
|
|
31
|
-
beforeCreateCanvas: undefined,
|
|
32
|
-
}, options)
|
|
33
|
-
}
|
|
34
|
-
|
|
35
|
-
function init() {
|
|
36
|
-
const maskExits = document.querySelectorAll('.ql-screenshot-mask')
|
|
37
|
-
if (maskExits) {
|
|
38
|
-
maskExits.forEach(item => item && item.remove())
|
|
39
|
-
}
|
|
40
|
-
// 创建截图图层
|
|
41
|
-
const wrapper = document.createElement('div')
|
|
42
|
-
wrapper.classList.add('ql-screenshot-wrapper')
|
|
43
|
-
const mask = document.createElement('div')
|
|
44
|
-
mask.className = 'ql-screenshot-mask'
|
|
45
|
-
const cutter = document.createElement('div')
|
|
46
|
-
cutter.className = 'ql-screenshot-cutter'
|
|
47
|
-
const coordinate = document.createElement('p')
|
|
48
|
-
coordinate.className = 'ql-screenshot-coordinate'
|
|
49
|
-
cutter.appendChild(coordinate)
|
|
50
|
-
wrapper.appendChild(mask)
|
|
51
|
-
wrapper.appendChild(cutter)
|
|
52
|
-
document.body.appendChild(wrapper)
|
|
53
|
-
return { wrapper, mask, cutter, coordinate }
|
|
54
|
-
}
|
|
55
|
-
|
|
56
|
-
function findParentFixed(dom: HTMLElement) {
|
|
57
|
-
if (dom.tagName === 'BODY') return false
|
|
58
|
-
if (['fixed', 'sticky'].includes(dom.parentElement.style.position)) return true
|
|
59
|
-
return findParentFixed(dom.parentElement)
|
|
60
|
-
}
|
|
61
|
-
async function renderImage(
|
|
62
|
-
Html2Canvas: typeof html2canvas,
|
|
63
|
-
html2canvasOptions: Partial<Html2CanvasOptions>,
|
|
64
|
-
rect: DOMRect,
|
|
65
|
-
options?: Omit<ScreenShotOptions, 'Html2Canvas' | keyof Html2CanvasOptions>,
|
|
66
|
-
) {
|
|
67
|
-
if (options && options.beforeCreateCanvas) {
|
|
68
|
-
await options.beforeCreateCanvas()
|
|
69
|
-
}
|
|
70
|
-
const canvas: CanvasImageSource = await Html2Canvas(document.body, {
|
|
71
|
-
...html2canvasOptions,
|
|
72
|
-
onclone: async (doc: Document, el: HTMLElement) => {
|
|
73
|
-
// find all fixed or sticky dom
|
|
74
|
-
const fixedDom = Array.from(doc.querySelectorAll('*[style*="position: fixed"]')) as HTMLElement[]
|
|
75
|
-
const stickyDom = Array.from(doc.querySelectorAll('*[style*="position: sticky"]')) as HTMLElement[]
|
|
76
|
-
const fixedDomList = new Set([...fixedDom, ...stickyDom])
|
|
77
|
-
for (const dom of fixedDomList) {
|
|
78
|
-
// if parent dom already has fixed or sticky style
|
|
79
|
-
// means that transform will be settle. skip
|
|
80
|
-
if (findParentFixed(dom)) continue
|
|
81
|
-
// use transform move to correct position
|
|
82
|
-
let x = 0
|
|
83
|
-
let y = 0
|
|
84
|
-
if (dom.style.top !== 'auto') {
|
|
85
|
-
y = window.scrollY
|
|
86
|
-
}
|
|
87
|
-
if (dom.style.left !== 'auto') {
|
|
88
|
-
x = window.scrollX
|
|
89
|
-
}
|
|
90
|
-
if (x !== 0 || y !== 0) {
|
|
91
|
-
dom.style.transform = `translate(${x}px, ${y}px)`
|
|
92
|
-
}
|
|
93
|
-
}
|
|
94
|
-
|
|
95
|
-
const imgs = doc.querySelectorAll('img')
|
|
96
|
-
const promises = Array.from(imgs).map(async (img) => {
|
|
97
|
-
img.src = await imgToBase64(img.src)
|
|
98
|
-
})
|
|
99
|
-
await Promise.all(promises)
|
|
100
|
-
html2canvasOptions.onclone && await html2canvasOptions.onclone(doc, el)
|
|
101
|
-
},
|
|
102
|
-
})
|
|
103
|
-
// 当前canvas为body全局截图,从当前截图中截取想要的部分重新绘制转成base64插入富文本
|
|
104
|
-
let cropCanvas: HTMLCanvasElement | string = document.createElement('canvas')
|
|
105
|
-
cropCanvas.width = rect.width
|
|
106
|
-
cropCanvas.height = rect.height
|
|
107
|
-
const cropCanvasCtx = cropCanvas.getContext('2d')
|
|
108
|
-
cropCanvasCtx.drawImage(
|
|
109
|
-
canvas,
|
|
110
|
-
rect.x + window.scrollX,
|
|
111
|
-
rect.y + window.scrollY,
|
|
112
|
-
rect.width,
|
|
113
|
-
rect.height,
|
|
114
|
-
0,
|
|
115
|
-
0,
|
|
116
|
-
rect.width,
|
|
117
|
-
rect.height,
|
|
118
|
-
)
|
|
119
|
-
if (options && options.beforeCreateImage) {
|
|
120
|
-
cropCanvas = await options.beforeCreateImage(cropCanvas)
|
|
121
|
-
}
|
|
122
|
-
return typeof cropCanvas === 'string' ? cropCanvas : cropCanvas.toDataURL()
|
|
123
|
-
}
|
|
124
|
-
|
|
125
|
-
export function Screenshot(this: Toolbar & ScreenShotOptionsInQuill) {
|
|
126
|
-
this.quill.options.screenshot = resolveOptions(this.quill.options.screenshot)
|
|
127
|
-
const options = this.quill.options.screenshot
|
|
128
|
-
// @ts-ignore
|
|
129
|
-
const { Html2Canvas, beforeCreateImage, beforeCreateCanvas, ...html2CanvasOptions } = options
|
|
130
|
-
if (!Html2Canvas) {
|
|
131
|
-
throw new Error('ScreenShot module requires html2canvas. Please include the library on the page before FluentEditor.')
|
|
132
|
-
}
|
|
133
|
-
const range = this.quill.getSelection()
|
|
134
|
-
const { wrapper, mask, cutter, coordinate } = init()
|
|
135
|
-
const status: {
|
|
136
|
-
leftClickLockFlag: boolean
|
|
137
|
-
start?: {
|
|
138
|
-
x: number
|
|
139
|
-
y: number
|
|
140
|
-
}
|
|
141
|
-
} = {
|
|
142
|
-
leftClickLockFlag: false,
|
|
143
|
-
start: undefined,
|
|
144
|
-
}
|
|
145
|
-
const cleanLock = lockScroll()
|
|
146
|
-
|
|
147
|
-
const removeContextmenu = (event: Event) => {
|
|
148
|
-
event.preventDefault()
|
|
149
|
-
wrapper.remove()
|
|
150
|
-
cleanLock()
|
|
151
|
-
document.removeEventListener('contextmenu', removeContextmenu)
|
|
152
|
-
}
|
|
153
|
-
const afterShotCtrl = async (event: MouseEvent) => {
|
|
154
|
-
document.removeEventListener('mousedown', toggleRect)
|
|
155
|
-
const cutterRect = cutter.getBoundingClientRect()
|
|
156
|
-
const target = event.target as HTMLElement
|
|
157
|
-
wrapper.remove()
|
|
158
|
-
cleanLock()
|
|
159
|
-
if (target && target.className === 'ql-screenshot-confirm') {
|
|
160
|
-
const image = await renderImage(Html2Canvas, html2CanvasOptions, cutterRect, { beforeCreateCanvas, beforeCreateImage })
|
|
161
|
-
|
|
162
|
-
const delta = new Delta()
|
|
163
|
-
.retain(range.index)
|
|
164
|
-
.delete(range.length)
|
|
165
|
-
.insert({ image })
|
|
166
|
-
this.quill.updateContents(delta, Quill.sources.USER)
|
|
167
|
-
this.quill.setSelection(range.index + 1, Quill.sources.SILENT)
|
|
168
|
-
}
|
|
169
|
-
status.start = undefined
|
|
170
|
-
}
|
|
171
|
-
const drawRect = (event: MouseEvent) => {
|
|
172
|
-
// 通过鼠标移动描绘截图图层
|
|
173
|
-
const startX = status.start.x
|
|
174
|
-
const startY = status.start.y
|
|
175
|
-
const endX = event.clientX
|
|
176
|
-
const endY = event.clientY
|
|
177
|
-
const width = Math.abs(endX - startX)
|
|
178
|
-
const height = Math.abs(endY - startY)
|
|
179
|
-
const top = startY < endY ? startY : endY
|
|
180
|
-
const left = startX < endX ? startX : endX
|
|
181
|
-
const bottom = window.innerHeight - height - top
|
|
182
|
-
const right = window.innerWidth - width - left
|
|
183
|
-
|
|
184
|
-
const maskPath = `
|
|
185
|
-
linear-gradient(to top, #fff, #fff) top / 100% ${top}px,
|
|
186
|
-
linear-gradient(to bottom, #fff, #fff) bottom /100% ${bottom}px,
|
|
187
|
-
linear-gradient(to left, #fff, #fff) left / ${left}px 100%,
|
|
188
|
-
linear-gradient(to right, #fff, #fff) right / ${right}px 100%
|
|
189
|
-
`
|
|
190
|
-
Object.assign(cutter.style, {
|
|
191
|
-
width: `${width}px`,
|
|
192
|
-
height: `${height}px`,
|
|
193
|
-
left: `${left}px`,
|
|
194
|
-
top: `${top}px`,
|
|
195
|
-
})
|
|
196
|
-
Object.assign(mask.style, {
|
|
197
|
-
'mask': maskPath,
|
|
198
|
-
'-webkit-mask-repeat': 'no-repeat',
|
|
199
|
-
})
|
|
200
|
-
coordinate.textContent = `${width}, ${height}`
|
|
201
|
-
}
|
|
202
|
-
const toggleRect = (event: MouseEvent) => {
|
|
203
|
-
// 右键取消截图操作
|
|
204
|
-
if (event.button === 2) {
|
|
205
|
-
document.removeEventListener('mousemove', drawRect)
|
|
206
|
-
document.removeEventListener('mousedown', toggleRect)
|
|
207
|
-
document.addEventListener('contextmenu', removeContextmenu)
|
|
208
|
-
return
|
|
209
|
-
}
|
|
210
|
-
if (!status.leftClickLockFlag) {
|
|
211
|
-
if (status.start) {
|
|
212
|
-
// 如果有起点,则当前触发坐标为终点,移除监听事件并添加确认和取消按钮
|
|
213
|
-
document.removeEventListener('mousemove', drawRect)
|
|
214
|
-
const doneBtn = document.createElement('div')
|
|
215
|
-
doneBtn.innerHTML = `<div class="ql-screenshot-confirm"></div><div class="ql-screenshot-cancel"></div>`
|
|
216
|
-
doneBtn.className = 'ql-screenshot-done'
|
|
217
|
-
doneBtn.addEventListener('click', afterShotCtrl)
|
|
218
|
-
coordinate.remove()
|
|
219
|
-
cutter.appendChild(doneBtn)
|
|
220
|
-
status.leftClickLockFlag = true
|
|
221
|
-
}
|
|
222
|
-
else {
|
|
223
|
-
// 无起点则设置起点坐标,监听鼠标移动
|
|
224
|
-
status.start = { x: event.clientX, y: event.clientY }
|
|
225
|
-
document.addEventListener('mousemove', drawRect)
|
|
226
|
-
}
|
|
227
|
-
}
|
|
228
|
-
}
|
|
229
|
-
document.addEventListener('mousedown', toggleRect)
|
|
230
|
-
}
|
|
231
|
-
Screenshot.toolName = 'screenshot'
|