@opentiny/fluent-editor 4.0.0-alpha.7 → 4.0.0-alpha.8
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/LICENSE +21 -0
- package/dist/README.md +88 -0
- package/dist/es/attributors/line-height.es.js.map +1 -0
- package/dist/es/config/base64-image.es.js.map +1 -0
- package/dist/es/config/editor.config.es.js.map +1 -0
- package/dist/es/config/editor.utils.es.js.map +1 -0
- package/dist/es/config/i18n/en-us.es.js.map +1 -0
- package/dist/es/config/i18n/zh-cn.es.js.map +1 -0
- package/dist/es/config/index.es.js.map +1 -0
- package/dist/es/core/fluent-editor.es.js.map +1 -0
- package/dist/es/fluent-editor.es.js.map +1 -0
- package/dist/es/formats/emoji.es.js.map +1 -0
- package/dist/es/formats/soft-break.es.js.map +1 -0
- package/dist/es/formats/strike.es.js.map +1 -0
- package/dist/es/formats/video.es.js.map +1 -0
- package/dist/es/modules/ai/constants.es.js.map +1 -0
- package/dist/es/modules/ai/icons.es.js.map +1 -0
- package/dist/es/modules/ai/index.es.js.map +1 -0
- package/dist/es/modules/collaborative-editing/awareness/awareness.es.js +93 -0
- package/dist/es/modules/collaborative-editing/awareness/awareness.es.js.map +1 -0
- package/dist/es/modules/collaborative-editing/awareness/y-indexeddb.es.js +12 -0
- package/dist/es/modules/collaborative-editing/awareness/y-indexeddb.es.js.map +1 -0
- package/dist/es/modules/collaborative-editing/collaborative-editing.es.js +105 -0
- package/dist/es/modules/collaborative-editing/collaborative-editing.es.js.map +1 -0
- package/dist/es/modules/collaborative-editing/module.es.js.map +1 -0
- package/dist/es/modules/collaborative-editing/provider/providerRegistry.es.js.map +1 -0
- package/dist/es/modules/collaborative-editing/provider/webrtc.es.js +99 -0
- package/dist/es/modules/collaborative-editing/provider/webrtc.es.js.map +1 -0
- package/dist/es/modules/collaborative-editing/provider/websocket.es.js +111 -0
- package/dist/es/modules/collaborative-editing/provider/websocket.es.js.map +1 -0
- package/dist/es/modules/counter.es.js.map +1 -0
- package/dist/es/modules/custom-clipboard.es.js.map +1 -0
- package/dist/es/modules/custom-image/actions/action.es.js.map +1 -0
- package/dist/es/modules/custom-image/actions/custom-resize-action.es.js.map +1 -0
- package/dist/es/modules/custom-image/actions/delete-action.es.js.map +1 -0
- package/dist/es/modules/custom-image/blot-formatter.es.js.map +1 -0
- package/dist/es/modules/custom-image/image.es.js.map +1 -0
- package/dist/es/modules/custom-image/options.es.js.map +1 -0
- package/dist/es/modules/custom-image/specs/blot-spec.es.js.map +1 -0
- package/dist/es/modules/custom-image/specs/custom-image-spec.es.js.map +1 -0
- package/dist/es/modules/custom-image/specs/image-spec.es.js.map +1 -0
- package/dist/es/modules/divider.es.js.map +1 -0
- package/dist/es/modules/emoji.es.js +167 -0
- package/dist/es/modules/emoji.es.js.map +1 -0
- package/dist/es/modules/file/formats/file.es.js.map +1 -0
- package/dist/es/modules/file/modules/file-bar.es.js.map +1 -0
- package/dist/es/modules/file/modules/file-module.es.js.map +1 -0
- package/dist/es/modules/link/formats/link.es.js.map +1 -0
- package/dist/es/modules/link/modules/tooltip.es.js.map +1 -0
- package/dist/es/modules/mathlive/formats.es.js.map +1 -0
- package/dist/es/modules/mathlive/tooltip.es.js.map +1 -0
- package/dist/es/modules/mention/constants.es.js.map +1 -0
- package/dist/es/modules/mention/mention-link.es.js.map +1 -0
- package/dist/es/modules/mention/mention.es.js.map +1 -0
- package/dist/es/modules/syntax.es.js.map +1 -0
- package/dist/es/modules/toolbar/better-picker.es.js.map +1 -0
- package/dist/es/themes/snow.es.js.map +1 -0
- package/dist/es/tools/screenshot.es.js.map +1 -0
- package/dist/es/ui/icons.config.es.js.map +1 -0
- package/dist/es/ui/icons.es.js.map +1 -0
- package/dist/es/utils/debounce.es.js.map +1 -0
- package/dist/es/utils/method.es.js.map +1 -0
- package/dist/lib/attributors/line-height.cjs.js.map +1 -0
- package/dist/lib/config/base64-image.cjs.js.map +1 -0
- package/dist/lib/config/editor.config.cjs.js.map +1 -0
- package/dist/lib/config/editor.utils.cjs.js.map +1 -0
- package/dist/lib/config/i18n/en-us.cjs.js.map +1 -0
- package/dist/lib/config/i18n/zh-cn.cjs.js.map +1 -0
- package/dist/lib/config/index.cjs.js.map +1 -0
- package/dist/lib/core/fluent-editor.cjs.js.map +1 -0
- package/dist/lib/fluent-editor.cjs.js.map +1 -0
- package/dist/lib/formats/emoji.cjs.js.map +1 -0
- package/dist/lib/formats/soft-break.cjs.js.map +1 -0
- package/dist/lib/formats/strike.cjs.js.map +1 -0
- package/dist/lib/formats/video.cjs.js.map +1 -0
- package/dist/lib/modules/ai/constants.cjs.js.map +1 -0
- package/dist/lib/modules/ai/icons.cjs.js.map +1 -0
- package/dist/lib/modules/ai/index.cjs.js.map +1 -0
- package/dist/lib/modules/collaborative-editing/awareness/awareness.cjs.js +110 -0
- package/dist/lib/modules/collaborative-editing/awareness/awareness.cjs.js.map +1 -0
- package/dist/lib/modules/collaborative-editing/awareness/y-indexeddb.cjs.js +12 -0
- package/dist/lib/modules/collaborative-editing/awareness/y-indexeddb.cjs.js.map +1 -0
- package/dist/lib/modules/collaborative-editing/collaborative-editing.cjs.js +122 -0
- package/dist/lib/modules/collaborative-editing/collaborative-editing.cjs.js.map +1 -0
- package/dist/lib/modules/collaborative-editing/module.cjs.js.map +1 -0
- package/dist/lib/modules/collaborative-editing/provider/providerRegistry.cjs.js.map +1 -0
- package/dist/lib/modules/collaborative-editing/provider/webrtc.cjs.js +116 -0
- package/dist/lib/modules/collaborative-editing/provider/webrtc.cjs.js.map +1 -0
- package/dist/lib/modules/collaborative-editing/provider/websocket.cjs.js +128 -0
- package/dist/lib/modules/collaborative-editing/provider/websocket.cjs.js.map +1 -0
- package/dist/lib/modules/counter.cjs.js.map +1 -0
- package/dist/lib/modules/custom-clipboard.cjs.js.map +1 -0
- package/dist/lib/modules/custom-image/actions/action.cjs.js.map +1 -0
- package/dist/lib/modules/custom-image/actions/custom-resize-action.cjs.js.map +1 -0
- package/dist/lib/modules/custom-image/actions/delete-action.cjs.js.map +1 -0
- package/dist/lib/modules/custom-image/blot-formatter.cjs.js.map +1 -0
- package/dist/lib/modules/custom-image/image.cjs.js.map +1 -0
- package/dist/lib/modules/custom-image/options.cjs.js.map +1 -0
- package/dist/lib/modules/custom-image/specs/blot-spec.cjs.js.map +1 -0
- package/dist/lib/modules/custom-image/specs/custom-image-spec.cjs.js.map +1 -0
- package/dist/lib/modules/custom-image/specs/image-spec.cjs.js.map +1 -0
- package/dist/lib/modules/divider.cjs.js.map +1 -0
- package/dist/lib/modules/emoji.cjs.js +167 -0
- package/dist/lib/modules/emoji.cjs.js.map +1 -0
- package/dist/lib/modules/file/formats/file.cjs.js.map +1 -0
- package/dist/lib/modules/file/modules/file-bar.cjs.js.map +1 -0
- package/dist/lib/modules/file/modules/file-module.cjs.js.map +1 -0
- package/dist/lib/modules/link/formats/link.cjs.js.map +1 -0
- package/dist/lib/modules/link/modules/tooltip.cjs.js.map +1 -0
- package/dist/lib/modules/mathlive/formats.cjs.js.map +1 -0
- package/dist/lib/modules/mathlive/tooltip.cjs.js.map +1 -0
- package/dist/lib/modules/mention/constants.cjs.js.map +1 -0
- package/dist/lib/modules/mention/mention-link.cjs.js.map +1 -0
- package/dist/lib/modules/mention/mention.cjs.js.map +1 -0
- package/dist/lib/modules/syntax.cjs.js.map +1 -0
- package/dist/lib/modules/toolbar/better-picker.cjs.js.map +1 -0
- package/dist/lib/themes/snow.cjs.js.map +1 -0
- package/dist/lib/tools/screenshot.cjs.js.map +1 -0
- package/dist/lib/ui/icons.cjs.js.map +1 -0
- package/dist/lib/ui/icons.config.cjs.js.map +1 -0
- package/dist/lib/utils/debounce.cjs.js.map +1 -0
- package/dist/lib/utils/method.cjs.js.map +1 -0
- package/dist/package.json +67 -0
- package/dist/types/attributors/font-size.d.ts +1 -0
- package/dist/types/attributors/font-style.d.ts +1 -0
- package/dist/types/attributors/index.d.ts +4 -0
- package/dist/types/attributors/line-height.d.ts +1 -0
- package/dist/types/attributors/text-indent.d.ts +1 -0
- package/dist/types/config/base64-image.d.ts +2 -0
- package/dist/types/config/editor.config.d.ts +11 -0
- package/dist/types/config/editor.utils.d.ts +40 -0
- package/dist/types/config/i18n/en-us.d.ts +123 -0
- package/dist/types/config/i18n/zh-cn.d.ts +123 -0
- package/dist/types/config/index.d.ts +7 -0
- package/dist/types/config/types/editor-config.interface.d.ts +14 -0
- package/dist/types/config/types/editor-modules.interface.d.ts +41 -0
- package/dist/types/config/types/index.d.ts +3 -0
- package/dist/types/config/types/type.d.ts +2 -0
- package/dist/types/core/fluent-editor.d.ts +13 -0
- package/dist/types/fluent-editor.d.ts +2 -0
- package/dist/types/formats/emoji.d.ts +8 -0
- package/dist/types/formats/index.d.ts +4 -0
- package/dist/types/formats/soft-break.d.ts +12 -0
- package/dist/types/formats/strike.d.ts +8 -0
- package/dist/types/formats/video.d.ts +13 -0
- package/dist/types/index.d.ts +8 -0
- package/dist/types/modules/ai/constants.d.ts +30 -0
- package/dist/types/modules/ai/icons.d.ts +21 -0
- package/dist/types/modules/ai/index.d.ts +96 -0
- package/dist/types/modules/ai/types.d.ts +16 -0
- package/dist/types/modules/collaborative-editing/awareness/awareness.d.ts +28 -0
- package/dist/types/modules/collaborative-editing/awareness/index.d.ts +2 -0
- package/dist/types/modules/collaborative-editing/awareness/y-indexeddb.d.ts +2 -0
- package/dist/types/modules/collaborative-editing/collaborative-editing.d.ts +24 -0
- package/dist/types/modules/collaborative-editing/index.d.ts +2 -0
- package/dist/types/modules/collaborative-editing/module.d.ts +11 -0
- package/dist/types/modules/collaborative-editing/provider/index.d.ts +3 -0
- package/dist/types/modules/collaborative-editing/provider/providerRegistry.d.ts +25 -0
- package/dist/types/modules/collaborative-editing/provider/webrtc.d.ts +36 -0
- package/dist/types/modules/collaborative-editing/provider/websocket.d.ts +40 -0
- package/dist/types/modules/collaborative-editing/types.d.ts +37 -0
- package/dist/types/modules/counter.d.ts +23 -0
- package/dist/types/modules/custom-clipboard.d.ts +25 -0
- package/dist/types/modules/custom-image/actions/action.d.ts +8 -0
- package/dist/types/modules/custom-image/actions/custom-resize-action.d.ts +23 -0
- package/dist/types/modules/custom-image/actions/delete-action.d.ts +6 -0
- package/dist/types/modules/custom-image/actions/image-toolbar-buttons.d.ts +16 -0
- package/dist/types/modules/custom-image/actions/index.d.ts +6 -0
- package/dist/types/modules/custom-image/actions/toolbar-action.d.ts +11 -0
- package/dist/types/modules/custom-image/actions/toolbar.d.ts +19 -0
- package/dist/types/modules/custom-image/blot-formatter.d.ts +23 -0
- package/dist/types/modules/custom-image/image.d.ts +28 -0
- package/dist/types/modules/custom-image/index.d.ts +4 -0
- package/dist/types/modules/custom-image/options.d.ts +47 -0
- package/dist/types/modules/custom-image/specs/blot-spec.d.ts +12 -0
- package/dist/types/modules/custom-image/specs/custom-image-spec.d.ts +17 -0
- package/dist/types/modules/custom-image/specs/image-spec.d.ts +8 -0
- package/dist/types/modules/custom-image/specs/index.d.ts +3 -0
- package/dist/types/modules/custom-uploader.d.ts +40 -0
- package/dist/types/modules/divider.d.ts +8 -0
- package/dist/types/modules/emoji.d.ts +39 -0
- package/dist/types/modules/file/formats/file.d.ts +18 -0
- package/dist/types/modules/file/index.d.ts +3 -0
- package/dist/types/modules/file/modules/file-bar.d.ts +14 -0
- package/dist/types/modules/file/modules/file-module.d.ts +9 -0
- package/dist/types/modules/i18n.d.ts +14 -0
- package/dist/types/modules/index.d.ts +16 -0
- package/dist/types/modules/link/formats/link.d.ts +15 -0
- package/dist/types/modules/link/index.d.ts +2 -0
- package/dist/types/modules/link/modules/tooltip.d.ts +27 -0
- package/dist/types/modules/mathlive/formats.d.ts +22 -0
- package/dist/types/modules/mathlive/index.d.ts +3 -0
- package/dist/types/modules/mathlive/module.d.ts +9 -0
- package/dist/types/modules/mathlive/tooltip.d.ts +18 -0
- package/dist/types/modules/mention/constants.d.ts +3 -0
- package/dist/types/modules/mention/index.d.ts +2 -0
- package/dist/types/modules/mention/mention-link.d.ts +16 -0
- package/dist/types/modules/mention/mention.d.ts +53 -0
- package/dist/types/modules/shortcut-key/index.d.ts +71 -0
- package/dist/types/modules/syntax.d.ts +13 -0
- package/dist/types/modules/table-up/index.d.ts +34 -0
- package/dist/types/modules/toolbar/better-picker.d.ts +15 -0
- package/dist/types/modules/toolbar/better-toolbar.d.ts +7 -0
- package/dist/types/modules/toolbar/index.d.ts +3 -0
- package/dist/types/modules/toolbar/toolbar-tip.d.ts +9 -0
- package/dist/types/themes/snow.d.ts +11 -0
- package/dist/types/tools/format-painter.d.ts +13 -0
- package/dist/types/tools/fullscreen.d.ts +6 -0
- package/dist/types/tools/screenshot.d.ts +19 -0
- package/dist/types/ui/icons.config.d.ts +38 -0
- package/dist/types/ui/icons.d.ts +6 -0
- package/dist/types/utils/debounce.d.ts +6 -0
- package/dist/types/utils/image.d.ts +1 -0
- package/dist/types/utils/is.d.ts +6 -0
- package/dist/types/utils/method.d.ts +6 -0
- package/dist/types/utils/scroll-lock.d.ts +6 -0
- package/package.json +67 -67
- package/scripts/pre-release.cjs +35 -0
- package/src/assets/ai.scss +451 -0
- package/src/assets/common/config.scss +4 -0
- package/src/assets/common.scss +132 -0
- package/src/assets/counter.scss +16 -0
- package/src/assets/custom-image.scss +19 -0
- package/src/assets/editor.scss +351 -0
- package/src/assets/fileBar.scss +107 -0
- package/src/assets/font.scss +18 -0
- package/src/assets/fullscreen.scss +50 -0
- 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 +98 -0
- package/src/assets/lineHeight.scss +15 -0
- package/src/assets/link.scss +120 -0
- package/src/assets/mathlive.scss +40 -0
- package/src/assets/mention.scss +48 -0
- package/src/assets/screenshot.scss +78 -0
- package/src/assets/size.scss +11 -0
- package/src/assets/style.scss +46 -0
- package/src/assets/svgs/align-center.svg +41 -0
- package/src/assets/svgs/align-justify.svg +8 -0
- package/src/assets/svgs/arrow-down.svg +6 -0
- package/src/assets/svgs/background-color.svg +7 -0
- package/src/assets/svgs/clean.svg +8 -0
- package/src/assets/svgs/code-block.svg +5 -0
- package/src/assets/svgs/code.svg +25 -0
- package/src/assets/svgs/color.svg +7 -0
- package/src/assets/svgs/direction-ltr.svg +8 -0
- package/src/assets/svgs/direction-rtl.svg +8 -0
- package/src/assets/svgs/divider.svg +4 -0
- package/src/assets/svgs/emoji.svg +53 -0
- package/src/assets/svgs/file.svg +12 -0
- package/src/assets/svgs/format-painter.svg +10 -0
- package/src/assets/svgs/formula.svg +6 -0
- package/src/assets/svgs/fullscreen.svg +43 -0
- package/src/assets/svgs/image.svg +17 -0
- package/src/assets/svgs/italic.svg +6 -0
- package/src/assets/svgs/link.svg +9 -0
- package/src/assets/svgs/list-bullet.svg +16 -0
- package/src/assets/svgs/list-ordered.svg +18 -0
- package/src/assets/svgs/list-task.svg +5 -0
- package/src/assets/svgs/redo.svg +8 -0
- package/src/assets/svgs/screenshot.svg +17 -0
- package/src/assets/svgs/script-sub.svg +15 -0
- package/src/assets/svgs/script-super.svg +15 -0
- package/src/assets/svgs/strike.svg +6 -0
- package/src/assets/svgs/underline.svg +13 -0
- package/src/assets/svgs/undo.svg +8 -0
- package/src/assets/svgs/video.svg +10 -0
- package/src/assets/tasklist.scss +76 -0
- package/src/assets/toolbar.scss +385 -0
- package/src/assets/variable.scss +9 -0
- package/src/assets/video.scss +5 -0
- package/src/attributors/font-size.ts +6 -0
- package/src/attributors/font-style.ts +6 -0
- package/src/attributors/index.ts +4 -0
- package/src/attributors/line-height.ts +6 -0
- package/src/attributors/text-indent.ts +6 -0
- package/src/config/base64-image.ts +5 -0
- package/src/config/editor.config.ts +86 -0
- package/src/config/editor.utils.ts +193 -0
- package/src/config/i18n/en-us.ts +138 -0
- package/src/config/i18n/zh-cn.ts +137 -0
- package/src/config/index.ts +44 -0
- package/src/config/types/editor-config.interface.ts +16 -0
- package/src/config/types/editor-modules.interface.ts +47 -0
- package/src/config/types/index.ts +3 -0
- package/src/config/types/type.ts +2 -0
- package/src/core/fluent-editor.ts +31 -0
- package/src/fluent-editor.ts +72 -0
- package/src/formats/emoji.ts +10 -0
- package/src/formats/index.ts +4 -0
- package/src/formats/soft-break.ts +27 -0
- package/src/formats/strike.ts +11 -0
- package/src/formats/video.ts +53 -0
- package/src/index.ts +9 -0
- package/src/modules/ai/constants.ts +43 -0
- package/src/modules/ai/icons.ts +333 -0
- package/src/modules/ai/index.ts +850 -0
- package/src/modules/ai/types.ts +18 -0
- package/src/modules/collaborative-editing/awareness/awareness.ts +141 -0
- package/src/modules/collaborative-editing/awareness/index.ts +2 -0
- package/src/modules/collaborative-editing/awareness/y-indexeddb.ts +12 -0
- package/src/modules/collaborative-editing/collaborative-editing.ts +115 -0
- package/src/modules/collaborative-editing/index.ts +2 -0
- package/src/modules/collaborative-editing/module.ts +32 -0
- package/src/modules/collaborative-editing/provider/index.ts +3 -0
- package/src/modules/collaborative-editing/provider/providerRegistry.ts +57 -0
- package/src/modules/collaborative-editing/provider/webrtc.ts +125 -0
- package/src/modules/collaborative-editing/provider/websocket.ts +142 -0
- package/src/modules/collaborative-editing/types.ts +44 -0
- package/src/modules/counter.ts +84 -0
- package/src/modules/custom-clipboard.ts +537 -0
- package/src/modules/custom-image/actions/action.ts +15 -0
- package/src/modules/custom-image/actions/custom-resize-action.ts +207 -0
- package/src/modules/custom-image/actions/delete-action.ts +32 -0
- package/src/modules/custom-image/actions/image-toolbar-buttons.ts +135 -0
- package/src/modules/custom-image/actions/index.ts +6 -0
- package/src/modules/custom-image/actions/toolbar-action.ts +32 -0
- package/src/modules/custom-image/actions/toolbar.ts +145 -0
- package/src/modules/custom-image/blot-formatter.ts +158 -0
- package/src/modules/custom-image/image.ts +132 -0
- package/src/modules/custom-image/index.ts +4 -0
- package/src/modules/custom-image/options.ts +139 -0
- package/src/modules/custom-image/specs/blot-spec.ts +30 -0
- package/src/modules/custom-image/specs/custom-image-spec.ts +131 -0
- package/src/modules/custom-image/specs/image-spec.ts +28 -0
- package/src/modules/custom-image/specs/index.ts +3 -0
- package/src/modules/custom-uploader.ts +101 -0
- package/src/modules/divider.ts +15 -0
- package/src/modules/emoji.ts +230 -0
- package/src/modules/file/formats/file.ts +61 -0
- package/src/modules/file/index.ts +3 -0
- package/src/modules/file/modules/file-bar.ts +146 -0
- package/src/modules/file/modules/file-module.ts +33 -0
- package/src/modules/i18n.ts +66 -0
- package/src/modules/index.ts +16 -0
- package/src/modules/link/formats/link.ts +43 -0
- package/src/modules/link/index.ts +2 -0
- package/src/modules/link/modules/tooltip.ts +341 -0
- package/src/modules/mathlive/formats.ts +39 -0
- package/src/modules/mathlive/index.ts +3 -0
- package/src/modules/mathlive/module.ts +37 -0
- package/src/modules/mathlive/tooltip.ts +87 -0
- package/src/modules/mention/constants.ts +3 -0
- package/src/modules/mention/index.ts +2 -0
- package/src/modules/mention/mention-link.ts +64 -0
- package/src/modules/mention/mention.ts +404 -0
- package/src/modules/shortcut-key/index.ts +237 -0
- package/src/modules/syntax.ts +35 -0
- package/src/modules/table-up/index.ts +83 -0
- package/src/modules/toolbar/better-picker.ts +67 -0
- package/src/modules/toolbar/better-toolbar.ts +176 -0
- package/src/modules/toolbar/index.ts +3 -0
- package/src/modules/toolbar/toolbar-tip.ts +142 -0
- package/src/themes/snow.ts +309 -0
- package/src/tools/format-painter.ts +85 -0
- package/src/tools/fullscreen.ts +66 -0
- package/src/tools/screenshot.ts +231 -0
- package/src/ui/icons.config.ts +361 -0
- package/src/ui/icons.ts +89 -0
- package/src/utils/debounce.ts +150 -0
- package/src/utils/image.ts +22 -0
- package/src/utils/is.ts +9 -0
- package/src/utils/method.ts +77 -0
- package/src/utils/scroll-lock.ts +52 -0
- package/tsconfig.json +25 -0
- package/vite.config.ts +83 -0
- package/README.md +0 -88
- package/es/_virtual/_commonjs-dynamic-modules.es.js +0 -7
- package/es/_virtual/_commonjs-dynamic-modules.es.js.map +0 -1
- package/es/_virtual/_commonjsHelpers.es.js +0 -42
- package/es/_virtual/_commonjsHelpers.es.js.map +0 -1
- package/es/_virtual/quill-cursors.es.js +0 -5
- package/es/_virtual/quill-cursors.es.js.map +0 -1
- package/es/_virtual/simplepeer.min.es.js +0 -5
- package/es/_virtual/simplepeer.min.es.js.map +0 -1
- package/es/attributors/line-height.es.js.map +0 -1
- package/es/config/base64-image.es.js.map +0 -1
- package/es/config/editor.config.es.js.map +0 -1
- package/es/config/editor.utils.es.js.map +0 -1
- package/es/config/i18n/en-us.es.js.map +0 -1
- package/es/config/i18n/zh-cn.es.js.map +0 -1
- package/es/config/index.es.js.map +0 -1
- package/es/core/fluent-editor.es.js.map +0 -1
- package/es/fluent-editor.es.js.map +0 -1
- package/es/formats/emoji.es.js.map +0 -1
- package/es/formats/soft-break.es.js.map +0 -1
- package/es/formats/strike.es.js.map +0 -1
- package/es/formats/video.es.js.map +0 -1
- package/es/modules/ai/constants.es.js.map +0 -1
- package/es/modules/ai/icons.es.js.map +0 -1
- package/es/modules/ai/index.es.js.map +0 -1
- package/es/modules/collaborative-editing/awareness/awareness.es.js +0 -93
- package/es/modules/collaborative-editing/awareness/awareness.es.js.map +0 -1
- package/es/modules/collaborative-editing/awareness/y-indexeddb.es.js +0 -12
- package/es/modules/collaborative-editing/awareness/y-indexeddb.es.js.map +0 -1
- package/es/modules/collaborative-editing/collaborative-editing.es.js +0 -105
- package/es/modules/collaborative-editing/collaborative-editing.es.js.map +0 -1
- package/es/modules/collaborative-editing/module.es.js.map +0 -1
- package/es/modules/collaborative-editing/provider/providerRegistry.es.js.map +0 -1
- package/es/modules/collaborative-editing/provider/webrtc.es.js +0 -99
- package/es/modules/collaborative-editing/provider/webrtc.es.js.map +0 -1
- package/es/modules/collaborative-editing/provider/websocket.es.js +0 -111
- package/es/modules/collaborative-editing/provider/websocket.es.js.map +0 -1
- package/es/modules/counter.es.js.map +0 -1
- package/es/modules/custom-clipboard.es.js.map +0 -1
- package/es/modules/custom-image/actions/action.es.js.map +0 -1
- package/es/modules/custom-image/actions/custom-resize-action.es.js.map +0 -1
- package/es/modules/custom-image/actions/delete-action.es.js.map +0 -1
- package/es/modules/custom-image/blot-formatter.es.js.map +0 -1
- package/es/modules/custom-image/image.es.js.map +0 -1
- package/es/modules/custom-image/options.es.js.map +0 -1
- package/es/modules/custom-image/specs/blot-spec.es.js.map +0 -1
- package/es/modules/custom-image/specs/custom-image-spec.es.js.map +0 -1
- package/es/modules/custom-image/specs/image-spec.es.js.map +0 -1
- package/es/modules/divider.es.js.map +0 -1
- package/es/modules/emoji.es.js +0 -163
- package/es/modules/emoji.es.js.map +0 -1
- package/es/modules/file/formats/file.es.js.map +0 -1
- package/es/modules/file/modules/file-bar.es.js.map +0 -1
- package/es/modules/file/modules/file-module.es.js.map +0 -1
- package/es/modules/link/formats/link.es.js.map +0 -1
- package/es/modules/link/modules/tooltip.es.js.map +0 -1
- package/es/modules/mathlive/formats.es.js.map +0 -1
- package/es/modules/mathlive/tooltip.es.js.map +0 -1
- package/es/modules/mention/constants.es.js.map +0 -1
- package/es/modules/mention/mention-link.es.js.map +0 -1
- package/es/modules/mention/mention.es.js.map +0 -1
- package/es/modules/syntax.es.js.map +0 -1
- package/es/modules/toolbar/better-picker.es.js.map +0 -1
- package/es/node_modules/.pnpm/@emoji-mart_data@1.2.1/node_modules/@emoji-mart/data/sets/15/native.json.es.js +0 -40145
- package/es/node_modules/.pnpm/@emoji-mart_data@1.2.1/node_modules/@emoji-mart/data/sets/15/native.json.es.js.map +0 -1
- package/es/node_modules/.pnpm/@floating-ui_core@1.7.2/node_modules/@floating-ui/core/dist/floating-ui.core.es.js +0 -938
- package/es/node_modules/.pnpm/@floating-ui_core@1.7.2/node_modules/@floating-ui/core/dist/floating-ui.core.es.js.map +0 -1
- package/es/node_modules/.pnpm/@floating-ui_dom@1.7.2/node_modules/@floating-ui/dom/dist/floating-ui.dom.es.js +0 -624
- package/es/node_modules/.pnpm/@floating-ui_dom@1.7.2/node_modules/@floating-ui/dom/dist/floating-ui.dom.es.js.map +0 -1
- package/es/node_modules/.pnpm/@floating-ui_utils@0.2.10/node_modules/@floating-ui/utils/dist/floating-ui.utils.dom.es.js +0 -174
- package/es/node_modules/.pnpm/@floating-ui_utils@0.2.10/node_modules/@floating-ui/utils/dist/floating-ui.utils.dom.es.js.map +0 -1
- package/es/node_modules/.pnpm/@floating-ui_utils@0.2.10/node_modules/@floating-ui/utils/dist/floating-ui.utils.es.js +0 -159
- package/es/node_modules/.pnpm/@floating-ui_utils@0.2.10/node_modules/@floating-ui/utils/dist/floating-ui.utils.es.js.map +0 -1
- package/es/node_modules/.pnpm/emoji-mart@5.6.0/node_modules/emoji-mart/dist/module.es.js +0 -2849
- package/es/node_modules/.pnpm/emoji-mart@5.6.0/node_modules/emoji-mart/dist/module.es.js.map +0 -1
- package/es/node_modules/.pnpm/lib0@0.2.114/node_modules/lib0/array.es.js +0 -112
- package/es/node_modules/.pnpm/lib0@0.2.114/node_modules/lib0/array.es.js.map +0 -1
- package/es/node_modules/.pnpm/lib0@0.2.114/node_modules/lib0/binary.es.js +0 -133
- package/es/node_modules/.pnpm/lib0@0.2.114/node_modules/lib0/binary.es.js.map +0 -1
- package/es/node_modules/.pnpm/lib0@0.2.114/node_modules/lib0/broadcastchannel.es.js +0 -59
- package/es/node_modules/.pnpm/lib0@0.2.114/node_modules/lib0/broadcastchannel.es.js.map +0 -1
- package/es/node_modules/.pnpm/lib0@0.2.114/node_modules/lib0/buffer.es.js +0 -75
- package/es/node_modules/.pnpm/lib0@0.2.114/node_modules/lib0/buffer.es.js.map +0 -1
- package/es/node_modules/.pnpm/lib0@0.2.114/node_modules/lib0/conditions.es.js +0 -5
- package/es/node_modules/.pnpm/lib0@0.2.114/node_modules/lib0/conditions.es.js.map +0 -1
- package/es/node_modules/.pnpm/lib0@0.2.114/node_modules/lib0/decoding.es.js +0 -422
- package/es/node_modules/.pnpm/lib0@0.2.114/node_modules/lib0/decoding.es.js.map +0 -1
- package/es/node_modules/.pnpm/lib0@0.2.114/node_modules/lib0/dom.es.js +0 -142
- package/es/node_modules/.pnpm/lib0@0.2.114/node_modules/lib0/dom.es.js.map +0 -1
- package/es/node_modules/.pnpm/lib0@0.2.114/node_modules/lib0/encoding.es.js +0 -484
- package/es/node_modules/.pnpm/lib0@0.2.114/node_modules/lib0/encoding.es.js.map +0 -1
- package/es/node_modules/.pnpm/lib0@0.2.114/node_modules/lib0/environment.es.js +0 -79
- package/es/node_modules/.pnpm/lib0@0.2.114/node_modules/lib0/environment.es.js.map +0 -1
- package/es/node_modules/.pnpm/lib0@0.2.114/node_modules/lib0/error.es.js +0 -13
- package/es/node_modules/.pnpm/lib0@0.2.114/node_modules/lib0/error.es.js.map +0 -1
- package/es/node_modules/.pnpm/lib0@0.2.114/node_modules/lib0/eventloop.es.js +0 -69
- package/es/node_modules/.pnpm/lib0@0.2.114/node_modules/lib0/eventloop.es.js.map +0 -1
- package/es/node_modules/.pnpm/lib0@0.2.114/node_modules/lib0/function.es.js +0 -124
- package/es/node_modules/.pnpm/lib0@0.2.114/node_modules/lib0/function.es.js.map +0 -1
- package/es/node_modules/.pnpm/lib0@0.2.114/node_modules/lib0/indexeddb.es.js +0 -92
- package/es/node_modules/.pnpm/lib0@0.2.114/node_modules/lib0/indexeddb.es.js.map +0 -1
- package/es/node_modules/.pnpm/lib0@0.2.114/node_modules/lib0/iterator.es.js +0 -38
- package/es/node_modules/.pnpm/lib0@0.2.114/node_modules/lib0/iterator.es.js.map +0 -1
- package/es/node_modules/.pnpm/lib0@0.2.114/node_modules/lib0/json.es.js +0 -7
- package/es/node_modules/.pnpm/lib0@0.2.114/node_modules/lib0/json.es.js.map +0 -1
- package/es/node_modules/.pnpm/lib0@0.2.114/node_modules/lib0/logging.common.es.js +0 -99
- package/es/node_modules/.pnpm/lib0@0.2.114/node_modules/lib0/logging.common.es.js.map +0 -1
- package/es/node_modules/.pnpm/lib0@0.2.114/node_modules/lib0/logging.es.js +0 -288
- package/es/node_modules/.pnpm/lib0@0.2.114/node_modules/lib0/logging.es.js.map +0 -1
- package/es/node_modules/.pnpm/lib0@0.2.114/node_modules/lib0/map.es.js +0 -47
- package/es/node_modules/.pnpm/lib0@0.2.114/node_modules/lib0/map.es.js.map +0 -1
- package/es/node_modules/.pnpm/lib0@0.2.114/node_modules/lib0/math.es.js +0 -37
- package/es/node_modules/.pnpm/lib0@0.2.114/node_modules/lib0/math.es.js.map +0 -1
- package/es/node_modules/.pnpm/lib0@0.2.114/node_modules/lib0/metric.es.js +0 -64
- package/es/node_modules/.pnpm/lib0@0.2.114/node_modules/lib0/metric.es.js.map +0 -1
- package/es/node_modules/.pnpm/lib0@0.2.114/node_modules/lib0/mutex.es.js +0 -19
- package/es/node_modules/.pnpm/lib0@0.2.114/node_modules/lib0/mutex.es.js.map +0 -1
- package/es/node_modules/.pnpm/lib0@0.2.114/node_modules/lib0/number.es.js +0 -31
- package/es/node_modules/.pnpm/lib0@0.2.114/node_modules/lib0/number.es.js.map +0 -1
- package/es/node_modules/.pnpm/lib0@0.2.114/node_modules/lib0/object.es.js +0 -72
- package/es/node_modules/.pnpm/lib0@0.2.114/node_modules/lib0/object.es.js.map +0 -1
- package/es/node_modules/.pnpm/lib0@0.2.114/node_modules/lib0/observable.es.js +0 -128
- package/es/node_modules/.pnpm/lib0@0.2.114/node_modules/lib0/observable.es.js.map +0 -1
- package/es/node_modules/.pnpm/lib0@0.2.114/node_modules/lib0/pair.es.js +0 -22
- package/es/node_modules/.pnpm/lib0@0.2.114/node_modules/lib0/pair.es.js.map +0 -1
- package/es/node_modules/.pnpm/lib0@0.2.114/node_modules/lib0/promise.es.js +0 -50
- package/es/node_modules/.pnpm/lib0@0.2.114/node_modules/lib0/promise.es.js.map +0 -1
- package/es/node_modules/.pnpm/lib0@0.2.114/node_modules/lib0/random.es.js +0 -24
- package/es/node_modules/.pnpm/lib0@0.2.114/node_modules/lib0/random.es.js.map +0 -1
- package/es/node_modules/.pnpm/lib0@0.2.114/node_modules/lib0/set.es.js +0 -11
- package/es/node_modules/.pnpm/lib0@0.2.114/node_modules/lib0/set.es.js.map +0 -1
- package/es/node_modules/.pnpm/lib0@0.2.114/node_modules/lib0/storage.es.js +0 -44
- package/es/node_modules/.pnpm/lib0@0.2.114/node_modules/lib0/storage.es.js.map +0 -1
- package/es/node_modules/.pnpm/lib0@0.2.114/node_modules/lib0/string.es.js +0 -95
- package/es/node_modules/.pnpm/lib0@0.2.114/node_modules/lib0/string.es.js.map +0 -1
- package/es/node_modules/.pnpm/lib0@0.2.114/node_modules/lib0/symbol.es.js +0 -7
- package/es/node_modules/.pnpm/lib0@0.2.114/node_modules/lib0/symbol.es.js.map +0 -1
- package/es/node_modules/.pnpm/lib0@0.2.114/node_modules/lib0/time.es.js +0 -28
- package/es/node_modules/.pnpm/lib0@0.2.114/node_modules/lib0/time.es.js.map +0 -1
- package/es/node_modules/.pnpm/lib0@0.2.114/node_modules/lib0/traits.es.js +0 -5
- package/es/node_modules/.pnpm/lib0@0.2.114/node_modules/lib0/traits.es.js.map +0 -1
- package/es/node_modules/.pnpm/lib0@0.2.114/node_modules/lib0/url.es.js +0 -20
- package/es/node_modules/.pnpm/lib0@0.2.114/node_modules/lib0/url.es.js.map +0 -1
- package/es/node_modules/.pnpm/lib0@0.2.114/node_modules/lib0/webcrypto.es.js +0 -7
- package/es/node_modules/.pnpm/lib0@0.2.114/node_modules/lib0/webcrypto.es.js.map +0 -1
- package/es/node_modules/.pnpm/lib0@0.2.114/node_modules/lib0/websocket.es.js +0 -113
- package/es/node_modules/.pnpm/lib0@0.2.114/node_modules/lib0/websocket.es.js.map +0 -1
- package/es/node_modules/.pnpm/quill-cursors@4.0.4/node_modules/quill-cursors/dist/quill-cursors.es.js +0 -1796
- package/es/node_modules/.pnpm/quill-cursors@4.0.4/node_modules/quill-cursors/dist/quill-cursors.es.js.map +0 -1
- package/es/node_modules/.pnpm/simple-peer@9.11.1/node_modules/simple-peer/simplepeer.min.es.js +0 -2620
- package/es/node_modules/.pnpm/simple-peer@9.11.1/node_modules/simple-peer/simplepeer.min.es.js.map +0 -1
- package/es/node_modules/.pnpm/y-indexeddb@9.0.12_yjs@13.6.27/node_modules/y-indexeddb/src/y-indexeddb.es.js +0 -155
- package/es/node_modules/.pnpm/y-indexeddb@9.0.12_yjs@13.6.27/node_modules/y-indexeddb/src/y-indexeddb.es.js.map +0 -1
- package/es/node_modules/.pnpm/y-protocols@1.0.6_yjs@13.6.27/node_modules/y-protocols/auth.es.js +0 -20
- package/es/node_modules/.pnpm/y-protocols@1.0.6_yjs@13.6.27/node_modules/y-protocols/auth.es.js.map +0 -1
- package/es/node_modules/.pnpm/y-protocols@1.0.6_yjs@13.6.27/node_modules/y-protocols/awareness.es.js +0 -232
- package/es/node_modules/.pnpm/y-protocols@1.0.6_yjs@13.6.27/node_modules/y-protocols/awareness.es.js.map +0 -1
- package/es/node_modules/.pnpm/y-protocols@1.0.6_yjs@13.6.27/node_modules/y-protocols/sync.es.js +0 -58
- package/es/node_modules/.pnpm/y-protocols@1.0.6_yjs@13.6.27/node_modules/y-protocols/sync.es.js.map +0 -1
- package/es/node_modules/.pnpm/y-quill@1.0.0_quill-cursors@4.0.4_quill@2.0.3_patch_hash_dnirvjhpzdmsvdidsclwslxxji__yjs@13.6.27/node_modules/y-quill/src/y-quill.es.js +0 -157
- package/es/node_modules/.pnpm/y-quill@1.0.0_quill-cursors@4.0.4_quill@2.0.3_patch_hash_dnirvjhpzdmsvdidsclwslxxji__yjs@13.6.27/node_modules/y-quill/src/y-quill.es.js.map +0 -1
- package/es/node_modules/.pnpm/y-webrtc@10.3.0_yjs@13.6.27/node_modules/y-webrtc/src/crypto.es.js +0 -94
- package/es/node_modules/.pnpm/y-webrtc@10.3.0_yjs@13.6.27/node_modules/y-webrtc/src/crypto.es.js.map +0 -1
- package/es/node_modules/.pnpm/y-webrtc@10.3.0_yjs@13.6.27/node_modules/y-webrtc/src/y-webrtc.es.js +0 -537
- package/es/node_modules/.pnpm/y-webrtc@10.3.0_yjs@13.6.27/node_modules/y-webrtc/src/y-webrtc.es.js.map +0 -1
- package/es/node_modules/.pnpm/y-websocket@3.0.0_yjs@13.6.27/node_modules/y-websocket/src/y-websocket.es.js +0 -380
- package/es/node_modules/.pnpm/y-websocket@3.0.0_yjs@13.6.27/node_modules/y-websocket/src/y-websocket.es.js.map +0 -1
- package/es/node_modules/.pnpm/yjs@13.6.27/node_modules/yjs/dist/yjs.es.js +0 -7653
- package/es/node_modules/.pnpm/yjs@13.6.27/node_modules/yjs/dist/yjs.es.js.map +0 -1
- package/es/themes/snow.es.js.map +0 -1
- package/es/tools/screenshot.es.js.map +0 -1
- package/es/ui/icons.config.es.js.map +0 -1
- package/es/ui/icons.es.js.map +0 -1
- package/es/utils/debounce.es.js.map +0 -1
- package/es/utils/method.es.js.map +0 -1
- package/lib/_virtual/_commonjs-dynamic-modules.cjs.js +0 -7
- package/lib/_virtual/_commonjs-dynamic-modules.cjs.js.map +0 -1
- package/lib/_virtual/_commonjsHelpers.cjs.js +0 -42
- package/lib/_virtual/_commonjsHelpers.cjs.js.map +0 -1
- package/lib/_virtual/quill-cursors.cjs.js +0 -5
- package/lib/_virtual/quill-cursors.cjs.js.map +0 -1
- package/lib/_virtual/simplepeer.min.cjs.js +0 -5
- package/lib/_virtual/simplepeer.min.cjs.js.map +0 -1
- package/lib/attributors/line-height.cjs.js.map +0 -1
- package/lib/config/base64-image.cjs.js.map +0 -1
- package/lib/config/editor.config.cjs.js.map +0 -1
- package/lib/config/editor.utils.cjs.js.map +0 -1
- package/lib/config/i18n/en-us.cjs.js.map +0 -1
- package/lib/config/i18n/zh-cn.cjs.js.map +0 -1
- package/lib/config/index.cjs.js.map +0 -1
- package/lib/core/fluent-editor.cjs.js.map +0 -1
- package/lib/fluent-editor.cjs.js.map +0 -1
- package/lib/formats/emoji.cjs.js.map +0 -1
- package/lib/formats/soft-break.cjs.js.map +0 -1
- package/lib/formats/strike.cjs.js.map +0 -1
- package/lib/formats/video.cjs.js.map +0 -1
- package/lib/modules/ai/constants.cjs.js.map +0 -1
- package/lib/modules/ai/icons.cjs.js.map +0 -1
- package/lib/modules/ai/index.cjs.js.map +0 -1
- package/lib/modules/collaborative-editing/awareness/awareness.cjs.js +0 -93
- package/lib/modules/collaborative-editing/awareness/awareness.cjs.js.map +0 -1
- package/lib/modules/collaborative-editing/awareness/y-indexeddb.cjs.js +0 -12
- package/lib/modules/collaborative-editing/awareness/y-indexeddb.cjs.js.map +0 -1
- package/lib/modules/collaborative-editing/collaborative-editing.cjs.js +0 -105
- package/lib/modules/collaborative-editing/collaborative-editing.cjs.js.map +0 -1
- package/lib/modules/collaborative-editing/module.cjs.js.map +0 -1
- package/lib/modules/collaborative-editing/provider/providerRegistry.cjs.js.map +0 -1
- package/lib/modules/collaborative-editing/provider/webrtc.cjs.js +0 -99
- package/lib/modules/collaborative-editing/provider/webrtc.cjs.js.map +0 -1
- package/lib/modules/collaborative-editing/provider/websocket.cjs.js +0 -111
- package/lib/modules/collaborative-editing/provider/websocket.cjs.js.map +0 -1
- package/lib/modules/counter.cjs.js.map +0 -1
- package/lib/modules/custom-clipboard.cjs.js.map +0 -1
- package/lib/modules/custom-image/actions/action.cjs.js.map +0 -1
- package/lib/modules/custom-image/actions/custom-resize-action.cjs.js.map +0 -1
- package/lib/modules/custom-image/actions/delete-action.cjs.js.map +0 -1
- package/lib/modules/custom-image/blot-formatter.cjs.js.map +0 -1
- package/lib/modules/custom-image/image.cjs.js.map +0 -1
- package/lib/modules/custom-image/options.cjs.js.map +0 -1
- package/lib/modules/custom-image/specs/blot-spec.cjs.js.map +0 -1
- package/lib/modules/custom-image/specs/custom-image-spec.cjs.js.map +0 -1
- package/lib/modules/custom-image/specs/image-spec.cjs.js.map +0 -1
- package/lib/modules/divider.cjs.js.map +0 -1
- package/lib/modules/emoji.cjs.js +0 -163
- package/lib/modules/emoji.cjs.js.map +0 -1
- package/lib/modules/file/formats/file.cjs.js.map +0 -1
- package/lib/modules/file/modules/file-bar.cjs.js.map +0 -1
- package/lib/modules/file/modules/file-module.cjs.js.map +0 -1
- package/lib/modules/link/formats/link.cjs.js.map +0 -1
- package/lib/modules/link/modules/tooltip.cjs.js.map +0 -1
- package/lib/modules/mathlive/formats.cjs.js.map +0 -1
- package/lib/modules/mathlive/tooltip.cjs.js.map +0 -1
- package/lib/modules/mention/constants.cjs.js.map +0 -1
- package/lib/modules/mention/mention-link.cjs.js.map +0 -1
- package/lib/modules/mention/mention.cjs.js.map +0 -1
- package/lib/modules/syntax.cjs.js.map +0 -1
- package/lib/modules/toolbar/better-picker.cjs.js.map +0 -1
- package/lib/node_modules/.pnpm/@emoji-mart_data@1.2.1/node_modules/@emoji-mart/data/sets/15/native.json.cjs.js +0 -40145
- package/lib/node_modules/.pnpm/@emoji-mart_data@1.2.1/node_modules/@emoji-mart/data/sets/15/native.json.cjs.js.map +0 -1
- package/lib/node_modules/.pnpm/@floating-ui_core@1.7.2/node_modules/@floating-ui/core/dist/floating-ui.core.cjs.js +0 -938
- package/lib/node_modules/.pnpm/@floating-ui_core@1.7.2/node_modules/@floating-ui/core/dist/floating-ui.core.cjs.js.map +0 -1
- package/lib/node_modules/.pnpm/@floating-ui_dom@1.7.2/node_modules/@floating-ui/dom/dist/floating-ui.dom.cjs.js +0 -624
- package/lib/node_modules/.pnpm/@floating-ui_dom@1.7.2/node_modules/@floating-ui/dom/dist/floating-ui.dom.cjs.js.map +0 -1
- package/lib/node_modules/.pnpm/@floating-ui_utils@0.2.10/node_modules/@floating-ui/utils/dist/floating-ui.utils.cjs.js +0 -159
- package/lib/node_modules/.pnpm/@floating-ui_utils@0.2.10/node_modules/@floating-ui/utils/dist/floating-ui.utils.cjs.js.map +0 -1
- package/lib/node_modules/.pnpm/@floating-ui_utils@0.2.10/node_modules/@floating-ui/utils/dist/floating-ui.utils.dom.cjs.js +0 -174
- package/lib/node_modules/.pnpm/@floating-ui_utils@0.2.10/node_modules/@floating-ui/utils/dist/floating-ui.utils.dom.cjs.js.map +0 -1
- package/lib/node_modules/.pnpm/emoji-mart@5.6.0/node_modules/emoji-mart/dist/module.cjs.js +0 -2847
- package/lib/node_modules/.pnpm/emoji-mart@5.6.0/node_modules/emoji-mart/dist/module.cjs.js.map +0 -1
- package/lib/node_modules/.pnpm/lib0@0.2.114/node_modules/lib0/array.cjs.js +0 -112
- package/lib/node_modules/.pnpm/lib0@0.2.114/node_modules/lib0/array.cjs.js.map +0 -1
- package/lib/node_modules/.pnpm/lib0@0.2.114/node_modules/lib0/binary.cjs.js +0 -133
- package/lib/node_modules/.pnpm/lib0@0.2.114/node_modules/lib0/binary.cjs.js.map +0 -1
- package/lib/node_modules/.pnpm/lib0@0.2.114/node_modules/lib0/broadcastchannel.cjs.js +0 -59
- package/lib/node_modules/.pnpm/lib0@0.2.114/node_modules/lib0/broadcastchannel.cjs.js.map +0 -1
- package/lib/node_modules/.pnpm/lib0@0.2.114/node_modules/lib0/buffer.cjs.js +0 -75
- package/lib/node_modules/.pnpm/lib0@0.2.114/node_modules/lib0/buffer.cjs.js.map +0 -1
- package/lib/node_modules/.pnpm/lib0@0.2.114/node_modules/lib0/conditions.cjs.js +0 -5
- package/lib/node_modules/.pnpm/lib0@0.2.114/node_modules/lib0/conditions.cjs.js.map +0 -1
- package/lib/node_modules/.pnpm/lib0@0.2.114/node_modules/lib0/decoding.cjs.js +0 -422
- package/lib/node_modules/.pnpm/lib0@0.2.114/node_modules/lib0/decoding.cjs.js.map +0 -1
- package/lib/node_modules/.pnpm/lib0@0.2.114/node_modules/lib0/dom.cjs.js +0 -142
- package/lib/node_modules/.pnpm/lib0@0.2.114/node_modules/lib0/dom.cjs.js.map +0 -1
- package/lib/node_modules/.pnpm/lib0@0.2.114/node_modules/lib0/encoding.cjs.js +0 -484
- package/lib/node_modules/.pnpm/lib0@0.2.114/node_modules/lib0/encoding.cjs.js.map +0 -1
- package/lib/node_modules/.pnpm/lib0@0.2.114/node_modules/lib0/environment.cjs.js +0 -79
- package/lib/node_modules/.pnpm/lib0@0.2.114/node_modules/lib0/environment.cjs.js.map +0 -1
- package/lib/node_modules/.pnpm/lib0@0.2.114/node_modules/lib0/error.cjs.js +0 -13
- package/lib/node_modules/.pnpm/lib0@0.2.114/node_modules/lib0/error.cjs.js.map +0 -1
- package/lib/node_modules/.pnpm/lib0@0.2.114/node_modules/lib0/eventloop.cjs.js +0 -69
- package/lib/node_modules/.pnpm/lib0@0.2.114/node_modules/lib0/eventloop.cjs.js.map +0 -1
- package/lib/node_modules/.pnpm/lib0@0.2.114/node_modules/lib0/function.cjs.js +0 -124
- package/lib/node_modules/.pnpm/lib0@0.2.114/node_modules/lib0/function.cjs.js.map +0 -1
- package/lib/node_modules/.pnpm/lib0@0.2.114/node_modules/lib0/indexeddb.cjs.js +0 -92
- package/lib/node_modules/.pnpm/lib0@0.2.114/node_modules/lib0/indexeddb.cjs.js.map +0 -1
- package/lib/node_modules/.pnpm/lib0@0.2.114/node_modules/lib0/iterator.cjs.js +0 -38
- package/lib/node_modules/.pnpm/lib0@0.2.114/node_modules/lib0/iterator.cjs.js.map +0 -1
- package/lib/node_modules/.pnpm/lib0@0.2.114/node_modules/lib0/json.cjs.js +0 -7
- package/lib/node_modules/.pnpm/lib0@0.2.114/node_modules/lib0/json.cjs.js.map +0 -1
- package/lib/node_modules/.pnpm/lib0@0.2.114/node_modules/lib0/logging.cjs.js +0 -288
- package/lib/node_modules/.pnpm/lib0@0.2.114/node_modules/lib0/logging.cjs.js.map +0 -1
- package/lib/node_modules/.pnpm/lib0@0.2.114/node_modules/lib0/logging.common.cjs.js +0 -99
- package/lib/node_modules/.pnpm/lib0@0.2.114/node_modules/lib0/logging.common.cjs.js.map +0 -1
- package/lib/node_modules/.pnpm/lib0@0.2.114/node_modules/lib0/map.cjs.js +0 -47
- package/lib/node_modules/.pnpm/lib0@0.2.114/node_modules/lib0/map.cjs.js.map +0 -1
- package/lib/node_modules/.pnpm/lib0@0.2.114/node_modules/lib0/math.cjs.js +0 -37
- package/lib/node_modules/.pnpm/lib0@0.2.114/node_modules/lib0/math.cjs.js.map +0 -1
- package/lib/node_modules/.pnpm/lib0@0.2.114/node_modules/lib0/metric.cjs.js +0 -64
- package/lib/node_modules/.pnpm/lib0@0.2.114/node_modules/lib0/metric.cjs.js.map +0 -1
- package/lib/node_modules/.pnpm/lib0@0.2.114/node_modules/lib0/mutex.cjs.js +0 -19
- package/lib/node_modules/.pnpm/lib0@0.2.114/node_modules/lib0/mutex.cjs.js.map +0 -1
- package/lib/node_modules/.pnpm/lib0@0.2.114/node_modules/lib0/number.cjs.js +0 -31
- package/lib/node_modules/.pnpm/lib0@0.2.114/node_modules/lib0/number.cjs.js.map +0 -1
- package/lib/node_modules/.pnpm/lib0@0.2.114/node_modules/lib0/object.cjs.js +0 -72
- package/lib/node_modules/.pnpm/lib0@0.2.114/node_modules/lib0/object.cjs.js.map +0 -1
- package/lib/node_modules/.pnpm/lib0@0.2.114/node_modules/lib0/observable.cjs.js +0 -128
- package/lib/node_modules/.pnpm/lib0@0.2.114/node_modules/lib0/observable.cjs.js.map +0 -1
- package/lib/node_modules/.pnpm/lib0@0.2.114/node_modules/lib0/pair.cjs.js +0 -22
- package/lib/node_modules/.pnpm/lib0@0.2.114/node_modules/lib0/pair.cjs.js.map +0 -1
- package/lib/node_modules/.pnpm/lib0@0.2.114/node_modules/lib0/promise.cjs.js +0 -50
- package/lib/node_modules/.pnpm/lib0@0.2.114/node_modules/lib0/promise.cjs.js.map +0 -1
- package/lib/node_modules/.pnpm/lib0@0.2.114/node_modules/lib0/random.cjs.js +0 -24
- package/lib/node_modules/.pnpm/lib0@0.2.114/node_modules/lib0/random.cjs.js.map +0 -1
- package/lib/node_modules/.pnpm/lib0@0.2.114/node_modules/lib0/set.cjs.js +0 -11
- package/lib/node_modules/.pnpm/lib0@0.2.114/node_modules/lib0/set.cjs.js.map +0 -1
- package/lib/node_modules/.pnpm/lib0@0.2.114/node_modules/lib0/storage.cjs.js +0 -44
- package/lib/node_modules/.pnpm/lib0@0.2.114/node_modules/lib0/storage.cjs.js.map +0 -1
- package/lib/node_modules/.pnpm/lib0@0.2.114/node_modules/lib0/string.cjs.js +0 -94
- package/lib/node_modules/.pnpm/lib0@0.2.114/node_modules/lib0/string.cjs.js.map +0 -1
- package/lib/node_modules/.pnpm/lib0@0.2.114/node_modules/lib0/symbol.cjs.js +0 -7
- package/lib/node_modules/.pnpm/lib0@0.2.114/node_modules/lib0/symbol.cjs.js.map +0 -1
- package/lib/node_modules/.pnpm/lib0@0.2.114/node_modules/lib0/time.cjs.js +0 -28
- package/lib/node_modules/.pnpm/lib0@0.2.114/node_modules/lib0/time.cjs.js.map +0 -1
- package/lib/node_modules/.pnpm/lib0@0.2.114/node_modules/lib0/traits.cjs.js +0 -5
- package/lib/node_modules/.pnpm/lib0@0.2.114/node_modules/lib0/traits.cjs.js.map +0 -1
- package/lib/node_modules/.pnpm/lib0@0.2.114/node_modules/lib0/url.cjs.js +0 -20
- package/lib/node_modules/.pnpm/lib0@0.2.114/node_modules/lib0/url.cjs.js.map +0 -1
- package/lib/node_modules/.pnpm/lib0@0.2.114/node_modules/lib0/webcrypto.cjs.js +0 -7
- package/lib/node_modules/.pnpm/lib0@0.2.114/node_modules/lib0/webcrypto.cjs.js.map +0 -1
- package/lib/node_modules/.pnpm/lib0@0.2.114/node_modules/lib0/websocket.cjs.js +0 -113
- package/lib/node_modules/.pnpm/lib0@0.2.114/node_modules/lib0/websocket.cjs.js.map +0 -1
- package/lib/node_modules/.pnpm/quill-cursors@4.0.4/node_modules/quill-cursors/dist/quill-cursors.cjs.js +0 -1796
- package/lib/node_modules/.pnpm/quill-cursors@4.0.4/node_modules/quill-cursors/dist/quill-cursors.cjs.js.map +0 -1
- package/lib/node_modules/.pnpm/simple-peer@9.11.1/node_modules/simple-peer/simplepeer.min.cjs.js +0 -2620
- package/lib/node_modules/.pnpm/simple-peer@9.11.1/node_modules/simple-peer/simplepeer.min.cjs.js.map +0 -1
- package/lib/node_modules/.pnpm/y-indexeddb@9.0.12_yjs@13.6.27/node_modules/y-indexeddb/src/y-indexeddb.cjs.js +0 -155
- package/lib/node_modules/.pnpm/y-indexeddb@9.0.12_yjs@13.6.27/node_modules/y-indexeddb/src/y-indexeddb.cjs.js.map +0 -1
- package/lib/node_modules/.pnpm/y-protocols@1.0.6_yjs@13.6.27/node_modules/y-protocols/auth.cjs.js +0 -20
- package/lib/node_modules/.pnpm/y-protocols@1.0.6_yjs@13.6.27/node_modules/y-protocols/auth.cjs.js.map +0 -1
- package/lib/node_modules/.pnpm/y-protocols@1.0.6_yjs@13.6.27/node_modules/y-protocols/awareness.cjs.js +0 -232
- package/lib/node_modules/.pnpm/y-protocols@1.0.6_yjs@13.6.27/node_modules/y-protocols/awareness.cjs.js.map +0 -1
- package/lib/node_modules/.pnpm/y-protocols@1.0.6_yjs@13.6.27/node_modules/y-protocols/sync.cjs.js +0 -58
- package/lib/node_modules/.pnpm/y-protocols@1.0.6_yjs@13.6.27/node_modules/y-protocols/sync.cjs.js.map +0 -1
- package/lib/node_modules/.pnpm/y-quill@1.0.0_quill-cursors@4.0.4_quill@2.0.3_patch_hash_dnirvjhpzdmsvdidsclwslxxji__yjs@13.6.27/node_modules/y-quill/src/y-quill.cjs.js +0 -157
- package/lib/node_modules/.pnpm/y-quill@1.0.0_quill-cursors@4.0.4_quill@2.0.3_patch_hash_dnirvjhpzdmsvdidsclwslxxji__yjs@13.6.27/node_modules/y-quill/src/y-quill.cjs.js.map +0 -1
- package/lib/node_modules/.pnpm/y-webrtc@10.3.0_yjs@13.6.27/node_modules/y-webrtc/src/crypto.cjs.js +0 -94
- package/lib/node_modules/.pnpm/y-webrtc@10.3.0_yjs@13.6.27/node_modules/y-webrtc/src/crypto.cjs.js.map +0 -1
- package/lib/node_modules/.pnpm/y-webrtc@10.3.0_yjs@13.6.27/node_modules/y-webrtc/src/y-webrtc.cjs.js +0 -537
- package/lib/node_modules/.pnpm/y-webrtc@10.3.0_yjs@13.6.27/node_modules/y-webrtc/src/y-webrtc.cjs.js.map +0 -1
- package/lib/node_modules/.pnpm/y-websocket@3.0.0_yjs@13.6.27/node_modules/y-websocket/src/y-websocket.cjs.js +0 -380
- package/lib/node_modules/.pnpm/y-websocket@3.0.0_yjs@13.6.27/node_modules/y-websocket/src/y-websocket.cjs.js.map +0 -1
- package/lib/node_modules/.pnpm/yjs@13.6.27/node_modules/yjs/dist/yjs.cjs.js +0 -7653
- package/lib/node_modules/.pnpm/yjs@13.6.27/node_modules/yjs/dist/yjs.cjs.js.map +0 -1
- package/lib/themes/snow.cjs.js.map +0 -1
- package/lib/tools/screenshot.cjs.js.map +0 -1
- package/lib/ui/icons.cjs.js.map +0 -1
- package/lib/ui/icons.config.cjs.js.map +0 -1
- package/lib/utils/debounce.cjs.js.map +0 -1
- package/lib/utils/method.cjs.js.map +0 -1
- package/types/attributors/font-size.d.ts +0 -1
- package/types/attributors/font-style.d.ts +0 -1
- package/types/attributors/index.d.ts +0 -4
- package/types/attributors/line-height.d.ts +0 -1
- package/types/attributors/text-indent.d.ts +0 -1
- package/types/config/base64-image.d.ts +0 -2
- package/types/config/editor.config.d.ts +0 -11
- package/types/config/editor.utils.d.ts +0 -40
- package/types/config/i18n/en-us.d.ts +0 -123
- package/types/config/i18n/zh-cn.d.ts +0 -123
- package/types/config/index.d.ts +0 -7
- package/types/config/types/editor-config.interface.d.ts +0 -15
- package/types/config/types/editor-modules.interface.d.ts +0 -42
- package/types/config/types/index.d.ts +0 -3
- package/types/config/types/type.d.ts +0 -2
- package/types/core/fluent-editor.d.ts +0 -14
- package/types/fluent-editor.d.ts +0 -3
- package/types/formats/emoji.d.ts +0 -9
- package/types/formats/index.d.ts +0 -4
- package/types/formats/soft-break.d.ts +0 -13
- package/types/formats/strike.d.ts +0 -9
- package/types/formats/video.d.ts +0 -14
- package/types/index.d.ts +0 -9
- package/types/modules/ai/constants.d.ts +0 -30
- package/types/modules/ai/icons.d.ts +0 -21
- package/types/modules/ai/index.d.ts +0 -97
- package/types/modules/ai/types.d.ts +0 -16
- package/types/modules/collaborative-editing/awareness/awareness.d.ts +0 -29
- package/types/modules/collaborative-editing/awareness/index.d.ts +0 -2
- package/types/modules/collaborative-editing/awareness/y-indexeddb.d.ts +0 -3
- package/types/modules/collaborative-editing/collaborative-editing.d.ts +0 -25
- package/types/modules/collaborative-editing/index.d.ts +0 -2
- package/types/modules/collaborative-editing/module.d.ts +0 -12
- package/types/modules/collaborative-editing/provider/index.d.ts +0 -3
- package/types/modules/collaborative-editing/provider/providerRegistry.d.ts +0 -26
- package/types/modules/collaborative-editing/provider/webrtc.d.ts +0 -37
- package/types/modules/collaborative-editing/provider/websocket.d.ts +0 -41
- package/types/modules/collaborative-editing/types.d.ts +0 -37
- package/types/modules/counter.d.ts +0 -24
- package/types/modules/custom-clipboard.d.ts +0 -26
- package/types/modules/custom-image/actions/action.d.ts +0 -9
- package/types/modules/custom-image/actions/custom-resize-action.d.ts +0 -24
- package/types/modules/custom-image/actions/delete-action.d.ts +0 -7
- package/types/modules/custom-image/actions/image-toolbar-buttons.d.ts +0 -17
- package/types/modules/custom-image/actions/index.d.ts +0 -6
- package/types/modules/custom-image/actions/toolbar-action.d.ts +0 -12
- package/types/modules/custom-image/actions/toolbar.d.ts +0 -20
- package/types/modules/custom-image/blot-formatter.d.ts +0 -24
- package/types/modules/custom-image/image.d.ts +0 -29
- package/types/modules/custom-image/index.d.ts +0 -4
- package/types/modules/custom-image/options.d.ts +0 -48
- package/types/modules/custom-image/specs/blot-spec.d.ts +0 -13
- package/types/modules/custom-image/specs/custom-image-spec.d.ts +0 -18
- package/types/modules/custom-image/specs/image-spec.d.ts +0 -9
- package/types/modules/custom-image/specs/index.d.ts +0 -3
- package/types/modules/custom-uploader.d.ts +0 -41
- package/types/modules/divider.d.ts +0 -9
- package/types/modules/emoji.d.ts +0 -34
- package/types/modules/file/formats/file.d.ts +0 -19
- package/types/modules/file/index.d.ts +0 -3
- package/types/modules/file/modules/file-bar.d.ts +0 -14
- package/types/modules/file/modules/file-module.d.ts +0 -10
- package/types/modules/i18n.d.ts +0 -15
- package/types/modules/index.d.ts +0 -16
- package/types/modules/link/formats/link.d.ts +0 -16
- package/types/modules/link/index.d.ts +0 -2
- package/types/modules/link/modules/tooltip.d.ts +0 -28
- package/types/modules/mathlive/formats.d.ts +0 -23
- package/types/modules/mathlive/index.d.ts +0 -3
- package/types/modules/mathlive/module.d.ts +0 -10
- package/types/modules/mathlive/tooltip.d.ts +0 -19
- package/types/modules/mention/constants.d.ts +0 -3
- package/types/modules/mention/index.d.ts +0 -2
- package/types/modules/mention/mention-link.d.ts +0 -17
- package/types/modules/mention/mention.d.ts +0 -54
- package/types/modules/shortcut-key/index.d.ts +0 -72
- package/types/modules/syntax.d.ts +0 -14
- package/types/modules/table-up/index.d.ts +0 -35
- package/types/modules/toolbar/better-picker.d.ts +0 -16
- package/types/modules/toolbar/better-toolbar.d.ts +0 -8
- package/types/modules/toolbar/index.d.ts +0 -3
- package/types/modules/toolbar/toolbar-tip.d.ts +0 -10
- package/types/themes/snow.d.ts +0 -12
- package/types/tools/format-painter.d.ts +0 -14
- package/types/tools/fullscreen.d.ts +0 -7
- package/types/tools/screenshot.d.ts +0 -20
- package/types/ui/icons.config.d.ts +0 -38
- package/types/ui/icons.d.ts +0 -6
- package/types/utils/debounce.d.ts +0 -6
- package/types/utils/image.d.ts +0 -1
- package/types/utils/is.d.ts +0 -6
- package/types/utils/method.d.ts +0 -6
- package/types/utils/scroll-lock.d.ts +0 -6
- /package/{es → dist/es}/attributors/font-size.es.js +0 -0
- /package/{es → dist/es}/attributors/font-size.es.js.map +0 -0
- /package/{es → dist/es}/attributors/font-style.es.js +0 -0
- /package/{es → dist/es}/attributors/font-style.es.js.map +0 -0
- /package/{es → dist/es}/attributors/index.es.js +0 -0
- /package/{es → dist/es}/attributors/index.es.js.map +0 -0
- /package/{es → dist/es}/attributors/line-height.es.js +0 -0
- /package/{es → dist/es}/attributors/text-indent.es.js +0 -0
- /package/{es → dist/es}/attributors/text-indent.es.js.map +0 -0
- /package/{es → dist/es}/config/base64-image.es.js +0 -0
- /package/{es → dist/es}/config/editor.config.es.js +0 -0
- /package/{es → dist/es}/config/editor.utils.es.js +0 -0
- /package/{es → dist/es}/config/i18n/en-us.es.js +0 -0
- /package/{es → dist/es}/config/i18n/zh-cn.es.js +0 -0
- /package/{es → dist/es}/config/index.es.js +0 -0
- /package/{es → dist/es}/config/types/editor-config.interface.es.js +0 -0
- /package/{es → dist/es}/config/types/editor-config.interface.es.js.map +0 -0
- /package/{es → dist/es}/config/types/editor-modules.interface.es.js +0 -0
- /package/{es → dist/es}/config/types/editor-modules.interface.es.js.map +0 -0
- /package/{es → dist/es}/config/types/index.es.js +0 -0
- /package/{es → dist/es}/config/types/index.es.js.map +0 -0
- /package/{es → dist/es}/config/types/type.es.js +0 -0
- /package/{es → dist/es}/config/types/type.es.js.map +0 -0
- /package/{es → dist/es}/core/fluent-editor.es.js +0 -0
- /package/{es → dist/es}/fluent-editor.es.js +0 -0
- /package/{es → dist/es}/formats/emoji.es.js +0 -0
- /package/{es → dist/es}/formats/index.es.js +0 -0
- /package/{es → dist/es}/formats/index.es.js.map +0 -0
- /package/{es → dist/es}/formats/soft-break.es.js +0 -0
- /package/{es → dist/es}/formats/strike.es.js +0 -0
- /package/{es → dist/es}/formats/video.es.js +0 -0
- /package/{es → dist/es}/index.es.js +0 -0
- /package/{es → dist/es}/index.es.js.map +0 -0
- /package/{es → dist/es}/modules/ai/constants.es.js +0 -0
- /package/{es → dist/es}/modules/ai/icons.es.js +0 -0
- /package/{es → dist/es}/modules/ai/index.es.js +0 -0
- /package/{es → dist/es}/modules/collaborative-editing/awareness/index.es.js +0 -0
- /package/{es → dist/es}/modules/collaborative-editing/awareness/index.es.js.map +0 -0
- /package/{es → dist/es}/modules/collaborative-editing/index.es.js +0 -0
- /package/{es → dist/es}/modules/collaborative-editing/index.es.js.map +0 -0
- /package/{es → dist/es}/modules/collaborative-editing/module.es.js +0 -0
- /package/{es → dist/es}/modules/collaborative-editing/provider/providerRegistry.es.js +0 -0
- /package/{es → dist/es}/modules/collaborative-editing/types.es.js +0 -0
- /package/{es → dist/es}/modules/collaborative-editing/types.es.js.map +0 -0
- /package/{es → dist/es}/modules/counter.es.js +0 -0
- /package/{es → dist/es}/modules/custom-clipboard.es.js +0 -0
- /package/{es → dist/es}/modules/custom-image/actions/action.es.js +0 -0
- /package/{es → dist/es}/modules/custom-image/actions/custom-resize-action.es.js +0 -0
- /package/{es → dist/es}/modules/custom-image/actions/delete-action.es.js +0 -0
- /package/{es → dist/es}/modules/custom-image/actions/image-toolbar-buttons.es.js +0 -0
- /package/{es → dist/es}/modules/custom-image/actions/image-toolbar-buttons.es.js.map +0 -0
- /package/{es → dist/es}/modules/custom-image/actions/index.es.js +0 -0
- /package/{es → dist/es}/modules/custom-image/actions/index.es.js.map +0 -0
- /package/{es → dist/es}/modules/custom-image/actions/toolbar-action.es.js +0 -0
- /package/{es → dist/es}/modules/custom-image/actions/toolbar-action.es.js.map +0 -0
- /package/{es → dist/es}/modules/custom-image/actions/toolbar.es.js +0 -0
- /package/{es → dist/es}/modules/custom-image/actions/toolbar.es.js.map +0 -0
- /package/{es → dist/es}/modules/custom-image/blot-formatter.es.js +0 -0
- /package/{es → dist/es}/modules/custom-image/image.es.js +0 -0
- /package/{es → dist/es}/modules/custom-image/index.es.js +0 -0
- /package/{es → dist/es}/modules/custom-image/index.es.js.map +0 -0
- /package/{es → dist/es}/modules/custom-image/options.es.js +0 -0
- /package/{es → dist/es}/modules/custom-image/specs/blot-spec.es.js +0 -0
- /package/{es → dist/es}/modules/custom-image/specs/custom-image-spec.es.js +0 -0
- /package/{es → dist/es}/modules/custom-image/specs/image-spec.es.js +0 -0
- /package/{es → dist/es}/modules/custom-image/specs/index.es.js +0 -0
- /package/{es → dist/es}/modules/custom-image/specs/index.es.js.map +0 -0
- /package/{es → dist/es}/modules/custom-uploader.es.js +0 -0
- /package/{es → dist/es}/modules/custom-uploader.es.js.map +0 -0
- /package/{es → dist/es}/modules/divider.es.js +0 -0
- /package/{es → dist/es}/modules/file/formats/file.es.js +0 -0
- /package/{es → dist/es}/modules/file/index.es.js +0 -0
- /package/{es → dist/es}/modules/file/index.es.js.map +0 -0
- /package/{es → dist/es}/modules/file/modules/file-bar.es.js +0 -0
- /package/{es → dist/es}/modules/file/modules/file-module.es.js +0 -0
- /package/{es → dist/es}/modules/i18n.es.js +0 -0
- /package/{es → dist/es}/modules/i18n.es.js.map +0 -0
- /package/{es → dist/es}/modules/index.es.js +0 -0
- /package/{es → dist/es}/modules/index.es.js.map +0 -0
- /package/{es → dist/es}/modules/link/formats/link.es.js +0 -0
- /package/{es → dist/es}/modules/link/index.es.js +0 -0
- /package/{es → dist/es}/modules/link/index.es.js.map +0 -0
- /package/{es → dist/es}/modules/link/modules/tooltip.es.js +0 -0
- /package/{es → dist/es}/modules/mathlive/formats.es.js +0 -0
- /package/{es → dist/es}/modules/mathlive/index.es.js +0 -0
- /package/{es → dist/es}/modules/mathlive/index.es.js.map +0 -0
- /package/{es → dist/es}/modules/mathlive/module.es.js +0 -0
- /package/{es → dist/es}/modules/mathlive/module.es.js.map +0 -0
- /package/{es → dist/es}/modules/mathlive/tooltip.es.js +0 -0
- /package/{es → dist/es}/modules/mention/constants.es.js +0 -0
- /package/{es → dist/es}/modules/mention/index.es.js +0 -0
- /package/{es → dist/es}/modules/mention/index.es.js.map +0 -0
- /package/{es → dist/es}/modules/mention/mention-link.es.js +0 -0
- /package/{es → dist/es}/modules/mention/mention.es.js +0 -0
- /package/{es → dist/es}/modules/shortcut-key/index.es.js +0 -0
- /package/{es → dist/es}/modules/shortcut-key/index.es.js.map +0 -0
- /package/{es → dist/es}/modules/syntax.es.js +0 -0
- /package/{es → dist/es}/modules/table-up/index.es.js +0 -0
- /package/{es → dist/es}/modules/table-up/index.es.js.map +0 -0
- /package/{es → dist/es}/modules/toolbar/better-picker.es.js +0 -0
- /package/{es → dist/es}/modules/toolbar/better-toolbar.es.js +0 -0
- /package/{es → dist/es}/modules/toolbar/better-toolbar.es.js.map +0 -0
- /package/{es → dist/es}/modules/toolbar/index.es.js +0 -0
- /package/{es → dist/es}/modules/toolbar/index.es.js.map +0 -0
- /package/{es → dist/es}/modules/toolbar/toolbar-tip.es.js +0 -0
- /package/{es → dist/es}/modules/toolbar/toolbar-tip.es.js.map +0 -0
- /package/{es → dist/es}/themes/snow.es.js +0 -0
- /package/{es → dist/es}/tools/format-painter.es.js +0 -0
- /package/{es → dist/es}/tools/format-painter.es.js.map +0 -0
- /package/{es → dist/es}/tools/fullscreen.es.js +0 -0
- /package/{es → dist/es}/tools/fullscreen.es.js.map +0 -0
- /package/{es → dist/es}/tools/screenshot.es.js +0 -0
- /package/{es → dist/es}/ui/icons.config.es.js +0 -0
- /package/{es → dist/es}/ui/icons.es.js +0 -0
- /package/{es → dist/es}/utils/debounce.es.js +0 -0
- /package/{es → dist/es}/utils/image.es.js +0 -0
- /package/{es → dist/es}/utils/image.es.js.map +0 -0
- /package/{es → dist/es}/utils/is.es.js +0 -0
- /package/{es → dist/es}/utils/is.es.js.map +0 -0
- /package/{es → dist/es}/utils/method.es.js +0 -0
- /package/{es → dist/es}/utils/scroll-lock.es.js +0 -0
- /package/{es → dist/es}/utils/scroll-lock.es.js.map +0 -0
- /package/{lib → dist/lib}/attributors/font-size.cjs.js +0 -0
- /package/{lib → dist/lib}/attributors/font-size.cjs.js.map +0 -0
- /package/{lib → dist/lib}/attributors/font-style.cjs.js +0 -0
- /package/{lib → dist/lib}/attributors/font-style.cjs.js.map +0 -0
- /package/{lib → dist/lib}/attributors/index.cjs.js +0 -0
- /package/{lib → dist/lib}/attributors/index.cjs.js.map +0 -0
- /package/{lib → dist/lib}/attributors/line-height.cjs.js +0 -0
- /package/{lib → dist/lib}/attributors/text-indent.cjs.js +0 -0
- /package/{lib → dist/lib}/attributors/text-indent.cjs.js.map +0 -0
- /package/{lib → dist/lib}/config/base64-image.cjs.js +0 -0
- /package/{lib → dist/lib}/config/editor.config.cjs.js +0 -0
- /package/{lib → dist/lib}/config/editor.utils.cjs.js +0 -0
- /package/{lib → dist/lib}/config/i18n/en-us.cjs.js +0 -0
- /package/{lib → dist/lib}/config/i18n/zh-cn.cjs.js +0 -0
- /package/{lib → dist/lib}/config/index.cjs.js +0 -0
- /package/{lib → dist/lib}/config/types/editor-config.interface.cjs.js +0 -0
- /package/{lib → dist/lib}/config/types/editor-config.interface.cjs.js.map +0 -0
- /package/{lib → dist/lib}/config/types/editor-modules.interface.cjs.js +0 -0
- /package/{lib → dist/lib}/config/types/editor-modules.interface.cjs.js.map +0 -0
- /package/{lib → dist/lib}/config/types/index.cjs.js +0 -0
- /package/{lib → dist/lib}/config/types/index.cjs.js.map +0 -0
- /package/{lib → dist/lib}/config/types/type.cjs.js +0 -0
- /package/{lib → dist/lib}/config/types/type.cjs.js.map +0 -0
- /package/{lib → dist/lib}/core/fluent-editor.cjs.js +0 -0
- /package/{lib → dist/lib}/fluent-editor.cjs.js +0 -0
- /package/{lib → dist/lib}/formats/emoji.cjs.js +0 -0
- /package/{lib → dist/lib}/formats/index.cjs.js +0 -0
- /package/{lib → dist/lib}/formats/index.cjs.js.map +0 -0
- /package/{lib → dist/lib}/formats/soft-break.cjs.js +0 -0
- /package/{lib → dist/lib}/formats/strike.cjs.js +0 -0
- /package/{lib → dist/lib}/formats/video.cjs.js +0 -0
- /package/{lib → dist/lib}/index.cjs.js +0 -0
- /package/{lib → dist/lib}/index.cjs.js.map +0 -0
- /package/{lib → dist/lib}/modules/ai/constants.cjs.js +0 -0
- /package/{lib → dist/lib}/modules/ai/icons.cjs.js +0 -0
- /package/{lib → dist/lib}/modules/ai/index.cjs.js +0 -0
- /package/{lib → dist/lib}/modules/collaborative-editing/awareness/index.cjs.js +0 -0
- /package/{lib → dist/lib}/modules/collaborative-editing/awareness/index.cjs.js.map +0 -0
- /package/{lib → dist/lib}/modules/collaborative-editing/index.cjs.js +0 -0
- /package/{lib → dist/lib}/modules/collaborative-editing/index.cjs.js.map +0 -0
- /package/{lib → dist/lib}/modules/collaborative-editing/module.cjs.js +0 -0
- /package/{lib → dist/lib}/modules/collaborative-editing/provider/providerRegistry.cjs.js +0 -0
- /package/{lib → dist/lib}/modules/collaborative-editing/types.cjs.js +0 -0
- /package/{lib → dist/lib}/modules/collaborative-editing/types.cjs.js.map +0 -0
- /package/{lib → dist/lib}/modules/counter.cjs.js +0 -0
- /package/{lib → dist/lib}/modules/custom-clipboard.cjs.js +0 -0
- /package/{lib → dist/lib}/modules/custom-image/actions/action.cjs.js +0 -0
- /package/{lib → dist/lib}/modules/custom-image/actions/custom-resize-action.cjs.js +0 -0
- /package/{lib → dist/lib}/modules/custom-image/actions/delete-action.cjs.js +0 -0
- /package/{lib → dist/lib}/modules/custom-image/actions/image-toolbar-buttons.cjs.js +0 -0
- /package/{lib → dist/lib}/modules/custom-image/actions/image-toolbar-buttons.cjs.js.map +0 -0
- /package/{lib → dist/lib}/modules/custom-image/actions/index.cjs.js +0 -0
- /package/{lib → dist/lib}/modules/custom-image/actions/index.cjs.js.map +0 -0
- /package/{lib → dist/lib}/modules/custom-image/actions/toolbar-action.cjs.js +0 -0
- /package/{lib → dist/lib}/modules/custom-image/actions/toolbar-action.cjs.js.map +0 -0
- /package/{lib → dist/lib}/modules/custom-image/actions/toolbar.cjs.js +0 -0
- /package/{lib → dist/lib}/modules/custom-image/actions/toolbar.cjs.js.map +0 -0
- /package/{lib → dist/lib}/modules/custom-image/blot-formatter.cjs.js +0 -0
- /package/{lib → dist/lib}/modules/custom-image/image.cjs.js +0 -0
- /package/{lib → dist/lib}/modules/custom-image/index.cjs.js +0 -0
- /package/{lib → dist/lib}/modules/custom-image/index.cjs.js.map +0 -0
- /package/{lib → dist/lib}/modules/custom-image/options.cjs.js +0 -0
- /package/{lib → dist/lib}/modules/custom-image/specs/blot-spec.cjs.js +0 -0
- /package/{lib → dist/lib}/modules/custom-image/specs/custom-image-spec.cjs.js +0 -0
- /package/{lib → dist/lib}/modules/custom-image/specs/image-spec.cjs.js +0 -0
- /package/{lib → dist/lib}/modules/custom-image/specs/index.cjs.js +0 -0
- /package/{lib → dist/lib}/modules/custom-image/specs/index.cjs.js.map +0 -0
- /package/{lib → dist/lib}/modules/custom-uploader.cjs.js +0 -0
- /package/{lib → dist/lib}/modules/custom-uploader.cjs.js.map +0 -0
- /package/{lib → dist/lib}/modules/divider.cjs.js +0 -0
- /package/{lib → dist/lib}/modules/file/formats/file.cjs.js +0 -0
- /package/{lib → dist/lib}/modules/file/index.cjs.js +0 -0
- /package/{lib → dist/lib}/modules/file/index.cjs.js.map +0 -0
- /package/{lib → dist/lib}/modules/file/modules/file-bar.cjs.js +0 -0
- /package/{lib → dist/lib}/modules/file/modules/file-module.cjs.js +0 -0
- /package/{lib → dist/lib}/modules/i18n.cjs.js +0 -0
- /package/{lib → dist/lib}/modules/i18n.cjs.js.map +0 -0
- /package/{lib → dist/lib}/modules/index.cjs.js +0 -0
- /package/{lib → dist/lib}/modules/index.cjs.js.map +0 -0
- /package/{lib → dist/lib}/modules/link/formats/link.cjs.js +0 -0
- /package/{lib → dist/lib}/modules/link/index.cjs.js +0 -0
- /package/{lib → dist/lib}/modules/link/index.cjs.js.map +0 -0
- /package/{lib → dist/lib}/modules/link/modules/tooltip.cjs.js +0 -0
- /package/{lib → dist/lib}/modules/mathlive/formats.cjs.js +0 -0
- /package/{lib → dist/lib}/modules/mathlive/index.cjs.js +0 -0
- /package/{lib → dist/lib}/modules/mathlive/index.cjs.js.map +0 -0
- /package/{lib → dist/lib}/modules/mathlive/module.cjs.js +0 -0
- /package/{lib → dist/lib}/modules/mathlive/module.cjs.js.map +0 -0
- /package/{lib → dist/lib}/modules/mathlive/tooltip.cjs.js +0 -0
- /package/{lib → dist/lib}/modules/mention/constants.cjs.js +0 -0
- /package/{lib → dist/lib}/modules/mention/index.cjs.js +0 -0
- /package/{lib → dist/lib}/modules/mention/index.cjs.js.map +0 -0
- /package/{lib → dist/lib}/modules/mention/mention-link.cjs.js +0 -0
- /package/{lib → dist/lib}/modules/mention/mention.cjs.js +0 -0
- /package/{lib → dist/lib}/modules/shortcut-key/index.cjs.js +0 -0
- /package/{lib → dist/lib}/modules/shortcut-key/index.cjs.js.map +0 -0
- /package/{lib → dist/lib}/modules/syntax.cjs.js +0 -0
- /package/{lib → dist/lib}/modules/table-up/index.cjs.js +0 -0
- /package/{lib → dist/lib}/modules/table-up/index.cjs.js.map +0 -0
- /package/{lib → dist/lib}/modules/toolbar/better-picker.cjs.js +0 -0
- /package/{lib → dist/lib}/modules/toolbar/better-toolbar.cjs.js +0 -0
- /package/{lib → dist/lib}/modules/toolbar/better-toolbar.cjs.js.map +0 -0
- /package/{lib → dist/lib}/modules/toolbar/index.cjs.js +0 -0
- /package/{lib → dist/lib}/modules/toolbar/index.cjs.js.map +0 -0
- /package/{lib → dist/lib}/modules/toolbar/toolbar-tip.cjs.js +0 -0
- /package/{lib → dist/lib}/modules/toolbar/toolbar-tip.cjs.js.map +0 -0
- /package/{lib → dist/lib}/themes/snow.cjs.js +0 -0
- /package/{lib → dist/lib}/tools/format-painter.cjs.js +0 -0
- /package/{lib → dist/lib}/tools/format-painter.cjs.js.map +0 -0
- /package/{lib → dist/lib}/tools/fullscreen.cjs.js +0 -0
- /package/{lib → dist/lib}/tools/fullscreen.cjs.js.map +0 -0
- /package/{lib → dist/lib}/tools/screenshot.cjs.js +0 -0
- /package/{lib → dist/lib}/ui/icons.cjs.js +0 -0
- /package/{lib → dist/lib}/ui/icons.config.cjs.js +0 -0
- /package/{lib → dist/lib}/utils/debounce.cjs.js +0 -0
- /package/{lib → dist/lib}/utils/image.cjs.js +0 -0
- /package/{lib → dist/lib}/utils/image.cjs.js.map +0 -0
- /package/{lib → dist/lib}/utils/is.cjs.js +0 -0
- /package/{lib → dist/lib}/utils/is.cjs.js.map +0 -0
- /package/{lib → dist/lib}/utils/method.cjs.js +0 -0
- /package/{lib → dist/lib}/utils/scroll-lock.cjs.js +0 -0
- /package/{lib → dist/lib}/utils/scroll-lock.cjs.js.map +0 -0
- /package/{style.css → dist/style.css} +0 -0
|
@@ -0,0 +1,101 @@
|
|
|
1
|
+
import type { Range } from 'quill'
|
|
2
|
+
import type TypeUploader from 'quill/modules/uploader'
|
|
3
|
+
import type FluentEditor from '../core/fluent-editor'
|
|
4
|
+
import Quill from 'quill'
|
|
5
|
+
import { isString } from '../utils/is'
|
|
6
|
+
|
|
7
|
+
const Uploader = Quill.import('modules/uploader') as typeof TypeUploader
|
|
8
|
+
const Delta = Quill.import('delta')
|
|
9
|
+
|
|
10
|
+
interface UploaderOptions {
|
|
11
|
+
mimetypes: string[]
|
|
12
|
+
handler: (this: { quill: Quill }, range: Range, files: File[]) => void
|
|
13
|
+
}
|
|
14
|
+
export interface FileUploaderOptions {
|
|
15
|
+
mimetypes: string[]
|
|
16
|
+
maxSize: number
|
|
17
|
+
handler: (this: { quill: FluentEditor }, range: Range, files: File[]) => Promise<(string | false)[]> | (string | false)[]
|
|
18
|
+
success: (this: { quill: FluentEditor }, file: File, range: Range) => void
|
|
19
|
+
fail: (this: { quill: FluentEditor }, file: File, range: Range) => void
|
|
20
|
+
}
|
|
21
|
+
export class FileUploader extends Uploader {
|
|
22
|
+
static DEFAULTS = {} as any
|
|
23
|
+
// Partial<UploaderOptions> for ts type
|
|
24
|
+
declare options: Partial<UploaderOptions> & FileUploaderOptions
|
|
25
|
+
constructor(public quill: FluentEditor, options: Partial<FileUploaderOptions>) {
|
|
26
|
+
super(quill, options as any)
|
|
27
|
+
this.options = this.resolveOptions(options)
|
|
28
|
+
// paste handle in clipboard
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
resolveOptions(options: Partial<FileUploaderOptions> = {}) {
|
|
32
|
+
return Object.assign({
|
|
33
|
+
mimetypes: ['*'],
|
|
34
|
+
maxSize: Number.POSITIVE_INFINITY,
|
|
35
|
+
handler(range: Range, files: File[]) {
|
|
36
|
+
return files.map(file => URL.createObjectURL(file))
|
|
37
|
+
},
|
|
38
|
+
success() {},
|
|
39
|
+
fail() {},
|
|
40
|
+
}, options)
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
validateFile(file: File) {
|
|
44
|
+
return this.options.mimetypes.some(type => (file.type || 'text/plain').match(type.replaceAll('*', '.*'))) && file.size < this.options.maxSize
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
async getFileUrls(files: File[], range: Range) {
|
|
48
|
+
const uploads = files.filter(file => this.validateFile(file))
|
|
49
|
+
return this.options.handler.call(this, range, uploads)
|
|
50
|
+
}
|
|
51
|
+
|
|
52
|
+
async upload(range: Range, files: FileList | File[]) {
|
|
53
|
+
const uploads = []
|
|
54
|
+
const fails = []
|
|
55
|
+
|
|
56
|
+
for (const file of Array.from(files)) {
|
|
57
|
+
if (this.validateFile(file)) {
|
|
58
|
+
uploads.push(file)
|
|
59
|
+
}
|
|
60
|
+
else {
|
|
61
|
+
fails.push(file)
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
|
|
65
|
+
const result = await this.options.handler.call(this, range, uploads)
|
|
66
|
+
const updateDelta = result.reduce((delta, url, i) => {
|
|
67
|
+
if (isString(url)) {
|
|
68
|
+
const type = uploads[i].type
|
|
69
|
+
if (type.startsWith('image/')) {
|
|
70
|
+
delta.insert({ image: url })
|
|
71
|
+
}
|
|
72
|
+
else if (type.startsWith('video/')) {
|
|
73
|
+
delta.insert({ video: { src: url } })
|
|
74
|
+
}
|
|
75
|
+
else {
|
|
76
|
+
delta.insert({ file: { size: uploads[i].size, title: uploads[i].name, src: url } })
|
|
77
|
+
}
|
|
78
|
+
}
|
|
79
|
+
else {
|
|
80
|
+
delta.insert(' ')
|
|
81
|
+
}
|
|
82
|
+
return delta
|
|
83
|
+
}, new Delta().retain(range.index).delete(range.length))
|
|
84
|
+
|
|
85
|
+
this.quill.updateContents(updateDelta, Quill.sources.USER)
|
|
86
|
+
this.quill.setSelection(range.index + result.length, Quill.sources.SILENT)
|
|
87
|
+
|
|
88
|
+
for (const file of fails) {
|
|
89
|
+
this.options.fail.call(this, file, range)
|
|
90
|
+
}
|
|
91
|
+
|
|
92
|
+
for (const [i, res] of result.entries()) {
|
|
93
|
+
if (isString(res)) {
|
|
94
|
+
this.options.success.call(this, files[i], { index: range.index + i, length: 0 })
|
|
95
|
+
}
|
|
96
|
+
else {
|
|
97
|
+
this.options.fail.call(this, files[i], { index: range.index + i, length: 0 })
|
|
98
|
+
}
|
|
99
|
+
}
|
|
100
|
+
}
|
|
101
|
+
}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import type { BlockEmbed as TypeBlockEmbed } from 'quill/blots/block'
|
|
2
|
+
import Quill from 'quill'
|
|
3
|
+
|
|
4
|
+
const BlockEmbed = Quill.import('blots/block/embed') as typeof TypeBlockEmbed
|
|
5
|
+
|
|
6
|
+
export class DividerBlot extends BlockEmbed {
|
|
7
|
+
static blotName = 'divider'
|
|
8
|
+
static tagName = 'hr'
|
|
9
|
+
|
|
10
|
+
static create() {
|
|
11
|
+
const node = super.create() as HTMLElement
|
|
12
|
+
node.setAttribute('contenteditable', 'false')
|
|
13
|
+
return node
|
|
14
|
+
}
|
|
15
|
+
}
|
|
@@ -0,0 +1,230 @@
|
|
|
1
|
+
import type { EmojiMartData } from '@emoji-mart/data'
|
|
2
|
+
import type { computePosition } from '@floating-ui/dom'
|
|
3
|
+
import type { Picker } from 'emoji-mart'
|
|
4
|
+
import type TypeToolbar from 'quill/modules/toolbar'
|
|
5
|
+
import type FluentEditor from '../fluent-editor'
|
|
6
|
+
import { debounce } from 'lodash-es'
|
|
7
|
+
|
|
8
|
+
export interface EmojiModuleOptions {
|
|
9
|
+
emojiData?: EmojiMartData
|
|
10
|
+
EmojiPicker?: new (props: any) => Picker
|
|
11
|
+
emojiPickerPosition?: typeof computePosition
|
|
12
|
+
theme?: string
|
|
13
|
+
locale?: string
|
|
14
|
+
set?: string
|
|
15
|
+
skinTonePosition?: string
|
|
16
|
+
previewPosition?: string
|
|
17
|
+
searchPosition?: string
|
|
18
|
+
categories?: string[]
|
|
19
|
+
maxFrequentRows?: number
|
|
20
|
+
perLine?: number
|
|
21
|
+
navPosition?: string
|
|
22
|
+
noCountryFlags?: boolean
|
|
23
|
+
dynamicWidth?: boolean
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
const DEFAULT_OPTIONS: EmojiModuleOptions = {
|
|
27
|
+
// @ts-ignore
|
|
28
|
+
emojiData: window.emojiData,
|
|
29
|
+
// @ts-ignore
|
|
30
|
+
EmojiPicker: window.EmojiPicker,
|
|
31
|
+
// @ts-ignore
|
|
32
|
+
emojiPickerPosition: window.emojiPickerPosition,
|
|
33
|
+
theme: 'light',
|
|
34
|
+
set: 'native',
|
|
35
|
+
skinTonePosition: 'none',
|
|
36
|
+
previewPosition: 'bottom',
|
|
37
|
+
searchPosition: 'sticky',
|
|
38
|
+
categories: ['frequent', 'people', 'nature', 'foods', 'activity', 'places', 'objects', 'symbols', 'flags'],
|
|
39
|
+
maxFrequentRows: 2,
|
|
40
|
+
perLine: 8,
|
|
41
|
+
navPosition: 'top',
|
|
42
|
+
noCountryFlags: false,
|
|
43
|
+
dynamicWidth: false,
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
const PICKER_DOM_ID = 'emoji-picker'
|
|
47
|
+
|
|
48
|
+
const LOCALE_MAP = {
|
|
49
|
+
'zh-CN': 'zh',
|
|
50
|
+
'en-US': 'en',
|
|
51
|
+
} as const
|
|
52
|
+
|
|
53
|
+
class EmojiModule {
|
|
54
|
+
private readonly quill: FluentEditor
|
|
55
|
+
private readonly options: EmojiModuleOptions
|
|
56
|
+
private picker: HTMLElement | null = null
|
|
57
|
+
private isPickerVisible = false
|
|
58
|
+
private cleanupResizeObserver: (() => void) | null = null
|
|
59
|
+
|
|
60
|
+
constructor(quill: FluentEditor, options: EmojiModuleOptions = {}) {
|
|
61
|
+
this.quill = quill
|
|
62
|
+
|
|
63
|
+
this.options = { ...DEFAULT_OPTIONS, ...options }
|
|
64
|
+
|
|
65
|
+
const toolbar = this.quill.getModule('toolbar') as TypeToolbar
|
|
66
|
+
|
|
67
|
+
if (toolbar) {
|
|
68
|
+
toolbar.addHandler('emoji', () => {
|
|
69
|
+
if (this.isPickerVisible) {
|
|
70
|
+
this.closeDialog()
|
|
71
|
+
}
|
|
72
|
+
else {
|
|
73
|
+
this.openDialog()
|
|
74
|
+
}
|
|
75
|
+
})
|
|
76
|
+
}
|
|
77
|
+
}
|
|
78
|
+
|
|
79
|
+
private getEmojiButton() {
|
|
80
|
+
return document.querySelector('.ql-emoji') as HTMLElement | null
|
|
81
|
+
}
|
|
82
|
+
|
|
83
|
+
private async updatePickerPosition() {
|
|
84
|
+
const button = this.getEmojiButton()
|
|
85
|
+
const pickerElement = document.getElementById(PICKER_DOM_ID)
|
|
86
|
+
|
|
87
|
+
if (!button || !this.picker || !pickerElement) {
|
|
88
|
+
return
|
|
89
|
+
}
|
|
90
|
+
|
|
91
|
+
const { emojiPickerPosition } = this.options
|
|
92
|
+
|
|
93
|
+
try {
|
|
94
|
+
const { x, y } = await emojiPickerPosition(button, pickerElement)
|
|
95
|
+
this.picker.style.top = `${y}px`
|
|
96
|
+
this.picker.style.left = `${x}px`
|
|
97
|
+
}
|
|
98
|
+
catch (error) {
|
|
99
|
+
console.warn('Failed to compute picker position:', error)
|
|
100
|
+
}
|
|
101
|
+
}
|
|
102
|
+
|
|
103
|
+
// 监听容器大小变化,更新表情选择弹窗位置
|
|
104
|
+
private setupContainerResizeObserver() {
|
|
105
|
+
const container = this.quill.root.parentElement
|
|
106
|
+
if (!container) {
|
|
107
|
+
return null
|
|
108
|
+
}
|
|
109
|
+
|
|
110
|
+
const debouncedUpdate = debounce(() => {
|
|
111
|
+
this.updatePickerPosition()
|
|
112
|
+
}, 100)
|
|
113
|
+
|
|
114
|
+
const resizeObserver = new ResizeObserver(() => {
|
|
115
|
+
debouncedUpdate()
|
|
116
|
+
})
|
|
117
|
+
|
|
118
|
+
resizeObserver.observe(container)
|
|
119
|
+
|
|
120
|
+
return () => {
|
|
121
|
+
resizeObserver.disconnect()
|
|
122
|
+
debouncedUpdate.cancel()
|
|
123
|
+
}
|
|
124
|
+
}
|
|
125
|
+
|
|
126
|
+
// 创建表情选择弹窗
|
|
127
|
+
private createPicker() {
|
|
128
|
+
const { EmojiPicker, emojiData, ...options } = this.options
|
|
129
|
+
|
|
130
|
+
const pickerConfig = {
|
|
131
|
+
// emoji-mart 与 tiny-editor 国际化的的 locale 不一致使用 LOCALE_MAP 转换
|
|
132
|
+
locale: LOCALE_MAP[this.quill.lang] ?? 'en',
|
|
133
|
+
data: emojiData,
|
|
134
|
+
...options,
|
|
135
|
+
onEmojiSelect: this.handleEmojiSelect.bind(this),
|
|
136
|
+
onClickOutside: this.handleClickOutside.bind(this),
|
|
137
|
+
}
|
|
138
|
+
|
|
139
|
+
const picker = new EmojiPicker(pickerConfig) as unknown as HTMLElement
|
|
140
|
+
|
|
141
|
+
// 设置样式和属性
|
|
142
|
+
picker.id = PICKER_DOM_ID
|
|
143
|
+
picker.style.position = 'absolute'
|
|
144
|
+
picker.style.zIndex = '1000'
|
|
145
|
+
|
|
146
|
+
return picker
|
|
147
|
+
}
|
|
148
|
+
|
|
149
|
+
// 打开表情弹窗
|
|
150
|
+
public openDialog() {
|
|
151
|
+
if (this.picker) {
|
|
152
|
+
return
|
|
153
|
+
}
|
|
154
|
+
|
|
155
|
+
try {
|
|
156
|
+
this.picker = this.createPicker()
|
|
157
|
+
document.body.appendChild(this.picker)
|
|
158
|
+
|
|
159
|
+
this.updatePickerPosition()
|
|
160
|
+
this.cleanupResizeObserver = this.setupContainerResizeObserver()
|
|
161
|
+
this.isPickerVisible = true
|
|
162
|
+
}
|
|
163
|
+
catch (error) {
|
|
164
|
+
console.error('Failed to open emoji picker:', error)
|
|
165
|
+
this.closeDialog()
|
|
166
|
+
}
|
|
167
|
+
}
|
|
168
|
+
|
|
169
|
+
// 关闭表情弹窗
|
|
170
|
+
public closeDialog() {
|
|
171
|
+
if (!this.picker) {
|
|
172
|
+
return
|
|
173
|
+
}
|
|
174
|
+
|
|
175
|
+
this.isPickerVisible = false
|
|
176
|
+
this.picker.remove()
|
|
177
|
+
this.picker = null
|
|
178
|
+
|
|
179
|
+
this.cleanupResizeObserver?.()
|
|
180
|
+
this.cleanupResizeObserver = null
|
|
181
|
+
}
|
|
182
|
+
|
|
183
|
+
// 处理表情选择事件
|
|
184
|
+
private handleEmojiSelect(emoji: { native: string }) {
|
|
185
|
+
const selection = this.quill.getSelection(true)
|
|
186
|
+
if (!selection) {
|
|
187
|
+
console.warn('No selection available for emoji insertion')
|
|
188
|
+
return
|
|
189
|
+
}
|
|
190
|
+
|
|
191
|
+
try {
|
|
192
|
+
// 记录插入位置
|
|
193
|
+
const insertIndex = selection.index
|
|
194
|
+
this.quill.insertText(insertIndex, emoji.native, 'user')
|
|
195
|
+
|
|
196
|
+
this.closeDialog()
|
|
197
|
+
|
|
198
|
+
// 设置光标到表情符号后面
|
|
199
|
+
this.quill.setSelection(insertIndex + emoji.native.length)
|
|
200
|
+
}
|
|
201
|
+
catch (error) {
|
|
202
|
+
console.error('Failed to insert emoji:', error)
|
|
203
|
+
}
|
|
204
|
+
}
|
|
205
|
+
|
|
206
|
+
// 处理外部点击事件
|
|
207
|
+
private handleClickOutside(event: MouseEvent) {
|
|
208
|
+
const button = this.getEmojiButton()
|
|
209
|
+
|
|
210
|
+
const target = event.target
|
|
211
|
+
|
|
212
|
+
const isClickOnButton = target === button || (target instanceof Element && button?.contains(target))
|
|
213
|
+
|
|
214
|
+
// 如果点击的是表情符号按钮或其子元素,则不关闭选择器
|
|
215
|
+
if (isClickOnButton) {
|
|
216
|
+
return
|
|
217
|
+
}
|
|
218
|
+
|
|
219
|
+
this.closeDialog()
|
|
220
|
+
}
|
|
221
|
+
|
|
222
|
+
// 销毁模块,清理资源
|
|
223
|
+
public destroy() {
|
|
224
|
+
this.cleanupResizeObserver?.()
|
|
225
|
+
this.cleanupResizeObserver = null
|
|
226
|
+
this.closeDialog()
|
|
227
|
+
}
|
|
228
|
+
}
|
|
229
|
+
|
|
230
|
+
export { EmojiModule }
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
import type TypeEmbed from 'quill/blots/embed'
|
|
2
|
+
import Quill from 'quill'
|
|
3
|
+
import { sanitize } from '../../../config/editor.utils'
|
|
4
|
+
|
|
5
|
+
const Embed = Quill.import('blots/embed') as typeof TypeEmbed
|
|
6
|
+
const FILE_ATTRIBUTES = ['id', 'title', 'size', 'lastModified']
|
|
7
|
+
|
|
8
|
+
export interface FileValue {
|
|
9
|
+
size: number
|
|
10
|
+
src: string
|
|
11
|
+
title: string
|
|
12
|
+
}
|
|
13
|
+
export class File extends Embed {
|
|
14
|
+
static blotName = 'file'
|
|
15
|
+
static tagName = 'A'
|
|
16
|
+
static className = 'ql-file-item'
|
|
17
|
+
static PROTOCOL_WHITELIST = ['http', 'https', 'blob']
|
|
18
|
+
|
|
19
|
+
static create(value: FileValue) {
|
|
20
|
+
const node = super.create(value) as HTMLAnchorElement
|
|
21
|
+
const size = value.size / 1024
|
|
22
|
+
const fixSize = !size ? 0 : size < 1 ? 1 : size.toFixed(0)
|
|
23
|
+
node.classList.add('icon-file')
|
|
24
|
+
node.setAttribute('contenteditable', 'false')
|
|
25
|
+
const fileSvg = '<svg viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" width="16" height="16"><path d="M854.6 288.6L639.4 73.4c-6-6-14.1-9.4-22.6-9.4H192c-17.7 0-32 14.3-32 32v832c0 17.7 14.3 32 32 32h640c17.7 0 32-14.3 32-32V311.3c0-8.5-3.4-16.7-9.4-22.7zM790.2 326H602V137.8L790.2 326z m1.8 562H232V136h302v216c0 23.2 18.8 42 42 42h216v494z" p-id="2307"></path></svg>'
|
|
26
|
+
node.innerHTML = `${fileSvg} ${value.title} (${fixSize} KB)`
|
|
27
|
+
const src = this.sanitize(value.src)
|
|
28
|
+
if (src) {
|
|
29
|
+
node.href = src
|
|
30
|
+
node.target = '_blank'
|
|
31
|
+
}
|
|
32
|
+
FILE_ATTRIBUTES.forEach((key) => {
|
|
33
|
+
if (value[key]) {
|
|
34
|
+
node.dataset[key] = value[key]
|
|
35
|
+
}
|
|
36
|
+
})
|
|
37
|
+
return node
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
static value(domNode: HTMLAnchorElement) {
|
|
41
|
+
return this.getFormats(domNode)
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
static getFormats(domNode: HTMLAnchorElement) {
|
|
45
|
+
const formats: Record<string, string> = {}
|
|
46
|
+
const href = this.sanitize(domNode.href)
|
|
47
|
+
if (href) {
|
|
48
|
+
formats.src = href
|
|
49
|
+
}
|
|
50
|
+
FILE_ATTRIBUTES.forEach((key) => {
|
|
51
|
+
if (domNode.dataset[key]) {
|
|
52
|
+
formats[key] = domNode.dataset[key]
|
|
53
|
+
}
|
|
54
|
+
})
|
|
55
|
+
return formats
|
|
56
|
+
}
|
|
57
|
+
|
|
58
|
+
static sanitize(url: string) {
|
|
59
|
+
return (sanitize(url, this.PROTOCOL_WHITELIST) && url) || ''
|
|
60
|
+
}
|
|
61
|
+
}
|
|
@@ -0,0 +1,146 @@
|
|
|
1
|
+
import Quill from 'quill'
|
|
2
|
+
import { Range } from 'quill/core/selection'
|
|
3
|
+
import { unshiftString } from '../../../utils/method'
|
|
4
|
+
import { File } from '../formats/file'
|
|
5
|
+
|
|
6
|
+
const Delta = Quill.import('delta')
|
|
7
|
+
|
|
8
|
+
export class FileBar {
|
|
9
|
+
quill: any
|
|
10
|
+
file: any
|
|
11
|
+
domNode: HTMLElement
|
|
12
|
+
fileRange: any
|
|
13
|
+
template: string
|
|
14
|
+
|
|
15
|
+
constructor(quill, target) {
|
|
16
|
+
this.quill = quill
|
|
17
|
+
this.file = target
|
|
18
|
+
const fileBlot = Quill.find(target)
|
|
19
|
+
const index = this.quill.getIndex(fileBlot)
|
|
20
|
+
const [fileItem, offset] = this.quill.scroll.descendant(File, index)
|
|
21
|
+
const length = fileItem && fileItem.length()
|
|
22
|
+
this.fileRange = new Range(index - offset, length)
|
|
23
|
+
|
|
24
|
+
const timestamp = Number(this.file.dataset.lastModified)
|
|
25
|
+
const _lastModifiedDate = this.formatDate(timestamp)
|
|
26
|
+
this.template = [
|
|
27
|
+
// `<a class="ql-last-modified-date" href="${this.file.href}" target="_blank">${this.file.href}</a>`,
|
|
28
|
+
// '<span class="ql-split"></span>',
|
|
29
|
+
// `<a class="ql-file-preview"><i class="icon-preview"></i></a>`,
|
|
30
|
+
`<a class="ql-file-download"><i class="icon-download"></i></a>`,
|
|
31
|
+
'<a class="ql-file-delete"><i class="icon-delete"></i></a>',
|
|
32
|
+
].join('')
|
|
33
|
+
|
|
34
|
+
this.createFileBar()
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
createFileBar() {
|
|
38
|
+
this.domNode = document.createElement('div')
|
|
39
|
+
this.domNode.className = 'ql-file-bar'
|
|
40
|
+
this.domNode.innerHTML = this.template
|
|
41
|
+
// 查看文件
|
|
42
|
+
const filePreview = this.domNode.querySelector('a.ql-file-preview')
|
|
43
|
+
if (filePreview) {
|
|
44
|
+
filePreview.addEventListener('click', (event) => {
|
|
45
|
+
this.operateFile(event, 'view')
|
|
46
|
+
})
|
|
47
|
+
}
|
|
48
|
+
// 下载文件
|
|
49
|
+
const fileDownload = this.domNode.querySelector('a.ql-file-download')
|
|
50
|
+
if (fileDownload) {
|
|
51
|
+
fileDownload.addEventListener('click', (event) => {
|
|
52
|
+
this.operateFile(event, 'download')
|
|
53
|
+
})
|
|
54
|
+
}
|
|
55
|
+
// 删除文件
|
|
56
|
+
const fileDelete = this.domNode.querySelector('a.ql-file-delete')
|
|
57
|
+
if (fileDelete) {
|
|
58
|
+
fileDelete.addEventListener('click', (event) => {
|
|
59
|
+
this.operateFile(event, 'delete')
|
|
60
|
+
const delta = new Delta()
|
|
61
|
+
.retain(this.fileRange.index)
|
|
62
|
+
.delete(this.fileRange.length)
|
|
63
|
+
this.quill.updateContents(delta, Quill.sources.USER)
|
|
64
|
+
this.quill.setSelection(this.fileRange.index)
|
|
65
|
+
})
|
|
66
|
+
}
|
|
67
|
+
|
|
68
|
+
this.setPosition()
|
|
69
|
+
this.quill.root.parentNode.appendChild(this.domNode)
|
|
70
|
+
}
|
|
71
|
+
|
|
72
|
+
destroy() {
|
|
73
|
+
if (this.domNode) {
|
|
74
|
+
this.domNode.remove()
|
|
75
|
+
this.domNode = null
|
|
76
|
+
this.file = null
|
|
77
|
+
}
|
|
78
|
+
}
|
|
79
|
+
|
|
80
|
+
operateFile(event, operate) {
|
|
81
|
+
event.preventDefault()
|
|
82
|
+
const fileId = this.file.dataset.id || ''
|
|
83
|
+
const fileName = this.file.dataset.title || ''
|
|
84
|
+
const fileDownloadUrl = this.file.href || ''
|
|
85
|
+
if (fileId) {
|
|
86
|
+
this.quill.emitter.emit('file-change', {
|
|
87
|
+
operation: operate,
|
|
88
|
+
data: { fileId, fileDownloadUrl },
|
|
89
|
+
})
|
|
90
|
+
}
|
|
91
|
+
if (operate === 'download') {
|
|
92
|
+
const a = document.createElement('a')
|
|
93
|
+
a.href = fileDownloadUrl
|
|
94
|
+
a.target = '_blank'
|
|
95
|
+
a.id = 'exppub'
|
|
96
|
+
a.download = fileName
|
|
97
|
+
document.body.appendChild(a)
|
|
98
|
+
const alink = document.getElementById('exppub')
|
|
99
|
+
alink.click()
|
|
100
|
+
alink.parentNode.removeChild(a)
|
|
101
|
+
}
|
|
102
|
+
this.destroy()
|
|
103
|
+
}
|
|
104
|
+
|
|
105
|
+
setPosition() {
|
|
106
|
+
if (this.domNode && this.file) {
|
|
107
|
+
const parent = this.quill.root.parentNode
|
|
108
|
+
const child = this.file.querySelector('span')
|
|
109
|
+
const containerRect = parent.getBoundingClientRect()
|
|
110
|
+
const fileRect = child.getBoundingClientRect()
|
|
111
|
+
this.css(this.domNode, {
|
|
112
|
+
left: `${fileRect.left - containerRect.left}px`,
|
|
113
|
+
top: `${fileRect.top - containerRect.top + 10}px`,
|
|
114
|
+
})
|
|
115
|
+
}
|
|
116
|
+
}
|
|
117
|
+
|
|
118
|
+
css(domNode, rules) {
|
|
119
|
+
if (typeof rules === 'object') {
|
|
120
|
+
for (const prop in rules) {
|
|
121
|
+
if (prop) {
|
|
122
|
+
if (Array.isArray(rules[prop])) {
|
|
123
|
+
// 兼容IE11浏览器
|
|
124
|
+
rules[prop].forEach((val) => {
|
|
125
|
+
domNode.style[prop] = val
|
|
126
|
+
})
|
|
127
|
+
}
|
|
128
|
+
else {
|
|
129
|
+
domNode.style[prop] = rules[prop]
|
|
130
|
+
}
|
|
131
|
+
}
|
|
132
|
+
}
|
|
133
|
+
}
|
|
134
|
+
}
|
|
135
|
+
|
|
136
|
+
formatDate(timestamp) {
|
|
137
|
+
const date = new Date(timestamp)
|
|
138
|
+
const year = date.getFullYear()
|
|
139
|
+
// TODO
|
|
140
|
+
const month = unshiftString(`${date.getMonth() + 1}`, 2, '0')
|
|
141
|
+
const day = unshiftString(`${date.getDate()}`, 2, '0')
|
|
142
|
+
const hour = unshiftString(`${date.getHours()}`, 2, '0')
|
|
143
|
+
const minute = unshiftString(`${date.getMinutes()}`, 2, '0')
|
|
144
|
+
return Number.isNaN(year) ? '--' : `${year}/${month}/${day} ${hour}:${minute}`
|
|
145
|
+
}
|
|
146
|
+
}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import type FluentEditor from '../../../core/fluent-editor'
|
|
2
|
+
import Quill from 'quill'
|
|
3
|
+
import { File } from '../formats/file'
|
|
4
|
+
import { FileBar } from './file-bar'
|
|
5
|
+
|
|
6
|
+
export class FileModule {
|
|
7
|
+
fileBar: FileBar
|
|
8
|
+
|
|
9
|
+
static register() {
|
|
10
|
+
Quill.register('formats/file', File, true)
|
|
11
|
+
}
|
|
12
|
+
|
|
13
|
+
constructor(public quill: FluentEditor) {
|
|
14
|
+
this.quill = quill
|
|
15
|
+
quill.root.addEventListener('click', event => this.clickEvent(event), false)
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
clickEvent(event: MouseEvent) {
|
|
19
|
+
event.preventDefault()
|
|
20
|
+
const target = event.target as HTMLElement
|
|
21
|
+
const fileDom = target.closest('a.ql-file-item')
|
|
22
|
+
if (fileDom) {
|
|
23
|
+
if (this.fileBar) {
|
|
24
|
+
this.fileBar.destroy()
|
|
25
|
+
}
|
|
26
|
+
this.fileBar = new FileBar(this.quill, fileDom)
|
|
27
|
+
}
|
|
28
|
+
else if (this.fileBar && !target.closest('.ql-file-bar')) {
|
|
29
|
+
this.fileBar.destroy()
|
|
30
|
+
this.fileBar = null
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
}
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
import type FluentEditor from '../fluent-editor'
|
|
2
|
+
import { CHANGE_LANGUAGE_EVENT, defaultLanguage } from '../config'
|
|
3
|
+
import { isUndefined } from '../utils/is'
|
|
4
|
+
|
|
5
|
+
const langs: Record<string, Record<string, string>> = {}
|
|
6
|
+
|
|
7
|
+
export interface I18NOptions {
|
|
8
|
+
lang: string
|
|
9
|
+
}
|
|
10
|
+
export class I18N {
|
|
11
|
+
static register(inputLangs: Record<string, Record<string, string>>, isCover: boolean = true) {
|
|
12
|
+
for (const lang in inputLangs) {
|
|
13
|
+
const texts = inputLangs[lang]
|
|
14
|
+
if (isCover) {
|
|
15
|
+
langs[lang] = texts
|
|
16
|
+
}
|
|
17
|
+
else {
|
|
18
|
+
if (!langs[lang]) langs[lang] = {}
|
|
19
|
+
Object.assign(langs[lang], texts)
|
|
20
|
+
}
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
static parserText(text: string, lang: string): string {
|
|
25
|
+
const i18nPattern = /^_i18n"([^"]*)"/
|
|
26
|
+
const match = text.match(i18nPattern)
|
|
27
|
+
let key = text
|
|
28
|
+
if (match) {
|
|
29
|
+
key = match[1]
|
|
30
|
+
}
|
|
31
|
+
return langs[lang]?.[key] || key
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
options: I18NOptions = {
|
|
35
|
+
lang: '',
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
constructor(public quill: FluentEditor, options: Partial<I18NOptions>) {
|
|
39
|
+
this.options = Object.assign({}, options, this.resolveLanguageOption(options || {}))
|
|
40
|
+
// wait until all module registed
|
|
41
|
+
Promise.resolve().then(() => this.changeLanguage(this.options, true))
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
resolveLanguageOption(options: Partial<I18NOptions>): I18NOptions {
|
|
45
|
+
if (isUndefined(options.lang)) {
|
|
46
|
+
options.lang = defaultLanguage
|
|
47
|
+
}
|
|
48
|
+
if (!(options.lang in langs)) {
|
|
49
|
+
console.warn(`The language ${options.lang} is not supported. Use the default language: ${defaultLanguage}`)
|
|
50
|
+
options.lang = defaultLanguage
|
|
51
|
+
}
|
|
52
|
+
return {
|
|
53
|
+
lang: options.lang,
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
|
|
57
|
+
changeLanguage(options: Partial<I18NOptions>, force: boolean = false) {
|
|
58
|
+
const currentLang = this.options.lang
|
|
59
|
+
const langOps = this.resolveLanguageOption(options)
|
|
60
|
+
if (langOps.lang === currentLang && !force) return
|
|
61
|
+
this.options.lang = langOps.lang
|
|
62
|
+
this.quill.emitter.emit(CHANGE_LANGUAGE_EVENT, this.options.lang, langs[langOps.lang])
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
|
|
66
|
+
export default I18N
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
export * from './collaborative-editing'
|
|
2
|
+
export * from './counter'
|
|
3
|
+
export * from './custom-clipboard'
|
|
4
|
+
export * from './custom-image'
|
|
5
|
+
export * from './custom-uploader'
|
|
6
|
+
export * from './divider'
|
|
7
|
+
export * from './emoji'
|
|
8
|
+
export * from './file'
|
|
9
|
+
export * from './i18n'
|
|
10
|
+
export * from './link'
|
|
11
|
+
export * from './mathlive'
|
|
12
|
+
export * from './mention'
|
|
13
|
+
export * from './shortcut-key'
|
|
14
|
+
export * from './syntax'
|
|
15
|
+
export * from './table-up'
|
|
16
|
+
export * from './toolbar'
|