@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.
Files changed (267) hide show
  1. package/README.md +21 -0
  2. package/dist/chunk-4KUPYKHV.mjs +34 -0
  3. package/dist/chunk-4KUPYKHV.mjs.map +1 -0
  4. package/dist/chunk-57Q3DEDF.mjs +23 -0
  5. package/dist/chunk-57Q3DEDF.mjs.map +1 -0
  6. package/dist/chunk-DUT25D7Z.mjs +20 -0
  7. package/dist/chunk-DUT25D7Z.mjs.map +1 -0
  8. package/dist/chunk-EM5TLDPY.mjs +17 -0
  9. package/dist/chunk-EM5TLDPY.mjs.map +1 -0
  10. package/dist/chunk-GIHTGDIW.mjs +23 -0
  11. package/dist/chunk-GIHTGDIW.mjs.map +1 -0
  12. package/dist/chunk-HNSTT2Z4.mjs +87 -0
  13. package/dist/chunk-HNSTT2Z4.mjs.map +1 -0
  14. package/dist/chunk-JYUNKG2P.mjs +88 -0
  15. package/dist/chunk-JYUNKG2P.mjs.map +1 -0
  16. package/dist/chunk-OFWQRNO2.mjs +56 -0
  17. package/dist/chunk-OFWQRNO2.mjs.map +1 -0
  18. package/dist/chunk-OZG2BL6F.mjs +61 -0
  19. package/dist/chunk-OZG2BL6F.mjs.map +1 -0
  20. package/dist/chunk-S24TRRWW.mjs +3126 -0
  21. package/dist/chunk-S24TRRWW.mjs.map +1 -0
  22. package/dist/chunk-TKSGCO5Z.mjs +2813 -0
  23. package/dist/chunk-TKSGCO5Z.mjs.map +1 -0
  24. package/dist/chunk-XGAKMQH4.mjs +627 -0
  25. package/dist/chunk-XGAKMQH4.mjs.map +1 -0
  26. package/dist/components/BlockEditor/BlockEditor.d.ts +36 -0
  27. package/dist/components/BlockEditor/BlockEditor.mjs +19 -0
  28. package/dist/components/BlockEditor/BlockEditor.mjs.map +1 -0
  29. package/dist/components/BlockEditor/index.d.ts +1 -0
  30. package/dist/components/BlockEditor/types.d.ts +10 -0
  31. package/dist/components/menus/ContentItemMenu/ContentItemMenu.d.ts +10 -0
  32. package/dist/components/menus/ContentItemMenu/components/BlockMenus.d.ts +8 -0
  33. package/dist/components/menus/ContentItemMenu/components/IdEditor.d.ts +5 -0
  34. package/dist/components/menus/ContentItemMenu/hooks/useContentItemActions.d.ts +17 -0
  35. package/dist/components/menus/ContentItemMenu/hooks/useData.d.ts +13 -0
  36. package/dist/components/menus/ContentItemMenu/index.d.ts +1 -0
  37. package/dist/components/menus/LinkMenu/LinkMenu.d.ts +4 -0
  38. package/dist/components/menus/LinkMenu/index.d.ts +1 -0
  39. package/dist/components/menus/TextMenu/TextMenu.d.ts +6 -0
  40. package/dist/components/menus/TextMenu/components/ContentTypePicker.d.ts +8 -0
  41. package/dist/components/menus/TextMenu/components/CustomClassPicker.d.ts +6 -0
  42. package/dist/components/menus/TextMenu/components/EditLinkPopover.d.ts +8 -0
  43. package/dist/components/menus/TextMenu/components/FontFamilyPicker.d.ts +5 -0
  44. package/dist/components/menus/TextMenu/components/FontSizePicker.d.ts +5 -0
  45. package/dist/components/menus/TextMenu/hooks/useTextmenuCommands.d.ts +25 -0
  46. package/dist/components/menus/TextMenu/hooks/useTextmenuStates.d.ts +22 -0
  47. package/dist/components/menus/TextMenu/index.d.ts +1 -0
  48. package/dist/components/menus/index.d.ts +3 -0
  49. package/dist/components/menus/types.d.ts +18 -0
  50. package/dist/components/panels/AlignPicker/AlignPicker.d.ts +5 -0
  51. package/dist/components/panels/AlignPicker/AlignPicker.mjs +12 -0
  52. package/dist/components/panels/AlignPicker/AlignPicker.mjs.map +1 -0
  53. package/dist/components/panels/AlignPicker/index.d.ts +1 -0
  54. package/dist/components/panels/Colorpicker/ColorButton.d.ts +6 -0
  55. package/dist/components/panels/Colorpicker/ColorButton.mjs +10 -0
  56. package/dist/components/panels/Colorpicker/ColorButton.mjs.map +1 -0
  57. package/dist/components/panels/Colorpicker/Colorpicker.d.ts +6 -0
  58. package/dist/components/panels/Colorpicker/index.d.ts +1 -0
  59. package/dist/components/panels/LinkEditorPanel/LinkEditorPanel.d.ts +17 -0
  60. package/dist/components/panels/LinkEditorPanel/index.d.ts +1 -0
  61. package/dist/components/panels/LinkPreviewPanel/LinkPreviewPanel.d.ts +6 -0
  62. package/dist/components/panels/LinkPreviewPanel/index.d.ts +1 -0
  63. package/dist/components/panels/index.d.ts +4 -0
  64. package/dist/components/ui/Icon.d.ts +5 -0
  65. package/dist/components/ui/Icon.mjs +7 -0
  66. package/dist/components/ui/Icon.mjs.map +1 -0
  67. package/dist/components/ui/Surface.d.ts +6 -0
  68. package/dist/components/ui/Surface.mjs +10 -0
  69. package/dist/components/ui/Surface.mjs.map +1 -0
  70. package/dist/components/ui/Toolbar.d.ts +45 -0
  71. package/dist/components/ui/Toolbar.mjs +11 -0
  72. package/dist/components/ui/Toolbar.mjs.map +1 -0
  73. package/dist/config/blockMenuCategories.d.ts +22 -0
  74. package/dist/config/blockMenuCategories.mjs +19 -0
  75. package/dist/config/blockMenuCategories.mjs.map +1 -0
  76. package/dist/config/blocks/__tests__/createMockEditor.d.ts +29 -0
  77. package/dist/config/blocks/blockquote.d.ts +3 -0
  78. package/dist/config/blocks/bulletList.d.ts +3 -0
  79. package/dist/config/blocks/codeBlock.d.ts +3 -0
  80. package/dist/config/blocks/columns1.d.ts +3 -0
  81. package/dist/config/blocks/columns2.d.ts +3 -0
  82. package/dist/config/blocks/columns3.d.ts +3 -0
  83. package/dist/config/blocks/createHeadingActions.d.ts +7 -0
  84. package/dist/config/blocks/file.d.ts +3 -0
  85. package/dist/config/blocks/heading1.d.ts +3 -0
  86. package/dist/config/blocks/heading2.d.ts +3 -0
  87. package/dist/config/blocks/heading3.d.ts +3 -0
  88. package/dist/config/blocks/heading4.d.ts +3 -0
  89. package/dist/config/blocks/heading5.d.ts +3 -0
  90. package/dist/config/blocks/heading6.d.ts +3 -0
  91. package/dist/config/blocks/horizontalRule.d.ts +3 -0
  92. package/dist/config/blocks/image.d.ts +3 -0
  93. package/dist/config/blocks/index.d.ts +13 -0
  94. package/dist/config/blocks/linkButton.d.ts +3 -0
  95. package/dist/config/blocks/numberedList.d.ts +3 -0
  96. package/dist/config/blocks/paragraph.d.ts +3 -0
  97. package/dist/config/blocks/table.d.ts +3 -0
  98. package/dist/context/EditorExtensions.d.ts +12 -0
  99. package/dist/context/EditorExtensions.mjs +18 -0
  100. package/dist/context/EditorExtensions.mjs.map +1 -0
  101. package/dist/context/EditorSettings.d.ts +7 -0
  102. package/dist/context/EditorSettings.mjs +12 -0
  103. package/dist/context/EditorSettings.mjs.map +1 -0
  104. package/dist/dataview/column-type.d.ts +11 -0
  105. package/dist/dataview/column-type.mjs +14 -0
  106. package/dist/dataview/column-type.mjs.map +1 -0
  107. package/dist/extensions/BaseBlock/BaseBlock.d.ts +12 -0
  108. package/dist/extensions/BaseBlock/index.d.ts +1 -0
  109. package/dist/extensions/BlockquoteFigure/BlockquoteFigure.d.ts +11 -0
  110. package/dist/extensions/BlockquoteFigure/Quote/Quote.d.ts +3 -0
  111. package/dist/extensions/BlockquoteFigure/Quote/index.d.ts +1 -0
  112. package/dist/extensions/BlockquoteFigure/QuoteCaption/QuoteCaption.d.ts +3 -0
  113. package/dist/extensions/BlockquoteFigure/QuoteCaption/index.d.ts +1 -0
  114. package/dist/extensions/BlockquoteFigure/index.d.ts +1 -0
  115. package/dist/extensions/CustomConvertBlock/CustomConvertBlock.d.ts +14 -0
  116. package/dist/extensions/CustomConvertBlock/index.d.ts +1 -0
  117. package/dist/extensions/CustomMark/CustomMark.d.ts +3 -0
  118. package/dist/extensions/CustomMark/index.d.ts +1 -0
  119. package/dist/extensions/Document/Document.d.ts +2 -0
  120. package/dist/extensions/Document/index.d.ts +1 -0
  121. package/dist/extensions/Figcaption/Figcaption.d.ts +5 -0
  122. package/dist/extensions/Figcaption/index.d.ts +1 -0
  123. package/dist/extensions/Figure/Figure.d.ts +5 -0
  124. package/dist/extensions/Figure/index.d.ts +1 -0
  125. package/dist/extensions/FileBlock/FileBlock.d.ts +25 -0
  126. package/dist/extensions/FileBlock/components/FileBlockCaption.d.ts +6 -0
  127. package/dist/extensions/FileBlock/components/FileBlockMenu.d.ts +4 -0
  128. package/dist/extensions/FileBlock/components/FileBlockView.d.ts +9 -0
  129. package/dist/extensions/FileBlock/index.d.ts +1 -0
  130. package/dist/extensions/FileBlock/mediaUpdateHooks.d.ts +10 -0
  131. package/dist/extensions/FontStyle/FontStyle.d.ts +20 -0
  132. package/dist/extensions/FontStyle/index.d.ts +1 -0
  133. package/dist/extensions/Heading/Heading.d.ts +2 -0
  134. package/dist/extensions/Heading/index.d.ts +1 -0
  135. package/dist/extensions/HorizontalRule/HorizontalRule.d.ts +2 -0
  136. package/dist/extensions/HorizontalRule/index.d.ts +1 -0
  137. package/dist/extensions/Image/Image.d.ts +2 -0
  138. package/dist/extensions/Image/index.d.ts +1 -0
  139. package/dist/extensions/ImageBlock/ImageBlock.d.ts +34 -0
  140. package/dist/extensions/ImageBlock/components/ImageBlockCaption.d.ts +6 -0
  141. package/dist/extensions/ImageBlock/components/ImageBlockLink.d.ts +6 -0
  142. package/dist/extensions/ImageBlock/components/ImageBlockMenu.d.ts +4 -0
  143. package/dist/extensions/ImageBlock/components/ImageBlockView.d.ts +9 -0
  144. package/dist/extensions/ImageBlock/components/ImageBlockWidth.d.ts +5 -0
  145. package/dist/extensions/ImageBlock/index.d.ts +1 -0
  146. package/dist/extensions/ImageBlock/mediaUpdateHooks.d.ts +10 -0
  147. package/dist/extensions/Link/Link.d.ts +4 -0
  148. package/dist/extensions/Link/index.d.ts +1 -0
  149. package/dist/extensions/LinkButton/LinkButton.d.ts +15 -0
  150. package/dist/extensions/LinkButton/components/LinkButtonMenu.d.ts +4 -0
  151. package/dist/extensions/LinkButton/components/LinkButtonView.d.ts +7 -0
  152. package/dist/extensions/LinkButton/index.d.ts +1 -0
  153. package/dist/extensions/MediaUpload/MediaUpload.d.ts +12 -0
  154. package/dist/extensions/MediaUpload/index.d.ts +1 -0
  155. package/dist/extensions/MediaUpload/view/Dropzone.d.ts +7 -0
  156. package/dist/extensions/MediaUpload/view/filterFilesByMediaType.d.ts +10 -0
  157. package/dist/extensions/MediaUpload/view/hooks.d.ts +26 -0
  158. package/dist/extensions/MediaUpload/view/index.d.ts +1 -0
  159. package/dist/extensions/MediaUpload/view/insertMediaBlocks.d.ts +22 -0
  160. package/dist/extensions/MultiColumn/Column.d.ts +3 -0
  161. package/dist/extensions/MultiColumn/Columns.d.ts +16 -0
  162. package/dist/extensions/MultiColumn/index.d.ts +2 -0
  163. package/dist/extensions/PasteHandler/PasteHandler.d.ts +4 -0
  164. package/dist/extensions/PasteHandler/index.d.ts +1 -0
  165. package/dist/extensions/Selection/Selection.d.ts +3 -0
  166. package/dist/extensions/Selection/index.d.ts +1 -0
  167. package/dist/extensions/SlashCommand/BlockMenu.d.ts +9 -0
  168. package/dist/extensions/SlashCommand/SlashCommand.d.ts +18 -0
  169. package/dist/extensions/SlashCommand/index.d.ts +1 -0
  170. package/dist/extensions/Table/Cell.d.ts +12 -0
  171. package/dist/extensions/Table/Header.d.ts +9 -0
  172. package/dist/extensions/Table/Row.d.ts +2 -0
  173. package/dist/extensions/Table/Table.d.ts +9 -0
  174. package/dist/extensions/Table/index.d.ts +4 -0
  175. package/dist/extensions/Table/menus/ColorPicker.d.ts +4 -0
  176. package/dist/extensions/Table/menus/TableColumn/index.d.ts +4 -0
  177. package/dist/extensions/Table/menus/TableColumn/utils.d.ts +8 -0
  178. package/dist/extensions/Table/menus/TableMenu/index.d.ts +4 -0
  179. package/dist/extensions/Table/menus/TableRow/index.d.ts +4 -0
  180. package/dist/extensions/Table/menus/TableRow/utils.d.ts +8 -0
  181. package/dist/extensions/Table/menus/hooks.d.ts +5 -0
  182. package/dist/extensions/Table/menus/index.d.ts +3 -0
  183. package/dist/extensions/Table/utils.d.ts +44 -0
  184. package/dist/extensions/TrailingNode/index.d.ts +1 -0
  185. package/dist/extensions/TrailingNode/trailing-node.d.ts +11 -0
  186. package/dist/extensions/extension-kit.d.ts +10 -0
  187. package/dist/extensions/index.d.ts +34 -0
  188. package/dist/extensions/mediaBlockContent.d.ts +41 -0
  189. package/dist/hooks/resolveCommands.d.ts +10 -0
  190. package/dist/hooks/useBlockEditor.d.ts +27 -0
  191. package/dist/hooks/useBlockMenus.d.ts +17 -0
  192. package/dist/hooks/useEditorViewDom.d.ts +15 -0
  193. package/dist/hooks/useFrequentlyUsed.d.ts +6 -0
  194. package/dist/hooks/useSettings.d.ts +10 -0
  195. package/dist/index.d.ts +5 -0
  196. package/dist/index.mjs +33 -0
  197. package/dist/index.mjs.map +1 -0
  198. package/dist/lib/utils/commandUsageStorage.d.ts +14 -0
  199. package/dist/lib/utils/index.d.ts +5 -0
  200. package/dist/lib/utils/isCustomNodeSelected.d.ts +4 -0
  201. package/dist/lib/utils/isTextSelected.d.ts +5 -0
  202. package/dist/tiptap/core.d.ts +1 -0
  203. package/dist/tiptap/core.mjs +3 -0
  204. package/dist/tiptap/core.mjs.map +1 -0
  205. package/dist/tiptap/pm/changeset.d.ts +1 -0
  206. package/dist/tiptap/pm/changeset.mjs +3 -0
  207. package/dist/tiptap/pm/changeset.mjs.map +1 -0
  208. package/dist/tiptap/pm/commands.d.ts +1 -0
  209. package/dist/tiptap/pm/commands.mjs +3 -0
  210. package/dist/tiptap/pm/commands.mjs.map +1 -0
  211. package/dist/tiptap/pm/dropcursor.d.ts +1 -0
  212. package/dist/tiptap/pm/dropcursor.mjs +3 -0
  213. package/dist/tiptap/pm/dropcursor.mjs.map +1 -0
  214. package/dist/tiptap/pm/gapcursor.d.ts +1 -0
  215. package/dist/tiptap/pm/gapcursor.mjs +3 -0
  216. package/dist/tiptap/pm/gapcursor.mjs.map +1 -0
  217. package/dist/tiptap/pm/history.d.ts +1 -0
  218. package/dist/tiptap/pm/history.mjs +3 -0
  219. package/dist/tiptap/pm/history.mjs.map +1 -0
  220. package/dist/tiptap/pm/inputrules.d.ts +1 -0
  221. package/dist/tiptap/pm/inputrules.mjs +3 -0
  222. package/dist/tiptap/pm/inputrules.mjs.map +1 -0
  223. package/dist/tiptap/pm/keymap.d.ts +1 -0
  224. package/dist/tiptap/pm/keymap.mjs +3 -0
  225. package/dist/tiptap/pm/keymap.mjs.map +1 -0
  226. package/dist/tiptap/pm/model.d.ts +1 -0
  227. package/dist/tiptap/pm/model.mjs +3 -0
  228. package/dist/tiptap/pm/model.mjs.map +1 -0
  229. package/dist/tiptap/pm/schema-list.d.ts +1 -0
  230. package/dist/tiptap/pm/schema-list.mjs +3 -0
  231. package/dist/tiptap/pm/schema-list.mjs.map +1 -0
  232. package/dist/tiptap/pm/state.d.ts +1 -0
  233. package/dist/tiptap/pm/state.mjs +3 -0
  234. package/dist/tiptap/pm/state.mjs.map +1 -0
  235. package/dist/tiptap/pm/tables.d.ts +1 -0
  236. package/dist/tiptap/pm/tables.mjs +3 -0
  237. package/dist/tiptap/pm/tables.mjs.map +1 -0
  238. package/dist/tiptap/pm/transform.d.ts +1 -0
  239. package/dist/tiptap/pm/transform.mjs +3 -0
  240. package/dist/tiptap/pm/transform.mjs.map +1 -0
  241. package/dist/tiptap/pm/view.d.ts +1 -0
  242. package/dist/tiptap/pm/view.mjs +3 -0
  243. package/dist/tiptap/pm/view.mjs.map +1 -0
  244. package/dist/tiptap/react.d.ts +1 -0
  245. package/dist/tiptap/react.mjs +3 -0
  246. package/dist/tiptap/react.mjs.map +1 -0
  247. package/dist/tiptap/suggestion.d.ts +3 -0
  248. package/dist/tiptap/suggestion.mjs +8 -0
  249. package/dist/tiptap/suggestion.mjs.map +1 -0
  250. package/dist/tiptap/tiptap.d.ts +48 -0
  251. package/dist/tiptap/tiptap.mjs +41 -0
  252. package/dist/tiptap/tiptap.mjs.map +1 -0
  253. package/dist/types/index.d.ts +149 -0
  254. package/dist/types/index.mjs +1 -0
  255. package/dist/types/index.mjs.map +1 -0
  256. package/dist/utils/createBlockMenu.d.ts +30 -0
  257. package/dist/utils/createProps.d.ts +7 -0
  258. package/dist/utils/createProps.mjs +7 -0
  259. package/dist/utils/createProps.mjs.map +1 -0
  260. package/dist/utils/mergeBlockDefinitions.d.ts +10 -0
  261. package/dist/utils/mergeBlockDefinitions.mjs +8 -0
  262. package/dist/utils/mergeBlockDefinitions.mjs.map +1 -0
  263. package/dist/utils/mergeSettings.d.ts +11 -0
  264. package/dist/utils/normalizeSettings.d.ts +28 -0
  265. package/dist/utils/normalizeSettings.mjs +13 -0
  266. package/dist/utils/normalizeSettings.mjs.map +1 -0
  267. 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
