@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,61 @@
|
|
|
1
|
+
// @ts-check
|
|
2
|
+
import { highlightCode, loadHighlightRuntime } from '../shared/highlightRuntime.js'
|
|
3
|
+
import { parseInline } from '../shared/sanitize/parseInline.js'
|
|
4
|
+
|
|
5
|
+
/**
|
|
6
|
+
* Apply highlighting immediately when available, otherwise enhance the
|
|
7
|
+
* already-safe text node after the shared lazy runtime finishes loading.
|
|
8
|
+
* @param {HTMLElement} element
|
|
9
|
+
* @param {string} text
|
|
10
|
+
* @param {string} language
|
|
11
|
+
*/
|
|
12
|
+
function highlightElement(element, text, language) {
|
|
13
|
+
const apply = () => {
|
|
14
|
+
const result = highlightCode(text, language)
|
|
15
|
+
if (!result) return false
|
|
16
|
+
element.innerHTML = result.value
|
|
17
|
+
return true
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
if (apply()) return
|
|
21
|
+
element.textContent = text
|
|
22
|
+
void loadHighlightRuntime().then(apply).catch(() => {
|
|
23
|
+
element.textContent = text
|
|
24
|
+
})
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
/**
|
|
28
|
+
* Upgrade code elements that represent block code (contain newlines)
|
|
29
|
+
* with syntax highlighting. Mutates the fragment in place.
|
|
30
|
+
*
|
|
31
|
+
* Inline code (single line) is left as-is. It was already sanitized by
|
|
32
|
+
* parseInline and keeps its class/lang attributes.
|
|
33
|
+
*
|
|
34
|
+
* @param {DocumentFragment | HTMLElement} root
|
|
35
|
+
*/
|
|
36
|
+
function upgradeCodeBlocks(root) {
|
|
37
|
+
const codeEls = root.querySelectorAll('code')
|
|
38
|
+
for (const el of codeEls) {
|
|
39
|
+
const text = el.textContent || ''
|
|
40
|
+
if (!text.includes('\n')) continue
|
|
41
|
+
|
|
42
|
+
const lang = el.getAttribute('lang')
|
|
43
|
+
if (lang) {
|
|
44
|
+
highlightElement(el, text, lang)
|
|
45
|
+
} else {
|
|
46
|
+
el.textContent = text
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
|
|
51
|
+
/**
|
|
52
|
+
* Create inline parser function.
|
|
53
|
+
* @returns {import('./types').InlineParser}
|
|
54
|
+
*/
|
|
55
|
+
export function createInlineParser(_classPrefix) {
|
|
56
|
+
return (/** @type {string} */ text) => {
|
|
57
|
+
const fragment = parseInline(text)
|
|
58
|
+
upgradeCodeBlocks(fragment)
|
|
59
|
+
return fragment
|
|
60
|
+
}
|
|
61
|
+
}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
declare const _default: {
|
|
2
|
+
'renderer.spoiler.toggle': string;
|
|
3
|
+
'renderer.person.link': string;
|
|
4
|
+
'renderer.person.previous': string;
|
|
5
|
+
'renderer.person.next': string;
|
|
6
|
+
'renderer.code.copy': string;
|
|
7
|
+
'renderer.code.copied': string;
|
|
8
|
+
'renderer.attaches.download': string;
|
|
9
|
+
'renderer.attaches.downloadZip': string;
|
|
10
|
+
'renderer.attaches.files': {
|
|
11
|
+
one: string;
|
|
12
|
+
other: string;
|
|
13
|
+
};
|
|
14
|
+
'renderer.attaches.file': string;
|
|
15
|
+
'renderer.attaches.toggle': string;
|
|
16
|
+
'renderer.carousel.label': string;
|
|
17
|
+
'renderer.carousel.video': string;
|
|
18
|
+
'renderer.carousel.previous': string;
|
|
19
|
+
'renderer.carousel.next': string;
|
|
20
|
+
'renderer.carousel.page': string;
|
|
21
|
+
'renderer.carousel.slide': string;
|
|
22
|
+
'renderer.gallery.open': string;
|
|
23
|
+
'renderer.poll.selectOption': string;
|
|
24
|
+
'renderer.poll.vote': string;
|
|
25
|
+
'renderer.poll.loading': string;
|
|
26
|
+
'renderer.poll.submitting': string;
|
|
27
|
+
'renderer.poll.loadError': string;
|
|
28
|
+
'renderer.poll.emptyResults': string;
|
|
29
|
+
'renderer.poll.voters': string;
|
|
30
|
+
'renderer.poll.anonymousVoter': string;
|
|
31
|
+
'renderer.embed.play': string;
|
|
32
|
+
'renderer.embed.video': string;
|
|
33
|
+
__lang: string;
|
|
34
|
+
};
|
|
35
|
+
export default _default;
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import attaches from '../renderers/attaches/locale/en.js'
|
|
2
|
+
import code from '../renderers/code/locale/en.js'
|
|
3
|
+
import person from '../renderers/person/locale/en.js'
|
|
4
|
+
import spoiler from '../renderers/spoiler/locale/en.js'
|
|
5
|
+
|
|
6
|
+
export default {
|
|
7
|
+
'renderer.carousel.label': 'Content carousel',
|
|
8
|
+
'renderer.carousel.video': 'Video slide',
|
|
9
|
+
'renderer.carousel.previous': 'Previous slide',
|
|
10
|
+
'renderer.carousel.next': 'Next slide',
|
|
11
|
+
'renderer.carousel.page': 'Go to page',
|
|
12
|
+
'renderer.carousel.slide': 'Go to slide',
|
|
13
|
+
'renderer.gallery.open': 'Open image',
|
|
14
|
+
'renderer.poll.selectOption': 'Select option',
|
|
15
|
+
'renderer.poll.vote': 'Vote',
|
|
16
|
+
'renderer.poll.loading': 'Loading results…',
|
|
17
|
+
'renderer.poll.submitting': 'Submitting…',
|
|
18
|
+
'renderer.poll.loadError': 'Could not load poll results',
|
|
19
|
+
'renderer.poll.emptyResults': 'No votes yet',
|
|
20
|
+
'renderer.poll.voters': 'Voters',
|
|
21
|
+
'renderer.poll.anonymousVoter': 'Anonymous voter',
|
|
22
|
+
'renderer.embed.play': 'Play video',
|
|
23
|
+
'renderer.embed.video': 'Video',
|
|
24
|
+
__lang: 'en',
|
|
25
|
+
...attaches,
|
|
26
|
+
...code,
|
|
27
|
+
...person,
|
|
28
|
+
...spoiler,
|
|
29
|
+
}
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
declare const _default: {
|
|
2
|
+
'renderer.embed.play': string;
|
|
3
|
+
'renderer.embed.video': string;
|
|
4
|
+
'renderer.spoiler.toggle': string;
|
|
5
|
+
'renderer.person.link': string;
|
|
6
|
+
'renderer.person.previous': string;
|
|
7
|
+
'renderer.person.next': string;
|
|
8
|
+
'renderer.code.copy': string;
|
|
9
|
+
'renderer.code.copied': string;
|
|
10
|
+
'renderer.attaches.download': string;
|
|
11
|
+
'renderer.attaches.downloadZip': string;
|
|
12
|
+
'renderer.attaches.files': {
|
|
13
|
+
one: string;
|
|
14
|
+
few: string;
|
|
15
|
+
many: string;
|
|
16
|
+
other: string;
|
|
17
|
+
};
|
|
18
|
+
'renderer.attaches.file': string;
|
|
19
|
+
'renderer.attaches.toggle': string;
|
|
20
|
+
'renderer.carousel.label': string;
|
|
21
|
+
'renderer.carousel.video': string;
|
|
22
|
+
'renderer.carousel.previous': string;
|
|
23
|
+
'renderer.carousel.next': string;
|
|
24
|
+
'renderer.carousel.page': string;
|
|
25
|
+
'renderer.carousel.slide': string;
|
|
26
|
+
'renderer.gallery.open': string;
|
|
27
|
+
'renderer.poll.selectOption': string;
|
|
28
|
+
'renderer.poll.vote': string;
|
|
29
|
+
'renderer.poll.loading': string;
|
|
30
|
+
'renderer.poll.submitting': string;
|
|
31
|
+
'renderer.poll.loadError': string;
|
|
32
|
+
'renderer.poll.emptyResults': string;
|
|
33
|
+
'renderer.poll.voters': string;
|
|
34
|
+
'renderer.poll.anonymousVoter': string;
|
|
35
|
+
__lang: string;
|
|
36
|
+
};
|
|
37
|
+
export default _default;
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import attaches from '../renderers/attaches/locale/ru.js'
|
|
2
|
+
import code from '../renderers/code/locale/ru.js'
|
|
3
|
+
import person from '../renderers/person/locale/ru.js'
|
|
4
|
+
import spoiler from '../renderers/spoiler/locale/ru.js'
|
|
5
|
+
|
|
6
|
+
export default {
|
|
7
|
+
'renderer.carousel.label': 'Карусель материалов',
|
|
8
|
+
'renderer.carousel.video': 'Видеослайд',
|
|
9
|
+
'renderer.carousel.previous': 'Предыдущий слайд',
|
|
10
|
+
'renderer.carousel.next': 'Следующий слайд',
|
|
11
|
+
'renderer.carousel.page': 'Перейти к странице',
|
|
12
|
+
'renderer.carousel.slide': 'Перейти к слайду',
|
|
13
|
+
'renderer.gallery.open': 'Открыть изображение',
|
|
14
|
+
'renderer.poll.selectOption': 'Выбрать вариант',
|
|
15
|
+
'renderer.poll.vote': 'Проголосовать',
|
|
16
|
+
'renderer.poll.loading': 'Загрузка результатов…',
|
|
17
|
+
'renderer.poll.submitting': 'Отправка голоса…',
|
|
18
|
+
'renderer.poll.loadError': 'Не удалось загрузить результаты опроса',
|
|
19
|
+
'renderer.poll.emptyResults': 'Голосов пока нет',
|
|
20
|
+
'renderer.poll.voters': 'Проголосовали',
|
|
21
|
+
'renderer.poll.anonymousVoter': 'Анонимный участник',
|
|
22
|
+
__lang: 'ru',
|
|
23
|
+
...attaches,
|
|
24
|
+
...code,
|
|
25
|
+
...person,
|
|
26
|
+
...spoiler,
|
|
27
|
+
'renderer.embed.play': 'Воспроизвести видео',
|
|
28
|
+
'renderer.embed.video': 'Видео',
|
|
29
|
+
}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
# Block renderers
|
|
2
|
+
|
|
3
|
+
Every built-in editor block has a matching renderer. Import an individual factory from `@shelamkoff/rector/renderer/renderers/<path>`, the complete synchronous preset from `@shelamkoff/rector/renderer/renderers`, or lazy factories from `@shelamkoff/rector/renderer/renderers/async`.
|
|
4
|
+
|
|
5
|
+
Renderer objects return DOM, declare stylesheet URLs, optionally map inline-widget fields, and expose deterministic per-element cleanup through the owning `EditorRenderer`.
|
|
6
|
+
|
|
7
|
+
The VitePress rendering and extension guides document registration, inline parsing, stylesheet ownership, cleanup, and the custom renderer contract.
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
# Рендереры блоков
|
|
2
|
+
|
|
3
|
+
Для каждого встроенного блока существует фабричная функция. Импортируйте его из `@shelamkoff/rector/renderer/renderers/<path>`, полный готовый набор — из `@shelamkoff/rector/renderer/renderers`, ленивые фабричные функции — из `@shelamkoff/rector/renderer/renderers/async`.
|
|
4
|
+
|
|
5
|
+
Фабричная функция создаёт DOM, объявляет фактически необходимые URL стилей (массив может быть пустым), при необходимости преобразует поля с виджетами и предоставляет освобождение ресурсов владельцу `EditorRenderer`. Контракт расширения описан в последовательном руководстве VitePress.
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* List every built-in block type supported by the asynchronous renderer loader.
|
|
3
|
+
* @returns {import('../types.js').BlockType[]}
|
|
4
|
+
*/
|
|
5
|
+
export function getAsyncRendererTypes(): import("../types.js").BlockType[];
|
|
6
|
+
/**
|
|
7
|
+
* Load the renderer factory for one built-in block type without creating it.
|
|
8
|
+
* @param {string} type
|
|
9
|
+
* @returns {Promise<RendererFactory>}
|
|
10
|
+
* @throws {RangeError} when `type` is not a built-in renderer type
|
|
11
|
+
*/
|
|
12
|
+
export function loadRendererFactory(type: string): Promise<RendererFactory>;
|
|
13
|
+
/**
|
|
14
|
+
* Preload factories for explicit types or for the types present in a document.
|
|
15
|
+
* Duplicate type names are loaded once and map order follows first occurrence.
|
|
16
|
+
*
|
|
17
|
+
* @param {readonly string[] | { blocks?: readonly { type: string }[] }} [source]
|
|
18
|
+
* @returns {Promise<Map<string, RendererFactory>>}
|
|
19
|
+
*/
|
|
20
|
+
export function preloadRendererFactories(source?: readonly string[] | {
|
|
21
|
+
blocks?: readonly {
|
|
22
|
+
type: string;
|
|
23
|
+
}[];
|
|
24
|
+
}): Promise<Map<string, RendererFactory>>;
|
|
25
|
+
/**
|
|
26
|
+
* Load and create one built-in renderer.
|
|
27
|
+
*
|
|
28
|
+
* @param {string} type
|
|
29
|
+
* @param {string} classPrefix
|
|
30
|
+
* @param {Record<string, import('../../shared/localeTypes.js').LocaleValue>} [locale]
|
|
31
|
+
* @param {unknown} [config]
|
|
32
|
+
* @returns {Promise<import('../types.js').BlockRenderer>}
|
|
33
|
+
*/
|
|
34
|
+
export function createRendererAsync(type: string, classPrefix: string, locale?: Record<string, import("../../shared/localeTypes.js").LocaleValue>, config?: unknown): Promise<import("../types.js").BlockRenderer>;
|
|
35
|
+
/**
|
|
36
|
+
* Load and create a renderer map for explicit types or document block types.
|
|
37
|
+
* Per-renderer configuration is selected from `configs` by block type.
|
|
38
|
+
*
|
|
39
|
+
* @param {string} classPrefix
|
|
40
|
+
* @param {Record<string, import('../../shared/localeTypes.js').LocaleValue>} [locale]
|
|
41
|
+
* @param {readonly string[] | { blocks?: readonly { type: string }[] }} [source]
|
|
42
|
+
* @param {Record<string, unknown>} [configs]
|
|
43
|
+
* @returns {Promise<Map<string, import('../types.js').BlockRenderer>>}
|
|
44
|
+
*/
|
|
45
|
+
export function createDefaultRenderersAsync(classPrefix: string, locale?: Record<string, import("../../shared/localeTypes.js").LocaleValue>, source?: readonly string[] | {
|
|
46
|
+
blocks?: readonly {
|
|
47
|
+
type: string;
|
|
48
|
+
}[];
|
|
49
|
+
}, configs?: Record<string, unknown>): Promise<Map<string, import("../types.js").BlockRenderer>>;
|
|
50
|
+
export type RendererFactory = (prefix: string, locale: Record<string, import("../../shared/localeTypes.js").LocaleValue>, config?: unknown) => import("../types.js").BlockRenderer;
|
|
51
|
+
export type RendererLoader = () => Promise<RendererFactory>;
|
|
@@ -0,0 +1,99 @@
|
|
|
1
|
+
// @ts-check
|
|
2
|
+
import { BLOCK_TYPES } from '../../shared/blockTypes.js'
|
|
3
|
+
|
|
4
|
+
/** @typedef {(prefix: string, locale: Record<string, import('../../shared/localeTypes').LocaleValue>, config?: unknown) => import('../types').BlockRenderer} RendererFactory */
|
|
5
|
+
/** @typedef {() => Promise<RendererFactory>} RendererLoader */
|
|
6
|
+
|
|
7
|
+
/** @type {Record<import('../types').BlockType, RendererLoader>} */
|
|
8
|
+
const rendererLoaders = {
|
|
9
|
+
paragraph: () => import('./paragraph/index.js').then(module => module.createParagraphRenderer),
|
|
10
|
+
heading: () => import('./heading/index.js').then(module => module.createHeaderRenderer),
|
|
11
|
+
list: () => import('./list/index.js').then(module => module.createListRenderer),
|
|
12
|
+
quote: () => import('./quote/index.js').then(module => module.createQuoteRenderer),
|
|
13
|
+
code: () => import('./code/index.js').then(module => module.createCodeRenderer),
|
|
14
|
+
image: () => import('./image/index.js').then(module => module.createImageRenderer),
|
|
15
|
+
delimiter: () => import('./delimiter/index.js').then(module => module.createDelimiterRenderer),
|
|
16
|
+
table: () => import('./table/index.js').then(module => module.createTableRenderer),
|
|
17
|
+
checklist: () => import('./checklist/index.js').then(module => module.createChecklistRenderer),
|
|
18
|
+
warning: () => import('./warning/index.js').then(module => module.createWarningRenderer),
|
|
19
|
+
embed: () => import('./embed/index.js').then(module => module.createEmbedRenderer),
|
|
20
|
+
raw: () => import('./raw/index.js').then(module => module.createRawRenderer),
|
|
21
|
+
gallery: () => import('./gallery/index.js').then(module => module.createGalleryRenderer),
|
|
22
|
+
carousel: () => import('./carousel/index.js').then(module => module.createCarouselRenderer),
|
|
23
|
+
attaches: () => import('./attaches/index.js').then(module => module.createAttachesRenderer),
|
|
24
|
+
linkPreview: () => import('./link-preview/index.js').then(module => module.createLinkPreviewRenderer),
|
|
25
|
+
toggle: () => import('./toggle/index.js').then(module => module.createToggleRenderer),
|
|
26
|
+
columns: () => import('./columns/index.js').then(module => module.createColumnsRenderer),
|
|
27
|
+
spoiler: () => import('./spoiler/index.js').then(module => module.createSpoilerRenderer),
|
|
28
|
+
poll: () => import('./poll/index.js').then(module => module.createPollRenderer),
|
|
29
|
+
person: () => import('./person/index.js').then(module => module.createPersonRenderer),
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
/** @param {readonly string[] | { blocks?: readonly { type: string }[] } | undefined} source */
|
|
33
|
+
function requestedTypes(source) {
|
|
34
|
+
const document = /** @type {{ blocks?: readonly { type: string }[] } | undefined} */ (source)
|
|
35
|
+
const types = Array.isArray(source) ? source : document?.blocks?.map(block => block.type) ?? BLOCK_TYPES
|
|
36
|
+
return [...new Set(types)]
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
/**
|
|
40
|
+
* List every built-in block type supported by the asynchronous renderer loader.
|
|
41
|
+
* @returns {import('../types').BlockType[]}
|
|
42
|
+
*/
|
|
43
|
+
export function getAsyncRendererTypes() {
|
|
44
|
+
return [...BLOCK_TYPES]
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
/**
|
|
48
|
+
* Load the renderer factory for one built-in block type without creating it.
|
|
49
|
+
* @param {string} type
|
|
50
|
+
* @returns {Promise<RendererFactory>}
|
|
51
|
+
* @throws {RangeError} when `type` is not a built-in renderer type
|
|
52
|
+
*/
|
|
53
|
+
export async function loadRendererFactory(type) {
|
|
54
|
+
const loader = rendererLoaders[/** @type {import('../types').BlockType} */ (type)]
|
|
55
|
+
if (!loader) throw new RangeError(`Unknown editor renderer type: ${type}`)
|
|
56
|
+
return loader()
|
|
57
|
+
}
|
|
58
|
+
|
|
59
|
+
/**
|
|
60
|
+
* Preload factories for explicit types or for the types present in a document.
|
|
61
|
+
* Duplicate type names are loaded once and map order follows first occurrence.
|
|
62
|
+
*
|
|
63
|
+
* @param {readonly string[] | { blocks?: readonly { type: string }[] }} [source]
|
|
64
|
+
* @returns {Promise<Map<string, RendererFactory>>}
|
|
65
|
+
*/
|
|
66
|
+
export async function preloadRendererFactories(source) {
|
|
67
|
+
const types = requestedTypes(source)
|
|
68
|
+
const factories = await Promise.all(types.map(loadRendererFactory))
|
|
69
|
+
return new Map(types.map((type, index) => [type, factories[index]]))
|
|
70
|
+
}
|
|
71
|
+
|
|
72
|
+
/**
|
|
73
|
+
* Load and create one built-in renderer.
|
|
74
|
+
*
|
|
75
|
+
* @param {string} type
|
|
76
|
+
* @param {string} classPrefix
|
|
77
|
+
* @param {Record<string, import('../../shared/localeTypes').LocaleValue>} [locale]
|
|
78
|
+
* @param {unknown} [config]
|
|
79
|
+
* @returns {Promise<import('../types').BlockRenderer>}
|
|
80
|
+
*/
|
|
81
|
+
export async function createRendererAsync(type, classPrefix, locale = {}, config) {
|
|
82
|
+
const factory = await loadRendererFactory(type)
|
|
83
|
+
return factory(classPrefix, locale, config)
|
|
84
|
+
}
|
|
85
|
+
|
|
86
|
+
/**
|
|
87
|
+
* Load and create a renderer map for explicit types or document block types.
|
|
88
|
+
* Per-renderer configuration is selected from `configs` by block type.
|
|
89
|
+
*
|
|
90
|
+
* @param {string} classPrefix
|
|
91
|
+
* @param {Record<string, import('../../shared/localeTypes').LocaleValue>} [locale]
|
|
92
|
+
* @param {readonly string[] | { blocks?: readonly { type: string }[] }} [source]
|
|
93
|
+
* @param {Record<string, unknown>} [configs]
|
|
94
|
+
* @returns {Promise<Map<string, import('../types').BlockRenderer>>}
|
|
95
|
+
*/
|
|
96
|
+
export async function createDefaultRenderersAsync(classPrefix, locale = {}, source, configs = {}) {
|
|
97
|
+
const factories = await preloadRendererFactories(source)
|
|
98
|
+
return new Map([...factories].map(([type, factory]) => [type, factory(classPrefix, locale, configs[type])]))
|
|
99
|
+
}
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
# Attaches renderer
|
|
2
|
+
|
|
3
|
+
Renderer for the `attaches` block. It converts persisted block data into renderer-owned DOM.
|
|
4
|
+
|
|
5
|
+
The `@shelamkoff/rector/renderer` entry contains the synchronous built-in preset, so `@shelamkoff/carousel` and `@shelamkoff/expose` must be installed before importing it. Passing `blockTypes: []` prevents default renderer construction but does not change ESM module resolution.
|
|
6
|
+
|
|
7
|
+
## Usage
|
|
8
|
+
|
|
9
|
+
```js
|
|
10
|
+
import { createEditorRenderer } from '@shelamkoff/rector/renderer'
|
|
11
|
+
import { createAttachesRenderer } from '@shelamkoff/rector/renderer/renderers/attaches'
|
|
12
|
+
|
|
13
|
+
const renderer = createEditorRenderer({ classPrefix: 'article', blockTypes: [] })
|
|
14
|
+
renderer.registerRenderer(createAttachesRenderer('article', {}))
|
|
15
|
+
const rendererStyles = renderer.injectStyles()
|
|
16
|
+
renderer.renderTo(documentData, document.querySelector('#article'))
|
|
17
|
+
|
|
18
|
+
// When the mounted output is removed:
|
|
19
|
+
renderer.destroy()
|
|
20
|
+
rendererStyles.destroy()
|
|
21
|
+
```
|
|
22
|
+
|
|
23
|
+
## Typical data
|
|
24
|
+
|
|
25
|
+
```json
|
|
26
|
+
{
|
|
27
|
+
"files": [{ "url": "https://cdn.example/a.pdf", "name": "a.pdf", "size": 1024, "extension": "pdf" }],
|
|
28
|
+
"variant": "f"
|
|
29
|
+
}
|
|
30
|
+
```
|
|
31
|
+
|
|
32
|
+
The [attaches plugin field reference](../../../plugins/attaches/README.md#field-reference) is the canonical persisted-data contract shared by the editor and renderer.
|
|
33
|
+
|
|
34
|
+
Links use the download URL policy. Archive work, cancellation, object URLs, and interactive controls belong to the block and are released by `destroy()`. The renderer declares one stylesheet.
|
|
35
|
+
|
|
36
|
+
## Archive helpers
|
|
37
|
+
|
|
38
|
+
The renderer subpath also exports the same archive primitives used by its “download all” control:
|
|
39
|
+
|
|
40
|
+
- `ARCHIVE_LIMITS` is an immutable object with `files` (50), `fileBytes` (25 MiB), `totalBytes` (100 MiB), and `concurrency` (4). These are hard limits, not configuration options.
|
|
41
|
+
- `sanitizeArchiveFilename(value, index?)` returns a flat portable ZIP-entry name. It removes path separators and control characters, avoids Windows reserved names, trims unsafe trailing characters, limits the result to 128 characters, and falls back to `file-${index + 1}`.
|
|
42
|
+
- `downloadArchive(files, { signal })` fetches safe download URLs, skips individual network failures, creates `files.zip`, starts a browser download, and resolves with no value. It rejects when cancelled, when a hard size/count limit is exceeded, or when no file can be archived. Pass an `AbortSignal`; the function requires browser `document`, `fetch`, `Blob`, and object-URL APIs.
|
|
43
|
+
|
|
44
|
+
Files with rejected URL schemes are omitted. Filenames are made unique inside an archive. The helper does not return the generated `Blob` and does not upload or persist anything.
|
|
45
|
+
|
|
46
|
+
When styles are declared, the explicit `EditorRenderer.injectStyles()` call shown above acquires them and its returned owner releases them.
|
|
47
|
+
|
|
48
|
+
The VitePress guide documents renderer ownership, inline widget reconstruction, styles, cleanup, and security boundaries.
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
# Рендерер Attaches
|
|
2
|
+
|
|
3
|
+
Преобразует сохранённый блок `attaches` в принадлежащий рендереру DOM.
|
|
4
|
+
|
|
5
|
+
Синхронная точка входа `@shelamkoff/rector/renderer` включает все встроенные рендереры, поэтому до её импорта установите `@shelamkoff/carousel` и `@shelamkoff/expose`. Значение `blockTypes: []` отключает создание встроенных рендереров, но не меняет правила разрешения модулей ESM.
|
|
6
|
+
|
|
7
|
+
## Использование
|
|
8
|
+
|
|
9
|
+
```js
|
|
10
|
+
import { createEditorRenderer } from '@shelamkoff/rector/renderer'
|
|
11
|
+
import { createAttachesRenderer } from '@shelamkoff/rector/renderer/renderers/attaches'
|
|
12
|
+
|
|
13
|
+
const renderer = createEditorRenderer({ classPrefix: 'article', blockTypes: [] })
|
|
14
|
+
renderer.registerRenderer(createAttachesRenderer('article', {}))
|
|
15
|
+
const rendererStyles = renderer.injectStyles()
|
|
16
|
+
renderer.renderTo(documentData, document.querySelector('#article'))
|
|
17
|
+
|
|
18
|
+
// При удалении добавленного результата:
|
|
19
|
+
renderer.destroy()
|
|
20
|
+
rendererStyles.destroy()
|
|
21
|
+
```
|
|
22
|
+
|
|
23
|
+
## Типичные данные
|
|
24
|
+
|
|
25
|
+
```json
|
|
26
|
+
{
|
|
27
|
+
"files": [{ "url": "https://cdn.example/a.pdf", "name": "a.pdf", "size": 1024, "extension": "pdf" }],
|
|
28
|
+
"variant": "f"
|
|
29
|
+
}
|
|
30
|
+
```
|
|
31
|
+
|
|
32
|
+
Канонический контракт сохраняемых данных, общий для редактора и рендерера, приведён в [справочнике полей плагина вложений](../../../plugins/attaches/README.ru.md#поля-данных).
|
|
33
|
+
|
|
34
|
+
Ссылки проходят политику URL для загрузок. Создание архива, отмена запросов, объектные URL и элементы управления принадлежат блоку и освобождаются в `destroy()`. Рендерер объявляет одну таблицу стилей.
|
|
35
|
+
|
|
36
|
+
## Вспомогательные средства архива
|
|
37
|
+
|
|
38
|
+
Точка входа рендерера также экспортирует средства, которые использует кнопка загрузки всех вложений:
|
|
39
|
+
|
|
40
|
+
- `ARCHIVE_LIMITS` — неизменяемый объект с полями `files` (50), `fileBytes` (25 МиБ), `totalBytes` (100 МиБ) и `concurrency` (4). Это жёсткие ограничения, а не параметры настройки.
|
|
41
|
+
- `sanitizeArchiveFilename(value, index?)` возвращает плоское переносимое имя элемента архива `.zip`. Функция удаляет разделители пути и управляющие символы, не допускает имена, зарезервированные операционной системой `Windows`, убирает небезопасные символы в конце, ограничивает результат 128 символами и при необходимости возвращает `file-${index + 1}`.
|
|
42
|
+
- `downloadArchive(files, { signal })` получает файлы только по разрешённым адресам, пропускает отдельные сетевые ошибки, создаёт `files.zip`, запускает загрузку в браузере и завершается без возвращаемого значения. Функция отклоняет промис при отмене, превышении жёсткого ограничения размера или количества, а также когда в архив не удалось добавить ни одного файла. Передавайте `AbortSignal`; необходимы браузерные API `document`, `fetch`, `Blob` и объектных URL.
|
|
43
|
+
|
|
44
|
+
Файлы с запрещённой схемой адреса исключаются, а совпадающие имена делаются уникальными внутри архива. Функция не возвращает созданный `Blob`, ничего не загружает на сервер и не сохраняет данные приложения.
|
|
45
|
+
|
|
46
|
+
Если рендерер объявляет стили, показанный выше явный вызов `EditorRenderer.injectStyles()` подключает их, а возвращённый владелец освобождает.
|
|
47
|
+
|
|
48
|
+
Жизненный цикл, восстановление внутристрочных виджетов, стили и границы безопасности описаны в последовательном руководстве VitePress.
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Convert an untrusted attachment name into a flat, portable ZIP entry name.
|
|
3
|
+
* @param {unknown} value
|
|
4
|
+
* @param {number} [index]
|
|
5
|
+
* @returns {string}
|
|
6
|
+
*/
|
|
7
|
+
export function sanitizeArchiveFilename(value: unknown, index?: number): string;
|
|
8
|
+
/**
|
|
9
|
+
* Download attachments and package them into one ZIP archive.
|
|
10
|
+
* @param {Array<{url: string, name: string, size?: number}>} files
|
|
11
|
+
* @param {{ signal: AbortSignal }} context
|
|
12
|
+
* @returns {Promise<void>}
|
|
13
|
+
*/
|
|
14
|
+
export function downloadArchive(files: Array<{
|
|
15
|
+
url: string;
|
|
16
|
+
name: string;
|
|
17
|
+
size?: number;
|
|
18
|
+
}>, { signal }: {
|
|
19
|
+
signal: AbortSignal;
|
|
20
|
+
}): Promise<void>;
|
|
21
|
+
/**
|
|
22
|
+
* Create the attachment-list renderer and its archive-download lifecycle.
|
|
23
|
+
* @param {string} classPrefix
|
|
24
|
+
* @param {Record<string, import('../../../shared/localeTypes.js').LocaleValue>} locale
|
|
25
|
+
* @returns {import('../../types.js').BlockRenderer<import('../../types.js').AttachesBlock>}
|
|
26
|
+
*/
|
|
27
|
+
export function createAttachesRenderer(classPrefix: string, locale: Record<string, import("../../../shared/localeTypes.js").LocaleValue>): import("../../types.js").BlockRenderer<import("../../types.js").AttachesBlock>;
|
|
28
|
+
/**
|
|
29
|
+
* Hard safety and concurrency limits used by {@link downloadArchive}.
|
|
30
|
+
* Values are expressed as file counts or bytes and are immutable.
|
|
31
|
+
*/
|
|
32
|
+
export const ARCHIVE_LIMITS: Readonly<{
|
|
33
|
+
files: 50;
|
|
34
|
+
fileBytes: number;
|
|
35
|
+
totalBytes: number;
|
|
36
|
+
concurrency: 4;
|
|
37
|
+
}>;
|