{"version":3,"file":"use-editor-custom-toolbar-button2.mjs","sources":["../../../../../../../../packages/components/editor/src/hooks/use-editor-custom-toolbar-button.tsx"],"sourcesContent":["import { type ComputedRef } from 'vue'\nimport { type Editor, type EditorProps } from '../typings'\n\nexport function useEditorCustomToolbarButton(options: { mergedProps: ComputedRef<EditorProps> }) {\n  const { mergedProps } = options\n\n  function createListsButton(editor: Editor) {\n    editor.ui.registry.addMenuButton('lists', {\n      // text: \"列表\",\n      icon: 'toc',\n      tooltip: '列表',\n      fetch: (callback) => {\n        callback([\n          {\n            type: 'menuitem',\n            icon: 'ordered-list',\n            text: '有序列表',\n            onAction: () =>\n              editor.execCommand('InsertOrderedList', false, {\n                'list-style-type': 'decimal',\n              }),\n          },\n          {\n            type: 'menuitem',\n            icon: 'unordered-list',\n            text: '无序列表',\n            onAction: () =>\n              editor.execCommand('InsertUnorderedList', false, {\n                'list-style-type': 'disc',\n              }),\n          },\n        ])\n      },\n    })\n  }\n\n  function createAlignsButton(editor: Editor) {\n    editor.ui.registry.addMenuButton('aligns', {\n      // text: \"对齐方式\",\n      icon: 'align-left',\n      tooltip: '对齐方式',\n      fetch: (callback) => {\n        callback([\n          {\n            type: 'menuitem',\n            icon: 'align-left',\n            text: '左对齐',\n            onAction: () => editor.execCommand('JustifyLeft'),\n          },\n          {\n            type: 'menuitem',\n            icon: 'align-center',\n            text: '居中对齐',\n            onAction: () => editor.execCommand('JustifyCenter'),\n          },\n          {\n            type: 'menuitem',\n            icon: 'align-right',\n            text: '右对齐',\n            onAction: () => editor.execCommand('JustifyRight'),\n          },\n          {\n            type: 'menuitem',\n            icon: 'align-justify',\n            text: '俩端对齐',\n            onAction: () => editor.execCommand('JustifyFull'),\n          },\n        ])\n      },\n    })\n  }\n\n  function createUploadimageButton(editor: Editor, handleClick?: (...args: any[]) => any) {\n    editor.ui.registry.addButton('uploadimage', {\n      // text: '上传图片',\n      icon: 'image',\n      tooltip: '插入图片',\n      ...(handleClick\n        ? {\n            onAction: handleClick,\n          }\n        : {\n            onAction: (...args: any[]) => {\n              console.log('🚀 ~ createUploadimageButton ~ args:', args)\n            },\n          }),\n    })\n  }\n\n  function createUploadlinkButton(editor: Editor, handleClick?: (...args: any[]) => any) {\n    editor.ui.registry.addButton('uploadlink', {\n      // text: '上传链接',\n      icon: 'link',\n      tooltip: '插入链接',\n      ...(handleClick\n        ? {\n            onAction: handleClick,\n          }\n        : {\n            onAction: (...args: any[]) => {\n              console.log('🚀 ~ createUploadlinkButton ~ args:', args)\n            },\n          }),\n    })\n  }\n\n  function createUploadfileButton(editor: Editor, handleClick?: (...args: any[]) => any) {\n    editor.ui.registry.addButton('uploadfile', {\n      // text: '上传链接',\n      icon: 'new-document',\n      tooltip: '插入附件',\n      ...(handleClick\n        ? {\n            onAction: handleClick,\n          }\n        : {\n            onAction: (...args: any[]) => {\n              console.log('🚀 ~ createUploadfileButton ~ args:', args)\n            },\n          }),\n    })\n  }\n\n  return {\n    createListsButton,\n    createAlignsButton,\n    createUploadimageButton,\n    createUploadlinkButton,\n    createUploadfileButton,\n  }\n}\n"],"names":["useEditorCustomToolbarButton","options","mergedProps","createListsButton","registry","icon","tooltip","callback","type","text","createAlignsButton","ui","onAction","execCommand","console","handleClick"],"mappings":"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"}