@ablogcms/block-editor 3.2.28-beta.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +21 -0
- package/dist/chunk-4KUPYKHV.mjs +34 -0
- package/dist/chunk-4KUPYKHV.mjs.map +1 -0
- package/dist/chunk-57Q3DEDF.mjs +23 -0
- package/dist/chunk-57Q3DEDF.mjs.map +1 -0
- package/dist/chunk-DUT25D7Z.mjs +20 -0
- package/dist/chunk-DUT25D7Z.mjs.map +1 -0
- package/dist/chunk-EM5TLDPY.mjs +17 -0
- package/dist/chunk-EM5TLDPY.mjs.map +1 -0
- package/dist/chunk-GIHTGDIW.mjs +23 -0
- package/dist/chunk-GIHTGDIW.mjs.map +1 -0
- package/dist/chunk-HNSTT2Z4.mjs +87 -0
- package/dist/chunk-HNSTT2Z4.mjs.map +1 -0
- package/dist/chunk-JYUNKG2P.mjs +88 -0
- package/dist/chunk-JYUNKG2P.mjs.map +1 -0
- package/dist/chunk-OFWQRNO2.mjs +56 -0
- package/dist/chunk-OFWQRNO2.mjs.map +1 -0
- package/dist/chunk-OZG2BL6F.mjs +61 -0
- package/dist/chunk-OZG2BL6F.mjs.map +1 -0
- package/dist/chunk-S24TRRWW.mjs +3126 -0
- package/dist/chunk-S24TRRWW.mjs.map +1 -0
- package/dist/chunk-TKSGCO5Z.mjs +2813 -0
- package/dist/chunk-TKSGCO5Z.mjs.map +1 -0
- package/dist/chunk-XGAKMQH4.mjs +627 -0
- package/dist/chunk-XGAKMQH4.mjs.map +1 -0
- package/dist/components/BlockEditor/BlockEditor.d.ts +36 -0
- package/dist/components/BlockEditor/BlockEditor.mjs +19 -0
- package/dist/components/BlockEditor/BlockEditor.mjs.map +1 -0
- package/dist/components/BlockEditor/index.d.ts +1 -0
- package/dist/components/BlockEditor/types.d.ts +10 -0
- package/dist/components/menus/ContentItemMenu/ContentItemMenu.d.ts +10 -0
- package/dist/components/menus/ContentItemMenu/components/BlockMenus.d.ts +8 -0
- package/dist/components/menus/ContentItemMenu/components/IdEditor.d.ts +5 -0
- package/dist/components/menus/ContentItemMenu/hooks/useContentItemActions.d.ts +17 -0
- package/dist/components/menus/ContentItemMenu/hooks/useData.d.ts +13 -0
- package/dist/components/menus/ContentItemMenu/index.d.ts +1 -0
- package/dist/components/menus/LinkMenu/LinkMenu.d.ts +4 -0
- package/dist/components/menus/LinkMenu/index.d.ts +1 -0
- package/dist/components/menus/TextMenu/TextMenu.d.ts +6 -0
- package/dist/components/menus/TextMenu/components/ContentTypePicker.d.ts +8 -0
- package/dist/components/menus/TextMenu/components/CustomClassPicker.d.ts +6 -0
- package/dist/components/menus/TextMenu/components/EditLinkPopover.d.ts +8 -0
- package/dist/components/menus/TextMenu/components/FontFamilyPicker.d.ts +5 -0
- package/dist/components/menus/TextMenu/components/FontSizePicker.d.ts +5 -0
- package/dist/components/menus/TextMenu/hooks/useTextmenuCommands.d.ts +25 -0
- package/dist/components/menus/TextMenu/hooks/useTextmenuStates.d.ts +22 -0
- package/dist/components/menus/TextMenu/index.d.ts +1 -0
- package/dist/components/menus/index.d.ts +3 -0
- package/dist/components/menus/types.d.ts +18 -0
- package/dist/components/panels/AlignPicker/AlignPicker.d.ts +5 -0
- package/dist/components/panels/AlignPicker/AlignPicker.mjs +12 -0
- package/dist/components/panels/AlignPicker/AlignPicker.mjs.map +1 -0
- package/dist/components/panels/AlignPicker/index.d.ts +1 -0
- package/dist/components/panels/Colorpicker/ColorButton.d.ts +6 -0
- package/dist/components/panels/Colorpicker/ColorButton.mjs +10 -0
- package/dist/components/panels/Colorpicker/ColorButton.mjs.map +1 -0
- package/dist/components/panels/Colorpicker/Colorpicker.d.ts +6 -0
- package/dist/components/panels/Colorpicker/index.d.ts +1 -0
- package/dist/components/panels/LinkEditorPanel/LinkEditorPanel.d.ts +17 -0
- package/dist/components/panels/LinkEditorPanel/index.d.ts +1 -0
- package/dist/components/panels/LinkPreviewPanel/LinkPreviewPanel.d.ts +6 -0
- package/dist/components/panels/LinkPreviewPanel/index.d.ts +1 -0
- package/dist/components/panels/index.d.ts +4 -0
- package/dist/components/ui/Icon.d.ts +5 -0
- package/dist/components/ui/Icon.mjs +7 -0
- package/dist/components/ui/Icon.mjs.map +1 -0
- package/dist/components/ui/Surface.d.ts +6 -0
- package/dist/components/ui/Surface.mjs +10 -0
- package/dist/components/ui/Surface.mjs.map +1 -0
- package/dist/components/ui/Toolbar.d.ts +45 -0
- package/dist/components/ui/Toolbar.mjs +11 -0
- package/dist/components/ui/Toolbar.mjs.map +1 -0
- package/dist/config/blockMenuCategories.d.ts +22 -0
- package/dist/config/blockMenuCategories.mjs +19 -0
- package/dist/config/blockMenuCategories.mjs.map +1 -0
- package/dist/config/blocks/__tests__/createMockEditor.d.ts +29 -0
- package/dist/config/blocks/blockquote.d.ts +3 -0
- package/dist/config/blocks/bulletList.d.ts +3 -0
- package/dist/config/blocks/codeBlock.d.ts +3 -0
- package/dist/config/blocks/columns1.d.ts +3 -0
- package/dist/config/blocks/columns2.d.ts +3 -0
- package/dist/config/blocks/columns3.d.ts +3 -0
- package/dist/config/blocks/createHeadingActions.d.ts +7 -0
- package/dist/config/blocks/file.d.ts +3 -0
- package/dist/config/blocks/heading1.d.ts +3 -0
- package/dist/config/blocks/heading2.d.ts +3 -0
- package/dist/config/blocks/heading3.d.ts +3 -0
- package/dist/config/blocks/heading4.d.ts +3 -0
- package/dist/config/blocks/heading5.d.ts +3 -0
- package/dist/config/blocks/heading6.d.ts +3 -0
- package/dist/config/blocks/horizontalRule.d.ts +3 -0
- package/dist/config/blocks/image.d.ts +3 -0
- package/dist/config/blocks/index.d.ts +13 -0
- package/dist/config/blocks/linkButton.d.ts +3 -0
- package/dist/config/blocks/numberedList.d.ts +3 -0
- package/dist/config/blocks/paragraph.d.ts +3 -0
- package/dist/config/blocks/table.d.ts +3 -0
- package/dist/context/EditorExtensions.d.ts +12 -0
- package/dist/context/EditorExtensions.mjs +18 -0
- package/dist/context/EditorExtensions.mjs.map +1 -0
- package/dist/context/EditorSettings.d.ts +7 -0
- package/dist/context/EditorSettings.mjs +12 -0
- package/dist/context/EditorSettings.mjs.map +1 -0
- package/dist/dataview/column-type.d.ts +11 -0
- package/dist/dataview/column-type.mjs +14 -0
- package/dist/dataview/column-type.mjs.map +1 -0
- package/dist/extensions/BaseBlock/BaseBlock.d.ts +12 -0
- package/dist/extensions/BaseBlock/index.d.ts +1 -0
- package/dist/extensions/BlockquoteFigure/BlockquoteFigure.d.ts +11 -0
- package/dist/extensions/BlockquoteFigure/Quote/Quote.d.ts +3 -0
- package/dist/extensions/BlockquoteFigure/Quote/index.d.ts +1 -0
- package/dist/extensions/BlockquoteFigure/QuoteCaption/QuoteCaption.d.ts +3 -0
- package/dist/extensions/BlockquoteFigure/QuoteCaption/index.d.ts +1 -0
- package/dist/extensions/BlockquoteFigure/index.d.ts +1 -0
- package/dist/extensions/CustomConvertBlock/CustomConvertBlock.d.ts +14 -0
- package/dist/extensions/CustomConvertBlock/index.d.ts +1 -0
- package/dist/extensions/CustomMark/CustomMark.d.ts +3 -0
- package/dist/extensions/CustomMark/index.d.ts +1 -0
- package/dist/extensions/Document/Document.d.ts +2 -0
- package/dist/extensions/Document/index.d.ts +1 -0
- package/dist/extensions/Figcaption/Figcaption.d.ts +5 -0
- package/dist/extensions/Figcaption/index.d.ts +1 -0
- package/dist/extensions/Figure/Figure.d.ts +5 -0
- package/dist/extensions/Figure/index.d.ts +1 -0
- package/dist/extensions/FileBlock/FileBlock.d.ts +25 -0
- package/dist/extensions/FileBlock/components/FileBlockCaption.d.ts +6 -0
- package/dist/extensions/FileBlock/components/FileBlockMenu.d.ts +4 -0
- package/dist/extensions/FileBlock/components/FileBlockView.d.ts +9 -0
- package/dist/extensions/FileBlock/index.d.ts +1 -0
- package/dist/extensions/FileBlock/mediaUpdateHooks.d.ts +10 -0
- package/dist/extensions/FontStyle/FontStyle.d.ts +20 -0
- package/dist/extensions/FontStyle/index.d.ts +1 -0
- package/dist/extensions/Heading/Heading.d.ts +2 -0
- package/dist/extensions/Heading/index.d.ts +1 -0
- package/dist/extensions/HorizontalRule/HorizontalRule.d.ts +2 -0
- package/dist/extensions/HorizontalRule/index.d.ts +1 -0
- package/dist/extensions/Image/Image.d.ts +2 -0
- package/dist/extensions/Image/index.d.ts +1 -0
- package/dist/extensions/ImageBlock/ImageBlock.d.ts +34 -0
- package/dist/extensions/ImageBlock/components/ImageBlockCaption.d.ts +6 -0
- package/dist/extensions/ImageBlock/components/ImageBlockLink.d.ts +6 -0
- package/dist/extensions/ImageBlock/components/ImageBlockMenu.d.ts +4 -0
- package/dist/extensions/ImageBlock/components/ImageBlockView.d.ts +9 -0
- package/dist/extensions/ImageBlock/components/ImageBlockWidth.d.ts +5 -0
- package/dist/extensions/ImageBlock/index.d.ts +1 -0
- package/dist/extensions/ImageBlock/mediaUpdateHooks.d.ts +10 -0
- package/dist/extensions/Link/Link.d.ts +4 -0
- package/dist/extensions/Link/index.d.ts +1 -0
- package/dist/extensions/LinkButton/LinkButton.d.ts +15 -0
- package/dist/extensions/LinkButton/components/LinkButtonMenu.d.ts +4 -0
- package/dist/extensions/LinkButton/components/LinkButtonView.d.ts +7 -0
- package/dist/extensions/LinkButton/index.d.ts +1 -0
- package/dist/extensions/MediaUpload/MediaUpload.d.ts +12 -0
- package/dist/extensions/MediaUpload/index.d.ts +1 -0
- package/dist/extensions/MediaUpload/view/Dropzone.d.ts +7 -0
- package/dist/extensions/MediaUpload/view/filterFilesByMediaType.d.ts +10 -0
- package/dist/extensions/MediaUpload/view/hooks.d.ts +26 -0
- package/dist/extensions/MediaUpload/view/index.d.ts +1 -0
- package/dist/extensions/MediaUpload/view/insertMediaBlocks.d.ts +22 -0
- package/dist/extensions/MultiColumn/Column.d.ts +3 -0
- package/dist/extensions/MultiColumn/Columns.d.ts +16 -0
- package/dist/extensions/MultiColumn/index.d.ts +2 -0
- package/dist/extensions/PasteHandler/PasteHandler.d.ts +4 -0
- package/dist/extensions/PasteHandler/index.d.ts +1 -0
- package/dist/extensions/Selection/Selection.d.ts +3 -0
- package/dist/extensions/Selection/index.d.ts +1 -0
- package/dist/extensions/SlashCommand/BlockMenu.d.ts +9 -0
- package/dist/extensions/SlashCommand/SlashCommand.d.ts +18 -0
- package/dist/extensions/SlashCommand/index.d.ts +1 -0
- package/dist/extensions/Table/Cell.d.ts +12 -0
- package/dist/extensions/Table/Header.d.ts +9 -0
- package/dist/extensions/Table/Row.d.ts +2 -0
- package/dist/extensions/Table/Table.d.ts +9 -0
- package/dist/extensions/Table/index.d.ts +4 -0
- package/dist/extensions/Table/menus/ColorPicker.d.ts +4 -0
- package/dist/extensions/Table/menus/TableColumn/index.d.ts +4 -0
- package/dist/extensions/Table/menus/TableColumn/utils.d.ts +8 -0
- package/dist/extensions/Table/menus/TableMenu/index.d.ts +4 -0
- package/dist/extensions/Table/menus/TableRow/index.d.ts +4 -0
- package/dist/extensions/Table/menus/TableRow/utils.d.ts +8 -0
- package/dist/extensions/Table/menus/hooks.d.ts +5 -0
- package/dist/extensions/Table/menus/index.d.ts +3 -0
- package/dist/extensions/Table/utils.d.ts +44 -0
- package/dist/extensions/TrailingNode/index.d.ts +1 -0
- package/dist/extensions/TrailingNode/trailing-node.d.ts +11 -0
- package/dist/extensions/extension-kit.d.ts +10 -0
- package/dist/extensions/index.d.ts +34 -0
- package/dist/extensions/mediaBlockContent.d.ts +41 -0
- package/dist/hooks/resolveCommands.d.ts +10 -0
- package/dist/hooks/useBlockEditor.d.ts +27 -0
- package/dist/hooks/useBlockMenus.d.ts +17 -0
- package/dist/hooks/useEditorViewDom.d.ts +15 -0
- package/dist/hooks/useFrequentlyUsed.d.ts +6 -0
- package/dist/hooks/useSettings.d.ts +10 -0
- package/dist/index.d.ts +5 -0
- package/dist/index.mjs +33 -0
- package/dist/index.mjs.map +1 -0
- package/dist/lib/utils/commandUsageStorage.d.ts +14 -0
- package/dist/lib/utils/index.d.ts +5 -0
- package/dist/lib/utils/isCustomNodeSelected.d.ts +4 -0
- package/dist/lib/utils/isTextSelected.d.ts +5 -0
- package/dist/tiptap/core.d.ts +1 -0
- package/dist/tiptap/core.mjs +3 -0
- package/dist/tiptap/core.mjs.map +1 -0
- package/dist/tiptap/pm/changeset.d.ts +1 -0
- package/dist/tiptap/pm/changeset.mjs +3 -0
- package/dist/tiptap/pm/changeset.mjs.map +1 -0
- package/dist/tiptap/pm/commands.d.ts +1 -0
- package/dist/tiptap/pm/commands.mjs +3 -0
- package/dist/tiptap/pm/commands.mjs.map +1 -0
- package/dist/tiptap/pm/dropcursor.d.ts +1 -0
- package/dist/tiptap/pm/dropcursor.mjs +3 -0
- package/dist/tiptap/pm/dropcursor.mjs.map +1 -0
- package/dist/tiptap/pm/gapcursor.d.ts +1 -0
- package/dist/tiptap/pm/gapcursor.mjs +3 -0
- package/dist/tiptap/pm/gapcursor.mjs.map +1 -0
- package/dist/tiptap/pm/history.d.ts +1 -0
- package/dist/tiptap/pm/history.mjs +3 -0
- package/dist/tiptap/pm/history.mjs.map +1 -0
- package/dist/tiptap/pm/inputrules.d.ts +1 -0
- package/dist/tiptap/pm/inputrules.mjs +3 -0
- package/dist/tiptap/pm/inputrules.mjs.map +1 -0
- package/dist/tiptap/pm/keymap.d.ts +1 -0
- package/dist/tiptap/pm/keymap.mjs +3 -0
- package/dist/tiptap/pm/keymap.mjs.map +1 -0
- package/dist/tiptap/pm/model.d.ts +1 -0
- package/dist/tiptap/pm/model.mjs +3 -0
- package/dist/tiptap/pm/model.mjs.map +1 -0
- package/dist/tiptap/pm/schema-list.d.ts +1 -0
- package/dist/tiptap/pm/schema-list.mjs +3 -0
- package/dist/tiptap/pm/schema-list.mjs.map +1 -0
- package/dist/tiptap/pm/state.d.ts +1 -0
- package/dist/tiptap/pm/state.mjs +3 -0
- package/dist/tiptap/pm/state.mjs.map +1 -0
- package/dist/tiptap/pm/tables.d.ts +1 -0
- package/dist/tiptap/pm/tables.mjs +3 -0
- package/dist/tiptap/pm/tables.mjs.map +1 -0
- package/dist/tiptap/pm/transform.d.ts +1 -0
- package/dist/tiptap/pm/transform.mjs +3 -0
- package/dist/tiptap/pm/transform.mjs.map +1 -0
- package/dist/tiptap/pm/view.d.ts +1 -0
- package/dist/tiptap/pm/view.mjs +3 -0
- package/dist/tiptap/pm/view.mjs.map +1 -0
- package/dist/tiptap/react.d.ts +1 -0
- package/dist/tiptap/react.mjs +3 -0
- package/dist/tiptap/react.mjs.map +1 -0
- package/dist/tiptap/suggestion.d.ts +3 -0
- package/dist/tiptap/suggestion.mjs +8 -0
- package/dist/tiptap/suggestion.mjs.map +1 -0
- package/dist/tiptap/tiptap.d.ts +48 -0
- package/dist/tiptap/tiptap.mjs +41 -0
- package/dist/tiptap/tiptap.mjs.map +1 -0
- package/dist/types/index.d.ts +149 -0
- package/dist/types/index.mjs +1 -0
- package/dist/types/index.mjs.map +1 -0
- package/dist/utils/createBlockMenu.d.ts +30 -0
- package/dist/utils/createProps.d.ts +7 -0
- package/dist/utils/createProps.mjs +7 -0
- package/dist/utils/createProps.mjs.map +1 -0
- package/dist/utils/mergeBlockDefinitions.d.ts +10 -0
- package/dist/utils/mergeBlockDefinitions.mjs +8 -0
- package/dist/utils/mergeBlockDefinitions.mjs.map +1 -0
- package/dist/utils/mergeSettings.d.ts +11 -0
- package/dist/utils/normalizeSettings.d.ts +28 -0
- package/dist/utils/normalizeSettings.mjs +13 -0
- package/dist/utils/normalizeSettings.mjs.map +1 -0
- package/package.json +243 -0
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
// src/config/blockMenuCategories.ts
|
|
2
|
+
var BLOCK_MENU_CATEGORIES = [
|
|
3
|
+
{ slug: "basic", label: "\u57FA\u672C" },
|
|
4
|
+
{ slug: "insert", label: "\u633F\u5165" },
|
|
5
|
+
{ slug: "layout", label: "\u30EC\u30A4\u30A2\u30A6\u30C8" }
|
|
6
|
+
];
|
|
7
|
+
var PLUGIN_BLOCK_MENU_CATEGORY = { slug: "plugin", label: "\u30D7\u30E9\u30B0\u30A4\u30F3" };
|
|
8
|
+
var CATEGORIES_BY_SLUG = new Map(
|
|
9
|
+
[...BLOCK_MENU_CATEGORIES, PLUGIN_BLOCK_MENU_CATEGORY].map((category) => [category.slug, category])
|
|
10
|
+
);
|
|
11
|
+
function getBlockMenuCategoryLabel(slug) {
|
|
12
|
+
return CATEGORIES_BY_SLUG.get(slug)?.label ?? slug;
|
|
13
|
+
}
|
|
14
|
+
export {
|
|
15
|
+
BLOCK_MENU_CATEGORIES,
|
|
16
|
+
PLUGIN_BLOCK_MENU_CATEGORY,
|
|
17
|
+
getBlockMenuCategoryLabel
|
|
18
|
+
};
|
|
19
|
+
//# sourceMappingURL=blockMenuCategories.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/config/blockMenuCategories.ts"],"sourcesContent":["export interface BlockMenuCategory {\n /** カテゴリーの識別子(英語スラッグ)。`BlockTypeMaster.menuCategory` の値として使う。 */\n slug: string;\n /** 編集設定画面(`<acms-block-editor-menu-type-select>`)の optgroup ラベルに使う日本語名。 */\n label: string;\n}\n\n/**\n * コアが提供するブロックタイプの menuCategory 一覧。この配列の順序が編集設定画面の\n * optgroup の出現順になる。\n */\nexport const BLOCK_MENU_CATEGORIES: BlockMenuCategory[] = [\n { slug: 'basic', label: '基本' },\n { slug: 'insert', label: '挿入' },\n { slug: 'layout', label: 'レイアウト' },\n];\n\n/**\n * プラグイン提供の BlockDefinition(`registerBlockDefinition`)が `menuCategory` を\n * 省略した場合に割り当てるカテゴリー。\n */\nexport const PLUGIN_BLOCK_MENU_CATEGORY: BlockMenuCategory = { slug: 'plugin', label: 'プラグイン' };\n\nconst CATEGORIES_BY_SLUG = new Map(\n [...BLOCK_MENU_CATEGORIES, PLUGIN_BLOCK_MENU_CATEGORY].map((category) => [category.slug, category])\n);\n\n/**\n * slug から日本語ラベルを解決する。未知の slug(プラグインが `BLOCK_MENU_CATEGORIES` に\n * 無い独自の menuCategory を指定した場合)は slug をそのままラベルとして使う\n * フォールバックにする。\n */\nexport function getBlockMenuCategoryLabel(slug: string): string {\n return CATEGORIES_BY_SLUG.get(slug)?.label ?? slug;\n}\n"],"mappings":";AAWO,IAAM,wBAA6C;AAAA,EACxD,EAAE,MAAM,SAAS,OAAO,eAAK;AAAA,EAC7B,EAAE,MAAM,UAAU,OAAO,eAAK;AAAA,EAC9B,EAAE,MAAM,UAAU,OAAO,iCAAQ;AACnC;AAMO,IAAM,6BAAgD,EAAE,MAAM,UAAU,OAAO,iCAAQ;AAE9F,IAAM,qBAAqB,IAAI;AAAA,EAC7B,CAAC,GAAG,uBAAuB,0BAA0B,EAAE,IAAI,CAAC,aAAa,CAAC,SAAS,MAAM,QAAQ,CAAC;AACpG;AAOO,SAAS,0BAA0B,MAAsB;AAC9D,SAAO,mBAAmB,IAAI,IAAI,GAAG,SAAS;AAChD;","names":[]}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import { type Mock } from 'vitest';
|
|
2
|
+
import type { Editor } from '@tiptap/core';
|
|
3
|
+
/**
|
|
4
|
+
* tiptap Editor の chain() / isActive() / can() / state を最小限再現するモック。
|
|
5
|
+
*
|
|
6
|
+
* chain() は fluent インタフェース。`.run()` で終端、それ以外のメソッドは this を返す。
|
|
7
|
+
* 呼び出されたメソッド名と引数の列が `chainCalls` に蓄積される。
|
|
8
|
+
*
|
|
9
|
+
* isActive と can は `vi.fn` なので、各テストで戻り値を差し替えられる。
|
|
10
|
+
*
|
|
11
|
+
* `state.selection.$from` は depth / before / node を持つ最小モック。
|
|
12
|
+
*/
|
|
13
|
+
export interface MockEditor {
|
|
14
|
+
editor: Editor;
|
|
15
|
+
chainCalls: Array<{
|
|
16
|
+
method: string;
|
|
17
|
+
args: unknown[];
|
|
18
|
+
}>;
|
|
19
|
+
isActive: Mock;
|
|
20
|
+
can: Mock;
|
|
21
|
+
setSelectionDepth: (depth: number) => void;
|
|
22
|
+
setSelectionHead: (head: number) => void;
|
|
23
|
+
setNodeAt: (depth: number, typeName: string) => void;
|
|
24
|
+
/** 任意の chain メソッド (例: 'setParagraph') が「.run() 終了までの間に」呼ばれたか */
|
|
25
|
+
expectChainCalled: (method: string) => boolean;
|
|
26
|
+
/** 指定 chain メソッドの呼び出し時の args を取得 */
|
|
27
|
+
getChainCallArgs: (method: string) => unknown[] | undefined;
|
|
28
|
+
}
|
|
29
|
+
export default function createMockEditor(): MockEditor;
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import type { ActionContext, BlockActions, CommandItem } from '../../types/index.js';
|
|
2
|
+
export type HeadingLevel = 1 | 2 | 3 | 4 | 5 | 6;
|
|
3
|
+
/**
|
|
4
|
+
* heading1〜heading6 で共通する action/convert/isDisabled/isActive を生成する。
|
|
5
|
+
* level だけ差し替えれば 6 種のすべての挙動が組み立てられる。
|
|
6
|
+
*/
|
|
7
|
+
export default function createHeadingActions(level: HeadingLevel): (cmd: CommandItem, ctx: ActionContext) => BlockActions;
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import type { BlockDefinition } from '../../types/index.js';
|
|
2
|
+
/**
|
|
3
|
+
* フロントエンドが扱えるブロックタイプの全定義。
|
|
4
|
+
*
|
|
5
|
+
* 各 type の静的メタ(label / icon / 等)と、useBlockMenus.resolveCommands が
|
|
6
|
+
* CommandItem に差し込むランタイム関数 (createActions) を 1 箇所にまとめている。
|
|
7
|
+
*
|
|
8
|
+
* - キーの集合 = フロントが action を実装している type の集合
|
|
9
|
+
* - PHP からこのマスターは参照しない(admin の入力値だけが PHP から送られる)
|
|
10
|
+
* - 新ブロックを追加する場合は config/blocks/{type}.ts を作って、この index に追記するだけ
|
|
11
|
+
*/
|
|
12
|
+
declare const BLOCK_DEFINITIONS: Record<string, BlockDefinition>;
|
|
13
|
+
export default BLOCK_DEFINITIONS;
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import type { AnyExtension } from '../tiptap/core.js';
|
|
3
|
+
import type { BlockDefinition } from '../types/index.js';
|
|
4
|
+
export interface EditorExtensionsValue {
|
|
5
|
+
extensions: AnyExtension[];
|
|
6
|
+
blockDefinitions: Record<string, BlockDefinition>;
|
|
7
|
+
}
|
|
8
|
+
export declare function EditorExtensionsProvider({ children, value, }: {
|
|
9
|
+
children: React.ReactNode;
|
|
10
|
+
value: EditorExtensionsValue | null;
|
|
11
|
+
}): React.JSX.Element;
|
|
12
|
+
export declare const useEditorExtensionsContext: () => EditorExtensionsValue | null;
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
// src/context/EditorExtensions.tsx
|
|
2
|
+
import { createContext, useContext } from "react";
|
|
3
|
+
import { jsx } from "react/jsx-runtime";
|
|
4
|
+
var EditorExtensionsContext = createContext(null);
|
|
5
|
+
function EditorExtensionsProvider({
|
|
6
|
+
children,
|
|
7
|
+
value
|
|
8
|
+
}) {
|
|
9
|
+
return /* @__PURE__ */ jsx(EditorExtensionsContext.Provider, { value, children });
|
|
10
|
+
}
|
|
11
|
+
var useEditorExtensionsContext = () => {
|
|
12
|
+
return useContext(EditorExtensionsContext);
|
|
13
|
+
};
|
|
14
|
+
export {
|
|
15
|
+
EditorExtensionsProvider,
|
|
16
|
+
useEditorExtensionsContext
|
|
17
|
+
};
|
|
18
|
+
//# sourceMappingURL=EditorExtensions.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/context/EditorExtensions.tsx"],"sourcesContent":["import React, { createContext, useContext } from 'react';\nimport type { AnyExtension } from '../tiptap/core';\nimport type { BlockDefinition } from '../types';\n\nexport interface EditorExtensionsValue {\n extensions: AnyExtension[];\n blockDefinitions: Record<string, BlockDefinition>;\n}\n\n/**\n * unit-editor 経由(unit-editor / inplace-editor / config-editor の block-editor ユニット定義)で\n * プラグイン拡張(`registerExtension` / `registerBlockDefinition`)を BlockEditor へ横流しするための\n * Context。`EditorSettings`(`context/EditorSettings.tsx`)と同じ理由・同じパターンで、unit-editor\n * パッケージ自体はデータ取得・レジストリ解決を持ち込まず、コア側(`ablogcms/js/src`)が Provider で\n * 注入する。\n *\n * 値は `null`(未解決)を経由する。Tiptap ランタイムの取得が非同期(動的 import)であり、かつ\n * Tiptap は動的な拡張の付け外しに対応しないため、`null` の間は BlockEditor を描画しないことで\n * 「拡張が反映されないまま初期化されてしまう」事故を避ける(呼び出し側が null 分岐を担う)。\n */\nconst EditorExtensionsContext = createContext<EditorExtensionsValue | null>(null);\n\nexport function EditorExtensionsProvider({\n children,\n value,\n}: {\n children: React.ReactNode;\n value: EditorExtensionsValue | null;\n}) {\n return <EditorExtensionsContext.Provider value={value}>{children}</EditorExtensionsContext.Provider>;\n}\n\nexport const useEditorExtensionsContext = (): EditorExtensionsValue | null => {\n return useContext(EditorExtensionsContext);\n};\n"],"mappings":";AAAA,SAAgB,eAAe,kBAAkB;AA6BxC;AATT,IAAM,0BAA0B,cAA4C,IAAI;AAEzE,SAAS,yBAAyB;AAAA,EACvC;AAAA,EACA;AACF,GAGG;AACD,SAAO,oBAAC,wBAAwB,UAAxB,EAAiC,OAAe,UAAS;AACnE;AAEO,IAAM,6BAA6B,MAAoC;AAC5E,SAAO,WAAW,uBAAuB;AAC3C;","names":[]}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import type { EditorSettings } from '../types/index.js';
|
|
3
|
+
export declare function SettingsProvider({ children, settings }: {
|
|
4
|
+
children: React.ReactNode;
|
|
5
|
+
settings: EditorSettings;
|
|
6
|
+
}): React.JSX.Element;
|
|
7
|
+
export declare const useSettingsContext: () => EditorSettings;
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import {
|
|
2
|
+
SettingsProvider,
|
|
3
|
+
useSettingsContext
|
|
4
|
+
} from "../chunk-DUT25D7Z.mjs";
|
|
5
|
+
import "../chunk-JYUNKG2P.mjs";
|
|
6
|
+
import "../chunk-XGAKMQH4.mjs";
|
|
7
|
+
import "../chunk-OZG2BL6F.mjs";
|
|
8
|
+
export {
|
|
9
|
+
SettingsProvider,
|
|
10
|
+
useSettingsContext
|
|
11
|
+
};
|
|
12
|
+
//# sourceMappingURL=EditorSettings.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":[],"sourcesContent":[],"mappings":"","names":[]}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import type { ColumnTypeDef } from '@ablogcms/components/dataview/types';
|
|
2
|
+
/**
|
|
3
|
+
* dataview の `columnTypes` prop に登録する block-editor カラム型定義。
|
|
4
|
+
* 元は components/dataview/dataview.tsx にハードコードされていたが、
|
|
5
|
+
* カラム型の登録化(フェーズ3-1b)で features/block-editor 側へ移設した。
|
|
6
|
+
* block-editor の tiptap 実装本体には触れず、この小さな定義ファイルのみを追加している。
|
|
7
|
+
*
|
|
8
|
+
* `ColumnTypeDef<any>` にしているのは、entry / module 等どの行の型(T)にも登録できる
|
|
9
|
+
* ようにするため(登録先ごとに具体的な行の型でラップし直す必要をなくす)。
|
|
10
|
+
*/
|
|
11
|
+
export declare const blockEditorColumnType: ColumnTypeDef<any>;
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
// src/dataview/column-type.tsx
|
|
2
|
+
import { stripHtmlTags, truncate } from "@ablogcms/utils/string";
|
|
3
|
+
var formatTextarea = (value) => truncate(stripHtmlTags(value), 100, "...");
|
|
4
|
+
function getValue(info) {
|
|
5
|
+
return formatTextarea(info.getValue());
|
|
6
|
+
}
|
|
7
|
+
var blockEditorColumnType = {
|
|
8
|
+
getValue,
|
|
9
|
+
label: ACMS.i18n("dataview.custom_column.type.block-editor")
|
|
10
|
+
};
|
|
11
|
+
export {
|
|
12
|
+
blockEditorColumnType
|
|
13
|
+
};
|
|
14
|
+
//# sourceMappingURL=column-type.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/dataview/column-type.tsx"],"sourcesContent":["/* eslint @typescript-eslint/no-explicit-any: 0 */\n\nimport type { CellContext } from '@tanstack/react-table';\nimport type { ColumnTypeDef, RowData } from '@ablogcms/components/dataview/types';\nimport { stripHtmlTags, truncate } from '@ablogcms/utils/string';\n\nconst formatTextarea = (value: string): string => truncate(stripHtmlTags(value), 100, '...');\n\nfunction getValue(info: CellContext<RowData, string>): React.ReactNode {\n return formatTextarea(info.getValue());\n}\n\n/**\n * dataview の `columnTypes` prop に登録する block-editor カラム型定義。\n * 元は components/dataview/dataview.tsx にハードコードされていたが、\n * カラム型の登録化(フェーズ3-1b)で features/block-editor 側へ移設した。\n * block-editor の tiptap 実装本体には触れず、この小さな定義ファイルのみを追加している。\n *\n * `ColumnTypeDef<any>` にしているのは、entry / module 等どの行の型(T)にも登録できる\n * ようにするため(登録先ごとに具体的な行の型でラップし直す必要をなくす)。\n */\nexport const blockEditorColumnType: ColumnTypeDef<any> = {\n getValue,\n label: ACMS.i18n('dataview.custom_column.type.block-editor'),\n};\n"],"mappings":";AAIA,SAAS,eAAe,gBAAgB;AAExC,IAAM,iBAAiB,CAAC,UAA0B,SAAS,cAAc,KAAK,GAAG,KAAK,KAAK;AAE3F,SAAS,SAAS,MAAqD;AACrE,SAAO,eAAe,KAAK,SAAS,CAAC;AACvC;AAWO,IAAM,wBAA4C;AAAA,EACvD;AAAA,EACA,OAAO,KAAK,KAAK,0CAA0C;AAC7D;","names":[]}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { Extension } from '@tiptap/core';
|
|
2
|
+
declare module '@tiptap/core' {
|
|
3
|
+
interface Commands<ReturnType> {
|
|
4
|
+
blockAttributes: {
|
|
5
|
+
setBlockAttrs: (pos: number, attrs: {
|
|
6
|
+
id?: string | null;
|
|
7
|
+
class?: string | null;
|
|
8
|
+
}) => ReturnType;
|
|
9
|
+
};
|
|
10
|
+
}
|
|
11
|
+
}
|
|
12
|
+
export declare const BlockAttributes: Extension<any, any>;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './BaseBlock.js';
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
declare module '@tiptap/core' {
|
|
2
|
+
interface Commands<ReturnType> {
|
|
3
|
+
blockquoteFigure: {
|
|
4
|
+
setBlockquote: () => ReturnType;
|
|
5
|
+
};
|
|
6
|
+
}
|
|
7
|
+
}
|
|
8
|
+
export declare const BlockquoteFigure: import("@tiptap/core").Node<{
|
|
9
|
+
HTMLAttributes: {};
|
|
10
|
+
}, any>;
|
|
11
|
+
export default BlockquoteFigure;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './Quote.js';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './QuoteCaption.js';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './BlockquoteFigure.js';
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { Extension } from '@tiptap/core';
|
|
2
|
+
declare module '@tiptap/core' {
|
|
3
|
+
interface Commands<ReturnType> {
|
|
4
|
+
unwrapList: {
|
|
5
|
+
removeList: (pos: number) => ReturnType;
|
|
6
|
+
removeListAsParagraphs: (pos: number) => ReturnType;
|
|
7
|
+
unwrapList: () => ReturnType;
|
|
8
|
+
removeBlockquote: (pos: number) => ReturnType;
|
|
9
|
+
splitBulletList: (pos: number) => ReturnType;
|
|
10
|
+
splitOrderedList: (pos: number) => ReturnType;
|
|
11
|
+
};
|
|
12
|
+
}
|
|
13
|
+
}
|
|
14
|
+
export declare const CustomConvertBlock: Extension<any, any>;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './CustomConvertBlock.js';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './CustomMark.js';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './Document.js';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './Figcaption.js';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './Figure.js';
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import { Range } from '@tiptap/core';
|
|
2
|
+
import { MediaItem } from '@ablogcms/media/types';
|
|
3
|
+
declare module '@tiptap/core' {
|
|
4
|
+
interface Commands<ReturnType> {
|
|
5
|
+
fileBlock: {
|
|
6
|
+
setFileBlock: (attributes: {
|
|
7
|
+
src: string;
|
|
8
|
+
}) => ReturnType;
|
|
9
|
+
setFileBlockAt: (attributes: {
|
|
10
|
+
src: string;
|
|
11
|
+
pos: number | Range;
|
|
12
|
+
}) => ReturnType;
|
|
13
|
+
setFileBlockDisplayType: (displayType: 'icon' | 'button') => ReturnType;
|
|
14
|
+
setFileBlockAlign: (align: 'left' | 'center' | 'right') => ReturnType;
|
|
15
|
+
setFileBlockCaption: (caption: string) => ReturnType;
|
|
16
|
+
setFileBlockAlt: (alt: string) => ReturnType;
|
|
17
|
+
setMediaFileBlock: (mediaItem: MediaItem, className?: string) => ReturnType;
|
|
18
|
+
updateMediaFileBlock: (mediaItem: MediaItem) => ReturnType;
|
|
19
|
+
updateAllMediaFileBlocks: (mediaItem: MediaItem) => ReturnType;
|
|
20
|
+
toggleFileBlockTarget: () => ReturnType;
|
|
21
|
+
};
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
export declare const FileBlock: import("@tiptap/core").Node<import("../ImageBlock/index.js").ImageBlockOptions, any>;
|
|
25
|
+
export default FileBlock;
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
export type FileBlockCaptionProps = {
|
|
2
|
+
caption: string;
|
|
3
|
+
alt: string;
|
|
4
|
+
onChange: (caption: string, alt: string) => void;
|
|
5
|
+
};
|
|
6
|
+
export declare const FileBlockCaption: import("react").MemoExoticComponent<({ caption, alt, onChange }: FileBlockCaptionProps) => import("react").JSX.Element>;
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { Editor } from '@tiptap/react';
|
|
2
|
+
import { Node } from '@tiptap/pm/model';
|
|
3
|
+
interface FileBlockViewProps {
|
|
4
|
+
editor: Editor;
|
|
5
|
+
getPos: () => number | undefined;
|
|
6
|
+
node: Node;
|
|
7
|
+
}
|
|
8
|
+
export declare function FileBlockView(props: FileBlockViewProps): import("react").JSX.Element;
|
|
9
|
+
export default FileBlockView;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './FileBlock.js';
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { Node as TiptapNode } from '@tiptap/pm/model';
|
|
2
|
+
export declare const useMediaUpdate: ({ inspectMedia }: {
|
|
3
|
+
inspectMedia: () => TiptapNode | undefined;
|
|
4
|
+
}) => {
|
|
5
|
+
targetMediaId: any;
|
|
6
|
+
selfImgSrc: any;
|
|
7
|
+
isUpdateModalOpen: boolean;
|
|
8
|
+
handleUpdateModalClose: () => void;
|
|
9
|
+
handleUpdateClick: () => void;
|
|
10
|
+
};
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { Extension } from '@tiptap/core';
|
|
2
|
+
import '@tiptap/extension-text-style';
|
|
3
|
+
declare module '@tiptap/core' {
|
|
4
|
+
interface Commands<ReturnType> {
|
|
5
|
+
fontStyle: {
|
|
6
|
+
setFontSize: (size: string) => ReturnType;
|
|
7
|
+
unsetFontSize: () => ReturnType;
|
|
8
|
+
setFontFamily: (family: string) => ReturnType;
|
|
9
|
+
unsetFontFamily: () => ReturnType;
|
|
10
|
+
setFontColor: (color: string) => ReturnType;
|
|
11
|
+
unsetFontColor: () => ReturnType;
|
|
12
|
+
setFontBgColor: (color: string) => ReturnType;
|
|
13
|
+
unsetFontBgColor: () => ReturnType;
|
|
14
|
+
};
|
|
15
|
+
}
|
|
16
|
+
}
|
|
17
|
+
export declare const FontStyle: Extension<{
|
|
18
|
+
types: string[];
|
|
19
|
+
}, any>;
|
|
20
|
+
export default FontStyle;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './FontStyle.js';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './Heading.js';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './HorizontalRule.js';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './Image.js';
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import { Range } from '@tiptap/core';
|
|
2
|
+
import type { MediaItem } from '@ablogcms/media/types';
|
|
3
|
+
declare module '@tiptap/core' {
|
|
4
|
+
interface Commands<ReturnType> {
|
|
5
|
+
imageBlock: {
|
|
6
|
+
setImageBlock: (attributes: {
|
|
7
|
+
src: string;
|
|
8
|
+
}) => ReturnType;
|
|
9
|
+
setImageBlockAt: (attributes: {
|
|
10
|
+
src: string;
|
|
11
|
+
pos: number | Range;
|
|
12
|
+
}) => ReturnType;
|
|
13
|
+
setImageBlockAlign: (align: 'left' | 'center' | 'right') => ReturnType;
|
|
14
|
+
setImageBlockWidth: (width: string) => ReturnType;
|
|
15
|
+
setImageBlockLink: (link: string, openInNewTab?: boolean) => ReturnType;
|
|
16
|
+
setImageBlockCaption: (caption: string) => ReturnType;
|
|
17
|
+
setImageBlockAlt: (alt: string) => ReturnType;
|
|
18
|
+
setMediaImageBlock: (mediaItem: MediaItem, className?: string) => ReturnType;
|
|
19
|
+
updateMediaImageBlock: (mediaItem: MediaItem) => ReturnType;
|
|
20
|
+
updateAllMediaImageBlocks: (mediaItem: MediaItem) => ReturnType;
|
|
21
|
+
toggleImageBlockLightbox: () => ReturnType;
|
|
22
|
+
};
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
export interface ImageBlockOptions {
|
|
26
|
+
/**
|
|
27
|
+
* 画像を新規挿入したときに、拡大表示(Lightbox)をデフォルトで有効にするかを返す getter。
|
|
28
|
+
* 設定値は SWR で遅延して届くため、固定値ではなく getter で都度参照する。
|
|
29
|
+
* 未設定時は現行動作(拡大表示オン)を維持する。
|
|
30
|
+
*/
|
|
31
|
+
getImageDefaultLightbox: () => boolean;
|
|
32
|
+
}
|
|
33
|
+
export declare const ImageBlock: import("@tiptap/core").Node<ImageBlockOptions, any>;
|
|
34
|
+
export default ImageBlock;
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
export type ImageBlockCaptionProps = {
|
|
2
|
+
caption: string;
|
|
3
|
+
alt: string;
|
|
4
|
+
onChange: (caption: string, alt: string) => void;
|
|
5
|
+
};
|
|
6
|
+
export declare const ImageBlockCaption: import("react").MemoExoticComponent<({ caption, alt, onChange }: ImageBlockCaptionProps) => import("react").JSX.Element>;
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
export type ImageBlockLinkProps = {
|
|
2
|
+
initialUrl: string;
|
|
3
|
+
initialOpenInNewTab: boolean;
|
|
4
|
+
onChange: (url: string, openInNewTab?: boolean) => void;
|
|
5
|
+
};
|
|
6
|
+
export declare const ImageBlockLink: import("react").MemoExoticComponent<({ initialUrl, initialOpenInNewTab, onChange }: ImageBlockLinkProps) => import("react").JSX.Element>;
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { Editor } from '@tiptap/react';
|
|
2
|
+
import { Node } from '@tiptap/pm/model';
|
|
3
|
+
interface ImageBlockViewProps {
|
|
4
|
+
editor: Editor;
|
|
5
|
+
getPos: () => number | undefined;
|
|
6
|
+
node: Node;
|
|
7
|
+
}
|
|
8
|
+
export declare function ImageBlockView(props: ImageBlockViewProps): import("react").JSX.Element;
|
|
9
|
+
export default ImageBlockView;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './ImageBlock.js';
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { Node as TiptapNode } from '@tiptap/pm/model';
|
|
2
|
+
export declare const useMediaUpdate: ({ inspectMedia }: {
|
|
3
|
+
inspectMedia: () => TiptapNode | undefined;
|
|
4
|
+
}) => {
|
|
5
|
+
targetMediaId: number | null;
|
|
6
|
+
selfImgSrc: any;
|
|
7
|
+
isUpdateModalOpen: boolean;
|
|
8
|
+
handleUpdateModalClose: () => void;
|
|
9
|
+
handleUpdateClick: () => void;
|
|
10
|
+
};
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import type { LinkOptions } from '@tiptap/extension-link';
|
|
2
|
+
export declare function isAllowedBlockEditorLinkUri(uri: string | undefined, protocols?: LinkOptions['protocols']): true | RegExpMatchArray | null;
|
|
3
|
+
export declare const Link: import("@tiptap/core").Mark<LinkOptions, any>;
|
|
4
|
+
export default Link;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './Link.js';
|