@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
|
@@ -0,0 +1,150 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __defProp = Object.defineProperty;
|
|
3
|
+
var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
|
|
4
|
+
var __publicField = (obj, key, value) => __defNormalProp(obj, typeof key !== "symbol" ? key + "" : key, value);
|
|
5
|
+
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
6
|
+
const MIN_WIDTH = 350;
|
|
7
|
+
const MIN_HEIGHT = 290;
|
|
8
|
+
class FlowChartResizeAction {
|
|
9
|
+
constructor(blot) {
|
|
10
|
+
__publicField(this, "topLeftHandle");
|
|
11
|
+
__publicField(this, "topRightHandle");
|
|
12
|
+
__publicField(this, "bottomRightHandle");
|
|
13
|
+
__publicField(this, "bottomLeftHandle");
|
|
14
|
+
__publicField(this, "dragHandle", null);
|
|
15
|
+
__publicField(this, "dragStartX", 0);
|
|
16
|
+
__publicField(this, "dragStartY", 0);
|
|
17
|
+
__publicField(this, "preDragWidth", 0);
|
|
18
|
+
__publicField(this, "preDragHeight", 0);
|
|
19
|
+
__publicField(this, "targetRatio", 0);
|
|
20
|
+
__publicField(this, "blot");
|
|
21
|
+
this.blot = blot;
|
|
22
|
+
this.topLeftHandle = this.createHandle("top-left", "nwse-resize");
|
|
23
|
+
this.topRightHandle = this.createHandle("top-right", "nesw-resize");
|
|
24
|
+
this.bottomRightHandle = this.createHandle("bottom-right", "nwse-resize");
|
|
25
|
+
this.bottomLeftHandle = this.createHandle("bottom-left", "nesw-resize");
|
|
26
|
+
this.init();
|
|
27
|
+
}
|
|
28
|
+
isFullscreen() {
|
|
29
|
+
const container = this.blot.domNode;
|
|
30
|
+
return container.style.position === "fixed" && container.style.width === "100vw" && container.style.height === "100vh";
|
|
31
|
+
}
|
|
32
|
+
init() {
|
|
33
|
+
const container = this.blot.domNode;
|
|
34
|
+
container.style.position = "relative";
|
|
35
|
+
container.appendChild(this.topLeftHandle);
|
|
36
|
+
container.appendChild(this.topRightHandle);
|
|
37
|
+
container.appendChild(this.bottomRightHandle);
|
|
38
|
+
container.appendChild(this.bottomLeftHandle);
|
|
39
|
+
this.repositionHandles();
|
|
40
|
+
}
|
|
41
|
+
createHandle(position, cursor) {
|
|
42
|
+
const box = document.createElement("div");
|
|
43
|
+
box.classList.add("ql-flow-chart-resize-handle");
|
|
44
|
+
box.setAttribute("data-position", position);
|
|
45
|
+
Object.assign(box.style, {
|
|
46
|
+
cursor,
|
|
47
|
+
position: "absolute",
|
|
48
|
+
width: "10px",
|
|
49
|
+
height: "10px",
|
|
50
|
+
background: "#4285f4",
|
|
51
|
+
border: "1px solid white",
|
|
52
|
+
borderRadius: "50%",
|
|
53
|
+
zIndex: "99",
|
|
54
|
+
userSelect: "none"
|
|
55
|
+
});
|
|
56
|
+
box.addEventListener("mousedown", this.onMouseDown.bind(this));
|
|
57
|
+
return box;
|
|
58
|
+
}
|
|
59
|
+
repositionHandles() {
|
|
60
|
+
const container = this.blot.domNode;
|
|
61
|
+
const rect = container.getBoundingClientRect();
|
|
62
|
+
Object.assign(this.topLeftHandle.style, {
|
|
63
|
+
left: "-5px",
|
|
64
|
+
top: "-5px"
|
|
65
|
+
});
|
|
66
|
+
Object.assign(this.topRightHandle.style, {
|
|
67
|
+
right: "-5px",
|
|
68
|
+
top: "-5px"
|
|
69
|
+
});
|
|
70
|
+
Object.assign(this.bottomRightHandle.style, {
|
|
71
|
+
right: "-5px",
|
|
72
|
+
bottom: "-5px"
|
|
73
|
+
});
|
|
74
|
+
Object.assign(this.bottomLeftHandle.style, {
|
|
75
|
+
left: "-5px",
|
|
76
|
+
bottom: "-5px"
|
|
77
|
+
});
|
|
78
|
+
}
|
|
79
|
+
onMouseDown(event) {
|
|
80
|
+
if (this.isFullscreen()) {
|
|
81
|
+
return;
|
|
82
|
+
}
|
|
83
|
+
if (!(event.target instanceof HTMLElement)) {
|
|
84
|
+
return;
|
|
85
|
+
}
|
|
86
|
+
this.dragHandle = event.target;
|
|
87
|
+
document.body.style.cursor = this.dragHandle.style.cursor;
|
|
88
|
+
const container = this.blot.domNode;
|
|
89
|
+
const rect = container.getBoundingClientRect();
|
|
90
|
+
this.dragStartX = event.clientX;
|
|
91
|
+
this.dragStartY = event.clientY;
|
|
92
|
+
this.preDragWidth = rect.width;
|
|
93
|
+
this.preDragHeight = rect.height;
|
|
94
|
+
this.targetRatio = rect.height / rect.width;
|
|
95
|
+
event.preventDefault();
|
|
96
|
+
document.addEventListener("mousemove", this.onDrag.bind(this));
|
|
97
|
+
document.addEventListener("mouseup", this.onMouseUp.bind(this));
|
|
98
|
+
}
|
|
99
|
+
onDrag(event) {
|
|
100
|
+
if (!this.dragHandle) return;
|
|
101
|
+
const container = this.blot.domNode;
|
|
102
|
+
let newWidth = this.preDragWidth;
|
|
103
|
+
let newHeight = this.preDragHeight;
|
|
104
|
+
const deltaX = event.clientX - this.dragStartX;
|
|
105
|
+
const deltaY = event.clientY - this.dragStartY;
|
|
106
|
+
switch (this.dragHandle.dataset.position) {
|
|
107
|
+
case "top-left":
|
|
108
|
+
newWidth = Math.max(MIN_WIDTH, this.preDragWidth - deltaX);
|
|
109
|
+
newHeight = Math.max(MIN_HEIGHT, this.preDragHeight - deltaY);
|
|
110
|
+
break;
|
|
111
|
+
case "top-right":
|
|
112
|
+
newWidth = Math.max(MIN_WIDTH, this.preDragWidth + deltaX);
|
|
113
|
+
newHeight = Math.max(MIN_HEIGHT, this.preDragHeight - deltaY);
|
|
114
|
+
break;
|
|
115
|
+
case "bottom-right":
|
|
116
|
+
newWidth = Math.max(MIN_WIDTH, this.preDragWidth + deltaX);
|
|
117
|
+
newHeight = Math.max(MIN_HEIGHT, this.preDragHeight + deltaY);
|
|
118
|
+
break;
|
|
119
|
+
case "bottom-left":
|
|
120
|
+
newWidth = Math.max(MIN_WIDTH, this.preDragWidth - deltaX);
|
|
121
|
+
newHeight = Math.max(MIN_HEIGHT, this.preDragHeight + deltaY);
|
|
122
|
+
break;
|
|
123
|
+
}
|
|
124
|
+
container.style.width = `${newWidth}px`;
|
|
125
|
+
container.style.height = `${newHeight}px`;
|
|
126
|
+
container.setAttribute("width", String(newWidth));
|
|
127
|
+
container.setAttribute("height", String(newHeight));
|
|
128
|
+
if (this.blot.flowChart) {
|
|
129
|
+
this.blot.flowChart.resize(newWidth, newHeight);
|
|
130
|
+
}
|
|
131
|
+
this.blot.data.width = newWidth;
|
|
132
|
+
this.blot.data.height = newHeight;
|
|
133
|
+
container.setAttribute("data-flow-chart", JSON.stringify(this.blot.data));
|
|
134
|
+
}
|
|
135
|
+
onMouseUp() {
|
|
136
|
+
document.body.style.cursor = "";
|
|
137
|
+
document.removeEventListener("mousemove", this.onDrag.bind(this));
|
|
138
|
+
document.removeEventListener("mouseup", this.onMouseUp.bind(this));
|
|
139
|
+
this.dragHandle = null;
|
|
140
|
+
}
|
|
141
|
+
destroy() {
|
|
142
|
+
const container = this.blot.domNode;
|
|
143
|
+
container.removeChild(this.topLeftHandle);
|
|
144
|
+
container.removeChild(this.topRightHandle);
|
|
145
|
+
container.removeChild(this.bottomRightHandle);
|
|
146
|
+
container.removeChild(this.bottomLeftHandle);
|
|
147
|
+
}
|
|
148
|
+
}
|
|
149
|
+
exports.FlowChartResizeAction = FlowChartResizeAction;
|
|
150
|
+
//# sourceMappingURL=custom-resize-action.cjs.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"custom-resize-action.cjs.js","sources":["../../../../../src/modules/flow-chart/modules/custom-resize-action.ts"],"sourcesContent":["const MIN_WIDTH = 350\nconst MIN_HEIGHT = 290\n\nexport class FlowChartResizeAction {\n topLeftHandle: HTMLElement\n topRightHandle: HTMLElement\n bottomRightHandle: HTMLElement\n bottomLeftHandle: HTMLElement\n dragHandle: HTMLElement | null = null\n dragStartX: number = 0\n dragStartY: number = 0\n preDragWidth: number = 0\n preDragHeight: number = 0\n targetRatio: number = 0\n blot: any\n\n constructor(blot: any) {\n this.blot = blot\n this.topLeftHandle = this.createHandle('top-left', 'nwse-resize')\n this.topRightHandle = this.createHandle('top-right', 'nesw-resize')\n this.bottomRightHandle = this.createHandle('bottom-right', 'nwse-resize')\n this.bottomLeftHandle = this.createHandle('bottom-left', 'nesw-resize')\n this.init()\n }\n\n isFullscreen(): boolean {\n const container = this.blot.domNode\n return container.style.position === 'fixed' && container.style.width === '100vw' && container.style.height === '100vh'\n }\n\n init() {\n const container = this.blot.domNode\n container.style.position = 'relative'\n container.appendChild(this.topLeftHandle)\n container.appendChild(this.topRightHandle)\n container.appendChild(this.bottomRightHandle)\n container.appendChild(this.bottomLeftHandle)\n this.repositionHandles()\n }\n\n createHandle(position: string, cursor: string): HTMLElement {\n const box = document.createElement('div')\n box.classList.add('ql-flow-chart-resize-handle')\n box.setAttribute('data-position', position)\n Object.assign(box.style, {\n cursor,\n position: 'absolute',\n width: '10px',\n height: '10px',\n background: '#4285f4',\n border: '1px solid white',\n borderRadius: '50%',\n zIndex: '99',\n userSelect: 'none',\n })\n box.addEventListener('mousedown', this.onMouseDown.bind(this))\n return box\n }\n\n repositionHandles() {\n const container = this.blot.domNode\n const rect = container.getBoundingClientRect()\n\n Object.assign(this.topLeftHandle.style, {\n left: '-5px',\n top: '-5px',\n })\n Object.assign(this.topRightHandle.style, {\n right: '-5px',\n top: '-5px',\n })\n Object.assign(this.bottomRightHandle.style, {\n right: '-5px',\n bottom: '-5px',\n })\n Object.assign(this.bottomLeftHandle.style, {\n left: '-5px',\n bottom: '-5px',\n })\n }\n\n onMouseDown(event: MouseEvent) {\n if (this.isFullscreen()) {\n return\n }\n if (!(event.target instanceof HTMLElement)) {\n return\n }\n\n this.dragHandle = event.target\n document.body.style.cursor = this.dragHandle.style.cursor\n\n const container = this.blot.domNode\n const rect = container.getBoundingClientRect()\n\n this.dragStartX = event.clientX\n this.dragStartY = event.clientY\n this.preDragWidth = rect.width\n this.preDragHeight = rect.height\n this.targetRatio = rect.height / rect.width\n\n event.preventDefault()\n document.addEventListener('mousemove', this.onDrag.bind(this))\n document.addEventListener('mouseup', this.onMouseUp.bind(this))\n }\n\n onDrag(event: MouseEvent) {\n if (!this.dragHandle) return\n\n const container = this.blot.domNode\n let newWidth = this.preDragWidth\n let newHeight = this.preDragHeight\n\n const deltaX = event.clientX - this.dragStartX\n const deltaY = event.clientY - this.dragStartY\n\n switch (this.dragHandle.dataset.position) {\n case 'top-left':\n newWidth = Math.max(MIN_WIDTH, this.preDragWidth - deltaX)\n newHeight = Math.max(MIN_HEIGHT, this.preDragHeight - deltaY)\n break\n case 'top-right':\n newWidth = Math.max(MIN_WIDTH, this.preDragWidth + deltaX)\n newHeight = Math.max(MIN_HEIGHT, this.preDragHeight - deltaY)\n break\n case 'bottom-right':\n newWidth = Math.max(MIN_WIDTH, this.preDragWidth + deltaX)\n newHeight = Math.max(MIN_HEIGHT, this.preDragHeight + deltaY)\n break\n case 'bottom-left':\n newWidth = Math.max(MIN_WIDTH, this.preDragWidth - deltaX)\n newHeight = Math.max(MIN_HEIGHT, this.preDragHeight + deltaY)\n break\n }\n\n container.style.width = `${newWidth}px`\n container.style.height = `${newHeight}px`\n container.setAttribute('width', String(newWidth))\n container.setAttribute('height', String(newHeight))\n\n if (this.blot.flowChart) {\n this.blot.flowChart.resize(newWidth, newHeight)\n }\n\n this.blot.data.width = newWidth\n this.blot.data.height = newHeight\n container.setAttribute('data-flow-chart', JSON.stringify(this.blot.data))\n }\n\n onMouseUp() {\n document.body.style.cursor = ''\n document.removeEventListener('mousemove', this.onDrag.bind(this))\n document.removeEventListener('mouseup', this.onMouseUp.bind(this))\n this.dragHandle = null\n }\n\n destroy() {\n const container = this.blot.domNode\n container.removeChild(this.topLeftHandle)\n container.removeChild(this.topRightHandle)\n container.removeChild(this.bottomRightHandle)\n container.removeChild(this.bottomLeftHandle)\n }\n}\n"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"i18n.cjs.js","sources":["../../../src/modules/i18n.ts"],"sourcesContent":["import type FluentEditor from '../fluent-editor'\r\nimport { CHANGE_LANGUAGE_EVENT, defaultLanguage } from '../config'\r\nimport { isUndefined } from '../utils/is'\r\n\r\nconst langs: Record<string, Record<string, string>> = {}\r\n\r\nexport interface I18NOptions {\r\n lang: string\r\n}\r\nexport class I18N {\r\n static register(inputLangs: Record<string, Record<string, string>>, isCover: boolean = true) {\r\n for (const lang in inputLangs) {\r\n const texts = inputLangs[lang]\r\n if (isCover) {\r\n langs[lang] = texts\r\n }\r\n else {\r\n if (!langs[lang]) langs[lang] = {}\r\n Object.assign(langs[lang], texts)\r\n }\r\n }\r\n }\r\n\r\n static parserText(text: string, lang: string): string {\r\n const i18nPattern = /^_i18n\"([^\"]*)\"/\r\n const match = text.match(i18nPattern)\r\n let key = text\r\n if (match) {\r\n key = match[1]\r\n }\r\n return langs[lang]?.[key] || key\r\n }\r\n\r\n options: I18NOptions = {\r\n lang: '',\r\n }\r\n\r\n constructor(public quill: FluentEditor, options: Partial<I18NOptions>) {\r\n this.options = Object.assign({}, options, this.resolveLanguageOption(options || {}))\r\n // wait until all module registed\r\n Promise.resolve().then(() => this.changeLanguage(this.options, true))\r\n }\r\n\r\n resolveLanguageOption(options: Partial<I18NOptions>): I18NOptions {\r\n if (isUndefined(options.lang)) {\r\n options.lang = defaultLanguage\r\n }\r\n if (!(options.lang in langs)) {\r\n console.warn(`The language ${options.lang} is not supported. Use the default language: ${defaultLanguage}`)\r\n options.lang = defaultLanguage\r\n }\r\n return {\r\n lang: options.lang,\r\n }\r\n }\r\n\r\n changeLanguage(options: Partial<I18NOptions>, force: boolean = false) {\r\n const currentLang = this.options.lang\r\n const langOps = this.resolveLanguageOption(options)\r\n if (langOps.lang === currentLang && !force) return\r\n this.options.lang = langOps.lang\r\n this.quill.emitter.emit(CHANGE_LANGUAGE_EVENT, this.options.lang, langs[langOps.lang])\r\n }\r\n}\r\n\r\nexport default I18N\r\n"],"names":["isUndefined","defaultLanguage","CHANGE_LANGUAGE_EVENT"],"mappings":";;;;;;;;AAIA,MAAM,QAAgD,CAAA;AAK/C,MAAM,KAAK;AAAA,EA4BhB,YAAmB,OAAqB,SAA+B;AAJvE,mCAAuB;AAAA,MACrB,MAAM;AAAA,IAAA;AAGW,SAAA,QAAA;AACjB,SAAK,UAAU,OAAO,OAAO,CAAA,GAAI,SAAS,KAAK,sBAAsB,WAAW,CAAA,CAAE,CAAC;AAEnF,YAAQ,UAAU,KAAK,MAAM,KAAK,eAAe,KAAK,SAAS,IAAI,CAAC;AAAA,EACtE;AAAA,EA/BA,OAAO,SAAS,YAAoD,UAAmB,MAAM;AAC3F,eAAW,QAAQ,YAAY;AAC7B,YAAM,QAAQ,WAAW,IAAI;AAC7B,UAAI,SAAS;AACX,cAAM,IAAI,IAAI;AAAA,MAChB,OACK;AACH,YAAI,CAAC,MAAM,IAAI,EAAG,OAAM,IAAI,IAAI,CAAA;AAChC,eAAO,OAAO,MAAM,IAAI,GAAG,KAAK;AAAA,MAClC;AAAA,IACF;AAAA,EACF;AAAA,EAEA,OAAO,WAAW,MAAc,MAAsB;;AACpD,UAAM,cAAc;AACpB,UAAM,QAAQ,KAAK,MAAM,WAAW;AACpC,QAAI,MAAM;AACV,QAAI,OAAO;AACT,YAAM,MAAM,CAAC;AAAA,IACf;AACA,aAAO,WAAM,IAAI,MAAV,mBAAc,SAAQ;AAAA,EAC/B;AAAA,EAYA,sBAAsB,SAA4C;AAChE,QAAIA,GAAAA,YAAY,QAAQ,IAAI,GAAG;AAC7B,cAAQ,OAAOC,cAAAA;AAAAA,IACjB;AACA,QAAI,EAAE,QAAQ,QAAQ,QAAQ;AAC5B,cAAQ,KAAK,gBAAgB,QAAQ,IAAI,gDAAgDA,cAAAA,eAAe,EAAE;AAC1G,cAAQ,OAAOA,cAAAA;AAAAA,IACjB;AACA,WAAO;AAAA,MACL,MAAM,QAAQ;AAAA,IAAA;AAAA,EAElB;AAAA,EAEA,eAAe,SAA+B,QAAiB,OAAO;AACpE,UAAM,cAAc,KAAK,QAAQ;AACjC,UAAM,UAAU,KAAK,sBAAsB,OAAO;AAClD,QAAI,QAAQ,SAAS,eAAe,CAAC,MAAO;AAC5C,SAAK,QAAQ,OAAO,QAAQ;AAC5B,SAAK,MAAM,QAAQ,KAAKC,cAAAA,uBAAuB,KAAK,QAAQ,MAAM,MAAM,QAAQ,IAAI,CAAC;AAAA,EACvF;AACF;;;"}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
3
|
+
require("./collaborative-editing/index.cjs.js");
|
|
4
|
+
require("./counter.cjs.js");
|
|
5
|
+
const customClipboard = require("./custom-clipboard.cjs.js");
|
|
6
|
+
require("./custom-image/index.cjs.js");
|
|
7
|
+
const customUploader = require("./custom-uploader.cjs.js");
|
|
8
|
+
const divider = require("./divider.cjs.js");
|
|
9
|
+
const emoji = require("./emoji.cjs.js");
|
|
10
|
+
require("./file/index.cjs.js");
|
|
11
|
+
const index = require("./flow-chart/index.cjs.js");
|
|
12
|
+
const i18n = require("./i18n.cjs.js");
|
|
13
|
+
require("./link/index.cjs.js");
|
|
14
|
+
require("./mathlive/index.cjs.js");
|
|
15
|
+
require("./mention/index.cjs.js");
|
|
16
|
+
const index$1 = require("./mind-map/index.cjs.js");
|
|
17
|
+
const index$2 = require("./shortcut-key/index.cjs.js");
|
|
18
|
+
require("./syntax.cjs.js");
|
|
19
|
+
const index$3 = require("./table-up/index.cjs.js");
|
|
20
|
+
require("./toolbar/index.cjs.js");
|
|
21
|
+
exports.CustomClipboard = customClipboard.CustomClipboard;
|
|
22
|
+
exports.FileUploader = customUploader.FileUploader;
|
|
23
|
+
exports.DividerBlot = divider.DividerBlot;
|
|
24
|
+
exports.EmojiModule = emoji.EmojiModule;
|
|
25
|
+
exports.FlowChartModule = index.FlowChartModule;
|
|
26
|
+
exports.I18N = i18n.I18N;
|
|
27
|
+
exports.MindMapModule = index$1.MindMapModule;
|
|
28
|
+
exports.ShortCutKey = index$2.ShortCutKey;
|
|
29
|
+
exports.shortKey = index$2.shortKey;
|
|
30
|
+
exports.generateTableUp = index$3.generateTableUp;
|
|
31
|
+
//# sourceMappingURL=index.cjs.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.cjs.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"link.cjs.js","sources":["../../../../../src/modules/link/formats/link.ts"],"sourcesContent":["import type TypeInline from 'quill/blots/inline'\nimport Quill from 'quill'\nimport { hadProtocol, sanitize } from '../../../config/editor.utils'\n\nconst Inline = Quill.import('blots/inline') as typeof TypeInline\n\nexport class LinkBlot extends Inline {\n static blotName = 'link'\n static tagName = 'A'\n static SANITIZED_URL = 'about:blank'\n static PROTOCOL_WHITELIST = ['http', 'https', 'mailto', 'tel']\n static className = 'ql-normal-link'\n\n static autoProtocol: string = ''\n static create(value: string) {\n const node = super.create(value)\n let href = value\n if (!hadProtocol(href) && this.autoProtocol) {\n href = `${this.autoProtocol}://${value}`\n }\n href = this.sanitize(href)\n node.setAttribute('href', href)\n node.setAttribute('target', '_blank')\n return node\n }\n\n static formats(domNode: HTMLElement): string | null {\n return domNode.getAttribute('href')\n }\n\n static sanitize(url: string) {\n return sanitize(url, this.PROTOCOL_WHITELIST) ? url : this.SANITIZED_URL\n }\n\n format(name: string, value: any) {\n if (name !== this.statics.blotName || [false, null].includes(value)) {\n super.format(name, value)\n }\n else {\n this.domNode.setAttribute('href', LinkBlot.sanitize(value))\n }\n }\n}\n"],"names":["hadProtocol","sanitize"],"mappings":";;;;;;;AAIA,MAAM,SAAS,MAAM,OAAO,cAAc;AAEnC,MAAM,YAAN,MAAM,kBAAiB,OAAO;AAAA,EAQnC,OAAO,OAAO,OAAe;AAC3B,UAAM,OAAO,MAAM,OAAO,KAAK;AAC/B,QAAI,OAAO;AACX,QAAI,CAACA,aAAAA,YAAY,IAAI,KAAK,KAAK,cAAc;AAC3C,aAAO,GAAG,KAAK,YAAY,MAAM,KAAK;AAAA,IACxC;AACA,WAAO,KAAK,SAAS,IAAI;AACzB,SAAK,aAAa,QAAQ,IAAI;AAC9B,SAAK,aAAa,UAAU,QAAQ;AACpC,WAAO;AAAA,EACT;AAAA,EAEA,OAAO,QAAQ,SAAqC;AAClD,WAAO,QAAQ,aAAa,MAAM;AAAA,EACpC;AAAA,EAEA,OAAO,SAAS,KAAa;AAC3B,WAAOC,aAAAA,SAAS,KAAK,KAAK,kBAAkB,IAAI,MAAM,KAAK;AAAA,EAC7D;AAAA,EAEA,OAAO,MAAc,OAAY;AAC/B,QAAI,SAAS,KAAK,QAAQ,YAAY,CAAC,OAAO,IAAI,EAAE,SAAS,KAAK,GAAG;AACnE,YAAM,OAAO,MAAM,KAAK;AAAA,IAC1B,OACK;AACH,WAAK,QAAQ,aAAa,QAAQ,UAAS,SAAS,KAAK,CAAC;AAAA,IAC5D;AAAA,EACF;AACF;AAnCE,cADW,WACJ,YAAW;AAClB,cAFW,WAEJ,WAAU;AACjB,cAHW,WAGJ,iBAAgB;AACvB,cAJW,WAIJ,sBAAqB,CAAC,QAAQ,SAAS,UAAU,KAAK;AAC7D,cALW,WAKJ,aAAY;AAEnB,cAPW,WAOJ,gBAAuB;AAPzB,IAAM,WAAN;;"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tooltip.cjs.js","sources":["../../../../../src/modules/link/modules/tooltip.ts"],"sourcesContent":["import type { Parchment as TypeParchment } from 'quill'\nimport type FluentEditor from '../../../core/fluent-editor'\nimport Quill, { Range } from 'quill'\nimport Emitter from 'quill/core/emitter'\nimport { BaseTooltip } from 'quill/themes/base'\nimport { CHANGE_LANGUAGE_EVENT } from '../../../config'\nimport { hadProtocol, isNullOrUndefined } from '../../../config/editor.utils'\nimport { EN_US } from '../../../config/i18n/en-us'\nimport { debounce } from '../../../utils/debounce'\nimport { LinkBlot } from '../formats/link'\n\nexport class LinkTooltip extends BaseTooltip {\n static TEMPLATE: string = [\n `<input type=\"text\" data-formula=\"e=mc^2\" data-link=\"${EN_US.linkplaceholder}\" data-video=\"Embed URL\" style=\"width: 225px;\">`,\n '<span class=\"ql-split\"></span>',\n '<a class=\"ql-preview\"><i class=\"icon-share\"></i></a>',\n '<a class=\"ql-remove\"><i class=\"icon-delete\"></i></a>',\n ].join('')\n\n isInputFocus: boolean\n isHover: boolean\n debouncedHideToolTip: any\n debouncedShowToolTip: any\n options: { autoProtocol: string } = {\n autoProtocol: 'https',\n }\n\n constructor(public quill: FluentEditor, bounds) {\n super(quill, bounds)\n this.setTemplate()\n this.isInputFocus = false\n this.isHover = false\n\n this.resolveOptions()\n LinkBlot.autoProtocol = this.options.autoProtocol\n this.debouncedHideToolTip = debounce(this.hideToolTip, 300)\n this.debouncedShowToolTip = debounce(this.showToolTip, 300)\n this.quill.emitter.on(CHANGE_LANGUAGE_EVENT, () => {\n this.setTemplate()\n })\n }\n\n setTemplate() {\n this.root.innerHTML = [\n `<input type=\"text\" data-formula=\"e=mc^2\" data-link=\"${this.quill.getLangText('linkplaceholder')}\" data-video=\"Embed URL\" style=\"width: 225px;\">`,\n '<span class=\"ql-split\"></span>',\n '<a class=\"ql-preview\"><i class=\"icon-share\"></i></a>',\n '<a class=\"ql-remove\"><i class=\"icon-delete\"></i></a>',\n ].join('')\n this.textbox = this.root.querySelector('input[type=\"text\"]')\n this.listen()\n }\n\n resolveOptions() {\n this.options = {\n autoProtocol: 'https',\n }\n const value = this.quill.options.autoProtocol\n if (value && typeof value === 'string') {\n this.options.autoProtocol = value\n }\n else if (typeof value === 'boolean' && !value) {\n this.options.autoProtocol = ''\n }\n }\n\n shouldHide() {\n return !this.isHover && !this.isInputFocus\n }\n\n hideToolTip() {\n if (this.shouldHide()) {\n this.hide()\n }\n }\n\n showToolTip(name, value, range) {\n if (!this.shouldHide()) {\n this.edit(name, value, range)\n }\n }\n\n handleMouseLeave() {\n this.isHover = false\n this.debouncedHideToolTip()\n }\n\n handleMouseEnter(event: MouseEvent) {\n const isTooltipShow = !this.root.classList.contains('ql-hidden')\n if (isTooltipShow) {\n return\n }\n\n if (this.isInputFocus) {\n this.save()\n }\n this.isHover = true\n const linkNode = event.target as HTMLElement\n const preview = LinkBlot.formats(linkNode)\n if (!preview || preview.startsWith('#')) {\n return\n }\n const linkBlot = Quill.find(linkNode) as TypeParchment.Blot\n const index = this.quill.getIndex(linkBlot)\n const [link, offset] = this.quill.scroll.descendant(\n LinkBlot,\n index,\n )\n const length = link && link.length()\n this.linkRange = new Range(index - offset, length)\n this.debouncedShowToolTip('link', preview, this.linkRange)\n }\n\n listen() {\n super.listen()\n this.root.querySelector('a.ql-remove').addEventListener('click', (event) => {\n if (!isNullOrUndefined(this.linkRange)) {\n const range = this.linkRange\n this.restoreFocus()\n this.quill.formatText(range, 'link', false, Emitter.sources.API)\n delete this.linkRange\n }\n event.preventDefault()\n this.hide()\n })\n\n this.quill.root.addEventListener(\n 'mouseover',\n (event) => {\n const target = event.target as HTMLElement\n if (\n (target.tagName.toUpperCase() !== 'A'\n || !target.classList.contains(LinkBlot.className))\n && !target.closest(`a.${LinkBlot.className}`)\n ) {\n return\n }\n this.handleMouseEnter(event)\n },\n false,\n )\n\n this.quill.root.addEventListener(\n 'mouseout',\n (event) => {\n const target = event.target as HTMLElement\n if (target.tagName.toUpperCase() !== 'A' && !target.closest(`a.${LinkBlot.className}`)) {\n return\n }\n this.handleMouseLeave()\n },\n false,\n )\n\n this.root.addEventListener(\n 'mouseenter',\n () => {\n this.isHover = true\n },\n false,\n )\n\n this.root.addEventListener('mouseleave', this.handleMouseLeave.bind(this), false)\n\n this.root.querySelector('a.ql-preview').addEventListener('click', (event) => {\n const link = LinkBlot.sanitize(this.textbox.value)\n window.open(link, '_blank')\n event.preventDefault()\n })\n this.root.querySelector('input[type=\"text\"]').addEventListener('focus', () => {\n this.isInputFocus = true\n })\n this.root.querySelector('input[type=\"text\"]').addEventListener('blur', () => {\n this.isInputFocus = false\n this.save()\n })\n this.quill.on(\n Emitter.events.SELECTION_CHANGE,\n (range, _oldRange, source) => {\n if (isNullOrUndefined(range)) return\n if (source === Emitter.sources.USER) {\n const [link, offset] = this.quill.scroll.descendant(\n LinkBlot,\n range.index,\n )\n\n if (!isNullOrUndefined(link)) {\n this.linkRange = new Range(range.index - offset, link.length())\n const preview = LinkBlot.formats(link.domNode)\n if (!preview.startsWith('#')) {\n this.edit('link', preview, this.linkRange)\n }\n return\n }\n }\n if (this.shouldHide()) {\n this.hide()\n }\n },\n )\n this.quill.on(\n Emitter.events.TEXT_CHANGE,\n () => {\n const selection = this.quill.getSelection()\n const index = selection && selection.index\n setTimeout(() => {\n const link = this.quill.scroll.descendant(\n LinkBlot,\n index,\n )[0]\n if (!link) {\n this.handleMouseLeave()\n }\n })\n },\n )\n }\n\n save() {\n let value = this.textbox.value\n if (!value) return\n this.textbox.value = ''\n switch (this.root.getAttribute('data-mode')) {\n case 'link': {\n const { scrollTop } = this.quill.root\n if (this.options.autoProtocol) {\n value = this.addHttpProtocol(value)\n }\n\n if (this.linkRange) {\n this.quill.formatText(\n this.linkRange,\n 'link',\n value,\n Emitter.sources.USER,\n )\n this.restoreFocus()\n }\n else {\n this.restoreFocus()\n this.quill.format('link', value, Emitter.sources.USER)\n }\n this.quill.root.scrollTop = scrollTop\n break\n }\n case 'formula': {\n const range = this.quill.getSelection(true)\n if (!isNullOrUndefined(range)) {\n const index = range.index + range.length\n this.quill.insertEmbed(\n index,\n this.root.getAttribute('data-mode'),\n value,\n Emitter.sources.USER,\n )\n if (this.root.getAttribute('data-mode') === 'formula') {\n this.quill.insertText(index + 1, ' ', Emitter.sources.USER)\n }\n this.quill.setSelection(index + 2, Emitter.sources.USER)\n }\n break\n }\n case 'video': {\n const range = this.quill.getSelection(true)\n this.quill.insertText(range.index, '\\n', Emitter.sources.USER)\n this.quill.insertEmbed(range.index + 1, 'video', { src: value }, Emitter.sources.USER)\n this.quill.insertText(range.index + 2, '\\n', Emitter.sources.USER)\n this.quill.setSelection(range.index + 3, Emitter.sources.SILENT)\n this.textbox.value = ''\n this.hide()\n break\n }\n default:\n }\n }\n\n position(reference) {\n const left = reference.left\n const top = reference.bottom + this.quill.root.scrollTop\n this.root.style.left = `${left}px`\n this.root.style.top = `${top}px`\n this.root.classList.remove('ql-flip')\n const containerBounds = this.boundsContainer.getBoundingClientRect()\n const rootBounds = this.root.getBoundingClientRect()\n let shift = 0\n if (rootBounds.right > containerBounds.right) {\n shift = containerBounds.right - rootBounds.right\n this.root.style.left = `${left + shift}px`\n }\n if (rootBounds.left < containerBounds.left) {\n shift = containerBounds.left - rootBounds.left\n this.root.style.left = `${left + shift}px`\n }\n if (rootBounds.bottom > containerBounds.bottom) {\n const height = rootBounds.bottom - rootBounds.top\n const verticalShift = reference.bottom - reference.top + height\n const fixedTop = top - verticalShift\n this.root.style.top = `${fixedTop < 0 ? this.quill.root.scrollTop + reference.top : fixedTop}px`\n this.root.classList.add('ql-flip')\n }\n return shift\n }\n\n // @ts-expect-error\n edit(mode: string = 'link', preview = null, range) {\n this.linkRange = range || this.quill.selection.savedRange\n this.root.classList.remove('ql-hidden')\n this.root.classList.add('ql-editing')\n if (!isNullOrUndefined(preview)) {\n this.textbox.value = preview\n }\n else if (mode !== this.root.getAttribute('data-mode')) {\n this.textbox.value = ''\n }\n this.position(this.quill.getBounds(range || this.quill.selection.savedRange))\n if (this.textbox.value === '') {\n this.textbox.focus()\n }\n this.textbox.setAttribute(\n 'placeholder',\n this.textbox.getAttribute(`data-${mode}`) || '',\n )\n this.root.setAttribute('data-mode', mode)\n }\n\n show() {\n super.show()\n this.root.removeAttribute('data-mode')\n }\n\n addHttpProtocol(url: string) {\n let result = url\n if (!url) {\n return ''\n }\n if (!hadProtocol(url)) {\n result = `${this.options.autoProtocol}://${url}`\n }\n return result\n }\n}\n"],"names":["BaseTooltip","LinkBlot","debounce","CHANGE_LANGUAGE_EVENT","link","Range","isNullOrUndefined","hadProtocol","EN_US"],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"formats.cjs.js","sources":["../../../../src/modules/mathlive/formats.ts"],"sourcesContent":["import type { MathfieldElement } from 'mathlive'\nimport type { Root } from 'parchment'\nimport Quill from 'quill'\n\nconst Parchment = Quill.import('parchment')\nexport type MathliveBlotMode = 'dialog' | 'only-read'\nexport class MathliveBlot extends Parchment.EmbedBlot {\n static blotName = 'mathlive'\n static tagName = 'math-field'\n static className = 'ql-math-field'\n mode: MathliveBlotMode\n\n static create(obj: { value: string, mode: MathliveBlotMode }) {\n const el = super.create() as MathfieldElement\n el.setAttribute('mode', obj.mode)\n el.classList.add('view')\n el.innerHTML = obj.value\n el.setValue(obj.value)\n return el\n }\n\n static value(domNode: MathfieldElement) {\n return {\n value: domNode.value,\n mode: domNode.getAttribute('mode'),\n }\n }\n\n constructor(scroll: Root, public domNode: MathfieldElement) {\n super(scroll, domNode)\n domNode.setAttribute('contenteditable', 'false')\n this.mode = (domNode.getAttribute('mode') || 'only-read') as MathliveBlotMode\n }\n\n html() {\n const formula = this.domNode.value\n return `<math-field class=\"ql-math-field view\" contenteditable=\"false\" mode=\"${this.mode}\">${formula}</math-field>`\n }\n}\n"],"names":[],"mappings":";;;;;;AAIA,MAAM,YAAY,MAAM,OAAO,WAAW;AAEnC,MAAM,qBAAqB,UAAU,UAAU;AAAA,EAsBpD,YAAY,QAAqB,SAA2B;AAC1D,UAAM,QAAQ,OAAO;AAnBvB;AAkBiC,SAAA,UAAA;AAE/B,YAAQ,aAAa,mBAAmB,OAAO;AAC/C,SAAK,OAAQ,QAAQ,aAAa,MAAM,KAAK;AAAA,EAC/C;AAAA,EApBA,OAAO,OAAO,KAAgD;AAC5D,UAAM,KAAK,MAAM,OAAA;AACjB,OAAG,aAAa,QAAQ,IAAI,IAAI;AAChC,OAAG,UAAU,IAAI,MAAM;AACvB,OAAG,YAAY,IAAI;AACnB,OAAG,SAAS,IAAI,KAAK;AACrB,WAAO;AAAA,EACT;AAAA,EAEA,OAAO,MAAM,SAA2B;AACtC,WAAO;AAAA,MACL,OAAO,QAAQ;AAAA,MACf,MAAM,QAAQ,aAAa,MAAM;AAAA,IAAA;AAAA,EAErC;AAAA,EAQA,OAAO;AACL,UAAM,UAAU,KAAK,QAAQ;AAC7B,WAAO,wEAAwE,KAAK,IAAI,KAAK,OAAO;AAAA,EACtG;AACF;AA/BE,cADW,cACJ,YAAW;AAClB,cAFW,cAEJ,WAAU;AACjB,cAHW,cAGJ,aAAY;;"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"module.cjs.js","sources":["../../../../src/modules/mathlive/module.ts"],"sourcesContent":["import Quill from 'quill'\r\nimport { MathliveBlot } from './formats'\r\nimport { MathliveTooltip } from './tooltip'\r\n\r\nexport class MathliveModule {\r\n tooltip: MathliveTooltip\r\n static register() {\r\n Quill.register({ [`formats/${MathliveBlot.blotName}`]: MathliveBlot }, true)\r\n }\r\n\r\n constructor(public quill: Quill) {\r\n this.tooltip = new MathliveTooltip(quill)\r\n\r\n this.quill.root.addEventListener(\r\n 'click',\r\n (e: MouseEvent) => {\r\n if (!this.quill.isEnabled()) return\r\n const path = e.composedPath() as HTMLElement[]\r\n if (!path || path.length <= 0) return\r\n\r\n const mathliveNode = path.find(node => node.tagName && node.tagName.toUpperCase() === MathliveBlot.tagName.toUpperCase() && node.classList.contains(MathliveBlot.className))\r\n const mathliveBlot = Quill.find(mathliveNode) as MathliveBlot | null\r\n if (mathliveBlot) {\r\n const { value, mode } = MathliveBlot.value(mathliveBlot.domNode)\r\n if (mode === 'dialog') {\r\n this.createDialog(value)\r\n }\r\n }\r\n },\r\n true,\r\n )\r\n }\r\n\r\n createDialog(value?: string) {\r\n this.tooltip.edit(value)\r\n }\r\n}\r\n"],"names":["MathliveTooltip","MathliveBlot"],"mappings":";;;;;;;;AAIO,MAAM,eAAe;AAAA,EAM1B,YAAmB,OAAc;AALjC;AAKmB,SAAA,QAAA;AACjB,SAAK,UAAU,IAAIA,QAAAA,gBAAgB,KAAK;AAExC,SAAK,MAAM,KAAK;AAAA,MACd;AAAA,MACA,CAAC,MAAkB;AACjB,YAAI,CAAC,KAAK,MAAM,YAAa;AAC7B,cAAM,OAAO,EAAE,aAAA;AACf,YAAI,CAAC,QAAQ,KAAK,UAAU,EAAG;AAE/B,cAAM,eAAe,KAAK,KAAK,UAAQ,KAAK,WAAW,KAAK,QAAQ,YAAA,MAAkBC,qBAAa,QAAQ,iBAAiB,KAAK,UAAU,SAASA,qBAAa,SAAS,CAAC;AAC3K,cAAM,eAAe,MAAM,KAAK,YAAY;AAC5C,YAAI,cAAc;AAChB,gBAAM,EAAE,OAAO,KAAA,IAASA,QAAAA,aAAa,MAAM,aAAa,OAAO;AAC/D,cAAI,SAAS,UAAU;AACrB,iBAAK,aAAa,KAAK;AAAA,UACzB;AAAA,QACF;AAAA,MACF;AAAA,MACA;AAAA,IAAA;AAAA,EAEJ;AAAA,EAzBA,OAAO,WAAW;AAChB,UAAM,SAAS,EAAE,CAAC,WAAWA,qBAAa,QAAQ,EAAE,GAAGA,qBAAA,GAAgB,IAAI;AAAA,EAC7E;AAAA,EAyBA,aAAa,OAAgB;AAC3B,SAAK,QAAQ,KAAK,KAAK;AAAA,EACzB;AACF;;"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tooltip.cjs.js","sources":["../../../../src/modules/mathlive/tooltip.ts"],"sourcesContent":["import type { MathfieldElement } from 'mathlive'\nimport type { Bounds } from 'quill/core/selection'\nimport type TypeTooltip from 'quill/ui/tooltip'\nimport Quill from 'quill'\nimport { isString } from '../../utils/is'\n\nconst Delta = Quill.import('delta')\nconst Tooltip = Quill.import('ui/tooltip') as typeof TypeTooltip\nexport class MathliveTooltip extends Tooltip {\n static TEMPLATE = ``\n\n mathliveDom: MathfieldElement\n editValue?: string\n\n constructor(quill: Quill, boundsContainer?: HTMLElement) {\n super(quill, boundsContainer)\n this.mathliveDom = document.createElement('math-field') as MathfieldElement\n this.mathliveDom.classList.add('ql-math-field')\n this.root.appendChild(this.mathliveDom)\n this.root.classList.add('math-field-tooltip')\n this.listen()\n }\n\n listen() {\n this.mathliveDom.addEventListener('blur', (event) => {\n this.hide()\n })\n this.root.addEventListener('keydown', (event) => {\n if (event.key === 'Enter') {\n event.preventDefault()\n this.save()\n }\n else if (event.key === 'Escape') {\n event.preventDefault()\n this.cancel()\n }\n })\n }\n\n cancel() {\n this.hide()\n this.restoreFocus()\n }\n\n edit(value?: string) {\n this.editValue = value\n this.root.classList.remove('ql-hidden')\n this.root.classList.add('ql-editing')\n this.mathliveDom.setValue(value || '')\n const range = this.quill.getSelection()\n const bounds = range ? this.quill.getBounds(range) : null\n if (bounds != null) {\n this.position(bounds)\n }\n this.show()\n this.mathliveDom.focus()\n }\n\n restoreFocus() {\n this.mathliveDom.blur()\n this.quill.focus({ preventScroll: true })\n }\n\n save() {\n const range = this.quill.getSelection(true)\n const inputValue = this.mathliveDom.value\n if (!inputValue) return\n const contentData = this.quill.getContents(range.index, 1).ops[0].insert\n let deleteCount = 0\n if (!isString(contentData) && contentData.mathlive) {\n deleteCount += 1\n }\n const delta = new Delta()\n .retain(range.index)\n .delete(Math.max(deleteCount, range.length))\n .insert({ mathlive: { value: inputValue, mode: 'dialog' } })\n this.quill.updateContents(delta, Quill.sources.USER)\n this.quill.setSelection(range.index + 1, Quill.sources.SILENT)\n this.hide()\n }\n\n position(reference: Bounds) {\n const adjustedReference = { ...reference }\n adjustedReference.left = reference.left + this.root.offsetWidth / 2 - reference.width / 2\n return super.position(adjustedReference)\n }\n}\n"],"names":["isString"],"mappings":";;;;;;;AAMA,MAAM,QAAQ,MAAM,OAAO,OAAO;AAClC,MAAM,UAAU,MAAM,OAAO,YAAY;AAClC,MAAM,wBAAwB,QAAQ;AAAA,EAM3C,YAAY,OAAc,iBAA+B;AACvD,UAAM,OAAO,eAAe;AAJ9B;AACA;AAIE,SAAK,cAAc,SAAS,cAAc,YAAY;AACtD,SAAK,YAAY,UAAU,IAAI,eAAe;AAC9C,SAAK,KAAK,YAAY,KAAK,WAAW;AACtC,SAAK,KAAK,UAAU,IAAI,oBAAoB;AAC5C,SAAK,OAAA;AAAA,EACP;AAAA,EAEA,SAAS;AACP,SAAK,YAAY,iBAAiB,QAAQ,CAAC,UAAU;AACnD,WAAK,KAAA;AAAA,IACP,CAAC;AACD,SAAK,KAAK,iBAAiB,WAAW,CAAC,UAAU;AAC/C,UAAI,MAAM,QAAQ,SAAS;AACzB,cAAM,eAAA;AACN,aAAK,KAAA;AAAA,MACP,WACS,MAAM,QAAQ,UAAU;AAC/B,cAAM,eAAA;AACN,aAAK,OAAA;AAAA,MACP;AAAA,IACF,CAAC;AAAA,EACH;AAAA,EAEA,SAAS;AACP,SAAK,KAAA;AACL,SAAK,aAAA;AAAA,EACP;AAAA,EAEA,KAAK,OAAgB;AACnB,SAAK,YAAY;AACjB,SAAK,KAAK,UAAU,OAAO,WAAW;AACtC,SAAK,KAAK,UAAU,IAAI,YAAY;AACpC,SAAK,YAAY,SAAS,SAAS,EAAE;AACrC,UAAM,QAAQ,KAAK,MAAM,aAAA;AACzB,UAAM,SAAS,QAAQ,KAAK,MAAM,UAAU,KAAK,IAAI;AACrD,QAAI,UAAU,MAAM;AAClB,WAAK,SAAS,MAAM;AAAA,IACtB;AACA,SAAK,KAAA;AACL,SAAK,YAAY,MAAA;AAAA,EACnB;AAAA,EAEA,eAAe;AACb,SAAK,YAAY,KAAA;AACjB,SAAK,MAAM,MAAM,EAAE,eAAe,MAAM;AAAA,EAC1C;AAAA,EAEA,OAAO;AACL,UAAM,QAAQ,KAAK,MAAM,aAAa,IAAI;AAC1C,UAAM,aAAa,KAAK,YAAY;AACpC,QAAI,CAAC,WAAY;AACjB,UAAM,cAAc,KAAK,MAAM,YAAY,MAAM,OAAO,CAAC,EAAE,IAAI,CAAC,EAAE;AAClE,QAAI,cAAc;AAClB,QAAI,CAACA,GAAAA,SAAS,WAAW,KAAK,YAAY,UAAU;AAClD,qBAAe;AAAA,IACjB;AACA,UAAM,QAAQ,IAAI,MAAA,EACf,OAAO,MAAM,KAAK,EAClB,OAAO,KAAK,IAAI,aAAa,MAAM,MAAM,CAAC,EAC1C,OAAO,EAAE,UAAU,EAAE,OAAO,YAAY,MAAM,SAAA,GAAY;AAC7D,SAAK,MAAM,eAAe,OAAO,MAAM,QAAQ,IAAI;AACnD,SAAK,MAAM,aAAa,MAAM,QAAQ,GAAG,MAAM,QAAQ,MAAM;AAC7D,SAAK,KAAA;AAAA,EACP;AAAA,EAEA,SAAS,WAAmB;AAC1B,UAAM,oBAAoB,EAAE,GAAG,UAAA;AAC/B,sBAAkB,OAAO,UAAU,OAAO,KAAK,KAAK,cAAc,IAAI,UAAU,QAAQ;AACxF,WAAO,MAAM,SAAS,iBAAiB;AAAA,EACzC;AACF;AA7EE,cADW,iBACJ,YAAW;;"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"mention-link.cjs.js","sources":["../../../../src/modules/mention/mention-link.ts"],"sourcesContent":["import type TypeEmbed from 'quill/blots/embed'\nimport type TypeScroll from 'quill/blots/scroll'\nimport Quill from 'quill'\nimport { DEFAULT_MENTION_CHAR, MENTION_CHAR, ON_MENTION_LINK_REMOVE } from './constants'\n\nconst Embed = Quill.import('blots/embed') as typeof TypeEmbed\n\nexport class MentionLink extends Embed {\n static blotName: string\n static tagName: string\n static className: string\n mentionData: any\n\n static create(data) {\n let node: HTMLElement\n if (data.link) {\n node = document.createElement('a')\n node.setAttribute('href', data.link)\n node.setAttribute('target', data.target)\n }\n else {\n node = document.createElement(this.tagName)\n }\n node.classList.add(this.className)\n node.dataset.mentionId = data.name || (data.mention && data.mention[data.searchKey || 'name']) || ''\n node.setAttribute('title', data.text)\n node.setAttribute(MENTION_CHAR, data.char)\n node.textContent = data.char + data.text\n return node\n }\n\n static value(domNode: HTMLElement) {\n const value: Record<string, any> = {\n char: domNode.getAttribute(MENTION_CHAR) || DEFAULT_MENTION_CHAR,\n text: domNode.getAttribute('title'),\n name: domNode.dataset.mentionId,\n }\n if (domNode.tagName.toLowerCase() === 'a' && domNode.hasAttribute('href')) {\n value.link = domNode.getAttribute('href')\n value.target = domNode.getAttribute('target')\n }\n return value\n }\n\n constructor(public scroll: TypeScroll, domNode, data) {\n super(scroll, domNode)\n this.mentionData = data\n }\n\n value() {\n // fix: 将@提醒内容加入到 Delta 里,以解决输入空格,@提醒内容被删除的问题\n // return ' ';\n return super.value()\n }\n\n remove() {\n this.scroll.emitter.emit(ON_MENTION_LINK_REMOVE, this.mentionData)\n return super.remove()\n }\n}\n\nMentionLink.blotName = 'mention'\nMentionLink.tagName = 'span'\nMentionLink.className = 'ql-mention-link'\n"],"names":["MENTION_CHAR","DEFAULT_MENTION_CHAR","ON_MENTION_LINK_REMOVE"],"mappings":";;;;;;;AAKA,MAAM,QAAQ,MAAM,OAAO,aAAa;AAEjC,MAAM,oBAAoB,MAAM;AAAA,EAqCrC,YAAmB,QAAoB,SAAS,MAAM;AACpD,UAAM,QAAQ,OAAO;AAlCvB;AAiCmB,SAAA,SAAA;AAEjB,SAAK,cAAc;AAAA,EACrB;AAAA,EAlCA,OAAO,OAAO,MAAM;AAClB,QAAI;AACJ,QAAI,KAAK,MAAM;AACb,aAAO,SAAS,cAAc,GAAG;AACjC,WAAK,aAAa,QAAQ,KAAK,IAAI;AACnC,WAAK,aAAa,UAAU,KAAK,MAAM;AAAA,IACzC,OACK;AACH,aAAO,SAAS,cAAc,KAAK,OAAO;AAAA,IAC5C;AACA,SAAK,UAAU,IAAI,KAAK,SAAS;AACjC,SAAK,QAAQ,YAAY,KAAK,QAAS,KAAK,WAAW,KAAK,QAAQ,KAAK,aAAa,MAAM,KAAM;AAClG,SAAK,aAAa,SAAS,KAAK,IAAI;AACpC,SAAK,aAAaA,wBAAc,KAAK,IAAI;AACzC,SAAK,cAAc,KAAK,OAAO,KAAK;AACpC,WAAO;AAAA,EACT;AAAA,EAEA,OAAO,MAAM,SAAsB;AACjC,UAAM,QAA6B;AAAA,MACjC,MAAM,QAAQ,aAAaA,UAAAA,YAAY,KAAKC,UAAAA;AAAAA,MAC5C,MAAM,QAAQ,aAAa,OAAO;AAAA,MAClC,MAAM,QAAQ,QAAQ;AAAA,IAAA;AAExB,QAAI,QAAQ,QAAQ,YAAA,MAAkB,OAAO,QAAQ,aAAa,MAAM,GAAG;AACzE,YAAM,OAAO,QAAQ,aAAa,MAAM;AACxC,YAAM,SAAS,QAAQ,aAAa,QAAQ;AAAA,IAC9C;AACA,WAAO;AAAA,EACT;AAAA,EAOA,QAAQ;AAGN,WAAO,MAAM,MAAA;AAAA,EACf;AAAA,EAEA,SAAS;AACP,SAAK,OAAO,QAAQ,KAAKC,UAAAA,wBAAwB,KAAK,WAAW;AACjE,WAAO,MAAM,OAAA;AAAA,EACf;AACF;AAnDE,cADW,aACJ;AACP,cAFW,aAEJ;AACP,cAHW,aAGJ;AAmDT,YAAY,WAAW;AACvB,YAAY,UAAU;AACtB,YAAY,YAAY;;"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"mention.cjs.js","sources":["../../../../src/modules/mention/mention.ts"],"sourcesContent":["import Quill from 'quill'\nimport { isNullOrUndefined } from '../../config/editor.utils'\nimport { DEFAULT_MENTION_CHAR, ON_MENTION_LINK_REMOVE } from './constants'\nimport { MentionLink } from './mention-link'\n\nconst Delta = Quill.import('delta')\nconst Parchment = Quill.import('parchment')\nconst { Scope } = Parchment\n\nexport interface MentionOption {\n containerClass?: string\n // dataAttributes?: string[]\n defaultLink?: string\n itemActiveClass?: string\n itemKey: string\n itemClass?: string\n listClass?: string\n listHideClass?: string\n maxHeight?: number\n mentionChar?: string\n remove?: (data: any) => void\n renderMentionItem?: (data: any) => string | HTMLElement\n renderMentionText?: (data: any) => string | HTMLElement\n search?: (term: string) => Promise<any[]> | any[]\n searchKey: string\n select?: (data: any) => void\n target?: string\n}\n\nexport class Mention {\n private readonly options: MentionOption\n private readonly mentionListEL: HTMLUListElement\n private activeMentionIndex = 0\n private latestMentionList: any[]\n private latestMentionCharPos: number\n private latestCaretPos: number\n private searchTerm = ''\n private needInsertBr = true\n private readonly defaultOptions: MentionOption = {\n defaultLink: '#',\n target: '_blank',\n mentionChar: DEFAULT_MENTION_CHAR,\n maxHeight: 200,\n renderMentionItem(data: any) {\n let mentionItem = data.name || data.id\n if (this.itemKey) {\n mentionItem = data[this.itemKey]\n }\n const dom = document.createElement('SPAN')\n dom.textContent = mentionItem\n return dom\n },\n renderMentionText(data: any) {\n let mentionText = data.name || data.id\n if (this.itemKey) {\n mentionText = data[this.itemKey]\n }\n return `${mentionText}`\n },\n containerClass: 'ql-mention-list-container',\n listClass: 'ql-mention-list',\n listHideClass: 'ql-mention-list--hide',\n itemClass: 'ql-mention-item',\n itemActiveClass: 'ql-mention-item--active',\n itemKey: 'name',\n searchKey: 'name',\n // dataAttributes: ['id'],\n select(_data: any) {},\n remove(_data: any) {},\n }\n\n static register() {\n Quill.register(MentionLink)\n }\n\n // @ts-ignore\n constructor(private quill: Quill, options: MentionOption) {\n if (!options.search) {\n console.warn('please provide a search function!')\n return\n }\n\n this.options = Object.assign(this.defaultOptions, options)\n const container = document.createElement('div')\n container.classList.add('ql-mention-list-container')\n if (this.options.containerClass !== 'ql-mention-list-container') {\n container.classList.add(this.options.containerClass)\n }\n this.mentionListEL = document.createElement('ul')\n this.mentionListEL.classList.add(this.options.listClass, this.options.listHideClass)\n this.mentionListEL.style.cssText += `\n max-height: ${this.options.maxHeight}px;\n `\n\n quill.on(Quill.events.TEXT_CHANGE, this.handleTextChange)\n quill.keyboard.addBinding({ key: 'ArrowUp' }, this.handleArrowUpKey)\n quill.keyboard.addBinding({ key: 'ArrowDown' }, this.handleArrowDownKey)\n quill.keyboard.addBinding({ key: 'Enter' }, this.handleEnterKey)\n quill.keyboard.addBinding({ key: 'Tab' }, this.handleEnterKey)\n quill.keyboard.addBinding({ key: 'Escape' }, this.handleEscapeKey)\n quill.keyboard.bindings.Enter.unshift(quill.keyboard.bindings.Enter.pop())\n quill.keyboard.bindings.Tab.unshift(quill.keyboard.bindings.Tab.pop())\n quill.keyboard.bindings.Escape.unshift(quill.keyboard.bindings.Escape.pop())\n\n const customKeyboardEnter = {\n key: 'Enter',\n shiftKey: null,\n handler: (range, context) => {\n const lineFormats = Object.keys(context.format).reduce(\n (formats, format) => {\n if (\n this.quill.scroll.query(format, Scope.BLOCK)\n && !Array.isArray(context.format[format])\n ) {\n formats[format] = context.format[format]\n }\n return formats\n },\n {},\n )\n\n // fix: 解决@提醒之后插入多余空行和光标位置不对的问题\n let selectionIndex = range.index - this.searchTerm.length\n let delta = new Delta()\n .retain(range.index)\n .delete(range.length)\n if (this.needInsertBr) {\n delta = delta.insert('\\n', lineFormats)\n selectionIndex = range.index + 1\n }\n\n this.quill.updateContents(delta, Quill.sources.USER)\n this.quill.setSelection(selectionIndex, Quill.sources.SILENT)\n this.quill.focus()\n\n Object.keys(context.format).forEach((name) => {\n if (!isNullOrUndefined(lineFormats[name])) return\n if (Array.isArray(context.format[name])) return\n if (name === 'code' || name === 'link') return\n this.quill.format(name, context.format[name], Quill.sources.USER)\n })\n\n this.needInsertBr = true // 标记是否是输入@提醒的Enter\n },\n }\n\n // 用自定义的Enter替换内置的Enter\n quill.keyboard.bindings.Enter = quill.keyboard.bindings.Enter.map((item) => {\n const buildinKeyboardEnter = item.format === undefined && item.shiftKey === null\n if (buildinKeyboardEnter) {\n return customKeyboardEnter\n }\n else {\n return item\n }\n })\n\n this.on('click', this.handleMouseClick)\n this.on('mouseover', this.handleMouseEnter)\n quill.emitter.on(ON_MENTION_LINK_REMOVE, async ({ mention, name }) => {\n const [result] = (mention && [mention]) || (await this.options.search(name))\n this.options.remove(result)\n })\n container.appendChild(this.mentionListEL)\n quill.container.parentElement.insertBefore(container, quill.container)\n }\n\n on(eventName, callback) {\n this.mentionListEL.addEventListener(eventName, (evt) => {\n let\n target = evt.target\n let targetItemEL\n\n while (this.mentionListEL.contains(target) && target !== this.mentionListEL) {\n if (target.classList.contains(this.options.itemClass)) {\n targetItemEL = target\n }\n target = target.parentElement\n }\n\n if (targetItemEL) {\n callback.call(this, targetItemEL, this.getMentionItemIndex(targetItemEL))\n }\n })\n }\n\n getMentionItemIndex(itemEl: Element) {\n return [].reduce.call(this.mentionListEL.children, (index, item, idx) => item === itemEl ? idx : index, -1)\n }\n\n handleTextChange = (_delta, _oldDelta, source) => {\n // defer handler to make sure that we can get correct quill selection range.\n setTimeout(() => {\n if (Quill.sources.USER === source) {\n const range = this.quill.getSelection()\n if (!range) {\n return\n }\n\n const caretPos = this.latestCaretPos = range.index\n // beforeCaretText的计算有问题,没有把图片内容和@提醒内容的非字符内容算进去\n const content = this.quill.getContents()\n const beforeCaretText = content.reduce((newText, op) => {\n if (typeof op.insert === 'string') {\n return (newText += op.insert)\n }\n else {\n return (newText += ' ') // 将图片内容和@提醒内容的非字符内容置为' ',算一个位置\n }\n }, '')\n const mentionCharPos = beforeCaretText.lastIndexOf(this.options.mentionChar)\n\n if (mentionCharPos > -1) {\n const searchTerm = beforeCaretText.substring(mentionCharPos + this.options.mentionChar.length, caretPos)\n this.searchTerm = searchTerm\n if (!''.startsWith.call(searchTerm, ' ')) {\n this.latestMentionCharPos = mentionCharPos\n this.searchMentionListByTerm(searchTerm)\n }\n else {\n this.hideMentionList()\n }\n }\n else {\n this.hideMentionList()\n }\n }\n })\n }\n\n handleMouseClick(_itemEl: HTMLLIElement, index: number) {\n this.selectMentionItem(index, true)\n this.quill.focus()\n }\n\n handleMouseEnter(_itemEl: HTMLLIElement, index: number) {\n this.activeMentionIndex = index\n this.highlightMentionItem(index)\n }\n\n handleArrowUpKey = () => {\n if (this.isOpen()) {\n this.activeMentionIndex\n = (this.activeMentionIndex + this.latestMentionList.length - 1) % this.latestMentionList.length\n this.highlightMentionItem(this.activeMentionIndex)\n return false\n }\n return true\n }\n\n handleArrowDownKey = () => {\n if (this.isOpen()) {\n this.activeMentionIndex = (this.activeMentionIndex + 1) % this.latestMentionList.length\n this.highlightMentionItem(this.activeMentionIndex)\n return false\n }\n return true\n }\n\n handleEnterKey = () => {\n if (this.isOpen()) {\n this.selectMentionItem()\n this.needInsertBr = false\n }\n return true\n }\n\n handleEscapeKey = () => {\n if (this.isOpen()) {\n this.hideMentionList()\n return false\n }\n return true\n }\n\n getActiveMentionItem() {\n return this.mentionListEL.querySelector(`.${this.options.itemActiveClass}`)\n }\n\n isOpen() {\n return !this.mentionListEL.classList.contains(this.options.listHideClass)\n }\n\n async searchMentionListByTerm(term: string) {\n const mentionList = await this.options.search(term)\n this.latestMentionList = mentionList\n if (!mentionList || mentionList.length === 0) {\n return this.hideMentionList()\n }\n\n this.showMentionList(mentionList)\n }\n\n showMentionList(mentionList: any[]) {\n if (!this.isOpen()) {\n this.mentionListEL.classList.remove(this.options.listHideClass)\n }\n this.activeMentionIndex = 0\n this.setMentionListPos()\n this.render(mentionList)\n }\n\n hideMentionList() {\n if (this.isOpen()) {\n this.activeMentionIndex = 0\n this.mentionListEL.classList.add(this.options.listHideClass)\n }\n }\n\n setMentionListPos() {\n const cursorIndex = this.quill.selection.savedRange.index\n const cursorBounds = this.quill.getBounds(cursorIndex)\n const { left, top } = cursorBounds\n const container = this.quill.container\n const hostElement = container.parentNode as HTMLDivElement\n const { left: editorLeft, top: editorTop } = container.getBoundingClientRect()\n const { left: hostElementLeft, top: hostElementTop } = hostElement.getBoundingClientRect()\n const relativeLeft = editorLeft - hostElementLeft\n const relativeTop = editorTop - hostElementTop\n const menuLeft = left + relativeLeft - 5\n const menuTop = top + relativeTop + 20\n this.mentionListEL.style.cssText += `\n left: ${menuLeft}px;\n top: ${menuTop}px;\n `\n }\n\n render(mentionList: any[]) {\n const wrapEl = document.createElement('div');\n\n [].forEach.call(mentionList, (mentionItem, index) => {\n const mentionItemEl = document.createElement('li')\n mentionItemEl.classList.add(this.options.itemClass)\n if (index === this.activeMentionIndex) {\n mentionItemEl.classList.add(this.options.itemActiveClass)\n }\n const renderResult = this.options.renderMentionItem(mentionItem)\n if (typeof renderResult === 'string') {\n mentionItemEl.insertAdjacentHTML('afterbegin', renderResult)\n }\n else {\n mentionItemEl.insertAdjacentElement('afterbegin', renderResult)\n }\n wrapEl.appendChild(mentionItemEl)\n })\n\n this.mentionListEL.innerHTML = wrapEl.innerHTML\n }\n\n highlightMentionItem(index: number) {\n const oldActiveItem = this.getActiveMentionItem()\n if (oldActiveItem) {\n oldActiveItem.classList.remove(this.options.itemActiveClass)\n }\n\n const newActiveItem = this.mentionListEL.querySelector(`.${this.options.itemClass}:nth-of-type(${index + 1})`)\n if (newActiveItem) {\n newActiveItem.classList.add(this.options.itemActiveClass)\n this.scrollIntoView(newActiveItem)\n }\n }\n\n scrollIntoView(node: Element): void {\n const nodeAsAny: any = node\n if (nodeAsAny.scrollIntoViewIfNeeded) {\n nodeAsAny.scrollIntoViewIfNeeded(false)\n return\n }\n if (node.scrollIntoView) {\n node.scrollIntoView(false)\n }\n }\n\n selectMentionItem(index = this.activeMentionIndex, isClick?: boolean) {\n const activeMentionItem = this.latestMentionList[index]\n this.insertMentionBlot(activeMentionItem, isClick)\n this.options.select(activeMentionItem)\n this.hideMentionList()\n }\n\n insertMentionBlot(activeMentionItem: any, isClick?: boolean) {\n const mention = this.options.renderMentionText(activeMentionItem)\n const delta = new Delta()\n .retain(this.latestMentionCharPos)\n .delete(this.latestCaretPos - this.latestMentionCharPos)\n .insert({\n [MentionLink.blotName]: {\n char: this.options.mentionChar,\n text: mention,\n mention: activeMentionItem,\n link: activeMentionItem.link || this.options.defaultLink,\n target: activeMentionItem.target || this.options.target,\n searchKey: this.options.searchKey,\n },\n })\n if (isClick) {\n this.quill.updateContents(delta, Quill.sources.USER)\n }\n else {\n this.quill.updateContents(delta, Quill.sources.API)\n }\n this.quill.setSelection(this.latestMentionCharPos + 1, Quill.sources.API)\n }\n}\n"],"names":["DEFAULT_MENTION_CHAR","isNullOrUndefined","ON_MENTION_LINK_REMOVE","MentionLink"],"mappings":"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"}
|
|
@@ -0,0 +1,108 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
3
|
+
function getBackgroundConfig(quill) {
|
|
4
|
+
var _a;
|
|
5
|
+
const MindMapModule = (_a = quill == null ? void 0 : quill.options.modules) == null ? void 0 : _a["mind-map"];
|
|
6
|
+
if (!MindMapModule || typeof MindMapModule !== "object") {
|
|
7
|
+
return false;
|
|
8
|
+
}
|
|
9
|
+
if ("background" in MindMapModule) {
|
|
10
|
+
const background = MindMapModule.background;
|
|
11
|
+
if (background === false || background === void 0) {
|
|
12
|
+
return false;
|
|
13
|
+
}
|
|
14
|
+
if (typeof background === "object" && background !== null) {
|
|
15
|
+
const typedBackground = background;
|
|
16
|
+
const backgroundConfig = {};
|
|
17
|
+
if (typedBackground.color) {
|
|
18
|
+
backgroundConfig.backgroundColor = typedBackground.color;
|
|
19
|
+
}
|
|
20
|
+
if (typedBackground.image) {
|
|
21
|
+
backgroundConfig.backgroundImage = typedBackground.image;
|
|
22
|
+
}
|
|
23
|
+
if (typedBackground.repeat) {
|
|
24
|
+
backgroundConfig.backgroundRepeat = typedBackground.repeat;
|
|
25
|
+
}
|
|
26
|
+
if (typedBackground.position) {
|
|
27
|
+
backgroundConfig.backgroundPosition = typedBackground.position;
|
|
28
|
+
}
|
|
29
|
+
if (typedBackground.size) {
|
|
30
|
+
backgroundConfig.backgroundSize = typedBackground.size;
|
|
31
|
+
}
|
|
32
|
+
return backgroundConfig;
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
return false;
|
|
36
|
+
}
|
|
37
|
+
function getLineConfig(quill) {
|
|
38
|
+
var _a;
|
|
39
|
+
const MindMapModule = (_a = quill == null ? void 0 : quill.options.modules) == null ? void 0 : _a["mind-map"];
|
|
40
|
+
if (!MindMapModule || typeof MindMapModule !== "object") {
|
|
41
|
+
return false;
|
|
42
|
+
}
|
|
43
|
+
if ("line" in MindMapModule) {
|
|
44
|
+
const line = MindMapModule.line;
|
|
45
|
+
if (line === false || line === void 0) {
|
|
46
|
+
return false;
|
|
47
|
+
}
|
|
48
|
+
if (typeof line === "object" && line !== null) {
|
|
49
|
+
const typedLine = line;
|
|
50
|
+
const lineConfig = {};
|
|
51
|
+
if (typedLine.color) {
|
|
52
|
+
lineConfig.lineColor = typedLine.color;
|
|
53
|
+
}
|
|
54
|
+
if (typedLine.width) {
|
|
55
|
+
lineConfig.lineWidth = typedLine.width;
|
|
56
|
+
}
|
|
57
|
+
if (typedLine.dasharray) {
|
|
58
|
+
lineConfig.lineDasharray = typedLine.dasharray;
|
|
59
|
+
}
|
|
60
|
+
if (typedLine.style) {
|
|
61
|
+
lineConfig.lineStyle = typedLine.style;
|
|
62
|
+
}
|
|
63
|
+
return lineConfig;
|
|
64
|
+
}
|
|
65
|
+
}
|
|
66
|
+
return false;
|
|
67
|
+
}
|
|
68
|
+
function getResizeConfig(quill) {
|
|
69
|
+
var _a;
|
|
70
|
+
const MindMapModule = (_a = quill == null ? void 0 : quill.options.modules) == null ? void 0 : _a["mind-map"];
|
|
71
|
+
if (!MindMapModule || typeof MindMapModule !== "object") {
|
|
72
|
+
return false;
|
|
73
|
+
}
|
|
74
|
+
if ("resize" in MindMapModule) {
|
|
75
|
+
const resize = MindMapModule.resize;
|
|
76
|
+
return resize === true;
|
|
77
|
+
}
|
|
78
|
+
return false;
|
|
79
|
+
}
|
|
80
|
+
function getThemeConfig(quill) {
|
|
81
|
+
var _a;
|
|
82
|
+
const MindMapModule = (_a = quill == null ? void 0 : quill.options.modules) == null ? void 0 : _a["mind-map"];
|
|
83
|
+
if (!MindMapModule || typeof MindMapModule !== "object") {
|
|
84
|
+
return "default";
|
|
85
|
+
}
|
|
86
|
+
if ("theme" in MindMapModule) {
|
|
87
|
+
const theme = MindMapModule.theme;
|
|
88
|
+
return theme || "default";
|
|
89
|
+
}
|
|
90
|
+
return "default";
|
|
91
|
+
}
|
|
92
|
+
function getAllConfigs(quill) {
|
|
93
|
+
var _a, _b;
|
|
94
|
+
const deps = (_b = (_a = quill == null ? void 0 : quill.options.modules) == null ? void 0 : _a["mind-map"]) == null ? void 0 : _b.deps;
|
|
95
|
+
return {
|
|
96
|
+
backgroundConfig: getBackgroundConfig(quill),
|
|
97
|
+
resizeConfig: getResizeConfig(quill),
|
|
98
|
+
lineConfig: getLineConfig(quill),
|
|
99
|
+
themeConfig: getThemeConfig(quill),
|
|
100
|
+
deps
|
|
101
|
+
};
|
|
102
|
+
}
|
|
103
|
+
exports.getAllConfigs = getAllConfigs;
|
|
104
|
+
exports.getBackgroundConfig = getBackgroundConfig;
|
|
105
|
+
exports.getLineConfig = getLineConfig;
|
|
106
|
+
exports.getResizeConfig = getResizeConfig;
|
|
107
|
+
exports.getThemeConfig = getThemeConfig;
|
|
108
|
+
//# sourceMappingURL=config-utils.cjs.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"config-utils.cjs.js","sources":["../../../../src/modules/mind-map/config-utils.ts"],"sourcesContent":["import type Quill from 'quill'\nimport type { BackgroundConfig, LineConfig } from './options'\n\nexport function getBackgroundConfig(quill: Quill | null): false | object {\n const MindMapModule = quill?.options.modules?.['mind-map']\n if (!MindMapModule || typeof MindMapModule !== 'object') {\n return false\n }\n if ('background' in MindMapModule) {\n const background = MindMapModule.background as BackgroundConfig | boolean | undefined\n\n if (background === false || background === undefined) {\n return false\n }\n if (typeof background === 'object' && background !== null) {\n const typedBackground = background as BackgroundConfig\n const backgroundConfig: any = {}\n\n if (typedBackground.color) {\n backgroundConfig.backgroundColor = typedBackground.color\n }\n if (typedBackground.image) {\n backgroundConfig.backgroundImage = typedBackground.image\n }\n if (typedBackground.repeat) {\n backgroundConfig.backgroundRepeat = typedBackground.repeat\n }\n if (typedBackground.position) {\n backgroundConfig.backgroundPosition = typedBackground.position\n }\n if (typedBackground.size) {\n backgroundConfig.backgroundSize = typedBackground.size\n }\n return backgroundConfig\n }\n }\n return false\n}\n\nexport function getLineConfig(quill: Quill | null): false | object {\n const MindMapModule = quill?.options.modules?.['mind-map']\n if (!MindMapModule || typeof MindMapModule !== 'object') {\n return false\n }\n if ('line' in MindMapModule) {\n const line = MindMapModule.line as LineConfig | boolean | undefined\n\n if (line === false || line === undefined) {\n return false\n }\n if (typeof line === 'object' && line !== null) {\n const typedLine = line as LineConfig\n const lineConfig: any = {}\n\n if (typedLine.color) {\n lineConfig.lineColor = typedLine.color\n }\n if (typedLine.width) {\n lineConfig.lineWidth = typedLine.width\n }\n if (typedLine.dasharray) {\n lineConfig.lineDasharray = typedLine.dasharray\n }\n if (typedLine.style) {\n lineConfig.lineStyle = typedLine.style\n }\n return lineConfig\n }\n }\n return false\n}\n\nexport function getResizeConfig(quill: Quill | null): boolean {\n const MindMapModule = quill?.options.modules?.['mind-map']\n if (!MindMapModule || typeof MindMapModule !== 'object') {\n return false\n }\n if ('resize' in MindMapModule) {\n const resize = (MindMapModule as any).resize as boolean | undefined\n return resize === true\n }\n return false\n}\n\nexport function getThemeConfig(quill: Quill | null): string {\n const MindMapModule = quill?.options.modules?.['mind-map']\n if (!MindMapModule || typeof MindMapModule !== 'object') {\n return 'default'\n }\n if ('theme' in MindMapModule) {\n const theme = MindMapModule.theme as string | undefined\n return theme || 'default'\n }\n return 'default'\n}\n\nexport function getAllConfigs(quill: Quill | null): {\n backgroundConfig: false | object\n resizeConfig: boolean\n lineConfig: false | object\n themeConfig: string\n deps?: any\n} {\n const deps = (quill?.options.modules?.['mind-map'] as any)?.deps\n return {\n backgroundConfig: getBackgroundConfig(quill),\n resizeConfig: getResizeConfig(quill),\n lineConfig: getLineConfig(quill),\n themeConfig: getThemeConfig(quill),\n deps,\n }\n}\n"],"names":[],"mappings":";;AAGO,SAAS,oBAAoB,OAAqC;;AACvE,QAAM,iBAAgB,oCAAO,QAAQ,YAAf,mBAAyB;AAC/C,MAAI,CAAC,iBAAiB,OAAO,kBAAkB,UAAU;AACvD,WAAO;AAAA,EACT;AACA,MAAI,gBAAgB,eAAe;AACjC,UAAM,aAAa,cAAc;AAEjC,QAAI,eAAe,SAAS,eAAe,QAAW;AACpD,aAAO;AAAA,IACT;AACA,QAAI,OAAO,eAAe,YAAY,eAAe,MAAM;AACzD,YAAM,kBAAkB;AACxB,YAAM,mBAAwB,CAAA;AAE9B,UAAI,gBAAgB,OAAO;AACzB,yBAAiB,kBAAkB,gBAAgB;AAAA,MACrD;AACA,UAAI,gBAAgB,OAAO;AACzB,yBAAiB,kBAAkB,gBAAgB;AAAA,MACrD;AACA,UAAI,gBAAgB,QAAQ;AAC1B,yBAAiB,mBAAmB,gBAAgB;AAAA,MACtD;AACA,UAAI,gBAAgB,UAAU;AAC5B,yBAAiB,qBAAqB,gBAAgB;AAAA,MACxD;AACA,UAAI,gBAAgB,MAAM;AACxB,yBAAiB,iBAAiB,gBAAgB;AAAA,MACpD;AACA,aAAO;AAAA,IACT;AAAA,EACF;AACA,SAAO;AACT;AAEO,SAAS,cAAc,OAAqC;;AACjE,QAAM,iBAAgB,oCAAO,QAAQ,YAAf,mBAAyB;AAC/C,MAAI,CAAC,iBAAiB,OAAO,kBAAkB,UAAU;AACvD,WAAO;AAAA,EACT;AACA,MAAI,UAAU,eAAe;AAC3B,UAAM,OAAO,cAAc;AAE3B,QAAI,SAAS,SAAS,SAAS,QAAW;AACxC,aAAO;AAAA,IACT;AACA,QAAI,OAAO,SAAS,YAAY,SAAS,MAAM;AAC7C,YAAM,YAAY;AAClB,YAAM,aAAkB,CAAA;AAExB,UAAI,UAAU,OAAO;AACnB,mBAAW,YAAY,UAAU;AAAA,MACnC;AACA,UAAI,UAAU,OAAO;AACnB,mBAAW,YAAY,UAAU;AAAA,MACnC;AACA,UAAI,UAAU,WAAW;AACvB,mBAAW,gBAAgB,UAAU;AAAA,MACvC;AACA,UAAI,UAAU,OAAO;AACnB,mBAAW,YAAY,UAAU;AAAA,MACnC;AACA,aAAO;AAAA,IACT;AAAA,EACF;AACA,SAAO;AACT;AAEO,SAAS,gBAAgB,OAA8B;;AAC5D,QAAM,iBAAgB,oCAAO,QAAQ,YAAf,mBAAyB;AAC/C,MAAI,CAAC,iBAAiB,OAAO,kBAAkB,UAAU;AACvD,WAAO;AAAA,EACT;AACA,MAAI,YAAY,eAAe;AAC7B,UAAM,SAAU,cAAsB;AACtC,WAAO,WAAW;AAAA,EACpB;AACA,SAAO;AACT;AAEO,SAAS,eAAe,OAA6B;;AAC1D,QAAM,iBAAgB,oCAAO,QAAQ,YAAf,mBAAyB;AAC/C,MAAI,CAAC,iBAAiB,OAAO,kBAAkB,UAAU;AACvD,WAAO;AAAA,EACT;AACA,MAAI,WAAW,eAAe;AAC5B,UAAM,QAAQ,cAAc;AAC5B,WAAO,SAAS;AAAA,EAClB;AACA,SAAO;AACT;AAEO,SAAS,cAAc,OAM5B;;AACA,QAAM,QAAQ,0CAAO,QAAQ,YAAf,mBAAyB,gBAAzB,mBAA8C;AAC5D,SAAO;AAAA,IACL,kBAAkB,oBAAoB,KAAK;AAAA,IAC3C,cAAc,gBAAgB,KAAK;AAAA,IACnC,YAAY,cAAc,KAAK;AAAA,IAC/B,aAAa,eAAe,KAAK;AAAA,IACjC;AAAA,EAAA;AAEJ;;;;;;"}
|