{"version":3,"file":"index.mjs","names":[],"sources":["../../src/plugins/image/slash-command.tsx","../../src/plugins/image/index.ts"],"sourcesContent":["import { ImageIcon } from '../../ui/icons/image';\nimport type { SlashCommandItem } from '../../ui/slash-command/types';\n\nexport const imageSlashCommand: SlashCommandItem = {\n  title: 'Image',\n  description: 'Upload an image',\n  icon: <ImageIcon size={20} />,\n  category: 'Layout',\n  searchTerms: ['image', 'img', 'picture', 'photo', 'upload'],\n  command: ({ editor, range }) => {\n    editor.chain().focus().deleteRange(range).run();\n    editor.commands.uploadImage();\n  },\n};\n","import { useMemo, useRef } from 'react';\nimport { createImageExtension } from './extension';\nimport type { UseEditorImageOptions } from './types';\n\ndeclare module '@tiptap/core' {\n  interface Commands<ReturnType> {\n    image: {\n      setImage: (attrs: {\n        src: string;\n        alt?: string;\n        width?: string;\n        height?: string;\n        alignment?: string;\n        href?: string;\n      }) => ReturnType;\n      uploadImage: () => ReturnType;\n    };\n  }\n}\n\nexport { imageSlashCommand } from './slash-command';\nexport type { UploadImageResult, UseEditorImageOptions } from './types';\n\nexport function useEditorImage(options: UseEditorImageOptions) {\n  const uploadImageRef = useRef(options.uploadImage);\n  uploadImageRef.current = options.uploadImage;\n\n  return useMemo(\n    () =>\n      createImageExtension({\n        uploadImage: (file) => uploadImageRef.current(file),\n      }),\n    [],\n  );\n}\n"],"mappings":";;;;;;AAGA,MAAa,oBAAsC;CACjD,OAAO;CACP,aAAa;CACb,MAAM,oBAAC,WAAD,EAAW,MAAM,IAAM,CAAA;CAC7B,UAAU;CACV,aAAa;EAAC;EAAS;EAAO;EAAW;EAAS;EAAS;CAC3D,UAAU,EAAE,QAAQ,YAAY;AAC9B,SAAO,OAAO,CAAC,OAAO,CAAC,YAAY,MAAM,CAAC,KAAK;AAC/C,SAAO,SAAS,aAAa;;CAEhC;;;ACUD,SAAgB,eAAe,SAAgC;CAC7D,MAAM,iBAAiB,OAAO,QAAQ,YAAY;AAClD,gBAAe,UAAU,QAAQ;AAEjC,QAAO,cAEH,qBAAqB,EACnB,cAAc,SAAS,eAAe,QAAQ,KAAK,EACpD,CAAC,EACJ,EAAE,CACH"}