@blocknote/ariakit 0.35.0 → 0.36.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/LICENSE CHANGED
@@ -370,4 +370,4 @@ Exhibit B - "Incompatible With Secondary Licenses" Notice
370
370
  ---------------------------------------------------------
371
371
 
372
372
  This Source Code Form is "Incompatible With Secondary Licenses", as
373
- defined by the Mozilla Public License, v. 2.0.
373
+ defined by the Mozilla Public License, v. 2.0.
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("react/jsx-runtime"),o=require("@blocknote/core"),f=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:i,value:b,autoFocus:d,placeholder:u,disabled:p,onKeyDown:g,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:[i,e.jsx(c.FormInput,{className:o.mergeCSSClasses("bn-ak-input",n||"",l==="large"?"bn-ak-input-large":""),ref:r,name:s,value:b,autoFocus:d,placeholder:u,disabled:p,onKeyDown:g,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:i,onClick:b,...d}=t;return o.assertEmpty(d),i?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:i,onDragEnd:b,onDragStart:d,draggable:u,...p}=t;return o.assertEmpty(p,!1),e.jsxs(c.Button,{onDragEnd:b,onDragStart:d,draggable:u,"aria-label":i,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:i,loading:b,...d}=t;return o.assertEmpty(d),e.jsx("div",{className:o.mergeCSSClasses("bn-ak-wrapper",n||""),ref:r,children:e.jsxs(c.TabProvider,{defaultSelectedId:a,selectedId:l,setActiveId:u=>{u&&i(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,...i}=t;return o.assertEmpty(i),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:i,...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 d=>i==null?void 0:i(d.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:i,...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:i,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})}),$=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})}),H=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:i,onDragEnd:b,onDragStart:d,draggable:u,...p}=t;return o.assertEmpty(p,!1),e.jsxs(c.Button,{onDragEnd:b,onDragStart:d,draggable:u,"aria-label":i,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,...i}=t;return o.assertEmpty(i),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:i,...b}=t;o.assertEmpty(b);const d=m.useRef(null);return m.useEffect(()=>{if(!d.current||!s)return;const u=f.elementOverflow(d.current,document.querySelector(".bn-grid-suggestion-menu"));u==="top"?d.current.scrollIntoView(!0):u==="bottom"&&d.current.scrollIntoView(!1)},[s]),e.jsx("div",{className:n,ref:f.mergeRefs([r,d]),id:i,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:i,...b}=t;o.assertEmpty(b);const d=m.useRef(null);return m.useEffect(()=>{if(!d.current||!a)return;const u=f.elementOverflow(d.current,document.querySelector(".bn-suggestion-menu, #ai-suggestion-menu"));u==="top"?d.current.scrollIntoView(!0):u==="bottom"&&d.current.scrollIntoView(!1)},[a]),e.jsxs("div",{className:o.mergeCSSClasses("bn-ak-menu-item",n||""),ref:f.mergeRefs([r,d]),id:i,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,...i}=t;return o.assertEmpty(i,!1),e.jsx(c.Button,{className:o.mergeCSSClasses("bn-ak-button bn-ak-secondary",s||""),ref:r,onMouseDown:a,onClick:l,...i,children:n})}),te=m.forwardRef((t,r)=>{const{className:n,children:s,draggable:a,onDragStart:l,onDragEnd:i,style:b,label:d,...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":d,draggable:a,onDragStart:l,onDragEnd:i,style:b,...u,children:s})}),j=m.forwardRef((t,r)=>{const{className:n,children:s,onMouseEnter:a,onMouseLeave:l,variant:i,...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:i,isSelected:b,isDisabled:d,onClick:u,label:p,variant:g,...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:d||!1,ref:r,...x,children:[i,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 i=t.items.filter(d=>d.isSelected)[0],b=d=>{var u,p;(p=(u=s.find(g=>g.text===d)).onClick)==null||p.call(u)};return e.jsxs(c.SelectProvider,{value:i.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:[i.icon," ",i.text," ",e.jsx(c.SelectArrow,{})]}),e.jsx(c.SelectPopover,{className:o.mergeCSSClasses("bn-ak-popover",n||""),ref:r,gutter:4,children:s.map(d=>e.jsxs(c.SelectItem,{className:"bn-ak-select-item",value:d.text,children:[d.icon,d.text,d.text===i.text&&e.jsx(c.SelectItemCheck,{})]},d.text))})]})}),re=m.forwardRef((t,r)=>{const{className:n,children:s,selected:a,headerText:l,onFocus:i,onBlur:b,tabIndex:d,...u}=t;return o.assertEmpty(u,!1),e.jsxs(c.Group,{className:o.mergeCSSClasses(n,"bn-ak-hovercard",a&&"selected"),onFocus:i,onBlur:b,tabIndex:d,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,i=f.useDictionary();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&&`(${i.comments.edited})`]})]})]})}),le=m.forwardRef((t,r)=>{const{className:n,showActions:s,authorInfo:a,timeString:l,actions:i,children:b,edited:d,...u}=t;o.assertEmpty(u,!1);const[p,g]=m.useState(!1),{focused:x,ref:h}=f.useFocusWithin(),S=i&&(s===!0||s===void 0||s==="hover"&&p||x);return e.jsxs(c.Group,{ref:r,className:n,onMouseEnter:()=>g(!0),onMouseLeave:()=>g(!1),children:[S?e.jsx(c.Group,{ref:h,style:{position:"absolute",right:0,top:0,zIndex:10},children:i}):null,e.jsx(oe,{...t}),b]})}),ce=m.forwardRef((t,r)=>{const{className:n,onFocus:s,onBlur:a,autoFocus:l,editor:i,editable:b,...d}=t;return o.assertEmpty(d,!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(f.FormattingToolbarController,{formattingToolbar:ie})})}),ie=()=>{const t=f.getFormattingToolbarItems([]).filter(r=>r.key!=="nestBlockButton"&&r.key!=="unnestBlockButton");return e.jsx(f.FormattingToolbar,{blockTypeSelectItems:[],children:t})},de=m.forwardRef((t,r)=>{const{className:n,text:s,icon:a,isSelected:l,mainTooltip:i,secondaryTooltip:b,onClick:d,onMouseEnter:u,...p}=t;o.assertEmpty(p,!1);const g=e.jsxs(c.Button,{className:o.mergeCSSClasses(n,"bn-ak-badge bn-ak-button",l&&"bn-ak-primary"),"aria-selected":l===!0,onClick:x=>d==null?void 0:d(x),onMouseEnter:u,ref:r,children:[e.jsx("span",{children:a}),e.jsx("span",{children:s})]});return i?e.jsxs(c.TooltipProvider,{children:[e.jsx(c.TooltipAnchor,{render:g}),e.jsxs(c.Tooltip,{className:"bn-ak-tooltip",portal:!1,children:[e.jsx("span",{children:i}),b&&e.jsx("span",{children:b})]})]}):g}),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:H,Trigger:V,Content:$}}},v=t=>{const{className:r,...n}=t;return e.jsx(f.ComponentsContext.Provider,{value:C,children:e.jsx(f.BlockNoteViewRaw,{className:o.mergeCSSClasses("bn-ariakit",r||""),...n})})};exports.BlockNoteView=v;exports.components=C;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("react/jsx-runtime"),o=require("@blocknote/core"),f=require("@blocknote/react"),c=require("@ariakit/react"),u=require("react"),T=t=>{const{children:r,...n}=t;return o.assertEmpty(n),e.jsx(c.FormProvider,{children:r})},R=u.forwardRef((t,r)=>{const{className:n,name:s,label:a,variant:l,icon:i,value:b,autoFocus:d,placeholder:m,disabled:p,onKeyDown:g,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:[i,e.jsx(c.FormInput,{className:o.mergeCSSClasses("bn-ak-input",n||"",l==="large"?"bn-ak-input-large":""),ref:r,name:s,value:b,autoFocus:d,placeholder:m,disabled:p,onKeyDown:g,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=u.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=u.forwardRef((t,r)=>{const{className:n,children:s,icon:a,checked:l,subTrigger:i,onClick:b,...d}=t;return o.assertEmpty(d),i?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=u.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=u.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=u.forwardRef((t,r)=>{const{className:n,children:s,icon:a,onClick:l,label:i,onDragEnd:b,onDragStart:d,draggable:m,...p}=t;return o.assertEmpty(p,!1),e.jsxs(c.Button,{onDragEnd:b,onDragStart:d,draggable:m,"aria-label":i,className:o.mergeCSSClasses("bn-ak-button bn-ak-secondary",n||""),ref:r,onClick:l,...p,children:[a,s]})}),q=u.forwardRef((t,r)=>{const{className:n,tabs:s,defaultOpenTab:a,openTab:l,setOpenTab:i,loading:b,...d}=t;return o.assertEmpty(d),e.jsx("div",{className:o.mergeCSSClasses("bn-ak-wrapper",n||""),ref:r,children:e.jsxs(c.TabProvider,{defaultSelectedId:a,selectedId:l,setActiveId:m=>{m&&i(m)},children:[e.jsx(c.TabList,{className:"bn-ak-tab-list",children:s.map(m=>e.jsx(c.Tab,{className:"bn-ak-tab",id:m.name,children:m.name},m.name))}),e.jsx("div",{className:"bn-ak-panels",children:s.map(m=>e.jsx(c.TabPanel,{tabId:m.name,children:m.tabPanel},m.name))})]})})}),G=u.forwardRef((t,r)=>{const{className:n,children:s,onClick:a,label:l,...i}=t;return o.assertEmpty(i),e.jsx(c.Button,{className:o.mergeCSSClasses("bn-ak-button",n||""),onClick:a,"aria-label":l,ref:r,children:s})}),L=u.forwardRef((t,r)=>{const{className:n,accept:s,value:a,placeholder:l,onChange:i,...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 d=>i==null?void 0:i(d.target.files[0]),placeholder:l})})}),A=u.forwardRef((t,r)=>{const{className:n,children:s,...a}=t;return o.assertEmpty(a),e.jsx("div",{className:n,ref:r,children:s})}),O=u.forwardRef((t,r)=>{const{className:n,value:s,placeholder:a,onKeyDown:l,onChange:i,...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:i,onKeyDown:l,"data-test":"embed-input",ref:r})})}),V=u.forwardRef((t,r)=>{const{children:n,...s}=t;return o.assertEmpty(s),e.jsx(c.PopoverDisclosure,{render:n,ref:r})}),$=u.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})}),H=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=u.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=u.forwardRef((t,r)=>{const{className:n,children:s,icon:a,onClick:l,label:i,onDragEnd:b,onDragStart:d,draggable:m,...p}=t;return o.assertEmpty(p,!1),e.jsxs(c.Button,{onDragEnd:b,onDragStart:d,draggable:m,"aria-label":i,className:o.mergeCSSClasses("bn-ak-button bn-ak-secondary",n||""),ref:r,onClick:l,...p,children:[a,s]})}),z=u.forwardRef((t,r)=>{const{className:n,children:s,id:a,columns:l,...i}=t;return o.assertEmpty(i),e.jsx("div",{className:n,style:{gridTemplateColumns:`repeat(${l}, 1fr)`},ref:r,id:a,role:"grid",children:s})}),U=u.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=u.forwardRef((t,r)=>{const{className:n,isSelected:s,onClick:a,item:l,id:i,...b}=t;o.assertEmpty(b);const d=u.useRef(null);return u.useEffect(()=>{if(!d.current||!s)return;const m=f.elementOverflow(d.current,document.querySelector(".bn-grid-suggestion-menu"));m==="top"?d.current.scrollIntoView(!0):m==="bottom"&&d.current.scrollIntoView(!1)},[s]),e.jsx("div",{className:n,ref:f.mergeRefs([r,d]),id:i,role:"option",onClick:a,"aria-selected":s||void 0,children:l.icon})}),Z=u.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})}),_=u.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=u.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=u.forwardRef((t,r)=>{const{className:n,item:s,isSelected:a,onClick:l,id:i,...b}=t;o.assertEmpty(b);const d=u.useRef(null);return u.useEffect(()=>{if(!d.current||!a)return;const m=f.elementOverflow(d.current,document.querySelector(".bn-suggestion-menu, #ai-suggestion-menu"));m==="top"?d.current.scrollIntoView(!0):m==="bottom"&&d.current.scrollIntoView(!1)},[a]),e.jsxs("div",{className:o.mergeCSSClasses("bn-ak-menu-item",n||""),ref:f.mergeRefs([r,d]),id:i,onMouseDown:m=>m.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=u.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=u.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=u.forwardRef((t,r)=>{const{children:n,className:s,onMouseDown:a,onClick:l,...i}=t;return o.assertEmpty(i,!1),e.jsx(c.Button,{className:o.mergeCSSClasses("bn-ak-button bn-ak-secondary",s||""),ref:r,onMouseDown:a,onClick:l,...i,children:n})}),te=u.forwardRef((t,r)=>{const{className:n,children:s,draggable:a,onDragStart:l,onDragEnd:i,style:b,label:d,...m}=t;return o.assertEmpty(m,!1),e.jsx(c.Button,{className:o.mergeCSSClasses("bn-ak-button bn-ak-secondary",n||""),ref:r,"aria-label":d,draggable:a,onDragStart:l,onDragEnd:i,style:b,...m,children:s})}),j=u.forwardRef((t,r)=>{const{className:n,children:s,onMouseEnter:a,onMouseLeave:l,variant:i,...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=u.forwardRef((t,r)=>{const{className:n,children:s,mainTooltip:a,secondaryTooltip:l,icon:i,isSelected:b,isDisabled:d,onClick:m,label:p,variant:g,...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:m,"aria-pressed":b,"data-selected":b?"true":void 0,disabled:d||!1,ref:r,...x,children:[i,s]})}),e.jsxs(c.Tooltip,{className:"bn-ak-tooltip",portal:!1,children:[e.jsx("span",{children:a}),l&&e.jsx("span",{children:l})]})]})}),N=u.forwardRef((t,r)=>{const{className:n,items:s,isDisabled:a,...l}=t;o.assertEmpty(l);const i=t.items.filter(d=>d.isSelected)[0],b=d=>{var m,p;(p=(m=s.find(g=>g.text===d)).onClick)==null||p.call(m)};return e.jsxs(c.SelectProvider,{value:i.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:[i.icon," ",i.text," ",e.jsx(c.SelectArrow,{})]}),e.jsx(c.SelectPopover,{className:o.mergeCSSClasses("bn-ak-popover",n||""),ref:r,gutter:4,children:s.map(d=>e.jsxs(c.SelectItem,{className:"bn-ak-select-item",value:d.text,children:[d.icon,d.text,d.text===i.text&&e.jsx(c.SelectItemCheck,{})]},d.text))})]})}),re=u.forwardRef((t,r)=>{const{className:n,children:s,selected:a,headerText:l,onFocus:i,onBlur:b,tabIndex:d,...m}=t;return o.assertEmpty(m,!1),e.jsxs(c.Group,{className:o.mergeCSSClasses(n,"bn-ak-hovercard",a&&"selected"),onFocus:i,onBlur:b,tabIndex:d,ref:r,children:[l&&e.jsx("div",{className:"bn-header-text",children:l}),s]})}),ne=u.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=u.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=u.forwardRef((t,r)=>{const{authorInfo:n,timeString:s,edited:a,...l}=t,i=f.useDictionary();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&&`(${i.comments.edited})`]})]})]})}),le=u.forwardRef((t,r)=>{const{className:n,showActions:s,authorInfo:a,timeString:l,actions:i,children:b,edited:d,...m}=t;o.assertEmpty(m,!1);const[p,g]=u.useState(!1),{focused:x,ref:h}=f.useFocusWithin(),S=i&&(s===!0||s===void 0||s==="hover"&&p||x);return e.jsxs(c.Group,{ref:r,className:n,onMouseEnter:()=>g(!0),onMouseLeave:()=>g(!1),children:[S?e.jsx(c.Group,{ref:h,style:{position:"absolute",right:0,top:0,zIndex:10},children:i}):null,e.jsx(oe,{...t}),b]})}),ce=u.forwardRef((t,r)=>{const{className:n,onFocus:s,onBlur:a,autoFocus:l,editor:i,editable:b,...d}=t;o.assertEmpty(d,!1);const m=f.useBlockNoteContext();return e.jsx(v,{autoFocus:l,className:n,editor:t.editor,sideMenu:!1,slashMenu:!1,tableHandles:!1,filePanel:!1,formattingToolbar:!1,editable:b,theme:m==null?void 0:m.colorSchemePreference,ref:r,onFocus:s,onBlur:a,children:e.jsx(f.FormattingToolbarController,{formattingToolbar:ie})})}),ie=()=>{const t=f.getFormattingToolbarItems([]).filter(r=>r.key!=="nestBlockButton"&&r.key!=="unnestBlockButton");return e.jsx(f.FormattingToolbar,{blockTypeSelectItems:[],children:t})},de=u.forwardRef((t,r)=>{const{className:n,text:s,icon:a,isSelected:l,mainTooltip:i,secondaryTooltip:b,onClick:d,onMouseEnter:m,...p}=t;o.assertEmpty(p,!1);const g=e.jsxs(c.Button,{className:o.mergeCSSClasses(n,"bn-ak-badge bn-ak-button",l&&"bn-ak-primary"),"aria-selected":l===!0,onClick:x=>d==null?void 0:d(x),onMouseEnter:m,ref:r,children:[e.jsx("span",{children:a}),e.jsx("span",{children:s})]});return i?e.jsxs(c.TooltipProvider,{children:[e.jsx(c.TooltipAnchor,{render:g}),e.jsxs(c.Tooltip,{className:"bn-ak-tooltip",portal:!1,children:[e.jsx("span",{children:i}),b&&e.jsx("span",{children:b})]})]}):g}),me=u.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:H,Trigger:V,Content:$}}},v=t=>{const{className:r,...n}=t;return e.jsx(f.ComponentsContext.Provider,{value:C,children:e.jsx(f.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 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 {\n ComponentProps,\n useDictionary,\n useFocusWithin,\n} 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 const dict = useDictionary();\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 && `(${dict.comments.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 { BlockNoteViewRaw, ComponentsContext } 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: React.ComponentProps<\n typeof BlockNoteViewRaw<BSchema, ISchema, SSchema>\n >,\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","dict","useDictionary","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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"}
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 {\n ComponentProps,\n useDictionary,\n useFocusWithin,\n} 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 const dict = useDictionary();\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 && `(${dict.comments.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 useBlockNoteContext,\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 const blockNoteContext = useBlockNoteContext();\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 theme={blockNoteContext?.colorSchemePreference}\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 { BlockNoteViewRaw, ComponentsContext } 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: React.ComponentProps<\n typeof BlockNoteViewRaw<BSchema, ISchema, SSchema>\n >,\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","dict","useDictionary","Comment","showActions","actions","hovered","setHovered","useState","focused","focusRef","useFocusWithin","doShowActions","Editor","editor","editable","blockNoteContext","useBlockNoteContext","BlockNoteView","FormattingToolbarController","CustomFormattingToolbar","getFormattingToolbarItems","el","FormattingToolbar","Badge","text","badge","BadgeGroup","components","ComponentsContext","BlockNoteViewRaw"],"mappings":"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"}