@blocknote/ariakit 0.34.0 → 0.35.0

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.
@@ -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 {\n BlockNoteViewProps,\n BlockNoteViewRaw,\n ComponentsContext,\n} from \"@blocknote/react\";\nimport { components } from \"./components.js\";\n\nexport const BlockNoteView = <\n BSchema extends BlockSchema,\n ISchema extends InlineContentSchema,\n SSchema extends StyleSchema,\n>(\n props: BlockNoteViewProps<BSchema, ISchema, SSchema>,\n) => {\n const { className, ...rest } = props;\n\n return (\n <ComponentsContext.Provider value={components}>\n <BlockNoteViewRaw\n className={mergeCSSClasses(\"bn-ariakit\", className || \"\")}\n {...rest}\n />\n </ComponentsContext.Provider>\n );\n};\n"],"names":["Form","props","children","rest","assertEmpty","jsx","AriakitFormProvider","TextInput","forwardRef","ref","className","name","label","variant","icon","value","autoFocus","placeholder","disabled","onKeyDown","onChange","onSubmit","autoComplete","rightSection","jsxs","Fragment","AriakitFormLabel","AriakitFormInput","mergeCSSClasses","Menu","onOpenChange","position","sub","AriakitMenuProvider","MenuDropdown","AriakitMenu","MenuItem","checked","subTrigger","onClick","AriakitMenuButton","AriakitMenuItem","AriakitMenuButtonArrow","AriakitCheckboxCheck","MenuLabel","AriakitMenuGroupLabel","MenuTrigger","MenuDivider","AriakitMenuSeparator","MenuButton","onDragEnd","onDragStart","draggable","AriakitButton","Panel","tabs","defaultOpenTab","openTab","setOpenTab","loading","AriakitTabProvider","activeId","AriakitTabList","tab","AriakitTab","AriakitTabPanel","PanelButton","PanelFileInput","accept","e","PanelTab","PanelTextInput","PopoverTrigger","AriakitPopoverDisclosure","PopoverContent","AriakitPopover","Popover","opened","AriakitPopoverProvider","SideMenu","AriakitGroup","SideMenuButton","GridSuggestionMenu","id","columns","GridSuggestionMenuEmptyItem","GridSuggestionMenuItem","isSelected","item","itemRef","useRef","useEffect","overflow","elementOverflow","mergeRefs","GridSuggestionMenuLoader","SuggestionMenu","SuggestionMenuEmptyItem","SuggestionMenuItem","event","SuggestionMenuLabel","SuggestionMenuLoader","ExtendButton","onMouseDown","TableHandle","style","Toolbar","onMouseEnter","onMouseLeave","AriakitToolbar","ToolbarButton","mainTooltip","secondaryTooltip","isDisabled","AriakitTooltipProvider","AriakitTooltipAnchor","AriakitToolbarItem","isSafari","AriakitTooltip","ToolbarSelect","items","selectedItem","p","setValue","_b","_a","AriakitSelectProvider","AriakitSelect","AriakitSelectArrow","AriakitSelectPopover","option","AriakitSelectItem","AriakitSelectItemCheck","Card","selected","headerText","onFocus","onBlur","tabIndex","CardSection","ExpandSectionsPrompt","AuthorInfo","_ref","authorInfo","timeString","edited","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} 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 +1 @@
1
- {"version":3,"file":"blocknote-ariakit.js","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 {\n BlockNoteViewProps,\n BlockNoteViewRaw,\n ComponentsContext,\n} from \"@blocknote/react\";\nimport { components } from \"./components.js\";\n\nexport const BlockNoteView = <\n BSchema extends BlockSchema,\n ISchema extends InlineContentSchema,\n SSchema extends StyleSchema,\n>(\n props: BlockNoteViewProps<BSchema, ISchema, SSchema>,\n) => {\n const { className, ...rest } = props;\n\n return (\n <ComponentsContext.Provider value={components}>\n <BlockNoteViewRaw\n className={mergeCSSClasses(\"bn-ariakit\", className || \"\")}\n {...rest}\n />\n </ComponentsContext.Provider>\n );\n};\n"],"names":["Form","props","children","rest","assertEmpty","jsx","AriakitFormProvider","TextInput","forwardRef","ref","className","name","label","variant","icon","value","autoFocus","placeholder","disabled","onKeyDown","onChange","onSubmit","autoComplete","rightSection","jsxs","Fragment","AriakitFormLabel","AriakitFormInput","mergeCSSClasses","Menu","onOpenChange","position","sub","AriakitMenuProvider","MenuDropdown","AriakitMenu","MenuItem","checked","subTrigger","onClick","AriakitMenuButton","AriakitMenuItem","AriakitMenuButtonArrow","AriakitCheckboxCheck","MenuLabel","AriakitMenuGroupLabel","MenuTrigger","MenuDivider","AriakitMenuSeparator","MenuButton","onDragEnd","onDragStart","draggable","AriakitButton","Panel","tabs","defaultOpenTab","openTab","setOpenTab","loading","AriakitTabProvider","activeId","AriakitTabList","tab","AriakitTab","AriakitTabPanel","PanelButton","PanelFileInput","accept","e","PanelTab","PanelTextInput","PopoverTrigger","AriakitPopoverDisclosure","PopoverContent","AriakitPopover","Popover","opened","AriakitPopoverProvider","SideMenu","AriakitGroup","SideMenuButton","GridSuggestionMenu","id","columns","GridSuggestionMenuEmptyItem","GridSuggestionMenuItem","isSelected","item","itemRef","useRef","useEffect","overflow","elementOverflow","mergeRefs","GridSuggestionMenuLoader","SuggestionMenu","SuggestionMenuEmptyItem","SuggestionMenuItem","event","SuggestionMenuLabel","SuggestionMenuLoader","ExtendButton","onMouseDown","TableHandle","style","Toolbar","onMouseEnter","onMouseLeave","AriakitToolbar","ToolbarButton","mainTooltip","secondaryTooltip","isDisabled","AriakitTooltipProvider","AriakitTooltipAnchor","AriakitToolbarItem","isSafari","AriakitTooltip","ToolbarSelect","items","selectedItem","p","setValue","_b","_a","AriakitSelectProvider","AriakitSelect","AriakitSelectArrow","AriakitSelectPopover","option","AriakitSelectItem","AriakitSelectItemCheck","Card","selected","headerText","onFocus","onBlur","tabIndex","CardSection","ExpandSectionsPrompt","AuthorInfo","_ref","authorInfo","timeString","edited","dict","useDictionary","Comment","showActions","actions","hovered","setHovered","useState","focused","focusRef","useFocusWithin","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.js","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","Editor","editor","editable","BlockNoteView","FormattingToolbarController","CustomFormattingToolbar","getFormattingToolbarItems","el","FormattingToolbar","Badge","text","badge","BadgeGroup","components","ComponentsContext","BlockNoteViewRaw"],"mappings":"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"}
@@ -1 +1 @@
1
- {"builtAt":1752763370037,"assets":[{"name":"blocknote-ariakit.cjs","size":14450},{"name":"blocknote-ariakit.cjs.map","size":61790}],"chunks":[{"id":"ec22802","entry":true,"initial":true,"files":["blocknote-ariakit.cjs"],"names":["blocknote-ariakit"]}],"modules":[{"name":"./src/style.css","size":0,"chunks":["ec22802"]},{"name":"./src/input/Form.tsx","size":168,"chunks":["ec22802"]},{"name":"./src/input/TextInput.tsx","size":1083,"chunks":["ec22802"]},{"name":"./src/menu/Menu.tsx","size":2576,"chunks":["ec22802"]},{"name":"./src/menu/Button.tsx","size":604,"chunks":["ec22802"]},{"name":"./src/panel/Panel.tsx","size":1179,"chunks":["ec22802"]},{"name":"./src/panel/PanelButton.tsx","size":368,"chunks":["ec22802"]},{"name":"./src/panel/PanelFileInput.tsx","size":521,"chunks":["ec22802"]},{"name":"./src/panel/PanelTab.tsx","size":211,"chunks":["ec22802"]},{"name":"./src/panel/PanelTextInput.tsx","size":522,"chunks":["ec22802"]},{"name":"./src/popover/Popover.tsx","size":864,"chunks":["ec22802"]},{"name":"./src/sideMenu/SideMenu.tsx","size":233,"chunks":["ec22802"]},{"name":"./src/sideMenu/SideMenuButton.tsx","size":608,"chunks":["ec22802"]},{"name":"./src/suggestionMenu/gridSuggestionMenu/GridSuggestionMenu.tsx","size":363,"chunks":["ec22802"]},{"name":"./src/suggestionMenu/gridSuggestionMenu/GridSuggestionMenuEmptyItem.tsx","size":482,"chunks":["ec22802"]},{"name":"./src/suggestionMenu/gridSuggestionMenu/GridSuggestionMenuItem.tsx","size":867,"chunks":["ec22802"]},{"name":"./src/suggestionMenu/gridSuggestionMenu/GridSuggestionMenuLoader.tsx","size":375,"chunks":["ec22802"]},{"name":"./src/suggestionMenu/SuggestionMenu.tsx","size":347,"chunks":["ec22802"]},{"name":"./src/suggestionMenu/SuggestionMenuEmptyItem.tsx","size":418,"chunks":["ec22802"]},{"name":"./src/suggestionMenu/SuggestionMenuItem.tsx","size":1900,"chunks":["ec22802"]},{"name":"./src/suggestionMenu/SuggestionMenuLabel.tsx","size":316,"chunks":["ec22802"]},{"name":"./src/suggestionMenu/SuggestionMenuLoader.tsx","size":803,"chunks":["ec22802"]},{"name":"./src/tableHandle/ExtendButton.tsx","size":429,"chunks":["ec22802"]},{"name":"./src/tableHandle/TableHandle.tsx","size":548,"chunks":["ec22802"]},{"name":"./src/toolbar/Toolbar.tsx","size":455,"chunks":["ec22802"]},{"name":"./src/toolbar/ToolbarButton.tsx","size":1548,"chunks":["ec22802"]},{"name":"./src/toolbar/ToolbarSelect.tsx","size":1513,"chunks":["ec22802"]},{"name":"./src/comments/Card.tsx","size":1342,"chunks":["ec22802"]},{"name":"./src/comments/Comment.tsx","size":2187,"chunks":["ec22802"]},{"name":"./src/comments/Editor.tsx","size":973,"chunks":["ec22802"]},{"name":"./src/badge/Badge.tsx","size":1549,"chunks":["ec22802"]},{"name":"./src/components.ts","size":1478,"chunks":["ec22802"]},{"name":"./src/BlockNoteView.tsx","size":350,"chunks":["ec22802"]},{"name":"./src/index.tsx","size":0,"chunks":["ec22802"]}]}
1
+ {"builtAt":1753435024072,"assets":[{"name":"blocknote-ariakit.cjs","size":14450},{"name":"blocknote-ariakit.cjs.map","size":61796}],"chunks":[{"id":"ec22802","entry":true,"initial":true,"files":["blocknote-ariakit.cjs"],"names":["blocknote-ariakit"]}],"modules":[{"name":"./src/style.css","size":0,"chunks":["ec22802"]},{"name":"./src/input/Form.tsx","size":168,"chunks":["ec22802"]},{"name":"./src/input/TextInput.tsx","size":1083,"chunks":["ec22802"]},{"name":"./src/menu/Menu.tsx","size":2576,"chunks":["ec22802"]},{"name":"./src/menu/Button.tsx","size":604,"chunks":["ec22802"]},{"name":"./src/panel/Panel.tsx","size":1179,"chunks":["ec22802"]},{"name":"./src/panel/PanelButton.tsx","size":368,"chunks":["ec22802"]},{"name":"./src/panel/PanelFileInput.tsx","size":521,"chunks":["ec22802"]},{"name":"./src/panel/PanelTab.tsx","size":211,"chunks":["ec22802"]},{"name":"./src/panel/PanelTextInput.tsx","size":522,"chunks":["ec22802"]},{"name":"./src/popover/Popover.tsx","size":864,"chunks":["ec22802"]},{"name":"./src/sideMenu/SideMenu.tsx","size":233,"chunks":["ec22802"]},{"name":"./src/sideMenu/SideMenuButton.tsx","size":608,"chunks":["ec22802"]},{"name":"./src/suggestionMenu/gridSuggestionMenu/GridSuggestionMenu.tsx","size":363,"chunks":["ec22802"]},{"name":"./src/suggestionMenu/gridSuggestionMenu/GridSuggestionMenuEmptyItem.tsx","size":482,"chunks":["ec22802"]},{"name":"./src/suggestionMenu/gridSuggestionMenu/GridSuggestionMenuItem.tsx","size":867,"chunks":["ec22802"]},{"name":"./src/suggestionMenu/gridSuggestionMenu/GridSuggestionMenuLoader.tsx","size":375,"chunks":["ec22802"]},{"name":"./src/suggestionMenu/SuggestionMenu.tsx","size":347,"chunks":["ec22802"]},{"name":"./src/suggestionMenu/SuggestionMenuEmptyItem.tsx","size":418,"chunks":["ec22802"]},{"name":"./src/suggestionMenu/SuggestionMenuItem.tsx","size":1900,"chunks":["ec22802"]},{"name":"./src/suggestionMenu/SuggestionMenuLabel.tsx","size":316,"chunks":["ec22802"]},{"name":"./src/suggestionMenu/SuggestionMenuLoader.tsx","size":803,"chunks":["ec22802"]},{"name":"./src/tableHandle/ExtendButton.tsx","size":429,"chunks":["ec22802"]},{"name":"./src/tableHandle/TableHandle.tsx","size":548,"chunks":["ec22802"]},{"name":"./src/toolbar/Toolbar.tsx","size":455,"chunks":["ec22802"]},{"name":"./src/toolbar/ToolbarButton.tsx","size":1548,"chunks":["ec22802"]},{"name":"./src/toolbar/ToolbarSelect.tsx","size":1513,"chunks":["ec22802"]},{"name":"./src/comments/Card.tsx","size":1342,"chunks":["ec22802"]},{"name":"./src/comments/Comment.tsx","size":2187,"chunks":["ec22802"]},{"name":"./src/comments/Editor.tsx","size":973,"chunks":["ec22802"]},{"name":"./src/badge/Badge.tsx","size":1549,"chunks":["ec22802"]},{"name":"./src/components.ts","size":1478,"chunks":["ec22802"]},{"name":"./src/BlockNoteView.tsx","size":350,"chunks":["ec22802"]},{"name":"./src/index.tsx","size":0,"chunks":["ec22802"]}]}
package/package.json CHANGED
@@ -11,7 +11,7 @@
11
11
  "directory": "packages/ariakit"
