@bettaibi/react-blocknote
Version:
A modern, versatile rich text editor component for React applications with an elegant UI and Notion-like functionality. Supports both React 18 and React 19.
2 lines (1 loc) • 11.6 kB
JavaScript
import{c as n,u as e,j as l,E as c,l as t,B as i,I as o,g as u,m as a,C as s,H as r,a as d,b as h,d as f,e as g,f as m,T as x,L as b,h as k,S as v,A as N,i as C,k as j,U as z,R as H}from"./blocknote-gBqZGJxD.js";import{n as A}from"./blocknote-gBqZGJxD.js";const B=n("quote",[["path",{d:"M16 3a2 2 0 0 0-2 2v6a2 2 0 0 0 2 2 1 1 0 0 1 1 1v1a2 2 0 0 1-2 2 1 1 0 0 0-1 1v2a1 1 0 0 0 1 1 6 6 0 0 0 6-6V5a2 2 0 0 0-2-2z",key:"rib7q0"}],["path",{d:"M5 3a2 2 0 0 0-2 2v6a2 2 0 0 0 2 2 1 1 0 0 1 1 1v1a2 2 0 0 1-2 2 1 1 0 0 0-1 1v2a1 1 0 0 0 1 1 6 6 0 0 0 6-6V5a2 2 0 0 0-2-2z",key:"1ymkrd"}]]);function p({className:n=""}){const t=e();return l.jsx(c,{editor:t,className:n})}function S({children:n,className:c="",...i}){const o=e();return o?l.jsx(t,{editor:o,tippyOptions:{duration:100},className:c,...i,children:n}):null}function T({className:n="",children:c,iconSize:t=16,...o}){const u=e();return u?l.jsx("button",{type:"button",onClick:()=>u.chain().focus().toggleBold().run(),className:n,title:"Bold",...o,children:c??l.jsx(i,{size:t})}):null}function y({className:n="",children:c,iconSize:t=16,...i}){const u=e();return u?l.jsx("button",{type:"button",onClick:()=>u.chain().focus().toggleItalic().run(),className:n,title:"Italic",...i,children:c??l.jsx(o,{size:t})}):null}function L({className:n="",children:c,iconSize:t=16,...i}){const o=e();return o?l.jsx("button",{type:"button",onClick:()=>o.chain().focus().toggleUnderline().run(),className:n,title:"Underline",...i,children:c??l.jsx(u,{size:t})}):null}function R({className:n="",children:c,iconSize:t=16,...i}){const o=e();return o?l.jsx("button",{type:"button",onClick:()=>o.chain().focus().toggleStrike().run(),className:n,title:"Strikethrough",...i,children:c??l.jsx(a,{size:t})}):null}function w({className:n="",children:c,iconSize:t=16,...i}){const o=e();return o?l.jsx("button",{type:"button",onClick:()=>o.chain().focus().toggleCode().run(),className:n,title:"Inline Code",...i,children:c??l.jsx(s,{size:t})}):null}function I({className:n="",children:c,iconSize:t=16,...i}){const o=e();return o?l.jsx("button",{type:"button",onClick:()=>o.chain().focus().toggleHeading({level:1}).run(),className:n,title:"Heading 1",...i,children:c??l.jsx(r,{size:t})}):null}function U({className:n="",children:c,iconSize:t=16,...i}){const o=e();return o?l.jsx("button",{type:"button",onClick:()=>o.chain().focus().toggleHeading({level:2}).run(),className:n,title:"Heading 2",...i,children:c??l.jsx(d,{size:t})}):null}function q({className:n="",children:c,iconSize:t=16,...i}){const o=e();return o?l.jsx("button",{type:"button",onClick:()=>o.chain().focus().toggleHeading({level:3}).run(),className:n,title:"Heading 3",...i,children:c??l.jsx(h,{size:t})}):null}function O({className:n="",children:c,iconSize:t=16,...i}){const o=e();return o?l.jsx("button",{type:"button",onClick:()=>o.chain().focus().toggleHeading({level:4}).run(),className:n,title:"Heading 4",...i,children:c??l.jsx(f,{size:t})}):null}function D({className:n="",children:c,iconSize:t=16,...i}){const o=e();return o?l.jsx("button",{type:"button",onClick:()=>o.chain().focus().toggleHeading({level:5}).run(),className:n,title:"Heading 5",...i,children:c??l.jsx(g,{size:t})}):null}function E({className:n="",children:c,iconSize:t=16,...i}){const o=e();return o?l.jsx("button",{type:"button",onClick:()=>o.chain().focus().toggleHeading({level:6}).run(),className:n,title:"Heading 6",...i,children:c??l.jsx(m,{size:t})}):null}function M({className:n="",children:c,iconSize:t=16,...i}){const o=e();return o?l.jsx("button",{type:"button",onClick:()=>o.chain().focus().setParagraph().run(),className:n,title:"Normal Text",...i,children:c??l.jsx(x,{size:t})}):null}function P({className:n="",children:c,iconSize:t=16,...i}){const o=e();return o?l.jsx("button",{type:"button",onClick:()=>o.chain().focus().toggleBulletList().run(),className:n,title:"Bullet List",...i,children:c??l.jsx(b,{size:t})}):null}function V({className:n="",children:c,iconSize:t=16,...i}){const o=e();return o?l.jsx("button",{type:"button",onClick:()=>o.chain().focus().toggleOrderedList().run(),className:n,title:"Ordered List",...i,children:c??l.jsx(k,{size:t})}):null}function F({className:n="",children:c,iconSize:t=16,...i}){const o=e();return o?l.jsx("button",{type:"button",onClick:()=>o.chain().focus().toggleTaskList().run(),className:n,title:"Task List",...i,children:c??l.jsx(v,{size:t})}):null}function G({className:n="",children:c,iconSize:t=16,...i}){const o=e();return o?l.jsx("button",{type:"button",onClick:()=>o.chain().focus().toggleCodeBlock().run(),className:n,title:"Code Block",...i,children:c??l.jsx(s,{size:t})}):null}function J({className:n="",children:c,iconSize:t=16,...i}){const o=e();return o?l.jsx("button",{type:"button",onClick:()=>o.chain().focus().toggleBlockquote().run(),className:n,title:"Blockquote",...i,children:c??l.jsx(B,{size:t})}):null}function K({className:n="",children:c,iconSize:t=16,...i}){const o=e();return o?l.jsx("button",{type:"button",onClick:()=>o.chain().focus().setTextAlign("left").run(),className:n,title:"Align Left",...i,children:c??l.jsx(N,{size:t})}):null}function Q({className:n="",children:c,iconSize:t=16,...i}){const o=e();return o?l.jsx("button",{type:"button",onClick:()=>o.chain().focus().setTextAlign("center").run(),className:n,title:"Align Center",...i,children:c??l.jsx(C,{size:t})}):null}function W({className:n="",children:c,iconSize:t=16,...i}){const o=e();return o?l.jsx("button",{type:"button",onClick:()=>o.chain().focus().setTextAlign("right").run(),className:n,title:"Align Right",...i,children:c??l.jsx(j,{size:t})}):null}function X({className:n="",children:c,iconSize:t=16,...i}){const o=e();return o?l.jsx("button",{type:"button",onClick:()=>o.chain().focus().undo().run(),disabled:!o.can().chain().focus().undo().run(),className:n,title:"Undo",...i,children:c??l.jsx(z,{size:t})}):null}function Y({className:n="",children:c,iconSize:t=16,...i}){const o=e();return o?l.jsx("button",{type:"button",onClick:()=>o.chain().focus().redo().run(),disabled:!o.can().chain().focus().redo().run(),className:n,title:"Redo",...i,children:c??l.jsx(H,{size:t})}):null}function Z(){const n=e();return{handleBold:function(){null==n||n.chain().focus().toggleBold().run()},handleItalic:function(){null==n||n.chain().focus().toggleItalic().run()},handleUnderline:function(){null==n||n.chain().focus().toggleUnderline().run()},handleStrike:function(){null==n||n.chain().focus().toggleStrike().run()},handleCode:function(){null==n||n.chain().focus().toggleCode().run()},handleHeading1:function(){null==n||n.chain().focus().toggleHeading({level:1}).run()},handleHeading2:function(){null==n||n.chain().focus().toggleHeading({level:2}).run()},handleHeading3:function(){null==n||n.chain().focus().toggleHeading({level:3}).run()},handleHeading4:function(){null==n||n.chain().focus().toggleHeading({level:4}).run()},handleHeading5:function(){null==n||n.chain().focus().toggleHeading({level:5}).run()},handleHeading6:function(){null==n||n.chain().focus().toggleHeading({level:6}).run()},handleNormalText:function(){null==n||n.chain().focus().setParagraph().run()},handleBulletList:function(){null==n||n.chain().focus().toggleBulletList().run()},handleOrderedList:function(){null==n||n.chain().focus().toggleOrderedList().run()},handleTaskList:function(){null==n||n.chain().focus().toggleTaskList().run()},handleCodeBlock:function(){null==n||n.chain().focus().toggleCodeBlock().run()},handleBlockquote:function(){null==n||n.chain().focus().toggleBlockquote().run()},handleAlignLeft:function(){null==n||n.chain().focus().setTextAlign("left").run()},handleAlignCenter:function(){null==n||n.chain().focus().setTextAlign("center").run()},handleAlignRight:function(){null==n||n.chain().focus().setTextAlign("right").run()},handleUndo:function(){null==n||n.chain().focus().undo().run()},handleRedo:function(){null==n||n.chain().focus().redo().run()},handleImage:function({src:e,alt:l=""}){n.chain().focus().setImage({src:e,alt:l}).run()},handleLink:function(e){n.chain().focus().extendMarkRange("link").setLink({href:e}).run()},handleInsertTable:function(){null==n||n.chain().focus().insertTable({rows:3,cols:3,withHeaderRow:!0}).run()},handleDeleteTable:function(){null==n||n.chain().focus().deleteTable().run()},handleAddColumnBefore:function(){null==n||n.chain().focus().addColumnBefore().run()},handleAddColumnAfter:function(){null==n||n.chain().focus().addColumnAfter().run()},handleDeleteColumn:function(){null==n||n.chain().focus().deleteColumn().run()},handleAddRowBefore:function(){null==n||n.chain().focus().addRowBefore().run()},handleAddRowAfter:function(){null==n||n.chain().focus().addRowAfter().run()},handleDeleteRow:function(){null==n||n.chain().focus().deleteRow().run()}}}const $={LEFT:{textAlign:"left"},CENTER:{textAlign:"center"},RIGHT:{textAlign:"right"}};function _(){const n=e(),l=null==n?void 0:n.can().undo(),c=null==n?void 0:n.can().redo(),t=null==n?void 0:n.can().chain().focus().toggleBold().run(),i=null==n?void 0:n.can().chain().focus().toggleItalic().run(),o=null==n?void 0:n.can().chain().focus().toggleUnderline().run(),u=null==n?void 0:n.can().chain().focus().toggleStrike().run(),a=null==n?void 0:n.can().chain().focus().toggleCode().run(),s=null==n?void 0:n.can().chain().focus().toggleHeading({level:1}).run(),r=null==n?void 0:n.can().chain().focus().toggleHeading({level:2}).run(),d=null==n?void 0:n.can().chain().focus().toggleHeading({level:3}).run(),h=null==n?void 0:n.can().chain().focus().toggleHeading({level:4}).run(),f=null==n?void 0:n.can().chain().focus().toggleHeading({level:5}).run(),g=null==n?void 0:n.can().chain().focus().toggleHeading({level:6}).run(),m=null==n?void 0:n.can().chain().focus().setParagraph().run(),x=null==n?void 0:n.can().chain().focus().toggleBulletList().run(),b=null==n?void 0:n.can().chain().focus().toggleOrderedList().run(),k=null==n?void 0:n.can().chain().focus().toggleTaskList().run(),v=null==n?void 0:n.can().chain().focus().toggleCodeBlock().run(),N=null==n?void 0:n.can().chain().focus().toggleBlockquote().run(),C=null==n?void 0:n.can().chain().focus().insertTable({rows:3,cols:3,withHeaderRow:!0}).run(),j=null==n?void 0:n.can().chain().focus().deleteTable().run(),z=null==n?void 0:n.can().chain().focus().addColumnBefore().run(),H=null==n?void 0:n.can().chain().focus().addColumnAfter().run(),A=null==n?void 0:n.can().chain().focus().deleteColumn().run(),B=null==n?void 0:n.can().chain().focus().addRowBefore().run(),p=null==n?void 0:n.can().chain().focus().addRowAfter().run(),S=null==n?void 0:n.can().chain().focus().deleteRow().run();return{getActiveMark:function(e){return!!(null==n?void 0:n.isActive(e))},getTextAlignState:function(e){return!!(null==n?void 0:n.isActive(e))},TextAlign:$,canUndo:l,canRedo:c,canBold:t,canItalic:i,canUnderline:o,canStrike:u,canCode:a,canHeading1:s,canHeading2:r,canHeading3:d,canHeading4:h,canHeading5:f,canHeading6:g,canNormalText:m,canBulletList:x,canOrderedList:b,canTaskList:k,canCodeBlock:v,canBlockquote:N,canInsertTable:C,canDeleteTable:j,canAddColumnBefore:z,canAddColumnAfter:H,canDeleteColumn:A,canAddRowBefore:B,canAddRowAfter:p,canDeleteRow:S}}export{Q as AlignCenterButton,K as AlignLeftButton,W as AlignRightButton,p as BlockNoteContent,A as BlockNoteProvider,J as BlockquoteButton,T as BoldButton,S as BubbleMenu,P as BulletListButton,G as CodeBlockButton,w as CodeButton,I as H1Button,U as H2Button,q as H3Button,O as H4Button,D as H5Button,E as H6Button,y as ItalicButton,M as NormalTextButton,V as OrderedListButton,Y as RedoButton,R as StrikeButton,F as TaskListButton,L as UnderlineButton,X as UndoButton,Z as useBlockNoteHandlers,_ as useBlockNoteValues};