@blocknote/ariakit 0.30.1 → 0.31.1
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/dist/blocknote-ariakit.cjs +1 -1
- package/dist/blocknote-ariakit.cjs.map +1 -1
- package/dist/blocknote-ariakit.js +224 -201
- package/dist/blocknote-ariakit.js.map +1 -1
- package/dist/style.css +1 -1
- package/dist/webpack-stats.json +1 -1
- package/package.json +4 -4
- package/src/input/TextInput.tsx +12 -1
- package/src/style.css +84 -1
- package/src/suggestionMenu/SuggestionMenuItem.tsx +2 -1
- package/src/suggestionMenu/SuggestionMenuLoader.tsx +11 -2
- package/src/toolbar/Toolbar.tsx +1 -2
- package/src/toolbar/ToolbarButton.tsx +1 -2
- package/types/src/input/TextInput.d.ts +5 -1
- package/types/src/suggestionMenu/SuggestionMenuItem.d.ts +1 -1
- package/types/src/suggestionMenu/SuggestionMenuLoader.d.ts +0 -1
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("react/jsx-runtime"),o=require("@blocknote/core"),g=require("@blocknote/react"),c=require("@ariakit/react"),m=require("react"),y=t=>{const{children:r,...n}=t;return o.assertEmpty(n),e.jsx(c.FormProvider,{children:r})},w=m.forwardRef((t,r)=>{const{className:n,name:s,label:a,icon:l,value:d,autoFocus:b,placeholder:i,onKeyDown:u,onChange:p,onSubmit:f,...x}=t;return o.assertEmpty(x),e.jsxs(e.Fragment,{children:[t.label&&e.jsx(c.FormLabel,{name:s,children:a}),e.jsxs("div",{className:"bn-ak-input-wrapper",children:[l,e.jsx(c.FormInput,{className:o.mergeCSSClasses("bn-ak-input",n||""),ref:r,name:s,value:d,autoFocus:b,placeholder:i,onKeyDown:u,onChange:p,onSubmit:f})]})]})}),R=t=>{const{children:r,onOpenChange:n,position:s,sub:a,...l}=t;return o.assertEmpty(l),e.jsx(c.MenuProvider,{placement:s,setOpen:n,virtualFocus:!0,children:r})},E=m.forwardRef((t,r)=>{const{className:n,children:s,sub:a,...l}=t;return o.assertEmpty(l),e.jsx(c.Menu,{unmountOnHide:!0,className:o.mergeCSSClasses("bn-ak-menu",n||""),ref:r,children:s})}),T=m.forwardRef((t,r)=>{const{className:n,children:s,icon:a,checked:l,subTrigger:d,onClick:b,...i}=t;return o.assertEmpty(i),d?e.jsxs(c.MenuButton,{render:e.jsx(c.MenuItem,{}),className:o.mergeCSSClasses("bn-ak-menu-item",n||""),ref:r,onClick:b,children:[a,s,e.jsx(c.MenuButtonArrow,{}),l!==void 0&&e.jsx(c.CheckboxCheck,{checked:l})]}):e.jsxs(c.MenuItem,{className:o.mergeCSSClasses("bn-ak-menu-item",n||""),ref:r,onClick:b,children:[a,s,l!==void 0&&e.jsx(c.CheckboxCheck,{checked:l})]})}),M=m.forwardRef((t,r)=>{const{className:n,children:s,...a}=t;return o.assertEmpty(a),e.jsx(c.MenuGroupLabel,{className:o.mergeCSSClasses("bn-ak-group-label",n||""),ref:r,children:s})}),I=t=>{const{children:r,sub:n,...s}=t;return o.assertEmpty(s),n?r:e.jsx(c.MenuButton,{render:r})},B=m.forwardRef((t,r)=>{const{className:n,...s}=t;return o.assertEmpty(s),e.jsx(c.MenuSeparator,{className:o.mergeCSSClasses("bn-ak-separator",n||""),ref:r})}),P=m.forwardRef((t,r)=>{const{className:n,children:s,icon:a,onClick:l,label:d,onDragEnd:b,onDragStart:i,draggable:u,...p}=t;return o.assertEmpty(p,!1),e.jsxs(c.Button,{onDragEnd:b,onDragStart:i,draggable:u,"aria-label":d,className:o.mergeCSSClasses("bn-ak-button bn-ak-secondary",n||""),ref:r,onClick:l,...p,children:[a,s]})}),F=m.forwardRef((t,r)=>{const{className:n,tabs:s,defaultOpenTab:a,openTab:l,setOpenTab:d,loading:b,...i}=t;return o.assertEmpty(i),e.jsx("div",{className:o.mergeCSSClasses("bn-ak-wrapper",n||""),ref:r,children:e.jsxs(c.TabProvider,{defaultSelectedId:a,selectedId:l,setActiveId:u=>{u&&d(u)},children:[e.jsx(c.TabList,{className:"bn-ak-tab-list",children:s.map(u=>e.jsx(c.Tab,{className:"bn-ak-tab",id:u.name,children:u.name},u.name))}),e.jsx("div",{className:"bn-ak-panels",children:s.map(u=>e.jsx(c.TabPanel,{tabId:u.name,children:u.tabPanel},u.name))})]})})}),G=m.forwardRef((t,r)=>{const{className:n,children:s,onClick:a,label:l,...d}=t;return o.assertEmpty(d),e.jsx(c.Button,{className:o.mergeCSSClasses("bn-ak-button",n||""),onClick:a,"aria-label":l,ref:r,children:s})}),D=m.forwardRef((t,r)=>{const{className:n,accept:s,value:a,placeholder:l,onChange:d,...b}=t;return o.assertEmpty(b),e.jsx(c.FormProvider,{children:e.jsx(c.FormInput,{className:n,ref:r,name:"panel-input",type:"file",accept:s,value:a?a.name:void 0,onChange:async i=>d==null?void 0:d(i.target.files[0]),placeholder:l})})}),L=m.forwardRef((t,r)=>{const{className:n,children:s,...a}=t;return o.assertEmpty(a),e.jsx("div",{className:n,ref:r,children:s})}),A=m.forwardRef((t,r)=>{const{className:n,value:s,placeholder:a,onKeyDown:l,onChange:d,...b}=t;return o.assertEmpty(b),e.jsx(c.FormProvider,{children:e.jsx(c.FormInput,{className:o.mergeCSSClasses("bn-ak-input",n||""),name:"panel-input",value:s,placeholder:a,onChange:d,onKeyDown:l,"data-test":"embed-input",ref:r})})}),O=m.forwardRef((t,r)=>{const{children:n,...s}=t;return o.assertEmpty(s),e.jsx(c.PopoverDisclosure,{render:n,ref:r})}),V=m.forwardRef((t,r)=>{const{className:n,children:s,variant:a,...l}=t;return o.assertEmpty(l),e.jsx(c.Popover,{className:o.mergeCSSClasses("bn-ak-popover",n||"",a==="panel-popover"?"bn-ak-panel-popover":""),ref:r,children:s})}),q=t=>{const{children:r,opened:n,position:s,...a}=t;return o.assertEmpty(a),e.jsx(c.PopoverProvider,{open:n,placement:s,children:r})},H=m.forwardRef((t,r)=>{const{className:n,children:s,...a}=t;return o.assertEmpty(a,!1),e.jsx(c.Group,{className:n,ref:r,...a,children:s})}),$=m.forwardRef((t,r)=>{const{className:n,children:s,icon:a,onClick:l,label:d,onDragEnd:b,onDragStart:i,draggable:u,...p}=t;return o.assertEmpty(p,!1),e.jsxs(c.Button,{onDragEnd:b,onDragStart:i,draggable:u,"aria-label":d,className:o.mergeCSSClasses("bn-ak-button bn-ak-secondary",n||""),ref:r,onClick:l,...p,children:[a,s]})}),K=m.forwardRef((t,r)=>{const{className:n,children:s,id:a,columns:l,...d}=t;return o.assertEmpty(d),e.jsx("div",{className:n,style:{gridTemplateColumns:`repeat(${l}, 1fr)`},ref:r,id:a,role:"grid",children:s})}),z=m.forwardRef((t,r)=>{const{className:n,children:s,columns:a,...l}=t;return o.assertEmpty(l),e.jsx("div",{className:o.mergeCSSClasses("bn-ak-menu-item",n||""),style:{gridColumn:`1 / ${a+1}`},ref:r,children:e.jsx("div",{className:"bn-ak-suggestion-menu-item-label",children:s})})}),U=m.forwardRef((t,r)=>{const{className:n,isSelected:s,onClick:a,item:l,id:d,...b}=t;o.assertEmpty(b);const i=m.useRef(null);return m.useEffect(()=>{if(!i.current||!s)return;const u=g.elementOverflow(i.current,document.querySelector(".bn-grid-suggestion-menu"));u==="top"?i.current.scrollIntoView(!0):u==="bottom"&&i.current.scrollIntoView(!1)},[s]),e.jsx("div",{className:n,ref:g.mergeRefs([r,i]),id:d,role:"option",onClick:a,"aria-selected":s||void 0,children:l.icon})}),W=m.forwardRef((t,r)=>{const{className:n,children:s,columns:a,...l}=t;return o.assertEmpty(l),e.jsx("div",{className:n,style:{gridColumn:`1 / ${a+1}`},ref:r,children:s})}),_=m.forwardRef((t,r)=>{const{className:n,children:s,id:a,...l}=t;return o.assertEmpty(l),e.jsx(c.Group,{className:o.mergeCSSClasses("bn-ak-menu",n||""),id:a,role:"listbox",ref:r,children:s})}),J=m.forwardRef((t,r)=>{const{className:n,children:s,...a}=t;return o.assertEmpty(a),e.jsx("div",{className:o.mergeCSSClasses("bn-ak-menu-item",n||""),ref:r,children:e.jsx("div",{className:"bn-ak-suggestion-menu-item-label",children:s})})}),Q=m.forwardRef((t,r)=>{const{className:n,item:s,isSelected:a,onClick:l,id:d,...b}=t;o.assertEmpty(b);const i=m.useRef(null);return m.useEffect(()=>{if(!i.current||!a)return;const u=g.elementOverflow(i.current,document.querySelector(".bn-suggestion-menu"));u==="top"?i.current.scrollIntoView(!0):u==="bottom"&&i.current.scrollIntoView(!1)},[a]),e.jsxs("div",{className:o.mergeCSSClasses("bn-ak-menu-item",n||""),ref:g.mergeRefs([r,i]),id:d,onClick:l,role:"option","aria-selected":a||void 0,children:[s.icon&&e.jsx("div",{className:"bn-ak-suggestion-menu-item-section","data-position":"left",children:s.icon}),e.jsxs("div",{className:"bn-ak-suggestion-menu-item-body",children:[e.jsx("div",{className:"bn-ak-suggestion-menu-item-title",children:s.title}),e.jsx("div",{className:"bn-ak-suggestion-menu-item-subtitle",children:s.subtext})]}),s.badge&&e.jsx("div",{"data-position":"right",className:"bn-ak-suggestion-menu-item-section",children:e.jsx("div",{children:s.badge})})]})}),X=m.forwardRef((t,r)=>{const{className:n,children:s,...a}=t;return o.assertEmpty(a),e.jsx("div",{className:o.mergeCSSClasses("bn-ak-group-label",n||""),ref:r,children:s})}),Y=m.forwardRef((t,r)=>{const{className:n,children:s,...a}=t;return o.assertEmpty(a),e.jsx("div",{className:n,ref:r,children:s})}),Z=m.forwardRef((t,r)=>{const{children:n,className:s,onMouseDown:a,onClick:l,...d}=t;return o.assertEmpty(d,!1),e.jsx(c.Button,{className:o.mergeCSSClasses("bn-ak-button bn-ak-secondary",s||""),ref:r,onMouseDown:a,onClick:l,...d,children:n})}),ee=m.forwardRef((t,r)=>{const{className:n,children:s,draggable:a,onDragStart:l,onDragEnd:d,style:b,label:i,...u}=t;return o.assertEmpty(u,!1),e.jsx(c.Button,{className:o.mergeCSSClasses("bn-ak-button bn-ak-secondary",n||""),ref:r,"aria-label":i,draggable:a,onDragStart:l,onDragEnd:d,style:b,...u,children:s})}),S=m.forwardRef((t,r)=>{const{className:n,children:s,onMouseEnter:a,onMouseLeave:l,variant:d,...b}=t;return o.assertEmpty(b),e.jsx(c.Toolbar,{className:o.mergeCSSClasses("bn-ak-toolbar",n||""),ref:r,onMouseEnter:a,onMouseLeave:l,children:s})}),j=m.forwardRef((t,r)=>{const{className:n,children:s,mainTooltip:a,secondaryTooltip:l,icon:d,isSelected:b,isDisabled:i,onClick:u,label:p,variant:f,...x}=t;return o.assertEmpty(x,!1),e.jsxs(c.TooltipProvider,{children:[e.jsx(c.TooltipAnchor,{render:e.jsxs(c.ToolbarItem,{"aria-label":p,className:o.mergeCSSClasses("bn-ak-button bn-ak-secondary",n||""),onMouseDown:h=>{o.isSafari()&&h.currentTarget.focus()},onClick:u,"aria-pressed":b,"data-selected":b?"true":void 0,disabled:i||!1,ref:r,...x,children:[d,s]})}),e.jsxs(c.Tooltip,{className:"bn-ak-tooltip",portal:!1,children:[e.jsx("span",{children:a}),l&&e.jsx("span",{children:l})]})]})}),N=m.forwardRef((t,r)=>{const{className:n,items:s,isDisabled:a,...l}=t;o.assertEmpty(l);const d=t.items.filter(i=>i.isSelected)[0],b=i=>{var u,p;(p=(u=s.find(f=>f.text===i)).onClick)==null||p.call(u)};return e.jsxs(c.SelectProvider,{value:d.text,setValue:b,children:[e.jsxs(c.Select,{className:"bn-ak-button bn-ak-secondary",disabled:a,"aria-label":"Text alignment",render:e.jsx(c.ToolbarItem,{}),children:[d.icon," ",d.text," ",e.jsx(c.SelectArrow,{})]}),e.jsx(c.SelectPopover,{className:o.mergeCSSClasses("bn-ak-popover",n||""),ref:r,gutter:4,children:s.map(i=>e.jsxs(c.SelectItem,{className:"bn-ak-select-item",value:i.text,children:[i.icon,i.text,i.text===d.text&&e.jsx(c.SelectItemCheck,{})]},i.text))})]})}),se=m.forwardRef((t,r)=>{const{className:n,children:s,selected:a,headerText:l,onFocus:d,onBlur:b,tabIndex:i,...u}=t;return o.assertEmpty(u,!1),e.jsxs(c.Group,{className:o.mergeCSSClasses(n,"bn-ak-hovercard",a&&"selected"),onFocus:d,onBlur:b,tabIndex:i,ref:r,children:[l&&e.jsx("div",{className:"bn-header-text",children:l}),s]})}),te=m.forwardRef((t,r)=>{const{className:n,children:s,...a}=t;return o.assertEmpty(a,!1),e.jsx(c.Group,{className:o.mergeCSSClasses(n,"bn-ak-card-section"),ref:r,children:s})}),re=m.forwardRef((t,r)=>{const{className:n,children:s,...a}=t;return o.assertEmpty(a,!1),e.jsx(c.Button,{className:o.mergeCSSClasses(n,"bn-ak-button bn-ak-secondary bn-ak-expand-sections-prompt"),ref:r,children:s})}),ne=m.forwardRef((t,r)=>{const{authorInfo:n,timeString:s,edited:a,...l}=t;return o.assertEmpty(l,!1),n==="loading"?e.jsxs(c.Group,{className:"bn-ak-author-info",children:[e.jsx("div",{className:"bn-ak-avatar bn-ak-skeleton"}),e.jsx("div",{className:"bn-ak-username bn-ak-skeleton"})]}):e.jsxs(c.Group,{className:"bn-ak-author-info",children:[e.jsx("img",{src:n.avatarUrl,alt:n.username,className:"bn-ak-avatar"}),e.jsxs("div",{className:"bn-ak-username",children:[n.username,e.jsxs("span",{children:[s," ",a&&"(edited)"]})]})]})}),ae=m.forwardRef((t,r)=>{const{className:n,showActions:s,authorInfo:a,timeString:l,actions:d,children:b,edited:i,...u}=t;o.assertEmpty(u,!1);const[p,f]=m.useState(!1),{focused:x,ref:h}=g.useFocusWithin(),v=d&&(s===!0||s===void 0||s==="hover"&&p||x);return e.jsxs(c.Group,{ref:r,className:n,onMouseEnter:()=>f(!0),onMouseLeave:()=>f(!1),children:[v?e.jsx(c.Group,{ref:h,style:{position:"absolute",right:0,top:0,zIndex:10},children:d}):null,e.jsx(ne,{...t}),b]})}),oe=m.forwardRef((t,r)=>{const{className:n,onFocus:s,onBlur:a,autoFocus:l,editor:d,editable:b,...i}=t;return o.assertEmpty(i,!1),e.jsx(C,{autoFocus:l,className:n,editor:t.editor,sideMenu:!1,slashMenu:!1,tableHandles:!1,filePanel:!1,formattingToolbar:!1,editable:b,ref:r,onFocus:s,onBlur:a,children:e.jsx(g.FormattingToolbarController,{formattingToolbar:le})})}),le=()=>{const t=g.getFormattingToolbarItems([]).filter(r=>r.key!=="nestBlockButton"&&r.key!=="unnestBlockButton");return e.jsx(g.FormattingToolbar,{blockTypeSelectItems:[],children:t})},ce=m.forwardRef((t,r)=>{const{className:n,text:s,icon:a,isSelected:l,mainTooltip:d,secondaryTooltip:b,onClick:i,onMouseEnter:u,...p}=t;o.assertEmpty(p,!1);const f=e.jsxs(c.Button,{className:o.mergeCSSClasses(n,"bn-ak-badge bn-ak-button",l&&"bn-ak-primary"),"aria-selected":l===!0,onClick:x=>i==null?void 0:i(x),onMouseEnter:u,ref:r,children:[e.jsx("span",{children:a}),e.jsx("span",{children:s})]});return d?e.jsxs(c.TooltipProvider,{children:[e.jsx(c.TooltipAnchor,{render:f}),e.jsxs(c.Tooltip,{className:"bn-ak-tooltip",portal:!1,children:[e.jsx("span",{children:d}),b&&e.jsx("span",{children:b})]})]}):f}),ie=m.forwardRef((t,r)=>{const{className:n,children:s,...a}=t;return o.assertEmpty(a),e.jsx(c.Group,{className:o.mergeCSSClasses(n,"bn-ak-badge-group"),ref:r,children:s})}),k={FormattingToolbar:{Root:S,Button:j,Select:N},FilePanel:{Root:F,Button:G,FileInput:D,TabPanel:L,TextInput:A},GridSuggestionMenu:{Root:K,Item:U,EmptyItem:z,Loader:W},LinkToolbar:{Root:S,Button:j,Select:N},SideMenu:{Root:H,Button:$},SuggestionMenu:{Root:_,Item:Q,EmptyItem:J,Label:X,Loader:Y},TableHandle:{Root:ee,ExtendButton:Z},Comments:{Comment:ae,Editor:oe,Card:se,CardSection:te,ExpandSectionsPrompt:re},Generic:{Badge:{Root:ce,Group:ie},Toolbar:{Root:S,Button:j,Select:N},Form:{Root:y,TextInput:w},Menu:{Root:R,Trigger:I,Dropdown:E,Divider:B,Label:M,Item:T,Button:P},Popover:{Root:q,Trigger:O,Content:V}}},C=t=>{const{className:r,...n}=t;return e.jsx(g.ComponentsContext.Provider,{value:k,children:e.jsx(g.BlockNoteViewRaw,{className:o.mergeCSSClasses("bn-ariakit",r||""),...n})})};exports.BlockNoteView=C;exports.components=k;
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("react/jsx-runtime"),o=require("@blocknote/core"),g=require("@blocknote/react"),c=require("@ariakit/react"),m=require("react"),T=t=>{const{children:r,...n}=t;return o.assertEmpty(n),e.jsx(c.FormProvider,{children:r})},R=m.forwardRef((t,r)=>{const{className:n,name:s,label:a,variant:l,icon:d,value:b,autoFocus:i,placeholder:u,disabled:p,onKeyDown:f,onChange:x,onSubmit:h,autoComplete:S,rightSection:y,...w}=t;return o.assertEmpty(w),e.jsxs(e.Fragment,{children:[t.label&&e.jsx(c.FormLabel,{name:s,children:a}),e.jsxs("div",{className:"bn-ak-input-wrapper",children:[d,e.jsx(c.FormInput,{className:o.mergeCSSClasses("bn-ak-input",n||"",l==="large"?"bn-ak-input-large":""),ref:r,name:s,value:b,autoFocus:i,placeholder:u,disabled:p,onKeyDown:f,onChange:x,onSubmit:h,autoComplete:S}),y]})]})}),E=t=>{const{children:r,onOpenChange:n,position:s,sub:a,...l}=t;return o.assertEmpty(l),e.jsx(c.MenuProvider,{placement:s,setOpen:n,virtualFocus:!0,children:r})},M=m.forwardRef((t,r)=>{const{className:n,children:s,sub:a,...l}=t;return o.assertEmpty(l),e.jsx(c.Menu,{unmountOnHide:!0,className:o.mergeCSSClasses("bn-ak-menu",n||""),ref:r,children:s})}),I=m.forwardRef((t,r)=>{const{className:n,children:s,icon:a,checked:l,subTrigger:d,onClick:b,...i}=t;return o.assertEmpty(i),d?e.jsxs(c.MenuButton,{render:e.jsx(c.MenuItem,{}),className:o.mergeCSSClasses("bn-ak-menu-item",n||""),ref:r,onClick:b,children:[a,s,e.jsx(c.MenuButtonArrow,{}),l!==void 0&&e.jsx(c.CheckboxCheck,{checked:l})]}):e.jsxs(c.MenuItem,{className:o.mergeCSSClasses("bn-ak-menu-item",n||""),ref:r,onClick:b,children:[a,s,l!==void 0&&e.jsx(c.CheckboxCheck,{checked:l})]})}),B=m.forwardRef((t,r)=>{const{className:n,children:s,...a}=t;return o.assertEmpty(a),e.jsx(c.MenuGroupLabel,{className:o.mergeCSSClasses("bn-ak-group-label",n||""),ref:r,children:s})}),P=t=>{const{children:r,sub:n,...s}=t;return o.assertEmpty(s),n?r:e.jsx(c.MenuButton,{render:r})},F=m.forwardRef((t,r)=>{const{className:n,...s}=t;return o.assertEmpty(s),e.jsx(c.MenuSeparator,{className:o.mergeCSSClasses("bn-ak-separator",n||""),ref:r})}),D=m.forwardRef((t,r)=>{const{className:n,children:s,icon:a,onClick:l,label:d,onDragEnd:b,onDragStart:i,draggable:u,...p}=t;return o.assertEmpty(p,!1),e.jsxs(c.Button,{onDragEnd:b,onDragStart:i,draggable:u,"aria-label":d,className:o.mergeCSSClasses("bn-ak-button bn-ak-secondary",n||""),ref:r,onClick:l,...p,children:[a,s]})}),q=m.forwardRef((t,r)=>{const{className:n,tabs:s,defaultOpenTab:a,openTab:l,setOpenTab:d,loading:b,...i}=t;return o.assertEmpty(i),e.jsx("div",{className:o.mergeCSSClasses("bn-ak-wrapper",n||""),ref:r,children:e.jsxs(c.TabProvider,{defaultSelectedId:a,selectedId:l,setActiveId:u=>{u&&d(u)},children:[e.jsx(c.TabList,{className:"bn-ak-tab-list",children:s.map(u=>e.jsx(c.Tab,{className:"bn-ak-tab",id:u.name,children:u.name},u.name))}),e.jsx("div",{className:"bn-ak-panels",children:s.map(u=>e.jsx(c.TabPanel,{tabId:u.name,children:u.tabPanel},u.name))})]})})}),G=m.forwardRef((t,r)=>{const{className:n,children:s,onClick:a,label:l,...d}=t;return o.assertEmpty(d),e.jsx(c.Button,{className:o.mergeCSSClasses("bn-ak-button",n||""),onClick:a,"aria-label":l,ref:r,children:s})}),L=m.forwardRef((t,r)=>{const{className:n,accept:s,value:a,placeholder:l,onChange:d,...b}=t;return o.assertEmpty(b),e.jsx(c.FormProvider,{children:e.jsx(c.FormInput,{className:n,ref:r,name:"panel-input",type:"file",accept:s,value:a?a.name:void 0,onChange:async i=>d==null?void 0:d(i.target.files[0]),placeholder:l})})}),A=m.forwardRef((t,r)=>{const{className:n,children:s,...a}=t;return o.assertEmpty(a),e.jsx("div",{className:n,ref:r,children:s})}),O=m.forwardRef((t,r)=>{const{className:n,value:s,placeholder:a,onKeyDown:l,onChange:d,...b}=t;return o.assertEmpty(b),e.jsx(c.FormProvider,{children:e.jsx(c.FormInput,{className:o.mergeCSSClasses("bn-ak-input",n||""),name:"panel-input",value:s,placeholder:a,onChange:d,onKeyDown:l,"data-test":"embed-input",ref:r})})}),V=m.forwardRef((t,r)=>{const{children:n,...s}=t;return o.assertEmpty(s),e.jsx(c.PopoverDisclosure,{render:n,ref:r})}),H=m.forwardRef((t,r)=>{const{className:n,children:s,variant:a,...l}=t;return o.assertEmpty(l),e.jsx(c.Popover,{className:o.mergeCSSClasses("bn-ak-popover",n||"",a==="panel-popover"?"bn-ak-panel-popover":""),ref:r,children:s})}),$=t=>{const{children:r,opened:n,position:s,...a}=t;return o.assertEmpty(a),e.jsx(c.PopoverProvider,{open:n,placement:s,children:r})},K=m.forwardRef((t,r)=>{const{className:n,children:s,...a}=t;return o.assertEmpty(a,!1),e.jsx(c.Group,{className:n,ref:r,...a,children:s})}),Q=m.forwardRef((t,r)=>{const{className:n,children:s,icon:a,onClick:l,label:d,onDragEnd:b,onDragStart:i,draggable:u,...p}=t;return o.assertEmpty(p,!1),e.jsxs(c.Button,{onDragEnd:b,onDragStart:i,draggable:u,"aria-label":d,className:o.mergeCSSClasses("bn-ak-button bn-ak-secondary",n||""),ref:r,onClick:l,...p,children:[a,s]})}),z=m.forwardRef((t,r)=>{const{className:n,children:s,id:a,columns:l,...d}=t;return o.assertEmpty(d),e.jsx("div",{className:n,style:{gridTemplateColumns:`repeat(${l}, 1fr)`},ref:r,id:a,role:"grid",children:s})}),U=m.forwardRef((t,r)=>{const{className:n,children:s,columns:a,...l}=t;return o.assertEmpty(l),e.jsx("div",{className:o.mergeCSSClasses("bn-ak-menu-item",n||""),style:{gridColumn:`1 / ${a+1}`},ref:r,children:e.jsx("div",{className:"bn-ak-suggestion-menu-item-label",children:s})})}),W=m.forwardRef((t,r)=>{const{className:n,isSelected:s,onClick:a,item:l,id:d,...b}=t;o.assertEmpty(b);const i=m.useRef(null);return m.useEffect(()=>{if(!i.current||!s)return;const u=g.elementOverflow(i.current,document.querySelector(".bn-grid-suggestion-menu"));u==="top"?i.current.scrollIntoView(!0):u==="bottom"&&i.current.scrollIntoView(!1)},[s]),e.jsx("div",{className:n,ref:g.mergeRefs([r,i]),id:d,role:"option",onClick:a,"aria-selected":s||void 0,children:l.icon})}),Z=m.forwardRef((t,r)=>{const{className:n,children:s,columns:a,...l}=t;return o.assertEmpty(l),e.jsx("div",{className:n,style:{gridColumn:`1 / ${a+1}`},ref:r,children:s})}),_=m.forwardRef((t,r)=>{const{className:n,children:s,id:a,...l}=t;return o.assertEmpty(l),e.jsx(c.Group,{className:o.mergeCSSClasses("bn-ak-menu",n||""),id:a,role:"listbox",ref:r,children:s})}),J=m.forwardRef((t,r)=>{const{className:n,children:s,...a}=t;return o.assertEmpty(a),e.jsx("div",{className:o.mergeCSSClasses("bn-ak-menu-item",n||""),ref:r,children:e.jsx("div",{className:"bn-ak-suggestion-menu-item-label",children:s})})}),X=m.forwardRef((t,r)=>{const{className:n,item:s,isSelected:a,onClick:l,id:d,...b}=t;o.assertEmpty(b);const i=m.useRef(null);return m.useEffect(()=>{if(!i.current||!a)return;const u=g.elementOverflow(i.current,document.querySelector(".bn-suggestion-menu, #ai-suggestion-menu"));u==="top"?i.current.scrollIntoView(!0):u==="bottom"&&i.current.scrollIntoView(!1)},[a]),e.jsxs("div",{className:o.mergeCSSClasses("bn-ak-menu-item",n||""),ref:g.mergeRefs([r,i]),id:d,onMouseDown:u=>u.preventDefault(),onClick:l,role:"option","aria-selected":a||void 0,children:[s.icon&&e.jsx("div",{className:"bn-ak-suggestion-menu-item-section","data-position":"left",children:s.icon}),e.jsxs("div",{className:"bn-ak-suggestion-menu-item-body",children:[e.jsx("div",{className:"bn-ak-suggestion-menu-item-title",children:s.title}),e.jsx("div",{className:"bn-ak-suggestion-menu-item-subtitle",children:s.subtext})]}),s.badge&&e.jsx("div",{"data-position":"right",className:"bn-ak-suggestion-menu-item-section",children:e.jsx("div",{children:s.badge})})]})}),Y=m.forwardRef((t,r)=>{const{className:n,children:s,...a}=t;return o.assertEmpty(a),e.jsx("div",{className:o.mergeCSSClasses("bn-ak-group-label",n||""),ref:r,children:s})}),ee=m.forwardRef((t,r)=>{const{className:n,...s}=t;return o.assertEmpty(s),e.jsx("div",{className:n,ref:r,children:e.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",height:"1em",viewBox:"0 -960 960 960",width:"1em",fill:"#e8eaed",children:e.jsx("path",{d:"M480-80q-82 0-155-31.5t-127.5-86Q143-252 111.5-325T80-480q0-83 31.5-155.5t86-127Q252-817 325-848.5T480-880q17 0 28.5 11.5T520-840q0 17-11.5 28.5T480-800q-133 0-226.5 93.5T160-480q0 133 93.5 226.5T480-160q133 0 226.5-93.5T800-480q0-17 11.5-28.5T840-520q17 0 28.5 11.5T880-480q0 82-31.5 155t-86 127.5q-54.5 54.5-127 86T480-80Z"})})})}),se=m.forwardRef((t,r)=>{const{children:n,className:s,onMouseDown:a,onClick:l,...d}=t;return o.assertEmpty(d,!1),e.jsx(c.Button,{className:o.mergeCSSClasses("bn-ak-button bn-ak-secondary",s||""),ref:r,onMouseDown:a,onClick:l,...d,children:n})}),te=m.forwardRef((t,r)=>{const{className:n,children:s,draggable:a,onDragStart:l,onDragEnd:d,style:b,label:i,...u}=t;return o.assertEmpty(u,!1),e.jsx(c.Button,{className:o.mergeCSSClasses("bn-ak-button bn-ak-secondary",n||""),ref:r,"aria-label":i,draggable:a,onDragStart:l,onDragEnd:d,style:b,...u,children:s})}),j=m.forwardRef((t,r)=>{const{className:n,children:s,onMouseEnter:a,onMouseLeave:l,variant:d,...b}=t;return o.assertEmpty(b),e.jsx(c.Toolbar,{className:o.mergeCSSClasses("bn-ak-toolbar",n||""),ref:r,onMouseEnter:a,onMouseLeave:l,children:s})}),k=m.forwardRef((t,r)=>{const{className:n,children:s,mainTooltip:a,secondaryTooltip:l,icon:d,isSelected:b,isDisabled:i,onClick:u,label:p,variant:f,...x}=t;return o.assertEmpty(x,!1),e.jsxs(c.TooltipProvider,{children:[e.jsx(c.TooltipAnchor,{render:e.jsxs(c.ToolbarItem,{"aria-label":p,className:o.mergeCSSClasses("bn-ak-button bn-ak-secondary",n||""),onMouseDown:h=>{o.isSafari()&&h.currentTarget.focus()},onClick:u,"aria-pressed":b,"data-selected":b?"true":void 0,disabled:i||!1,ref:r,...x,children:[d,s]})}),e.jsxs(c.Tooltip,{className:"bn-ak-tooltip",portal:!1,children:[e.jsx("span",{children:a}),l&&e.jsx("span",{children:l})]})]})}),N=m.forwardRef((t,r)=>{const{className:n,items:s,isDisabled:a,...l}=t;o.assertEmpty(l);const d=t.items.filter(i=>i.isSelected)[0],b=i=>{var u,p;(p=(u=s.find(f=>f.text===i)).onClick)==null||p.call(u)};return e.jsxs(c.SelectProvider,{value:d.text,setValue:b,children:[e.jsxs(c.Select,{className:"bn-ak-button bn-ak-secondary",disabled:a,"aria-label":"Text alignment",render:e.jsx(c.ToolbarItem,{}),children:[d.icon," ",d.text," ",e.jsx(c.SelectArrow,{})]}),e.jsx(c.SelectPopover,{className:o.mergeCSSClasses("bn-ak-popover",n||""),ref:r,gutter:4,children:s.map(i=>e.jsxs(c.SelectItem,{className:"bn-ak-select-item",value:i.text,children:[i.icon,i.text,i.text===d.text&&e.jsx(c.SelectItemCheck,{})]},i.text))})]})}),re=m.forwardRef((t,r)=>{const{className:n,children:s,selected:a,headerText:l,onFocus:d,onBlur:b,tabIndex:i,...u}=t;return o.assertEmpty(u,!1),e.jsxs(c.Group,{className:o.mergeCSSClasses(n,"bn-ak-hovercard",a&&"selected"),onFocus:d,onBlur:b,tabIndex:i,ref:r,children:[l&&e.jsx("div",{className:"bn-header-text",children:l}),s]})}),ne=m.forwardRef((t,r)=>{const{className:n,children:s,...a}=t;return o.assertEmpty(a,!1),e.jsx(c.Group,{className:o.mergeCSSClasses(n,"bn-ak-card-section"),ref:r,children:s})}),ae=m.forwardRef((t,r)=>{const{className:n,children:s,...a}=t;return o.assertEmpty(a,!1),e.jsx(c.Button,{className:o.mergeCSSClasses(n,"bn-ak-button bn-ak-secondary bn-ak-expand-sections-prompt"),ref:r,children:s})}),oe=m.forwardRef((t,r)=>{const{authorInfo:n,timeString:s,edited:a,...l}=t;return o.assertEmpty(l,!1),n==="loading"?e.jsxs(c.Group,{className:"bn-ak-author-info",children:[e.jsx("div",{className:"bn-ak-avatar bn-ak-skeleton"}),e.jsx("div",{className:"bn-ak-username bn-ak-skeleton"})]}):e.jsxs(c.Group,{className:"bn-ak-author-info",children:[e.jsx("img",{src:n.avatarUrl,alt:n.username,className:"bn-ak-avatar"}),e.jsxs("div",{className:"bn-ak-username",children:[n.username,e.jsxs("span",{children:[s," ",a&&"(edited)"]})]})]})}),le=m.forwardRef((t,r)=>{const{className:n,showActions:s,authorInfo:a,timeString:l,actions:d,children:b,edited:i,...u}=t;o.assertEmpty(u,!1);const[p,f]=m.useState(!1),{focused:x,ref:h}=g.useFocusWithin(),S=d&&(s===!0||s===void 0||s==="hover"&&p||x);return e.jsxs(c.Group,{ref:r,className:n,onMouseEnter:()=>f(!0),onMouseLeave:()=>f(!1),children:[S?e.jsx(c.Group,{ref:h,style:{position:"absolute",right:0,top:0,zIndex:10},children:d}):null,e.jsx(oe,{...t}),b]})}),ce=m.forwardRef((t,r)=>{const{className:n,onFocus:s,onBlur:a,autoFocus:l,editor:d,editable:b,...i}=t;return o.assertEmpty(i,!1),e.jsx(v,{autoFocus:l,className:n,editor:t.editor,sideMenu:!1,slashMenu:!1,tableHandles:!1,filePanel:!1,formattingToolbar:!1,editable:b,ref:r,onFocus:s,onBlur:a,children:e.jsx(g.FormattingToolbarController,{formattingToolbar:ie})})}),ie=()=>{const t=g.getFormattingToolbarItems([]).filter(r=>r.key!=="nestBlockButton"&&r.key!=="unnestBlockButton");return e.jsx(g.FormattingToolbar,{blockTypeSelectItems:[],children:t})},de=m.forwardRef((t,r)=>{const{className:n,text:s,icon:a,isSelected:l,mainTooltip:d,secondaryTooltip:b,onClick:i,onMouseEnter:u,...p}=t;o.assertEmpty(p,!1);const f=e.jsxs(c.Button,{className:o.mergeCSSClasses(n,"bn-ak-badge bn-ak-button",l&&"bn-ak-primary"),"aria-selected":l===!0,onClick:x=>i==null?void 0:i(x),onMouseEnter:u,ref:r,children:[e.jsx("span",{children:a}),e.jsx("span",{children:s})]});return d?e.jsxs(c.TooltipProvider,{children:[e.jsx(c.TooltipAnchor,{render:f}),e.jsxs(c.Tooltip,{className:"bn-ak-tooltip",portal:!1,children:[e.jsx("span",{children:d}),b&&e.jsx("span",{children:b})]})]}):f}),me=m.forwardRef((t,r)=>{const{className:n,children:s,...a}=t;return o.assertEmpty(a),e.jsx(c.Group,{className:o.mergeCSSClasses(n,"bn-ak-badge-group"),ref:r,children:s})}),C={FormattingToolbar:{Root:j,Button:k,Select:N},FilePanel:{Root:q,Button:G,FileInput:L,TabPanel:A,TextInput:O},GridSuggestionMenu:{Root:z,Item:W,EmptyItem:U,Loader:Z},LinkToolbar:{Root:j,Button:k,Select:N},SideMenu:{Root:K,Button:Q},SuggestionMenu:{Root:_,Item:X,EmptyItem:J,Label:Y,Loader:ee},TableHandle:{Root:te,ExtendButton:se},Comments:{Comment:le,Editor:ce,Card:re,CardSection:ne,ExpandSectionsPrompt:ae},Generic:{Badge:{Root:de,Group:me},Toolbar:{Root:j,Button:k,Select:N},Form:{Root:T,TextInput:R},Menu:{Root:E,Trigger:P,Dropdown:M,Divider:F,Label:B,Item:I,Button:D},Popover:{Root:$,Trigger:V,Content:H}}},v=t=>{const{className:r,...n}=t;return e.jsx(g.ComponentsContext.Provider,{value:C,children:e.jsx(g.BlockNoteViewRaw,{className:o.mergeCSSClasses("bn-ariakit",r||""),...n})})};exports.BlockNoteView=v;exports.components=C;
|
|
2
2
|
//# sourceMappingURL=blocknote-ariakit.cjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"blocknote-ariakit.cjs","sources":["../src/input/Form.tsx","../src/input/TextInput.tsx","../src/menu/Menu.tsx","../src/menu/Button.tsx","../src/panel/Panel.tsx","../src/panel/PanelButton.tsx","../src/panel/PanelFileInput.tsx","../src/panel/PanelTab.tsx","../src/panel/PanelTextInput.tsx","../src/popover/Popover.tsx","../src/sideMenu/SideMenu.tsx","../src/sideMenu/SideMenuButton.tsx","../src/suggestionMenu/gridSuggestionMenu/GridSuggestionMenu.tsx","../src/suggestionMenu/gridSuggestionMenu/GridSuggestionMenuEmptyItem.tsx","../src/suggestionMenu/gridSuggestionMenu/GridSuggestionMenuItem.tsx","../src/suggestionMenu/gridSuggestionMenu/GridSuggestionMenuLoader.tsx","../src/suggestionMenu/SuggestionMenu.tsx","../src/suggestionMenu/SuggestionMenuEmptyItem.tsx","../src/suggestionMenu/SuggestionMenuItem.tsx","../src/suggestionMenu/SuggestionMenuLabel.tsx","../src/suggestionMenu/SuggestionMenuLoader.tsx","../src/tableHandle/ExtendButton.tsx","../src/tableHandle/TableHandle.tsx","../src/toolbar/Toolbar.tsx","../src/toolbar/ToolbarButton.tsx","../src/toolbar/ToolbarSelect.tsx","../src/comments/Card.tsx","../src/comments/Comment.tsx","../src/comments/Editor.tsx","../src/badge/Badge.tsx","../src/components.ts","../src/BlockNoteView.tsx"],"sourcesContent":["import { FormProvider as AriakitFormProvider } from \"@ariakit/react\";\n\nimport { assertEmpty } from \"@blocknote/core\";\nimport { ComponentProps } from \"@blocknote/react\";\n\nexport const Form = (props: ComponentProps[\"Generic\"][\"Form\"][\"Root\"]) => {\n const { children, ...rest } = props;\n\n assertEmpty(rest);\n\n return <AriakitFormProvider>{children}</AriakitFormProvider>;\n};\n","import {\n FormInput as AriakitFormInput,\n FormLabel as AriakitFormLabel,\n} from \"@ariakit/react\";\n\nimport { assertEmpty, mergeCSSClasses } from \"@blocknote/core\";\nimport { ComponentProps } from \"@blocknote/react\";\nimport { forwardRef } from \"react\";\n\nexport const TextInput = forwardRef<\n HTMLInputElement,\n ComponentProps[\"Generic\"][\"Form\"][\"TextInput\"]\n>((props, ref) => {\n const {\n className,\n name,\n label,\n icon,\n value,\n autoFocus,\n placeholder,\n onKeyDown,\n onChange,\n onSubmit,\n ...rest\n } = props;\n\n assertEmpty(rest);\n\n return (\n <>\n {props.label && <AriakitFormLabel name={name}>{label}</AriakitFormLabel>}\n <div className=\"bn-ak-input-wrapper\">\n {icon}\n <AriakitFormInput\n className={mergeCSSClasses(\"bn-ak-input\", className || \"\")}\n ref={ref}\n name={name}\n value={value}\n autoFocus={autoFocus}\n placeholder={placeholder}\n onKeyDown={onKeyDown}\n onChange={onChange}\n onSubmit={onSubmit}\n />\n </div>\n </>\n );\n});\n","import {\n CheckboxCheck as AriakitCheckboxCheck,\n Menu as AriakitMenu,\n MenuButton as AriakitMenuButton,\n MenuButtonArrow as AriakitMenuButtonArrow,\n MenuGroupLabel as AriakitMenuGroupLabel,\n MenuItem as AriakitMenuItem,\n MenuProvider as AriakitMenuProvider,\n MenuSeparator as AriakitMenuSeparator,\n} from \"@ariakit/react\";\n\nimport { assertEmpty, mergeCSSClasses } from \"@blocknote/core\";\nimport { ComponentProps } from \"@blocknote/react\";\nimport { forwardRef } from \"react\";\n\nexport const Menu = (props: ComponentProps[\"Generic\"][\"Menu\"][\"Root\"]) => {\n const {\n children,\n onOpenChange,\n position,\n sub, // unused\n ...rest\n } = props;\n\n assertEmpty(rest);\n\n return (\n <AriakitMenuProvider\n placement={position}\n setOpen={onOpenChange}\n virtualFocus={true}\n >\n {children}\n </AriakitMenuProvider>\n );\n};\n\nexport const MenuDropdown = forwardRef<\n HTMLDivElement,\n ComponentProps[\"Generic\"][\"Menu\"][\"Dropdown\"]\n>((props, ref) => {\n const {\n className,\n children,\n sub, // unused\n ...rest\n } = props;\n\n assertEmpty(rest);\n\n return (\n <AriakitMenu\n unmountOnHide={true}\n className={mergeCSSClasses(\"bn-ak-menu\", className || \"\")}\n ref={ref}\n >\n {children}\n </AriakitMenu>\n );\n});\n\nexport const MenuItem = forwardRef<\n HTMLDivElement,\n ComponentProps[\"Generic\"][\"Menu\"][\"Item\"]\n>((props, ref) => {\n const { className, children, icon, checked, subTrigger, onClick, ...rest } =\n props;\n\n assertEmpty(rest);\n\n if (subTrigger) {\n return (\n <AriakitMenuButton\n render={<AriakitMenuItem />}\n className={mergeCSSClasses(\"bn-ak-menu-item\", className || \"\")}\n ref={ref}\n onClick={onClick}\n >\n {icon}\n {children}\n <AriakitMenuButtonArrow />\n {checked !== undefined && <AriakitCheckboxCheck checked={checked} />}\n </AriakitMenuButton>\n );\n }\n return (\n <AriakitMenuItem\n className={mergeCSSClasses(\"bn-ak-menu-item\", className || \"\")}\n ref={ref}\n onClick={onClick}\n >\n {icon}\n {children}\n {checked !== undefined && <AriakitCheckboxCheck checked={checked} />}\n </AriakitMenuItem>\n );\n});\n\nexport const MenuLabel = forwardRef<\n HTMLDivElement,\n ComponentProps[\"Generic\"][\"Menu\"][\"Label\"]\n>((props, ref) => {\n const { className, children, ...rest } = props;\n\n assertEmpty(rest);\n\n return (\n <AriakitMenuGroupLabel\n className={mergeCSSClasses(\"bn-ak-group-label\", className || \"\")}\n ref={ref}\n >\n {children}\n </AriakitMenuGroupLabel>\n );\n});\n\nexport const MenuTrigger = (\n props: ComponentProps[\"Generic\"][\"Menu\"][\"Trigger\"],\n) => {\n const { children, sub, ...rest } = props;\n\n assertEmpty(rest);\n\n if (sub) {\n return children;\n }\n\n return <AriakitMenuButton render={children as any}></AriakitMenuButton>;\n};\n\nexport const MenuDivider = forwardRef<\n HTMLHRElement,\n ComponentProps[\"Generic\"][\"Menu\"][\"Divider\"]\n>((props, ref) => {\n const { className, ...rest } = props;\n\n assertEmpty(rest);\n\n return (\n <AriakitMenuSeparator\n className={mergeCSSClasses(\"bn-ak-separator\", className || \"\")}\n ref={ref}\n />\n );\n});\n","import { Button as AriakitButton } from \"@ariakit/react\";\n\nimport { assertEmpty, mergeCSSClasses } from \"@blocknote/core\";\nimport { ComponentProps } from \"@blocknote/react\";\nimport { forwardRef } from \"react\";\n\nexport const MenuButton = forwardRef<\n HTMLButtonElement,\n ComponentProps[\"Generic\"][\"Menu\"][\"Button\"]\n>((props, ref) => {\n const {\n className,\n children,\n icon,\n onClick,\n label,\n onDragEnd,\n onDragStart,\n draggable,\n ...rest\n } = props;\n\n // false, because rest props can be added by ariakit when button is used as a trigger\n // assertEmpty in this case is only used at typescript level, not runtime level\n assertEmpty(rest, false);\n\n return (\n <AriakitButton\n onDragEnd={onDragEnd}\n onDragStart={onDragStart}\n draggable={draggable}\n aria-label={label}\n className={mergeCSSClasses(\n \"bn-ak-button bn-ak-secondary\",\n className || \"\",\n )}\n ref={ref}\n onClick={onClick}\n {...rest}\n >\n {icon}\n {children}\n </AriakitButton>\n );\n});\n","import {\n Tab as AriakitTab,\n TabList as AriakitTabList,\n TabPanel as AriakitTabPanel,\n TabProvider as AriakitTabProvider,\n} from \"@ariakit/react\";\n\nimport { assertEmpty, mergeCSSClasses } from \"@blocknote/core\";\nimport { ComponentProps } from \"@blocknote/react\";\nimport { forwardRef } from \"react\";\n\nexport const Panel = forwardRef<\n HTMLDivElement,\n ComponentProps[\"FilePanel\"][\"Root\"]\n>((props, ref) => {\n const {\n className,\n tabs,\n defaultOpenTab,\n openTab,\n setOpenTab,\n loading, // TODO: implement loading\n ...rest\n } = props;\n assertEmpty(rest);\n\n return (\n <div\n className={mergeCSSClasses(\"bn-ak-wrapper\", className || \"\")}\n ref={ref}\n >\n <AriakitTabProvider\n defaultSelectedId={defaultOpenTab}\n selectedId={openTab}\n setActiveId={(activeId) => {\n if (activeId) {\n setOpenTab(activeId);\n }\n }}\n >\n {/*{loading && <LoadingOverlay visible={loading} />}*/}\n\n <AriakitTabList className={\"bn-ak-tab-list\"}>\n {tabs.map((tab) => (\n <AriakitTab className={\"bn-ak-tab\"} id={tab.name} key={tab.name}>\n {tab.name}\n </AriakitTab>\n ))}\n </AriakitTabList>\n\n <div className={\"bn-ak-panels\"}>\n {tabs.map((tab) => (\n <AriakitTabPanel tabId={tab.name} key={tab.name}>\n {tab.tabPanel}\n </AriakitTabPanel>\n ))}\n </div>\n </AriakitTabProvider>\n </div>\n );\n});\n","import { Button as AriakitButton } from \"@ariakit/react\";\n\nimport { assertEmpty, mergeCSSClasses } from \"@blocknote/core\";\nimport { ComponentProps } from \"@blocknote/react\";\nimport { forwardRef } from \"react\";\n\nexport const PanelButton = forwardRef<\n HTMLButtonElement,\n ComponentProps[\"FilePanel\"][\"Button\"]\n>((props, ref) => {\n const { className, children, onClick, label, ...rest } = props;\n\n assertEmpty(rest);\n\n return (\n <AriakitButton\n className={mergeCSSClasses(\"bn-ak-button\", className || \"\")}\n onClick={onClick}\n aria-label={label}\n ref={ref}\n >\n {children}\n </AriakitButton>\n );\n});\n","import {\n FormInput as AriakitFormInput,\n FormProvider as AriakitFormProvider,\n} from \"@ariakit/react\";\n\nimport { assertEmpty } from \"@blocknote/core\";\nimport { ComponentProps } from \"@blocknote/react\";\nimport { forwardRef } from \"react\";\n\nexport const PanelFileInput = forwardRef<\n HTMLInputElement,\n ComponentProps[\"FilePanel\"][\"FileInput\"]\n>((props, ref) => {\n const { className, accept, value, placeholder, onChange, ...rest } = props;\n\n assertEmpty(rest);\n\n return (\n <AriakitFormProvider>\n <AriakitFormInput\n className={className}\n ref={ref}\n name={\"panel-input\"}\n type={\"file\"}\n accept={accept}\n value={value ? value.name : undefined}\n onChange={async (e) => onChange?.(e.target.files![0])}\n placeholder={placeholder}\n />\n </AriakitFormProvider>\n );\n});\n","import { assertEmpty } from \"@blocknote/core\";\nimport { ComponentProps } from \"@blocknote/react\";\nimport { forwardRef } from \"react\";\n\nexport const PanelTab = forwardRef<\n HTMLDivElement,\n ComponentProps[\"FilePanel\"][\"TabPanel\"]\n>((props, ref) => {\n const { className, children, ...rest } = props;\n\n assertEmpty(rest);\n\n return (\n <div className={className} ref={ref}>\n {children}\n </div>\n );\n});\n","import {\n FormInput as AriakitFormInput,\n FormProvider as AriakitFormProvider,\n} from \"@ariakit/react\";\n\nimport { assertEmpty, mergeCSSClasses } from \"@blocknote/core\";\nimport { ComponentProps } from \"@blocknote/react\";\nimport { forwardRef } from \"react\";\n\nexport const PanelTextInput = forwardRef<\n HTMLInputElement,\n ComponentProps[\"FilePanel\"][\"TextInput\"]\n>((props, ref) => {\n const { className, value, placeholder, onKeyDown, onChange, ...rest } = props;\n\n assertEmpty(rest);\n\n return (\n <AriakitFormProvider>\n <AriakitFormInput\n className={mergeCSSClasses(\"bn-ak-input\", className || \"\")}\n name={\"panel-input\"}\n value={value}\n placeholder={placeholder}\n onChange={onChange}\n onKeyDown={onKeyDown}\n data-test={\"embed-input\"}\n ref={ref}\n />\n </AriakitFormProvider>\n );\n});\n","import {\n Popover as AriakitPopover,\n PopoverDisclosure as AriakitPopoverDisclosure,\n PopoverProvider as AriakitPopoverProvider,\n} from \"@ariakit/react\";\n\nimport { assertEmpty, mergeCSSClasses } from \"@blocknote/core\";\nimport { ComponentProps } from \"@blocknote/react\";\nimport { forwardRef } from \"react\";\n\nexport const PopoverTrigger = forwardRef<\n HTMLButtonElement,\n ComponentProps[\"Generic\"][\"Popover\"][\"Trigger\"]\n>((props, ref) => {\n const { children, ...rest } = props;\n\n assertEmpty(rest);\n\n return <AriakitPopoverDisclosure render={children as any} ref={ref} />;\n});\n\nexport const PopoverContent = forwardRef<\n HTMLDivElement,\n ComponentProps[\"Generic\"][\"Popover\"][\"Content\"]\n>((props, ref) => {\n const { className, children, variant, ...rest } = props;\n\n assertEmpty(rest);\n\n return (\n <AriakitPopover\n className={mergeCSSClasses(\n \"bn-ak-popover\",\n className || \"\",\n variant === \"panel-popover\" ? \"bn-ak-panel-popover\" : \"\",\n )}\n ref={ref}\n >\n {children}\n </AriakitPopover>\n );\n});\n\nexport const Popover = (\n props: ComponentProps[\"Generic\"][\"Popover\"][\"Root\"],\n) => {\n const { children, opened, position, ...rest } = props;\n\n assertEmpty(rest);\n\n return (\n <AriakitPopoverProvider open={opened} placement={position}>\n {children}\n </AriakitPopoverProvider>\n );\n};\n","import { Group as AriakitGroup } from \"@ariakit/react\";\n\nimport { assertEmpty } from \"@blocknote/core\";\nimport { ComponentProps } from \"@blocknote/react\";\nimport { forwardRef } from \"react\";\n\nexport const SideMenu = forwardRef<\n HTMLDivElement,\n ComponentProps[\"SideMenu\"][\"Root\"]\n>((props, ref) => {\n const { className, children, ...rest } = props;\n\n assertEmpty(rest, false);\n\n return (\n <AriakitGroup className={className} ref={ref} {...rest}>\n {children}\n </AriakitGroup>\n );\n});\n","import { Button as AriakitButton } from \"@ariakit/react\";\n\nimport { assertEmpty, mergeCSSClasses } from \"@blocknote/core\";\nimport { ComponentProps } from \"@blocknote/react\";\nimport { forwardRef } from \"react\";\n\nexport const SideMenuButton = forwardRef<\n HTMLButtonElement,\n ComponentProps[\"SideMenu\"][\"Button\"]\n>((props, ref) => {\n const {\n className,\n children,\n icon,\n onClick,\n label,\n onDragEnd,\n onDragStart,\n draggable,\n ...rest\n } = props;\n\n // false, because rest props can be added by ariakit when button is used as a trigger\n // assertEmpty in this case is only used at typescript level, not runtime level\n assertEmpty(rest, false);\n\n return (\n <AriakitButton\n onDragEnd={onDragEnd}\n onDragStart={onDragStart}\n draggable={draggable}\n aria-label={label}\n className={mergeCSSClasses(\n \"bn-ak-button bn-ak-secondary\",\n className || \"\",\n )}\n ref={ref}\n onClick={onClick}\n {...rest}\n >\n {icon}\n {children}\n </AriakitButton>\n );\n});\n","import { assertEmpty } from \"@blocknote/core\";\nimport { ComponentProps } from \"@blocknote/react\";\nimport { forwardRef } from \"react\";\n\nexport const GridSuggestionMenu = forwardRef<\n HTMLDivElement,\n ComponentProps[\"GridSuggestionMenu\"][\"Root\"]\n>((props, ref) => {\n const { className, children, id, columns, ...rest } = props;\n\n assertEmpty(rest);\n\n return (\n <div\n className={className}\n style={{ gridTemplateColumns: `repeat(${columns}, 1fr)` } as any}\n ref={ref}\n id={id}\n role=\"grid\"\n >\n {children}\n </div>\n );\n});\n","import { assertEmpty, mergeCSSClasses } from \"@blocknote/core\";\nimport { ComponentProps } from \"@blocknote/react\";\nimport { forwardRef } from \"react\";\n\nexport const GridSuggestionMenuEmptyItem = forwardRef<\n HTMLDivElement,\n ComponentProps[\"GridSuggestionMenu\"][\"EmptyItem\"]\n>((props, ref) => {\n const { className, children, columns, ...rest } = props;\n\n assertEmpty(rest);\n\n return (\n <div\n className={mergeCSSClasses(\"bn-ak-menu-item\", className || \"\")}\n style={{ gridColumn: `1 / ${columns + 1}` }}\n ref={ref}\n >\n <div className=\"bn-ak-suggestion-menu-item-label\">{children}</div>\n </div>\n );\n});\n","import { assertEmpty } from \"@blocknote/core\";\nimport { ComponentProps, elementOverflow, mergeRefs } from \"@blocknote/react\";\nimport { forwardRef, useEffect, useRef } from \"react\";\n\nexport const GridSuggestionMenuItem = forwardRef<\n HTMLDivElement,\n ComponentProps[\"GridSuggestionMenu\"][\"Item\"]\n>((props, ref) => {\n const { className, isSelected, onClick, item, id, ...rest } = props;\n\n assertEmpty(rest);\n\n const itemRef = useRef<HTMLDivElement>(null);\n\n useEffect(() => {\n if (!itemRef.current || !isSelected) {\n return;\n }\n\n const overflow = elementOverflow(\n itemRef.current,\n document.querySelector(\".bn-grid-suggestion-menu\")!,\n );\n\n if (overflow === \"top\") {\n itemRef.current.scrollIntoView(true);\n } else if (overflow === \"bottom\") {\n itemRef.current.scrollIntoView(false);\n }\n }, [isSelected]);\n\n return (\n <div\n className={className}\n ref={mergeRefs([ref, itemRef])}\n id={id}\n role=\"option\"\n onClick={onClick}\n aria-selected={isSelected || undefined}\n >\n {item.icon}\n </div>\n );\n});\n","import { assertEmpty } from \"@blocknote/core\";\nimport { ComponentProps } from \"@blocknote/react\";\nimport { forwardRef } from \"react\";\n\nexport const GridSuggestionMenuLoader = forwardRef<\n HTMLDivElement,\n ComponentProps[\"GridSuggestionMenu\"][\"Loader\"]\n>((props, ref) => {\n const {\n className,\n children, // unused, using \"dots\" instead\n columns,\n ...rest\n } = props;\n\n assertEmpty(rest);\n\n return (\n <div\n className={className}\n style={{ gridColumn: `1 / ${columns + 1}` }}\n ref={ref}\n >\n {children}\n </div>\n );\n});\n","import { Group as AriakitGroup } from \"@ariakit/react\";\n\nimport { assertEmpty, mergeCSSClasses } from \"@blocknote/core\";\nimport { ComponentProps } from \"@blocknote/react\";\nimport { forwardRef } from \"react\";\n\nexport const SuggestionMenu = forwardRef<\n HTMLDivElement,\n ComponentProps[\"SuggestionMenu\"][\"Root\"]\n>((props, ref) => {\n const { className, children, id, ...rest } = props;\n\n assertEmpty(rest);\n\n return (\n <AriakitGroup\n className={mergeCSSClasses(\"bn-ak-menu\", className || \"\")}\n id={id}\n role=\"listbox\"\n ref={ref}\n >\n {children}\n </AriakitGroup>\n );\n});\n","import { assertEmpty, mergeCSSClasses } from \"@blocknote/core\";\nimport { ComponentProps } from \"@blocknote/react\";\nimport { forwardRef } from \"react\";\n\nexport const SuggestionMenuEmptyItem = forwardRef<\n HTMLDivElement,\n ComponentProps[\"SuggestionMenu\"][\"EmptyItem\"]\n>((props, ref) => {\n const { className, children, ...rest } = props;\n\n assertEmpty(rest);\n\n return (\n <div\n className={mergeCSSClasses(\"bn-ak-menu-item\", className || \"\")}\n ref={ref}\n >\n <div className=\"bn-ak-suggestion-menu-item-label\">{children}</div>\n </div>\n );\n});\n","import { assertEmpty, mergeCSSClasses } from \"@blocknote/core\";\nimport { ComponentProps, elementOverflow, mergeRefs } from \"@blocknote/react\";\nimport { forwardRef, useEffect, useRef } from \"react\";\n\nexport const SuggestionMenuItem = forwardRef<\n HTMLDivElement,\n ComponentProps[\"SuggestionMenu\"][\"Item\"]\n>((props, ref) => {\n const { className, item, isSelected, onClick, id, ...rest } = props;\n\n assertEmpty(rest);\n\n const itemRef = useRef<HTMLDivElement>(null);\n\n useEffect(() => {\n if (!itemRef.current || !isSelected) {\n return;\n }\n\n const overflow = elementOverflow(\n itemRef.current,\n document.querySelector(\".bn-suggestion-menu\")!,\n );\n\n if (overflow === \"top\") {\n itemRef.current.scrollIntoView(true);\n } else if (overflow === \"bottom\") {\n itemRef.current.scrollIntoView(false);\n }\n }, [isSelected]);\n\n return (\n <div\n className={mergeCSSClasses(\"bn-ak-menu-item\", className || \"\")}\n ref={mergeRefs([ref, itemRef])}\n id={id}\n onClick={onClick}\n role=\"option\"\n aria-selected={isSelected || undefined}\n >\n {item.icon && (\n <div\n className=\"bn-ak-suggestion-menu-item-section\"\n data-position=\"left\"\n >\n {item.icon}\n </div>\n )}\n <div className=\"bn-ak-suggestion-menu-item-body\">\n <div className=\"bn-ak-suggestion-menu-item-title\">{item.title}</div>\n <div className=\"bn-ak-suggestion-menu-item-subtitle\">\n {item.subtext}\n </div>\n </div>\n {item.badge && (\n <div\n data-position=\"right\"\n className=\"bn-ak-suggestion-menu-item-section\"\n >\n <div>{item.badge}</div>\n </div>\n )}\n </div>\n );\n});\n","import { assertEmpty, mergeCSSClasses } from \"@blocknote/core\";\nimport { ComponentProps } from \"@blocknote/react\";\nimport { forwardRef } from \"react\";\n\nexport const SuggestionMenuLabel = forwardRef<\n HTMLDivElement,\n ComponentProps[\"SuggestionMenu\"][\"Label\"]\n>((props, ref) => {\n const { className, children, ...rest } = props;\n\n assertEmpty(rest);\n\n return (\n <div\n className={mergeCSSClasses(\"bn-ak-group-label\", className || \"\")}\n ref={ref}\n >\n {children}\n </div>\n );\n});\n","import { assertEmpty } from \"@blocknote/core\";\nimport { ComponentProps } from \"@blocknote/react\";\nimport { forwardRef } from \"react\";\n\nexport const SuggestionMenuLoader = forwardRef<\n HTMLDivElement,\n ComponentProps[\"SuggestionMenu\"][\"Loader\"]\n>((props, ref) => {\n const { className, children, ...rest } = props;\n\n assertEmpty(rest);\n\n return (\n <div className={className} ref={ref}>\n {children}\n </div>\n );\n});\n","import { Button as AriakitButton } from \"@ariakit/react\";\n\nimport { assertEmpty, mergeCSSClasses } from \"@blocknote/core\";\nimport { ComponentProps } from \"@blocknote/react\";\nimport { forwardRef } from \"react\";\n\nexport const ExtendButton = forwardRef<\n HTMLButtonElement,\n ComponentProps[\"TableHandle\"][\"ExtendButton\"]\n>((props, ref) => {\n const { children, className, onMouseDown, onClick, ...rest } = props;\n\n // false, because rest props can be added by mantine when button is used as a trigger\n // assertEmpty in this case is only used at typescript level, not runtime level\n assertEmpty(rest, false);\n\n return (\n <AriakitButton\n className={mergeCSSClasses(\n \"bn-ak-button bn-ak-secondary\",\n className || \"\",\n )}\n ref={ref}\n onMouseDown={onMouseDown}\n onClick={onClick}\n {...rest}\n >\n {children}\n </AriakitButton>\n );\n});\n","import { Button as AriakitButton } from \"@ariakit/react\";\n\nimport { assertEmpty, mergeCSSClasses } from \"@blocknote/core\";\nimport { ComponentProps } from \"@blocknote/react\";\nimport { forwardRef } from \"react\";\n\nexport const TableHandle = forwardRef<\n HTMLButtonElement,\n ComponentProps[\"TableHandle\"][\"Root\"]\n>((props, ref) => {\n const {\n className,\n children,\n draggable,\n onDragStart,\n onDragEnd,\n style,\n label,\n ...rest\n } = props;\n\n // false, because rest props can be added by ariakit when button is used as a trigger\n // assertEmpty in this case is only used at typescript level, not runtime level\n assertEmpty(rest, false);\n\n return (\n <AriakitButton\n className={mergeCSSClasses(\n \"bn-ak-button bn-ak-secondary\",\n className || \"\",\n )}\n ref={ref}\n aria-label={label}\n draggable={draggable}\n onDragStart={onDragStart}\n onDragEnd={onDragEnd}\n style={style}\n {...rest}\n >\n {children}\n </AriakitButton>\n );\n});\n","import { Toolbar as AriakitToolbar } from \"@ariakit/react\";\n\nimport { assertEmpty, mergeCSSClasses } from \"@blocknote/core\";\nimport { ComponentProps } from \"@blocknote/react\";\nimport { forwardRef } from \"react\";\n\ntype ToolbarProps = ComponentProps[\"FormattingToolbar\"][\"Root\"] &\n ComponentProps[\"LinkToolbar\"][\"Root\"];\n\nexport const Toolbar = forwardRef<HTMLDivElement, ToolbarProps>(\n (props, ref) => {\n const {\n className,\n children,\n onMouseEnter,\n onMouseLeave,\n variant,\n ...rest\n } = props;\n\n assertEmpty(rest);\n\n return (\n <AriakitToolbar\n className={mergeCSSClasses(\"bn-ak-toolbar\", className || \"\")}\n ref={ref}\n onMouseEnter={onMouseEnter}\n onMouseLeave={onMouseLeave}\n >\n {children}\n </AriakitToolbar>\n );\n },\n);\n","import {\n ToolbarItem as AriakitToolbarItem,\n Tooltip as AriakitTooltip,\n TooltipAnchor as AriakitTooltipAnchor,\n TooltipProvider as AriakitTooltipProvider,\n} from \"@ariakit/react\";\n\nimport { assertEmpty, isSafari, mergeCSSClasses } from \"@blocknote/core\";\nimport { ComponentProps } from \"@blocknote/react\";\nimport { forwardRef } from \"react\";\n\ntype ToolbarButtonProps = ComponentProps[\"FormattingToolbar\"][\"Button\"] &\n ComponentProps[\"LinkToolbar\"][\"Button\"];\n\n/**\n * Helper for basic buttons that show in the formatting toolbar.\n */\nexport const ToolbarButton = forwardRef<HTMLButtonElement, ToolbarButtonProps>(\n (props, ref) => {\n const {\n className,\n children,\n mainTooltip,\n secondaryTooltip,\n icon,\n isSelected,\n isDisabled,\n onClick,\n label,\n variant,\n ...rest\n } = props;\n\n // false, because rest props can be added by ariakit when button is used as a trigger\n // assertEmpty in this case is only used at typescript level, not runtime level\n assertEmpty(rest, false);\n\n return (\n <AriakitTooltipProvider>\n <AriakitTooltipAnchor\n render={\n <AriakitToolbarItem\n aria-label={label}\n className={mergeCSSClasses(\n \"bn-ak-button bn-ak-secondary\",\n className || \"\",\n )}\n // Needed as Safari doesn't focus button elements on mouse down\n // unlike other browsers.\n onMouseDown={(e) => {\n if (isSafari()) {\n (e.currentTarget as HTMLButtonElement).focus();\n }\n }}\n onClick={onClick}\n aria-pressed={isSelected}\n data-selected={isSelected ? \"true\" : undefined}\n disabled={isDisabled || false}\n ref={ref}\n {...rest}\n >\n {icon}\n {children}\n </AriakitToolbarItem>\n }\n />\n <AriakitTooltip className=\"bn-ak-tooltip\" portal={false}>\n <span>{mainTooltip}</span>\n {secondaryTooltip && <span>{secondaryTooltip}</span>}\n </AriakitTooltip>\n </AriakitTooltipProvider>\n );\n },\n);\n","import {\n Select as AriakitSelect,\n SelectArrow as AriakitSelectArrow,\n SelectItem as AriakitSelectItem,\n SelectItemCheck as AriakitSelectItemCheck,\n SelectPopover as AriakitSelectPopover,\n SelectProvider as AriakitSelectProvider,\n ToolbarItem as AriakitToolbarItem,\n} from \"@ariakit/react\";\n\nimport { assertEmpty, mergeCSSClasses } from \"@blocknote/core\";\nimport { ComponentProps } from \"@blocknote/react\";\nimport { forwardRef } from \"react\";\n\nexport const ToolbarSelect = forwardRef<\n HTMLDivElement,\n ComponentProps[\"FormattingToolbar\"][\"Select\"]\n>((props, ref) => {\n const { className, items, isDisabled, ...rest } = props;\n\n assertEmpty(rest);\n\n const selectedItem = props.items.filter((p) => p.isSelected)[0];\n\n const setValue = (value: string) => {\n items.find((item) => item.text === value)!.onClick?.();\n };\n\n return (\n <AriakitSelectProvider value={selectedItem.text} setValue={setValue}>\n <AriakitSelect\n className={\"bn-ak-button bn-ak-secondary\"}\n disabled={isDisabled}\n aria-label=\"Text alignment\"\n render={<AriakitToolbarItem />}\n >\n {selectedItem.icon} {selectedItem.text} <AriakitSelectArrow />\n </AriakitSelect>\n <AriakitSelectPopover\n className={mergeCSSClasses(\"bn-ak-popover\", className || \"\")}\n ref={ref}\n gutter={4}\n >\n {items.map((option) => (\n <AriakitSelectItem\n className={\"bn-ak-select-item\"}\n key={option.text}\n value={option.text}\n >\n {option.icon}\n {option.text}\n {option.text === selectedItem.text && <AriakitSelectItemCheck />}\n </AriakitSelectItem>\n ))}\n </AriakitSelectPopover>\n </AriakitSelectProvider>\n );\n});\n","import { Button as AriakitButton, Group as AriakitGroup } from \"@ariakit/react\";\n\nimport { assertEmpty, mergeCSSClasses } from \"@blocknote/core\";\nimport { ComponentProps } from \"@blocknote/react\";\nimport { forwardRef } from \"react\";\n\nexport const Card = forwardRef<\n HTMLDivElement,\n ComponentProps[\"Comments\"][\"Card\"]\n>((props, ref) => {\n const {\n className,\n children,\n selected,\n headerText,\n onFocus,\n onBlur,\n tabIndex,\n ...rest\n } = props;\n\n assertEmpty(rest, false);\n\n return (\n <AriakitGroup\n className={mergeCSSClasses(\n className,\n \"bn-ak-hovercard\",\n selected && \"selected\",\n )}\n onFocus={onFocus}\n onBlur={onBlur}\n tabIndex={tabIndex}\n ref={ref}\n >\n {headerText && <div className={\"bn-header-text\"}>{headerText}</div>}\n {children}\n </AriakitGroup>\n );\n});\n\nexport const CardSection = forwardRef<\n HTMLDivElement,\n ComponentProps[\"Comments\"][\"CardSection\"]\n>((props, ref) => {\n const { className, children, ...rest } = props;\n\n assertEmpty(rest, false);\n\n return (\n <AriakitGroup\n className={mergeCSSClasses(className, \"bn-ak-card-section\")}\n ref={ref}\n >\n {children}\n </AriakitGroup>\n );\n});\n\nexport const ExpandSectionsPrompt = forwardRef<\n HTMLButtonElement,\n ComponentProps[\"Comments\"][\"ExpandSectionsPrompt\"]\n>((props, ref) => {\n const { className, children, ...rest } = props;\n\n assertEmpty(rest, false);\n\n return (\n <AriakitButton\n className={mergeCSSClasses(\n className,\n \"bn-ak-button bn-ak-secondary bn-ak-expand-sections-prompt\",\n )}\n ref={ref}\n >\n {children}\n </AriakitButton>\n );\n});\n","import { Group as AriakitGroup } from \"@ariakit/react\";\n\nimport { assertEmpty } from \"@blocknote/core\";\nimport { ComponentProps, useFocusWithin } from \"@blocknote/react\";\nimport { forwardRef, useState } from \"react\";\n\nconst AuthorInfo = forwardRef<\n HTMLDivElement,\n Pick<\n ComponentProps[\"Comments\"][\"Comment\"],\n \"authorInfo\" | \"timeString\" | \"edited\"\n >\n>((props, _ref) => {\n const { authorInfo, timeString, edited, ...rest } = props;\n\n assertEmpty(rest, false);\n\n if (authorInfo === \"loading\") {\n return (\n <AriakitGroup className={\"bn-ak-author-info\"}>\n <div className={\"bn-ak-avatar bn-ak-skeleton\"} />\n <div className={\"bn-ak-username bn-ak-skeleton\"} />\n </AriakitGroup>\n );\n }\n\n return (\n <AriakitGroup className={\"bn-ak-author-info\"}>\n <img\n src={authorInfo.avatarUrl}\n alt={authorInfo.username}\n className={\"bn-ak-avatar\"}\n />\n <div className={\"bn-ak-username\"}>\n {authorInfo.username}\n <span>\n {timeString} {edited && \"(edited)\"}\n </span>\n </div>\n </AriakitGroup>\n );\n});\n\nexport const Comment = forwardRef<\n HTMLDivElement,\n ComponentProps[\"Comments\"][\"Comment\"]\n>((props, ref) => {\n const {\n className,\n showActions,\n authorInfo,\n timeString,\n actions,\n children,\n edited,\n ...rest\n } = props;\n\n assertEmpty(rest, false);\n\n const [hovered, setHovered] = useState(false);\n const { focused, ref: focusRef } = useFocusWithin();\n\n const doShowActions =\n actions &&\n (showActions === true ||\n showActions === undefined ||\n (showActions === \"hover\" && hovered) ||\n focused);\n\n return (\n <AriakitGroup\n ref={ref}\n className={className}\n onMouseEnter={() => setHovered(true)}\n onMouseLeave={() => setHovered(false)}\n >\n {doShowActions ? (\n <AriakitGroup\n ref={focusRef}\n style={{\n position: \"absolute\",\n right: 0,\n top: 0,\n zIndex: 10,\n }}\n >\n {actions}\n </AriakitGroup>\n ) : null}\n <AuthorInfo {...props} />\n {children}\n </AriakitGroup>\n );\n});\n","import { assertEmpty } from \"@blocknote/core\";\nimport {\n ComponentProps,\n FormattingToolbar,\n FormattingToolbarController,\n getFormattingToolbarItems,\n} from \"@blocknote/react\";\nimport { forwardRef } from \"react\";\nimport { BlockNoteView } from \"../BlockNoteView.js\";\n\nexport const Editor = forwardRef<\n HTMLDivElement,\n ComponentProps[\"Comments\"][\"Editor\"]\n>((props, ref) => {\n const { className, onFocus, onBlur, autoFocus, editor, editable, ...rest } =\n props;\n\n assertEmpty(rest, false);\n\n return (\n <BlockNoteView\n autoFocus={autoFocus}\n className={className}\n editor={props.editor}\n sideMenu={false}\n slashMenu={false}\n tableHandles={false}\n filePanel={false}\n formattingToolbar={false}\n editable={editable}\n ref={ref}\n onFocus={onFocus}\n onBlur={onBlur}\n >\n <FormattingToolbarController\n formattingToolbar={CustomFormattingToolbar}\n />\n </BlockNoteView>\n );\n});\n\nconst CustomFormattingToolbar = () => {\n const items = getFormattingToolbarItems([]).filter(\n (el) => el.key !== \"nestBlockButton\" && el.key !== \"unnestBlockButton\",\n );\n return (\n <FormattingToolbar blockTypeSelectItems={[]}>{items}</FormattingToolbar>\n );\n};\n","import {\n Button as AriakitButton,\n Group as AriakitGroup,\n Tooltip as AriakitTooltip,\n TooltipAnchor as AriakitTooltipAnchor,\n TooltipProvider as AriakitTooltipProvider,\n} from \"@ariakit/react\";\n\nimport { assertEmpty, mergeCSSClasses } from \"@blocknote/core\";\nimport { ComponentProps } from \"@blocknote/react\";\nimport { forwardRef } from \"react\";\n\nexport const Badge = forwardRef<\n HTMLButtonElement,\n ComponentProps[\"Generic\"][\"Badge\"][\"Root\"]\n>((props, ref) => {\n const {\n className,\n text,\n icon,\n isSelected,\n mainTooltip,\n secondaryTooltip,\n onClick,\n onMouseEnter,\n ...rest\n } = props;\n\n assertEmpty(rest, false);\n\n const badge = (\n <AriakitButton\n className={mergeCSSClasses(\n className,\n \"bn-ak-badge bn-ak-button\",\n isSelected && \"bn-ak-primary\",\n )}\n aria-selected={isSelected === true}\n onClick={(event) => onClick?.(event)}\n onMouseEnter={onMouseEnter}\n ref={ref}\n >\n <span>{icon}</span>\n <span>{text}</span>\n </AriakitButton>\n );\n\n if (!mainTooltip) {\n return badge;\n }\n\n return (\n <AriakitTooltipProvider>\n <AriakitTooltipAnchor render={badge} />\n <AriakitTooltip className=\"bn-ak-tooltip\" portal={false}>\n <span>{mainTooltip}</span>\n {secondaryTooltip && <span>{secondaryTooltip}</span>}\n </AriakitTooltip>\n </AriakitTooltipProvider>\n );\n});\n\nexport const BadgeGroup = forwardRef<\n HTMLDivElement,\n ComponentProps[\"Generic\"][\"Badge\"][\"Group\"]\n>((props, ref) => {\n const { className, children, ...rest } = props;\n\n assertEmpty(rest);\n\n return (\n <AriakitGroup\n className={mergeCSSClasses(className, \"bn-ak-badge-group\")}\n ref={ref}\n >\n {children}\n </AriakitGroup>\n );\n});\n","import { Components } from \"@blocknote/react\";\n\nimport { Form } from \"./input/Form.js\";\nimport { TextInput } from \"./input/TextInput.js\";\nimport {\n Menu,\n MenuDivider,\n MenuDropdown,\n MenuItem,\n MenuLabel,\n MenuTrigger,\n} from \"./menu/Menu.js\";\nimport { MenuButton } from \"./menu/Button.js\";\nimport { Panel } from \"./panel/Panel.js\";\nimport { PanelButton } from \"./panel/PanelButton.js\";\nimport { PanelFileInput } from \"./panel/PanelFileInput.js\";\nimport { PanelTab } from \"./panel/PanelTab.js\";\nimport { PanelTextInput } from \"./panel/PanelTextInput.js\";\nimport { Popover, PopoverContent, PopoverTrigger } from \"./popover/Popover.js\";\nimport { SideMenu } from \"./sideMenu/SideMenu.js\";\nimport { SideMenuButton } from \"./sideMenu/SideMenuButton.js\";\nimport { GridSuggestionMenu } from \"./suggestionMenu/gridSuggestionMenu/GridSuggestionMenu.js\";\nimport { GridSuggestionMenuEmptyItem } from \"./suggestionMenu/gridSuggestionMenu/GridSuggestionMenuEmptyItem.js\";\nimport { GridSuggestionMenuItem } from \"./suggestionMenu/gridSuggestionMenu/GridSuggestionMenuItem.js\";\nimport { GridSuggestionMenuLoader } from \"./suggestionMenu/gridSuggestionMenu/GridSuggestionMenuLoader.js\";\nimport { SuggestionMenu } from \"./suggestionMenu/SuggestionMenu.js\";\nimport { SuggestionMenuEmptyItem } from \"./suggestionMenu/SuggestionMenuEmptyItem.js\";\nimport { SuggestionMenuItem } from \"./suggestionMenu/SuggestionMenuItem.js\";\nimport { SuggestionMenuLabel } from \"./suggestionMenu/SuggestionMenuLabel.js\";\nimport { SuggestionMenuLoader } from \"./suggestionMenu/SuggestionMenuLoader.js\";\nimport { ExtendButton } from \"./tableHandle/ExtendButton.js\";\nimport { TableHandle } from \"./tableHandle/TableHandle.js\";\nimport { Toolbar } from \"./toolbar/Toolbar.js\";\nimport { ToolbarButton } from \"./toolbar/ToolbarButton.js\";\nimport { ToolbarSelect } from \"./toolbar/ToolbarSelect.js\";\nimport { Card, CardSection, ExpandSectionsPrompt } from \"./comments/Card.js\";\nimport { Comment } from \"./comments/Comment.js\";\nimport { Editor } from \"./comments/Editor.js\";\nimport { Badge, BadgeGroup } from \"./badge/Badge.js\";\n\nexport const components: Components = {\n FormattingToolbar: {\n Root: Toolbar,\n Button: ToolbarButton,\n Select: ToolbarSelect,\n },\n FilePanel: {\n Root: Panel,\n Button: PanelButton,\n FileInput: PanelFileInput,\n TabPanel: PanelTab,\n TextInput: PanelTextInput,\n },\n GridSuggestionMenu: {\n Root: GridSuggestionMenu,\n Item: GridSuggestionMenuItem,\n EmptyItem: GridSuggestionMenuEmptyItem,\n Loader: GridSuggestionMenuLoader,\n },\n LinkToolbar: {\n Root: Toolbar,\n Button: ToolbarButton,\n Select: ToolbarSelect,\n },\n SideMenu: {\n Root: SideMenu,\n Button: SideMenuButton,\n },\n SuggestionMenu: {\n Root: SuggestionMenu,\n Item: SuggestionMenuItem,\n EmptyItem: SuggestionMenuEmptyItem,\n Label: SuggestionMenuLabel,\n Loader: SuggestionMenuLoader,\n },\n TableHandle: {\n Root: TableHandle,\n ExtendButton: ExtendButton,\n },\n Comments: {\n Comment: Comment,\n Editor: Editor,\n Card: Card,\n CardSection: CardSection,\n ExpandSectionsPrompt: ExpandSectionsPrompt,\n },\n Generic: {\n Badge: {\n Root: Badge,\n Group: BadgeGroup,\n },\n Toolbar: {\n Root: Toolbar,\n Button: ToolbarButton,\n Select: ToolbarSelect,\n },\n Form: {\n Root: Form,\n TextInput: TextInput,\n },\n Menu: {\n Root: Menu,\n Trigger: MenuTrigger,\n Dropdown: MenuDropdown,\n Divider: MenuDivider,\n Label: MenuLabel,\n Item: MenuItem,\n Button: MenuButton,\n },\n Popover: {\n Root: Popover,\n Trigger: PopoverTrigger,\n Content: PopoverContent,\n },\n },\n};\n","import {\n BlockSchema,\n InlineContentSchema,\n mergeCSSClasses,\n StyleSchema,\n} from \"@blocknote/core\";\nimport {\n BlockNoteViewProps,\n BlockNoteViewRaw,\n ComponentsContext,\n} from \"@blocknote/react\";\nimport { components } from \"./components.js\";\n\nexport const BlockNoteView = <\n BSchema extends BlockSchema,\n ISchema extends InlineContentSchema,\n SSchema extends StyleSchema,\n>(\n props: BlockNoteViewProps<BSchema, ISchema, SSchema>,\n) => {\n const { className, ...rest } = props;\n\n return (\n <ComponentsContext.Provider value={components}>\n <BlockNoteViewRaw\n className={mergeCSSClasses(\"bn-ariakit\", className || \"\")}\n {...rest}\n />\n </ComponentsContext.Provider>\n );\n};\n"],"names":["Form","props","children","rest","assertEmpty","jsx","AriakitFormProvider","TextInput","forwardRef","ref","className","name","label","icon","value","autoFocus","placeholder","onKeyDown","onChange","onSubmit","jsxs","Fragment","AriakitFormLabel","AriakitFormInput","mergeCSSClasses","Menu","onOpenChange","position","sub","AriakitMenuProvider","MenuDropdown","AriakitMenu","MenuItem","checked","subTrigger","onClick","AriakitMenuButton","AriakitMenuItem","AriakitMenuButtonArrow","AriakitCheckboxCheck","MenuLabel","AriakitMenuGroupLabel","MenuTrigger","MenuDivider","AriakitMenuSeparator","MenuButton","onDragEnd","onDragStart","draggable","AriakitButton","Panel","tabs","defaultOpenTab","openTab","setOpenTab","loading","AriakitTabProvider","activeId","AriakitTabList","tab","AriakitTab","AriakitTabPanel","PanelButton","PanelFileInput","accept","e","PanelTab","PanelTextInput","PopoverTrigger","AriakitPopoverDisclosure","PopoverContent","variant","AriakitPopover","Popover","opened","AriakitPopoverProvider","SideMenu","AriakitGroup","SideMenuButton","GridSuggestionMenu","id","columns","GridSuggestionMenuEmptyItem","GridSuggestionMenuItem","isSelected","item","itemRef","useRef","useEffect","overflow","elementOverflow","mergeRefs","GridSuggestionMenuLoader","SuggestionMenu","SuggestionMenuEmptyItem","SuggestionMenuItem","SuggestionMenuLabel","SuggestionMenuLoader","ExtendButton","onMouseDown","TableHandle","style","Toolbar","onMouseEnter","onMouseLeave","AriakitToolbar","ToolbarButton","mainTooltip","secondaryTooltip","isDisabled","AriakitTooltipProvider","AriakitTooltipAnchor","AriakitToolbarItem","isSafari","AriakitTooltip","ToolbarSelect","items","selectedItem","p","setValue","_b","_a","AriakitSelectProvider","AriakitSelect","AriakitSelectArrow","AriakitSelectPopover","option","AriakitSelectItem","AriakitSelectItemCheck","Card","selected","headerText","onFocus","onBlur","tabIndex","CardSection","ExpandSectionsPrompt","AuthorInfo","_ref","authorInfo","timeString","edited","Comment","showActions","actions","hovered","setHovered","useState","focused","focusRef","useFocusWithin","doShowActions","Editor","editor","editable","BlockNoteView","FormattingToolbarController","CustomFormattingToolbar","getFormattingToolbarItems","el","FormattingToolbar","Badge","text","badge","event","BadgeGroup","components","ComponentsContext","BlockNoteViewRaw"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"blocknote-ariakit.cjs","sources":["../src/input/Form.tsx","../src/input/TextInput.tsx","../src/menu/Menu.tsx","../src/menu/Button.tsx","../src/panel/Panel.tsx","../src/panel/PanelButton.tsx","../src/panel/PanelFileInput.tsx","../src/panel/PanelTab.tsx","../src/panel/PanelTextInput.tsx","../src/popover/Popover.tsx","../src/sideMenu/SideMenu.tsx","../src/sideMenu/SideMenuButton.tsx","../src/suggestionMenu/gridSuggestionMenu/GridSuggestionMenu.tsx","../src/suggestionMenu/gridSuggestionMenu/GridSuggestionMenuEmptyItem.tsx","../src/suggestionMenu/gridSuggestionMenu/GridSuggestionMenuItem.tsx","../src/suggestionMenu/gridSuggestionMenu/GridSuggestionMenuLoader.tsx","../src/suggestionMenu/SuggestionMenu.tsx","../src/suggestionMenu/SuggestionMenuEmptyItem.tsx","../src/suggestionMenu/SuggestionMenuItem.tsx","../src/suggestionMenu/SuggestionMenuLabel.tsx","../src/suggestionMenu/SuggestionMenuLoader.tsx","../src/tableHandle/ExtendButton.tsx","../src/tableHandle/TableHandle.tsx","../src/toolbar/Toolbar.tsx","../src/toolbar/ToolbarButton.tsx","../src/toolbar/ToolbarSelect.tsx","../src/comments/Card.tsx","../src/comments/Comment.tsx","../src/comments/Editor.tsx","../src/badge/Badge.tsx","../src/components.ts","../src/BlockNoteView.tsx"],"sourcesContent":["import { FormProvider as AriakitFormProvider } from \"@ariakit/react\";\n\nimport { assertEmpty } from \"@blocknote/core\";\nimport { ComponentProps } from \"@blocknote/react\";\n\nexport const Form = (props: ComponentProps[\"Generic\"][\"Form\"][\"Root\"]) => {\n const { children, ...rest } = props;\n\n assertEmpty(rest);\n\n return <AriakitFormProvider>{children}</AriakitFormProvider>;\n};\n","import {\n FormInput as AriakitFormInput,\n FormLabel as AriakitFormLabel,\n} from \"@ariakit/react\";\n\nimport { assertEmpty, mergeCSSClasses } from \"@blocknote/core\";\nimport { ComponentProps } from \"@blocknote/react\";\nimport { forwardRef } from \"react\";\n\nexport const TextInput = forwardRef<\n HTMLInputElement,\n ComponentProps[\"Generic\"][\"Form\"][\"TextInput\"]\n>((props, ref) => {\n const {\n className,\n name,\n label,\n variant,\n icon,\n value,\n autoFocus,\n placeholder,\n disabled,\n onKeyDown,\n onChange,\n onSubmit,\n autoComplete,\n rightSection,\n ...rest\n } = props;\n\n assertEmpty(rest);\n\n return (\n <>\n {props.label && <AriakitFormLabel name={name}>{label}</AriakitFormLabel>}\n <div className=\"bn-ak-input-wrapper\">\n {icon}\n <AriakitFormInput\n className={mergeCSSClasses(\n \"bn-ak-input\",\n className || \"\",\n variant === \"large\" ? \"bn-ak-input-large\" : \"\",\n )}\n ref={ref}\n name={name}\n value={value}\n autoFocus={autoFocus}\n placeholder={placeholder}\n disabled={disabled}\n onKeyDown={onKeyDown}\n onChange={onChange}\n onSubmit={onSubmit}\n autoComplete={autoComplete}\n />\n {rightSection}\n </div>\n </>\n );\n});\n","import {\n CheckboxCheck as AriakitCheckboxCheck,\n Menu as AriakitMenu,\n MenuButton as AriakitMenuButton,\n MenuButtonArrow as AriakitMenuButtonArrow,\n MenuGroupLabel as AriakitMenuGroupLabel,\n MenuItem as AriakitMenuItem,\n MenuProvider as AriakitMenuProvider,\n MenuSeparator as AriakitMenuSeparator,\n} from \"@ariakit/react\";\n\nimport { assertEmpty, mergeCSSClasses } from \"@blocknote/core\";\nimport { ComponentProps } from \"@blocknote/react\";\nimport { forwardRef } from \"react\";\n\nexport const Menu = (props: ComponentProps[\"Generic\"][\"Menu\"][\"Root\"]) => {\n const {\n children,\n onOpenChange,\n position,\n sub, // unused\n ...rest\n } = props;\n\n assertEmpty(rest);\n\n return (\n <AriakitMenuProvider\n placement={position}\n setOpen={onOpenChange}\n virtualFocus={true}\n >\n {children}\n </AriakitMenuProvider>\n );\n};\n\nexport const MenuDropdown = forwardRef<\n HTMLDivElement,\n ComponentProps[\"Generic\"][\"Menu\"][\"Dropdown\"]\n>((props, ref) => {\n const {\n className,\n children,\n sub, // unused\n ...rest\n } = props;\n\n assertEmpty(rest);\n\n return (\n <AriakitMenu\n unmountOnHide={true}\n className={mergeCSSClasses(\"bn-ak-menu\", className || \"\")}\n ref={ref}\n >\n {children}\n </AriakitMenu>\n );\n});\n\nexport const MenuItem = forwardRef<\n HTMLDivElement,\n ComponentProps[\"Generic\"][\"Menu\"][\"Item\"]\n>((props, ref) => {\n const { className, children, icon, checked, subTrigger, onClick, ...rest } =\n props;\n\n assertEmpty(rest);\n\n if (subTrigger) {\n return (\n <AriakitMenuButton\n render={<AriakitMenuItem />}\n className={mergeCSSClasses(\"bn-ak-menu-item\", className || \"\")}\n ref={ref}\n onClick={onClick}\n >\n {icon}\n {children}\n <AriakitMenuButtonArrow />\n {checked !== undefined && <AriakitCheckboxCheck checked={checked} />}\n </AriakitMenuButton>\n );\n }\n return (\n <AriakitMenuItem\n className={mergeCSSClasses(\"bn-ak-menu-item\", className || \"\")}\n ref={ref}\n onClick={onClick}\n >\n {icon}\n {children}\n {checked !== undefined && <AriakitCheckboxCheck checked={checked} />}\n </AriakitMenuItem>\n );\n});\n\nexport const MenuLabel = forwardRef<\n HTMLDivElement,\n ComponentProps[\"Generic\"][\"Menu\"][\"Label\"]\n>((props, ref) => {\n const { className, children, ...rest } = props;\n\n assertEmpty(rest);\n\n return (\n <AriakitMenuGroupLabel\n className={mergeCSSClasses(\"bn-ak-group-label\", className || \"\")}\n ref={ref}\n >\n {children}\n </AriakitMenuGroupLabel>\n );\n});\n\nexport const MenuTrigger = (\n props: ComponentProps[\"Generic\"][\"Menu\"][\"Trigger\"],\n) => {\n const { children, sub, ...rest } = props;\n\n assertEmpty(rest);\n\n if (sub) {\n return children;\n }\n\n return <AriakitMenuButton render={children as any}></AriakitMenuButton>;\n};\n\nexport const MenuDivider = forwardRef<\n HTMLHRElement,\n ComponentProps[\"Generic\"][\"Menu\"][\"Divider\"]\n>((props, ref) => {\n const { className, ...rest } = props;\n\n assertEmpty(rest);\n\n return (\n <AriakitMenuSeparator\n className={mergeCSSClasses(\"bn-ak-separator\", className || \"\")}\n ref={ref}\n />\n );\n});\n","import { Button as AriakitButton } from \"@ariakit/react\";\n\nimport { assertEmpty, mergeCSSClasses } from \"@blocknote/core\";\nimport { ComponentProps } from \"@blocknote/react\";\nimport { forwardRef } from \"react\";\n\nexport const MenuButton = forwardRef<\n HTMLButtonElement,\n ComponentProps[\"Generic\"][\"Menu\"][\"Button\"]\n>((props, ref) => {\n const {\n className,\n children,\n icon,\n onClick,\n label,\n onDragEnd,\n onDragStart,\n draggable,\n ...rest\n } = props;\n\n // false, because rest props can be added by ariakit when button is used as a trigger\n // assertEmpty in this case is only used at typescript level, not runtime level\n assertEmpty(rest, false);\n\n return (\n <AriakitButton\n onDragEnd={onDragEnd}\n onDragStart={onDragStart}\n draggable={draggable}\n aria-label={label}\n className={mergeCSSClasses(\n \"bn-ak-button bn-ak-secondary\",\n className || \"\",\n )}\n ref={ref}\n onClick={onClick}\n {...rest}\n >\n {icon}\n {children}\n </AriakitButton>\n );\n});\n","import {\n Tab as AriakitTab,\n TabList as AriakitTabList,\n TabPanel as AriakitTabPanel,\n TabProvider as AriakitTabProvider,\n} from \"@ariakit/react\";\n\nimport { assertEmpty, mergeCSSClasses } from \"@blocknote/core\";\nimport { ComponentProps } from \"@blocknote/react\";\nimport { forwardRef } from \"react\";\n\nexport const Panel = forwardRef<\n HTMLDivElement,\n ComponentProps[\"FilePanel\"][\"Root\"]\n>((props, ref) => {\n const {\n className,\n tabs,\n defaultOpenTab,\n openTab,\n setOpenTab,\n loading, // TODO: implement loading\n ...rest\n } = props;\n assertEmpty(rest);\n\n return (\n <div\n className={mergeCSSClasses(\"bn-ak-wrapper\", className || \"\")}\n ref={ref}\n >\n <AriakitTabProvider\n defaultSelectedId={defaultOpenTab}\n selectedId={openTab}\n setActiveId={(activeId) => {\n if (activeId) {\n setOpenTab(activeId);\n }\n }}\n >\n {/*{loading && <LoadingOverlay visible={loading} />}*/}\n\n <AriakitTabList className={\"bn-ak-tab-list\"}>\n {tabs.map((tab) => (\n <AriakitTab className={\"bn-ak-tab\"} id={tab.name} key={tab.name}>\n {tab.name}\n </AriakitTab>\n ))}\n </AriakitTabList>\n\n <div className={\"bn-ak-panels\"}>\n {tabs.map((tab) => (\n <AriakitTabPanel tabId={tab.name} key={tab.name}>\n {tab.tabPanel}\n </AriakitTabPanel>\n ))}\n </div>\n </AriakitTabProvider>\n </div>\n );\n});\n","import { Button as AriakitButton } from \"@ariakit/react\";\n\nimport { assertEmpty, mergeCSSClasses } from \"@blocknote/core\";\nimport { ComponentProps } from \"@blocknote/react\";\nimport { forwardRef } from \"react\";\n\nexport const PanelButton = forwardRef<\n HTMLButtonElement,\n ComponentProps[\"FilePanel\"][\"Button\"]\n>((props, ref) => {\n const { className, children, onClick, label, ...rest } = props;\n\n assertEmpty(rest);\n\n return (\n <AriakitButton\n className={mergeCSSClasses(\"bn-ak-button\", className || \"\")}\n onClick={onClick}\n aria-label={label}\n ref={ref}\n >\n {children}\n </AriakitButton>\n );\n});\n","import {\n FormInput as AriakitFormInput,\n FormProvider as AriakitFormProvider,\n} from \"@ariakit/react\";\n\nimport { assertEmpty } from \"@blocknote/core\";\nimport { ComponentProps } from \"@blocknote/react\";\nimport { forwardRef } from \"react\";\n\nexport const PanelFileInput = forwardRef<\n HTMLInputElement,\n ComponentProps[\"FilePanel\"][\"FileInput\"]\n>((props, ref) => {\n const { className, accept, value, placeholder, onChange, ...rest } = props;\n\n assertEmpty(rest);\n\n return (\n <AriakitFormProvider>\n <AriakitFormInput\n className={className}\n ref={ref}\n name={\"panel-input\"}\n type={\"file\"}\n accept={accept}\n value={value ? value.name : undefined}\n onChange={async (e) => onChange?.(e.target.files![0])}\n placeholder={placeholder}\n />\n </AriakitFormProvider>\n );\n});\n","import { assertEmpty } from \"@blocknote/core\";\nimport { ComponentProps } from \"@blocknote/react\";\nimport { forwardRef } from \"react\";\n\nexport const PanelTab = forwardRef<\n HTMLDivElement,\n ComponentProps[\"FilePanel\"][\"TabPanel\"]\n>((props, ref) => {\n const { className, children, ...rest } = props;\n\n assertEmpty(rest);\n\n return (\n <div className={className} ref={ref}>\n {children}\n </div>\n );\n});\n","import {\n FormInput as AriakitFormInput,\n FormProvider as AriakitFormProvider,\n} from \"@ariakit/react\";\n\nimport { assertEmpty, mergeCSSClasses } from \"@blocknote/core\";\nimport { ComponentProps } from \"@blocknote/react\";\nimport { forwardRef } from \"react\";\n\nexport const PanelTextInput = forwardRef<\n HTMLInputElement,\n ComponentProps[\"FilePanel\"][\"TextInput\"]\n>((props, ref) => {\n const { className, value, placeholder, onKeyDown, onChange, ...rest } = props;\n\n assertEmpty(rest);\n\n return (\n <AriakitFormProvider>\n <AriakitFormInput\n className={mergeCSSClasses(\"bn-ak-input\", className || \"\")}\n name={\"panel-input\"}\n value={value}\n placeholder={placeholder}\n onChange={onChange}\n onKeyDown={onKeyDown}\n data-test={\"embed-input\"}\n ref={ref}\n />\n </AriakitFormProvider>\n );\n});\n","import {\n Popover as AriakitPopover,\n PopoverDisclosure as AriakitPopoverDisclosure,\n PopoverProvider as AriakitPopoverProvider,\n} from \"@ariakit/react\";\n\nimport { assertEmpty, mergeCSSClasses } from \"@blocknote/core\";\nimport { ComponentProps } from \"@blocknote/react\";\nimport { forwardRef } from \"react\";\n\nexport const PopoverTrigger = forwardRef<\n HTMLButtonElement,\n ComponentProps[\"Generic\"][\"Popover\"][\"Trigger\"]\n>((props, ref) => {\n const { children, ...rest } = props;\n\n assertEmpty(rest);\n\n return <AriakitPopoverDisclosure render={children as any} ref={ref} />;\n});\n\nexport const PopoverContent = forwardRef<\n HTMLDivElement,\n ComponentProps[\"Generic\"][\"Popover\"][\"Content\"]\n>((props, ref) => {\n const { className, children, variant, ...rest } = props;\n\n assertEmpty(rest);\n\n return (\n <AriakitPopover\n className={mergeCSSClasses(\n \"bn-ak-popover\",\n className || \"\",\n variant === \"panel-popover\" ? \"bn-ak-panel-popover\" : \"\",\n )}\n ref={ref}\n >\n {children}\n </AriakitPopover>\n );\n});\n\nexport const Popover = (\n props: ComponentProps[\"Generic\"][\"Popover\"][\"Root\"],\n) => {\n const { children, opened, position, ...rest } = props;\n\n assertEmpty(rest);\n\n return (\n <AriakitPopoverProvider open={opened} placement={position}>\n {children}\n </AriakitPopoverProvider>\n );\n};\n","import { Group as AriakitGroup } from \"@ariakit/react\";\n\nimport { assertEmpty } from \"@blocknote/core\";\nimport { ComponentProps } from \"@blocknote/react\";\nimport { forwardRef } from \"react\";\n\nexport const SideMenu = forwardRef<\n HTMLDivElement,\n ComponentProps[\"SideMenu\"][\"Root\"]\n>((props, ref) => {\n const { className, children, ...rest } = props;\n\n assertEmpty(rest, false);\n\n return (\n <AriakitGroup className={className} ref={ref} {...rest}>\n {children}\n </AriakitGroup>\n );\n});\n","import { Button as AriakitButton } from \"@ariakit/react\";\n\nimport { assertEmpty, mergeCSSClasses } from \"@blocknote/core\";\nimport { ComponentProps } from \"@blocknote/react\";\nimport { forwardRef } from \"react\";\n\nexport const SideMenuButton = forwardRef<\n HTMLButtonElement,\n ComponentProps[\"SideMenu\"][\"Button\"]\n>((props, ref) => {\n const {\n className,\n children,\n icon,\n onClick,\n label,\n onDragEnd,\n onDragStart,\n draggable,\n ...rest\n } = props;\n\n // false, because rest props can be added by ariakit when button is used as a trigger\n // assertEmpty in this case is only used at typescript level, not runtime level\n assertEmpty(rest, false);\n\n return (\n <AriakitButton\n onDragEnd={onDragEnd}\n onDragStart={onDragStart}\n draggable={draggable}\n aria-label={label}\n className={mergeCSSClasses(\n \"bn-ak-button bn-ak-secondary\",\n className || \"\",\n )}\n ref={ref}\n onClick={onClick}\n {...rest}\n >\n {icon}\n {children}\n </AriakitButton>\n );\n});\n","import { assertEmpty } from \"@blocknote/core\";\nimport { ComponentProps } from \"@blocknote/react\";\nimport { forwardRef } from \"react\";\n\nexport const GridSuggestionMenu = forwardRef<\n HTMLDivElement,\n ComponentProps[\"GridSuggestionMenu\"][\"Root\"]\n>((props, ref) => {\n const { className, children, id, columns, ...rest } = props;\n\n assertEmpty(rest);\n\n return (\n <div\n className={className}\n style={{ gridTemplateColumns: `repeat(${columns}, 1fr)` } as any}\n ref={ref}\n id={id}\n role=\"grid\"\n >\n {children}\n </div>\n );\n});\n","import { assertEmpty, mergeCSSClasses } from \"@blocknote/core\";\nimport { ComponentProps } from \"@blocknote/react\";\nimport { forwardRef } from \"react\";\n\nexport const GridSuggestionMenuEmptyItem = forwardRef<\n HTMLDivElement,\n ComponentProps[\"GridSuggestionMenu\"][\"EmptyItem\"]\n>((props, ref) => {\n const { className, children, columns, ...rest } = props;\n\n assertEmpty(rest);\n\n return (\n <div\n className={mergeCSSClasses(\"bn-ak-menu-item\", className || \"\")}\n style={{ gridColumn: `1 / ${columns + 1}` }}\n ref={ref}\n >\n <div className=\"bn-ak-suggestion-menu-item-label\">{children}</div>\n </div>\n );\n});\n","import { assertEmpty } from \"@blocknote/core\";\nimport { ComponentProps, elementOverflow, mergeRefs } from \"@blocknote/react\";\nimport { forwardRef, useEffect, useRef } from \"react\";\n\nexport const GridSuggestionMenuItem = forwardRef<\n HTMLDivElement,\n ComponentProps[\"GridSuggestionMenu\"][\"Item\"]\n>((props, ref) => {\n const { className, isSelected, onClick, item, id, ...rest } = props;\n\n assertEmpty(rest);\n\n const itemRef = useRef<HTMLDivElement>(null);\n\n useEffect(() => {\n if (!itemRef.current || !isSelected) {\n return;\n }\n\n const overflow = elementOverflow(\n itemRef.current,\n document.querySelector(\".bn-grid-suggestion-menu\")!,\n );\n\n if (overflow === \"top\") {\n itemRef.current.scrollIntoView(true);\n } else if (overflow === \"bottom\") {\n itemRef.current.scrollIntoView(false);\n }\n }, [isSelected]);\n\n return (\n <div\n className={className}\n ref={mergeRefs([ref, itemRef])}\n id={id}\n role=\"option\"\n onClick={onClick}\n aria-selected={isSelected || undefined}\n >\n {item.icon}\n </div>\n );\n});\n","import { assertEmpty } from \"@blocknote/core\";\nimport { ComponentProps } from \"@blocknote/react\";\nimport { forwardRef } from \"react\";\n\nexport const GridSuggestionMenuLoader = forwardRef<\n HTMLDivElement,\n ComponentProps[\"GridSuggestionMenu\"][\"Loader\"]\n>((props, ref) => {\n const {\n className,\n children, // unused, using \"dots\" instead\n columns,\n ...rest\n } = props;\n\n assertEmpty(rest);\n\n return (\n <div\n className={className}\n style={{ gridColumn: `1 / ${columns + 1}` }}\n ref={ref}\n >\n {children}\n </div>\n );\n});\n","import { Group as AriakitGroup } from \"@ariakit/react\";\n\nimport { assertEmpty, mergeCSSClasses } from \"@blocknote/core\";\nimport { ComponentProps } from \"@blocknote/react\";\nimport { forwardRef } from \"react\";\n\nexport const SuggestionMenu = forwardRef<\n HTMLDivElement,\n ComponentProps[\"SuggestionMenu\"][\"Root\"]\n>((props, ref) => {\n const { className, children, id, ...rest } = props;\n\n assertEmpty(rest);\n\n return (\n <AriakitGroup\n className={mergeCSSClasses(\"bn-ak-menu\", className || \"\")}\n id={id}\n role=\"listbox\"\n ref={ref}\n >\n {children}\n </AriakitGroup>\n );\n});\n","import { assertEmpty, mergeCSSClasses } from \"@blocknote/core\";\nimport { ComponentProps } from \"@blocknote/react\";\nimport { forwardRef } from \"react\";\n\nexport const SuggestionMenuEmptyItem = forwardRef<\n HTMLDivElement,\n ComponentProps[\"SuggestionMenu\"][\"EmptyItem\"]\n>((props, ref) => {\n const { className, children, ...rest } = props;\n\n assertEmpty(rest);\n\n return (\n <div\n className={mergeCSSClasses(\"bn-ak-menu-item\", className || \"\")}\n ref={ref}\n >\n <div className=\"bn-ak-suggestion-menu-item-label\">{children}</div>\n </div>\n );\n});\n","import { assertEmpty, mergeCSSClasses } from \"@blocknote/core\";\nimport { ComponentProps, elementOverflow, mergeRefs } from \"@blocknote/react\";\nimport { forwardRef, useEffect, useRef } from \"react\";\n\nexport const SuggestionMenuItem = forwardRef<\n HTMLDivElement,\n ComponentProps[\"SuggestionMenu\"][\"Item\"]\n>((props, ref) => {\n const { className, item, isSelected, onClick, id, ...rest } = props;\n\n assertEmpty(rest);\n\n const itemRef = useRef<HTMLDivElement>(null);\n\n useEffect(() => {\n if (!itemRef.current || !isSelected) {\n return;\n }\n\n const overflow = elementOverflow(\n itemRef.current,\n document.querySelector(\".bn-suggestion-menu, #ai-suggestion-menu\")!, // TODO\n );\n\n if (overflow === \"top\") {\n itemRef.current.scrollIntoView(true);\n } else if (overflow === \"bottom\") {\n itemRef.current.scrollIntoView(false);\n }\n }, [isSelected]);\n\n return (\n <div\n className={mergeCSSClasses(\"bn-ak-menu-item\", className || \"\")}\n ref={mergeRefs([ref, itemRef])}\n id={id}\n onMouseDown={(event) => event.preventDefault()}\n onClick={onClick}\n role=\"option\"\n aria-selected={isSelected || undefined}\n >\n {item.icon && (\n <div\n className=\"bn-ak-suggestion-menu-item-section\"\n data-position=\"left\"\n >\n {item.icon}\n </div>\n )}\n <div className=\"bn-ak-suggestion-menu-item-body\">\n <div className=\"bn-ak-suggestion-menu-item-title\">{item.title}</div>\n <div className=\"bn-ak-suggestion-menu-item-subtitle\">\n {item.subtext}\n </div>\n </div>\n {item.badge && (\n <div\n data-position=\"right\"\n className=\"bn-ak-suggestion-menu-item-section\"\n >\n <div>{item.badge}</div>\n </div>\n )}\n </div>\n );\n});\n","import { assertEmpty, mergeCSSClasses } from \"@blocknote/core\";\nimport { ComponentProps } from \"@blocknote/react\";\nimport { forwardRef } from \"react\";\n\nexport const SuggestionMenuLabel = forwardRef<\n HTMLDivElement,\n ComponentProps[\"SuggestionMenu\"][\"Label\"]\n>((props, ref) => {\n const { className, children, ...rest } = props;\n\n assertEmpty(rest);\n\n return (\n <div\n className={mergeCSSClasses(\"bn-ak-group-label\", className || \"\")}\n ref={ref}\n >\n {children}\n </div>\n );\n});\n","import { assertEmpty } from \"@blocknote/core\";\nimport { ComponentProps } from \"@blocknote/react\";\nimport { forwardRef } from \"react\";\n\nexport const SuggestionMenuLoader = forwardRef<\n HTMLDivElement,\n ComponentProps[\"SuggestionMenu\"][\"Loader\"]\n>((props, ref) => {\n const { className, ...rest } = props;\n\n assertEmpty(rest);\n\n return (\n <div className={className} ref={ref}>\n {/* Taken from Google Material Icons */}\n {/* https://fonts.google.com/icons?selected=Material+Symbols+Rounded:progress_activity:FILL@0;wght@400;GRAD@0;opsz@24&icon.query=load&icon.size=24&icon.color=%23e8eaed&icon.set=Material+Symbols&icon.style=Rounded&icon.platform=web */}\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n height=\"1em\"\n viewBox=\"0 -960 960 960\"\n width=\"1em\"\n fill=\"#e8eaed\">\n <path d=\"M480-80q-82 0-155-31.5t-127.5-86Q143-252 111.5-325T80-480q0-83 31.5-155.5t86-127Q252-817 325-848.5T480-880q17 0 28.5 11.5T520-840q0 17-11.5 28.5T480-800q-133 0-226.5 93.5T160-480q0 133 93.5 226.5T480-160q133 0 226.5-93.5T800-480q0-17 11.5-28.5T840-520q17 0 28.5 11.5T880-480q0 82-31.5 155t-86 127.5q-54.5 54.5-127 86T480-80Z\" />\n </svg>\n </div>\n );\n});\n","import { Button as AriakitButton } from \"@ariakit/react\";\n\nimport { assertEmpty, mergeCSSClasses } from \"@blocknote/core\";\nimport { ComponentProps } from \"@blocknote/react\";\nimport { forwardRef } from \"react\";\n\nexport const ExtendButton = forwardRef<\n HTMLButtonElement,\n ComponentProps[\"TableHandle\"][\"ExtendButton\"]\n>((props, ref) => {\n const { children, className, onMouseDown, onClick, ...rest } = props;\n\n // false, because rest props can be added by mantine when button is used as a trigger\n // assertEmpty in this case is only used at typescript level, not runtime level\n assertEmpty(rest, false);\n\n return (\n <AriakitButton\n className={mergeCSSClasses(\n \"bn-ak-button bn-ak-secondary\",\n className || \"\",\n )}\n ref={ref}\n onMouseDown={onMouseDown}\n onClick={onClick}\n {...rest}\n >\n {children}\n </AriakitButton>\n );\n});\n","import { Button as AriakitButton } from \"@ariakit/react\";\n\nimport { assertEmpty, mergeCSSClasses } from \"@blocknote/core\";\nimport { ComponentProps } from \"@blocknote/react\";\nimport { forwardRef } from \"react\";\n\nexport const TableHandle = forwardRef<\n HTMLButtonElement,\n ComponentProps[\"TableHandle\"][\"Root\"]\n>((props, ref) => {\n const {\n className,\n children,\n draggable,\n onDragStart,\n onDragEnd,\n style,\n label,\n ...rest\n } = props;\n\n // false, because rest props can be added by ariakit when button is used as a trigger\n // assertEmpty in this case is only used at typescript level, not runtime level\n assertEmpty(rest, false);\n\n return (\n <AriakitButton\n className={mergeCSSClasses(\n \"bn-ak-button bn-ak-secondary\",\n className || \"\",\n )}\n ref={ref}\n aria-label={label}\n draggable={draggable}\n onDragStart={onDragStart}\n onDragEnd={onDragEnd}\n style={style}\n {...rest}\n >\n {children}\n </AriakitButton>\n );\n});\n","import { Toolbar as AriakitToolbar } from \"@ariakit/react\";\n\nimport { assertEmpty, mergeCSSClasses } from \"@blocknote/core\";\nimport { ComponentProps } from \"@blocknote/react\";\nimport { forwardRef } from \"react\";\n\ntype ToolbarProps = ComponentProps[\"Generic\"][\"Toolbar\"][\"Root\"];\n\nexport const Toolbar = forwardRef<HTMLDivElement, ToolbarProps>(\n (props, ref) => {\n const {\n className,\n children,\n onMouseEnter,\n onMouseLeave,\n variant,\n ...rest\n } = props;\n\n assertEmpty(rest);\n\n return (\n <AriakitToolbar\n className={mergeCSSClasses(\"bn-ak-toolbar\", className || \"\")}\n ref={ref}\n onMouseEnter={onMouseEnter}\n onMouseLeave={onMouseLeave}\n >\n {children}\n </AriakitToolbar>\n );\n },\n);\n","import {\n ToolbarItem as AriakitToolbarItem,\n Tooltip as AriakitTooltip,\n TooltipAnchor as AriakitTooltipAnchor,\n TooltipProvider as AriakitTooltipProvider,\n} from \"@ariakit/react\";\n\nimport { assertEmpty, isSafari, mergeCSSClasses } from \"@blocknote/core\";\nimport { ComponentProps } from \"@blocknote/react\";\nimport { forwardRef } from \"react\";\n\ntype ToolbarButtonProps = ComponentProps[\"Generic\"][\"Toolbar\"][\"Button\"];\n\n/**\n * Helper for basic buttons that show in the formatting toolbar.\n */\nexport const ToolbarButton = forwardRef<HTMLButtonElement, ToolbarButtonProps>(\n (props, ref) => {\n const {\n className,\n children,\n mainTooltip,\n secondaryTooltip,\n icon,\n isSelected,\n isDisabled,\n onClick,\n label,\n variant,\n ...rest\n } = props;\n\n // false, because rest props can be added by ariakit when button is used as a trigger\n // assertEmpty in this case is only used at typescript level, not runtime level\n assertEmpty(rest, false);\n\n return (\n <AriakitTooltipProvider>\n <AriakitTooltipAnchor\n render={\n <AriakitToolbarItem\n aria-label={label}\n className={mergeCSSClasses(\n \"bn-ak-button bn-ak-secondary\",\n className || \"\",\n )}\n // Needed as Safari doesn't focus button elements on mouse down\n // unlike other browsers.\n onMouseDown={(e) => {\n if (isSafari()) {\n (e.currentTarget as HTMLButtonElement).focus();\n }\n }}\n onClick={onClick}\n aria-pressed={isSelected}\n data-selected={isSelected ? \"true\" : undefined}\n disabled={isDisabled || false}\n ref={ref}\n {...rest}\n >\n {icon}\n {children}\n </AriakitToolbarItem>\n }\n />\n <AriakitTooltip className=\"bn-ak-tooltip\" portal={false}>\n <span>{mainTooltip}</span>\n {secondaryTooltip && <span>{secondaryTooltip}</span>}\n </AriakitTooltip>\n </AriakitTooltipProvider>\n );\n },\n);\n","import {\n Select as AriakitSelect,\n SelectArrow as AriakitSelectArrow,\n SelectItem as AriakitSelectItem,\n SelectItemCheck as AriakitSelectItemCheck,\n SelectPopover as AriakitSelectPopover,\n SelectProvider as AriakitSelectProvider,\n ToolbarItem as AriakitToolbarItem,\n} from \"@ariakit/react\";\n\nimport { assertEmpty, mergeCSSClasses } from \"@blocknote/core\";\nimport { ComponentProps } from \"@blocknote/react\";\nimport { forwardRef } from \"react\";\n\nexport const ToolbarSelect = forwardRef<\n HTMLDivElement,\n ComponentProps[\"FormattingToolbar\"][\"Select\"]\n>((props, ref) => {\n const { className, items, isDisabled, ...rest } = props;\n\n assertEmpty(rest);\n\n const selectedItem = props.items.filter((p) => p.isSelected)[0];\n\n const setValue = (value: string) => {\n items.find((item) => item.text === value)!.onClick?.();\n };\n\n return (\n <AriakitSelectProvider value={selectedItem.text} setValue={setValue}>\n <AriakitSelect\n className={\"bn-ak-button bn-ak-secondary\"}\n disabled={isDisabled}\n aria-label=\"Text alignment\"\n render={<AriakitToolbarItem />}\n >\n {selectedItem.icon} {selectedItem.text} <AriakitSelectArrow />\n </AriakitSelect>\n <AriakitSelectPopover\n className={mergeCSSClasses(\"bn-ak-popover\", className || \"\")}\n ref={ref}\n gutter={4}\n >\n {items.map((option) => (\n <AriakitSelectItem\n className={\"bn-ak-select-item\"}\n key={option.text}\n value={option.text}\n >\n {option.icon}\n {option.text}\n {option.text === selectedItem.text && <AriakitSelectItemCheck />}\n </AriakitSelectItem>\n ))}\n </AriakitSelectPopover>\n </AriakitSelectProvider>\n );\n});\n","import { Button as AriakitButton, Group as AriakitGroup } from \"@ariakit/react\";\n\nimport { assertEmpty, mergeCSSClasses } from \"@blocknote/core\";\nimport { ComponentProps } from \"@blocknote/react\";\nimport { forwardRef } from \"react\";\n\nexport const Card = forwardRef<\n HTMLDivElement,\n ComponentProps[\"Comments\"][\"Card\"]\n>((props, ref) => {\n const {\n className,\n children,\n selected,\n headerText,\n onFocus,\n onBlur,\n tabIndex,\n ...rest\n } = props;\n\n assertEmpty(rest, false);\n\n return (\n <AriakitGroup\n className={mergeCSSClasses(\n className,\n \"bn-ak-hovercard\",\n selected && \"selected\",\n )}\n onFocus={onFocus}\n onBlur={onBlur}\n tabIndex={tabIndex}\n ref={ref}\n >\n {headerText && <div className={\"bn-header-text\"}>{headerText}</div>}\n {children}\n </AriakitGroup>\n );\n});\n\nexport const CardSection = forwardRef<\n HTMLDivElement,\n ComponentProps[\"Comments\"][\"CardSection\"]\n>((props, ref) => {\n const { className, children, ...rest } = props;\n\n assertEmpty(rest, false);\n\n return (\n <AriakitGroup\n className={mergeCSSClasses(className, \"bn-ak-card-section\")}\n ref={ref}\n >\n {children}\n </AriakitGroup>\n );\n});\n\nexport const ExpandSectionsPrompt = forwardRef<\n HTMLButtonElement,\n ComponentProps[\"Comments\"][\"ExpandSectionsPrompt\"]\n>((props, ref) => {\n const { className, children, ...rest } = props;\n\n assertEmpty(rest, false);\n\n return (\n <AriakitButton\n className={mergeCSSClasses(\n className,\n \"bn-ak-button bn-ak-secondary bn-ak-expand-sections-prompt\",\n )}\n ref={ref}\n >\n {children}\n </AriakitButton>\n );\n});\n","import { Group as AriakitGroup } from \"@ariakit/react\";\n\nimport { assertEmpty } from \"@blocknote/core\";\nimport { ComponentProps, useFocusWithin } from \"@blocknote/react\";\nimport { forwardRef, useState } from \"react\";\n\nconst AuthorInfo = forwardRef<\n HTMLDivElement,\n Pick<\n ComponentProps[\"Comments\"][\"Comment\"],\n \"authorInfo\" | \"timeString\" | \"edited\"\n >\n>((props, _ref) => {\n const { authorInfo, timeString, edited, ...rest } = props;\n\n assertEmpty(rest, false);\n\n if (authorInfo === \"loading\") {\n return (\n <AriakitGroup className={\"bn-ak-author-info\"}>\n <div className={\"bn-ak-avatar bn-ak-skeleton\"} />\n <div className={\"bn-ak-username bn-ak-skeleton\"} />\n </AriakitGroup>\n );\n }\n\n return (\n <AriakitGroup className={\"bn-ak-author-info\"}>\n <img\n src={authorInfo.avatarUrl}\n alt={authorInfo.username}\n className={\"bn-ak-avatar\"}\n />\n <div className={\"bn-ak-username\"}>\n {authorInfo.username}\n <span>\n {timeString} {edited && \"(edited)\"}\n </span>\n </div>\n </AriakitGroup>\n );\n});\n\nexport const Comment = forwardRef<\n HTMLDivElement,\n ComponentProps[\"Comments\"][\"Comment\"]\n>((props, ref) => {\n const {\n className,\n showActions,\n authorInfo,\n timeString,\n actions,\n children,\n edited,\n ...rest\n } = props;\n\n assertEmpty(rest, false);\n\n const [hovered, setHovered] = useState(false);\n const { focused, ref: focusRef } = useFocusWithin();\n\n const doShowActions =\n actions &&\n (showActions === true ||\n showActions === undefined ||\n (showActions === \"hover\" && hovered) ||\n focused);\n\n return (\n <AriakitGroup\n ref={ref}\n className={className}\n onMouseEnter={() => setHovered(true)}\n onMouseLeave={() => setHovered(false)}\n >\n {doShowActions ? (\n <AriakitGroup\n ref={focusRef}\n style={{\n position: \"absolute\",\n right: 0,\n top: 0,\n zIndex: 10,\n }}\n >\n {actions}\n </AriakitGroup>\n ) : null}\n <AuthorInfo {...props} />\n {children}\n </AriakitGroup>\n );\n});\n","import { assertEmpty } from \"@blocknote/core\";\nimport {\n ComponentProps,\n FormattingToolbar,\n FormattingToolbarController,\n getFormattingToolbarItems,\n} from \"@blocknote/react\";\nimport { forwardRef } from \"react\";\nimport { BlockNoteView } from \"../BlockNoteView.js\";\n\nexport const Editor = forwardRef<\n HTMLDivElement,\n ComponentProps[\"Comments\"][\"Editor\"]\n>((props, ref) => {\n const { className, onFocus, onBlur, autoFocus, editor, editable, ...rest } =\n props;\n\n assertEmpty(rest, false);\n\n return (\n <BlockNoteView\n autoFocus={autoFocus}\n className={className}\n editor={props.editor}\n sideMenu={false}\n slashMenu={false}\n tableHandles={false}\n filePanel={false}\n formattingToolbar={false}\n editable={editable}\n ref={ref}\n onFocus={onFocus}\n onBlur={onBlur}\n >\n <FormattingToolbarController\n formattingToolbar={CustomFormattingToolbar}\n />\n </BlockNoteView>\n );\n});\n\nconst CustomFormattingToolbar = () => {\n const items = getFormattingToolbarItems([]).filter(\n (el) => el.key !== \"nestBlockButton\" && el.key !== \"unnestBlockButton\",\n );\n return (\n <FormattingToolbar blockTypeSelectItems={[]}>{items}</FormattingToolbar>\n );\n};\n","import {\n Button as AriakitButton,\n Group as AriakitGroup,\n Tooltip as AriakitTooltip,\n TooltipAnchor as AriakitTooltipAnchor,\n TooltipProvider as AriakitTooltipProvider,\n} from \"@ariakit/react\";\n\nimport { assertEmpty, mergeCSSClasses } from \"@blocknote/core\";\nimport { ComponentProps } from \"@blocknote/react\";\nimport { forwardRef } from \"react\";\n\nexport const Badge = forwardRef<\n HTMLButtonElement,\n ComponentProps[\"Generic\"][\"Badge\"][\"Root\"]\n>((props, ref) => {\n const {\n className,\n text,\n icon,\n isSelected,\n mainTooltip,\n secondaryTooltip,\n onClick,\n onMouseEnter,\n ...rest\n } = props;\n\n assertEmpty(rest, false);\n\n const badge = (\n <AriakitButton\n className={mergeCSSClasses(\n className,\n \"bn-ak-badge bn-ak-button\",\n isSelected && \"bn-ak-primary\",\n )}\n aria-selected={isSelected === true}\n onClick={(event) => onClick?.(event)}\n onMouseEnter={onMouseEnter}\n ref={ref}\n >\n <span>{icon}</span>\n <span>{text}</span>\n </AriakitButton>\n );\n\n if (!mainTooltip) {\n return badge;\n }\n\n return (\n <AriakitTooltipProvider>\n <AriakitTooltipAnchor render={badge} />\n <AriakitTooltip className=\"bn-ak-tooltip\" portal={false}>\n <span>{mainTooltip}</span>\n {secondaryTooltip && <span>{secondaryTooltip}</span>}\n </AriakitTooltip>\n </AriakitTooltipProvider>\n );\n});\n\nexport const BadgeGroup = forwardRef<\n HTMLDivElement,\n ComponentProps[\"Generic\"][\"Badge\"][\"Group\"]\n>((props, ref) => {\n const { className, children, ...rest } = props;\n\n assertEmpty(rest);\n\n return (\n <AriakitGroup\n className={mergeCSSClasses(className, \"bn-ak-badge-group\")}\n ref={ref}\n >\n {children}\n </AriakitGroup>\n );\n});\n","import { Components } from \"@blocknote/react\";\n\nimport { Form } from \"./input/Form.js\";\nimport { TextInput } from \"./input/TextInput.js\";\nimport {\n Menu,\n MenuDivider,\n MenuDropdown,\n MenuItem,\n MenuLabel,\n MenuTrigger,\n} from \"./menu/Menu.js\";\nimport { MenuButton } from \"./menu/Button.js\";\nimport { Panel } from \"./panel/Panel.js\";\nimport { PanelButton } from \"./panel/PanelButton.js\";\nimport { PanelFileInput } from \"./panel/PanelFileInput.js\";\nimport { PanelTab } from \"./panel/PanelTab.js\";\nimport { PanelTextInput } from \"./panel/PanelTextInput.js\";\nimport { Popover, PopoverContent, PopoverTrigger } from \"./popover/Popover.js\";\nimport { SideMenu } from \"./sideMenu/SideMenu.js\";\nimport { SideMenuButton } from \"./sideMenu/SideMenuButton.js\";\nimport { GridSuggestionMenu } from \"./suggestionMenu/gridSuggestionMenu/GridSuggestionMenu.js\";\nimport { GridSuggestionMenuEmptyItem } from \"./suggestionMenu/gridSuggestionMenu/GridSuggestionMenuEmptyItem.js\";\nimport { GridSuggestionMenuItem } from \"./suggestionMenu/gridSuggestionMenu/GridSuggestionMenuItem.js\";\nimport { GridSuggestionMenuLoader } from \"./suggestionMenu/gridSuggestionMenu/GridSuggestionMenuLoader.js\";\nimport { SuggestionMenu } from \"./suggestionMenu/SuggestionMenu.js\";\nimport { SuggestionMenuEmptyItem } from \"./suggestionMenu/SuggestionMenuEmptyItem.js\";\nimport { SuggestionMenuItem } from \"./suggestionMenu/SuggestionMenuItem.js\";\nimport { SuggestionMenuLabel } from \"./suggestionMenu/SuggestionMenuLabel.js\";\nimport { SuggestionMenuLoader } from \"./suggestionMenu/SuggestionMenuLoader.js\";\nimport { ExtendButton } from \"./tableHandle/ExtendButton.js\";\nimport { TableHandle } from \"./tableHandle/TableHandle.js\";\nimport { Toolbar } from \"./toolbar/Toolbar.js\";\nimport { ToolbarButton } from \"./toolbar/ToolbarButton.js\";\nimport { ToolbarSelect } from \"./toolbar/ToolbarSelect.js\";\nimport { Card, CardSection, ExpandSectionsPrompt } from \"./comments/Card.js\";\nimport { Comment } from \"./comments/Comment.js\";\nimport { Editor } from \"./comments/Editor.js\";\nimport { Badge, BadgeGroup } from \"./badge/Badge.js\";\n\nexport const components: Components = {\n FormattingToolbar: {\n Root: Toolbar,\n Button: ToolbarButton,\n Select: ToolbarSelect,\n },\n FilePanel: {\n Root: Panel,\n Button: PanelButton,\n FileInput: PanelFileInput,\n TabPanel: PanelTab,\n TextInput: PanelTextInput,\n },\n GridSuggestionMenu: {\n Root: GridSuggestionMenu,\n Item: GridSuggestionMenuItem,\n EmptyItem: GridSuggestionMenuEmptyItem,\n Loader: GridSuggestionMenuLoader,\n },\n LinkToolbar: {\n Root: Toolbar,\n Button: ToolbarButton,\n Select: ToolbarSelect,\n },\n SideMenu: {\n Root: SideMenu,\n Button: SideMenuButton,\n },\n SuggestionMenu: {\n Root: SuggestionMenu,\n Item: SuggestionMenuItem,\n EmptyItem: SuggestionMenuEmptyItem,\n Label: SuggestionMenuLabel,\n Loader: SuggestionMenuLoader,\n },\n TableHandle: {\n Root: TableHandle,\n ExtendButton: ExtendButton,\n },\n Comments: {\n Comment: Comment,\n Editor: Editor,\n Card: Card,\n CardSection: CardSection,\n ExpandSectionsPrompt: ExpandSectionsPrompt,\n },\n Generic: {\n Badge: {\n Root: Badge,\n Group: BadgeGroup,\n },\n Toolbar: {\n Root: Toolbar,\n Button: ToolbarButton,\n Select: ToolbarSelect,\n },\n Form: {\n Root: Form,\n TextInput: TextInput,\n },\n Menu: {\n Root: Menu,\n Trigger: MenuTrigger,\n Dropdown: MenuDropdown,\n Divider: MenuDivider,\n Label: MenuLabel,\n Item: MenuItem,\n Button: MenuButton,\n },\n Popover: {\n Root: Popover,\n Trigger: PopoverTrigger,\n Content: PopoverContent,\n },\n },\n};\n","import {\n BlockSchema,\n InlineContentSchema,\n mergeCSSClasses,\n StyleSchema,\n} from \"@blocknote/core\";\nimport {\n BlockNoteViewProps,\n BlockNoteViewRaw,\n ComponentsContext,\n} from \"@blocknote/react\";\nimport { components } from \"./components.js\";\n\nexport const BlockNoteView = <\n BSchema extends BlockSchema,\n ISchema extends InlineContentSchema,\n SSchema extends StyleSchema,\n>(\n props: BlockNoteViewProps<BSchema, ISchema, SSchema>,\n) => {\n const { className, ...rest } = props;\n\n return (\n <ComponentsContext.Provider value={components}>\n <BlockNoteViewRaw\n className={mergeCSSClasses(\"bn-ariakit\", className || \"\")}\n {...rest}\n />\n </ComponentsContext.Provider>\n );\n};\n"],"names":["Form","props","children","rest","assertEmpty","jsx","AriakitFormProvider","TextInput","forwardRef","ref","className","name","label","variant","icon","value","autoFocus","placeholder","disabled","onKeyDown","onChange","onSubmit","autoComplete","rightSection","jsxs","Fragment","AriakitFormLabel","AriakitFormInput","mergeCSSClasses","Menu","onOpenChange","position","sub","AriakitMenuProvider","MenuDropdown","AriakitMenu","MenuItem","checked","subTrigger","onClick","AriakitMenuButton","AriakitMenuItem","AriakitMenuButtonArrow","AriakitCheckboxCheck","MenuLabel","AriakitMenuGroupLabel","MenuTrigger","MenuDivider","AriakitMenuSeparator","MenuButton","onDragEnd","onDragStart","draggable","AriakitButton","Panel","tabs","defaultOpenTab","openTab","setOpenTab","loading","AriakitTabProvider","activeId","AriakitTabList","tab","AriakitTab","AriakitTabPanel","PanelButton","PanelFileInput","accept","e","PanelTab","PanelTextInput","PopoverTrigger","AriakitPopoverDisclosure","PopoverContent","AriakitPopover","Popover","opened","AriakitPopoverProvider","SideMenu","AriakitGroup","SideMenuButton","GridSuggestionMenu","id","columns","GridSuggestionMenuEmptyItem","GridSuggestionMenuItem","isSelected","item","itemRef","useRef","useEffect","overflow","elementOverflow","mergeRefs","GridSuggestionMenuLoader","SuggestionMenu","SuggestionMenuEmptyItem","SuggestionMenuItem","event","SuggestionMenuLabel","SuggestionMenuLoader","ExtendButton","onMouseDown","TableHandle","style","Toolbar","onMouseEnter","onMouseLeave","AriakitToolbar","ToolbarButton","mainTooltip","secondaryTooltip","isDisabled","AriakitTooltipProvider","AriakitTooltipAnchor","AriakitToolbarItem","isSafari","AriakitTooltip","ToolbarSelect","items","selectedItem","p","setValue","_b","_a","AriakitSelectProvider","AriakitSelect","AriakitSelectArrow","AriakitSelectPopover","option","AriakitSelectItem","AriakitSelectItemCheck","Card","selected","headerText","onFocus","onBlur","tabIndex","CardSection","ExpandSectionsPrompt","AuthorInfo","_ref","authorInfo","timeString","edited","Comment","showActions","actions","hovered","setHovered","useState","focused","focusRef","useFocusWithin","doShowActions","Editor","editor","editable","BlockNoteView","FormattingToolbarController","CustomFormattingToolbar","getFormattingToolbarItems","el","FormattingToolbar","Badge","text","badge","BadgeGroup","components","ComponentsContext","BlockNoteViewRaw"],"mappings":"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"}
|