@shelamkoff/rector 1.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +21 -0
- package/NOTICE +17 -0
- package/README.md +23 -0
- package/THIRD_PARTY_LICENSES.txt +298 -0
- package/dist/I18n.d.ts +1 -0
- package/dist/core/Block.d.ts +110 -0
- package/dist/core/Block.js +390 -0
- package/dist/core/BlockAnimator.d.ts +39 -0
- package/dist/core/BlockAnimator.js +106 -0
- package/dist/core/BlockManager.d.ts +163 -0
- package/dist/core/BlockManager.js +640 -0
- package/dist/core/BlockOperations.d.ts +67 -0
- package/dist/core/BlockOperations.js +238 -0
- package/dist/core/ChangeNotifier.d.ts +15 -0
- package/dist/core/ChangeNotifier.js +55 -0
- package/dist/core/CommandDispatcher.d.ts +52 -0
- package/dist/core/CommandDispatcher.js +208 -0
- package/dist/core/CrossBlockSelection.d.ts +30 -0
- package/dist/core/CrossBlockSelection.js +74 -0
- package/dist/core/Diagnostics.d.ts +23 -0
- package/dist/core/Diagnostics.js +62 -0
- package/dist/core/DocumentSchema.d.ts +29 -0
- package/dist/core/DocumentSchema.js +147 -0
- package/dist/core/DocumentSnapshotStore.d.ts +34 -0
- package/dist/core/DocumentSnapshotStore.js +153 -0
- package/dist/core/DragManager.d.ts +17 -0
- package/dist/core/DragManager.js +223 -0
- package/dist/core/EditorFacade.d.ts +154 -0
- package/dist/core/EditorFacade.js +361 -0
- package/dist/core/EditorHolderOwnership.d.ts +12 -0
- package/dist/core/EditorHolderOwnership.js +28 -0
- package/dist/core/I18n.d.ts +147 -0
- package/dist/core/I18n.js +296 -0
- package/dist/core/InlinePatternMatcher.d.ts +26 -0
- package/dist/core/InlinePatternMatcher.js +267 -0
- package/dist/core/InlinePluginRegistry.d.ts +55 -0
- package/dist/core/InlinePluginRegistry.js +128 -0
- package/dist/core/KeyboardManager.d.ts +17 -0
- package/dist/core/KeyboardManager.js +231 -0
- package/dist/core/LifecycleScope.d.ts +19 -0
- package/dist/core/LifecycleScope.js +41 -0
- package/dist/core/MouseSelectionManager.d.ts +30 -0
- package/dist/core/MouseSelectionManager.js +307 -0
- package/dist/core/PluginOwnership.d.ts +9 -0
- package/dist/core/PluginOwnership.js +40 -0
- package/dist/core/PopupManager.d.ts +50 -0
- package/dist/core/PopupManager.js +183 -0
- package/dist/core/PreservedBlockPlugin.d.ts +11 -0
- package/dist/core/PreservedBlockPlugin.js +42 -0
- package/dist/core/PublicEditorApi.d.ts +82 -0
- package/dist/core/PublicEditorApi.js +158 -0
- package/dist/core/SelectionManager.d.ts +50 -0
- package/dist/core/SelectionManager.js +205 -0
- package/dist/core/ShortcutRegistry.d.ts +29 -0
- package/dist/core/ShortcutRegistry.js +106 -0
- package/dist/core/SlashCommands.d.ts +34 -0
- package/dist/core/SlashCommands.js +483 -0
- package/dist/core/StyleInjector.d.ts +1 -0
- package/dist/core/StyleInjector.js +1 -0
- package/dist/core/Tooltip.d.ts +17 -0
- package/dist/core/Tooltip.js +60 -0
- package/dist/core/TriggerManager.d.ts +17 -0
- package/dist/core/TriggerManager.js +159 -0
- package/dist/core/TypeSelector.d.ts +31 -0
- package/dist/core/TypeSelector.js +464 -0
- package/dist/core/UndoManager.d.ts +72 -0
- package/dist/core/UndoManager.js +383 -0
- package/dist/core/block-settings-menu/BlockActions.d.ts +81 -0
- package/dist/core/block-settings-menu/BlockActions.js +233 -0
- package/dist/core/block-settings-menu/BlockSettingsMenu.d.ts +46 -0
- package/dist/core/block-settings-menu/BlockSettingsMenu.js +205 -0
- package/dist/core/block-settings-menu/MenuBuilder.d.ts +43 -0
- package/dist/core/block-settings-menu/MenuBuilder.js +203 -0
- package/dist/core/block-settings-menu/MenuPositioner.d.ts +22 -0
- package/dist/core/block-settings-menu/MenuPositioner.js +79 -0
- package/dist/core/clipboard/Clipboard.d.ts +47 -0
- package/dist/core/clipboard/Clipboard.js +653 -0
- package/dist/core/clipboard/CrossBlockEditor.d.ts +43 -0
- package/dist/core/clipboard/CrossBlockEditor.js +198 -0
- package/dist/core/clipboard/PasteRouter.d.ts +27 -0
- package/dist/core/clipboard/PasteRouter.js +86 -0
- package/dist/core/clipboard/pasteInsert.d.ts +35 -0
- package/dist/core/clipboard/pasteInsert.js +215 -0
- package/dist/core/clipboard/pasteUtils.d.ts +25 -0
- package/dist/core/clipboard/pasteUtils.js +98 -0
- package/dist/core/config.d.ts +77 -0
- package/dist/core/config.js +100 -0
- package/dist/core/constants.d.ts +23 -0
- package/dist/core/constants.js +30 -0
- package/dist/core/crossBlockConvert.d.ts +38 -0
- package/dist/core/crossBlockConvert.js +253 -0
- package/dist/core/dom.d.ts +35 -0
- package/dist/core/dom.js +65 -0
- package/dist/core/editorEvents.d.ts +89 -0
- package/dist/core/editorEvents.js +60 -0
- package/dist/core/hydrateInlinePlugins.d.ts +9 -0
- package/dist/core/hydrateInlinePlugins.js +36 -0
- package/dist/core/icons.d.ts +10 -0
- package/dist/core/icons.js +21 -0
- package/dist/core/index.d.ts +59 -0
- package/dist/core/index.js +703 -0
- package/dist/core/inline-toolbar/ActionsPanel.d.ts +61 -0
- package/dist/core/inline-toolbar/ActionsPanel.js +132 -0
- package/dist/core/inline-toolbar/InlinePositioner.d.ts +20 -0
- package/dist/core/inline-toolbar/InlinePositioner.js +63 -0
- package/dist/core/inline-toolbar/InlineToolbar.d.ts +45 -0
- package/dist/core/inline-toolbar/InlineToolbar.js +456 -0
- package/dist/core/inline-toolbar/PluginControlsSlot.d.ts +52 -0
- package/dist/core/inline-toolbar/PluginControlsSlot.js +118 -0
- package/dist/core/inline-toolbar/SelectionTracker.d.ts +63 -0
- package/dist/core/inline-toolbar/SelectionTracker.js +173 -0
- package/dist/core/inlinePluginInsert.d.ts +13 -0
- package/dist/core/inlinePluginInsert.js +56 -0
- package/dist/core/locale/en.d.ts +35 -0
- package/dist/core/locale/en.js +37 -0
- package/dist/core/locale/ru.d.ts +35 -0
- package/dist/core/locale/ru.js +37 -0
- package/dist/core/menuKeyboardNav.d.ts +15 -0
- package/dist/core/menuKeyboardNav.js +52 -0
- package/dist/core/sanitize.d.ts +2 -0
- package/dist/core/sanitize.js +6 -0
- package/dist/core/splitConvert.d.ts +46 -0
- package/dist/core/splitConvert.js +190 -0
- package/dist/core/textOffset.d.ts +46 -0
- package/dist/core/textOffset.js +180 -0
- package/dist/core/themes/dark.css +30 -0
- package/dist/core/themes/light.css +33 -0
- package/dist/core/themes/variables.css +1170 -0
- package/dist/core/toolbar/OffcanvasRoot.d.ts +37 -0
- package/dist/core/toolbar/OffcanvasRoot.js +127 -0
- package/dist/core/toolbar/Toolbar.d.ts +70 -0
- package/dist/core/toolbar/Toolbar.js +432 -0
- package/dist/core/toolbar/ToolbarPositioner.d.ts +60 -0
- package/dist/core/toolbar/ToolbarPositioner.js +188 -0
- package/dist/core/toolbar/ToolboxBuilder.d.ts +44 -0
- package/dist/core/toolbar/ToolboxBuilder.js +260 -0
- package/dist/core/types.d.ts +747 -0
- package/dist/core/uid.d.ts +6 -0
- package/dist/core/uid.js +29 -0
- package/dist/index.d.ts +2 -0
- package/dist/index.js +1 -0
- package/dist/inline-plugins/README.md +35 -0
- package/dist/inline-plugins/README.ru.md +35 -0
- package/dist/inline-plugins/color/README.md +61 -0
- package/dist/inline-plugins/color/README.ru.md +61 -0
- package/dist/inline-plugins/color.d.ts +8 -0
- package/dist/inline-plugins/color.js +184 -0
- package/dist/inline-plugins/locale/en.d.ts +7 -0
- package/dist/inline-plugins/locale/en.js +6 -0
- package/dist/inline-plugins/locale/ru.d.ts +7 -0
- package/dist/inline-plugins/locale/ru.js +6 -0
- package/dist/inline-plugins/mention/README.md +97 -0
- package/dist/inline-plugins/mention/README.ru.md +97 -0
- package/dist/inline-plugins/mention/index.d.ts +110 -0
- package/dist/inline-plugins/mention/index.js +1897 -0
- package/dist/inline-plugins/mention/styles.css +183 -0
- package/dist/inline-plugins/mention/widget.d.ts +16 -0
- package/dist/inline-plugins/mention/widget.js +75 -0
- package/dist/inline-tools/align.d.ts +14 -0
- package/dist/inline-tools/align.js +120 -0
- package/dist/inline-tools/bold.d.ts +8 -0
- package/dist/inline-tools/bold.js +12 -0
- package/dist/inline-tools/caseTransform.d.ts +8 -0
- package/dist/inline-tools/caseTransform.js +87 -0
- package/dist/inline-tools/clearFormatting.d.ts +8 -0
- package/dist/inline-tools/clearFormatting.js +74 -0
- package/dist/inline-tools/code.d.ts +8 -0
- package/dist/inline-tools/code.js +12 -0
- package/dist/inline-tools/colorPicker.d.ts +7 -0
- package/dist/inline-tools/colorPicker.js +271 -0
- package/dist/inline-tools/defaults.d.ts +10 -0
- package/dist/inline-tools/defaults.js +57 -0
- package/dist/inline-tools/fontSize.d.ts +7 -0
- package/dist/inline-tools/fontSize.js +524 -0
- package/dist/inline-tools/italic.d.ts +8 -0
- package/dist/inline-tools/italic.js +12 -0
- package/dist/inline-tools/link.d.ts +12 -0
- package/dist/inline-tools/link.js +251 -0
- package/dist/inline-tools/marker.d.ts +8 -0
- package/dist/inline-tools/marker.js +12 -0
- package/dist/inline-tools/scriptTool.d.ts +11 -0
- package/dist/inline-tools/scriptTool.js +149 -0
- package/dist/inline-tools/strikethrough.d.ts +8 -0
- package/dist/inline-tools/strikethrough.js +12 -0
- package/dist/inline-tools/utils.d.ts +220 -0
- package/dist/inline-tools/utils.js +992 -0
- package/dist/locale/en.d.ts +311 -0
- package/dist/locale/en.js +52 -0
- package/dist/locale/ru.d.ts +315 -0
- package/dist/locale/ru.js +52 -0
- package/dist/plugins/BlockPluginAbstract.d.ts +82 -0
- package/dist/plugins/BlockPluginAbstract.js +111 -0
- package/dist/plugins/README.md +44 -0
- package/dist/plugins/README.ru.md +40 -0
- package/dist/plugins/async.d.ts +35 -0
- package/dist/plugins/async.js +79 -0
- package/dist/plugins/attaches/README.md +86 -0
- package/dist/plugins/attaches/README.ru.md +87 -0
- package/dist/plugins/attaches/attaches.css +374 -0
- package/dist/plugins/attaches/index.d.ts +133 -0
- package/dist/plugins/attaches/index.js +921 -0
- package/dist/plugins/attaches/locale/en.d.ts +23 -0
- package/dist/plugins/attaches/locale/en.js +19 -0
- package/dist/plugins/attaches/locale/keys.d.ts +5 -0
- package/dist/plugins/attaches/locale/ru.d.ts +25 -0
- package/dist/plugins/attaches/locale/ru.js +19 -0
- package/dist/plugins/carousel/README.md +108 -0
- package/dist/plugins/carousel/README.ru.md +109 -0
- package/dist/plugins/carousel/carousel.css +198 -0
- package/dist/plugins/carousel/icons.d.ts +12 -0
- package/dist/plugins/carousel/icons.js +13 -0
- package/dist/plugins/carousel/index.d.ts +137 -0
- package/dist/plugins/carousel/index.js +859 -0
- package/dist/plugins/carousel/locale/en.d.ts +41 -0
- package/dist/plugins/carousel/locale/en.js +40 -0
- package/dist/plugins/carousel/locale/keys.d.ts +2 -0
- package/dist/plugins/carousel/locale/ru.d.ts +41 -0
- package/dist/plugins/carousel/locale/ru.js +40 -0
- package/dist/plugins/carousel/state.d.ts +29 -0
- package/dist/plugins/carousel/state.js +42 -0
- package/dist/plugins/checklist/README.md +54 -0
- package/dist/plugins/checklist/README.ru.md +55 -0
- package/dist/plugins/checklist/checklist.css +80 -0
- package/dist/plugins/checklist/index.d.ts +75 -0
- package/dist/plugins/checklist/index.js +407 -0
- package/dist/plugins/checklist/locale/en.d.ts +5 -0
- package/dist/plugins/checklist/locale/en.js +4 -0
- package/dist/plugins/checklist/locale/keys.d.ts +5 -0
- package/dist/plugins/checklist/locale/ru.d.ts +5 -0
- package/dist/plugins/checklist/locale/ru.js +4 -0
- package/dist/plugins/checklist/mapTextFields.d.ts +1 -0
- package/dist/plugins/checklist/mapTextFields.js +1 -0
- package/dist/plugins/code/README.md +59 -0
- package/dist/plugins/code/README.ru.md +60 -0
- package/dist/plugins/code/code.css +360 -0
- package/dist/plugins/code/index.d.ts +109 -0
- package/dist/plugins/code/index.js +1012 -0
- package/dist/plugins/code/locale/en.d.ts +11 -0
- package/dist/plugins/code/locale/en.js +10 -0
- package/dist/plugins/code/locale/keys.d.ts +5 -0
- package/dist/plugins/code/locale/ru.d.ts +11 -0
- package/dist/plugins/code/locale/ru.js +10 -0
- package/dist/plugins/columns/README.md +55 -0
- package/dist/plugins/columns/README.ru.md +56 -0
- package/dist/plugins/columns/columns.css +103 -0
- package/dist/plugins/columns/index.d.ts +58 -0
- package/dist/plugins/columns/index.js +236 -0
- package/dist/plugins/columns/locale/en.d.ts +6 -0
- package/dist/plugins/columns/locale/en.js +5 -0
- package/dist/plugins/columns/locale/keys.d.ts +5 -0
- package/dist/plugins/columns/locale/ru.d.ts +6 -0
- package/dist/plugins/columns/locale/ru.js +5 -0
- package/dist/plugins/delimiter/README.md +48 -0
- package/dist/plugins/delimiter/README.ru.md +49 -0
- package/dist/plugins/delimiter/delimiter.css +22 -0
- package/dist/plugins/delimiter/index.d.ts +38 -0
- package/dist/plugins/delimiter/index.js +69 -0
- package/dist/plugins/delimiter/locale/en.d.ts +4 -0
- package/dist/plugins/delimiter/locale/en.js +3 -0
- package/dist/plugins/delimiter/locale/keys.d.ts +5 -0
- package/dist/plugins/delimiter/locale/ru.d.ts +4 -0
- package/dist/plugins/delimiter/locale/ru.js +3 -0
- package/dist/plugins/embed/README.md +81 -0
- package/dist/plugins/embed/README.ru.md +82 -0
- package/dist/plugins/embed/embed.css +558 -0
- package/dist/plugins/embed/index.d.ts +271 -0
- package/dist/plugins/embed/index.js +967 -0
- package/dist/plugins/embed/locale/en.d.ts +20 -0
- package/dist/plugins/embed/locale/en.js +19 -0
- package/dist/plugins/embed/locale/keys.d.ts +5 -0
- package/dist/plugins/embed/locale/ru.d.ts +20 -0
- package/dist/plugins/embed/locale/ru.js +19 -0
- package/dist/plugins/embed/player.d.ts +1 -0
- package/dist/plugins/embed/player.js +1 -0
- package/dist/plugins/gallery/README.md +92 -0
- package/dist/plugins/gallery/README.ru.md +93 -0
- package/dist/plugins/gallery/css.d.ts +52 -0
- package/dist/plugins/gallery/css.js +67 -0
- package/dist/plugins/gallery/gallery.css +860 -0
- package/dist/plugins/gallery/icons.d.ts +13 -0
- package/dist/plugins/gallery/icons.js +45 -0
- package/dist/plugins/gallery/index.d.ts +126 -0
- package/dist/plugins/gallery/index.js +355 -0
- package/dist/plugins/gallery/layout.d.ts +35 -0
- package/dist/plugins/gallery/layout.js +79 -0
- package/dist/plugins/gallery/locale/en.d.ts +36 -0
- package/dist/plugins/gallery/locale/en.js +35 -0
- package/dist/plugins/gallery/locale/keys.d.ts +5 -0
- package/dist/plugins/gallery/locale/ru.d.ts +36 -0
- package/dist/plugins/gallery/locale/ru.js +35 -0
- package/dist/plugins/gallery/settings.d.ts +25 -0
- package/dist/plugins/gallery/settings.js +199 -0
- package/dist/plugins/gallery/slot.d.ts +73 -0
- package/dist/plugins/gallery/slot.js +260 -0
- package/dist/plugins/gallery/state.d.ts +67 -0
- package/dist/plugins/gallery/state.js +133 -0
- package/dist/plugins/gallery/styles.d.ts +10 -0
- package/dist/plugins/gallery/styles.js +24 -0
- package/dist/plugins/gallery/uploader.d.ts +31 -0
- package/dist/plugins/gallery/uploader.js +111 -0
- package/dist/plugins/gallery/view-empty.d.ts +41 -0
- package/dist/plugins/gallery/view-empty.js +56 -0
- package/dist/plugins/gallery/view-filled.d.ts +55 -0
- package/dist/plugins/gallery/view-filled.js +353 -0
- package/dist/plugins/heading/HeadingLevelSelect.d.ts +16 -0
- package/dist/plugins/heading/HeadingLevelSelect.js +183 -0
- package/dist/plugins/heading/README.md +58 -0
- package/dist/plugins/heading/README.ru.md +59 -0
- package/dist/plugins/heading/heading.css +76 -0
- package/dist/plugins/heading/index.d.ts +124 -0
- package/dist/plugins/heading/index.js +273 -0
- package/dist/plugins/heading/locale/en.d.ts +11 -0
- package/dist/plugins/heading/locale/en.js +10 -0
- package/dist/plugins/heading/locale/keys.d.ts +5 -0
- package/dist/plugins/heading/locale/ru.d.ts +11 -0
- package/dist/plugins/heading/locale/ru.js +10 -0
- package/dist/plugins/heading/mapTextFields.d.ts +1 -0
- package/dist/plugins/heading/mapTextFields.js +1 -0
- package/dist/plugins/image/README.md +93 -0
- package/dist/plugins/image/README.ru.md +94 -0
- package/dist/plugins/image/css.d.ts +47 -0
- package/dist/plugins/image/css.js +47 -0
- package/dist/plugins/image/icons.d.ts +13 -0
- package/dist/plugins/image/icons.js +26 -0
- package/dist/plugins/image/image.css +559 -0
- package/dist/plugins/image/index.d.ts +129 -0
- package/dist/plugins/image/index.js +346 -0
- package/dist/plugins/image/locale/en.d.ts +39 -0
- package/dist/plugins/image/locale/en.js +38 -0
- package/dist/plugins/image/locale/keys.d.ts +5 -0
- package/dist/plugins/image/locale/ru.d.ts +39 -0
- package/dist/plugins/image/locale/ru.js +38 -0
- package/dist/plugins/image/settings.d.ts +23 -0
- package/dist/plugins/image/settings.js +347 -0
- package/dist/plugins/image/state.d.ts +86 -0
- package/dist/plugins/image/state.js +151 -0
- package/dist/plugins/image/styles.d.ts +21 -0
- package/dist/plugins/image/styles.js +58 -0
- package/dist/plugins/image/uploader.d.ts +31 -0
- package/dist/plugins/image/uploader.js +92 -0
- package/dist/plugins/image/view-empty.d.ts +44 -0
- package/dist/plugins/image/view-empty.js +61 -0
- package/dist/plugins/image/view-filled.d.ts +49 -0
- package/dist/plugins/image/view-filled.js +282 -0
- package/dist/plugins/index.d.ts +21 -0
- package/dist/plugins/index.js +22 -0
- package/dist/plugins/link-preview/README.md +69 -0
- package/dist/plugins/link-preview/README.ru.md +70 -0
- package/dist/plugins/link-preview/index.d.ts +169 -0
- package/dist/plugins/link-preview/index.js +698 -0
- package/dist/plugins/link-preview/link-preview.css +254 -0
- package/dist/plugins/link-preview/locale/en.d.ts +14 -0
- package/dist/plugins/link-preview/locale/en.js +13 -0
- package/dist/plugins/link-preview/locale/keys.d.ts +5 -0
- package/dist/plugins/link-preview/locale/ru.d.ts +14 -0
- package/dist/plugins/link-preview/locale/ru.js +13 -0
- package/dist/plugins/list/README.md +59 -0
- package/dist/plugins/list/README.ru.md +60 -0
- package/dist/plugins/list/index.d.ts +134 -0
- package/dist/plugins/list/index.js +566 -0
- package/dist/plugins/list/list.css +57 -0
- package/dist/plugins/list/locale/en.d.ts +5 -0
- package/dist/plugins/list/locale/en.js +4 -0
- package/dist/plugins/list/locale/keys.d.ts +5 -0
- package/dist/plugins/list/locale/ru.d.ts +5 -0
- package/dist/plugins/list/locale/ru.js +4 -0
- package/dist/plugins/list/mapTextFields.d.ts +1 -0
- package/dist/plugins/list/mapTextFields.js +1 -0
- package/dist/plugins/paragraph/README.md +57 -0
- package/dist/plugins/paragraph/README.ru.md +58 -0
- package/dist/plugins/paragraph/index.d.ts +112 -0
- package/dist/plugins/paragraph/index.js +158 -0
- package/dist/plugins/paragraph/locale/en.d.ts +5 -0
- package/dist/plugins/paragraph/locale/en.js +4 -0
- package/dist/plugins/paragraph/locale/keys.d.ts +5 -0
- package/dist/plugins/paragraph/locale/ru.d.ts +5 -0
- package/dist/plugins/paragraph/locale/ru.js +4 -0
- package/dist/plugins/paragraph/mapTextFields.d.ts +1 -0
- package/dist/plugins/paragraph/mapTextFields.js +1 -0
- package/dist/plugins/paragraph/paragraph.css +56 -0
- package/dist/plugins/person/README.md +72 -0
- package/dist/plugins/person/README.ru.md +73 -0
- package/dist/plugins/person/index.d.ts +189 -0
- package/dist/plugins/person/index.js +777 -0
- package/dist/plugins/person/locale/en.d.ts +18 -0
- package/dist/plugins/person/locale/en.js +17 -0
- package/dist/plugins/person/locale/keys.d.ts +5 -0
- package/dist/plugins/person/locale/ru.d.ts +18 -0
- package/dist/plugins/person/locale/ru.js +17 -0
- package/dist/plugins/person/person.css +431 -0
- package/dist/plugins/person/socialResolver.d.ts +18 -0
- package/dist/plugins/person/socialResolver.js +69 -0
- package/dist/plugins/poll/README.md +96 -0
- package/dist/plugins/poll/README.ru.md +97 -0
- package/dist/plugins/poll/index.d.ts +134 -0
- package/dist/plugins/poll/index.js +825 -0
- package/dist/plugins/poll/locale/en.d.ts +23 -0
- package/dist/plugins/poll/locale/en.js +22 -0
- package/dist/plugins/poll/locale/keys.d.ts +5 -0
- package/dist/plugins/poll/locale/ru.d.ts +23 -0
- package/dist/plugins/poll/locale/ru.js +22 -0
- package/dist/plugins/poll/poll.css +400 -0
- package/dist/plugins/quote/README.md +55 -0
- package/dist/plugins/quote/README.ru.md +56 -0
- package/dist/plugins/quote/index.d.ts +81 -0
- package/dist/plugins/quote/index.js +165 -0
- package/dist/plugins/quote/locale/en.d.ts +6 -0
- package/dist/plugins/quote/locale/en.js +5 -0
- package/dist/plugins/quote/locale/keys.d.ts +5 -0
- package/dist/plugins/quote/locale/ru.d.ts +6 -0
- package/dist/plugins/quote/locale/ru.js +5 -0
- package/dist/plugins/quote/mapTextFields.d.ts +1 -0
- package/dist/plugins/quote/mapTextFields.js +1 -0
- package/dist/plugins/quote/quote.css +72 -0
- package/dist/plugins/raw/README.md +54 -0
- package/dist/plugins/raw/README.ru.md +55 -0
- package/dist/plugins/raw/index.d.ts +62 -0
- package/dist/plugins/raw/index.js +227 -0
- package/dist/plugins/raw/locale/en.d.ts +7 -0
- package/dist/plugins/raw/locale/en.js +6 -0
- package/dist/plugins/raw/locale/keys.d.ts +5 -0
- package/dist/plugins/raw/locale/ru.d.ts +7 -0
- package/dist/plugins/raw/locale/ru.js +6 -0
- package/dist/plugins/raw/raw.css +127 -0
- package/dist/plugins/shared/actionBar.d.ts +19 -0
- package/dist/plugins/shared/actionBar.js +35 -0
- package/dist/plugins/shared/dropzone.d.ts +106 -0
- package/dist/plugins/shared/dropzone.js +107 -0
- package/dist/plugins/shared/fileInput.d.ts +44 -0
- package/dist/plugins/shared/fileInput.js +62 -0
- package/dist/plugins/spoiler/README.md +55 -0
- package/dist/plugins/spoiler/README.ru.md +56 -0
- package/dist/plugins/spoiler/index.d.ts +61 -0
- package/dist/plugins/spoiler/index.js +169 -0
- package/dist/plugins/spoiler/locale/en.d.ts +7 -0
- package/dist/plugins/spoiler/locale/en.js +6 -0
- package/dist/plugins/spoiler/locale/keys.d.ts +5 -0
- package/dist/plugins/spoiler/locale/ru.d.ts +7 -0
- package/dist/plugins/spoiler/locale/ru.js +6 -0
- package/dist/plugins/spoiler/spoiler.css +101 -0
- package/dist/plugins/table/README.md +55 -0
- package/dist/plugins/table/README.ru.md +56 -0
- package/dist/plugins/table/index.d.ts +85 -0
- package/dist/plugins/table/index.js +399 -0
- package/dist/plugins/table/locale/en.d.ts +9 -0
- package/dist/plugins/table/locale/en.js +8 -0
- package/dist/plugins/table/locale/keys.d.ts +5 -0
- package/dist/plugins/table/locale/ru.d.ts +9 -0
- package/dist/plugins/table/locale/ru.js +8 -0
- package/dist/plugins/table/table.css +58 -0
- package/dist/plugins/toggle/README.md +56 -0
- package/dist/plugins/toggle/README.ru.md +57 -0
- package/dist/plugins/toggle/index.d.ts +69 -0
- package/dist/plugins/toggle/index.js +191 -0
- package/dist/plugins/toggle/locale/en.d.ts +7 -0
- package/dist/plugins/toggle/locale/en.js +6 -0
- package/dist/plugins/toggle/locale/keys.d.ts +5 -0
- package/dist/plugins/toggle/locale/ru.d.ts +7 -0
- package/dist/plugins/toggle/locale/ru.js +6 -0
- package/dist/plugins/toggle/toggle.css +101 -0
- package/dist/plugins/warning/README.md +55 -0
- package/dist/plugins/warning/README.ru.md +56 -0
- package/dist/plugins/warning/index.d.ts +66 -0
- package/dist/plugins/warning/index.js +167 -0
- package/dist/plugins/warning/locale/en.d.ts +6 -0
- package/dist/plugins/warning/locale/en.js +5 -0
- package/dist/plugins/warning/locale/keys.d.ts +5 -0
- package/dist/plugins/warning/locale/ru.d.ts +6 -0
- package/dist/plugins/warning/locale/ru.js +5 -0
- package/dist/plugins/warning/warning.css +63 -0
- package/dist/renderer/async.d.ts +1 -0
- package/dist/renderer/async.js +7 -0
- package/dist/renderer/errors.d.ts +27 -0
- package/dist/renderer/errors.js +48 -0
- package/dist/renderer/index.d.ts +82 -0
- package/dist/renderer/index.js +413 -0
- package/dist/renderer/inline.d.ts +5 -0
- package/dist/renderer/inline.js +61 -0
- package/dist/renderer/locale/en.d.ts +35 -0
- package/dist/renderer/locale/en.js +29 -0
- package/dist/renderer/locale/ru.d.ts +37 -0
- package/dist/renderer/locale/ru.js +29 -0
- package/dist/renderer/renderers/README.md +7 -0
- package/dist/renderer/renderers/README.ru.md +5 -0
- package/dist/renderer/renderers/async.d.ts +51 -0
- package/dist/renderer/renderers/async.js +99 -0
- package/dist/renderer/renderers/attaches/README.md +48 -0
- package/dist/renderer/renderers/attaches/README.ru.md +48 -0
- package/dist/renderer/renderers/attaches/index.d.ts +37 -0
- package/dist/renderer/renderers/attaches/index.js +451 -0
- package/dist/renderer/renderers/attaches/locale/en.d.ts +11 -0
- package/dist/renderer/renderers/attaches/locale/en.js +7 -0
- package/dist/renderer/renderers/attaches/locale/ru.d.ts +13 -0
- package/dist/renderer/renderers/attaches/locale/ru.js +7 -0
- package/dist/renderer/renderers/attaches/styles.css +196 -0
- package/dist/renderer/renderers/carousel/README.md +43 -0
- package/dist/renderer/renderers/carousel/README.ru.md +43 -0
- package/dist/renderer/renderers/carousel/index.d.ts +7 -0
- package/dist/renderer/renderers/carousel/index.js +110 -0
- package/dist/renderer/renderers/carousel/styles.css +7 -0
- package/dist/renderer/renderers/checklist/README.md +33 -0
- package/dist/renderer/renderers/checklist/README.ru.md +33 -0
- package/dist/renderer/renderers/checklist/index.d.ts +7 -0
- package/dist/renderer/renderers/checklist/index.js +55 -0
- package/dist/renderer/renderers/checklist/styles.css +54 -0
- package/dist/renderer/renderers/code/README.md +33 -0
- package/dist/renderer/renderers/code/README.ru.md +33 -0
- package/dist/renderer/renderers/code/index.d.ts +9 -0
- package/dist/renderer/renderers/code/index.js +137 -0
- package/dist/renderer/renderers/code/locale/en.d.ts +5 -0
- package/dist/renderer/renderers/code/locale/en.js +4 -0
- package/dist/renderer/renderers/code/locale/ru.d.ts +5 -0
- package/dist/renderer/renderers/code/locale/ru.js +4 -0
- package/dist/renderer/renderers/code/styles.css +330 -0
- package/dist/renderer/renderers/columns/README.md +33 -0
- package/dist/renderer/renderers/columns/README.ru.md +33 -0
- package/dist/renderer/renderers/columns/index.d.ts +7 -0
- package/dist/renderer/renderers/columns/index.js +53 -0
- package/dist/renderer/renderers/columns/styles.css +5 -0
- package/dist/renderer/renderers/delimiter/README.md +33 -0
- package/dist/renderer/renderers/delimiter/README.ru.md +33 -0
- package/dist/renderer/renderers/delimiter/index.d.ts +7 -0
- package/dist/renderer/renderers/delimiter/index.js +28 -0
- package/dist/renderer/renderers/delimiter/styles.css +12 -0
- package/dist/renderer/renderers/embed/README.md +35 -0
- package/dist/renderer/renderers/embed/README.ru.md +35 -0
- package/dist/renderer/renderers/embed/index.d.ts +8 -0
- package/dist/renderer/renderers/embed/index.js +66 -0
- package/dist/renderer/renderers/embed/styles.css +217 -0
- package/dist/renderer/renderers/gallery/README.md +41 -0
- package/dist/renderer/renderers/gallery/README.ru.md +41 -0
- package/dist/renderer/renderers/gallery/index.d.ts +8 -0
- package/dist/renderer/renderers/gallery/index.js +329 -0
- package/dist/renderer/renderers/gallery/styles.css +419 -0
- package/dist/renderer/renderers/heading/README.md +33 -0
- package/dist/renderer/renderers/heading/README.ru.md +33 -0
- package/dist/renderer/renderers/heading/index.d.ts +8 -0
- package/dist/renderer/renderers/heading/index.js +38 -0
- package/dist/renderer/renderers/heading/styles.css +26 -0
- package/dist/renderer/renderers/image/README.md +42 -0
- package/dist/renderer/renderers/image/README.ru.md +42 -0
- package/dist/renderer/renderers/image/index.d.ts +7 -0
- package/dist/renderer/renderers/image/index.js +93 -0
- package/dist/renderer/renderers/image/styles.css +40 -0
- package/dist/renderer/renderers/index.d.ts +47 -0
- package/dist/renderer/renderers/index.js +125 -0
- package/dist/renderer/renderers/link-preview/README.md +43 -0
- package/dist/renderer/renderers/link-preview/README.ru.md +43 -0
- package/dist/renderer/renderers/link-preview/index.d.ts +9 -0
- package/dist/renderer/renderers/link-preview/index.js +118 -0
- package/dist/renderer/renderers/link-preview/styles.css +246 -0
- package/dist/renderer/renderers/list/README.md +33 -0
- package/dist/renderer/renderers/list/README.ru.md +33 -0
- package/dist/renderer/renderers/list/index.d.ts +8 -0
- package/dist/renderer/renderers/list/index.js +42 -0
- package/dist/renderer/renderers/list/styles.css +20 -0
- package/dist/renderer/renderers/paragraph/README.md +33 -0
- package/dist/renderer/renderers/paragraph/README.ru.md +33 -0
- package/dist/renderer/renderers/paragraph/index.d.ts +7 -0
- package/dist/renderer/renderers/paragraph/index.js +35 -0
- package/dist/renderer/renderers/paragraph/styles.css +3 -0
- package/dist/renderer/renderers/person/README.md +44 -0
- package/dist/renderer/renderers/person/README.ru.md +44 -0
- package/dist/renderer/renderers/person/index.d.ts +7 -0
- package/dist/renderer/renderers/person/index.js +213 -0
- package/dist/renderer/renderers/person/locale/en.d.ts +6 -0
- package/dist/renderer/renderers/person/locale/en.js +5 -0
- package/dist/renderer/renderers/person/locale/ru.d.ts +6 -0
- package/dist/renderer/renderers/person/locale/ru.js +5 -0
- package/dist/renderer/renderers/person/styles.css +47 -0
- package/dist/renderer/renderers/poll/README.md +68 -0
- package/dist/renderer/renderers/poll/README.ru.md +68 -0
- package/dist/renderer/renderers/poll/index.d.ts +9 -0
- package/dist/renderer/renderers/poll/index.js +339 -0
- package/dist/renderer/renderers/poll/styles.css +148 -0
- package/dist/renderer/renderers/quote/README.md +33 -0
- package/dist/renderer/renderers/quote/README.ru.md +33 -0
- package/dist/renderer/renderers/quote/index.d.ts +7 -0
- package/dist/renderer/renderers/quote/index.js +59 -0
- package/dist/renderer/renderers/quote/styles.css +43 -0
- package/dist/renderer/renderers/raw/README.md +33 -0
- package/dist/renderer/renderers/raw/README.ru.md +33 -0
- package/dist/renderer/renderers/raw/index.d.ts +7 -0
- package/dist/renderer/renderers/raw/index.js +27 -0
- package/dist/renderer/renderers/spoiler/README.md +33 -0
- package/dist/renderer/renderers/spoiler/README.ru.md +33 -0
- package/dist/renderer/renderers/spoiler/index.d.ts +9 -0
- package/dist/renderer/renderers/spoiler/index.js +84 -0
- package/dist/renderer/renderers/spoiler/locale/en.d.ts +4 -0
- package/dist/renderer/renderers/spoiler/locale/en.js +3 -0
- package/dist/renderer/renderers/spoiler/locale/ru.d.ts +4 -0
- package/dist/renderer/renderers/spoiler/locale/ru.js +3 -0
- package/dist/renderer/renderers/spoiler/styles.css +61 -0
- package/dist/renderer/renderers/table/README.md +33 -0
- package/dist/renderer/renderers/table/README.ru.md +33 -0
- package/dist/renderer/renderers/table/index.d.ts +7 -0
- package/dist/renderer/renderers/table/index.js +83 -0
- package/dist/renderer/renderers/table/styles.css +34 -0
- package/dist/renderer/renderers/toggle/README.md +33 -0
- package/dist/renderer/renderers/toggle/README.ru.md +33 -0
- package/dist/renderer/renderers/toggle/index.d.ts +7 -0
- package/dist/renderer/renderers/toggle/index.js +59 -0
- package/dist/renderer/renderers/toggle/styles.css +49 -0
- package/dist/renderer/renderers/warning/README.md +33 -0
- package/dist/renderer/renderers/warning/README.ru.md +33 -0
- package/dist/renderer/renderers/warning/index.d.ts +7 -0
- package/dist/renderer/renderers/warning/index.js +62 -0
- package/dist/renderer/renderers/warning/styles.css +41 -0
- package/dist/renderer/styles/base.css +168 -0
- package/dist/renderer/types.d.ts +464 -0
- package/dist/shared/blockDataNormalizers.d.ts +14 -0
- package/dist/shared/blockDataNormalizers.js +235 -0
- package/dist/shared/blockDataValidators.d.ts +81 -0
- package/dist/shared/blockDataValidators.js +313 -0
- package/dist/shared/blockTypes.d.ts +2 -0
- package/dist/shared/blockTypes.js +26 -0
- package/dist/shared/carouselData.d.ts +34 -0
- package/dist/shared/carouselData.js +111 -0
- package/dist/shared/cloneEditorData.d.ts +11 -0
- package/dist/shared/cloneEditorData.js +20 -0
- package/dist/shared/documentTypes.d.ts +35 -0
- package/dist/shared/embedPlayer.d.ts +42 -0
- package/dist/shared/embedPlayer.js +141 -0
- package/dist/shared/fileUtils.d.ts +33 -0
- package/dist/shared/fileUtils.js +109 -0
- package/dist/shared/highlightRuntime.d.ts +38 -0
- package/dist/shared/highlightRuntime.js +75 -0
- package/dist/shared/inlineMarshal.d.ts +82 -0
- package/dist/shared/inlineMarshal.js +215 -0
- package/dist/shared/jsonData.d.ts +11 -0
- package/dist/shared/jsonData.js +53 -0
- package/dist/shared/localeTypes.d.ts +11 -0
- package/dist/shared/mapTextFields.d.ts +89 -0
- package/dist/shared/mapTextFields.js +119 -0
- package/dist/shared/pollData.d.ts +90 -0
- package/dist/shared/pollData.js +231 -0
- package/dist/shared/resolvePath.d.ts +8 -0
- package/dist/shared/resolvePath.js +10 -0
- package/dist/shared/runtime/dompurify.js +2424 -0
- package/dist/shared/runtime/highlightBundle.js +10 -0
- package/dist/shared/runtime/jszip.js +13 -0
- package/dist/shared/sanitize/allowlist.d.ts +21 -0
- package/dist/shared/sanitize/allowlist.js +40 -0
- package/dist/shared/sanitize/escapeHtml.d.ts +6 -0
- package/dist/shared/sanitize/escapeHtml.js +11 -0
- package/dist/shared/sanitize/index.d.ts +8 -0
- package/dist/shared/sanitize/index.js +8 -0
- package/dist/shared/sanitize/parseInline.d.ts +11 -0
- package/dist/shared/sanitize/parseInline.js +25 -0
- package/dist/shared/sanitize/sanitizeHtml.d.ts +8 -0
- package/dist/shared/sanitize/sanitizeHtml.js +19 -0
- package/dist/shared/sanitize/sanitizeRawHtml.d.ts +15 -0
- package/dist/shared/sanitize/sanitizeRawHtml.js +162 -0
- package/dist/shared/sanitize/sanitizeStyle.d.ts +9 -0
- package/dist/shared/sanitize/sanitizeStyle.js +39 -0
- package/dist/shared/sanitize/sanitizeUrl.d.ts +28 -0
- package/dist/shared/sanitize/sanitizeUrl.js +86 -0
- package/dist/shared/sanitize/walker.d.ts +15 -0
- package/dist/shared/sanitize/walker.js +98 -0
- package/dist/shared/styleRegistry.d.ts +4 -0
- package/dist/shared/styleRegistry.js +38 -0
- package/dist/shared/textFormat.d.ts +32 -0
- package/dist/shared/textFormat.js +48 -0
- package/dist/shared/zipRuntime.d.ts +19 -0
- package/dist/shared/zipRuntime.js +54 -0
- package/dist/styles/editor.css +3 -0
- package/dist/types.d.ts +1 -0
- package/package.json +149 -0
|
@@ -0,0 +1,464 @@
|
|
|
1
|
+
import type {
|
|
2
|
+
EditorBlockData,
|
|
3
|
+
EditorInlineWidget,
|
|
4
|
+
EditorOutputData,
|
|
5
|
+
} from '../shared/documentTypes.js'
|
|
6
|
+
import type { LocaleValue } from '../shared/localeTypes.js'
|
|
7
|
+
export type { LocaleValue, PluralForms } from '../shared/localeTypes.js'
|
|
8
|
+
|
|
9
|
+
/**
|
|
10
|
+
* Renderer input data. Compatible with EditorDocument from the editor core —
|
|
11
|
+
* the renderer accepts any editor output as-is. Fields are optional because
|
|
12
|
+
* the renderer only needs `blocks`; callers may omit metadata.
|
|
13
|
+
*/
|
|
14
|
+
export interface OutputData extends EditorOutputData<OutputBlockData> {
|
|
15
|
+
time?: number
|
|
16
|
+
version?: string
|
|
17
|
+
blocks: OutputBlockData[]
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
/**
|
|
21
|
+
* Single block for rendering. Unlike core BlockData, `id` and `tunes` are
|
|
22
|
+
* optional because the renderer does not require them.
|
|
23
|
+
*
|
|
24
|
+
* Text-carrying blocks (paragraph, heading, list, quote, checklist, …) may
|
|
25
|
+
* carry an `inline` map keyed by widget instance ids. Each entry describes
|
|
26
|
+
* a single inline widget (mention, color swatch, …) that was embedded in
|
|
27
|
+
* one of the block's text fields. Placeholder markup in the text field is
|
|
28
|
+
* a plain text token: `{{<id>}}`. The renderer / editor rehydrates real
|
|
29
|
+
* widget DOM from `inline[<id>]` via the registered inline plugin's
|
|
30
|
+
* `createWidget(data, id)`, passing the id through so the widget preserves
|
|
31
|
+
* its stable identity across save / load round-trips.
|
|
32
|
+
*/
|
|
33
|
+
export interface OutputBlockData<
|
|
34
|
+
Type extends string = string,
|
|
35
|
+
Data extends object = object
|
|
36
|
+
> extends EditorBlockData<Type, Data> {
|
|
37
|
+
id?: string
|
|
38
|
+
type: Type
|
|
39
|
+
data: Data
|
|
40
|
+
inline?: Record<string, InlineWidget>
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
/**
|
|
44
|
+
* Opaque reference to a committed inline widget — its plugin type (so the
|
|
45
|
+
* runtime can dispatch to the right `InlinePlugin.createWidget`) plus an
|
|
46
|
+
* arbitrary, plugin-specific `data` payload. Parallels `OutputBlockData<T, D>`.
|
|
47
|
+
*
|
|
48
|
+
* Concrete inline plugins declare their own `Data` shape:
|
|
49
|
+
* ```ts
|
|
50
|
+
* type MentionWidget = InlineWidget<'mention', { id: string, name: string }>
|
|
51
|
+
* type ColorWidget = InlineWidget<'color', { value: string }>
|
|
52
|
+
* ```
|
|
53
|
+
*/
|
|
54
|
+
export interface InlineWidget<
|
|
55
|
+
Type extends string = string,
|
|
56
|
+
Data extends Record<string, unknown> = Record<string, unknown>
|
|
57
|
+
> extends EditorInlineWidget<Type, Data> {}
|
|
58
|
+
|
|
59
|
+
// ── Block Data Types ────────────────────────────────────────────────────────
|
|
60
|
+
|
|
61
|
+
export interface ParagraphData {
|
|
62
|
+
text: string
|
|
63
|
+
align?: 'left' | 'center' | 'right' | 'justify'
|
|
64
|
+
}
|
|
65
|
+
|
|
66
|
+
export interface HeadingData {
|
|
67
|
+
text: string
|
|
68
|
+
level: 2 | 3 | 4 | 5 | 6
|
|
69
|
+
align?: 'left' | 'center' | 'right'
|
|
70
|
+
}
|
|
71
|
+
|
|
72
|
+
export interface ListData {
|
|
73
|
+
style: 'ordered' | 'unordered'
|
|
74
|
+
items: string[]
|
|
75
|
+
}
|
|
76
|
+
|
|
77
|
+
export interface QuoteData {
|
|
78
|
+
text: string
|
|
79
|
+
caption: string
|
|
80
|
+
}
|
|
81
|
+
|
|
82
|
+
export interface CodeData {
|
|
83
|
+
code: string
|
|
84
|
+
language?: string
|
|
85
|
+
}
|
|
86
|
+
|
|
87
|
+
export interface ImageFile {
|
|
88
|
+
url: string
|
|
89
|
+
width?: number
|
|
90
|
+
height?: number
|
|
91
|
+
}
|
|
92
|
+
|
|
93
|
+
export interface ImageStyles {
|
|
94
|
+
backgroundColor?: string
|
|
95
|
+
maxHeight?: string
|
|
96
|
+
minHeight?: string
|
|
97
|
+
maxWidth?: string
|
|
98
|
+
minWidth?: string
|
|
99
|
+
height?: string
|
|
100
|
+
width?: string
|
|
101
|
+
objectFit?: string
|
|
102
|
+
objectPosition?: string
|
|
103
|
+
borderStyle?: string
|
|
104
|
+
borderColor?: string
|
|
105
|
+
borderWidth?: string
|
|
106
|
+
borderRadius?: string
|
|
107
|
+
}
|
|
108
|
+
|
|
109
|
+
export interface ImageData {
|
|
110
|
+
file: ImageFile
|
|
111
|
+
caption?: string
|
|
112
|
+
withBorder?: boolean
|
|
113
|
+
expanded?: boolean
|
|
114
|
+
withBackground?: boolean
|
|
115
|
+
styles?: ImageStyles
|
|
116
|
+
}
|
|
117
|
+
|
|
118
|
+
export interface DelimiterData {}
|
|
119
|
+
|
|
120
|
+
export interface TableData {
|
|
121
|
+
withHeadings?: boolean
|
|
122
|
+
content: string[][]
|
|
123
|
+
}
|
|
124
|
+
|
|
125
|
+
export interface ChecklistItem {
|
|
126
|
+
text: string
|
|
127
|
+
checked: boolean
|
|
128
|
+
}
|
|
129
|
+
|
|
130
|
+
export interface ChecklistData {
|
|
131
|
+
items: ChecklistItem[]
|
|
132
|
+
}
|
|
133
|
+
|
|
134
|
+
export interface WarningData {
|
|
135
|
+
title: string
|
|
136
|
+
message: string
|
|
137
|
+
}
|
|
138
|
+
|
|
139
|
+
export interface EmbedData {
|
|
140
|
+
service: string
|
|
141
|
+
videoId: string
|
|
142
|
+
caption?: string
|
|
143
|
+
cover?: string
|
|
144
|
+
title?: string
|
|
145
|
+
duration?: string
|
|
146
|
+
}
|
|
147
|
+
|
|
148
|
+
export interface RawData {
|
|
149
|
+
html: string
|
|
150
|
+
}
|
|
151
|
+
|
|
152
|
+
export interface GalleryImage {
|
|
153
|
+
url: string
|
|
154
|
+
caption?: string
|
|
155
|
+
}
|
|
156
|
+
|
|
157
|
+
export type GalleryLayout =
|
|
158
|
+
| 'auto'
|
|
159
|
+
| '1' | '2'
|
|
160
|
+
| '3a' | '3b' | '3c'
|
|
161
|
+
| '4a' | '4b' | '4c'
|
|
162
|
+
| '5a' | '5b' | '5c'
|
|
163
|
+
| '6a' | '6b' | '6c'
|
|
164
|
+
| 'triptych'
|
|
165
|
+
| 'masonry'
|
|
166
|
+
| 'poly-5' | 'poly-3arch' | 'poly-5flat' | 'poly-3steps'
|
|
167
|
+
|
|
168
|
+
export interface GalleryStyles {
|
|
169
|
+
gap?: string
|
|
170
|
+
borderRadius?: string
|
|
171
|
+
height?: string
|
|
172
|
+
}
|
|
173
|
+
|
|
174
|
+
export interface GalleryOptions {
|
|
175
|
+
loop?: boolean
|
|
176
|
+
zoom?: boolean
|
|
177
|
+
navigation?: boolean
|
|
178
|
+
captions?: boolean
|
|
179
|
+
thumbnails?: boolean
|
|
180
|
+
fullscreen?: boolean
|
|
181
|
+
autoplayInterval?: number
|
|
182
|
+
}
|
|
183
|
+
|
|
184
|
+
export interface GalleryData {
|
|
185
|
+
images: GalleryImage[]
|
|
186
|
+
layout: GalleryLayout
|
|
187
|
+
styles?: GalleryStyles
|
|
188
|
+
options?: GalleryOptions
|
|
189
|
+
}
|
|
190
|
+
|
|
191
|
+
export interface CarouselSlide {
|
|
192
|
+
id: string
|
|
193
|
+
type: 'image' | 'video' | 'html'
|
|
194
|
+
src?: string
|
|
195
|
+
alt?: string
|
|
196
|
+
caption?: string
|
|
197
|
+
poster?: string
|
|
198
|
+
html?: string
|
|
199
|
+
}
|
|
200
|
+
|
|
201
|
+
export interface CarouselOptions {
|
|
202
|
+
loop: boolean
|
|
203
|
+
autoplay: boolean
|
|
204
|
+
autoplayDelay: number
|
|
205
|
+
navigation: boolean
|
|
206
|
+
pagination: boolean
|
|
207
|
+
thumbnails: boolean
|
|
208
|
+
aspectRatio?: string
|
|
209
|
+
}
|
|
210
|
+
|
|
211
|
+
export interface CarouselData extends Record<string, unknown> {
|
|
212
|
+
slides: CarouselSlide[]
|
|
213
|
+
options: CarouselOptions
|
|
214
|
+
}
|
|
215
|
+
|
|
216
|
+
export interface AttachesFile {
|
|
217
|
+
url: string
|
|
218
|
+
name: string
|
|
219
|
+
size: number
|
|
220
|
+
extension: string
|
|
221
|
+
}
|
|
222
|
+
|
|
223
|
+
export interface AttachesData {
|
|
224
|
+
/** Multi-file format (current) */
|
|
225
|
+
files?: AttachesFile[]
|
|
226
|
+
/** Legacy single-file format */
|
|
227
|
+
file?: AttachesFile
|
|
228
|
+
variant?: 'a' | 'b' | 'f' | 'g'
|
|
229
|
+
}
|
|
230
|
+
|
|
231
|
+
export type LinkPreviewTemplate = 'horizontal' | 'compact' | 'large-top' | 'minimal' | 'twitter' | 'notion' | 'split'
|
|
232
|
+
|
|
233
|
+
export interface LinkPreviewData {
|
|
234
|
+
url: string
|
|
235
|
+
title: string
|
|
236
|
+
description: string
|
|
237
|
+
image: string
|
|
238
|
+
favicon: string
|
|
239
|
+
domain: string
|
|
240
|
+
template?: LinkPreviewTemplate
|
|
241
|
+
}
|
|
242
|
+
|
|
243
|
+
export interface ToggleData {
|
|
244
|
+
title: string
|
|
245
|
+
content: string
|
|
246
|
+
open?: boolean
|
|
247
|
+
}
|
|
248
|
+
|
|
249
|
+
export interface ColumnItem {
|
|
250
|
+
content: string
|
|
251
|
+
}
|
|
252
|
+
|
|
253
|
+
export interface ColumnsData {
|
|
254
|
+
columns: ColumnItem[]
|
|
255
|
+
layout: '1-1' | '1-2' | '2-1' | '1-1-1'
|
|
256
|
+
}
|
|
257
|
+
|
|
258
|
+
export interface SpoilerData {
|
|
259
|
+
label: string
|
|
260
|
+
content: string
|
|
261
|
+
}
|
|
262
|
+
|
|
263
|
+
export interface PollOption {
|
|
264
|
+
/** Stable document identity used by result snapshots and vote submissions. */
|
|
265
|
+
id: string
|
|
266
|
+
/** Inline-markup label displayed to the reader. */
|
|
267
|
+
text: string
|
|
268
|
+
}
|
|
269
|
+
|
|
270
|
+
export interface PollOptionResult {
|
|
271
|
+
/** Id of one current author-owned option. */
|
|
272
|
+
id: string
|
|
273
|
+
/** Non-negative integer number of ballots that selected this option. */
|
|
274
|
+
votes: number
|
|
275
|
+
}
|
|
276
|
+
|
|
277
|
+
export interface PollVoter {
|
|
278
|
+
/** Stable application-owned voter identity. */
|
|
279
|
+
id: string
|
|
280
|
+
name?: string
|
|
281
|
+
/** Avatar URL accepted by the renderer media policy. */
|
|
282
|
+
avatar?: string
|
|
283
|
+
/** Current option ids attributed to this voter. */
|
|
284
|
+
optionIds?: string[]
|
|
285
|
+
}
|
|
286
|
+
|
|
287
|
+
export interface PollResults {
|
|
288
|
+
/** Optional opaque server revision used to reject stale snapshots. */
|
|
289
|
+
revision?: string
|
|
290
|
+
/** Non-negative integer ballot count and percentage denominator. */
|
|
291
|
+
total: number
|
|
292
|
+
/** Exactly one result for every current poll option. */
|
|
293
|
+
options: PollOptionResult[]
|
|
294
|
+
/** Optional bounded voter summaries. */
|
|
295
|
+
voters?: PollVoter[]
|
|
296
|
+
/** Total voter count when `voters` contains only a bounded subset. */
|
|
297
|
+
votersTotal?: number
|
|
298
|
+
/** Complete selection of the current application user. */
|
|
299
|
+
currentUserVote?: string[]
|
|
300
|
+
}
|
|
301
|
+
|
|
302
|
+
export interface PollData extends Record<string, unknown> {
|
|
303
|
+
pollId?: string
|
|
304
|
+
question: string
|
|
305
|
+
type: 'single' | 'multiple'
|
|
306
|
+
options: PollOption[]
|
|
307
|
+
resultsMode: 'always' | 'afterVote' | 'hidden'
|
|
308
|
+
initialResults?: PollResults
|
|
309
|
+
}
|
|
310
|
+
|
|
311
|
+
export interface PollDataSource {
|
|
312
|
+
/** Load the first authoritative result snapshot. */
|
|
313
|
+
load(context: { pollId: string; signal: AbortSignal }): Promise<PollResults>
|
|
314
|
+
/** Submit the complete current selection and return an authoritative snapshot. */
|
|
315
|
+
vote(context: { pollId: string; optionIds: string[]; revision?: string; signal: AbortSignal }): Promise<PollResults>
|
|
316
|
+
/** Subscribe to later authoritative snapshots and optionally return idempotent cleanup. */
|
|
317
|
+
subscribe?(context: {
|
|
318
|
+
pollId: string
|
|
319
|
+
signal: AbortSignal
|
|
320
|
+
onUpdate(results: PollResults): void
|
|
321
|
+
onError(error: unknown): void
|
|
322
|
+
}): void | (() => void)
|
|
323
|
+
}
|
|
324
|
+
|
|
325
|
+
export interface PollRendererConfig {
|
|
326
|
+
/** Optional server-owned result adapter; local voting is used when omitted. */
|
|
327
|
+
dataSource?: PollDataSource
|
|
328
|
+
/** Observes adapter, cleanup, and revision-comparator errors. */
|
|
329
|
+
onError?: (error: unknown) => void
|
|
330
|
+
/** Maximum retained voter records; defaults to 50. */
|
|
331
|
+
maxVoters?: number
|
|
332
|
+
/** Orders opaque revisions; a positive result accepts `next` as newer. */
|
|
333
|
+
compareRevisions?: (next: string, current: string) => number
|
|
334
|
+
}
|
|
335
|
+
|
|
336
|
+
export interface PersonLink {
|
|
337
|
+
type: string
|
|
338
|
+
url: string
|
|
339
|
+
}
|
|
340
|
+
|
|
341
|
+
export interface PersonItem {
|
|
342
|
+
avatar: string
|
|
343
|
+
name: string
|
|
344
|
+
role: string
|
|
345
|
+
bio: string
|
|
346
|
+
links: PersonLink[]
|
|
347
|
+
}
|
|
348
|
+
|
|
349
|
+
export interface PersonData {
|
|
350
|
+
persons: PersonItem[]
|
|
351
|
+
}
|
|
352
|
+
|
|
353
|
+
// ── Block Type Aliases ──────────────────────────────────────────────────────
|
|
354
|
+
|
|
355
|
+
export type ParagraphBlock = OutputBlockData<'paragraph', ParagraphData>
|
|
356
|
+
export type HeadingBlock = OutputBlockData<'heading', HeadingData>
|
|
357
|
+
export type ListBlock = OutputBlockData<'list', ListData>
|
|
358
|
+
export type QuoteBlock = OutputBlockData<'quote', QuoteData>
|
|
359
|
+
export type CodeBlock = OutputBlockData<'code', CodeData>
|
|
360
|
+
export type ImageBlock = OutputBlockData<'image', ImageData>
|
|
361
|
+
export type DelimiterBlock = OutputBlockData<'delimiter', DelimiterData>
|
|
362
|
+
export type TableBlock = OutputBlockData<'table', TableData>
|
|
363
|
+
export type ChecklistBlock = OutputBlockData<'checklist', ChecklistData>
|
|
364
|
+
export type WarningBlock = OutputBlockData<'warning', WarningData>
|
|
365
|
+
export type EmbedBlock = OutputBlockData<'embed', EmbedData>
|
|
366
|
+
export type RawBlock = OutputBlockData<'raw', RawData>
|
|
367
|
+
export type GalleryBlock = OutputBlockData<'gallery', GalleryData>
|
|
368
|
+
export type CarouselBlock = OutputBlockData<'carousel', CarouselData>
|
|
369
|
+
export type AttachesBlock = OutputBlockData<'attaches', AttachesData>
|
|
370
|
+
export type LinkPreviewBlock = OutputBlockData<'linkPreview', LinkPreviewData>
|
|
371
|
+
export type ToggleBlock = OutputBlockData<'toggle', ToggleData>
|
|
372
|
+
export type ColumnsBlock = OutputBlockData<'columns', ColumnsData>
|
|
373
|
+
export type SpoilerBlock = OutputBlockData<'spoiler', SpoilerData>
|
|
374
|
+
export type PollBlock = OutputBlockData<'poll', PollData>
|
|
375
|
+
export type PersonBlock = OutputBlockData<'person', PersonData>
|
|
376
|
+
|
|
377
|
+
export type Block =
|
|
378
|
+
| ParagraphBlock
|
|
379
|
+
| HeadingBlock
|
|
380
|
+
| ListBlock
|
|
381
|
+
| QuoteBlock
|
|
382
|
+
| CodeBlock
|
|
383
|
+
| ImageBlock
|
|
384
|
+
| DelimiterBlock
|
|
385
|
+
| TableBlock
|
|
386
|
+
| ChecklistBlock
|
|
387
|
+
| WarningBlock
|
|
388
|
+
| EmbedBlock
|
|
389
|
+
| RawBlock
|
|
390
|
+
| GalleryBlock
|
|
391
|
+
| CarouselBlock
|
|
392
|
+
| AttachesBlock
|
|
393
|
+
| LinkPreviewBlock
|
|
394
|
+
| ToggleBlock
|
|
395
|
+
| ColumnsBlock
|
|
396
|
+
| SpoilerBlock
|
|
397
|
+
| PollBlock
|
|
398
|
+
| PersonBlock
|
|
399
|
+
|
|
400
|
+
export type BlockType = Block['type']
|
|
401
|
+
|
|
402
|
+
// ── Renderer Interfaces ─────────────────────────────────────────────────────
|
|
403
|
+
|
|
404
|
+
export type InlineParser = (text: string) => DocumentFragment
|
|
405
|
+
|
|
406
|
+
export interface BlockRenderer<T extends OutputBlockData = OutputBlockData> {
|
|
407
|
+
type: T['type']
|
|
408
|
+
styles?: string[]
|
|
409
|
+
render(block: T, parseInline: InlineParser): HTMLElement
|
|
410
|
+
/** Release observers, global listeners, and third-party instances. */
|
|
411
|
+
destroy?(element: HTMLElement): void
|
|
412
|
+
/**
|
|
413
|
+
* Symmetric with `BlockPlugin.mapTextFields`. Walk the block's
|
|
414
|
+
* HTML-bearing fields and apply `transform` to each. The renderer
|
|
415
|
+
* pipeline calls this to expand `{{<id>}}` placeholder tokens into
|
|
416
|
+
* full widget DOM before invoking `render`. Omit for non-text blocks.
|
|
417
|
+
*/
|
|
418
|
+
mapTextFields?(data: T['data'], transform: (html: string) => string): void
|
|
419
|
+
}
|
|
420
|
+
|
|
421
|
+
export interface RendererConfig {
|
|
422
|
+
/** Namespace used by generated renderer classes. Default: 'editor'. */
|
|
423
|
+
classPrefix?: string
|
|
424
|
+
/** Throw for an unregistered block instead of rendering a placeholder. Default: true. */
|
|
425
|
+
throwOnUnknown?: boolean
|
|
426
|
+
/** Theme for the rendered output. Default: 'dark'. */
|
|
427
|
+
theme?: 'dark' | 'light'
|
|
428
|
+
/** Validate built-in block data before rendering. Default: 'preserve'. */
|
|
429
|
+
validationMode?: 'preserve' | 'strict'
|
|
430
|
+
/** Content-free notification for malformed built-in block data. */
|
|
431
|
+
onValidationError?: (issue: { blockId?: string; type: string }) => void
|
|
432
|
+
/** Flat locale dictionary for renderer strings. Keys use `renderer.*` prefix. */
|
|
433
|
+
locale?: Record<string, LocaleValue>
|
|
434
|
+
/** Default renderers to construct. Omit to keep the complete public preset. */
|
|
435
|
+
blockTypes?: BlockType[]
|
|
436
|
+
/** Per-built-in-renderer runtime configuration. */
|
|
437
|
+
blockConfigs?: {
|
|
438
|
+
poll?: PollRendererConfig
|
|
439
|
+
[type: string]: unknown
|
|
440
|
+
}
|
|
441
|
+
/**
|
|
442
|
+
* Inline plugins the renderer should use when rehydrating inline widget
|
|
443
|
+
* placeholder tokens (`{{<id>}}`). Read-only rendering only needs each
|
|
444
|
+
* plugin's `createWidget` + `getData` — see `createMentionWidget()`
|
|
445
|
+
* for a lightweight factory suitable here.
|
|
446
|
+
*/
|
|
447
|
+
inlinePlugins?: InlinePluginLike[]
|
|
448
|
+
}
|
|
449
|
+
|
|
450
|
+
/**
|
|
451
|
+
* Minimal contract for inline widget rehydration on the renderer side.
|
|
452
|
+
* Structurally a subset of the editor-side `InlinePlugin` (core types) —
|
|
453
|
+
* defined here so the renderer package does not depend on editor runtime.
|
|
454
|
+
*
|
|
455
|
+
* `createWidget(data, id)` — when `id` is provided, the widget MUST set
|
|
456
|
+
* `data-id="<id>"` on its root element so the id survives the next save
|
|
457
|
+
* round-trip. When omitted (fresh programmatic insertion), the factory
|
|
458
|
+
* generates one itself.
|
|
459
|
+
*/
|
|
460
|
+
export interface InlinePluginLike {
|
|
461
|
+
readonly type: string
|
|
462
|
+
createWidget(data: Record<string, unknown>, id?: string): HTMLElement
|
|
463
|
+
getData(element: HTMLElement): Record<string, unknown>
|
|
464
|
+
}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Convert malformed built-in block data into a safe render-only value.
|
|
3
|
+
*
|
|
4
|
+
* The `preserve` validation policy reports invalid data instead of rejecting
|
|
5
|
+
* the document. Renderers therefore need a deterministic boundary that cannot
|
|
6
|
+
* throw on arrays, objects, missing fields, or unsafe URLs. This function
|
|
7
|
+
* never mutates the caller's document and is used only after strict validation
|
|
8
|
+
* of the corresponding built-in block has failed.
|
|
9
|
+
*
|
|
10
|
+
* @param {string} type
|
|
11
|
+
* @param {unknown} input
|
|
12
|
+
* @returns {Record<string, unknown>}
|
|
13
|
+
*/
|
|
14
|
+
export function normalizeKnownBlockData(type: string, input: unknown): Record<string, unknown>;
|