@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 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/config/blocks/paragraph.ts","../src/config/blocks/createHeadingActions.ts","../src/config/blocks/heading1.ts","../src/config/blocks/heading2.ts","../src/config/blocks/heading3.ts","../src/config/blocks/heading4.ts","../src/config/blocks/heading5.ts","../src/config/blocks/heading6.ts","../src/config/blocks/bulletList.ts","../src/config/blocks/numberedList.ts","../src/config/blocks/blockquote.ts","../src/config/blocks/codeBlock.ts","../src/config/blocks/image.ts","../src/config/blocks/file.ts","../src/config/blocks/linkButton.ts","../src/config/blocks/table.ts","../src/config/blocks/columns1.ts","../src/config/blocks/columns2.ts","../src/config/blocks/columns3.ts","../src/config/blocks/horizontalRule.ts","../src/config/blocks/index.ts","../src/utils/mergeBlockDefinitions.ts"],"sourcesContent":["import type { BlockDefinition } from '../../types';\n\nconst paragraph: BlockDefinition = {\n label: '段落',\n icon: 'title',\n description: '段落',\n isTextMenu: true,\n aliases: ['p', 'paragraph', 'text'],\n menuCategory: 'basic',\n createActions: (cmd, ctx) => ({\n action: (editor) => {\n ctx.recordUsage(cmd);\n editor.chain().focus().setParagraph().run();\n const { $from } = editor.state.selection;\n const pos = $from.before($from.depth);\n editor.chain().focus().setBlockAttrs(pos, { class: cmd.class }).run();\n },\n convert: (editor, pos) => {\n const chain = editor.chain();\n chain.setNodeSelection(pos);\n chain.removeList(pos).removeBlockquote(pos).setParagraph().run();\n const { $from } = editor.state.selection;\n const newPos = $from.before(1);\n editor.chain().focus().setBlockAttrs(newPos, { class: cmd.class }).run();\n },\n isDisabled: (editor) => {\n const isSame = cmd.class\n ? editor.isActive('paragraph', { class: cmd.class })\n : editor.isActive('paragraph', { class: null }) || editor.isActive('paragraph', { class: '' });\n // 同じ要素 + class なら disable\n if (isSame) {\n return true;\n }\n // 同じ要素だが class が違う場合 → enable\n if (editor.isActive('paragraph')) {\n return false;\n }\n // それ以外は通常の can 判定\n return !editor.can().setParagraph();\n },\n isActive: (editor) => {\n if (cmd.class) {\n return editor.isActive('paragraph', { class: cmd.class });\n }\n return editor.isActive('paragraph', { class: null }) || editor.isActive('paragraph', { class: '' });\n },\n }),\n};\n\nexport default paragraph;\n","import type { ActionContext, BlockActions, CommandItem } from '../../types';\n\nexport type HeadingLevel = 1 | 2 | 3 | 4 | 5 | 6;\n\n/**\n * heading1〜heading6 で共通する action/convert/isDisabled/isActive を生成する。\n * level だけ差し替えれば 6 種のすべての挙動が組み立てられる。\n */\nexport default function createHeadingActions(level: HeadingLevel) {\n return (cmd: CommandItem, ctx: ActionContext): BlockActions => ({\n action: (editor) => {\n ctx.recordUsage(cmd);\n editor.chain().focus().setHeading({ level }).run();\n const { $from } = editor.state.selection;\n const pos = $from.before($from.depth);\n editor.chain().focus().setBlockAttrs(pos, { class: cmd.class }).run();\n },\n convert: (editor, pos) => {\n const chain = editor.chain();\n chain.setNodeSelection(pos);\n chain.removeList(pos).removeBlockquote(pos).setHeading({ level }).run();\n const { $from } = editor.state.selection;\n const newPos = $from.before(1);\n editor.chain().focus().setBlockAttrs(newPos, { class: cmd.class }).run();\n },\n isDisabled: (editor) => {\n const isSame = cmd.class\n ? editor.isActive('heading', { level, class: cmd.class })\n : editor.isActive('heading', { level, class: null }) || editor.isActive('heading', { level, class: '' });\n // 同じ要素 + class なら disable\n if (isSame) {\n return true;\n }\n // 同じ要素だが class が違う場合 → enable\n if (editor.isActive('heading', { level })) {\n return false;\n }\n // それ以外は通常の can 判定\n return !editor.can().setHeading({ level });\n },\n isActive: (editor) => {\n if (cmd.class) {\n return editor.isActive('heading', { level, class: cmd.class });\n }\n return editor.isActive('heading', { level, class: null }) || editor.isActive('heading', { level, class: '' });\n },\n });\n}\n","import type { BlockDefinition } from '../../types';\nimport createHeadingActions from './createHeadingActions';\n\nconst heading1: BlockDefinition = {\n label: '見出し1',\n icon: 'format_h1',\n description: '見出し',\n isTextMenu: true,\n aliases: ['h1', 'heading1'],\n menuCategory: 'basic',\n createActions: createHeadingActions(1),\n};\n\nexport default heading1;\n","import type { BlockDefinition } from '../../types';\nimport createHeadingActions from './createHeadingActions';\n\nconst heading2: BlockDefinition = {\n label: '見出し2',\n icon: 'format_h2',\n description: '見出し2',\n isTextMenu: true,\n aliases: ['h2', 'heading2'],\n menuCategory: 'basic',\n createActions: createHeadingActions(2),\n};\n\nexport default heading2;\n","import type { BlockDefinition } from '../../types';\nimport createHeadingActions from './createHeadingActions';\n\nconst heading3: BlockDefinition = {\n label: '見出し3',\n icon: 'format_h3',\n description: '見出し3',\n isTextMenu: true,\n aliases: ['h3', 'heading3'],\n menuCategory: 'basic',\n createActions: createHeadingActions(3),\n};\n\nexport default heading3;\n","import type { BlockDefinition } from '../../types';\nimport createHeadingActions from './createHeadingActions';\n\nconst heading4: BlockDefinition = {\n label: '見出し4',\n icon: 'format_h4',\n description: '見出し4',\n isTextMenu: true,\n aliases: ['h4', 'heading4'],\n menuCategory: 'basic',\n createActions: createHeadingActions(4),\n};\n\nexport default heading4;\n","import type { BlockDefinition } from '../../types';\nimport createHeadingActions from './createHeadingActions';\n\nconst heading5: BlockDefinition = {\n label: '見出し5',\n icon: 'format_h5',\n description: '見出し5',\n isTextMenu: true,\n aliases: ['h5', 'heading5'],\n menuCategory: 'basic',\n createActions: createHeadingActions(5),\n};\n\nexport default heading5;\n","import type { BlockDefinition } from '../../types';\nimport createHeadingActions from './createHeadingActions';\n\nconst heading6: BlockDefinition = {\n label: '見出し6',\n icon: 'format_h6',\n description: '見出し6',\n isTextMenu: true,\n aliases: ['h6', 'heading6'],\n menuCategory: 'basic',\n createActions: createHeadingActions(6),\n};\n\nexport default heading6;\n","import type { BlockDefinition } from '../../types';\n\nconst bulletList: BlockDefinition = {\n label: 'リスト',\n icon: 'format_list_bulleted',\n description: '順序なしリスト',\n isTextMenu: true,\n aliases: ['ul', 'list'],\n menuCategory: 'basic',\n createActions: (cmd, ctx) => ({\n action: (editor) => {\n ctx.recordUsage(cmd);\n editor.chain().focus().toggleBulletList().run();\n const { $from } = editor.state.selection;\n // カーソル位置から上へ順に探索して `bulletList` を見つける\n for (let { depth } = $from; depth > 0; depth--) {\n const node = $from.node(depth);\n if (node.type.name === 'bulletList') {\n const pos = $from.before(depth);\n editor.chain().focus().setBlockAttrs(pos, { class: cmd.class }).run();\n break;\n }\n }\n },\n convert: (editor, pos) => {\n const chain = editor.chain();\n chain.setNodeSelection(pos);\n chain.removeList(pos).removeBlockquote(pos).splitBulletList(pos).run();\n\n const { $from } = editor.state.selection;\n const newPos = $from.before(1);\n editor.chain().focus().setBlockAttrs(newPos, { class: cmd.class }).run();\n },\n isDisabled: (editor) => {\n const isSame = cmd.class\n ? editor.isActive('bulletList', { class: cmd.class })\n : editor.isActive('bulletList', { class: null }) || editor.isActive('bulletList', { class: '' });\n // 同じ要素 + class なら disable\n if (isSame) {\n return true;\n }\n // 同じ要素だが class が違う場合 → enable\n if (editor.isActive('bulletList') || editor.isActive('orderedList')) {\n return false;\n }\n // それ以外は通常の can 判定\n return !editor.can().toggleBulletList();\n },\n isActive: (editor) => editor.isActive('bulletList'),\n }),\n};\n\nexport default bulletList;\n","import type { BlockDefinition } from '../../types';\n\nconst numberedList: BlockDefinition = {\n label: '番号付きリスト',\n icon: 'format_list_numbered',\n description: '番号付きリスト',\n isTextMenu: true,\n aliases: ['ol', 'ordered list'],\n menuCategory: 'basic',\n createActions: (cmd, ctx) => ({\n action: (editor) => {\n ctx.recordUsage(cmd);\n editor.chain().focus().toggleOrderedList().run();\n const { $from } = editor.state.selection;\n // カーソル位置から上へ順に探索して `orderedList` を見つける\n for (let { depth } = $from; depth > 0; depth--) {\n const node = $from.node(depth);\n if (node.type.name === 'orderedList') {\n const pos = $from.before(depth);\n editor.chain().focus().setBlockAttrs(pos, { class: cmd.class }).run();\n break;\n }\n }\n },\n convert: (editor, pos) => {\n const chain = editor.chain();\n chain.setNodeSelection(pos);\n chain.removeList(pos).removeBlockquote(pos).splitOrderedList(pos).run();\n\n const { $from } = editor.state.selection;\n const newPos = $from.before(1);\n editor.chain().focus().setBlockAttrs(newPos, { class: cmd.class }).run();\n },\n isDisabled: (editor) => {\n const isSame = cmd.class\n ? editor.isActive('orderedList', { class: cmd.class })\n : editor.isActive('orderedList', { class: null }) || editor.isActive('orderedList', { class: '' });\n // 同じ要素 + class なら disable\n if (isSame) {\n return true;\n }\n // 同じ要素だが class が違う場合 → enable\n if (editor.isActive('orderedList') || editor.isActive('bulletList')) {\n return false;\n }\n // それ以外は通常の can 判定\n return !editor.can().toggleOrderedList();\n },\n isActive: (editor) => editor.isActive('orderedList'),\n }),\n};\n\nexport default numberedList;\n","import type { BlockDefinition } from '../../types';\n\nconst blockquote: BlockDefinition = {\n label: '引用',\n icon: 'format_quote',\n description: '引用',\n isTextMenu: false,\n aliases: ['quote'],\n menuCategory: 'basic',\n createActions: (cmd, ctx) => ({\n action: (editor) => {\n ctx.recordUsage(cmd);\n editor.chain().focus().setBlockquote().run();\n const { $from } = editor.state.selection;\n // カーソル位置から上へ順に探索して `blockquote` を見つける\n for (let { depth } = $from; depth > 0; depth--) {\n const node = $from.node(depth);\n if (node.type.name === 'blockquote') {\n const pos = $from.before(depth);\n editor.chain().focus().setBlockAttrs(pos, { class: cmd.class }).run();\n break;\n }\n }\n },\n convert: (editor, pos) => {\n const chain = editor.chain();\n chain.setNodeSelection(pos);\n chain.setBlockquote().run();\n const { $from } = editor.state.selection;\n const newPos = $from.before(1);\n editor.chain().focus().setBlockAttrs(newPos, { class: cmd.class }).run();\n },\n isDisabled: (editor) => {\n const isSame = cmd.class\n ? editor.isActive('blockquote', { class: cmd.class })\n : editor.isActive('blockquote', { class: null }) || editor.isActive('blockquote', { class: '' });\n // 同じ要素 + class なら disable\n if (isSame) {\n return true;\n }\n // 同じ要素だが class が違う場合 → enable\n if (editor.isActive('blockquote')) {\n return false;\n }\n // それ以外は通常の can 判定\n return true;\n },\n isActive: (editor) => editor.isActive('blockquote'),\n }),\n};\n\nexport default blockquote;\n","import type { BlockDefinition } from '../../types';\n\nconst codeBlock: BlockDefinition = {\n label: 'コード',\n icon: 'code_blocks',\n description: 'コードブロック',\n isTextMenu: false,\n aliases: ['code'],\n menuCategory: 'basic',\n createActions: (cmd, ctx) => ({\n action: (editor) => {\n ctx.recordUsage(cmd);\n editor.chain().focus().setCodeBlock().run();\n const { $from } = editor.state.selection;\n // カーソル位置から上へ順に探索して `codeBlock` を見つける\n for (let { depth } = $from; depth > 0; depth--) {\n const node = $from.node(depth);\n if (node.type.name === 'codeBlock') {\n const pos = $from.before(depth);\n editor.chain().focus().setBlockAttrs(pos, { class: cmd.class }).run();\n break;\n }\n }\n },\n convert: (editor, pos) => {\n const chain = editor.chain();\n chain.setNodeSelection(pos);\n chain.removeList(pos).removeBlockquote(pos).setCodeBlock().run();\n const { $from } = editor.state.selection;\n const newPos = $from.before(1);\n editor.chain().focus().setBlockAttrs(newPos, { class: cmd.class }).run();\n },\n isDisabled: (editor) => {\n const isSame = cmd.class\n ? editor.isActive('codeBlock', { class: cmd.class })\n : editor.isActive('codeBlock', { class: null }) || editor.isActive('codeBlock', { class: '' });\n // 同じ要素 + class なら disable\n if (isSame) {\n return true;\n }\n // 同じ要素だが class が違う場合 → enable\n if (editor.isActive('codeBlock')) {\n return false;\n }\n // それ以外は通常の can 判定\n return !editor.can().setCodeBlock();\n },\n isActive: (editor) => editor.isActive('codeBlock'),\n }),\n};\n\nexport default codeBlock;\n","import { NodeSelection } from '@tiptap/pm/state';\nimport type { BlockDefinition } from '../../types';\n\nconst image: BlockDefinition = {\n label: '画像',\n icon: 'photo',\n description: 'メディア画像',\n isTextMenu: false,\n aliases: ['img', 'image', 'media'],\n menuCategory: 'insert',\n createActions: (cmd, ctx) => ({\n action: (editor) => {\n ctx.recordUsage(cmd);\n const { $from } = editor.state.selection;\n const pos = $from.before($from.depth);\n editor.chain().focus().uploadMediaImage().setBlockAttrs(pos, { class: cmd.class }).run();\n },\n convert: (editor) => {\n const { state } = editor;\n const { selection } = state;\n if (\n editor.isActive('imageBlock') ||\n (selection instanceof NodeSelection && selection.node.type.name === 'imageBlock')\n ) {\n editor.chain().focus().updateAttributes('imageBlock', { class: cmd.class }).run();\n }\n },\n isDisabled: (editor) => {\n const isSame = cmd.class\n ? editor.isActive('imageBlock', { class: cmd.class })\n : editor.isActive('imageBlock', { class: null }) || editor.isActive('imageBlock', { class: '' });\n // 同じ要素 + class なら disable\n if (isSame) {\n return true;\n }\n // 同じ要素だが class が違う場合 → enable\n if (editor.isActive('imageBlock')) {\n return false;\n }\n return true;\n },\n isActive: (editor) => editor.isActive('imageBlock'),\n }),\n};\n\nexport default image;\n","import { NodeSelection } from '@tiptap/pm/state';\nimport type { BlockDefinition } from '../../types';\n\nconst file: BlockDefinition = {\n label: 'ファイル',\n icon: 'draft',\n description: 'メディアファイル',\n isTextMenu: false,\n aliases: ['file', 'media'],\n menuCategory: 'insert',\n createActions: (cmd, ctx) => ({\n action: (editor) => {\n ctx.recordUsage(cmd);\n const { $from } = editor.state.selection;\n const pos = $from.before($from.depth);\n editor.chain().focus().uploadMediaFile().setBlockAttrs(pos, { class: cmd.class }).run();\n },\n convert: (editor) => {\n const { state } = editor;\n const { selection } = state;\n if (\n editor.isActive('fileBlock') ||\n (selection instanceof NodeSelection && selection.node.type.name === 'fileBlock')\n ) {\n editor.chain().focus().updateAttributes('fileBlock', { class: cmd.class }).run();\n }\n },\n isDisabled: (editor) => {\n const isSame = cmd.class\n ? editor.isActive('fileBlock', { class: cmd.class })\n : editor.isActive('fileBlock', { class: null }) || editor.isActive('fileBlock', { class: '' });\n // 同じ要素 + class なら disable\n if (isSame) {\n return true;\n }\n // 同じ要素だが class が違う場合 → enable\n if (editor.isActive('fileBlock')) {\n return false;\n }\n return true;\n },\n isActive: (editor) => editor.isActive('fileBlock'),\n }),\n};\n\nexport default file;\n","import { NodeSelection } from '@tiptap/pm/state';\nimport type { BlockDefinition } from '../../types';\n\nconst linkButton: BlockDefinition = {\n label: 'リンクボタン',\n icon: 'link',\n description: 'リンクボタン',\n isTextMenu: false,\n aliases: ['link', 'button'],\n menuCategory: 'insert',\n createActions: (cmd, ctx) => ({\n action: (editor) => {\n ctx.recordUsage(cmd);\n const { $from } = editor.state.selection;\n const pos = $from.before($from.depth);\n editor.chain().focus().setLinkButtonBlock().setBlockAttrs(pos, { class: cmd.class }).run();\n },\n convert: (editor) => {\n const { state } = editor;\n const { selection } = state;\n if (\n editor.isActive('linkButton') ||\n (selection instanceof NodeSelection && selection.node.type.name === 'linkButton')\n ) {\n editor.chain().focus().updateAttributes('linkButton', { class: cmd.class }).run();\n }\n },\n isDisabled: (editor) => {\n const isSame = cmd.class\n ? editor.isActive('linkButton', { class: cmd.class })\n : editor.isActive('linkButton', { class: null }) || editor.isActive('linkButton', { class: '' });\n // 同じ要素 + class なら disable\n if (isSame) {\n return true;\n }\n // 同じ要素だが class が違う場合 → enable\n if (editor.isActive('linkButton')) {\n return false;\n }\n return true;\n },\n isActive: (editor) => editor.isActive('linkButton'),\n }),\n};\n\nexport default linkButton;\n","import { NodeSelection } from '@tiptap/pm/state';\nimport type { BlockDefinition } from '../../types';\n\nconst table: BlockDefinition = {\n label: 'テーブル',\n icon: 'table',\n description: 'テーブル',\n isTextMenu: false,\n aliases: ['table'],\n menuCategory: 'insert',\n createActions: (cmd, ctx) => ({\n action: (editor) => {\n ctx.recordUsage(cmd);\n editor.chain().focus().insertTable({ rows: 3, cols: 3, withHeaderRow: false }).run();\n const { $from } = editor.state.selection;\n // カーソル位置から上へ順に探索して `table` を見つける\n for (let { depth } = $from; depth > 0; depth--) {\n const node = $from.node(depth);\n if (node.type.name === 'table') {\n const pos = $from.before(depth);\n editor.chain().focus().setBlockAttrs(pos, { class: cmd.class }).run();\n break;\n }\n }\n },\n convert: (editor) => {\n const { state } = editor;\n const { selection } = state;\n if (editor.isActive('table') || (selection instanceof NodeSelection && selection.node.type.name === 'table')) {\n editor.chain().focus().updateAttributes('table', { class: cmd.class }).run();\n }\n },\n isDisabled: (editor) => {\n const isSame = cmd.class\n ? editor.isActive('table', { class: cmd.class })\n : editor.isActive('table', { class: null }) || editor.isActive('table', { class: '' });\n // 同じ要素 + class なら disable\n if (isSame) {\n return true;\n }\n // 同じ要素だが class が違う場合 → enable\n if (editor.isActive('table')) {\n return false;\n }\n return true;\n },\n isActive: (editor) => editor.isActive('table'),\n }),\n};\n\nexport default table;\n","import type { BlockDefinition } from '../../types';\nimport { ColumnLayout } from '../../extensions/MultiColumn/Columns';\n\nconst columns1: BlockDefinition = {\n label: '1カラム',\n icon: 'rectangle',\n description: '1カラム',\n isTextMenu: false,\n aliases: ['cols1', 'columns1'],\n menuCategory: 'layout',\n createActions: (cmd, ctx) => ({\n action: (editor) => {\n ctx.recordUsage(cmd);\n const { $from } = editor.state.selection;\n const pos = $from.before($from.depth);\n editor\n .chain()\n .focus()\n .setColumns(ColumnLayout.OneColumn)\n .focus(editor.state.selection.head - 1)\n .setBlockAttrs(pos, { class: cmd.class })\n .run();\n },\n convert: () => {},\n isDisabled: () => true,\n isActive: (editor) => editor.isActive('columns1'),\n }),\n};\n\nexport default columns1;\n","import type { BlockDefinition } from '../../types';\nimport { ColumnLayout } from '../../extensions/MultiColumn/Columns';\n\nconst columns2: BlockDefinition = {\n label: '2カラムに分割',\n icon: 'view_column',\n description: '2カラムに分割',\n isTextMenu: false,\n aliases: ['cols2', 'columns2'],\n menuCategory: 'layout',\n createActions: (cmd, ctx) => ({\n action: (editor) => {\n ctx.recordUsage(cmd);\n const { $from } = editor.state.selection;\n const pos = $from.before($from.depth);\n editor\n .chain()\n .focus()\n .setColumns(ColumnLayout.TwoColumn)\n .focus(editor.state.selection.head - 1)\n .setBlockAttrs(pos, { class: cmd.class })\n .run();\n },\n convert: () => {},\n isDisabled: () => true,\n isActive: (editor) => editor.isActive('columns2'),\n }),\n};\n\nexport default columns2;\n","import type { BlockDefinition } from '../../types';\nimport { ColumnLayout } from '../../extensions/MultiColumn/Columns';\n\nconst columns3: BlockDefinition = {\n label: '3カラムに分割',\n icon: 'view_column',\n description: '3カラムに分割',\n isTextMenu: false,\n aliases: ['cols3', 'columns3'],\n menuCategory: 'layout',\n createActions: (cmd, ctx) => ({\n action: (editor) => {\n ctx.recordUsage(cmd);\n const { $from } = editor.state.selection;\n const pos = $from.before($from.depth);\n editor\n .chain()\n .focus()\n .setColumns(ColumnLayout.ThreeColumn)\n .focus(editor.state.selection.head - 1)\n .setBlockAttrs(pos, { class: cmd.class })\n .run();\n },\n convert: () => {},\n isDisabled: () => true,\n isActive: (editor) => editor.isActive('columns3'),\n }),\n};\n\nexport default columns3;\n","import type { BlockDefinition } from '../../types';\n\nconst horizontalRule: BlockDefinition = {\n label: '水平罫線',\n icon: 'horizontal_rule',\n description: '水平罫線',\n isTextMenu: false,\n aliases: ['hr', 'rule', 'separator'],\n menuCategory: 'insert',\n createActions: (cmd, ctx) => ({\n action: (editor) => {\n ctx.recordUsage(cmd);\n const { $from } = editor.state.selection;\n const pos = $from.before($from.depth);\n editor.chain().focus().setHorizontalRule().run();\n editor.chain().focus().setBlockAttrs(pos, { class: cmd.class }).run();\n },\n convert: () => {},\n isDisabled: () => true,\n isActive: (editor) => editor.isActive('horizontalRule'),\n }),\n};\n\nexport default horizontalRule;\n","import type { BlockDefinition } from '../../types';\nimport paragraph from './paragraph';\nimport heading1 from './heading1';\nimport heading2 from './heading2';\nimport heading3 from './heading3';\nimport heading4 from './heading4';\nimport heading5 from './heading5';\nimport heading6 from './heading6';\nimport bulletList from './bulletList';\nimport numberedList from './numberedList';\nimport blockquote from './blockquote';\nimport codeBlock from './codeBlock';\nimport image from './image';\nimport file from './file';\nimport linkButton from './linkButton';\nimport table from './table';\nimport columns1 from './columns1';\nimport columns2 from './columns2';\nimport columns3 from './columns3';\nimport horizontalRule from './horizontalRule';\n\n/**\n * フロントエンドが扱えるブロックタイプの全定義。\n *\n * 各 type の静的メタ(label / icon / 等)と、useBlockMenus.resolveCommands が\n * CommandItem に差し込むランタイム関数 (createActions) を 1 箇所にまとめている。\n *\n * - キーの集合 = フロントが action を実装している type の集合\n * - PHP からこのマスターは参照しない(admin の入力値だけが PHP から送られる)\n * - 新ブロックを追加する場合は config/blocks/{type}.ts を作って、この index に追記するだけ\n */\nconst BLOCK_DEFINITIONS: Record<string, BlockDefinition> = {\n paragraph,\n heading1,\n heading2,\n heading3,\n heading4,\n heading5,\n heading6,\n bulletList,\n numberedList,\n blockquote,\n codeBlock,\n image,\n file,\n linkButton,\n table,\n horizontalRule,\n columns1,\n columns2,\n columns3,\n};\n\nexport default BLOCK_DEFINITIONS;\n","import BLOCK_DEFINITIONS from '../config/blocks';\nimport type { BlockDefinition } from '../types';\n\n/**\n * コアの `BLOCK_DEFINITIONS` とプラグイン提供の追加マスター(`registerBlockDefinition`)を合成する。\n * `normalizeSettings`(`createBlockMenu` へ渡すマスター)と `resolveCommands`\n * (`action`/`convert` 等の解決先マスター)の両方から呼ばれる、マスター合成ロジックの単一の源。\n *\n * キー衝突時は `additional`(プラグイン)側が勝つ(unitDefs と同じ規約)。ただし意図しない\n * 上書き事故に気づけるよう、コアの type を上書きした場合は console.warn で警告する。\n */\nexport function mergeBlockDefinitions(additional?: Record<string, BlockDefinition>): Record<string, BlockDefinition> {\n if (!additional) {\n return BLOCK_DEFINITIONS;\n }\n for (const type of Object.keys(additional)) {\n if (type in BLOCK_DEFINITIONS) {\n console.warn(`[block-editor] registerBlockDefinition(\"${type}\") がコアの組み込み定義を上書きしました。`);\n }\n }\n return { ...BLOCK_DEFINITIONS, ...additional };\n}\n"],"mappings":"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","names":["NodeSelection","NodeSelection","NodeSelection"]}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
import { type Editor } from '@tiptap/react';
|
|
2
|
+
import { type RefObject } from 'react';
|
|
3
|
+
import { UseBlockEditorOptions } from '../../hooks/useBlockEditor.js';
|
|
4
|
+
import type { EditorSettings, EditorSettingsOverride } from '../../types/index.js';
|
|
5
|
+
/**
|
|
6
|
+
* Slot `block-editor.menus` の `fillProps`(render-prop 形式)の型。
|
|
7
|
+
* `<Fill name="block-editor.menus">{({ editor, appendTo }) => ...}</Fill>` を直接 JSX で書く場合に
|
|
8
|
+
* render-prop の引数として受け取れる。
|
|
9
|
+
*
|
|
10
|
+
* プラグインの `ctx.ui.fill(slotName, entry)`(`@ablogcms/plugins`)経由で `editor`/`appendTo` を
|
|
11
|
+
* 受け取りたい場合は、コンポーネントを `withFillProps` でラップして渡す
|
|
12
|
+
* (`ctx.ui.fill('block-editor.menus', withFillProps<BlockEditorMenusSlotFillProps>(({ editor, appendTo }) => ...))`)。
|
|
13
|
+
* 詳細は `packages/frontend/plugins/HOOKS.md`「ctx.ui.fill で fillProps を受け取る(withFillProps)」参照。
|
|
14
|
+
*/
|
|
15
|
+
export interface BlockEditorMenusSlotFillProps {
|
|
16
|
+
editor: Editor;
|
|
17
|
+
/** 既存メニューと同じフローティング基準要素(appendTo に渡す) */
|
|
18
|
+
appendTo: RefObject<HTMLElement | null>;
|
|
19
|
+
}
|
|
20
|
+
interface BlockEditorProps extends UseBlockEditorOptions {
|
|
21
|
+
/**
|
|
22
|
+
* 呼び出し側が取得・正規化 (`normalizeSettings`) 済みの EditorSettings を注入する。
|
|
23
|
+
* このパッケージ自体はデータを取得しないため、省略時は既定値 (`DEFAULT_EDITOR_SETTINGS`) を使う。
|
|
24
|
+
*/
|
|
25
|
+
editorSettings?: EditorSettings;
|
|
26
|
+
/**
|
|
27
|
+
* エディター個別の宣言的な上書き設定。`<acms-block-editor>` 自身の `settings` 属性
|
|
28
|
+
* (`createProps`、`<acms-unit-editor>` 等と同じ data-* ではない独自属性)経由で渡される。
|
|
29
|
+
* 旧 `.js-block-editor` の公開仕様(`data-settings`、
|
|
30
|
+
* https://developer.a-blogcms.jp/document/block-editor/)は `upgradeLegacyBlockEditors`
|
|
31
|
+
* がこの `settings` 属性へ変換したうえで合流するため、プロパティ名は維持する。
|
|
32
|
+
*/
|
|
33
|
+
settings?: EditorSettingsOverride;
|
|
34
|
+
}
|
|
35
|
+
export declare function BlockEditor({ settings: settingsOverride, editorSettings, ...props }: BlockEditorProps): import("react").JSX.Element | null;
|
|
36
|
+
export default BlockEditor;
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import {
|
|
2
|
+
BlockEditor,
|
|
3
|
+
BlockEditor_default
|
|
4
|
+
} from "../../chunk-S24TRRWW.mjs";
|
|
5
|
+
import "../../chunk-OFWQRNO2.mjs";
|
|
6
|
+
import "../../chunk-GIHTGDIW.mjs";
|
|
7
|
+
import "../../chunk-HNSTT2Z4.mjs";
|
|
8
|
+
import "../../chunk-EM5TLDPY.mjs";
|
|
9
|
+
import "../../chunk-TKSGCO5Z.mjs";
|
|
10
|
+
import "../../chunk-57Q3DEDF.mjs";
|
|
11
|
+
import "../../chunk-DUT25D7Z.mjs";
|
|
12
|
+
import "../../chunk-JYUNKG2P.mjs";
|
|
13
|
+
import "../../chunk-XGAKMQH4.mjs";
|
|
14
|
+
import "../../chunk-OZG2BL6F.mjs";
|
|
15
|
+
export {
|
|
16
|
+
BlockEditor,
|
|
17
|
+
BlockEditor_default as default
|
|
18
|
+
};
|
|
19
|
+
//# sourceMappingURL=BlockEditor.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":[],"sourcesContent":[],"mappings":"","names":[]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './BlockEditor.js';
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { Editor } from '@tiptap/react';
|
|
2
|
+
import type { BlockMenuItem } from '../../../types/index.js';
|
|
3
|
+
export type ContentItemMenuProps = {
|
|
4
|
+
editor: Editor;
|
|
5
|
+
getFilteredBlockMenus: ({ query, editor }: {
|
|
6
|
+
query: string;
|
|
7
|
+
editor: Editor;
|
|
8
|
+
}) => BlockMenuItem[];
|
|
9
|
+
};
|
|
10
|
+
export declare function ContentItemMenu({ editor, getFilteredBlockMenus }: ContentItemMenuProps): import("react").JSX.Element;
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { Editor } from '@tiptap/react';
|
|
2
|
+
import type { BlockMenuItem } from '../../../../types/index.js';
|
|
3
|
+
export type BlockMenusProps = {
|
|
4
|
+
menus: BlockMenuItem[];
|
|
5
|
+
editor: Editor;
|
|
6
|
+
currentPos: number;
|
|
7
|
+
};
|
|
8
|
+
export declare function BlockMenus({ menus, editor, currentPos }: BlockMenusProps): import("react").JSX.Element | null;
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { Node } from '@tiptap/pm/model';
|
|
2
|
+
import { Editor } from '@tiptap/react';
|
|
3
|
+
declare const useContentItemActions: (editor: Editor, currentNode: Node | null, currentNodePos: number) => {
|
|
4
|
+
resetTextFormatting: (curNodeProp?: Node | null, curNodePosProp?: number) => void;
|
|
5
|
+
duplicateNode: (curNodeProp?: Node | null, curNodePosProp?: number) => void;
|
|
6
|
+
copyNodeToClipboard: () => void;
|
|
7
|
+
deleteNode: (curNodeProp?: Node | null, curNodePosProp?: number) => void;
|
|
8
|
+
handleAdd: () => void;
|
|
9
|
+
setHeadingId: (id: string) => void;
|
|
10
|
+
setBlockAttrs: (attrs: {
|
|
11
|
+
id: string;
|
|
12
|
+
class: string;
|
|
13
|
+
}) => void;
|
|
14
|
+
moveBlockUp: (curNodeProp?: Node | null, curNodePosProp?: number) => void;
|
|
15
|
+
moveBlockDown: (curNodeProp?: Node | null, curNodePosProp?: number) => void;
|
|
16
|
+
};
|
|
17
|
+
export default useContentItemActions;
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { Node } from '@tiptap/pm/model';
|
|
2
|
+
import { Editor } from '@tiptap/core';
|
|
3
|
+
export declare const useData: () => {
|
|
4
|
+
currentNode: Node | null;
|
|
5
|
+
currentNodePos: number;
|
|
6
|
+
setCurrentNode: import("react").Dispatch<import("react").SetStateAction<Node | null>>;
|
|
7
|
+
setCurrentNodePos: import("react").Dispatch<import("react").SetStateAction<number>>;
|
|
8
|
+
handleNodeChange: (data: {
|
|
9
|
+
node: Node | null;
|
|
10
|
+
editor: Editor;
|
|
11
|
+
pos: number;
|
|
12
|
+
}) => void;
|
|
13
|
+
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './ContentItemMenu.js';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { LinkMenu } from './LinkMenu.js';
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { Editor } from '@tiptap/react';
|
|
2
|
+
import type { BlockMenuItem } from '../../../../types/index.js';
|
|
3
|
+
export type ContentPickerProps = {
|
|
4
|
+
menus: BlockMenuItem[];
|
|
5
|
+
editor: Editor;
|
|
6
|
+
currentPos: number;
|
|
7
|
+
};
|
|
8
|
+
export declare function ContentTypePicker({ menus, editor, currentPos }: ContentPickerProps): import("react").JSX.Element;
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { type Editor } from '@tiptap/core';
|
|
2
|
+
export type EditLinkPopoverProps = {
|
|
3
|
+
editor: Editor;
|
|
4
|
+
onSetLink: (link: string, openInNewTab?: boolean) => void;
|
|
5
|
+
onClearLink: () => void;
|
|
6
|
+
isActive: boolean;
|
|
7
|
+
};
|
|
8
|
+
export declare function EditLinkPopover({ editor, onSetLink, onClearLink, isActive }: EditLinkPopoverProps): import("react").JSX.Element;
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import { Editor } from '@tiptap/react';
|
|
2
|
+
export declare const useTextmenuCommands: (editor: Editor) => {
|
|
3
|
+
onBold: () => boolean;
|
|
4
|
+
onItalic: () => boolean;
|
|
5
|
+
onStrike: () => boolean;
|
|
6
|
+
onUnderline: () => boolean;
|
|
7
|
+
onCode: () => boolean;
|
|
8
|
+
onCodeBlock: () => boolean;
|
|
9
|
+
onSubscript: () => boolean;
|
|
10
|
+
onSuperscript: () => boolean;
|
|
11
|
+
onAlignLeft: () => boolean;
|
|
12
|
+
onAlignCenter: () => boolean;
|
|
13
|
+
onAlignRight: () => boolean;
|
|
14
|
+
onAlignJustify: () => boolean;
|
|
15
|
+
onChangeColor: (color: string) => boolean;
|
|
16
|
+
onClearColor: () => boolean;
|
|
17
|
+
onChangeHighlight: (color: string) => boolean;
|
|
18
|
+
onClearHighlight: () => boolean;
|
|
19
|
+
onSetFont: (font: string) => boolean;
|
|
20
|
+
onSetFontSize: (fontSize: string) => boolean;
|
|
21
|
+
onLink: (url: string, inNewTab?: boolean) => boolean;
|
|
22
|
+
onUnsetLink: () => void;
|
|
23
|
+
onCustomClass: (className: string) => void;
|
|
24
|
+
removeCustomClass: () => void;
|
|
25
|
+
};
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { Editor } from '@tiptap/react';
|
|
2
|
+
import { ShouldShowProps } from '../../types.js';
|
|
3
|
+
export declare const useTextmenuStates: (editor: Editor) => {
|
|
4
|
+
isLink: boolean;
|
|
5
|
+
isBold: boolean;
|
|
6
|
+
isItalic: boolean;
|
|
7
|
+
isStrike: boolean;
|
|
8
|
+
isUnderline: boolean;
|
|
9
|
+
isCode: boolean;
|
|
10
|
+
isSubscript: boolean;
|
|
11
|
+
isSuperscript: boolean;
|
|
12
|
+
isAlignLeft: boolean;
|
|
13
|
+
isAlignCenter: boolean;
|
|
14
|
+
isAlignRight: boolean;
|
|
15
|
+
isAlignJustify: boolean;
|
|
16
|
+
currentColor: any;
|
|
17
|
+
currentHighlight: any;
|
|
18
|
+
currentFont: any;
|
|
19
|
+
currentSize: any;
|
|
20
|
+
currentCustomClass: any;
|
|
21
|
+
shouldShow: ({ view, state, from }: ShouldShowProps) => boolean;
|
|
22
|
+
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './TextMenu.js';
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { Editor as CoreEditor } from '@tiptap/core';
|
|
3
|
+
import { Editor } from '@tiptap/react';
|
|
4
|
+
import { EditorState } from '@tiptap/pm/state';
|
|
5
|
+
import { EditorView } from '@tiptap/pm/view';
|
|
6
|
+
export interface MenuProps {
|
|
7
|
+
editor: Editor;
|
|
8
|
+
appendTo?: React.RefObject<any>;
|
|
9
|
+
shouldHide?: boolean;
|
|
10
|
+
}
|
|
11
|
+
export interface ShouldShowProps {
|
|
12
|
+
editor?: CoreEditor;
|
|
13
|
+
view: EditorView;
|
|
14
|
+
state?: EditorState;
|
|
15
|
+
oldState?: EditorState;
|
|
16
|
+
from?: number;
|
|
17
|
+
to?: number;
|
|
18
|
+
}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import {
|
|
2
|
+
AlignPicker
|
|
3
|
+
} from "../../../chunk-OFWQRNO2.mjs";
|
|
4
|
+
import "../../../chunk-HNSTT2Z4.mjs";
|
|
5
|
+
import "../../../chunk-EM5TLDPY.mjs";
|
|
6
|
+
import "../../../chunk-TKSGCO5Z.mjs";
|
|
7
|
+
import "../../../chunk-57Q3DEDF.mjs";
|
|
8
|
+
import "../../../chunk-OZG2BL6F.mjs";
|
|
9
|
+
export {
|
|
10
|
+
AlignPicker
|
|
11
|
+
};
|
|
12
|
+
//# sourceMappingURL=AlignPicker.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":[],"sourcesContent":[],"mappings":"","names":[]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './AlignPicker.js';
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
export type ColorButtonProps = {
|
|
2
|
+
color?: string;
|
|
3
|
+
active?: boolean;
|
|
4
|
+
onColorChange?: (color: string) => void;
|
|
5
|
+
};
|
|
6
|
+
export declare const ColorButton: import("react").MemoExoticComponent<({ color, active, onColorChange }: ColorButtonProps) => import("react").JSX.Element>;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":[],"sourcesContent":[],"mappings":"","names":[]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './Colorpicker.js';
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { isValidUrl } from '@ablogcms/utils';
|
|
2
|
+
export type LinkEditorPanelProps = {
|
|
3
|
+
initialUrl?: string;
|
|
4
|
+
initialOpenInNewTab?: boolean;
|
|
5
|
+
onSetLink: (url: string, openInNewTab?: boolean) => void;
|
|
6
|
+
onClear?: () => void;
|
|
7
|
+
};
|
|
8
|
+
export declare const useLinkEditorState: ({ initialUrl, initialOpenInNewTab, onSetLink }: LinkEditorPanelProps) => {
|
|
9
|
+
url: string;
|
|
10
|
+
setUrl: import("react").Dispatch<import("react").SetStateAction<string>>;
|
|
11
|
+
openInNewTab: boolean;
|
|
12
|
+
setOpenInNewTab: import("react").Dispatch<import("react").SetStateAction<boolean>>;
|
|
13
|
+
onChange: (event: React.ChangeEvent<HTMLInputElement>) => void;
|
|
14
|
+
handleSubmit: (e: React.FormEvent) => void;
|
|
15
|
+
isValidUrl: typeof isValidUrl;
|
|
16
|
+
};
|
|
17
|
+
export declare function LinkEditorPanel({ onSetLink, onClear, initialOpenInNewTab, initialUrl }: LinkEditorPanelProps): import("react").JSX.Element;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './LinkEditorPanel.js';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './LinkPreviewPanel.js';
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import { Icon as BaseIcon } from '@ablogcms/components/icon';
|
|
2
|
+
export interface IconProps extends React.ComponentPropsWithoutRef<typeof BaseIcon> {
|
|
3
|
+
size?: 'sm' | 'md' | 'lg';
|
|
4
|
+
}
|
|
5
|
+
export declare const Icon: import("react").MemoExoticComponent<({ size, ...props }: IconProps) => import("react").JSX.Element>;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":[],"sourcesContent":[],"mappings":"","names":[]}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import { HTMLProps } from 'react';
|
|
2
|
+
export type SurfaceProps = HTMLProps<HTMLDivElement> & {
|
|
3
|
+
withShadow?: boolean;
|
|
4
|
+
withBorder?: boolean;
|
|
5
|
+
};
|
|
6
|
+
export declare const Surface: import("react").ForwardRefExoticComponent<Omit<SurfaceProps, "ref"> & import("react").RefAttributes<HTMLDivElement>>;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":[],"sourcesContent":[],"mappings":"","names":[]}
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
import { ButtonHTMLAttributes, HTMLProps } from 'react';
|
|
2
|
+
import { UseToolbarOptions } from '@ablogcms/react-hooks/use-toolbar';
|
|
3
|
+
export interface ToolbarRootProps extends UseToolbarOptions, HTMLProps<HTMLDivElement> {
|
|
4
|
+
shouldShowContent?: boolean;
|
|
5
|
+
}
|
|
6
|
+
export type ToolbarDividerProps = {
|
|
7
|
+
horizontal?: boolean;
|
|
8
|
+
} & HTMLProps<HTMLDivElement>;
|
|
9
|
+
export type ButtonVariant = 'primary' | 'secondary';
|
|
10
|
+
export type ButtonSize = 'medium' | 'small';
|
|
11
|
+
export type ToolbarButtonProps = ButtonHTMLAttributes<HTMLButtonElement> & {
|
|
12
|
+
/**
|
|
13
|
+
* ボタンのバリエーション
|
|
14
|
+
* @default primary
|
|
15
|
+
*/
|
|
16
|
+
variant?: ButtonVariant;
|
|
17
|
+
active?: boolean;
|
|
18
|
+
activeClassname?: string;
|
|
19
|
+
tooltip?: string;
|
|
20
|
+
tooltipShortcut?: string[];
|
|
21
|
+
/**
|
|
22
|
+
* ボタンのサイズ
|
|
23
|
+
* @default medium
|
|
24
|
+
*/
|
|
25
|
+
size?: ButtonSize;
|
|
26
|
+
};
|
|
27
|
+
export declare const Toolbar: import("react").ForwardRefExoticComponent<Omit<ToolbarRootProps, "ref"> & import("react").RefAttributes<HTMLDivElement>> & {
|
|
28
|
+
Divider: import("react").ForwardRefExoticComponent<Omit<ToolbarDividerProps, "ref"> & import("react").RefAttributes<HTMLDivElement>>;
|
|
29
|
+
Button: import("react").ForwardRefExoticComponent<ButtonHTMLAttributes<HTMLButtonElement> & {
|
|
30
|
+
/**
|
|
31
|
+
* ボタンのバリエーション
|
|
32
|
+
* @default primary
|
|
33
|
+
*/
|
|
34
|
+
variant?: ButtonVariant;
|
|
35
|
+
active?: boolean;
|
|
36
|
+
activeClassname?: string;
|
|
37
|
+
tooltip?: string;
|
|
38
|
+
tooltipShortcut?: string[];
|
|
39
|
+
/**
|
|
40
|
+
* ボタンのサイズ
|
|
41
|
+
* @default medium
|
|
42
|
+
*/
|
|
43
|
+
size?: ButtonSize;
|
|
44
|
+
} & import("react").RefAttributes<HTMLButtonElement>>;
|
|
45
|
+
};
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import {
|
|
2
|
+
Toolbar
|
|
3
|
+
} from "../../chunk-HNSTT2Z4.mjs";
|
|
4
|
+
import "../../chunk-EM5TLDPY.mjs";
|
|
5
|
+
import "../../chunk-TKSGCO5Z.mjs";
|
|
6
|
+
import "../../chunk-57Q3DEDF.mjs";
|
|
7
|
+
import "../../chunk-OZG2BL6F.mjs";
|
|
8
|
+
export {
|
|
9
|
+
Toolbar
|
|
10
|
+
};
|
|
11
|
+
//# sourceMappingURL=Toolbar.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":[],"sourcesContent":[],"mappings":"","names":[]}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
export interface BlockMenuCategory {
|
|
2
|
+
/** カテゴリーの識別子(英語スラッグ)。`BlockTypeMaster.menuCategory` の値として使う。 */
|
|
3
|
+
slug: string;
|
|
4
|
+
/** 編集設定画面(`<acms-block-editor-menu-type-select>`)の optgroup ラベルに使う日本語名。 */
|
|
5
|
+
label: string;
|
|
6
|
+
}
|
|
7
|
+
/**
|
|
8
|
+
* コアが提供するブロックタイプの menuCategory 一覧。この配列の順序が編集設定画面の
|
|
9
|
+
* optgroup の出現順になる。
|
|
10
|
+
*/
|
|
11
|
+
export declare const BLOCK_MENU_CATEGORIES: BlockMenuCategory[];
|
|
12
|
+
/**
|
|
13
|
+
* プラグイン提供の BlockDefinition(`registerBlockDefinition`)が `menuCategory` を
|
|
14
|
+
* 省略した場合に割り当てるカテゴリー。
|
|
15
|
+
*/
|
|
16
|
+
export declare const PLUGIN_BLOCK_MENU_CATEGORY: BlockMenuCategory;
|
|
17
|
+
/**
|
|
18
|
+
* slug から日本語ラベルを解決する。未知の slug(プラグインが `BLOCK_MENU_CATEGORIES` に
|
|
19
|
+
* 無い独自の menuCategory を指定した場合)は slug をそのままラベルとして使う
|
|
20
|
+
* フォールバックにする。
|
|
21
|
+
*/
|
|
22
|
+
export declare function getBlockMenuCategoryLabel(slug: string): string;
|