+ export interface TiptapProps {
2
+ defaultValue: string;
3
+ onChange: (value: string) => void;
4
+ }
5
+ export type EditorUser = {
6
+ clientId: string;
7
+ name: string;
8
+ color: string;
9
+ initials?: string;
10
+ };
@@ -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,5 @@
1
+ export type IdEditorProps = {
2
+ onChange: (value: string) => void;
3
+ value: string;
4
+ };
5
+ export declare function IdEditor({ onChange, value }: IdEditorProps): import("react").JSX.Element;
@@ -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,4 @@
1
+ import { type JSX } from 'react';
2
+ import { MenuProps } from '../types.js';
3
+ export declare function LinkMenu({ editor, appendTo }: MenuProps): JSX.Element;
4
+ export default LinkMenu;
@@ -0,0 +1 @@
1
+ export { LinkMenu } from './LinkMenu.js';
@@ -0,0 +1,6 @@
1
+ import { Editor } from '@tiptap/react';
2
+ export type TextMenuProps = {
3
+ editor: Editor;
4
+ appendTo?: React.RefObject<any>;
5
+ };
6
+ export declare function TextMenu({ editor, appendTo }: TextMenuProps): 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 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,6 @@
1
+ export type CustomClassPickerProps = {
2
+ onChange: (value: string) => void;
3
+ onRemove: () => void;
4
+ value: string;
5
+ };
6
+ export declare function CustomClassPicker({ onChange, onRemove, value }: CustomClassPickerProps): 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,5 @@
1
+ export type FontFamilyPickerProps = {
2
+ onChange: (value: string) => void;
3
+ value: string;
4
+ };
5
+ export declare function FontFamilyPicker({ onChange, value }: FontFamilyPickerProps): import("react").JSX.Element;
@@ -0,0 +1,5 @@
1
+ export type FontSizePickerProps = {
2
+ onChange: (value: string) => void;
3
+ value: string;
4
+ };
5
+ export declare function FontSizePicker({ onChange, value }: FontSizePickerProps): 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,3 @@
1
+ export * from './LinkMenu/index.js';
2
+ export * from './TextMenu/index.js';
3
+ export * from './ContentItemMenu/index.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,5 @@
1
+ export type AlignPickerProps = {
2
+ align: 'left' | 'center' | 'right';
3
+ onChange: (align: 'left' | 'center' | 'right') => void;
4
+ };
5
+ export declare function AlignPicker({ align, onChange }: AlignPickerProps): import("react").JSX.Element;
@@ -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,10 @@
1
+ import {
2
+ ColorButton
3
+ } from "../../../chunk-GIHTGDIW.mjs";
4
+ import "../../../chunk-TKSGCO5Z.mjs";
5
+ import "../../../chunk-57Q3DEDF.mjs";
6
+ import "../../../chunk-OZG2BL6F.mjs";
7
+ export {
8
+ ColorButton
9
+ };
10
+ //# sourceMappingURL=ColorButton.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":[],"sourcesContent":[],"mappings":"","names":[]}
@@ -0,0 +1,6 @@
1
+ export type ColorPickerProps = {
2
+ color?: string;
3
+ onChange?: (color: string) => void;
4
+ onClear?: () => void;
5
+ };
6
+ export declare function ColorPicker({ color, onChange, onClear }: ColorPickerProps): import("react").JSX.Element;
@@ -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,6 @@
1
+ export type LinkPreviewPanelProps = {
2
+ url: string;
3
+ onEdit: () => void;
4
+ onClear: () => void;
5
+ };
6
+ export declare function LinkPreviewPanel({ onClear, onEdit, url }: LinkPreviewPanelProps): import("react").JSX.Element;
@@ -0,0 +1 @@
1
+ export * from './LinkPreviewPanel.js';
@@ -0,0 +1,4 @@
1
+ export * from './Colorpicker/index.js';
2
+ export * from './AlignPicker/index.js';
3
+ export * from './LinkEditorPanel/index.js';
4
+ export * from './LinkPreviewPanel/index.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,7 @@
1
+ import {
2
+ Icon
3
+ } from "../../chunk-57Q3DEDF.mjs";
4
+ export {
5
+ Icon
6
+ };
7
+ //# sourceMappingURL=Icon.mjs.map
@@ -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,10 @@
1
+ import {
2
+ Surface
3
+ } from "../../chunk-EM5TLDPY.mjs";
4
+ import "../../chunk-TKSGCO5Z.mjs";
5
+ import "../../chunk-57Q3DEDF.mjs";
6
+ import "../../chunk-OZG2BL6F.mjs";
7
+ export {
8
+ Surface
9
+ };
10
+ //# sourceMappingURL=Surface.mjs.map
@@ -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;