12
12
  },
13
13
  "license": "MPL-2.0",
14
- "version": "0.34.0",
14
+ "version": "0.35.0",
15
15
  "files": [
16
16
  "dist",
17
17
  "types",
@@ -50,8 +50,8 @@
50
50
  },
51
51
  "dependencies": {
52
52
  "@ariakit/react": "^0.4.3",
53
- "@blocknote/core": "0.34.0",
54
- "@blocknote/react": "0.34.0"
53
+ "@blocknote/core": "0.35.0",
54
+ "@blocknote/react": "0.35.0"
55
55
  },
56
56
  "devDependencies": {
57
57
  "@types/react": "^19.1.0",
@@ -4,11 +4,7 @@ import {
4
4
  mergeCSSClasses,
5
5
  StyleSchema,
6
6
  } from "@blocknote/core";
7
- import {
8
- BlockNoteViewProps,
9
- BlockNoteViewRaw,
10
- ComponentsContext,
11
- } from "@blocknote/react";
7
+ import { BlockNoteViewRaw, ComponentsContext } from "@blocknote/react";
12
8
  import { components } from "./components.js";
13
9
 
14
10
  export const BlockNoteView = <
@@ -16,7 +12,9 @@ export const BlockNoteView = <
16
12
  ISchema extends InlineContentSchema,
17
13
  SSchema extends StyleSchema,
18
14
  >(
19
- props: BlockNoteViewProps<BSchema, ISchema, SSchema>,
15
+ props: React.ComponentProps<
16
+ typeof BlockNoteViewRaw<BSchema, ISchema, SSchema>
17
+ >,
20
18
  ) => {
21
19
  const { className, ...rest } = props;
22
20
 
@@ -1,3 +1,3 @@
1
1
  import { BlockSchema, InlineContentSchema, StyleSchema } from "@blocknote/core";
2
- import { BlockNoteViewProps } from "@blocknote/react";
3
- export declare const BlockNoteView: <BSchema extends BlockSchema, ISchema extends InlineContentSchema, SSchema extends StyleSchema>(props: BlockNoteViewProps<BSchema, ISchema, SSchema>) => import("react/jsx-runtime.js").JSX.Element;
2
+ import { BlockNoteViewRaw } from "@blocknote/react";
3
+ export declare const BlockNoteView: <BSchema extends BlockSchema, ISchema extends InlineContentSchema, SSchema extends StyleSchema>(props: React.ComponentProps<typeof BlockNoteViewRaw<BSchema, ISchema, SSchema>>) => import("react/jsx-runtime.js").JSX.Element;