@blocknote/ariakit 0.24.2 → 0.25.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.
@@ -0,0 +1,2 @@
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("react/jsx-runtime"),o=require("@blocknote/core"),p=require("@blocknote/react"),l=require("@ariakit/react"),u=require("react"),C=t=>{const{children:r,...n}=t;return o.assertEmpty(n),e.jsx(l.FormProvider,{children:r})},v=u.forwardRef((t,r)=>{const{className:n,name:s,label:a,icon:c,value:i,autoFocus:b,placeholder:m,onKeyDown:d,onChange:f,onSubmit:g,...x}=t;return o.assertEmpty(x),e.jsxs(e.Fragment,{children:[t.label&&e.jsx(l.FormLabel,{name:s,children:a}),e.jsxs("div",{className:"bn-ak-input-wrapper",children:[c,e.jsx(l.FormInput,{className:o.mergeCSSClasses("bn-ak-input",n||""),ref:r,name:s,value:i,autoFocus:b,placeholder:m,onKeyDown:d,onChange:f,onSubmit:g})]})]})}),y=t=>{const{children:r,onOpenChange:n,position:s,sub:a,...c}=t;return o.assertEmpty(c),e.jsx(l.MenuProvider,{placement:s,setOpen:n,virtualFocus:!0,children:r})},w=u.forwardRef((t,r)=>{const{className:n,children:s,sub:a,...c}=t;return o.assertEmpty(c),e.jsx(l.Menu,{unmountOnHide:!0,className:o.mergeCSSClasses("bn-ak-menu",n||""),ref:r,children:s})}),R=u.forwardRef((t,r)=>{const{className:n,children:s,icon:a,checked:c,subTrigger:i,onClick:b,...m}=t;return o.assertEmpty(m),i?e.jsxs(l.MenuButton,{render:e.jsx(l.MenuItem,{}),className:o.mergeCSSClasses("bn-ak-menu-item",n||""),ref:r,onClick:b,children:[a,s,e.jsx(l.MenuButtonArrow,{}),c!==void 0&&e.jsx(l.CheckboxCheck,{checked:c})]}):e.jsxs(l.MenuItem,{className:o.mergeCSSClasses("bn-ak-menu-item",n||""),ref:r,onClick:b,children:[a,s,c!==void 0&&e.jsx(l.CheckboxCheck,{checked:c})]})}),E=u.forwardRef((t,r)=>{const{className:n,children:s,...a}=t;return o.assertEmpty(a),e.jsx(l.MenuGroupLabel,{className:o.mergeCSSClasses("bn-ak-group-label",n||""),ref:r,children:s})}),T=t=>{const{children:r,sub:n,...s}=t;return o.assertEmpty(s),n?r:e.jsx(l.MenuButton,{render:r})},M=u.forwardRef((t,r)=>{const{className:n,...s}=t;return o.assertEmpty(s),e.jsx(l.MenuSeparator,{className:o.mergeCSSClasses("bn-ak-separator",n||""),ref:r})}),I=u.forwardRef((t,r)=>{const{className:n,children:s,icon:a,onClick:c,label:i,onDragEnd:b,onDragStart:m,draggable:d,...f}=t;return o.assertEmpty(f,!1),e.jsxs(l.Button,{onDragEnd:b,onDragStart:m,draggable:d,"aria-label":i,className:o.mergeCSSClasses("bn-ak-button bn-ak-secondary",n||""),ref:r,onClick:c,...f,children:[a,s]})}),B=u.forwardRef((t,r)=>{const{className:n,tabs:s,defaultOpenTab:a,openTab:c,setOpenTab:i,loading:b,...m}=t;return o.assertEmpty(m),e.jsx("div",{className:o.mergeCSSClasses("bn-ak-wrapper",n||""),ref:r,children:e.jsxs(l.TabProvider,{defaultSelectedId:a,selectedId:c,setActiveId:d=>{d&&i(d)},children:[e.jsx(l.TabList,{className:"bn-ak-tab-list",children:s.map(d=>e.jsx(l.Tab,{className:"bn-ak-tab",id:d.name,children:d.name},d.name))}),e.jsx("div",{className:"bn-ak-panels",children:s.map(d=>e.jsx(l.TabPanel,{tabId:d.name,children:d.tabPanel},d.name))})]})})}),P=u.forwardRef((t,r)=>{const{className:n,children:s,onClick:a,label:c,...i}=t;return o.assertEmpty(i),e.jsx(l.Button,{className:o.mergeCSSClasses("bn-ak-button",n||""),onClick:a,"aria-label":c,ref:r,children:s})}),F=u.forwardRef((t,r)=>{const{className:n,accept:s,value:a,placeholder:c,onChange:i,...b}=t;return o.assertEmpty(b),e.jsx(l.FormProvider,{children:e.jsx(l.FormInput,{className:n,ref:r,name:"panel-input",type:"file",accept:s,value:a?a.name:void 0,onChange:async m=>i==null?void 0:i(m.target.files[0]),placeholder:c})})}),G=u.forwardRef((t,r)=>{const{className:n,children:s,...a}=t;return o.assertEmpty(a),e.jsx("div",{className:n,ref:r,children:s})}),D=u.forwardRef((t,r)=>{const{className:n,value:s,placeholder:a,onKeyDown:c,onChange:i,...b}=t;return o.assertEmpty(b),e.jsx(l.FormProvider,{children:e.jsx(l.FormInput,{className:o.mergeCSSClasses("bn-ak-input",n||""),name:"panel-input",value:s,placeholder:a,onChange:i,onKeyDown:c,"data-test":"embed-input",ref:r})})}),L=u.forwardRef((t,r)=>{const{children:n,...s}=t;return o.assertEmpty(s),e.jsx(l.PopoverDisclosure,{render:n,ref:r})}),A=u.forwardRef((t,r)=>{const{className:n,children:s,variant:a,...c}=t;return o.assertEmpty(c),e.jsx(l.Popover,{className:o.mergeCSSClasses("bn-ak-popover",n||"",a==="panel-popover"?"bn-ak-panel-popover":""),ref:r,children:s})}),O=t=>{const{children:r,opened:n,position:s,...a}=t;return o.assertEmpty(a),e.jsx(l.PopoverProvider,{open:n,placement:s,children:r})},V=u.forwardRef((t,r)=>{const{className:n,children:s,...a}=t;return o.assertEmpty(a,!1),e.jsx(l.Group,{className:n,ref:r,...a,children:s})}),q=u.forwardRef((t,r)=>{const{className:n,children:s,icon:a,onClick:c,label:i,onDragEnd:b,onDragStart:m,draggable:d,...f}=t;return o.assertEmpty(f,!1),e.jsxs(l.Button,{onDragEnd:b,onDragStart:m,draggable:d,"aria-label":i,className:o.mergeCSSClasses("bn-ak-button bn-ak-secondary",n||""),ref:r,onClick:c,...f,children:[a,s]})}),H=u.forwardRef((t,r)=>{const{className:n,children:s,id:a,columns:c,...i}=t;return o.assertEmpty(i),e.jsx("div",{className:n,style:{gridTemplateColumns:`repeat(${c}, 1fr)`},ref:r,id:a,role:"grid",children:s})}),$=u.forwardRef((t,r)=>{const{className:n,children:s,columns:a,...c}=t;return o.assertEmpty(c),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})})}),K=u.forwardRef((t,r)=>{const{className:n,isSelected:s,onClick:a,item:c,id:i,...b}=t;o.assertEmpty(b);const m=u.useRef(null);return u.useEffect(()=>{if(!m.current||!s)return;const d=p.elementOverflow(m.current,document.querySelector(".bn-grid-suggestion-menu"));d==="top"?m.current.scrollIntoView(!0):d==="bottom"&&m.current.scrollIntoView(!1)},[s]),e.jsx("div",{className:n,ref:p.mergeRefs([r,m]),id:i,role:"option",onClick:a,"aria-selected":s||void 0,children:c.icon})}),z=u.forwardRef((t,r)=>{const{className:n,children:s,columns:a,...c}=t;return o.assertEmpty(c),e.jsx("div",{className:n,style:{gridColumn:`1 / ${a+1}`},ref:r,children:s})}),U=u.forwardRef((t,r)=>{const{className:n,children:s,id:a,...c}=t;return o.assertEmpty(c),e.jsx(l.Group,{className:o.mergeCSSClasses("bn-ak-menu",n||""),id:a,role:"listbox",ref:r,children:s})}),W=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})})}),_=u.forwardRef((t,r)=>{const{className:n,item:s,isSelected:a,onClick:c,id:i,...b}=t;o.assertEmpty(b);const m=u.useRef(null);return u.useEffect(()=>{if(!m.current||!a)return;const d=p.elementOverflow(m.current,document.querySelector(".bn-suggestion-menu"));d==="top"?m.current.scrollIntoView(!0):d==="bottom"&&m.current.scrollIntoView(!1)},[a]),e.jsxs("div",{className:o.mergeCSSClasses("bn-ak-menu-item",n||""),ref:p.mergeRefs([r,m]),id:i,onClick:c,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})})]})}),J=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})}),Q=u.forwardRef((t,r)=>{const{className:n,children:s,...a}=t;return o.assertEmpty(a),e.jsx("div",{className:n,ref:r,children:s})}),X=u.forwardRef((t,r)=>{const{children:n,className:s,onMouseDown:a,onClick:c,...i}=t;return o.assertEmpty(i,!1),e.jsx(l.Button,{className:o.mergeCSSClasses("bn-ak-button bn-ak-secondary",s||""),ref:r,onMouseDown:a,onClick:c,...i,children:n})}),Y=u.forwardRef((t,r)=>{const{className:n,children:s,draggable:a,onDragStart:c,onDragEnd:i,style:b,label:m,...d}=t;return o.assertEmpty(d,!1),e.jsx(l.Button,{className:o.mergeCSSClasses("bn-ak-button bn-ak-secondary",n||""),ref:r,"aria-label":m,draggable:a,onDragStart:c,onDragEnd:i,style:b,...d,children:s})}),S=u.forwardRef((t,r)=>{const{className:n,children:s,onMouseEnter:a,onMouseLeave:c,variant:i,...b}=t;return o.assertEmpty(b),e.jsx(l.Toolbar,{className:o.mergeCSSClasses("bn-ak-toolbar",n||""),ref:r,onMouseEnter:a,onMouseLeave:c,children:s})}),j=u.forwardRef((t,r)=>{const{className:n,children:s,mainTooltip:a,secondaryTooltip:c,icon:i,isSelected:b,isDisabled:m,onClick:d,label:f,variant:g,...x}=t;return o.assertEmpty(x,!1),e.jsxs(l.TooltipProvider,{children:[e.jsx(l.TooltipAnchor,{render:e.jsxs(l.ToolbarItem,{"aria-label":f,className:o.mergeCSSClasses("bn-ak-button bn-ak-secondary",n||""),onMouseDown:h=>{o.isSafari()&&h.currentTarget.focus()},onClick:d,"aria-pressed":b,"data-selected":b?"true":void 0,disabled:m||!1,ref:r,...x,children:[i,s]})}),e.jsxs(l.Tooltip,{className:"bn-ak-tooltip",portal:!1,children:[e.jsx("span",{children:a}),c&&e.jsx("span",{children:c})]})]})}),Z=u.forwardRef((t,r)=>{const{className:n,items:s,isDisabled:a,...c}=t;o.assertEmpty(c);const i=t.items.filter(m=>m.isSelected)[0],b=m=>{var d,f;(f=(d=s.find(g=>g.text===m)).onClick)==null||f.call(d)};return e.jsxs(l.SelectProvider,{value:i.text,setValue:b,children:[e.jsxs(l.Select,{className:"bn-ak-button bn-ak-secondary",disabled:a,"aria-label":"Text alignment",render:e.jsx(l.ToolbarItem,{}),children:[i.icon," ",i.text," ",e.jsx(l.SelectArrow,{})]}),e.jsx(l.SelectPopover,{className:o.mergeCSSClasses("bn-ak-popover",n||""),ref:r,gutter:4,children:s.map(m=>e.jsxs(l.SelectItem,{className:"bn-ak-select-item",value:m.text,children:[m.icon,m.text,m.text===i.text&&e.jsx(l.SelectItemCheck,{})]},m.text))})]})}),ee=u.forwardRef((t,r)=>{const{className:n,children:s,...a}=t;return o.assertEmpty(a,!1),e.jsx(l.Group,{className:o.mergeCSSClasses(n,"bn-ak-hovercard"),ref:r,children:s})}),se=u.forwardRef((t,r)=>{const{className:n,children:s,...a}=t;return o.assertEmpty(a,!1),e.jsx(l.Group,{className:o.mergeCSSClasses(n,"bn-ak-card-section"),ref:r,children:s})}),te=u.forwardRef((t,r)=>{const{authorInfo:n,timeString:s,...a}=t;return o.assertEmpty(a,!1),n==="loading"?e.jsxs(l.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(l.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.jsx("span",{children:s})]})]})}),re=u.forwardRef((t,r)=>{const{className:n,showActions:s,authorInfo:a,timeString:c,actions:i,children:b,...m}=t;o.assertEmpty(m,!1);const[d,f]=u.useState(!1),{focused:g,ref:x}=p.useFocusWithin(),h=i&&(s===!0||s===void 0||s==="hover"&&d||g);return e.jsxs(l.Group,{ref:r,className:n,onMouseEnter:()=>f(!0),onMouseLeave:()=>f(!1),children:[h?e.jsx(l.Group,{ref:x,style:{position:"absolute",right:0,top:0,zIndex:10},children:i}):null,e.jsx(te,{...t}),b]})}),ne=u.forwardRef((t,r)=>{const{className:n,onFocus:s,onBlur:a,editor:c,editable:i,...b}=t;return o.assertEmpty(b,!1),e.jsx(k,{autoFocus:!0,className:n,editor:t.editor,sideMenu:!1,slashMenu:!1,tableHandles:!1,filePanel:!1,formattingToolbar:!1,editable:i,ref:r,onFocus:s,onBlur:a,children:e.jsx(p.FormattingToolbarController,{formattingToolbar:ae})})}),ae=()=>{const t=p.getFormattingToolbarItems([]).filter(r=>r.key!=="nestBlockButton"&&r.key!=="unnestBlockButton");return e.jsx(p.FormattingToolbar,{blockTypeSelectItems:[],children:t})},oe=u.forwardRef((t,r)=>{const{className:n,text:s,icon:a,isSelected:c,mainTooltip:i,secondaryTooltip:b,onClick:m,onMouseEnter:d,...f}=t;o.assertEmpty(f,!1);const g=e.jsxs(l.Button,{className:o.mergeCSSClasses(n,"bn-ak-badge bn-ak-button",c&&"bn-ak-primary"),"aria-selected":c===!0,onClick:x=>m==null?void 0:m(x),onMouseEnter:d,ref:r,children:[e.jsx("span",{children:a}),e.jsx("span",{children:s})]});return i?e.jsxs(l.TooltipProvider,{children:[e.jsx(l.TooltipAnchor,{render:g}),e.jsxs(l.Tooltip,{className:"bn-ak-tooltip",portal:!1,children:[e.jsx("span",{children:i}),b&&e.jsx("span",{children:b})]})]}):g}),le=u.forwardRef((t,r)=>{const{className:n,children:s,...a}=t;return o.assertEmpty(a),e.jsx(l.Group,{className:o.mergeCSSClasses(n,"bn-ak-badge-group"),ref:r,children:s})}),N={FormattingToolbar:{Root:S,Button:j,Select:Z},FilePanel:{Root:B,Button:P,FileInput:F,TabPanel:G,TextInput:D},GridSuggestionMenu:{Root:H,Item:K,EmptyItem:$,Loader:z},LinkToolbar:{Root:S,Button:j},SideMenu:{Root:V,Button:q},SuggestionMenu:{Root:U,Item:_,EmptyItem:W,Label:J,Loader:Q},TableHandle:{Root:Y,ExtendButton:X},Comments:{Comment:re,Editor:ne,Card:ee,CardSection:se},Generic:{Badge:{Root:oe,Group:le},Toolbar:{Root:S,Button:j},Form:{Root:C,TextInput:v},Menu:{Root:y,Trigger:T,Dropdown:w,Divider:M,Label:E,Item:R,Button:I},Popover:{Root:O,Trigger:L,Content:A}}},k=t=>{const{className:r,...n}=t;return e.jsx(p.ComponentsContext.Provider,{value:N,children:e.jsx(p.BlockNoteViewRaw,{className:o.mergeCSSClasses("bn-ariakit",r||""),...n})})};exports.BlockNoteView=k;exports.components=N;
2
+ //# sourceMappingURL=blocknote-ariakit.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"blocknote-ariakit.cjs","sources":["../src/input/Form.tsx","../src/input/TextInput.tsx","../src/menu/Menu.tsx","../src/menu/Button.tsx","../src/panel/Panel.tsx","../src/panel/PanelButton.tsx","../src/panel/PanelFileInput.tsx","../src/panel/PanelTab.tsx","../src/panel/PanelTextInput.tsx","../src/popover/Popover.tsx","../src/sideMenu/SideMenu.tsx","../src/sideMenu/SideMenuButton.tsx","../src/suggestionMenu/gridSuggestionMenu/GridSuggestionMenu.tsx","../src/suggestionMenu/gridSuggestionMenu/GridSuggestionMenuEmptyItem.tsx","../src/suggestionMenu/gridSuggestionMenu/GridSuggestionMenuItem.tsx","../src/suggestionMenu/gridSuggestionMenu/GridSuggestionMenuLoader.tsx","../src/suggestionMenu/SuggestionMenu.tsx","../src/suggestionMenu/SuggestionMenuEmptyItem.tsx","../src/suggestionMenu/SuggestionMenuItem.tsx","../src/suggestionMenu/SuggestionMenuLabel.tsx","../src/suggestionMenu/SuggestionMenuLoader.tsx","../src/tableHandle/ExtendButton.tsx","../src/tableHandle/TableHandle.tsx","../src/toolbar/Toolbar.tsx","../src/toolbar/ToolbarButton.tsx","../src/toolbar/ToolbarSelect.tsx","../src/comments/Card.tsx","../src/comments/Comment.tsx","../src/comments/Editor.tsx","../src/badge/Badge.tsx","../src/components.ts","../src/BlockNoteView.tsx"],"sourcesContent":["import { FormProvider as AriakitFormProvider } from \"@ariakit/react\";\n\nimport { assertEmpty } from \"@blocknote/core\";\nimport { ComponentProps } from \"@blocknote/react\";\n\nexport const Form = (props: ComponentProps[\"Generic\"][\"Form\"][\"Root\"]) => {\n const { children, ...rest } = props;\n\n assertEmpty(rest);\n\n return <AriakitFormProvider>{children}</AriakitFormProvider>;\n};\n","import {\n FormInput as AriakitFormInput,\n FormLabel as AriakitFormLabel,\n} from \"@ariakit/react\";\n\nimport { assertEmpty, mergeCSSClasses } from \"@blocknote/core\";\nimport { ComponentProps } from \"@blocknote/react\";\nimport { forwardRef } from \"react\";\n\nexport const TextInput = forwardRef<\n HTMLInputElement,\n ComponentProps[\"Generic\"][\"Form\"][\"TextInput\"]\n>((props, ref) => {\n const {\n className,\n name,\n label,\n icon,\n value,\n autoFocus,\n placeholder,\n onKeyDown,\n onChange,\n onSubmit,\n ...rest\n } = props;\n\n assertEmpty(rest);\n\n return (\n <>\n {props.label && <AriakitFormLabel name={name}>{label}</AriakitFormLabel>}\n <div className=\"bn-ak-input-wrapper\">\n {icon}\n <AriakitFormInput\n className={mergeCSSClasses(\"bn-ak-input\", className || \"\")}\n ref={ref}\n name={name}\n value={value}\n autoFocus={autoFocus}\n placeholder={placeholder}\n onKeyDown={onKeyDown}\n onChange={onChange}\n onSubmit={onSubmit}\n />\n </div>\n </>\n );\n});\n","import {\n CheckboxCheck as AriakitCheckboxCheck,\n Menu as AriakitMenu,\n MenuButton as AriakitMenuButton,\n MenuButtonArrow as AriakitMenuButtonArrow,\n MenuGroupLabel as AriakitMenuGroupLabel,\n MenuItem as AriakitMenuItem,\n MenuProvider as AriakitMenuProvider,\n MenuSeparator as AriakitMenuSeparator,\n} from \"@ariakit/react\";\n\nimport { assertEmpty, mergeCSSClasses } from \"@blocknote/core\";\nimport { ComponentProps } from \"@blocknote/react\";\nimport { forwardRef } from \"react\";\n\nexport const Menu = (props: ComponentProps[\"Generic\"][\"Menu\"][\"Root\"]) => {\n const {\n children,\n onOpenChange,\n position,\n sub, // unused\n ...rest\n } = props;\n\n assertEmpty(rest);\n\n return (\n <AriakitMenuProvider\n placement={position}\n setOpen={onOpenChange}\n virtualFocus={true}>\n {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 {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 {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 {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 {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 {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 <AriakitTabProvider\n defaultSelectedId={defaultOpenTab}\n selectedId={openTab}\n setActiveId={(activeId) => {\n if (activeId) {\n setOpenTab(activeId);\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 {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 {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 {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 {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 <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 {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 {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 {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 <div className=\"bn-ak-suggestion-menu-item-label\">{children}</div>\n </div>\n );\n});\n","import { assertEmpty, mergeCSSClasses } from \"@blocknote/core\";\nimport { ComponentProps, elementOverflow, mergeRefs } from \"@blocknote/react\";\nimport { forwardRef, useEffect, useRef } from \"react\";\n\nexport const SuggestionMenuItem = forwardRef<\n HTMLDivElement,\n ComponentProps[\"SuggestionMenu\"][\"Item\"]\n>((props, ref) => {\n const { className, item, isSelected, onClick, id, ...rest } = props;\n\n assertEmpty(rest);\n\n const itemRef = useRef<HTMLDivElement>(null);\n\n useEffect(() => {\n if (!itemRef.current || !isSelected) {\n return;\n }\n\n const overflow = elementOverflow(\n itemRef.current,\n document.querySelector(\".bn-suggestion-menu\")!\n );\n\n if (overflow === \"top\") {\n itemRef.current.scrollIntoView(true);\n } else if (overflow === \"bottom\") {\n itemRef.current.scrollIntoView(false);\n }\n }, [isSelected]);\n\n return (\n <div\n className={mergeCSSClasses(\"bn-ak-menu-item\", className || \"\")}\n ref={mergeRefs([ref, itemRef])}\n id={id}\n onClick={onClick}\n role=\"option\"\n aria-selected={isSelected || undefined}>\n {item.icon && (\n <div\n className=\"bn-ak-suggestion-menu-item-section\"\n data-position=\"left\">\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 <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 {children}\n </div>\n );\n});\n","import { assertEmpty } from \"@blocknote/core\";\nimport { ComponentProps } from \"@blocknote/react\";\nimport { forwardRef } from \"react\";\n\nexport const SuggestionMenuLoader = forwardRef<\n HTMLDivElement,\n ComponentProps[\"SuggestionMenu\"][\"Loader\"]\n>((props, ref) => {\n const { className, children, ...rest } = props;\n\n assertEmpty(rest);\n\n return (\n <div className={className} ref={ref}>\n {children}\n </div>\n );\n});\n","import { Button as AriakitButton } from \"@ariakit/react\";\n\nimport { assertEmpty, mergeCSSClasses } from \"@blocknote/core\";\nimport { ComponentProps } from \"@blocknote/react\";\nimport { forwardRef } from \"react\";\n\nexport const ExtendButton = forwardRef<\n HTMLButtonElement,\n ComponentProps[\"TableHandle\"][\"ExtendButton\"]\n>((props, ref) => {\n const { children, className, onMouseDown, onClick, ...rest } = props;\n\n // false, because rest props can be added by mantine when button is used as a trigger\n // assertEmpty in this case is only used at typescript level, not runtime level\n assertEmpty(rest, false);\n\n return (\n <AriakitButton\n className={mergeCSSClasses(\n \"bn-ak-button bn-ak-secondary\",\n className || \"\"\n )}\n ref={ref}\n onMouseDown={onMouseDown}\n onClick={onClick}\n {...rest}>\n {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 {children}\n </AriakitButton>\n );\n});\n","import { Toolbar as AriakitToolbar } from \"@ariakit/react\";\n\nimport { assertEmpty, mergeCSSClasses } from \"@blocknote/core\";\nimport { ComponentProps } from \"@blocknote/react\";\nimport { forwardRef } from \"react\";\n\ntype ToolbarProps = ComponentProps[\"FormattingToolbar\"][\"Root\"] &\n ComponentProps[\"LinkToolbar\"][\"Root\"];\n\nexport const Toolbar = forwardRef<HTMLDivElement, ToolbarProps>(\n (props, ref) => {\n const {\n className,\n children,\n onMouseEnter,\n onMouseLeave,\n variant,\n ...rest\n } = props;\n\n assertEmpty(rest);\n\n return (\n <AriakitToolbar\n className={mergeCSSClasses(\"bn-ak-toolbar\", className || \"\")}\n ref={ref}\n onMouseEnter={onMouseEnter}\n onMouseLeave={onMouseLeave}>\n {children}\n </AriakitToolbar>\n );\n }\n);\n","import {\n ToolbarItem as AriakitToolbarItem,\n Tooltip as AriakitTooltip,\n TooltipAnchor as AriakitTooltipAnchor,\n TooltipProvider as AriakitTooltipProvider,\n} from \"@ariakit/react\";\n\nimport { assertEmpty, isSafari, mergeCSSClasses } from \"@blocknote/core\";\nimport { ComponentProps } from \"@blocknote/react\";\nimport { forwardRef } from \"react\";\n\ntype ToolbarButtonProps = ComponentProps[\"FormattingToolbar\"][\"Button\"] &\n ComponentProps[\"LinkToolbar\"][\"Button\"];\n\n/**\n * Helper for basic buttons that show in the formatting toolbar.\n */\nexport const ToolbarButton = forwardRef<HTMLButtonElement, ToolbarButtonProps>(\n (props, ref) => {\n const {\n className,\n children,\n mainTooltip,\n secondaryTooltip,\n icon,\n isSelected,\n isDisabled,\n onClick,\n label,\n variant,\n ...rest\n } = props;\n\n // false, because rest props can be added by ariakit when button is used as a trigger\n // assertEmpty in this case is only used at typescript level, not runtime level\n assertEmpty(rest, false);\n\n return (\n <AriakitTooltipProvider>\n <AriakitTooltipAnchor\n render={\n <AriakitToolbarItem\n aria-label={label}\n className={mergeCSSClasses(\n \"bn-ak-button bn-ak-secondary\",\n className || \"\"\n )}\n // Needed as Safari doesn't focus button elements on mouse down\n // unlike other browsers.\n onMouseDown={(e) => {\n if (isSafari()) {\n (e.currentTarget as HTMLButtonElement).focus();\n }\n }}\n onClick={onClick}\n aria-pressed={isSelected}\n data-selected={isSelected ? \"true\" : undefined}\n disabled={isDisabled || false}\n ref={ref}\n {...rest}>\n {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 {selectedItem.icon} {selectedItem.text} <AriakitSelectArrow />\n </AriakitSelect>\n <AriakitSelectPopover\n className={mergeCSSClasses(\"bn-ak-popover\", className || \"\")}\n ref={ref}\n gutter={4}>\n {items.map((option) => (\n <AriakitSelectItem\n className={\"bn-ak-select-item\"}\n key={option.text}\n value={option.text}>\n {option.icon}\n {option.text}\n {option.text === selectedItem.text && <AriakitSelectItemCheck />}\n </AriakitSelectItem>\n ))}\n </AriakitSelectPopover>\n </AriakitSelectProvider>\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 Card = forwardRef<\n HTMLDivElement,\n ComponentProps[\"Comments\"][\"Card\"]\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-hovercard\")}\n ref={ref}>\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 {children}\n </AriakitGroup>\n );\n});\n","import { Group as AriakitGroup } from \"@ariakit/react\";\n\nimport { assertEmpty } from \"@blocknote/core\";\nimport { ComponentProps, useFocusWithin } from \"@blocknote/react\";\nimport { forwardRef, useState } from \"react\";\n\nconst AuthorInfo = forwardRef<\n HTMLDivElement,\n Pick<ComponentProps[\"Comments\"][\"Comment\"], \"authorInfo\" | \"timeString\">\n>((props, _ref) => {\n const { authorInfo, timeString, ...rest } = props;\n\n assertEmpty(rest, false);\n\n if (authorInfo === \"loading\") {\n return (\n <AriakitGroup className={\"bn-ak-author-info\"}>\n <div className={\"bn-ak-avatar bn-ak-skeleton\"} />\n <div className={\"bn-ak-username bn-ak-skeleton\"} />\n </AriakitGroup>\n );\n }\n\n return (\n <AriakitGroup className={\"bn-ak-author-info\"}>\n <img\n src={authorInfo.avatarUrl}\n alt={authorInfo.username}\n className={\"bn-ak-avatar\"}\n />\n <div className={\"bn-ak-username\"}>\n {authorInfo.username}\n <span>{timeString}</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 ...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 {doShowActions ? (\n <AriakitGroup\n ref={focusRef}\n style={{\n position: \"absolute\",\n right: 0,\n top: 0,\n zIndex: 10,\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, editor, editable, ...rest } = props;\n\n assertEmpty(rest, false);\n\n return (\n <BlockNoteView\n autoFocus={true}\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 <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 <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 {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 } 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 },\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 },\n Generic: {\n Badge: {\n Root: Badge,\n Group: BadgeGroup,\n },\n Toolbar: {\n Root: Toolbar,\n Button: ToolbarButton,\n },\n Form: {\n Root: Form,\n TextInput: TextInput,\n },\n Menu: {\n Root: Menu,\n Trigger: MenuTrigger,\n Dropdown: MenuDropdown,\n Divider: MenuDivider,\n Label: MenuLabel,\n Item: MenuItem,\n Button: MenuButton,\n },\n Popover: {\n Root: Popover,\n Trigger: PopoverTrigger,\n Content: PopoverContent,\n },\n },\n};\n","import {\n BlockSchema,\n InlineContentSchema,\n mergeCSSClasses,\n StyleSchema,\n} from \"@blocknote/core\";\nimport {\n BlockNoteViewProps,\n BlockNoteViewRaw,\n ComponentsContext,\n} from \"@blocknote/react\";\nimport { components } from \"./components.js\";\n\nexport const BlockNoteView = <\n BSchema extends BlockSchema,\n ISchema extends InlineContentSchema,\n SSchema extends StyleSchema\n>(\n props: BlockNoteViewProps<BSchema, ISchema, SSchema>\n) => {\n const { className, ...rest } = props;\n\n return (\n <ComponentsContext.Provider value={components}>\n <BlockNoteViewRaw\n className={mergeCSSClasses(\"bn-ariakit\", className || \"\")}\n {...rest}\n />\n </ComponentsContext.Provider>\n );\n};\n"],"names":["Form","props","children","rest","assertEmpty","jsx","AriakitFormProvider","TextInput","forwardRef","ref","className","name","label","icon","value","autoFocus","placeholder","onKeyDown","onChange","onSubmit","jsxs","Fragment","AriakitFormLabel","AriakitFormInput","mergeCSSClasses","Menu","onOpenChange","position","sub","AriakitMenuProvider","MenuDropdown","AriakitMenu","MenuItem","checked","subTrigger","onClick","AriakitMenuButton","AriakitMenuItem","AriakitMenuButtonArrow","AriakitCheckboxCheck","MenuLabel","AriakitMenuGroupLabel","MenuTrigger","MenuDivider","AriakitMenuSeparator","MenuButton","onDragEnd","onDragStart","draggable","AriakitButton","Panel","tabs","defaultOpenTab","openTab","setOpenTab","loading","AriakitTabProvider","activeId","AriakitTabList","tab","AriakitTab","AriakitTabPanel","PanelButton","PanelFileInput","accept","e","PanelTab","PanelTextInput","PopoverTrigger","AriakitPopoverDisclosure","PopoverContent","variant","AriakitPopover","Popover","opened","AriakitPopoverProvider","SideMenu","AriakitGroup","SideMenuButton","GridSuggestionMenu","id","columns","GridSuggestionMenuEmptyItem","GridSuggestionMenuItem","isSelected","item","itemRef","useRef","useEffect","overflow","elementOverflow","mergeRefs","GridSuggestionMenuLoader","SuggestionMenu","SuggestionMenuEmptyItem","SuggestionMenuItem","SuggestionMenuLabel","SuggestionMenuLoader","ExtendButton","onMouseDown","TableHandle","style","Toolbar","onMouseEnter","onMouseLeave","AriakitToolbar","ToolbarButton","mainTooltip","secondaryTooltip","isDisabled","AriakitTooltipProvider","AriakitTooltipAnchor","AriakitToolbarItem","isSafari","AriakitTooltip","ToolbarSelect","items","selectedItem","p","setValue","_b","_a","AriakitSelectProvider","AriakitSelect","AriakitSelectArrow","AriakitSelectPopover","option","AriakitSelectItem","AriakitSelectItemCheck","Card","CardSection","AuthorInfo","_ref","authorInfo","timeString","Comment","showActions","actions","hovered","setHovered","useState","focused","focusRef","useFocusWithin","doShowActions","Editor","onFocus","onBlur","editor","editable","BlockNoteView","FormattingToolbarController","CustomFormattingToolbar","getFormattingToolbarItems","el","FormattingToolbar","Badge","text","badge","event","BadgeGroup","components","ComponentsContext","BlockNoteViewRaw"],"mappings":"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"}